From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?UTF-8?Q?Li=C4=81u@debbugs.gnu.org, _?= =?UTF-8?Q?Kiong-G=C4=93_?= =?UTF-8?Q?=E5=BB=96=E5=AE=AE=E6=AF=85?= Newsgroups: gmane.emacs.bugs Subject: bug#45303: 28.0.50; [feature/native-comp] comp.c compilation error on Windows 10 Date: Thu, 17 Dec 2020 14:41:34 -0600 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="0000000000002bd70905b6af05ab" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="9382"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 45303@debbugs.gnu.org To: Andrea Corallo Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Dec 17 21:43:12 2020 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kq07C-0009AK-Ls for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 17 Dec 2020 21:43:11 +0100 Original-Received: from localhost ([::1]:34606 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kq07B-0001mk-C8 for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 17 Dec 2020 15:43:09 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:59318) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kq067-0001kK-CC for bug-gnu-emacs@gnu.org; Thu, 17 Dec 2020 15:42:05 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:53822) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kq066-0007vD-UO for bug-gnu-emacs@gnu.org; Thu, 17 Dec 2020 15:42:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kq066-0005nb-OZ for bug-gnu-emacs@gnu.org; Thu, 17 Dec 2020 15:42:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: =?UTF-8?Q?Li=C4=81u@debbugs.gnu.org, _?= =?UTF-8?Q?Kiong-G=C4=93_?= =?UTF-8?Q?=E5=BB=96=E5=AE=AE=E6=AF=85?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 17 Dec 2020 20:42:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 45303 X-GNU-PR-Package: emacs Original-Received: via spool by 45303-submit@debbugs.gnu.org id=B45303.160823771422272 (code B ref 45303); Thu, 17 Dec 2020 20:42:02 +0000 Original-Received: (at 45303) by debbugs.gnu.org; 17 Dec 2020 20:41:54 +0000 Original-Received: from localhost ([127.0.0.1]:37136 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kq05x-0005nA-WA for submit@debbugs.gnu.org; Thu, 17 Dec 2020 15:41:54 -0500 Original-Received: from mail-ej1-f47.google.com ([209.85.218.47]:45068) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kq05v-0005mo-Op for 45303@debbugs.gnu.org; Thu, 17 Dec 2020 15:41:52 -0500 Original-Received: by mail-ej1-f47.google.com with SMTP id qw4so39794820ejb.12 for <45303@debbugs.gnu.org>; Thu, 17 Dec 2020 12:41:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=5yi+kcbL2pQ/UK+QKnVHotwuHFscpy4TlBeyhUZ9txE=; b=MuYJzM4asKNkzSI975uZ4QmXcBl4yJfRjtCaYZmegjmc/1p4U0MGAKP/Tr1/BKRzuo rZr1jn25zcBZmLLa2H+KafanaV8tuhtTzxt41xyrelvwr23LYBI9D9L62PafOkeVlfwk A11F7ri011VJrZSd/I9iFQp1H6CdHY2niruUuK5cQWsfXWZvYyn2mWpCF614J8YaulwE DDtC0XBvsA7ILAKn47kaTB5FKpupF1FuoUh0WW0e1jEL0fxCH6ETpx9U9uBs7AztVITk clU8LC0tigO23LWIrsWY4pqaKST964/A5c50eWD2hkyU5jcUVVPicEJsRpchUF+XWw3L s/LQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=5yi+kcbL2pQ/UK+QKnVHotwuHFscpy4TlBeyhUZ9txE=; b=m2UnIOVdk30guInrzcFcOzfGy1vAuI1rXEjSBkw35sVHiXSmRBIXHtTwTv6RVqOSIX TldCPOu1jwi990W+tK1woir3nE7423ec32wjCcbhee5inAIaj8s0iQ/vDFF8Qw/G9Zzp TK8SlYQIQTFm9qh/M7x8hquID1g01tNQ2xK00NX7NDn6LIznZdu1ZD5cinx7God0RY6d vDwWllLpVakLAzHgCwYBFDnnx2tnMpwOt0CsTKe6HL4GqF/pdYoOgu+JPd59w+VtDsfs Emx9SBAF67rsq1DkelGfb1aBwR6FPafkcF5mrm3erlHgTlGf54SyXN/7nLOeozFglTKC Enxw== X-Gm-Message-State: AOAM530/p2ChAwb6lqzl5N8J4/wmgvvEfqoc4WOJL/ol+FTSr4E5Z9i/ Te8HhPs9qiHkSBGb16PzLpbdWga8RyrB0eqYse0= X-Google-Smtp-Source: ABdhPJz7s0tjSNJo2V6hYNkQuHgGjgKJcjM4lZFYyytUpA+khQmhqIKop/53M9tVoweSkJihA8UwQmFCX5Aw/M4GS9o= X-Received: by 2002:a17:906:f894:: with SMTP id lg20mr834374ejb.348.1608237705827; Thu, 17 Dec 2020 12:41:45 -0800 (PST) In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:196282 Archived-At: --0000000000002bd70905b6af05ab Content-Type: text/plain; charset="UTF-8" the attached file is the config.log file On Thu, Dec 17, 2020 at 2:33 PM Andrea Corallo wrote: > > Hi, > > could you share also the config.log? > > Thanks! > > Andrea --0000000000002bd70905b6af05ab Content-Type: application/octet-stream; name="config.log" Content-Disposition: attachment; filename="config.log" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kitb53ay0 VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp bGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2Vz IGEgbWlzdGFrZS4KCkl0IHdhcyBjcmVhdGVkIGJ5IEdOVSBFbWFjcyBjb25maWd1cmUgMjguMC41 MCwgd2hpY2ggd2FzCmdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi42OS4gIEludm9jYXRpb24g Y29tbWFuZCBsaW5lIHdhcwoKICAkIC4uL3NyYy9jb25maWd1cmUgLS1wcmVmaXg9L2hvbWUvVldp blVzZXIwL0Rvd25sb2Fkcy9lbWFjcy9uYXRpdmUtY29tcC9idWlsdCAtLXdpdGgtbmF0aXZlY29t cAoKIyMgLS0tLS0tLS0tICMjCiMjIFBsYXRmb3JtLiAjIwojIyAtLS0tLS0tLS0gIyMKCmhvc3Ru YW1lID0gVldpbjQKdW5hbWUgLW0gPSB4ODZfNjQKdW5hbWUgLXIgPSAzLjEuNy0zNDAueDg2XzY0 CnVuYW1lIC1zID0gTUlOR1c2NF9OVC0xMC4wLTE5MDQyCnVuYW1lIC12ID0gMjAyMC0xMS0wOCAx MjozMiBVVEMKCi91c3IvYmluL3VuYW1lIC1wID0gdW5rbm93bgovYmluL3VuYW1lIC1YICAgICA9 IHVua25vd24KCi9iaW4vYXJjaCAgICAgICAgICAgICAgPSB4ODZfNjQKL3Vzci9iaW4vYXJjaCAt ayAgICAgICA9IHVua25vd24KL3Vzci9jb252ZXgvZ2V0c3lzaW5mbyA9IHVua25vd24KL3Vzci9i aW4vaG9zdGluZm8gICAgICA9IHVua25vd24KL2Jpbi9tYWNoaW5lICAgICAgICAgICA9IHVua25v d24KL3Vzci9iaW4vb3NsZXZlbCAgICAgICA9IHVua25vd24KL2Jpbi91bml2ZXJzZSAgICAgICAg ICA9IHVua25vd24KClBBVEg6IC9taW5ndzY0L2JpbgpQQVRIOiAvdXNyL2xvY2FsL2JpbgpQQVRI OiAvdXNyL2JpbgpQQVRIOiAvYmluClBBVEg6IC9jL1dpbmRvd3MvU3lzdGVtMzIKUEFUSDogL2Mv V2luZG93cwpQQVRIOiAvYy9XaW5kb3dzL1N5c3RlbTMyL1diZW0KUEFUSDogL2MvV2luZG93cy9T eXN0ZW0zMi9XaW5kb3dzUG93ZXJTaGVsbC92MS4wLwpQQVRIOiAvdXNyL2Jpbi9zaXRlX3BlcmwK UEFUSDogL3Vzci9iaW4vdmVuZG9yX3BlcmwKUEFUSDogL3Vzci9iaW4vY29yZV9wZXJsCgoKIyMg LS0tLS0tLS0tLS0gIyMKIyMgQ29yZSB0ZXN0cy4gIyMKIyMgLS0tLS0tLS0tLS0gIyMKCmNvbmZp Z3VyZTozNzIzOiBsb2FkaW5nIHNpdGUgc2NyaXB0IC9taW5ndzY0L2V0Yy9jb25maWcuc2l0ZQp8 ICMgVGhpcyBmaWxlIGlzIGluIHB1YmxpYyBkb21haW4uCnwgIyBPcmlnaW5hbCBhdXRob3I6IEth cmxzb24yayAoRXZnZW55IEdyaW4pCnwgIyBXcml0dGVuIGZvciBNU3lzMi9NaW5HVzY0IHRvIGhl bHAgcnVubmluZyAnY29uZmlndXJlJyBzY3JpcHRzCnwgCnwgIyBEZWZhdWx0cyBmb3IgTWluR1c2 NC10YXJnZXRlZCBwcm9ncmFtcwp8IAp8ICMgU2V0IHByb3BlciBzZWxmbmFtZSBvbiBiYXNoIGFu ZCBmYWxsYmFjayB0byBkZWZhdWx0IG5hbWUgb24gb3RoZXIgc2hlbGxzCnwgdGVzdCAtbiAiJHtC QVNIX1NPVVJDRX0iIDI+L2Rldi9udWxsICYmIGNvbmZpZ19zaXRlX21lPSIke0JBU0hfU09VUkNF WzBdIyMqL30iIHx8IGNvbmZpZ19zaXRlX21lPWNvbmZpZy5zaXRlCnwgCnwgIyBTZXQgZGVmYXVs dCAnaG9zdCcgdG8gc3BlZWR1cCBjb25maWd1cmUKfCBpZiB0ZXN0IC16ICIkYnVpbGRfYWxpYXMi OyB0aGVuCnwgICBidWlsZF9hbGlhcz0iJHtNU1lTVEVNX0NIT1NULXg4Nl82NC13NjQtbWluZ3cz Mn0iICYmIFwKfCAgICAgJHthc19lY2hvLWVjaG99ICIkY29uZmlnX3NpdGVfbWU6JHthc19saW5l bm8tJExJTkVOT306IGRlZmF1bHQgYnVpbGRfYWxpYXMgc2V0IHRvICRidWlsZF9hbGlhcyIgPiY1 CnwgZmkKfCAKfCAjIFNldCBkZWZhdWx0ICdwcmVmaXgnIHRvICIvbWluZ3c2NCIKfCBpZiAoIHRl c3QgLXogIiRwcmVmaXgiIHx8IHRlc3QgIngkcHJlZml4IiA9ICJ4Tk9ORSIgKSAmJiBcCnwgICAg KCB0ZXN0IC16ICIkZXhlY19wcmVmaXgiIHx8IHRlc3QgIngkZXhlY19wcmVmaXgiID0gInhOT05F IiApOyB0aGVuCnwgICBwcmVmaXg9IiR7TVNZU1RFTV9QUkVGSVgtL21pbmd3NjR9IiAmJiBcCnwg ICAgICR7YXNfZWNoby1lY2hvfSAiJGNvbmZpZ19zaXRlX21lOiR7YXNfbGluZW5vLSRMSU5FTk99 OiBkZWZhdWx0IHByZWZpeCBzZXQgdG8gJHByZWZpeCIgPiY1CnwgZmkKY29uZmlnLnNpdGU6MTM6 IGRlZmF1bHQgYnVpbGRfYWxpYXMgc2V0IHRvIHg4Nl82NC13NjQtbWluZ3czMgpjb25maWd1cmU6 Mzk2MzogY2hlY2tpbmcgZm9yIHhjcnVuCmNvbmZpZ3VyZTozOTkzOiByZXN1bHQ6IG5vCmNvbmZp Z3VyZTo0MDU3OiBjaGVja2luZyBmb3IgR05VIE1ha2UKY29uZmlndXJlOjQxMDc6IHJlc3VsdDog bWFrZQpjb25maWd1cmU6NDEyMTogY2hlY2tpbmcgYnVpbGQgc3lzdGVtIHR5cGUKY29uZmlndXJl OjQxMzU6IHJlc3VsdDogeDg2XzY0LXc2NC1taW5ndzMyCmNvbmZpZ3VyZTo0MTU1OiBjaGVja2lu ZyBob3N0IHN5c3RlbSB0eXBlCmNvbmZpZ3VyZTo0MTY4OiByZXN1bHQ6IHg4Nl82NC13NjQtbWlu Z3czMgpjb25maWd1cmU6NDIwMTogY2hlY2tpbmcgdGhlIGNvbXBpbGVyJ3MgdGFyZ2V0CmNvbmZp Z3VyZTo0MjIxOiByZXN1bHQ6IHg4Nl82NC13NjQtbWluZ3czMgpjb25maWd1cmU6NTIyNzogY2hl Y2tpbmcgZm9yIGdjYwpjb25maWd1cmU6NTI0MzogZm91bmQgL21pbmd3NjQvYmluL2djYwpjb25m aWd1cmU6NTI1NDogcmVzdWx0OiBnY2MKY29uZmlndXJlOjUyODU6IGNoZWNraW5nIGZvciBDIGNv bXBpbGVyIHZlcnNpb24KY29uZmlndXJlOjUyOTQ6IGdjYyAtLXZlcnNpb24gPiY1CmdjYy5leGUg KFJldjYsIEJ1aWx0IGJ5IE1TWVMyIHByb2plY3QpIDEwLjIuMA0KQ29weXJpZ2h0IChDKSAyMDIw IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLg0KVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBz ZWUgdGhlIHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgTk8NCndhcnJh bnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLg0KDQpjb25maWd1cmU6NTMwNTogJD8gPSAwCmNvbmZpZ3VyZTo1Mjk0OiBn Y2MgLXYgPiY1ClVzaW5nIGJ1aWx0LWluIHNwZWNzLgpDT0xMRUNUX0dDQz1DOlxtc3lzNjRcbWlu Z3c2NFxiaW5cZ2NjLmV4ZQpDT0xMRUNUX0xUT19XUkFQUEVSPUM6L21zeXM2NC9taW5ndzY0L2Jp bi8uLi9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi8xMC4yLjAvbHRvLXdyYXBwZXIuZXhlClRh cmdldDogeDg2XzY0LXc2NC1taW5ndzMyCkNvbmZpZ3VyZWQgd2l0aDogLi4vZ2NjLTEwLjIuMC9j b25maWd1cmUgLS1wcmVmaXg9L21pbmd3NjQgLS13aXRoLWxvY2FsLXByZWZpeD0vbWluZ3c2NC9s b2NhbCAtLWJ1aWxkPXg4Nl82NC13NjQtbWluZ3czMiAtLWhvc3Q9eDg2XzY0LXc2NC1taW5ndzMy IC0tdGFyZ2V0PXg4Nl82NC13NjQtbWluZ3czMiAtLXdpdGgtbmF0aXZlLXN5c3RlbS1oZWFkZXIt ZGlyPS9taW5ndzY0L3g4Nl82NC13NjQtbWluZ3czMi9pbmNsdWRlIC0tbGliZXhlY2Rpcj0vbWlu Z3c2NC9saWIgLS1lbmFibGUtYm9vdHN0cmFwIC0td2l0aC1hcmNoPXg4Ni02NCAtLXdpdGgtdHVu ZT1nZW5lcmljIC0tZW5hYmxlLWxhbmd1YWdlcz1jLGx0byxjKyssZm9ydHJhbixhZGEsb2JqYyxv YmotYysrLGppdCAtLWVuYWJsZS1zaGFyZWQgLS1lbmFibGUtc3RhdGljIC0tZW5hYmxlLWxpYmF0 b21pYyAtLWVuYWJsZS10aHJlYWRzPXBvc2l4IC0tZW5hYmxlLWdyYXBoaXRlIC0tZW5hYmxlLWZ1 bGx5LWR5bmFtaWMtc3RyaW5nIC0tZW5hYmxlLWxpYnN0ZGN4eC1maWxlc3lzdGVtLXRzPXllcyAt LWVuYWJsZS1saWJzdGRjeHgtdGltZT15ZXMgLS1kaXNhYmxlLWxpYnN0ZGN4eC1wY2ggLS1kaXNh YmxlLWxpYnN0ZGN4eC1kZWJ1ZyAtLWRpc2FibGUtaXNsLXZlcnNpb24tY2hlY2sgLS1lbmFibGUt bHRvIC0tZW5hYmxlLWxpYmdvbXAgLS1kaXNhYmxlLW11bHRpbGliIC0tZW5hYmxlLWNoZWNraW5n PXJlbGVhc2UgLS1kaXNhYmxlLXJwYXRoIC0tZGlzYWJsZS13aW4zMi1yZWdpc3RyeSAtLWRpc2Fi bGUtbmxzIC0tZGlzYWJsZS13ZXJyb3IgLS1kaXNhYmxlLXN5bXZlcnMgLS1kaXNhYmxlLXBsdWdp biAtLXdpdGgtbGliaWNvbnYgLS13aXRoLXN5c3RlbS16bGliIC0td2l0aC1nbXA9L21pbmd3NjQg LS13aXRoLW1wZnI9L21pbmd3NjQgLS13aXRoLW1wYz0vbWluZ3c2NCAtLXdpdGgtaXNsPS9taW5n dzY0IC0td2l0aC1wa2d2ZXJzaW9uPSdSZXY2LCBCdWlsdCBieSBNU1lTMiBwcm9qZWN0JyAtLXdp dGgtYnVndXJsPWh0dHBzOi8vZ2l0aHViLmNvbS9tc3lzMi9NSU5HVy1wYWNrYWdlcy9pc3N1ZXMg LS13aXRoLWdudS1hcyAtLXdpdGgtZ251LWxkIC0td2l0aC1ib290LWxkZmxhZ3M9Jy1waXBlIC1X bCwtLWR5bmFtaWNiYXNlLC0taGlnaC1lbnRyb3B5LXZhLC0tbnhjb21wYXQsLS1kZWZhdWx0LWlt YWdlLWJhc2UtaGlnaCAtV2wsLS1kaXNhYmxlLWR5bmFtaWNiYXNlIC1zdGF0aWMtbGlic3RkYysr IC1zdGF0aWMtbGliZ2NjJyAnTERGTEFHU19GT1JfVEFSR0VUPS1waXBlIC1XbCwtLWR5bmFtaWNi YXNlLC0taGlnaC1lbnRyb3B5LXZhLC0tbnhjb21wYXQsLS1kZWZhdWx0LWltYWdlLWJhc2UtaGln aCcgLS1lbmFibGUtbGlua2VyLXBsdWdpbi1mbGFncz0nTERGTEFHUz0tc3RhdGljLWxpYnN0ZGMr K1wgLXN0YXRpYy1saWJnY2NcIC1waXBlXCAtV2wsLS1keW5hbWljYmFzZSwtLWhpZ2gtZW50cm9w eS12YSwtLW54Y29tcGF0LC0tZGVmYXVsdC1pbWFnZS1iYXNlLWhpZ2hcIC1XbCwtLXN0YWNrLDEy NTgyOTEyJwpUaHJlYWQgbW9kZWw6IHBvc2l4ClN1cHBvcnRlZCBMVE8gY29tcHJlc3Npb24gYWxn b3JpdGhtczogemxpYiB6c3RkCmdjYyB2ZXJzaW9uIDEwLjIuMCAoUmV2NiwgQnVpbHQgYnkgTVNZ UzIgcHJvamVjdCkgCmNvbmZpZ3VyZTo1MzA1OiAkPyA9IDAKY29uZmlndXJlOjUyOTQ6IGdjYyAt ViA+JjUKZ2NjLmV4ZTogZXJyb3I6IHVucmVjb2duaXplZCBjb21tYW5kLWxpbmUgb3B0aW9uICct VicKZ2NjLmV4ZTogZmF0YWwgZXJyb3I6IG5vIGlucHV0IGZpbGVzCmNvbXBpbGF0aW9uIHRlcm1p bmF0ZWQuCmNvbmZpZ3VyZTo1MzA1OiAkPyA9IDEKY29uZmlndXJlOjUyOTQ6IGdjYyAtcXZlcnNp b24gPiY1CmdjYy5leGU6IGVycm9yOiB1bnJlY29nbml6ZWQgY29tbWFuZC1saW5lIG9wdGlvbiAn LXF2ZXJzaW9uJzsgZGlkIHlvdSBtZWFuICctLXZlcnNpb24nPwpnY2MuZXhlOiBmYXRhbCBlcnJv cjogbm8gaW5wdXQgZmlsZXMKY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjUzMDU6 ICQ/ID0gMQpjb25maWd1cmU6NTI5NDogZ2NjIC12ZXJzaW9uID4mNQpnY2MuZXhlOiBlcnJvcjog dW5yZWNvZ25pemVkIGNvbW1hbmQtbGluZSBvcHRpb24gJy12ZXJzaW9uJwpnY2MuZXhlOiBmYXRh bCBlcnJvcjogbm8gaW5wdXQgZmlsZXMKY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJl OjUzMDU6ICQ/ID0gMQpjb25maWd1cmU6NTMyNTogY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21w aWxlciB3b3Jrcwpjb25maWd1cmU6NTM0NzogZ2NjICAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1 cmU6NTM1MTogJD8gPSAwCmNvbmZpZ3VyZTo1Mzk5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTQw MjogY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lCmNvbmZp Z3VyZTo1NDA0OiByZXN1bHQ6IGEuZXhlCmNvbmZpZ3VyZTo1NDEwOiBjaGVja2luZyBmb3Igc3Vm Zml4IG9mIGV4ZWN1dGFibGVzCmNvbmZpZ3VyZTo1NDE3OiBnY2MgLW8gY29uZnRlc3QuZXhlICAg IGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6NTQyMTogJD8gPSAwCmNvbmZpZ3VyZTo1NDQzOiBy ZXN1bHQ6IC5leGUKY29uZmlndXJlOjU0NjU6IGNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3Nz IGNvbXBpbGluZwpjb25maWd1cmU6NTQ3MzogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAgICBjb25mdGVz dC5jICA+JjUKY29uZmlndXJlOjU0Nzc6ICQ/ID0gMApjb25maWd1cmU6NTQ4NDogLi9jb25mdGVz dC5leGUKY29uZmlndXJlOjU0ODg6ICQ/ID0gMApjb25maWd1cmU6NTUwMzogcmVzdWx0OiBubwpj b25maWd1cmU6NTUwODogY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMKY29uZmln dXJlOjU1MzA6IGdjYyAtYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo1NTM0OiAkPyA9IDAK Y29uZmlndXJlOjU1NTU6IHJlc3VsdDogbwpjb25maWd1cmU6NTU1OTogY2hlY2tpbmcgd2hldGhl ciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyCmNvbmZpZ3VyZTo1NTc4OiBnY2MgLWMg ICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NTU3ODogJD8gPSAwCmNvbmZpZ3VyZTo1NTg3OiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6NTU5NjogY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAt Zwpjb25maWd1cmU6NTYxNjogZ2NjIC1jIC1nICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NTYx NjogJD8gPSAwCmNvbmZpZ3VyZTo1NjU3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTY3NDogY2hl Y2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gZW5hYmxlIEMxMSBmZWF0dXJlcwpjb25maWd1cmU6NTg3 NzogZ2NjICAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo1ODc3OiAkPyA9IDAK Y29uZmlndXJlOjU4OTE6IHJlc3VsdDogbm9uZSBuZWVkZWQKY29uZmlndXJlOjYwOTk6IGNoZWNr aW5nIHdoZXRoZXIgdGhlIGNvbXBpbGVyIGlzIGNsYW5nCmNvbmZpZ3VyZTo2MTIwOiBnY2MgLWMg LWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NjEyMDogJD8gPSAwCmNvbmZpZ3VyZTo2 MTI4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2MTMyOiBjaGVja2luZyBmb3IgY29tcGlsZXIgb3B0 aW9uIG5lZWRlZCB3aGVuIGNoZWNraW5nIGZvciBkZWNsYXJhdGlvbnMKY29uZmlndXJlOjYxNjM6 IHJlc3VsdDogbm9uZQpjb25maWd1cmU6NjIyNDogY2hlY2tpbmcgd2hldGhlciBnY2MgYW5kIGNj IHVuZGVyc3RhbmQgLWMgYW5kIC1vIHRvZ2V0aGVyCmNvbmZpZ3VyZTo2MjU1OiBnY2MgLWMgY29u ZnRlc3QuYyAtbyBjb25mdGVzdDIubyA+JjUKY29uZmlndXJlOjYyNTk6ICQ/ID0gMApjb25maWd1 cmU6NjI2NTogZ2NjIC1jIGNvbmZ0ZXN0LmMgLW8gY29uZnRlc3QyLm8gPiY1CmNvbmZpZ3VyZTo2 MjY5OiAkPyA9IDAKY29uZmlndXJlOjYyODA6IGNjIC1jIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3Vy ZTo2Mjg0OiAkPyA9IDAKY29uZmlndXJlOjYyOTI6IGNjIC1jIGNvbmZ0ZXN0LmMgLW8gY29uZnRl c3QyLm8gPiY1CmNvbmZpZ3VyZTo2Mjk2OiAkPyA9IDAKY29uZmlndXJlOjYzMDI6IGNjIC1jIGNv bmZ0ZXN0LmMgLW8gY29uZnRlc3QyLm8gPiY1CmNvbmZpZ3VyZTo2MzA2OiAkPyA9IDAKY29uZmln dXJlOjYzMjQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2MzYwOiBjaGVja2luZyBob3cgdG8gcnVu IHRoZSBDIHByZXByb2Nlc3Nvcgpjb25maWd1cmU6NjM5MTogZ2NjIC1JIC4uL3NyYy9udC9pbmMg LUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjYzOTE6ICQ/ID0gMApjb25maWd1cmU6NjQwNTogZ2Nj IC1JIC4uL3NyYy9udC9pbmMgLUUgIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzoxMToxMDogZmF0YWwg ZXJyb3I6IGFjX25vbmV4aXN0ZW50Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICAgMTEg fCAjaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KICAgICAgfCAgICAgICAgICBefn5+fn5+fn5+ fn5+fn5+fn4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjY0MDU6ICQ/ID0gMQpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmlu ZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi YnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3 LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVm aW5lIEhBVkVfUERVTVBFUiAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxh Y19ub25leGlzdGVudC5oPgpjb25maWd1cmU6NjQzMDogcmVzdWx0OiBnY2MgLUkgLi4vc3JjL250 L2luYyAtRQpjb25maWd1cmU6NjQ1MDogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLUUgIGNvbmZ0ZXN0 LmMKY29uZmlndXJlOjY0NTA6ICQ/ID0gMApjb25maWd1cmU6NjQ2NDogZ2NjIC1JIC4uL3NyYy9u dC9pbmMgLUUgIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzoxMToxMDogZmF0YWwgZXJyb3I6IGFjX25v bmV4aXN0ZW50Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICAgMTEgfCAjaW5jbHVkZSA8 YWNfbm9uZXhpc3RlbnQuaD4KICAgICAgfCAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KY29t cGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjY0NjQ6ICQ/ID0gMQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05V IEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFj c0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29m dHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERV TVBFUiAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxhY19ub25leGlzdGVu dC5oPgpjb25maWd1cmU6NjQ5MzogY2hlY2tpbmcgZm9yIGdyZXAgdGhhdCBoYW5kbGVzIGxvbmcg bGluZXMgYW5kIC1lCmNvbmZpZ3VyZTo2NTUxOiByZXN1bHQ6IC91c3IvYmluL2dyZXAKY29uZmln dXJlOjY1NTY6IGNoZWNraW5nIGZvciBlZ3JlcApjb25maWd1cmU6NjYxODogcmVzdWx0OiAvdXNy L2Jpbi9ncmVwIC1FCmNvbmZpZ3VyZTo2NjIzOiBjaGVja2luZyBmb3IgQU5TSSBDIGhlYWRlciBm aWxlcwpjb25maWd1cmU6NjY0MzogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWcgLU8yICBjb25m dGVzdC5jID4mNQpjb25maWd1cmU6NjY0MzogJD8gPSAwCmNvbmZpZ3VyZTo2NzE2OiBnY2MgLUkg Li4vc3JjL250L2luYyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1CmNv bmZpZ3VyZTo2NzE2OiAkPyA9IDAKY29uZmlndXJlOjY3MTY6IC4vY29uZnRlc3QuZXhlCmNvbmZp Z3VyZTo2NzE2OiAkPyA9IDAKY29uZmlndXJlOjY3Mjc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2 NzQwOiBjaGVja2luZyBmb3Igc3lzL3R5cGVzLmgKY29uZmlndXJlOjY3NDA6IGdjYyAtSSAuLi9z cmMvbnQvaW5jIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjY3NDA6ICQ/ID0g MApjb25maWd1cmU6Njc0MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY3NDA6IGNoZWNraW5nIGZv ciBzeXMvc3RhdC5oCmNvbmZpZ3VyZTo2NzQwOiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZyAt TzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2NzQwOiAkPyA9IDAKY29uZmlndXJlOjY3NDA6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2NzQwOiBjaGVja2luZyBmb3Igc3RkbGliLmgKY29uZmln dXJlOjY3NDA6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjY3NDA6ICQ/ID0gMApjb25maWd1cmU6Njc0MDogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjY3NDA6IGNoZWNraW5nIGZvciBzdHJpbmcuaApjb25maWd1cmU6Njc0MDogZ2NjIC1JIC4u L3NyYy9udC9pbmMgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6Njc0MDogJD8g PSAwCmNvbmZpZ3VyZTo2NzQwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6Njc0MDogY2hlY2tpbmcg Zm9yIG1lbW9yeS5oCmNvbmZpZ3VyZTo2NzQwOiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZyAt TzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2NzQwOiAkPyA9IDAKY29uZmlndXJlOjY3NDA6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2NzQwOiBjaGVja2luZyBmb3Igc3RyaW5ncy5oCmNvbmZp Z3VyZTo2NzQwOiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZpZ3VyZTo2NzQwOiAkPyA9IDAKY29uZmlndXJlOjY3NDA6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZTo2NzQwOiBjaGVja2luZyBmb3IgaW50dHlwZXMuaApjb25maWd1cmU6Njc0MDogZ2NjIC1J IC4uL3NyYy9udC9pbmMgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6Njc0MDog JD8gPSAwCmNvbmZpZ3VyZTo2NzQwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6Njc0MDogY2hlY2tp bmcgZm9yIHN0ZGludC5oCmNvbmZpZ3VyZTo2NzQwOiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAt ZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2NzQwOiAkPyA9IDAKY29uZmlndXJlOjY3 NDA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2NzQwOiBjaGVja2luZyBmb3IgdW5pc3RkLmgKY29u ZmlndXJlOjY3NDA6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+ JjUKY29uZmlndXJlOjY3NDA6ICQ/ID0gMApjb25maWd1cmU6Njc0MDogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjY3NTM6IGNoZWNraW5nIG1pbml4L2NvbmZpZy5oIHVzYWJpbGl0eQpjb25maWd1cmU6 Njc1MzogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25m dGVzdC5jOjU0OjEwOiBmYXRhbCBlcnJvcjogbWluaXgvY29uZmlnLmg6IE5vIHN1Y2ggZmlsZSBv ciBkaXJlY3RvcnkKICAgNTQgfCAjaW5jbHVkZSA8bWluaXgvY29uZmlnLmg+CiAgICAgIHwgICAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6 Njc1MzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZz LmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAj ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VS TCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VT RV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlv Lmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8 ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+ CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+Cnwg IyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMg IGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJ TkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllf SAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5o Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5o Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVz Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5o Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4K fCAjZW5kaWYKfCAjaW5jbHVkZSA8bWluaXgvY29uZmlnLmg+CmNvbmZpZ3VyZTo2NzUzOiByZXN1 bHQ6IG5vCmNvbmZpZ3VyZTo2NzUzOiBjaGVja2luZyBtaW5peC9jb25maWcuaCBwcmVzZW5jZQpj b25maWd1cmU6Njc1MzogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLUUgIGNvbmZ0ZXN0LmMKY29uZnRl c3QuYzoyMToxMDogZmF0YWwgZXJyb3I6IG1pbml4L2NvbmZpZy5oOiBObyBzdWNoIGZpbGUgb3Ig ZGlyZWN0b3J5CiAgIDIxIHwgI2luY2x1ZGUgPG1pbml4L2NvbmZpZy5oPgogICAgICB8ICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjY3 NTM6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5o ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2Rl ZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdF X0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwg Imh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0Vf UE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm aW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9VTklTVERfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxtaW5peC9j b25maWcuaD4KY29uZmlndXJlOjY3NTM6IHJlc3VsdDogbm8KY29uZmlndXJlOjY3NTM6IGNoZWNr aW5nIGZvciBtaW5peC9jb25maWcuaApjb25maWd1cmU6Njc1MzogcmVzdWx0OiBubwpjb25maWd1 cmU6Njc3NzogY2hlY2tpbmcgd2hldGhlciBpdCBpcyBzYWZlIHRvIGRlZmluZSBfX0VYVEVOU0lP TlNfXwpjb25maWd1cmU6Njc5NTogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWcgLU8yICBjb25m dGVzdC5jID4mNQpjb25maWd1cmU6Njc5NTogJD8gPSAwCmNvbmZpZ3VyZTo2ODAyOiByZXN1bHQ6 IHllcwpjb25maWd1cmU6NjgzNTogY2hlY2tpbmcgd2hldGhlciBfWE9QRU5fU09VUkNFIHNob3Vs ZCBiZSBkZWZpbmVkCmNvbmZpZ3VyZTo2ODU0OiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZyAt TzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2ODU0OiAkPyA9IDAKY29uZmlndXJlOjY4Nzg6 IHJlc3VsdDogbm8KY29uZmlndXJlOjY4OTU6IGNoZWNraW5nIGZvciBNaW5peCBBbXN0ZXJkYW0g Y29tcGlsZXIKY29uZmlndXJlOjY5MTk6IHJlc3VsdDogbm8KY29uZmlndXJlOjY5NzY6IGNoZWNr aW5nIGZvciBhcgpjb25maWd1cmU6Njk5MjogZm91bmQgL21pbmd3NjQvYmluL2FyCmNvbmZpZ3Vy ZTo3MDAzOiByZXN1bHQ6IGFyCmNvbmZpZ3VyZTo3MDc4OiBjaGVja2luZyBmb3IgcmFubGliCmNv bmZpZ3VyZTo3MDk0OiBmb3VuZCAvbWluZ3c2NC9iaW4vcmFubGliCmNvbmZpZ3VyZTo3MTA1OiBy ZXN1bHQ6IHJhbmxpYgpjb25maWd1cmU6NzE2NzogY2hlY2tpbmcgZm9yIHNwZWNpYWwgQyBjb21w aWxlciBvcHRpb25zIG5lZWRlZCBmb3IgbGFyZ2UgZmlsZXMKY29uZmlndXJlOjcyMTI6IHJlc3Vs dDogbm8KY29uZmlndXJlOjcyMTg6IGNoZWNraW5nIGZvciBfRklMRV9PRkZTRVRfQklUUyB2YWx1 ZSBuZWVkZWQgZm9yIGxhcmdlIGZpbGVzCmNvbmZpZ3VyZTo3MjQzOiBnY2MgLUkgLi4vc3JjL250 L2luYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6NDI6Mzk6IHdhcm5pbmc6 IHJlc3VsdCBvZiAnLTIxNDc0ODM2NDggPDwgMzEnIHJlcXVpcmVzIDYzIGJpdHMgdG8gcmVwcmVz ZW50LCBidXQgJ2xvbmcgaW50JyBvbmx5IGhhcyAzMiBiaXRzIFstV3NoaWZ0LW92ZXJmbG93PV0K ICAgNDIgfCAjZGVmaW5lIExBUkdFX09GRl9UICgoKG9mZl90KSAxIDw8IDMxIDw8IDMxKSAtIDEg KyAoKG9mZl90KSAxIDw8IDMxIDw8IDMxKSkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF5+CmNvbmZ0ZXN0LmM6NDM6MjM6IG5vdGU6IGluIGV4cGFuc2lvbiBv ZiBtYWNybyAnTEFSR0VfT0ZGX1QnCiAgIDQzIHwgICBpbnQgb2ZmX3RfaXNfbGFyZ2VbKExBUkdF X09GRl9UICUgMjE0NzQ4MzYyOSA9PSA3MjEKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg Xn5+fn5+fn5+fn4KY29uZnRlc3QuYzo0Mjo2OTogd2FybmluZzogcmVzdWx0IG9mICctMjE0NzQ4 MzY0OCA8PCAzMScgcmVxdWlyZXMgNjMgYml0cyB0byByZXByZXNlbnQsIGJ1dCAnbG9uZyBpbnQn IG9ubHkgaGFzIDMyIGJpdHMgWy1Xc2hpZnQtb3ZlcmZsb3c9XQogICA0MiB8ICNkZWZpbmUgTEFS R0VfT0ZGX1QgKCgob2ZmX3QpIDEgPDwgMzEgPDwgMzEpIC0gMSArICgob2ZmX3QpIDEgPDwgMzEg PDwgMzEpKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KY29uZnRlc3QuYzo0MzoyMzogbm90ZTogaW4g ZXhwYW5zaW9uIG9mIG1hY3JvICdMQVJHRV9PRkZfVCcKICAgNDMgfCAgIGludCBvZmZfdF9pc19s YXJnZVsoTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjI5ID09IDcyMQogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICBefn5+fn5+fn5+fgpjb25mdGVzdC5jOjQyOjM5OiB3YXJuaW5nOiByZXN1bHQg b2YgJy0yMTQ3NDgzNjQ4IDw8IDMxJyByZXF1aXJlcyA2MyBiaXRzIHRvIHJlcHJlc2VudCwgYnV0 ICdsb25nIGludCcgb25seSBoYXMgMzIgYml0cyBbLVdzaGlmdC1vdmVyZmxvdz1dCiAgIDQyIHwg I2RlZmluZSBMQVJHRV9PRkZfVCAoKChvZmZfdCkgMSA8PCAzMSA8PCAzMSkgLSAxICsgKChvZmZf dCkgMSA8PCAzMSA8PCAzMSkpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefgpjb25mdGVzdC5jOjQ0OjI3OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g J0xBUkdFX09GRl9UJwogICA0NCB8ICAgICAgICAgICAgICAgICAgICAgICAgJiYgTEFSR0VfT0ZG X1QgJSAyMTQ3NDgzNjQ3ID09IDEpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn5+fn5+fgpjb25mdGVzdC5jOjQyOjY5OiB3YXJuaW5nOiByZXN1bHQgb2YgJy0yMTQ3NDgz NjQ4IDw8IDMxJyByZXF1aXJlcyA2MyBiaXRzIHRvIHJlcHJlc2VudCwgYnV0ICdsb25nIGludCcg b25seSBoYXMgMzIgYml0cyBbLVdzaGlmdC1vdmVyZmxvdz1dCiAgIDQyIHwgI2RlZmluZSBMQVJH RV9PRkZfVCAoKChvZmZfdCkgMSA8PCAzMSA8PCAzMSkgLSAxICsgKChvZmZfdCkgMSA8PCAzMSA8 PCAzMSkpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBefgpjb25mdGVzdC5jOjQ0OjI3OiBub3RlOiBpbiBl eHBhbnNpb24gb2YgbWFjcm8gJ0xBUkdFX09GRl9UJwogICA0NCB8ICAgICAgICAgICAgICAgICAg ICAgICAgJiYgTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjQ3ID09IDEpCiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fgpjb25mdGVzdC5jOjQzOjc6IGVycm9yOiB2YXJp YWJseSBtb2RpZmllZCAnb2ZmX3RfaXNfbGFyZ2UnIGF0IGZpbGUgc2NvcGUKICAgNDMgfCAgIGlu dCBvZmZfdF9pc19sYXJnZVsoTEFSR0VfT0ZGX1QgJSAyMTQ3NDgzNjI5ID09IDcyMQogICAgICB8 ICAgICAgIF5+fn5+fn5+fn5+fn5+CmNvbmZpZ3VyZTo3MjQzOiAkPyA9IDEKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9O QU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZp bmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdO VSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1h Y3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3Nv ZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BE VU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg X19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJ Tl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NP VVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJF QURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VY VF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZp bmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FO VF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5 X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZp bmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VS Q0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8IC8qIGVuZCBjb25m ZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgIC8qIENoZWNrIHRoYXQgb2Zm X3QgY2FuIHJlcHJlc2VudCAyKio2MyAtIDEgY29ycmVjdGx5Lgp8ICAgICBXZSBjYW4ndCBzaW1w bHkgZGVmaW5lIExBUkdFX09GRl9UIHRvIGJlIDkyMjMzNzIwMzY4NTQ3NzU4MDcsCnwgICAgIHNp bmNlIHNvbWUgQysrIGNvbXBpbGVycyBtYXNxdWVyYWRpbmcgYXMgQyBjb21waWxlcnMKfCAgICAg aW5jb3JyZWN0bHkgcmVqZWN0IDkyMjMzNzIwMzY4NTQ3NzU4MDcuICAqLwp8ICNkZWZpbmUgTEFS R0VfT0ZGX1QgKCgob2ZmX3QpIDEgPDwgMzEgPDwgMzEpIC0gMSArICgob2ZmX3QpIDEgPDwgMzEg PDwgMzEpKQp8ICAgaW50IG9mZl90X2lzX2xhcmdlWyhMQVJHRV9PRkZfVCAlIDIxNDc0ODM2Mjkg PT0gNzIxCnwgICAgICAgICAgICAgICAgICAgICAgICAmJiBMQVJHRV9PRkZfVCAlIDIxNDc0ODM2 NDcgPT0gMSkKfCAgICAgICAgICAgICAgICAgICAgICAgPyAxIDogLTFdOwp8IGludAp8IG1haW4g KCkKfCB7CnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo3MjY3OiBnY2MgLUkg Li4vc3JjL250L2luYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo3MjY3OiAk PyA9IDAKY29uZmlndXJlOjcyNzU6IHJlc3VsdDogNjQKY29uZmlndXJlOjc1MzA6IGNoZWNraW5n IHdoZXRoZXIgZ2NjIC1JIC4uL3NyYy9udC9pbmMgYWNjZXB0cyAtZzMgLU8yCmNvbmZpZ3VyZTo3 NTQ2OiBnY2MgLUkgLi4vc3JjL250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAgIGNvbmZ0 ZXN0LmMgID4mNQpjb25maWd1cmU6NzU0NjogJD8gPSAwCmNvbmZpZ3VyZTo3NTU0OiByZXN1bHQ6 IHllcwpjb25maWd1cmU6NzY0MzogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLUUgIGNvbmZ0ZXN0LmMK Y29uZmlndXJlOjc2NDM6ICQ/ID0gMApjb25maWd1cmU6NzY2NTogY2hlY2tpbmcgd2hldGhlciB0 aGUgY29tcGlsZXIgaXMgY2xhbmcKY29uZmlndXJlOjc2ODU6IGdjYyAtSSAuLi9zcmMvbnQvaW5j IC1jIC1nMyAtTzIgLWdkd2FyZi0yICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjQwOjEyOiBl cnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJl Zm9yZSBzdHJpbmcgY29uc3RhbnQKICAgNDAgfCAgICAgIGVycm9yICJub3QgY2xhbmciOwogICAg ICB8ICAgICAgICAgICAgXn5+fn5+fn5+fn4KY29uZmlndXJlOjc2ODU6ICQ/ID0gMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL QUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwg I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO RyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdu dS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5v cmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhB VkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBf REFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRC U0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhf UFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJ QlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwg I2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1RE Q19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNf NjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwg I2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVN X1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmlu ZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAJICAj aWZuZGVmIF9fY2xhbmdfXwp8IAkgICAgZXJyb3IgIm5vdCBjbGFuZyI7CnwgCSAgI2VuZGlmCnwg CnwgaW50CnwgbWFpbiAoKQp8IHsKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJl Ojc2OTI6IHJlc3VsdDogbm8KY29uZmlndXJlOjc3MDY6IGNoZWNraW5nIHdoZXRoZXIgQyBjb21w aWxlciBoYW5kbGVzIC1XZXJyb3IgLVd1bmtub3duLXdhcm5pbmctb3B0aW9uCmNvbmZpZ3VyZTo3 NzI1OiBnY2MgLUkgLi4vc3JjL250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJm LTIgIC1XZXJyb3IgLVd1bmtub3duLXdhcm5pbmctb3B0aW9uICAgY29uZnRlc3QuYyAgPiY1Cmdj Yy5leGU6IGVycm9yOiB1bnJlY29nbml6ZWQgY29tbWFuZC1saW5lIG9wdGlvbiAnLVd1bmtub3du LXdhcm5pbmctb3B0aW9uJwpjb25maWd1cmU6NzcyNTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVk IHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAi R05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBB Q0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1h Y3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdu dS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2Fy ZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVS IDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhU RU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19T T1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0Ug MQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NF TUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAx CnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9f U1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVD XzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBF U19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9f U1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEK fCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09G RlNFVF9CSVRTIDY0CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8IGludAp8IG1haW4gKCkK fCB7CnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTo3NzM1OiByZXN1bHQ6IG5v CmNvbmZpZ3VyZTo3OTg4OiBjaGVja2luZyB3aGV0aGVyIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0 aWFsaXplcnMgaXMgc3VwcG9ydGVkCmNvbmZpZ3VyZTo4MDA2OiBnY2MgLUkgLi4vc3JjL250L2lu YyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtV2V4dHJhIC1XZXJyb3IgLVduby1taXNzaW5nLWZpZWxk LWluaXRpYWxpemVycyAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjgwMDY6ICQ/ID0gMApjb25m aWd1cmU6ODAxNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjgwMTk6IGNoZWNraW5nIHdoZXRoZXIg LVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyBpcyBuZWVkZWQKY29uZmlndXJlOjgwNDM6 IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1XZXh0cmEgLVdlcnJv ciAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjgwNDM6ICQ/ID0gMApjb25maWd1cmU6ODA1Mjog cmVzdWx0OiBubwpjb25maWd1cmU6ODA1NjogY2hlY2tpbmcgd2hldGhlciAtV3VuaW5pdGlhbGl6 ZWQgaXMgc3VwcG9ydGVkCmNvbmZpZ3VyZTo4MDc0OiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAt ZzMgLU8yIC1nZHdhcmYtMiAtV2Vycm9yIC1XdW5pbml0aWFsaXplZCAgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjgwNzQ6ICQ/ID0gMApjb25maWd1cmU6ODA4MzogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjgyMjM6IGNoZWNraW5nIHdoZXRoZXIgQyBjb21waWxlciBoYW5kbGVzIC1mbm8tY29tbW9u CmNvbmZpZ3VyZTo4MjQyOiBnY2MgLUkgLi4vc3JjL250L2luYyAtbyBjb25mdGVzdC5leGUgLWcz IC1PMiAtZ2R3YXJmLTIgIC1mbm8tY29tbW9uICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo4 MjQyOiAkPyA9IDAKY29uZmlndXJlOjgyNTM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4MjIzOiBj aGVja2luZyB3aGV0aGVyIEMgY29tcGlsZXIgaGFuZGxlcyAtV2FsbApjb25maWd1cmU6ODI0Mjog Z2NjIC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0yICAt V2FsbCAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6ODI0MjogJD8gPSAwCmNvbmZpZ3VyZTo4 MjUzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODIyMzogY2hlY2tpbmcgd2hldGhlciBDIGNvbXBp bGVyIGhhbmRsZXMgLVdhcml0aC1jb252ZXJzaW9uCmNvbmZpZ3VyZTo4MjQyOiBnY2MgLUkgLi4v c3JjL250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgIC1XYXJpdGgtY29u dmVyc2lvbiAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6ODI0MjogJD8gPSAwCmNvbmZpZ3Vy ZTo4MjUzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODIyMzogY2hlY2tpbmcgd2hldGhlciBDIGNv bXBpbGVyIGhhbmRsZXMgLVdkYXRlLXRpbWUKY29uZmlndXJlOjgyNDI6IGdjYyAtSSAuLi9zcmMv bnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAgLVdkYXRlLXRpbWUgICBj b25mdGVzdC5jICA+JjUKY29uZmlndXJlOjgyNDI6ICQ/ID0gMApjb25maWd1cmU6ODI1MzogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjgyMjM6IGNoZWNraW5nIHdoZXRoZXIgQyBjb21waWxlciBoYW5k bGVzIC1XZGlzYWJsZWQtb3B0aW1pemF0aW9uCmNvbmZpZ3VyZTo4MjQyOiBnY2MgLUkgLi4vc3Jj L250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgIC1XZGlzYWJsZWQtb3B0 aW1pemF0aW9uICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo4MjQyOiAkPyA9IDAKY29uZmln dXJlOjgyNTM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4MjIzOiBjaGVja2luZyB3aGV0aGVyIEMg Y29tcGlsZXIgaGFuZGxlcyAtV2RvdWJsZS1wcm9tb3Rpb24KY29uZmlndXJlOjgyNDI6IGdjYyAt SSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAgLVdkb3Vi bGUtcHJvbW90aW9uICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo4MjQyOiAkPyA9IDAKY29u ZmlndXJlOjgyNTM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4MjIzOiBjaGVja2luZyB3aGV0aGVy IEMgY29tcGlsZXIgaGFuZGxlcyAtV2R1cGxpY2F0ZWQtY29uZApjb25maWd1cmU6ODI0MjogZ2Nj IC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0yICAtV2R1 cGxpY2F0ZWQtY29uZCAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6ODI0MjogJD8gPSAwCmNv bmZpZ3VyZTo4MjUzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODIyMzogY2hlY2tpbmcgd2hldGhl ciBDIGNvbXBpbGVyIGhhbmRsZXMgLVdleHRyYQpjb25maWd1cmU6ODI0MjogZ2NjIC1JIC4uL3Ny Yy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0yICAtV2V4dHJhICAgY29u ZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo4MjQyOiAkPyA9IDAKY29uZmlndXJlOjgyNTM6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZTo4MjIzOiBjaGVja2luZyB3aGV0aGVyIEMgY29tcGlsZXIgaGFuZGxl cyAtV2Zvcm1hdC1zaWduZWRuZXNzCmNvbmZpZ3VyZTo4MjQyOiBnY2MgLUkgLi4vc3JjL250L2lu YyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgIC1XZm9ybWF0LXNpZ25lZG5lc3Mg ICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjgyNDI6ICQ/ID0gMApjb25maWd1cmU6ODI1Mzog cmVzdWx0OiB5ZXMKY29uZmlndXJlOjgyMjM6IGNoZWNraW5nIHdoZXRoZXIgQyBjb21waWxlciBo YW5kbGVzIC1XaW5pdC1zZWxmCmNvbmZpZ3VyZTo4MjQyOiBnY2MgLUkgLi4vc3JjL250L2luYyAt byBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgIC1XaW5pdC1zZWxmICAgY29uZnRlc3Qu YyAgPiY1CmNvbmZpZ3VyZTo4MjQyOiAkPyA9IDAKY29uZmlndXJlOjgyNTM6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZTo4MjIzOiBjaGVja2luZyB3aGV0aGVyIEMgY29tcGlsZXIgaGFuZGxlcyAtV2lu dmFsaWQtcGNoCmNvbmZpZ3VyZTo4MjQyOiBnY2MgLUkgLi4vc3JjL250L2luYyAtbyBjb25mdGVz dC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgIC1XaW52YWxpZC1wY2ggICBjb25mdGVzdC5jICA+JjUK Y29uZmlndXJlOjgyNDI6ICQ/ID0gMApjb25maWd1cmU6ODI1MzogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjgyMjM6IGNoZWNraW5nIHdoZXRoZXIgQyBjb21waWxlciBoYW5kbGVzIC1XbG9naWNhbC1v cApjb25maWd1cmU6ODI0MjogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1n MyAtTzIgLWdkd2FyZi0yICAtV2xvZ2ljYWwtb3AgICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJl OjgyNDI6ICQ/ID0gMApjb25maWd1cmU6ODI1MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjgyMjM6 IGNoZWNraW5nIHdoZXRoZXIgQyBjb21waWxlciBoYW5kbGVzIC1XbWlzc2luZy1kZWNsYXJhdGlv bnMKY29uZmlndXJlOjgyNDI6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAt ZzMgLU8yIC1nZHdhcmYtMiAgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAgIGNvbmZ0ZXN0LmMgID4m NQpjb25maWd1cmU6ODI0MjogJD8gPSAwCmNvbmZpZ3VyZTo4MjUzOiByZXN1bHQ6IHllcwpjb25m aWd1cmU6ODIyMzogY2hlY2tpbmcgd2hldGhlciBDIGNvbXBpbGVyIGhhbmRsZXMgLVdtaXNzaW5n LWluY2x1ZGUtZGlycwpjb25maWd1cmU6ODI0MjogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLW8gY29u ZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0yICAtV21pc3NpbmctaW5jbHVkZS1kaXJzICAgY29u ZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo4MjQyOiAkPyA9IDAKY29uZmlndXJlOjgyNTM6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZTo4MjIzOiBjaGVja2luZyB3aGV0aGVyIEMgY29tcGlsZXIgaGFuZGxl cyAtV21pc3NpbmctcHJvdG90eXBlcwpjb25maWd1cmU6ODI0MjogZ2NjIC1JIC4uL3NyYy9udC9p bmMgLW8gY29uZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0yICAtV21pc3NpbmctcHJvdG90eXBl cyAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6ODI0MjogJD8gPSAwCmNvbmZpZ3VyZTo4MjUz OiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODIyMzogY2hlY2tpbmcgd2hldGhlciBDIGNvbXBpbGVy IGhhbmRsZXMgLVduZXN0ZWQtZXh0ZXJucwpjb25maWd1cmU6ODI0MjogZ2NjIC1JIC4uL3NyYy9u dC9pbmMgLW8gY29uZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0yICAtV25lc3RlZC1leHRlcm5z ICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo4MjQyOiAkPyA9IDAKY29uZmlndXJlOjgyNTM6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4MjIzOiBjaGVja2luZyB3aGV0aGVyIEMgY29tcGlsZXIg aGFuZGxlcyAtV251bGwtZGVyZWZlcmVuY2UKY29uZmlndXJlOjgyNDI6IGdjYyAtSSAuLi9zcmMv bnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAgLVdudWxsLWRlcmVmZXJl bmNlICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo4MjQyOiAkPyA9IDAKY29uZmlndXJlOjgy NTM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4MjIzOiBjaGVja2luZyB3aGV0aGVyIEMgY29tcGls ZXIgaGFuZGxlcyAtV29sZC1zdHlsZS1kZWZpbml0aW9uCmNvbmZpZ3VyZTo4MjQyOiBnY2MgLUkg Li4vc3JjL250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgIC1Xb2xkLXN0 eWxlLWRlZmluaXRpb24gICBjb25mdGVzdC5jICA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24g J21haW4nOgpjb25mdGVzdC5jOjQwOjE6IHdhcm5pbmc6IG9sZC1zdHlsZSBmdW5jdGlvbiBkZWZp bml0aW9uIFstV29sZC1zdHlsZS1kZWZpbml0aW9uXQogICA0MCB8IG1haW4gKCkKICAgICAgfCBe fn5+CmNvbmZpZ3VyZTo4MjQyOiAkPyA9IDAKY29uZmlndXJlOjgyNTM6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZTo4MjIzOiBjaGVja2luZyB3aGV0aGVyIEMgY29tcGlsZXIgaGFuZGxlcyAtV29wZW5t cC1zaW1kCmNvbmZpZ3VyZTo4MjQyOiBnY2MgLUkgLi4vc3JjL250L2luYyAtbyBjb25mdGVzdC5l eGUgLWczIC1PMiAtZ2R3YXJmLTIgIC1Xb3Blbm1wLXNpbWQgICBjb25mdGVzdC5jICA+JjUKY29u ZmlndXJlOjgyNDI6ICQ/ID0gMApjb25maWd1cmU6ODI1MzogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjgyMjM6IGNoZWNraW5nIHdoZXRoZXIgQyBjb21waWxlciBoYW5kbGVzIC1XcGFja2VkCmNvbmZp Z3VyZTo4MjQyOiBnY2MgLUkgLi4vc3JjL250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAt Z2R3YXJmLTIgIC1XcGFja2VkICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo4MjQyOiAkPyA9 IDAKY29uZmlndXJlOjgyNTM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4MjIzOiBjaGVja2luZyB3 aGV0aGVyIEMgY29tcGlsZXIgaGFuZGxlcyAtV3BvaW50ZXItYXJpdGgKY29uZmlndXJlOjgyNDI6 IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAg LVdwb2ludGVyLWFyaXRoICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo4MjQyOiAkPyA9IDAK Y29uZmlndXJlOjgyNTM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4MjIzOiBjaGVja2luZyB3aGV0 aGVyIEMgY29tcGlsZXIgaGFuZGxlcyAtV3N0cmljdC1wcm90b3R5cGVzCmNvbmZpZ3VyZTo4MjQy OiBnY2MgLUkgLi4vc3JjL250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIg IC1Xc3RyaWN0LXByb3RvdHlwZXMgICBjb25mdGVzdC5jICA+JjUKY29uZnRlc3QuYzo0MDoxOiB3 YXJuaW5nOiBmdW5jdGlvbiBkZWNsYXJhdGlvbiBpc24ndCBhIHByb3RvdHlwZSBbLVdzdHJpY3Qt cHJvdG90eXBlc10KICAgNDAgfCBtYWluICgpCiAgICAgIHwgXn5+fgpjb25maWd1cmU6ODI0Mjog JD8gPSAwCmNvbmZpZ3VyZTo4MjUzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODIyMzogY2hlY2tp bmcgd2hldGhlciBDIGNvbXBpbGVyIGhhbmRsZXMgLVdzdWdnZXN0LWF0dHJpYnV0ZT1ub3JldHVy bgpjb25maWd1cmU6ODI0MjogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1n MyAtTzIgLWdkd2FyZi0yICAtV3N1Z2dlc3QtYXR0cmlidXRlPW5vcmV0dXJuICAgY29uZnRlc3Qu YyAgPiY1CmNvbmZpZ3VyZTo4MjQyOiAkPyA9IDAKY29uZmlndXJlOjgyNTM6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZTo4MjIzOiBjaGVja2luZyB3aGV0aGVyIEMgY29tcGlsZXIgaGFuZGxlcyAtV3N1 Z2dlc3QtZmluYWwtbWV0aG9kcwpjb25maWd1cmU6ODI0MjogZ2NjIC1JIC4uL3NyYy9udC9pbmMg LW8gY29uZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0yICAtV3N1Z2dlc3QtZmluYWwtbWV0aG9k cyAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6ODI0MjogJD8gPSAwCmNvbmZpZ3VyZTo4MjUz OiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODIyMzogY2hlY2tpbmcgd2hldGhlciBDIGNvbXBpbGVy IGhhbmRsZXMgLVdzdWdnZXN0LWZpbmFsLXR5cGVzCmNvbmZpZ3VyZTo4MjQyOiBnY2MgLUkgLi4v c3JjL250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgIC1Xc3VnZ2VzdC1m aW5hbC10eXBlcyAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6ODI0MjogJD8gPSAwCmNvbmZp Z3VyZTo4MjUzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODIyMzogY2hlY2tpbmcgd2hldGhlciBD IGNvbXBpbGVyIGhhbmRsZXMgLVd0cmFtcG9saW5lcwpjb25maWd1cmU6ODI0MjogZ2NjIC1JIC4u L3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0yICAtV3RyYW1wb2xp bmVzICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo4MjQyOiAkPyA9IDAKY29uZmlndXJlOjgy NTM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4MjIzOiBjaGVja2luZyB3aGV0aGVyIEMgY29tcGls ZXIgaGFuZGxlcyAtV3VuaW5pdGlhbGl6ZWQKY29uZmlndXJlOjgyNDI6IGdjYyAtSSAuLi9zcmMv bnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAgLVd1bmluaXRpYWxpemVk ICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo4MjQyOiAkPyA9IDAKY29uZmlndXJlOjgyNTM6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4MjIzOiBjaGVja2luZyB3aGV0aGVyIEMgY29tcGlsZXIg aGFuZGxlcyAtV3Vua25vd24tcHJhZ21hcwpjb25maWd1cmU6ODI0MjogZ2NjIC1JIC4uL3NyYy9u dC9pbmMgLW8gY29uZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0yICAtV3Vua25vd24tcHJhZ21h cyAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6ODI0MjogJD8gPSAwCmNvbmZpZ3VyZTo4MjUz OiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODIyMzogY2hlY2tpbmcgd2hldGhlciBDIGNvbXBpbGVy IGhhbmRsZXMgLVd1bnVzZWQtbWFjcm9zCmNvbmZpZ3VyZTo4MjQyOiBnY2MgLUkgLi4vc3JjL250 L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgIC1XdW51c2VkLW1hY3JvcyAg IGNvbmZ0ZXN0LmMgID4mNQpjb25mdGVzdC5jOjg6IHdhcm5pbmc6IG1hY3JvICJNQUlMX1VTRV9Q T1AiIGlzIG5vdCB1c2VkIFstV3VudXNlZC1tYWNyb3NdCiAgICA4IHwgI2RlZmluZSBNQUlMX1VT RV9QT1AgMQogICAgICB8IApjb25mdGVzdC5jOjE0OiB3YXJuaW5nOiBtYWNybyAiSEFWRV9TVFJJ TkdfSCIgaXMgbm90IHVzZWQgWy1XdW51c2VkLW1hY3Jvc10KICAgMTQgfCAjZGVmaW5lIEhBVkVf U1RSSU5HX0ggMQogICAgICB8IApjb25mdGVzdC5jOjIwOiB3YXJuaW5nOiBtYWNybyAiX19FWFRF TlNJT05TX18iIGlzIG5vdCB1c2VkIFstV3VudXNlZC1tYWNyb3NdCiAgIDIwIHwgI2RlZmluZSBf X0VYVEVOU0lPTlNfXyAxCiAgICAgIHwgCmNvbmZ0ZXN0LmM6MzE6IHdhcm5pbmc6IG1hY3JvICJf X1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18iIGlzIG5vdCB1c2VkIFstV3VudXNlZC1t YWNyb3NdCiAgIDMxIHwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18g MQogICAgICB8IApjb25mdGVzdC5jOjIyOiB3YXJuaW5nOiBtYWNybyAiX0RBUldJTl9DX1NPVVJD RSIgaXMgbm90IHVzZWQgWy1XdW51c2VkLW1hY3Jvc10KICAgMjIgfCAjZGVmaW5lIF9EQVJXSU5f Q19TT1VSQ0UgMQogICAgICB8IApjb25mdGVzdC5jOjE3OiB3YXJuaW5nOiBtYWNybyAiSEFWRV9J TlRUWVBFU19IIiBpcyBub3QgdXNlZCBbLVd1bnVzZWQtbWFjcm9zXQogICAxNyB8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKICAgICAgfCAKY29uZnRlc3QuYzozNDogd2FybmluZzogbWFjcm8g Il9UQU5ERU1fU09VUkNFIiBpcyBub3QgdXNlZCBbLVd1bnVzZWQtbWFjcm9zXQogICAzNCB8ICNk ZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQogICAgICB8IApjb25mdGVzdC5jOjI5OiB3YXJuaW5nOiBt YWNybyAiX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyIgaXMgbm90IHVzZWQgWy1XdW51 c2VkLW1hY3Jvc10KICAgMjkgfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhU X18gMQogICAgICB8IApjb25mdGVzdC5jOjU6IHdhcm5pbmc6IG1hY3JvICJQQUNLQUdFX1NUUklO RyIgaXMgbm90IHVzZWQgWy1XdW51c2VkLW1hY3Jvc10KICAgIDUgfCAjZGVmaW5lIFBBQ0tBR0Vf U1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIKICAgICAgfCAKY29uZnRlc3QuYzoxODogd2Fybmlu ZzogbWFjcm8gIkhBVkVfU1RESU5UX0giIGlzIG5vdCB1c2VkIFstV3VudXNlZC1tYWNyb3NdCiAg IDE4IHwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKICAgICAgfCAKY29uZnRlc3QuYzozOiB3YXJu aW5nOiBtYWNybyAiUEFDS0FHRV9UQVJOQU1FIiBpcyBub3QgdXNlZCBbLVd1bnVzZWQtbWFjcm9z XQogICAgMyB8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKICAgICAgfCAKY29uZnRl c3QuYzoyNTogd2FybmluZzogbWFjcm8gIl9PUEVOQlNEX1NPVVJDRSIgaXMgbm90IHVzZWQgWy1X dW51c2VkLW1hY3Jvc10KICAgMjUgfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCiAgICAgIHwg CmNvbmZ0ZXN0LmM6MTM6IHdhcm5pbmc6IG1hY3JvICJIQVZFX1NURExJQl9IIiBpcyBub3QgdXNl ZCBbLVd1bnVzZWQtbWFjcm9zXQogICAxMyB8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCiAgICAg IHwgCmNvbmZ0ZXN0LmM6MTE6IHdhcm5pbmc6IG1hY3JvICJIQVZFX1NZU19UWVBFU19IIiBpcyBu b3QgdXNlZCBbLVd1bnVzZWQtbWFjcm9zXQogICAxMSB8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf SCAxCiAgICAgIHwgCmNvbmZ0ZXN0LmM6Njogd2FybmluZzogbWFjcm8gIlBBQ0tBR0VfQlVHUkVQ T1JUIiBpcyBub3QgdXNlZCBbLVd1bnVzZWQtbWFjcm9zXQogICAgNiB8ICNkZWZpbmUgUEFDS0FH RV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKICAgICAgfCAKY29uZnRlc3QuYzox OTogd2FybmluZzogbWFjcm8gIkhBVkVfVU5JU1REX0giIGlzIG5vdCB1c2VkIFstV3VudXNlZC1t YWNyb3NdCiAgIDE5IHwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKICAgICAgfCAKY29uZnRlc3Qu YzoyNjogd2FybmluZzogbWFjcm8gIl9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyIgaXMgbm90IHVz ZWQgWy1XdW51c2VkLW1hY3Jvc10KICAgMjYgfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFO VElDUyAxCiAgICAgIHwgCmNvbmZ0ZXN0LmM6MzI6IHdhcm5pbmc6IG1hY3JvICJfX1NURENfV0FO VF9MSUJfRVhUMl9fIiBpcyBub3QgdXNlZCBbLVd1bnVzZWQtbWFjcm9zXQogICAzMiB8ICNkZWZp bmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCiAgICAgIHwgCmNvbmZ0ZXN0LmM6Mjc6IHdhcm5p bmc6IG1hY3JvICJfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyIgaXMgbm90IHVz ZWQgWy1XdW51c2VkLW1hY3Jvc10KICAgMjcgfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1 OV9BVFRSSUJTX0VYVF9fIDEKICAgICAgfCAKY29uZnRlc3QuYzoxNjogd2FybmluZzogbWFjcm8g IkhBVkVfU1RSSU5HU19IIiBpcyBub3QgdXNlZCBbLVd1bnVzZWQtbWFjcm9zXQogICAxNiB8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQogICAgICB8IApjb25mdGVzdC5jOjMwOiB3YXJuaW5nOiBt YWNybyAiX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIiBpcyBub3QgdXNlZCBbLVd1 bnVzZWQtbWFjcm9zXQogICAzMCB8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNT X0VYVF9fIDEKICAgICAgfCAKY29uZnRlc3QuYzoxMjogd2FybmluZzogbWFjcm8gIkhBVkVfU1lT X1NUQVRfSCIgaXMgbm90IHVzZWQgWy1XdW51c2VkLW1hY3Jvc10KICAgMTIgfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCiAgICAgIHwgCmNvbmZ0ZXN0LmM6MTA6IHdhcm5pbmc6IG1hY3JvICJT VERDX0hFQURFUlMiIGlzIG5vdCB1c2VkIFstV3VudXNlZC1tYWNyb3NdCiAgIDEwIHwgI2RlZmlu ZSBTVERDX0hFQURFUlMgMQogICAgICB8IApjb25mdGVzdC5jOjE1OiB3YXJuaW5nOiBtYWNybyAi SEFWRV9NRU1PUllfSCIgaXMgbm90IHVzZWQgWy1XdW51c2VkLW1hY3Jvc10KICAgMTUgfCAjZGVm aW5lIEhBVkVfTUVNT1JZX0ggMQogICAgICB8IApjb25mdGVzdC5jOjQ6IHdhcm5pbmc6IG1hY3Jv ICJQQUNLQUdFX1ZFUlNJT04iIGlzIG5vdCB1c2VkIFstV3VudXNlZC1tYWNyb3NdCiAgICA0IHwg I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCiAgICAgIHwgCmNvbmZ0ZXN0LmM6Mjog d2FybmluZzogbWFjcm8gIlBBQ0tBR0VfTkFNRSIgaXMgbm90IHVzZWQgWy1XdW51c2VkLW1hY3Jv c10KICAgIDIgfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgogICAgICB8IApjb25m dGVzdC5jOjMzOiB3YXJuaW5nOiBtYWNybyAiX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18i IGlzIG5vdCB1c2VkIFstV3VudXNlZC1tYWNyb3NdCiAgIDMzIHwgI2RlZmluZSBfX1NURENfV0FO VF9NQVRIX1NQRUNfRlVOQ1NfXyAxCiAgICAgIHwgCmNvbmZ0ZXN0LmM6Mjg6IHdhcm5pbmc6IG1h Y3JvICJfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIiBpcyBub3QgdXNlZCBbLVd1bnVz ZWQtbWFjcm9zXQogICAyOCB8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRf XyAxCiAgICAgIHwgCmNvbmZ0ZXN0LmM6MzU6IHdhcm5pbmc6IG1hY3JvICJfSFBVWF9BTFRfWE9Q RU5fU09DS0VUX0FQSSIgaXMgbm90IHVzZWQgWy1XdW51c2VkLW1hY3Jvc10KICAgMzUgfCAjZGVm aW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKICAgICAgfCAKY29uZnRlc3QuYzo5OiB3 YXJuaW5nOiBtYWNybyAiSEFWRV9QRFVNUEVSIiBpcyBub3QgdXNlZCBbLVd1bnVzZWQtbWFjcm9z XQogICAgOSB8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKICAgICAgfCAKY29uZnRlc3QuYzozNjog d2FybmluZzogbWFjcm8gIl9GSUxFX09GRlNFVF9CSVRTIiBpcyBub3QgdXNlZCBbLVd1bnVzZWQt bWFjcm9zXQogICAzNiB8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKICAgICAgfCAKY29u ZnRlc3QuYzoyNDogd2FybmluZzogbWFjcm8gIl9ORVRCU0RfU09VUkNFIiBpcyBub3QgdXNlZCBb LVd1bnVzZWQtbWFjcm9zXQogICAyNCB8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQogICAgICB8 IApjb25mdGVzdC5jOjc6IHdhcm5pbmc6IG1hY3JvICJQQUNLQUdFX1VSTCIgaXMgbm90IHVzZWQg Wy1XdW51c2VkLW1hY3Jvc10KICAgIDcgfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3 dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKICAgICAgfCAKY29uZnRlc3QuYzoyMTogd2Fybmlu ZzogbWFjcm8gIl9BTExfU09VUkNFIiBpcyBub3QgdXNlZCBbLVd1bnVzZWQtbWFjcm9zXQogICAy MSB8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQogICAgICB8IApjb25mdGVzdC5jOjIzOiB3YXJuaW5n OiBtYWNybyAiX0dOVV9TT1VSQ0UiIGlzIG5vdCB1c2VkIFstV3VudXNlZC1tYWNyb3NdCiAgIDIz IHwgI2RlZmluZSBfR05VX1NPVVJDRSAxCiAgICAgIHwgCmNvbmZpZ3VyZTo4MjQyOiAkPyA9IDAK Y29uZmlndXJlOjgyNTM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4MjIzOiBjaGVja2luZyB3aGV0 aGVyIEMgY29tcGlsZXIgaGFuZGxlcyAtV3ZhcmlhZGljLW1hY3Jvcwpjb25maWd1cmU6ODI0Mjog Z2NjIC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0yICAt V3ZhcmlhZGljLW1hY3JvcyAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6ODI0MjogJD8gPSAw CmNvbmZpZ3VyZTo4MjUzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODIyMzogY2hlY2tpbmcgd2hl dGhlciBDIGNvbXBpbGVyIGhhbmRsZXMgLVd2ZWN0b3Itb3BlcmF0aW9uLXBlcmZvcm1hbmNlCmNv bmZpZ3VyZTo4MjQyOiBnY2MgLUkgLi4vc3JjL250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1P MiAtZ2R3YXJmLTIgIC1XdmVjdG9yLW9wZXJhdGlvbi1wZXJmb3JtYW5jZSAgIGNvbmZ0ZXN0LmMg ID4mNQpjb25maWd1cmU6ODI0MjogJD8gPSAwCmNvbmZpZ3VyZTo4MjUzOiByZXN1bHQ6IHllcwpj b25maWd1cmU6ODIyMzogY2hlY2tpbmcgd2hldGhlciBDIGNvbXBpbGVyIGhhbmRsZXMgLVd3cml0 ZS1zdHJpbmdzCmNvbmZpZ3VyZTo4MjQyOiBnY2MgLUkgLi4vc3JjL250L2luYyAtbyBjb25mdGVz dC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgIC1Xd3JpdGUtc3RyaW5ncyAgIGNvbmZ0ZXN0LmMgID4m NQpjb25maWd1cmU6ODI0MjogJD8gPSAwCmNvbmZpZ3VyZTo4MjUzOiByZXN1bHQ6IHllcwpjb25m aWd1cmU6ODIyMzogY2hlY2tpbmcgd2hldGhlciBDIGNvbXBpbGVyIGhhbmRsZXMgLVdhcnJheS1i b3VuZHM9Mgpjb25maWd1cmU6ODI0MjogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3Qu ZXhlIC1nMyAtTzIgLWdkd2FyZi0yICAtV2FycmF5LWJvdW5kcz0yICAgY29uZnRlc3QuYyAgPiY1 CmNvbmZpZ3VyZTo4MjQyOiAkPyA9IDAKY29uZmlndXJlOjgyNTM6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZTo4MjIzOiBjaGVja2luZyB3aGV0aGVyIEMgY29tcGlsZXIgaGFuZGxlcyAtV2F0dHJpYnV0 ZS1hbGlhcz0yCmNvbmZpZ3VyZTo4MjQyOiBnY2MgLUkgLi4vc3JjL250L2luYyAtbyBjb25mdGVz dC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgIC1XYXR0cmlidXRlLWFsaWFzPTIgICBjb25mdGVzdC5j ICA+JjUKY29uZmlndXJlOjgyNDI6ICQ/ID0gMApjb25maWd1cmU6ODI1MzogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjgyMjM6IGNoZWNraW5nIHdoZXRoZXIgQyBjb21waWxlciBoYW5kbGVzIC1XZm9y bWF0PTIKY29uZmlndXJlOjgyNDI6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4 ZSAtZzMgLU8yIC1nZHdhcmYtMiAgLVdmb3JtYXQ9MiAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1 cmU6ODI0MjogJD8gPSAwCmNvbmZpZ3VyZTo4MjUzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODIy MzogY2hlY2tpbmcgd2hldGhlciBDIGNvbXBpbGVyIGhhbmRsZXMgLVdmb3JtYXQtdHJ1bmNhdGlv bj0yCmNvbmZpZ3VyZTo4MjQyOiBnY2MgLUkgLi4vc3JjL250L2luYyAtbyBjb25mdGVzdC5leGUg LWczIC1PMiAtZ2R3YXJmLTIgIC1XZm9ybWF0LXRydW5jYXRpb249MiAgIGNvbmZ0ZXN0LmMgID4m NQpjb25maWd1cmU6ODI0MjogJD8gPSAwCmNvbmZpZ3VyZTo4MjUzOiByZXN1bHQ6IHllcwpjb25m aWd1cmU6ODIyMzogY2hlY2tpbmcgd2hldGhlciBDIGNvbXBpbGVyIGhhbmRsZXMgLVdpbXBsaWNp dC1mYWxsdGhyb3VnaD01CmNvbmZpZ3VyZTo4MjQyOiBnY2MgLUkgLi4vc3JjL250L2luYyAtbyBj b25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgIC1XaW1wbGljaXQtZmFsbHRocm91Z2g9NSAg IGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6ODI0MjogJD8gPSAwCmNvbmZpZ3VyZTo4MjUzOiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6ODIyMzogY2hlY2tpbmcgd2hldGhlciBDIGNvbXBpbGVyIGhh bmRsZXMgLVdzaGlmdC1vdmVyZmxvdz0yCmNvbmZpZ3VyZTo4MjQyOiBnY2MgLUkgLi4vc3JjL250 L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgIC1Xc2hpZnQtb3ZlcmZsb3c9 MiAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6ODI0MjogJD8gPSAwCmNvbmZpZ3VyZTo4MjUz OiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODIyMzogY2hlY2tpbmcgd2hldGhlciBDIGNvbXBpbGVy IGhhbmRsZXMgLVd2bGEtbGFyZ2VyLXRoYW49NDAzMQpjb25maWd1cmU6ODI0MjogZ2NjIC1JIC4u L3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0yICAtV3ZsYS1sYXJn ZXItdGhhbj00MDMxICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo4MjQyOiAkPyA9IDAKY29u ZmlndXJlOjgyNTM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4MjYzOiBjaGVja2luZyB3aGV0aGVy IEMgY29tcGlsZXIgaGFuZGxlcyAtV3JlZHVuZGFudC1kZWNscwpjb25maWd1cmU6ODI5MjogcmVz dWx0OiBubwpjb25maWd1cmU6ODMwMTogY2hlY2tpbmcgd2hldGhlciBDIGNvbXBpbGVyIGhhbmRs ZXMgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycwpjb25maWd1cmU6ODMyMDogZ2NjIC1J IC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0yICAtV21pc3Np bmctZmllbGQtaW5pdGlhbGl6ZXJzICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo4MzIwOiAk PyA9IDAKY29uZmlndXJlOjgzMzA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4MzM5OiBjaGVja2lu ZyB3aGV0aGVyIEMgY29tcGlsZXIgaGFuZGxlcyAtV25vLW92ZXJyaWRlLWluaXQKY29uZmlndXJl OjgzNTg6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1nZHdh cmYtMiAgLVdvdmVycmlkZS1pbml0ICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo4MzU4OiAk PyA9IDAKY29uZmlndXJlOjgzNjg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4Mzc3OiBjaGVja2lu ZyB3aGV0aGVyIEMgY29tcGlsZXIgaGFuZGxlcyAtV25vLXNpZ24tY29tcGFyZQpjb25maWd1cmU6 ODM5NjogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2Fy Zi0yICAtV3NpZ24tY29tcGFyZSAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6ODM5NjogJD8g PSAwCmNvbmZpZ3VyZTo4NDA2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODQxNTogY2hlY2tpbmcg d2hldGhlciBDIGNvbXBpbGVyIGhhbmRsZXMgLVduby10eXBlLWxpbWl0cwpjb25maWd1cmU6ODQz NDogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0y ICAtV3R5cGUtbGltaXRzICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo4NDM0OiAkPyA9IDAK Y29uZmlndXJlOjg0NDQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4NDUzOiBjaGVja2luZyB3aGV0 aGVyIEMgY29tcGlsZXIgaGFuZGxlcyAtV25vLXVudXNlZC1wYXJhbWV0ZXIKY29uZmlndXJlOjg0 NzI6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYt MiAgLVd1bnVzZWQtcGFyYW1ldGVyICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo4NDcyOiAk PyA9IDAKY29uZmlndXJlOjg0ODI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4NDkxOiBjaGVja2lu ZyB3aGV0aGVyIEMgY29tcGlsZXIgaGFuZGxlcyAtV25vLWZvcm1hdC1ub25saXRlcmFsCmNvbmZp Z3VyZTo4NTEwOiBnY2MgLUkgLi4vc3JjL250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAt Z2R3YXJmLTIgIC1XZm9ybWF0LW5vbmxpdGVyYWwgICBjb25mdGVzdC5jICA+JjUKY2MxLmV4ZTog d2FybmluZzogJy1XZm9ybWF0LW5vbmxpdGVyYWwnIGlnbm9yZWQgd2l0aG91dCAnLVdmb3JtYXQn IFstV2Zvcm1hdC1ub25saXRlcmFsXQpjb25maWd1cmU6ODUxMDogJD8gPSAwCmNvbmZpZ3VyZTo4 NTIwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODYxMjogY2hlY2tpbmcgd2hldGhlciBDIGNvbXBp bGVyIGhhbmRsZXMgLVduby1wb2ludGVyLXNpZ24KY29uZmlndXJlOjg2MzE6IGdjYyAtSSAuLi9z cmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAgLVdwb2ludGVyLXNp Z24gICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjg2MzE6ICQ/ID0gMApjb25maWd1cmU6ODY0 MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjg5NDQ6IGNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRp YmxlIGluc3RhbGwKY29uZmlndXJlOjkwMTI6IHJlc3VsdDogL3Vzci9iaW4vaW5zdGFsbCAtYwpj b25maWd1cmU6OTAyNjogY2hlY2tpbmcgY29tbWFuZCB0byBzeW1saW5rIGZpbGVzIGluIHRoZSBz YW1lIGRpcmVjdG9yeQpjb25maWd1cmU6OTA0NzogcmVzdWx0OiAvYmluL2xuCmNvbmZpZ3VyZTo5 MDYxOiBjaGVja2luZyBmb3IgaW5zdGFsbC1pbmZvCmNvbmZpZ3VyZTo5MDc5OiBmb3VuZCAvdXNy L2Jpbi9pbnN0YWxsLWluZm8KY29uZmlndXJlOjkwOTI6IHJlc3VsdDogL3Vzci9iaW4vaW5zdGFs bC1pbmZvCmNvbmZpZ3VyZTo5MTAyOiBjaGVja2luZyBmb3IgZ3ppcApjb25maWd1cmU6OTEyMDog Zm91bmQgL3Vzci9iaW4vZ3ppcApjb25maWd1cmU6OTEzMjogcmVzdWx0OiAvdXNyL2Jpbi9nemlw CmNvbmZpZ3VyZTo5MTQ4OiBjaGVja2luZyBmb3IgJ2ZpbmQnIGFyZ3MgdG8gZGVsZXRlIGEgZmls ZQpjb25maWd1cmU6OTE1OTogcmVzdWx0OiAtZGVsZXRlCmNvbmZpZ3VyZTo5Mjc5OiBjaGVja2lu ZyBmb3IgYnJldwpjb25maWd1cmU6OTMwOTogcmVzdWx0OiBubwpjb25maWd1cmU6OTQxNzogY2hl Y2tpbmcgZm9yIC16bm9jb21icmVsb2MKY29uZmlndXJlOjk0NDg6IHJlc3VsdDogbm90IG5lZWRl ZApjb25maWd1cmU6OTQ1NzogY2hlY2tpbmcgd2hldGhlciBhZGRyZXNzZXMgYXJlIHNhbml0aXpl ZApjb25maWd1cmU6OTQ4MDogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJm LTIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6NDQ6MTE6IGVycm9yOiBleHBlY3RlZCAnPScs ICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlIHN0cmluZyBjb25zdGFu dAogICA0NCB8ICAgICBlcnJvciAiQWRkcmVzc2VzIGFyZSBub3Qgc2FuaXRpemVkLiI7CiAgICAg IHwgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpjb25maWd1cmU6OTQ4 MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgg Ki8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9U QVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVm aW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAi aHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9Q T1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09V UkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0Ug MQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEK fCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FO VF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1 NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18g MQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5l IF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FO VF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEK fCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NL RVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElO VCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpZm5kZWYgX19oYXNfZmVhdHVyZQp8IAkg ICNkZWZpbmUgX19oYXNfZmVhdHVyZShmKSAwCnwgCSAgI2VuZGlmCnwgCSAgI2lmIGRlZmluZWQg X19TQU5JVElaRV9BRERSRVNTX18gfHwgX19oYXNfZmVhdHVyZSAoYWRkcmVzc19zYW5pdGl6ZXIp CnwgCSAgI2Vsc2UKfCAJICAgZXJyb3IgIkFkZHJlc3NlcyBhcmUgbm90IHNhbml0aXplZC4iOwp8 IAkgICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgCnwgICA7CnwgICByZXR1cm4gMDsK fCB9CmNvbmZpZ3VyZTo5NDg3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo5NjUxOiBjaGVja2luZyBm b3IgbGlicmFyeSBjb250YWluaW5nIHNxcnQKY29uZmlndXJlOjk2ODI6IGdjYyAtSSAuLi9zcmMv bnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAg ICBjb25mdGVzdC5jICA+JjUgCmNvbmZ0ZXN0LmM6NDY6Njogd2FybmluZzogY29uZmxpY3Rpbmcg dHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uICdzcXJ0JzsgZXhwZWN0ZWQgJ2RvdWJsZShkb3Vi bGUpJyBbLVdidWlsdGluLWRlY2xhcmF0aW9uLW1pc21hdGNoXQogICA0NiB8IGNoYXIgc3FydCAo KTsKICAgICAgfCAgICAgIF5+fn4KY29uZnRlc3QuYzoxOjE6IG5vdGU6ICdzcXJ0JyBpcyBkZWNs YXJlZCBpbiBoZWFkZXIgJzxtYXRoLmg+JwogICAgMSB8IC8qIGNvbmZkZWZzLmggKi8KY29uZmln dXJlOjk2ODI6ICQ/ID0gMApjb25maWd1cmU6OTY5OTogcmVzdWx0OiBub25lIHJlcXVpcmVkCmNv bmZpZ3VyZTo5ODExOiBjaGVja2luZyBmb3IgcGtnLWNvbmZpZwpjb25maWd1cmU6OTgyOTogZm91 bmQgL21pbmd3NjQvYmluL3BrZy1jb25maWcKY29uZmlndXJlOjk4NDE6IHJlc3VsdDogL21pbmd3 NjQvYmluL3BrZy1jb25maWcKY29uZmlndXJlOjk4NjY6IGNoZWNraW5nIHBrZy1jb25maWcgaXMg YXQgbGVhc3QgdmVyc2lvbiAwLjkuMApjb25maWd1cmU6OTg2OTogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjk4ODY6IGNoZWNraW5nIGZvciBtYWNoaW5lL3NvdW5kY2FyZC5oCmNvbmZpZ3VyZTo5ODg2 OiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJp YyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6NDc6MTA6IGZhdGFsIGVycm9yOiBtYWNoaW5l L3NvdW5kY2FyZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAgIDQ3IHwgI2luY2x1ZGUg PG1hY2hpbmUvc291bmRjYXJkLmg+CiAgICAgIHwgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ fn5+CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo5ODg2OiAkPyA9IDEKY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFD S0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1n bnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUu b3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBI QVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUg X0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVU QlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lY X1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRS SUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8 ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NU RENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVD XzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8 ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRF TV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZp bmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZ U1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAgICAg I2lmZGVmIF9fTUlOR1czMl9fCnwgICAgICNkZWZpbmUgV0lOMzJfTEVBTl9BTkRfTUVBTgp8ICAg ICAjaW5jbHVkZSA8d2luZG93cy5oPgp8ICAgICAjZW5kaWYKfCAKfCAKfCAjaW5jbHVkZSA8bWFj aGluZS9zb3VuZGNhcmQuaD4KY29uZmlndXJlOjk4ODY6IHJlc3VsdDogbm8KY29uZmlndXJlOjk4 ODY6IGNoZWNraW5nIGZvciBzeXMvc291bmRjYXJkLmgKY29uZmlndXJlOjk4ODY6IGdjYyAtSSAu Li9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgY29uZnRl c3QuYyA+JjUKY29uZnRlc3QuYzo0NzoxMDogZmF0YWwgZXJyb3I6IHN5cy9zb3VuZGNhcmQuaDog Tm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogICA0NyB8ICNpbmNsdWRlIDxzeXMvc291bmRjYXJk Lmg+CiAgICAgIHwgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KY29tcGlsYXRpb24gdGVybWlu YXRlZC4KY29uZmlndXJlOjk4ODY6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIK fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJ T04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAi CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNk ZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8 ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmlu ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAx CnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAj ZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5l IF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8 ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUg X19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9J RUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5D U19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8 ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9N QVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBf SFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2 NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQi CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8ICAgICAjaWZkZWYgX19NSU5HVzMyX18KfCAg ICAgI2RlZmluZSBXSU4zMl9MRUFOX0FORF9NRUFOCnwgICAgICNpbmNsdWRlIDx3aW5kb3dzLmg+ CnwgICAgICNlbmRpZgp8IAp8IAp8ICNpbmNsdWRlIDxzeXMvc291bmRjYXJkLmg+CmNvbmZpZ3Vy ZTo5ODg2OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo5ODg2OiBjaGVja2luZyBmb3Igc291bmRjYXJk LmgKY29uZmlndXJlOjk4ODY6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2Fy Zi0yIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo0NzoxMDogZmF0 YWwgZXJyb3I6IHNvdW5kY2FyZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAgIDQ3IHwg I2luY2x1ZGUgPHNvdW5kY2FyZC5oPgogICAgICB8ICAgICAgICAgIF5+fn5+fn5+fn5+fn4KY29t cGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjk4ODY6ICQ/ID0gMQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05V IEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFj c0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29m dHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERV TVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBf X0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lO X0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09V UkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVB RF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhU X18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5U X0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlf VFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJD RSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklM RV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZ UEUgIndpbmRvd3MtbnQiCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8ICAgICAjaWZkZWYg X19NSU5HVzMyX18KfCAgICAgI2RlZmluZSBXSU4zMl9MRUFOX0FORF9NRUFOCnwgICAgICNpbmNs dWRlIDx3aW5kb3dzLmg+CnwgICAgICNlbmRpZgp8IAp8IAp8ICNpbmNsdWRlIDxzb3VuZGNhcmQu aD4KY29uZmlndXJlOjk4ODY6IHJlc3VsdDogbm8KY29uZmlndXJlOjk4ODY6IGNoZWNraW5nIGZv ciBtbXN5c3RlbS5oCmNvbmZpZ3VyZTo5ODg2OiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMg LU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5 ODg2OiAkPyA9IDAKY29uZmlndXJlOjk4ODY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo5OTA3OiBj aGVja2luZyBmb3IgX29zc19pb2N0bCBpbiAtbG9zc2F1ZGlvCmNvbmZpZ3VyZTo5OTMyOiBnY2Mg LUkgLi4vc3JjL250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5l PWdlbmVyaWMgICAgY29uZnRlc3QuYyAtbG9zc2F1ZGlvICAgPiY1IApDOi9tc3lzNjQvbWluZ3c2 NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvMTAuMi4wLy4uLy4uLy4uLy4uL3g4 Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBjYW5ub3QgZmluZCAtbG9zc2F1ZGlvCmNvbGxl Y3QyLmV4ZTogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjk5MzI6 ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICov CnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFS TkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmlu ZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JV R1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0 dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9Q IDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJD RSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEK fCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwg I2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRf SUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5 X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEK fCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBf X1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRf TElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwg I2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VU X0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQg MQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lT VEVNX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBPdmVycmlkZSBhbnkgR0ND IGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNh dXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGlu IGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8 ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIF9vc3NfaW9j dGwgKCk7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gX29zc19pb2N0bCAoKTsKfCAgIDsK fCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjk5NDE6IHJlc3VsdDogbm8KY29uZmlndXJlOjk5 NTk6IGNoZWNraW5nIGZvciBhbHNhID49IDEuMC4wCmNvbmZpZ3VyZTo5OTY2OiAkUEtHX0NPTkZJ RyAtLWV4aXN0cyAtLXByaW50LWVycm9ycyAiJEFMU0FfTU9EVUxFUyIKUGFja2FnZSBhbHNhIHdh cyBub3QgZm91bmQgaW4gdGhlIHBrZy1jb25maWcgc2VhcmNoIHBhdGguClBlcmhhcHMgeW91IHNo b3VsZCBhZGQgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIGBhbHNhLnBjJwp0byB0aGUgUEtHX0NP TkZJR19QQVRIIGVudmlyb25tZW50IHZhcmlhYmxlClBhY2thZ2UgJ2Fsc2EnLCByZXF1aXJlZCBi eSAndmlydHVhbDp3b3JsZCcsIG5vdCBmb3VuZApjb25maWd1cmU6OTk2OTogJD8gPSAxCmNvbmZp Z3VyZTo5OTgzOiAkUEtHX0NPTkZJRyAtLWV4aXN0cyAtLXByaW50LWVycm9ycyAiJEFMU0FfTU9E VUxFUyIKUGFja2FnZSBhbHNhIHdhcyBub3QgZm91bmQgaW4gdGhlIHBrZy1jb25maWcgc2VhcmNo IHBhdGguClBlcmhhcHMgeW91IHNob3VsZCBhZGQgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIGBh bHNhLnBjJwp0byB0aGUgUEtHX0NPTkZJR19QQVRIIGVudmlyb25tZW50IHZhcmlhYmxlClBhY2th Z2UgJ2Fsc2EnLCByZXF1aXJlZCBieSAndmlydHVhbDp3b3JsZCcsIG5vdCBmb3VuZApjb25maWd1 cmU6OTk4NjogJD8gPSAxCmNvbmZpZ3VyZToxMDAwMDogcmVzdWx0OiBubwpQYWNrYWdlICdhbHNh JywgcmVxdWlyZWQgYnkgJ3ZpcnR1YWw6d29ybGQnLCBub3QgZm91bmQKY29uZmlndXJlOjEwMDU5 OiBjaGVja2luZyBmb3IgbGludXgvZnMuaApjb25maWd1cmU6MTAwNTk6IGdjYyAtSSAuLi9zcmMv bnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+ JjUKY29uZnRlc3QuYzo3NjoxMDogZmF0YWwgZXJyb3I6IGxpbnV4L2ZzLmg6IE5vIHN1Y2ggZmls ZSBvciBkaXJlY3RvcnkKICAgNzYgfCAjaW5jbHVkZSA8bGludXgvZnMuaD4KICAgICAgfCAgICAg ICAgICBefn5+fn5+fn5+fn4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjEwMDU5 OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAq Lwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RB Uk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZp bmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9C VUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJo dHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BP UCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmlu ZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhB VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VS Q0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAx CnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8 ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5U X0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1 OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAx CnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUg X19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5U X0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8 ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tF VF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5U IDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZ U1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVk ZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5j bHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNs dWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBI QVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVm aW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMg aW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBp bmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMg aW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMg aW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGlu Y2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IAp8ICNpbmNsdWRlIDxsaW51eC9mcy5oPgpjb25m aWd1cmU6MTAwNTk6IHJlc3VsdDogbm8KY29uZmlndXJlOjEwMDU5OiBjaGVja2luZyBmb3IgbWFs bG9jLmgKY29uZmlndXJlOjEwMDU5OiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1n ZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxMDA1OTog JD8gPSAwCmNvbmZpZ3VyZToxMDA1OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEwMDU5OiBjaGVj a2luZyBmb3Igc3lzL3N5c3RlbWluZm8uaApjb25maWd1cmU6MTAwNTk6IGdjYyAtSSAuLi9zcmMv bnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+ JjUKY29uZnRlc3QuYzo3NzoxMDogZmF0YWwgZXJyb3I6IHN5cy9zeXN0ZW1pbmZvLmg6IE5vIHN1 Y2ggZmlsZSBvciBkaXJlY3RvcnkKICAgNzcgfCAjaW5jbHVkZSA8c3lzL3N5c3RlbWluZm8uaD4K ICAgICAgfCAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4KY29tcGlsYXRpb24gdGVybWluYXRl ZC4KY29uZmlndXJlOjEwMDU5OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwg I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O ICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8 ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVm aW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAj ZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUg U1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H U19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8 ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2Rl ZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBf T1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAj ZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9f U1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVD XzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1Nf RVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAj ZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFU SF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQ VVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQK fCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8 ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZp bmUgSEFWRV9NQUxMT0NfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxz dGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMu aD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3Rh dC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5o Pgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gK fCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf U1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVN T1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJp bmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmlu Z3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0 eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRp bnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3Rk Lmg+CnwgI2VuZGlmCnwgCnwgI2luY2x1ZGUgPHN5cy9zeXN0ZW1pbmZvLmg+CmNvbmZpZ3VyZTox MDA1OTogcmVzdWx0OiBubwpjb25maWd1cmU6MTAwNTk6IGNoZWNraW5nIGZvciBzeXMvc3lzaW5m by5oCmNvbmZpZ3VyZToxMDA1OTogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3 YXJmLTIgLW10dW5lPWdlbmVyaWMgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc3OjEwOiBm YXRhbCBlcnJvcjogc3lzL3N5c2luZm8uaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogICA3 NyB8ICNpbmNsdWRlIDxzeXMvc3lzaW5mby5oPgogICAgICB8ICAgICAgICAgIF5+fn5+fn5+fn5+ fn5+fgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MTAwNTk6ICQ/ID0gMQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3Mi CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NU UklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVn LWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3Lmdu dS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5l IEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9T WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmlu ZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9O RVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9T SVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FU VFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAx CnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9f U1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9J RUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAx CnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFO REVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2Rl ZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUg U1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNk ZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAvKiBlbmQgY29u ZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVT X0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19T VEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVB REVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxz ZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5k aWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19I RUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8 ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NU UklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lO VFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf U1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VO SVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAKfCAjaW5jbHVkZSA8c3lz L3N5c2luZm8uaD4KY29uZmlndXJlOjEwMDU5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMDA1OTog Y2hlY2tpbmcgZm9yIGNvZmYuaApjb25maWd1cmU6MTAwNTk6IGdjYyAtSSAuLi9zcmMvbnQvaW5j IC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29u ZnRlc3QuYzo3NzoxMDogZmF0YWwgZXJyb3I6IGNvZmYuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVj dG9yeQogICA3NyB8ICNpbmNsdWRlIDxjb2ZmLmg+CiAgICAgIHwgICAgICAgICAgXn5+fn5+fn4K Y29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjEwMDU5OiAkPyA9IDEKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg IkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUt ZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3Jn L3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZF X1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RB UldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNE X1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BU SFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJT X0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNk ZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENf V0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYw NTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNk ZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9T T1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUg X0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RF TV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5l IEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwg IyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9I CnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMK fCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAj IGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVS UyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVu ZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdT X0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBF U19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElO VF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERf SAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgCnwgI2luY2x1ZGUgPGNvZmYuaD4K Y29uZmlndXJlOjEwMDU5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMDA1OTogY2hlY2tpbmcgZm9y IHB0eS5oCmNvbmZpZ3VyZToxMDA1OTogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAt Z2R3YXJmLTIgLW10dW5lPWdlbmVyaWMgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjc3OjEw OiBmYXRhbCBlcnJvcjogcHR5Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICAgNzcgfCAj aW5jbHVkZSA8cHR5Lmg+CiAgICAgIHwgICAgICAgICAgXn5+fn5+fgpjb21waWxhdGlvbiB0ZXJt aW5hdGVkLgpjb25maWd1cmU6MTAwNTk6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFj cyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZF UlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAu NTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8 ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3Mv Igp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNf XyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEK fCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAjZGVm aW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1Mg MQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZp bmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FO VF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9G VU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18g MQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FO VF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmlu ZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklU UyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRvd3Mt bnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwg I2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1 ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90 eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5 cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3Rk bGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERM SUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFW RV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUg PHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8 c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUg PGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUg PHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1 bmlzdGQuaD4KfCAjZW5kaWYKfCAKfCAjaW5jbHVkZSA8cHR5Lmg+CmNvbmZpZ3VyZToxMDA1OTog cmVzdWx0OiBubwpjb25maWd1cmU6MTAwNTk6IGNoZWNraW5nIGZvciBzeXMvcmVzb3VyY2UuaApj b25maWd1cmU6MTAwNTk6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0y IC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjEwMDU5OiAkPyA9IDAK Y29uZmlndXJlOjEwMDU5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTAwNTk6IGNoZWNraW5nIGZv ciBzeXMvdXRzbmFtZS5oCmNvbmZpZ3VyZToxMDA1OTogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMg LWczIC1PMiAtZ2R3YXJmLTIgLW10dW5lPWdlbmVyaWMgICBjb25mdGVzdC5jID4mNQpjb25mdGVz dC5jOjc4OjEwOiBmYXRhbCBlcnJvcjogc3lzL3V0c25hbWUuaDogTm8gc3VjaCBmaWxlIG9yIGRp cmVjdG9yeQogICA3OCB8ICNpbmNsdWRlIDxzeXMvdXRzbmFtZS5oPgogICAgICB8ICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MTAwNTk6 ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICov CnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFS TkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmlu ZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JV R1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0 dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9Q IDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJD RSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEK fCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwg I2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRf SUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5 X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEK fCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBf X1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRf TElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwg I2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VU X0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQg MQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lT VEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVk ZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5j bHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNs dWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBI QVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVm aW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMg aW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBp bmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMg aW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMg aW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGlu Y2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IAp8ICNpbmNsdWRlIDxzeXMvdXRzbmFtZS5oPgpj b25maWd1cmU6MTAwNTk6IHJlc3VsdDogbm8KY29uZmlndXJlOjEwMDU5OiBjaGVja2luZyBmb3Ig cHdkLmgKY29uZmlndXJlOjEwMDU5OiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1n ZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxMDA1OTog JD8gPSAwCmNvbmZpZ3VyZToxMDA1OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEwMDU5OiBjaGVj a2luZyBmb3IgdXRtcC5oCmNvbmZpZ3VyZToxMDA1OTogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMg LWczIC1PMiAtZ2R3YXJmLTIgLW10dW5lPWdlbmVyaWMgICBjb25mdGVzdC5jID4mNQpjb25mdGVz dC5jOjc5OjEwOiBmYXRhbCBlcnJvcjogdXRtcC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5 CiAgIDc5IHwgI2luY2x1ZGUgPHV0bXAuaD4KICAgICAgfCAgICAgICAgICBefn5+fn5+fgpjb21w aWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MTAwNTk6ICQ/ID0gMQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05V IEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFj c0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29m dHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERV TVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBf X0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lO X0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09V UkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVB RF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhU X18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5U X0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlf VFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJD RSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklM RV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZ UEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFW RV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JF U09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAq Lwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNs dWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBp bmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGlu Y2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVm IEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBk ZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwg IyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAj IGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwg IyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwg IyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMg aW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgCnwgI2luY2x1ZGUgPHV0bXAuaD4KY29uZmln dXJlOjEwMDU5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMDA1OTogY2hlY2tpbmcgZm9yIHV0aWwu aApjb25maWd1cmU6MTAwNTk6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2Fy Zi0yIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3OToxMDogZmF0 YWwgZXJyb3I6IHV0aWwuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogICA3OSB8ICNpbmNs dWRlIDx1dGlsLmg+CiAgICAgIHwgICAgICAgICAgXn5+fn5+fn4KY29tcGlsYXRpb24gdGVybWlu YXRlZC4KY29uZmlndXJlOjEwMDU5OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3Mi CnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJT SU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUw Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIK fCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZp bmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO VF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18g MQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwg I2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmlu ZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEK fCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5l IF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRf SUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVO Q1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEK fCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRf TUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUg X0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMg NjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50 Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNk ZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAj ZGVmaW5lIEhBVkVfUFdEX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8 c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVz Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0 YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIu aD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9I CnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01F TU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3Ry aW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJp bmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50 dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3Rk aW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0 ZC5oPgp8ICNlbmRpZgp8IAp8ICNpbmNsdWRlIDx1dGlsLmg+CmNvbmZpZ3VyZToxMDA1OTogcmVz dWx0OiBubwpjb25maWd1cmU6MTAwNTk6IGNoZWNraW5nIGZvciBzYW5pdGl6ZXIvbHNhbl9pbnRl cmZhY2UuaApjb25maWd1cmU6MTAwNTk6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIg LWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo3OTox MDogZmF0YWwgZXJyb3I6IHNhbml0aXplci9sc2FuX2ludGVyZmFjZS5oOiBObyBzdWNoIGZpbGUg b3IgZGlyZWN0b3J5CiAgIDc5IHwgI2luY2x1ZGUgPHNhbml0aXplci9sc2FuX2ludGVyZmFjZS5o PgogICAgICB8ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KY29tcGlsYXRp b24gdGVybWluYXRlZC4KY29uZmlndXJlOjEwMDU5OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJH TlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFD S0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFj cyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251 Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJl L2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIg MQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRF TlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NP VVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAx CnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VN QU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEK fCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19T VERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNf NjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVT X0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19T VERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZG U0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3 aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09V TkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJD RV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAj aW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8 c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVk ZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRl IDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZF X1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5l ZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5j bHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNs dWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5j bHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5j bHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1 ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IAp8ICNpbmNsdWRlIDxzYW5pdGl6ZXIvbHNhbl9pbnRl cmZhY2UuaD4KY29uZmlndXJlOjEwMDU5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMDA1OTogY2hl Y2tpbmcgZm9yIHN5cy9zb2NrZXQuaApjb25maWd1cmU6MTAwNTk6IGdjYyAtSSAuLi9zcmMvbnQv aW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjEwMDU5OiAkPyA9IDAKY29uZmlndXJlOjEwMDU5OiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MTAwNTk6IGNoZWNraW5nIGZvciBzdGRsaWIuaApjb25maWd1cmU6MTAwNTk6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZToxMDA1OTogY2hlY2tpbmcgZm9yIHVuaXN0ZC5oCmNvbmZpZ3VyZTox MDA1OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEwMDU5OiBjaGVja2luZyBmb3Igc3lzL3BhcmFt LmgKY29uZmlndXJlOjEwMDU5OiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdh cmYtMiAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxMDA1OTogJD8g PSAwCmNvbmZpZ3VyZToxMDA1OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEwMDU5OiBjaGVja2lu ZyBmb3IgcHRocmVhZC5oCmNvbmZpZ3VyZToxMDA1OTogcmVzdWx0OiBubwpjb25maWd1cmU6MTAw NTk6IGNoZWNraW5nIGZvciBtYWxsb2MvbWFsbG9jLmgKY29uZmlndXJlOjEwMDU5OiBnY2MgLUkg Li4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0 ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6ODM6MTA6IGZhdGFsIGVycm9yOiBtYWxsb2MvbWFsbG9jLmg6 IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICAgODMgfCAjaW5jbHVkZSA8bWFsbG9jL21hbGxv Yy5oPgogICAgICB8ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+CmNvbXBpbGF0aW9uIHRlcm1p bmF0ZWQuCmNvbmZpZ3VyZToxMDA1OTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g d2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNz Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVS U0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41 MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwg I2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8i CnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVm aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19f IDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8 ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZp bmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAx CnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5U X0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZV TkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAx CnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5U X01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5l IF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRT IDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1u dCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAj ZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwg I2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19QQVJBTV9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0 ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5o Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0 Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+ CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8 ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9T VFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1P UllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmlu Zy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5n cy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5 cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGlu dC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQu aD4KfCAjZW5kaWYKfCAKfCAjaW5jbHVkZSA8bWFsbG9jL21hbGxvYy5oPgpjb25maWd1cmU6MTAw NTk6IHJlc3VsdDogbm8KY29uZmlndXJlOjEwMDU5OiBjaGVja2luZyBmb3Igc3lzL3VuLmgKY29u ZmlndXJlOjEwMDU5OiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAt bXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6ODM6MTA6IGZhdGFsIGVy cm9yOiBzeXMvdW4uaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogICA4MyB8ICNpbmNsdWRl IDxzeXMvdW4uaD4KICAgICAgfCAgICAgICAgICBefn5+fn5+fn5+CmNvbXBpbGF0aW9uIHRlcm1p bmF0ZWQuCmNvbmZpZ3VyZToxMDA1OTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g d2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNz Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVS U0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41 MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwg I2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8i CnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVm aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19f IDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8 ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZp bmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAx CnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5U X0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZV TkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAx CnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5U X01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5l IF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRT IDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1u dCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAj ZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwg I2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19QQVJBTV9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0 ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5o Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0 Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+ CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8 ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9T VFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1P UllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmlu Zy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5n cy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5 cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGlu dC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQu aD4KfCAjZW5kaWYKfCAKfCAjaW5jbHVkZSA8c3lzL3VuLmg+CmNvbmZpZ3VyZToxMDA1OTogcmVz dWx0OiBubwpjb25maWd1cmU6MTAwNTk6IGNoZWNraW5nIGZvciBkaXJlbnQuaApjb25maWd1cmU6 MTAwNTk6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1n ZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjEwMDU5OiAkPyA9IDAKY29uZmlndXJl OjEwMDU5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTAwNTk6IGNoZWNraW5nIGZvciBleGVjaW5m by5oCmNvbmZpZ3VyZToxMDA1OTogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3 YXJmLTIgLW10dW5lPWdlbmVyaWMgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjg0OjEwOiBm YXRhbCBlcnJvcjogZXhlY2luZm8uaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogICA4NCB8 ICNpbmNsdWRlIDxleGVjaW5mby5oPgogICAgICB8ICAgICAgICAgIF5+fn5+fn5+fn5+fgpjb21w aWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MTAwNTk6ICQ/ID0gMQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05V IEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFj c0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29m dHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERV TVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBf X0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lO X0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09V UkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVB RF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhU X18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5U X0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlf VFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJD RSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklM RV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZ UEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFW RV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JF U09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NL RVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhB VkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lm ZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRk ZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxp Yi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRl ZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUg PG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAKfCAj aW5jbHVkZSA8ZXhlY2luZm8uaD4KY29uZmlndXJlOjEwMDU5OiByZXN1bHQ6IG5vCmNvbmZpZ3Vy ZToxMDA1OTogY2hlY2tpbmcgZm9yIHN0ZGlvX2V4dC5oCmNvbmZpZ3VyZToxMDA1OTogZ2NjIC1J IC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5lPWdlbmVyaWMgICBjb25m dGVzdC5jID4mNQpjb25mdGVzdC5jOjg0OjEwOiBmYXRhbCBlcnJvcjogc3RkaW9fZXh0Lmg6IE5v IHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICAgODQgfCAjaW5jbHVkZSA8c3RkaW9fZXh0Lmg+CiAg ICAgIHwgICAgICAgICAgXn5+fn5+fn5+fn5+fgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25m aWd1cmU6MTAwNTk6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBj b25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5l IFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAu NTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2RlZmlu ZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFD S0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUg TUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERDX0hF QURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19I IDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmlu ZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9H TlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNE X1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUg X19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dB TlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlf REZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRfXyAx CnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZpbmUg X19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQRUNf RlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9BTFRf WE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNkZWZp bmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwgI2RlZmlu ZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZF X01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFW RV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFS QU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICov CnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1 ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGlu Y2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5j bHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYg SEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRl ZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAj IGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMg aW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAj IGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAj IGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBp bmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAKfCAjaW5jbHVkZSA8c3RkaW9fZXh0Lmg+CmNv bmZpZ3VyZToxMDA1OTogcmVzdWx0OiBubwpjb25maWd1cmU6MTAwNTk6IGNoZWNraW5nIGZvciBz eXMvdmZzLmgKY29uZmlndXJlOjEwMDU5OiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8y IC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6ODQ6 MTA6IGZhdGFsIGVycm9yOiBzeXMvdmZzLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICAg ODQgfCAjaW5jbHVkZSA8c3lzL3Zmcy5oPgogICAgICB8ICAgICAgICAgIF5+fn5+fn5+fn5+CmNv bXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToxMDA1OTogJD8gPSAxCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf TkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJH TlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVt YWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9z b2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9Q RFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJX SU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9T T1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhS RUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19F WFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVm aW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dB TlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1 OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVm aW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09V UkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9G SUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1f VFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBI QVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NP Q0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0gg MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYg SEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAj aWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0 ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3Rk bGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAh ZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVk ZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IAp8 ICNpbmNsdWRlIDxzeXMvdmZzLmg+CmNvbmZpZ3VyZToxMDA1OTogcmVzdWx0OiBubwpjb25maWd1 cmU6MTAwNTk6IGNoZWNraW5nIGZvciBzeXMvZnNfdHlwZXMuaApjb25maWd1cmU6MTAwNTk6IGdj YyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAg Y29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzo4NDoxMDogZmF0YWwgZXJyb3I6IHN5cy9mc190eXBl cy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAgIDg0IHwgI2luY2x1ZGUgPHN5cy9mc190 eXBlcy5oPgogICAgICB8ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn4KY29tcGlsYXRpb24gdGVy bWluYXRlZC4KY29uZmlndXJlOjEwMDU5OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh bSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9W RVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4w LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIK fCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNz LyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05T X18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAx CnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2Rl ZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNT IDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVm aW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dB TlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlf RlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9f IDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dB TlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZp bmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJ VFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dz LW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8 ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEK fCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgLyogZW5kIGNv bmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBF U19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNf U1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hF QURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vs c2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVu ZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENf SEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4K fCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9T VFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9J TlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZF X1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9V TklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgCnwgI2luY2x1ZGUgPHN5 cy9mc190eXBlcy5oPgpjb25maWd1cmU6MTAwNTk6IHJlc3VsdDogbm8KY29uZmlndXJlOjEwMDU5 OiBjaGVja2luZyBmb3IgZ2V0b3B0LmgKY29uZmlndXJlOjEwMDU5OiByZXN1bHQ6IG5vCmNvbmZp Z3VyZToxMDA1OTogY2hlY2tpbmcgZm9yIHN5cy9jZGVmcy5oCmNvbmZpZ3VyZToxMDA1OTogZ2Nj IC1JIC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5lPWdlbmVyaWMgICBj b25mdGVzdC5jID4mNQpjb25maWd1cmU6MTAwNTk6ICQ/ID0gMApjb25maWd1cmU6MTAwNTk6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZToxMDA1OTogY2hlY2tpbmcgZm9yIHN5cy90aW1lLmgKY29uZmln dXJlOjEwMDU5OiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1 bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxMDA1OTogJD8gPSAwCmNvbmZp Z3VyZToxMDA1OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEwMDU5OiBjaGVja2luZyBmb3IgaWVl ZTc1NC5oCmNvbmZpZ3VyZToxMDA1OTogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAt Z2R3YXJmLTIgLW10dW5lPWdlbmVyaWMgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjg2OjEw OiBmYXRhbCBlcnJvcjogaWVlZTc1NC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAgIDg2 IHwgI2luY2x1ZGUgPGllZWU3NTQuaD4KICAgICAgfCAgICAgICAgICBefn5+fn5+fn5+fgpjb21w aWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MTAwNTk6ICQ/ID0gMQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05V IEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFj c0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29m dHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERV TVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBf X0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lO X0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09V UkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVB RF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhU X18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5U X0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlf VFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJD RSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklM RV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZ UEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFW RV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JF U09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NL RVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhB VkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lm ZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRk ZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxp Yi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRl ZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUg PG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAKfCAj aW5jbHVkZSA8aWVlZTc1NC5oPgpjb25maWd1cmU6MTAwNTk6IHJlc3VsdDogbm8KY29uZmlndXJl OjEwMDU5OiBjaGVja2luZyBmb3IgbGltaXRzLmgKY29uZmlndXJlOjEwMDU5OiBnY2MgLUkgLi4v c3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZpZ3VyZToxMDA1OTogJD8gPSAwCmNvbmZpZ3VyZToxMDA1OTogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjEwMDU5OiBjaGVja2luZyBmb3Igd2NoYXIuaApjb25maWd1cmU6MTAwNTk6 IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmlj ICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjEwMDU5OiAkPyA9IDAKY29uZmlndXJlOjEwMDU5 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTAwNTk6IGNoZWNraW5nIGZvciBzdGRpbnQuaApjb25m aWd1cmU6MTAwNTk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMDA1OTogY2hlY2tpbmcgZm9yIGlu dHR5cGVzLmgKY29uZmlndXJlOjEwMDU5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTAwNTk6IGNo ZWNraW5nIGZvciBzeXMvc2VsZWN0LmgKY29uZmlndXJlOjEwMDU5OiBnY2MgLUkgLi4vc3JjL250 L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZ0ZXN0LmM6OTA6MTA6IGZhdGFsIGVycm9yOiBzeXMvc2VsZWN0Lmg6IE5vIHN1Y2ggZmls ZSBvciBkaXJlY3RvcnkKICAgOTAgfCAjaW5jbHVkZSA8c3lzL3NlbGVjdC5oPgogICAgICB8ICAg ICAgICAgIF5+fn5+fn5+fn5+fn5+CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTox MDA1OTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZz LmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAj ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VS TCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VT RV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExf U09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VS Q0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNF IDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENf V0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNf NjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhU X18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVm aW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENf V0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19f IDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9T T0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0Nf TElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVf TU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9D X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEK fCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2Rl ZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3Rk aW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+ CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQu aD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4K fCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwg IyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NU UklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9S WV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5n Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdz Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlw ZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50 Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5o Pgp8ICNlbmRpZgp8IAp8ICNpbmNsdWRlIDxzeXMvc2VsZWN0Lmg+CmNvbmZpZ3VyZToxMDA1OTog cmVzdWx0OiBubwpjb25maWd1cmU6MTAwNTk6IGNoZWNraW5nIGZvciBzeXMvcmFuZG9tLmgKY29u ZmlndXJlOjEwMDU5OiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAt bXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6OTA6MTA6IGZhdGFsIGVy cm9yOiBzeXMvcmFuZG9tLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICAgOTAgfCAjaW5j bHVkZSA8c3lzL3JhbmRvbS5oPgogICAgICB8ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+CmNvbXBp bGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToxMDA1OTogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5l IFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUg RW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNz QGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0 d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVN UEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9f RVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5f Q19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VS Q0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFE X1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRf XyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5l IF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRf SUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9U WVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5l IF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNF IDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxF X09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQ RSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZF X1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVT T1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tF VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQ RVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lT X1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19I RUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNl bHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBl bmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERD X0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+ CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf U1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf SU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf VU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IAp8ICNpbmNsdWRlIDxz eXMvcmFuZG9tLmg+CmNvbmZpZ3VyZToxMDA1OTogcmVzdWx0OiBubwpjb25maWd1cmU6MTAwNTk6 IGNoZWNraW5nIGZvciBzeXMvc3RhdC5oCmNvbmZpZ3VyZToxMDA1OTogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjEwMDk2OiBjaGVja2luZyBmb3IgQUREUl9OT19SQU5ET01JWkUKY29uZmlndXJlOjEw MTEzOiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2Vu ZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6NTc6MTA6IGZhdGFsIGVycm9yOiBzeXMv cGVyc29uYWxpdHkuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogICA1NyB8ICNpbmNsdWRl IDxzeXMvcGVyc29uYWxpdHkuaD4KICAgICAgfCAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+ CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToxMDExMzogJD8gPSAxCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tB R0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251 LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9y Zy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFW RV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9E QVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJT RF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9Q VEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklC U19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAj ZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182 MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAj ZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1f U09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5l IF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNU RU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmlu ZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1 ZGUgPHN5cy9wZXJzb25hbGl0eS5oPgp8IGludAp8IG1haW4gKCkKfCB7CnwgcGVyc29uYWxpdHkg KHBlcnNvbmFsaXR5ICgweGZmZmZmZmZmKQp8IAkJCQkgICAgIHwgQUREUl9OT19SQU5ET01JWkUp CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxMDEyMDogcmVzdWx0OiBubwpjb25m aWd1cmU6MTAxODY6IGNoZWNraW5nIGZvciB0ZXJtLmgKY29uZmlndXJlOjEwMTg2OiBnY2MgLUkg Li4vc3JjL250L2luYyAtRSAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzo1 NzoxMDogZmF0YWwgZXJyb3I6IHRlcm0uaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogICA1 NyB8ICNpbmNsdWRlIDx0ZXJtLmg+CiAgICAgIHwgICAgICAgICAgXn5+fn5+fn4KY29tcGlsYXRp b24gdGVybWluYXRlZC4KY29uZmlndXJlOjEwMTg2OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJH TlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFD S0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFj cyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251 Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJl L2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIg MQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRF TlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NP VVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAx CnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VN QU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEK fCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19T VERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNf NjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVT X0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19T VERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZG U0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3 aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09V TkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJD RV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8dGVybS5o Pgpjb25maWd1cmU6MTAxODY6IHJlc3VsdDogbm8KY29uZmlndXJlOjEwMTk2OiBjaGVja2luZyB3 aGV0aGVyIHRpbWUuaCBhbmQgc3lzL3RpbWUuaCBtYXkgYm90aCBiZSBpbmNsdWRlZApjb25maWd1 cmU6MTAyMTY6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVu ZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjEwMjE2OiAkPyA9IDAKY29uZmln dXJlOjEwMjIzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTAyMzE6IGNoZWNraW5nIGZvciBzeXMv d2FpdC5oIHRoYXQgaXMgUE9TSVguMSBjb21wYXRpYmxlCmNvbmZpZ3VyZToxMDI1NzogZ2NjIC1J IC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5lPWdlbmVyaWMgICBjb25m dGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6NzE6 Mzogd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ3dhaXQnIFstV2lt cGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogICA3MSB8ICAgd2FpdCAoJnMpOwogICAgICB8 ICAgXn5+fgpjb25maWd1cmU6MTAyNTc6ICQ/ID0gMApjb25maWd1cmU6MTAyNjQ6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToxMDI3ODogY2hlY2tpbmcgZm9yIG5ldC9pZi5oCmNvbmZpZ3VyZToxMDI3 ODogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5lPWdlbmVy aWMgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjk2OjEwOiBmYXRhbCBlcnJvcjogbmV0L2lm Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICAgOTYgfCAjaW5jbHVkZSA8bmV0L2lmLmg+ CiAgICAgIHwgICAgICAgICAgXn5+fn5+fn5+fgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25m aWd1cmU6MTAyNzg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBj b25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5l IFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAu NTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2RlZmlu ZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFD S0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUg TUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERDX0hF QURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19I IDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmlu ZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9H TlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNE X1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUg X19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dB TlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlf REZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRfXyAx CnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZpbmUg X19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQRUNf RlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9BTFRf WE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNkZWZp bmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwgI2RlZmlu ZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZF X01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFW RV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFS QU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0gg MQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAv KiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVf U1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI QVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVm IFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYu aD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5o Pgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmlu ZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1l bW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaWYgSEFW RV9TWVNfU09DS0VUX0gKfCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8ICNlbmRpZgp8IAp8ICNp bmNsdWRlIDxuZXQvaWYuaD4KY29uZmlndXJlOjEwMjc4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTox MDI5NDogY2hlY2tpbmcgZm9yIGlmYWRkcnMuaApjb25maWd1cmU6MTAyOTQ6IGdjYyAtSSAuLi9z cmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3Qu YyA+JjUKY29uZnRlc3QuYzo5NjoxMDogZmF0YWwgZXJyb3I6IGlmYWRkcnMuaDogTm8gc3VjaCBm aWxlIG9yIGRpcmVjdG9yeQogICA5NiB8ICNpbmNsdWRlIDxpZmFkZHJzLmg+CiAgICAgIHwgICAg ICAgICAgXn5+fn5+fn5+fn4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjEwMjk0 OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAq Lwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RB Uk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZp bmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9C VUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJo dHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BP UCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmlu ZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhB VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VS Q0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAx CnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8 ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5U X0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1 OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAx CnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUg X19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5U X0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8 ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tF VF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5U IDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZ U1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNk ZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5l IEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9X SVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgLyogZW5kIGNvbmZk ZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19I CnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RB VF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURF UlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UK fCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlm CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVB REVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAj IGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJ TkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRU WVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NU RElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklT VERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfU1lTX1NPQ0tF VF9ICnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCAjZW5kaWYKfCAKfCAjaW5jbHVkZSA8aWZh ZGRycy5oPgpjb25maWd1cmU6MTAyOTQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjEwMzEwOiBjaGVj a2luZyBmb3IgbmV0L2lmX2RsLmgKY29uZmlndXJlOjEwMzEwOiBnY2MgLUkgLi4vc3JjL250L2lu YyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNv bmZ0ZXN0LmM6OTY6MTA6IGZhdGFsIGVycm9yOiBuZXQvaWZfZGwuaDogTm8gc3VjaCBmaWxlIG9y IGRpcmVjdG9yeQogICA5NiB8ICNpbmNsdWRlIDxuZXQvaWZfZGwuaD4KICAgICAgfCAgICAgICAg ICBefn5+fn5+fn5+fn5+CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToxMDMxMDog JD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8K fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJO QU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5l IFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVH UkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0 cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1Ag MQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2Rl ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg SEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNF IDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8 ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAj ZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9J RUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlf QkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8 ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9f U1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9M SUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAj ZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRf QVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAx CnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNU RU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVm aW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBI QVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lO VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lU SF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8IC8qIGVuZCBjb25mZGVm cy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8 ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRf SAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJT CnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwg IyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8 ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURF UlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBl bmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5H U19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQ RVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJ TlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1RE X0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NZU19TT0NLRVRf SAp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgI2VuZGlmCnwgCnwgI2luY2x1ZGUgPG5ldC9p Zl9kbC5oPgpjb25maWd1cmU6MTAzMTA6IHJlc3VsdDogbm8KY29uZmlndXJlOjEwMzI1OiBjaGVj a2luZyBmb3Igc3RydWN0IGlmcmVxLmlmcl9mbGFncwpjb25maWd1cmU6MTAzMjU6IGdjYyAtSSAu Li9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgY29uZnRl c3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjEwMjoy MTogZXJyb3I6IHN0b3JhZ2Ugc2l6ZSBvZiAnYWNfYWdncicgaXNuJ3Qga25vd24KICAxMDIgfCBz dGF0aWMgc3RydWN0IGlmcmVxIGFjX2FnZ3I7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICBe fn5+fn5+CmNvbmZpZ3VyZToxMDMyNTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g d2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNz Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVS U0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41 MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwg I2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8i CnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVm aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19f IDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8 ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZp bmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAx CnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5U X0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZV TkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAx CnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5U X01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5l IF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRT IDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1u dCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAj ZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwg I2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19X QUlUX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAj aWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5k aWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1 ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVk ZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwg IyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAg aW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAj ZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRp Zgp8ICNpZiBIQVZFX1NZU19TT0NLRVRfSAp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgI2Vu ZGlmCnwgI2lmIEhBVkVfTkVUX0lGX0gKfCAjaW5jbHVkZSA8bmV0L2lmLmg+CnwgI2VuZGlmCnwg CnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IGlmcmVxIGFjX2FnZ3I7CnwgaWYg KGFjX2FnZ3IuaWZyX2ZsYWdzKQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpj b25maWd1cmU6MTAzMjU6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0y IC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24g J21haW4nOgpjb25mdGVzdC5jOjEwMjoyMTogZXJyb3I6IHN0b3JhZ2Ugc2l6ZSBvZiAnYWNfYWdn cicgaXNuJ3Qga25vd24KICAxMDIgfCBzdGF0aWMgc3RydWN0IGlmcmVxIGFjX2FnZ3I7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICBefn5+fn5+CmNvbmZpZ3VyZToxMDMyNTogJD8gPSAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFj cyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0Vf U1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJi dWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cu Z251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZp bmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1P UllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVm aW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUg X05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9Q T1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlf QVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9f IDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUg X19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5U X0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9f IDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9U QU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAj ZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmlu ZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwg I2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFW RV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVf RElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFS X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElN RSAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVk ZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5j bHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNs dWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBI QVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVm aW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMg aW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBp bmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMg aW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMg aW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGlu Y2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NZU19TT0NLRVRfSAp8ICNpbmNs dWRlIDxzeXMvc29ja2V0Lmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfTkVUX0lGX0gKfCAjaW5jbHVk ZSA8bmV0L2lmLmg+CnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3Ry dWN0IGlmcmVxIGFjX2FnZ3I7CnwgaWYgKHNpemVvZiBhY19hZ2dyLmlmcl9mbGFncykKfCByZXR1 cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjEwMzI1OiByZXN1bHQ6IG5v CmNvbmZpZ3VyZToxMDM0MTogY2hlY2tpbmcgZm9yIHN0cnVjdCBpZnJlcS5pZnJfaHdhZGRyCmNv bmZpZ3VyZToxMDM0MTogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJmLTIg LW10dW5lPWdlbmVyaWMgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAn bWFpbic6CmNvbmZ0ZXN0LmM6MTAyOjIxOiBlcnJvcjogc3RvcmFnZSBzaXplIG9mICdhY19hZ2dy JyBpc24ndCBrbm93bgogIDEwMiB8IHN0YXRpYyBzdHJ1Y3QgaWZyZXEgYWNfYWdncjsKICAgICAg fCAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KY29uZmlndXJlOjEwMzQxOiAkPyA9IDEKY29u ZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUg UEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNz Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9T VFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1 Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5n bnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmlu ZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9S WV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZp bmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBf TkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BP U0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9B VFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18g MQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBf X1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRf SUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18g MQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RB TkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNk ZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5l IFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAj ZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9E SVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJf SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1F IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8 ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRl IDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNs dWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1 ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhB VkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZp bmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBp bmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGlu Y2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBp bmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBp bmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5j bHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfU1lTX1NPQ0tFVF9ICnwgI2luY2x1 ZGUgPHN5cy9zb2NrZXQuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9ORVRfSUZfSAp8ICNpbmNsdWRl IDxuZXQvaWYuaD4KfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1 Y3QgaWZyZXEgYWNfYWdncjsKfCBpZiAoYWNfYWdnci5pZnJfaHdhZGRyKQp8IHJldHVybiAwOwp8 ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTAzNDE6IGdjYyAtSSAuLi9zcmMvbnQv aW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUK Y29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjEwMjoyMTogZXJyb3I6 IHN0b3JhZ2Ugc2l6ZSBvZiAnYWNfYWdncicgaXNuJ3Qga25vd24KICAxMDIgfCBzdGF0aWMgc3Ry dWN0IGlmcmVxIGFjX2FnZ3I7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICBefn5+fn5+CmNv bmZpZ3VyZToxMDM0MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q IGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZp bmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjgu MC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVm aW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQ QUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmlu ZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENf SEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H X0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVm aW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUg X0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5C U0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENf V0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1 OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9f IDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BF Q19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FM VF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2Rl ZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVm aW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhB VkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBI QVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19Q QVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RF RlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNf SCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8 IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFW RV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRl Zi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGli Lmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVm aW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8 bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpZiBI QVZFX1NZU19TT0NLRVRfSAp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgI2VuZGlmCnwgI2lm IEhBVkVfTkVUX0lGX0gKfCAjaW5jbHVkZSA8bmV0L2lmLmg+CnwgI2VuZGlmCnwgCnwgaW50Cnwg bWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IGlmcmVxIGFjX2FnZ3I7CnwgaWYgKHNpemVvZiBh Y19hZ2dyLmlmcl9od2FkZHIpCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNv bmZpZ3VyZToxMDM0MTogcmVzdWx0OiBubwpjb25maWd1cmU6MTAzNTc6IGNoZWNraW5nIGZvciBz dHJ1Y3QgaWZyZXEuaWZyX25ldG1hc2sKY29uZmlndXJlOjEwMzU3OiBnY2MgLUkgLi4vc3JjL250 L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxMDI6MjE6IGVycm9y OiBzdG9yYWdlIHNpemUgb2YgJ2FjX2FnZ3InIGlzbid0IGtub3duCiAgMTAyIHwgc3RhdGljIHN0 cnVjdCBpZnJlcSBhY19hZ2dyOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgpj b25maWd1cmU6MTAzNTc6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAv KiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4 LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2Rl ZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUg UEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZp bmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERD X0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2Rl ZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5l IF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVO QlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZp bmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1 NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRf XyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZp bmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQ RUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9B TFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNk ZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwgI2Rl ZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBI QVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUg SEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NE RUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRT X0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhB VkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lm ZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRk ZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxp Yi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRl ZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUg PG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaWYg SEFWRV9TWVNfU09DS0VUX0gKfCAjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgp8ICNlbmRpZgp8ICNp ZiBIQVZFX05FVF9JRl9ICnwgI2luY2x1ZGUgPG5ldC9pZi5oPgp8ICNlbmRpZgp8IAp8IGludAp8 IG1haW4gKCkKfCB7Cnwgc3RhdGljIHN0cnVjdCBpZnJlcSBhY19hZ2dyOwp8IGlmIChhY19hZ2dy Lmlmcl9uZXRtYXNrKQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1 cmU6MTAzNTc6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVu ZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4n Ogpjb25mdGVzdC5jOjEwMjoyMTogZXJyb3I6IHN0b3JhZ2Ugc2l6ZSBvZiAnYWNfYWdncicgaXNu J3Qga25vd24KICAxMDIgfCBzdGF0aWMgc3RydWN0IGlmcmVxIGFjX2FnZ3I7CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICBefn5+fn5+CmNvbmZpZ3VyZToxMDM1NzogJD8gPSAxCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tB R0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251 LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9y Zy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFW RV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9E QVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJT RF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9Q VEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklC U19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAj ZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182 MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAj ZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1f U09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5l IF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNU RU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmlu ZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwg I2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5j bHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lz L3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8 c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxz dGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NU RExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBI QVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVk ZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRl IDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVk ZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVk ZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUg PHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX1NZU19TT0NLRVRfSAp8ICNpbmNsdWRlIDxz eXMvc29ja2V0Lmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfTkVUX0lGX0gKfCAjaW5jbHVkZSA8bmV0 L2lmLmg+CnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IGlm cmVxIGFjX2FnZ3I7CnwgaWYgKHNpemVvZiBhY19hZ2dyLmlmcl9uZXRtYXNrKQp8IHJldHVybiAw Owp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTAzNTc6IHJlc3VsdDogbm8KY29u ZmlndXJlOjEwMzczOiBjaGVja2luZyBmb3Igc3RydWN0IGlmcmVxLmlmcl9icm9hZGFkZHIKY29u ZmlndXJlOjEwMzczOiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAt bXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdt YWluJzoKY29uZnRlc3QuYzoxMDI6MjE6IGVycm9yOiBzdG9yYWdlIHNpemUgb2YgJ2FjX2FnZ3In IGlzbid0IGtub3duCiAgMTAyIHwgc3RhdGljIHN0cnVjdCBpZnJlcSBhY19hZ2dyOwogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgpjb25maWd1cmU6MTAzNzM6ICQ/ID0gMQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3Mi CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NU UklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVn LWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3Lmdu dS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5l IEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9T WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmlu ZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9O RVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9T SVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FU VFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAx CnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9f U1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9J RUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAx CnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFO REVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2Rl ZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUg U1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNk ZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJ UkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUg MQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg I2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUg PHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1 ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVk ZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFW RV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmlu ZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGlu Y2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5j bHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGlu Y2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGlu Y2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNs dWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9TWVNfU09DS0VUX0gKfCAjaW5jbHVk ZSA8c3lzL3NvY2tldC5oPgp8ICNlbmRpZgp8ICNpZiBIQVZFX05FVF9JRl9ICnwgI2luY2x1ZGUg PG5ldC9pZi5oPgp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3RhdGljIHN0cnVj dCBpZnJlcSBhY19hZ2dyOwp8IGlmIChhY19hZ2dyLmlmcl9icm9hZGFkZHIpCnwgcmV0dXJuIDA7 CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxMDM3MzogZ2NjIC1JIC4uL3NyYy9u dC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5lPWdlbmVyaWMgICBjb25mdGVzdC5jID4m NQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTAyOjIxOiBlcnJv cjogc3RvcmFnZSBzaXplIG9mICdhY19hZ2dyJyBpc24ndCBrbm93bgogIDEwMiB8IHN0YXRpYyBz dHJ1Y3QgaWZyZXEgYWNfYWdncjsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4K Y29uZmlndXJlOjEwMzczOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cnwg LyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2Rl ZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIy OC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNk ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5l IFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVm aW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNk ZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmlu ZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BF TkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVm aW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1RE Q19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYw NTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhU X18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVm aW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9T UEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhf QUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAj ZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNk ZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUg SEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5l IEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19D REVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlU U19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAx CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBI QVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3Rk ZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRs aWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFk ZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRl IDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2lm IEhBVkVfU1lTX1NPQ0tFVF9ICnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCAjZW5kaWYKfCAj aWYgSEFWRV9ORVRfSUZfSAp8ICNpbmNsdWRlIDxuZXQvaWYuaD4KfCAjZW5kaWYKfCAKfCBpbnQK fCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3QgaWZyZXEgYWNfYWdncjsKfCBpZiAoc2l6ZW9m IGFjX2FnZ3IuaWZyX2Jyb2FkYWRkcikKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8 IH0KY29uZmlndXJlOjEwMzczOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMDM4OTogY2hlY2tpbmcg Zm9yIHN0cnVjdCBpZnJlcS5pZnJfYWRkcgpjb25maWd1cmU6MTAzODk6IGdjYyAtSSAuLi9zcmMv bnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+ JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjEwMjoyMTogZXJy b3I6IHN0b3JhZ2Ugc2l6ZSBvZiAnYWNfYWdncicgaXNuJ3Qga25vd24KICAxMDIgfCBzdGF0aWMg c3RydWN0IGlmcmVxIGFjX2FnZ3I7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICBefn5+fn5+ CmNvbmZpZ3VyZToxMDM4OTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8 IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNk ZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi MjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAj ZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmlu ZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2Rl ZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNU RENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1Nf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAj ZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZp bmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09Q RU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2Rl ZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NU RENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182 MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VY VF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2Rl ZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhf U1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVY X0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0Cnwg I2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIKfCAj ZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5l IEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmlu ZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf Q0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1J VFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK fCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0gg MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYg SEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAj aWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0 ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3Rk bGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAh ZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVk ZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8ICNp ZiBIQVZFX1NZU19TT0NLRVRfSAp8ICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CnwgI2VuZGlmCnwg I2lmIEhBVkVfTkVUX0lGX0gKfCAjaW5jbHVkZSA8bmV0L2lmLmg+CnwgI2VuZGlmCnwgCnwgaW50 CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IGlmcmVxIGFjX2FnZ3I7CnwgaWYgKGFjX2Fn Z3IuaWZyX2FkZHIpCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3Vy ZToxMDM4OTogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5l PWdlbmVyaWMgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6 CmNvbmZ0ZXN0LmM6MTAyOjIxOiBlcnJvcjogc3RvcmFnZSBzaXplIG9mICdhY19hZ2dyJyBpc24n dCBrbm93bgogIDEwMiB8IHN0YXRpYyBzdHJ1Y3QgaWZyZXEgYWNfYWdncjsKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgIF5+fn5+fn4KY29uZmlndXJlOjEwMzg5OiAkPyA9IDEKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg IkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUt ZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3Jn L3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZF X1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RB UldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNE X1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BU SFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJT X0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNk ZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENf V0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYw NTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNk ZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9T T1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUg X0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RF TV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5l IEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVf SCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNs dWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMv dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxz eXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0 ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RE TElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhB VkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRl IDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUg PHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRl IDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRl IDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8 dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfU1lTX1NPQ0tFVF9ICnwgI2luY2x1ZGUgPHN5 cy9zb2NrZXQuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9ORVRfSUZfSAp8ICNpbmNsdWRlIDxuZXQv aWYuaD4KfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3QgaWZy ZXEgYWNfYWdncjsKfCBpZiAoc2l6ZW9mIGFjX2FnZ3IuaWZyX2FkZHIpCnwgcmV0dXJuIDA7Cnwg ICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxMDM4OTogcmVzdWx0OiBubwpjb25maWd1 cmU6MTA0MDU6IGNoZWNraW5nIGZvciBzdHJ1Y3QgaWZyZXEuaWZyX2FkZHIuc2FfbGVuCmNvbmZp Z3VyZToxMDQwNTogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJmLTIgLW10 dW5lPWdlbmVyaWMgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFp bic6CmNvbmZ0ZXN0LmM6MTAyOjIxOiBlcnJvcjogc3RvcmFnZSBzaXplIG9mICdhY19hZ2dyJyBp c24ndCBrbm93bgogIDEwMiB8IHN0YXRpYyBzdHJ1Y3QgaWZyZXEgYWNfYWdncjsKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KY29uZmlndXJlOjEwNDA1OiAkPyA9IDEKY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFD S0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1n bnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUu b3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBI QVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUg X0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVU QlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lY X1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRS SUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8 ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NU RENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVD XzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8 ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRF TV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZp bmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZ U1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVm aW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJF TlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNp bmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxz eXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRl IDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUg PHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVf U1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVk IEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNs dWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1 ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNs dWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNs dWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVk ZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2lmIEhBVkVfU1lTX1NPQ0tFVF9ICnwgI2luY2x1ZGUg PHN5cy9zb2NrZXQuaD4KfCAjZW5kaWYKfCAjaWYgSEFWRV9ORVRfSUZfSAp8ICNpbmNsdWRlIDxu ZXQvaWYuaD4KfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3Qg aWZyZXEgYWNfYWdncjsKfCBpZiAoYWNfYWdnci5pZnJfYWRkci5zYV9sZW4pCnwgcmV0dXJuIDA7 CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxMDQwNTogZ2NjIC1JIC4uL3NyYy9u dC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5lPWdlbmVyaWMgICBjb25mdGVzdC5jID4m NQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTAyOjIxOiBlcnJv cjogc3RvcmFnZSBzaXplIG9mICdhY19hZ2dyJyBpc24ndCBrbm93bgogIDEwMiB8IHN0YXRpYyBz dHJ1Y3QgaWZyZXEgYWNfYWdncjsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4K Y29uZmlndXJlOjEwNDA1OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cnwg LyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2Rl ZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIy OC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNk ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5l IFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVm aW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNk ZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmlu ZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BF TkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVm aW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1RE Q19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYw NTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhU X18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVm aW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9T UEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhf QUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAj ZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNk ZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUg SEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5l IEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19D REVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlU U19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAx CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBI QVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3Rk ZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRs aWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFk ZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRl IDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2lm IEhBVkVfU1lTX1NPQ0tFVF9ICnwgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KfCAjZW5kaWYKfCAj aWYgSEFWRV9ORVRfSUZfSAp8ICNpbmNsdWRlIDxuZXQvaWYuaD4KfCAjZW5kaWYKfCAKfCBpbnQK fCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3QgaWZyZXEgYWNfYWdncjsKfCBpZiAoc2l6ZW9m IGFjX2FnZ3IuaWZyX2FkZHIuc2FfbGVuKQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7 CnwgfQpjb25maWd1cmU6MTA0MDU6IHJlc3VsdDogbm8KY29uZmlndXJlOjEwNDI4OiBjaGVja2lu ZyB3aGV0aGVyIGdjYyB1bmRlcnN0YW5kcyAtTU1EIC1NRgpjb25maWd1cmU6MTA0NDY6IGdjYyAt SSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1NTUQgLU1GIGRlcHMuZCAtTVAg LW10dW5lPWdlbmVyaWMgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTA0NDY6ICQ/ID0gMApj b25maWd1cmU6MTA0NTY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMDQ3MjogY2hlY2tpbmcgZm9y IFgKY29uZmlndXJlOjEwNTgwOiBnY2MgLUkgLi4vc3JjL250L2luYyAtRSAtbXR1bmU9Z2VuZXJp YyAgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjEwNTgwOiAkPyA9IDAKY29uZmlndXJlOjEwNjExOiBn Y2MgLUkgLi4vc3JjL250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgLW10 dW5lPWdlbmVyaWMgICAgY29uZnRlc3QuYyAtbFgxMSAgPiY1IApJbiBmaWxlIGluY2x1ZGVkIGZy b20gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9YMTEvWGxpYi5oOjMxLAogICAgICAgICAgICAg ICAgIGZyb20gY29uZnRlc3QuYzo1OToKQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9YMTEvWC5o OjQ0OjI2OiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmli dXRlX18nIGJlZm9yZSAnWElEJwogICA0NCB8IHR5cGVkZWYgdW5zaWduZWQgX19pbnQ2NCBYSUQ7 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fgpDOi9tc3lzNjQvbWluZ3c2NC9p bmNsdWRlL1gxMS9YLmg6NDk6OTogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdYSUQnCiAgIDQ5 IHwgdHlwZWRlZiBYSUQgV2luZG93OwogICAgICB8ICAgICAgICAgXn5+CkM6L21zeXM2NC9taW5n dzY0L2luY2x1ZGUvWDExL1guaDo1MDo5OiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ1hJRCcK ICAgNTAgfCB0eXBlZGVmIFhJRCBEcmF3YWJsZTsKICAgICAgfCAgICAgICAgIF5+fgpDOi9tc3lz NjQvbWluZ3c2NC9pbmNsdWRlL1gxMS9YLmg6NTE6OTogZXJyb3I6IHVua25vd24gdHlwZSBuYW1l ICdYSUQnCiAgIDUxIHwgdHlwZWRlZiBYSUQgRm9udDsKICAgICAgfCAgICAgICAgIF5+fgpDOi9t c3lzNjQvbWluZ3c2NC9pbmNsdWRlL1gxMS9YLmg6NTI6OTogZXJyb3I6IHVua25vd24gdHlwZSBu YW1lICdYSUQnCiAgIDUyIHwgdHlwZWRlZiBYSUQgUGl4bWFwOwogICAgICB8ICAgICAgICAgXn5+ CkM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvWDExL1guaDo1Mzo5OiBlcnJvcjogdW5rbm93biB0 eXBlIG5hbWUgJ1hJRCcKICAgNTMgfCB0eXBlZGVmIFhJRCBDdXJzb3I7CiAgICAgIHwgICAgICAg ICBefn4KQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9YMTEvWC5oOjU0Ojk6IGVycm9yOiB1bmtu b3duIHR5cGUgbmFtZSAnWElEJwogICA1NCB8IHR5cGVkZWYgWElEIENvbG9ybWFwOwogICAgICB8 ICAgICAgICAgXn5+CkM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvWDExL1guaDo1NTo5OiBlcnJv cjogdW5rbm93biB0eXBlIG5hbWUgJ1hJRCcKICAgNTUgfCB0eXBlZGVmIFhJRCBHQ29udGV4dDsK ICAgICAgfCAgICAgICAgIF5+fgpDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL1gxMS9YLmg6NTY6 OTogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdYSUQnCiAgIDU2IHwgdHlwZWRlZiBYSUQgS2V5 U3ltOwogICAgICB8ICAgICAgICAgXn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBjb25mdGVzdC5j OjU5OgpDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL1gxMS9YbGliLmg6NDUyOjk6IGVycm9yOiB1 bmtub3duIHR5cGUgbmFtZSAnWElEJwogIDQ1MiB8ICAgICAgICAgWElEIHJlc291cmNlX2Jhc2U7 IC8qIHJlc291cmNlIElEIGJhc2UgKi8KICAgICAgfCAgICAgICAgIF5+fgpDOi9tc3lzNjQvbWlu Z3c2NC9pbmNsdWRlL1gxMS9YbGliLmg6NDUzOjI6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAn WElEJwogIDQ1MyB8ICBYSUQgcmVzb3VyY2VfbWFzazsgLyogcmVzb3VyY2UgSUQgbWFzayBiaXRz ICovCiAgICAgIHwgIF5+fgpDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL1gxMS9YbGliLmg6NDU0 OjI6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnWElEJwogIDQ1NCB8ICBYSUQgcmVzb3VyY2Vf aWQ7IC8qIGFsbG9jYXRvciBjdXJyZW50IElEICovCiAgICAgIHwgIF5+fgpDOi9tc3lzNjQvbWlu Z3c2NC9pbmNsdWRlL1gxMS9YbGliLmg6NDU2OjI6IGVycm9yOiBleHBlY3RlZCBzcGVjaWZpZXIt cXVhbGlmaWVyLWxpc3QgYmVmb3JlICdYSUQnCiAgNDU2IHwgIFhJRCAoKnJlc291cmNlX2FsbG9j KSgpOyAvKiBhbGxvY2F0b3IgZnVuY3Rpb24gKi8KICAgICAgfCAgXn5+CkM6L21zeXM2NC9taW5n dzY0L2luY2x1ZGUvWDExL1hsaWIuaDo5MTA6MjogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdY SUQnCiAgOTEwIHwgIFhJRCByZXNvdXJjZWlkOyAgLyogcmVzb3VyY2UgaWQgKi8KICAgICAgfCAg Xn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL3RrSW50 WGxpYkRlY2xzLmg6MzAsCiAgICAgICAgICAgICAgICAgZnJvbSBDOi9tc3lzNjQvbWluZ3c2NC9p bmNsdWRlL1gxMS9YbGliLmg6MTE5OSwKICAgICAgICAgICAgICAgICBmcm9tIGNvbmZ0ZXN0LmM6 NTk6CkM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvWDExL1h1dGlsLmg6MTAwOjI6IGVycm9yOiB1 bmtub3duIHR5cGUgbmFtZSAnWElEJwogIDEwMCB8ICBYSUQgd2luZG93X2dyb3VwOyAvKiBpZCBv ZiByZWxhdGVkIHdpbmRvdyBncm91cCAqLwogICAgICB8ICBefn4KQzovbXN5czY0L21pbmd3NjQv aW5jbHVkZS9YMTEvWHV0aWwuaDoyNjg6MjogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdYSUQn CiAgMjY4IHwgIFhJRCBraWxsaWQ7ICAgLyogYWRkZWQgYnkgSUNDQ00gdmVyc2lvbiAxICovCiAg ICAgIHwgIF5+fgpDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL1gxMS9YdXRpbC5oOjM1Njo1OiBl cnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ1hJRCc7IGRpZCB5b3UgbWVhbiAnWElDJz8KICAzNTYg fCAgICAgWElEICAgLyogcmlkICovLAogICAgICB8ICAgICBefn4KICAgICAgfCAgICAgWElDCkM6 L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvWDExL1h1dGlsLmg6MzgzOjU6IGVycm9yOiB1bmtub3du IHR5cGUgbmFtZSAnWElEJzsgZGlkIHlvdSBtZWFuICdYSUMnPwogIDM4MyB8ICAgICBYSUQgICAv KiByaWQgKi8sCiAgICAgIHwgICAgIF5+fgogICAgICB8ICAgICBYSUMKQzovbXN5czY0L21pbmd3 NjQvaW5jbHVkZS9YMTEvWHV0aWwuaDo1NzU6NTogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdY SUQnOyBkaWQgeW91IG1lYW4gJ1hJQyc/CiAgNTc1IHwgICAgIFhJRCAgIC8qIHJpZCAqLywKICAg ICAgfCAgICAgXn5+CiAgICAgIHwgICAgIFhJQwpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFp bic6CmNvbmZ0ZXN0LmM6NjM6MTogd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVu Y3Rpb24gJ1hybUluaXRpYWxpemUnIFstV2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQog ICA2MyB8IFhybUluaXRpYWxpemUgKCkKICAgICAgfCBefn5+fn5+fn5+fn5+CmNvbmZpZ3VyZTox MDYxMTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZz LmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAj ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VS TCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VT RV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExf U09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VS Q0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNF IDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENf V0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNf NjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhU X18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVm aW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENf V0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19f IDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9T T0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0Nf TElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVf TU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9D X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEK fCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2Rl ZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJ TUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8WDExL1hsaWIuaD4KfCBpbnQKfCBtYWluICgpCnwg ewp8IFhybUluaXRpYWxpemUgKCkKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjEw NjUwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMTI4MzogY2hlY2tpbmcgd2hldGhlciBXaW5kb3dz IEFQSSBoZWFkZXJzIGFyZSByZWNlbnQgZW5vdWdoCmNvbmZpZ3VyZToxMTMwMjogZ2NjIC1JIC4u L3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5lPWdlbmVyaWMgICBjb25mdGVz dC5jID4mNQpjb25maWd1cmU6MTEzMDI6ICQ/ID0gMApjb25maWd1cmU6MTEzMDk6IHJlc3VsdDog eWVzCmNvbmZpZ3VyZToxMTM3NDogY2hlY2tpbmcgZm9yIHdpbmRyZXMKY29uZmlndXJlOjExMzkw OiBmb3VuZCAvbWluZ3c2NC9iaW4vd2luZHJlcwpjb25maWd1cmU6MTE0MDE6IHJlc3VsdDogd2lu ZHJlcwpjb25maWd1cmU6MTE1OTA6IGNoZWNraW5nIHdoZXRoZXIgbWFsbG9jIGlzIERvdWcgTGVh IHN0eWxlCmNvbmZpZ3VyZToxMTYxMTogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3Qu ZXhlIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgIGNvbmZ0ZXN0LmMgID4mNSAK Y29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjY2OjE6IHdhcm5pbmc6 IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdtYWxsb2Nfc2V0X3N0YXRlJyBbLVdp bXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICAgNjYgfCBtYWxsb2Nfc2V0X3N0YXRlICht YWxsb2NfZ2V0X3N0YXRlICgpKTsKICAgICAgfCBefn5+fn5+fn5+fn5+fn5+CmNvbmZ0ZXN0LmM6 NjY6MTk6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdtYWxsb2Nf Z2V0X3N0YXRlJyBbLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICAgNjYgfCBtYWxs b2Nfc2V0X3N0YXRlIChtYWxsb2NfZ2V0X3N0YXRlICgpKTsKICAgICAgfCAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fn5+fn5+CmNvbmZ0ZXN0LmM6Njc6NjogZXJyb3I6ICdfX2FmdGVyX21v cmVjb3JlX2hvb2snIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICA2 NyB8ICAgICAgX19hZnRlcl9tb3JlY29yZV9ob29rID0gaG9vazsKICAgICAgfCAgICAgIF5+fn5+ fn5+fn5+fn5+fn5+fn5+fgpjb25mdGVzdC5jOjY3OjY6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBp ZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBl YXJzIGluCmNvbmZ0ZXN0LmM6Njg6NjogZXJyb3I6ICdfX21hbGxvY19pbml0aWFsaXplX2hvb2sn IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICA2OCB8ICAgICAgX19t YWxsb2NfaW5pdGlhbGl6ZV9ob29rID0gaG9vazsKICAgICAgfCAgICAgIF5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fgpjb25maWd1cmU6MTE2MTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBF bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdF X1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4 LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3Jn Igp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1h Y3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwg I2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lP TlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNF IDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAj ZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJ Q1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNk ZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENf V0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1 OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhU X18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENf V0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2Rl ZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRf QklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRv d3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAx CnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0gg MQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5l IEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NUQVRfSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9T WVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVf SU1BR0VfQVBJIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPG1hbGxvYy5o Pgp8IAkgICAgc3RhdGljIHZvaWQgaG9vayAodm9pZCkge30KfCBpbnQKfCBtYWluICgpCnwgewp8 IG1hbGxvY19zZXRfc3RhdGUgKG1hbGxvY19nZXRfc3RhdGUgKCkpOwp8IAkgICAgX19hZnRlcl9t b3JlY29yZV9ob29rID0gaG9vazsKfCAJICAgIF9fbWFsbG9jX2luaXRpYWxpemVfaG9vayA9IGhv b2s7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxMTYxODogcmVzdWx0OiBubwpj b25maWd1cmU6MTE3NDc6IGNoZWNraW5nIGZvciBnZXRwYWdlc2l6ZQpjb25maWd1cmU6MTE3NDc6 IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAt bXR1bmU9Z2VuZXJpYyAgICBjb25mdGVzdC5jICA+JjUgCmNvbmZpZ3VyZToxMTc0NzogJD8gPSAw CmNvbmZpZ3VyZToxMTc0NzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjExNzU2OiBjaGVja2luZyBm b3Igd29ya2luZyBtbWFwCmNvbmZpZ3VyZToxMTkwMzogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLW8g Y29uZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgIGNvbmZ0ZXN0 LmMgID4mNSAKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjE2ODox NDogd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ2dldHBhZ2VzaXpl JyBbLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICAxNjggfCAgIHBhZ2VzaXplID0g Z2V0cGFnZXNpemUgKCk7CiAgICAgIHwgICAgICAgICAgICAgIF5+fn5+fn5+fn5+CmNvbmZ0ZXN0 LmM6MTkyOjIwOiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnbW1h cCcgWy1XaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgMTkyIHwgICBkYXRhMiA9IChj aGFyICopIG1tYXAgKDAsIHBhZ2VzaXplLCBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFLCBNQVBfU0hB UkVELCBmZDIsIDBMKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgXn5+fgpjb25mdGVzdC5j OjE5MjozOTogZXJyb3I6ICdQUk9UX1JFQUQnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKQogIDE5MiB8ICAgZGF0YTIgPSAoY2hhciAqKSBtbWFwICgwLCBwYWdlc2l6ZSwg UFJPVF9SRUFEIHwgUFJPVF9XUklURSwgTUFQX1NIQVJFRCwgZmQyLCAwTCk7CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn4KY29uZnRlc3QuYzox OTI6Mzk6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkg b25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCmNvbmZ0ZXN0LmM6MTkyOjUxOiBl cnJvcjogJ1BST1RfV1JJVEUnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9u KQogIDE5MiB8ICAgZGF0YTIgPSAoY2hhciAqKSBtbWFwICgwLCBwYWdlc2l6ZSwgUFJPVF9SRUFE IHwgUFJPVF9XUklURSwgTUFQX1NIQVJFRCwgZmQyLCAwTCk7CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+CmNvbmZ0ZXN0 LmM6MTk5Ojc6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdtdW5t YXAnIFstV2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIDE5OSB8ICAgaWYgKG11bm1h cCAoZGF0YTIsIHBhZ2VzaXplKSkKICAgICAgfCAgICAgICBefn5+fn4KY29uZmlndXJlOjExOTAz OiAkPyA9IDEKY29uZmlndXJlOiBwcm9ncmFtIGV4aXRlZCB3aXRoIHN0YXR1cyAxCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tB R0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251 LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9y Zy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFW RV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9E QVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJT RF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9Q VEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklC U19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAj ZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182 MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAj ZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1f U09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5l IF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNU RU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmlu ZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwg I2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmlu ZSBIQVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1 ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90 eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5 cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3Rk bGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERM SUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFW RV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUg PHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8 c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUg PGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUg PHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1 bmlzdGQuaD4KfCAjZW5kaWYKfCAvKiBtYWxsb2MgbWlnaHQgaGF2ZSBiZWVuIHJlbmFtZWQgYXMg cnBsX21hbGxvYy4gKi8KfCAjdW5kZWYgbWFsbG9jCnwgCnwgLyogVGhhbmtzIHRvIE1pa2UgSGFl cnRlbCBhbmQgSmltIEF2ZXJhIGZvciB0aGlzIHRlc3QuCnwgICAgSGVyZSBpcyBhIG1hdHJpeCBv ZiBtbWFwIHBvc3NpYmlsaXRpZXM6CnwgCW1tYXAgcHJpdmF0ZSBub3QgZml4ZWQKfCAJbW1hcCBw cml2YXRlIGZpeGVkIGF0IHNvbWV3aGVyZSBjdXJyZW50bHkgdW5tYXBwZWQKfCAJbW1hcCBwcml2 YXRlIGZpeGVkIGF0IHNvbWV3aGVyZSBhbHJlYWR5IG1hcHBlZAp8IAltbWFwIHNoYXJlZCBub3Qg Zml4ZWQKfCAJbW1hcCBzaGFyZWQgZml4ZWQgYXQgc29tZXdoZXJlIGN1cnJlbnRseSB1bm1hcHBl ZAp8IAltbWFwIHNoYXJlZCBmaXhlZCBhdCBzb21ld2hlcmUgYWxyZWFkeSBtYXBwZWQKfCAgICBG b3IgcHJpdmF0ZSBtYXBwaW5ncywgd2Ugc2hvdWxkIHZlcmlmeSB0aGF0IGNoYW5nZXMgY2Fubm90 IGJlIHJlYWQoKQp8ICAgIGJhY2sgZnJvbSB0aGUgZmlsZSwgbm9yIG1tYXAncyBiYWNrIGZyb20g dGhlIGZpbGUgYXQgYSBkaWZmZXJlbnQKfCAgICBhZGRyZXNzLiAgKFRoZXJlIGhhdmUgYmVlbiBz eXN0ZW1zIHdoZXJlIHByaXZhdGUgd2FzIG5vdCBjb3JyZWN0bHkKfCAgICBpbXBsZW1lbnRlZCBs aWtlIHRoZSBpbmZhbW91cyBpMzg2IHN2cjQuMCwgYW5kIHN5c3RlbXMgd2hlcmUgdGhlCnwgICAg Vk0gcGFnZSBjYWNoZSB3YXMgbm90IGNvaGVyZW50IHdpdGggdGhlIGZpbGUgc3lzdGVtIGJ1ZmZl ciBjYWNoZQp8ICAgIGxpa2UgZWFybHkgdmVyc2lvbnMgb2YgRnJlZUJTRCBhbmQgcG9zc2libHkg Y29udGVtcG9yYXJ5IE5ldEJTRC4pCnwgICAgRm9yIHNoYXJlZCBtYXBwaW5ncywgd2Ugc2hvdWxk IGNvbnZlcnNlbHkgdmVyaWZ5IHRoYXQgY2hhbmdlcyBnZXQKfCAgICBwcm9wYWdhdGVkIGJhY2sg dG8gYWxsIHRoZSBwbGFjZXMgdGhleSdyZSBzdXBwb3NlZCB0byBiZS4KfCAKfCAgICBHcmVwIHdh bnRzIHByaXZhdGUgZml4ZWQgYWxyZWFkeSBtYXBwZWQuCnwgICAgVGhlIG1haW4gdGhpbmdzIGdy ZXAgbmVlZHMgdG8ga25vdyBhYm91dCBtbWFwIGFyZToKfCAgICAqIGRvZXMgaXQgZXhpc3QgYW5k IGlzIGl0IHNhZmUgdG8gd3JpdGUgaW50byB0aGUgbW1hcCdkIGFyZWEKfCAgICAqIGhvdyB0byB1 c2UgaXQgKEJTRCB2YXJpYW50cykgICovCnwgCnwgI2luY2x1ZGUgPGZjbnRsLmg+CnwgI2luY2x1 ZGUgPHN5cy9tbWFuLmg+CnwgCnwgI2lmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiAhZGVmaW5l ZCBIQVZFX1NURExJQl9ICnwgY2hhciAqbWFsbG9jICgpOwp8ICNlbmRpZgp8IAp8IC8qIFRoaXMg bWVzcyB3YXMgY29waWVkIGZyb20gdGhlIEdOVSBnZXRwYWdlc2l6ZS5oLiAgKi8KfCAjaWZuZGVm IEhBVkVfR0VUUEFHRVNJWkUKfCAjIGlmZGVmIF9TQ19QQUdFU0laRQp8ICMgIGRlZmluZSBnZXRw YWdlc2l6ZSgpIHN5c2NvbmYoX1NDX1BBR0VTSVpFKQp8ICMgZWxzZSAvKiBubyBfU0NfUEFHRVNJ WkUgKi8KfCAjICBpZmRlZiBIQVZFX1NZU19QQVJBTV9ICnwgIyAgIGluY2x1ZGUgPHN5cy9wYXJh bS5oPgp8ICMgICBpZmRlZiBFWEVDX1BBR0VTSVpFCnwgIyAgICBkZWZpbmUgZ2V0cGFnZXNpemUo KSBFWEVDX1BBR0VTSVpFCnwgIyAgIGVsc2UgLyogbm8gRVhFQ19QQUdFU0laRSAqLwp8ICMgICAg aWZkZWYgTkJQRwp8ICMgICAgIGRlZmluZSBnZXRwYWdlc2l6ZSgpIE5CUEcgKiBDTFNJWkUKfCAj ICAgICBpZm5kZWYgQ0xTSVpFCnwgIyAgICAgIGRlZmluZSBDTFNJWkUgMQp8ICMgICAgIGVuZGlm IC8qIG5vIENMU0laRSAqLwp8ICMgICAgZWxzZSAvKiBubyBOQlBHICovCnwgIyAgICAgaWZkZWYg TkJQQwp8ICMgICAgICBkZWZpbmUgZ2V0cGFnZXNpemUoKSBOQlBDCnwgIyAgICAgZWxzZSAvKiBu byBOQlBDICovCnwgIyAgICAgIGlmZGVmIFBBR0VTSVpFCnwgIyAgICAgICBkZWZpbmUgZ2V0cGFn ZXNpemUoKSBQQUdFU0laRQp8ICMgICAgICBlbmRpZiAvKiBQQUdFU0laRSAqLwp8ICMgICAgIGVu ZGlmIC8qIG5vIE5CUEMgKi8KfCAjICAgIGVuZGlmIC8qIG5vIE5CUEcgKi8KfCAjICAgZW5kaWYg Lyogbm8gRVhFQ19QQUdFU0laRSAqLwp8ICMgIGVsc2UgLyogbm8gSEFWRV9TWVNfUEFSQU1fSCAq Lwp8ICMgICBkZWZpbmUgZ2V0cGFnZXNpemUoKSA4MTkyCS8qIHB1bnQgdG90YWxseSAqLwp8ICMg IGVuZGlmIC8qIG5vIEhBVkVfU1lTX1BBUkFNX0ggKi8KfCAjIGVuZGlmIC8qIG5vIF9TQ19QQUdF U0laRSAqLwp8IAp8ICNlbmRpZiAvKiBubyBIQVZFX0dFVFBBR0VTSVpFICovCnwgCnwgaW50Cnwg bWFpbiAoKQp8IHsKfCAgIGNoYXIgKmRhdGEsICpkYXRhMiwgKmRhdGEzOwp8ICAgY29uc3QgY2hh ciAqY2RhdGEyOwp8ICAgaW50IGksIHBhZ2VzaXplOwp8ICAgaW50IGZkLCBmZDI7CnwgCnwgICBw YWdlc2l6ZSA9IGdldHBhZ2VzaXplICgpOwp8IAp8ICAgLyogRmlyc3QsIG1ha2UgYSBmaWxlIHdp dGggc29tZSBrbm93biBnYXJiYWdlIGluIGl0LiAqLwp8ICAgZGF0YSA9IChjaGFyICopIG1hbGxv YyAocGFnZXNpemUpOwp8ICAgaWYgKCFkYXRhKQp8ICAgICByZXR1cm4gMTsKfCAgIGZvciAoaSA9 IDA7IGkgPCBwYWdlc2l6ZTsgKytpKQp8ICAgICAqKGRhdGEgKyBpKSA9IHJhbmQgKCk7CnwgICB1 bWFzayAoMCk7CnwgICBmZCA9IGNyZWF0ICgiY29uZnRlc3QubW1hcCIsIDA2MDApOwp8ICAgaWYg KGZkIDwgMCkKfCAgICAgcmV0dXJuIDI7CnwgICBpZiAod3JpdGUgKGZkLCBkYXRhLCBwYWdlc2l6 ZSkgIT0gcGFnZXNpemUpCnwgICAgIHJldHVybiAzOwp8ICAgY2xvc2UgKGZkKTsKfCAKfCAgIC8q IE5leHQsIGNoZWNrIHRoYXQgdGhlIHRhaWwgb2YgYSBwYWdlIGlzIHplcm8tZmlsbGVkLiAgRmls ZSBtdXN0IGhhdmUKfCAgICAgIG5vbi16ZXJvIGxlbmd0aCwgb3RoZXJ3aXNlIHdlIHJpc2sgU0lH QlVTIGZvciBlbnRpcmUgcGFnZS4gICovCnwgICBmZDIgPSBvcGVuICgiY29uZnRlc3QudHh0Iiwg T19SRFdSIHwgT19DUkVBVCB8IE9fVFJVTkMsIDA2MDApOwp8ICAgaWYgKGZkMiA8IDApCnwgICAg IHJldHVybiA0Owp8ICAgY2RhdGEyID0gIiI7CnwgICBpZiAod3JpdGUgKGZkMiwgY2RhdGEyLCAx KSAhPSAxKQp8ICAgICByZXR1cm4gNTsKfCAgIGRhdGEyID0gKGNoYXIgKikgbW1hcCAoMCwgcGFn ZXNpemUsIFBST1RfUkVBRCB8IFBST1RfV1JJVEUsIE1BUF9TSEFSRUQsIGZkMiwgMEwpOwp8ICAg aWYgKGRhdGEyID09IE1BUF9GQUlMRUQpCnwgICAgIHJldHVybiA2Owp8ICAgZm9yIChpID0gMDsg aSA8IHBhZ2VzaXplOyArK2kpCnwgICAgIGlmICgqKGRhdGEyICsgaSkpCnwgICAgICAgcmV0dXJu IDc7CnwgICBjbG9zZSAoZmQyKTsKfCAgIGlmIChtdW5tYXAgKGRhdGEyLCBwYWdlc2l6ZSkpCnwg ICAgIHJldHVybiA4Owp8IAp8ICAgLyogTmV4dCwgdHJ5IHRvIG1tYXAgdGhlIGZpbGUgYXQgYSBm aXhlZCBhZGRyZXNzIHdoaWNoIGFscmVhZHkgaGFzCnwgICAgICBzb21ldGhpbmcgZWxzZSBhbGxv Y2F0ZWQgYXQgaXQuICBJZiB3ZSBjYW4sIGFsc28gbWFrZSBzdXJlIHRoYXQKfCAgICAgIHdlIHNl ZSB0aGUgc2FtZSBnYXJiYWdlLiAgKi8KfCAgIGZkID0gb3BlbiAoImNvbmZ0ZXN0Lm1tYXAiLCBP X1JEV1IpOwp8ICAgaWYgKGZkIDwgMCkKfCAgICAgcmV0dXJuIDk7CnwgICBpZiAoZGF0YTIgIT0g bW1hcCAoZGF0YTIsIHBhZ2VzaXplLCBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFLAp8IAkJICAgICBN QVBfUFJJVkFURSB8IE1BUF9GSVhFRCwgZmQsIDBMKSkKfCAgICAgcmV0dXJuIDEwOwp8ICAgZm9y IChpID0gMDsgaSA8IHBhZ2VzaXplOyArK2kpCnwgICAgIGlmICgqKGRhdGEgKyBpKSAhPSAqKGRh dGEyICsgaSkpCnwgICAgICAgcmV0dXJuIDExOwp8IAp8ICAgLyogRmluYWxseSwgbWFrZSBzdXJl IHRoYXQgY2hhbmdlcyB0byB0aGUgbWFwcGVkIGFyZWEgZG8gbm90CnwgICAgICBwZXJjb2xhdGUg YmFjayB0byB0aGUgZmlsZSBhcyBzZWVuIGJ5IHJlYWQoKS4gIChUaGlzIGlzIGEgYnVnIG9uCnwg ICAgICBzb21lIHZhcmlhbnRzIG9mIGkzODYgc3ZyNC4wLikgICovCnwgICBmb3IgKGkgPSAwOyBp IDwgcGFnZXNpemU7ICsraSkKfCAgICAgKihkYXRhMiArIGkpID0gKihkYXRhMiArIGkpICsgMTsK fCAgIGRhdGEzID0gKGNoYXIgKikgbWFsbG9jIChwYWdlc2l6ZSk7CnwgICBpZiAoIWRhdGEzKQp8 ICAgICByZXR1cm4gMTI7CnwgICBpZiAocmVhZCAoZmQsIGRhdGEzLCBwYWdlc2l6ZSkgIT0gcGFn ZXNpemUpCnwgICAgIHJldHVybiAxMzsKfCAgIGZvciAoaSA9IDA7IGkgPCBwYWdlc2l6ZTsgKytp KQp8ICAgICBpZiAoKihkYXRhICsgaSkgIT0gKihkYXRhMyArIGkpKQp8ICAgICAgIHJldHVybiAx NDsKfCAgIGNsb3NlIChmZCk7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxMTkxMzogcmVz dWx0OiBubwpjb25maWd1cmU6MTE5MzE6IGNoZWNraW5nIGZvciBtYWluIGluIC1sWGJzZApjb25m aWd1cmU6MTE5NTA6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8y IC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgICBjb25mdGVzdC5jIC1sWGJzZCAgICA+JjUgCkM6 L21zeXM2NC9taW5ndzY0L2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi8xMC4yLjAv Li4vLi4vLi4vLi4veDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IGNhbm5vdCBmaW5kIC1s WGJzZApjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZp Z3VyZToxMTk1MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNv bmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUg UEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41 MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5l IFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNL QUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBN QUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVB REVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU QVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg MQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwg I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5l IF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dO VV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0Rf U09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBf X1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FO VF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9E RlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEK fCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBf X1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19G VU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9Y T1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmlu ZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5l IEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVf TUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZF X1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJB TV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAx CnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNk ZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNk ZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVm aW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwg CnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gbWFpbiAoKTsKfCAgIDsKfCAgIHJldHVybiAw Owp8IH0KY29uZmlndXJlOjExOTU5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMjA0NTogY2hlY2tp bmcgZm9yIHRocmVhZCBzdXBwb3J0CmNvbmZpZ3VyZToxMjA2MTogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjEyMzA4OiBjaGVja2luZyBmb3IgbGlicnN2Zy0yLjAgPj0gMi4xNC4wCmNvbmZpZ3VyZTox MjMxNTogJFBLR19DT05GSUcgLS1leGlzdHMgLS1wcmludC1lcnJvcnMgIiRSU1ZHX01PRFVMRSIK Y29uZmlndXJlOjEyMzE4OiAkPyA9IDAKY29uZmlndXJlOjEyMzMyOiAkUEtHX0NPTkZJRyAtLWV4 aXN0cyAtLXByaW50LWVycm9ycyAiJFJTVkdfTU9EVUxFIgpjb25maWd1cmU6MTIzMzU6ICQ/ID0g MApjb25maWd1cmU6MTIzNzM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMjU5OTogY2hlY2tpbmcg Zm9yIGdldGFkZHJpbmZvX2EgaW4gLWxhbmwKY29uZmlndXJlOjEyNjI0OiBnY2MgLUkgLi4vc3Jj L250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgLWlzeXN0ZW0gQzovbXN5 czY0L21pbmd3NjQvaW5jbHVkZS9saWJyc3ZnLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2 NC9pbmNsdWRlL2dsaWItMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2xpYi9nbGliLTIu MC9pbmNsdWRlIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUgLW1tcy1iaXRmaWVs ZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtaXN5 c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xpYnBuZzE2IC1tbXMtYml0ZmllbGRzIC1w dGhyZWFkIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUv Y2Fpcm8gLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9sem8gLWlzeXN0ZW0gQzov bXN5czY0L21pbmd3NjQvaW5jbHVkZS9mcmVldHlwZTIgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3 NjQvaW5jbHVkZS9oYXJmYnV6eiAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWlu Z3c2NC9pbmNsdWRlL3BpeG1hbi0xICAtbXR1bmU9Z2VuZXJpYyAgICBjb25mdGVzdC5jIC1sYW5s ICAgID4mNSAKQzovbXN5czY0L21pbmd3NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5n dzMyLzEwLjIuMC8uLi8uLi8uLi8uLi94ODZfNjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogY2Fu bm90IGZpbmQgLWxhbmwKY29sbGVjdDIuZXhlOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0 YXR1cwpjb25maWd1cmU6MTI2MjQ6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIK fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJ T04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAi CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNk ZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8 ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmlu ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAx CnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAj ZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5l IF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8 ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUg X19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9J RUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5D U19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8 ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9N QVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBf SFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2 NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQi CnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2Rl ZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNk ZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf TElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJ VF9IIDEKfCAjZGVmaW5lIEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0Vf QVBJIDEKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0la RSAxCnwgI2RlZmluZSBVU0VfTU1BUF9GT1JfQlVGRkVSUyAxCnwgI2RlZmluZSBUSFJFQURTX0VO QUJMRUQgMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg CnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJy b3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBl IG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdv dWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwg I2VuZGlmCnwgY2hhciBnZXRhZGRyaW5mb19hICgpOwp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0 dXJuIGdldGFkZHJpbmZvX2EgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTox MjYzMzogcmVzdWx0OiBubwpjb25maWd1cmU6MTMwNzY6IGNoZWNraW5nIGZvciBkYnVzLTEgPj0g MS4wCmNvbmZpZ3VyZToxMzA4MzogJFBLR19DT05GSUcgLS1leGlzdHMgLS1wcmludC1lcnJvcnMg ImRidXMtMSA+PSAxLjAiClBhY2thZ2UgZGJ1cy0xIHdhcyBub3QgZm91bmQgaW4gdGhlIHBrZy1j b25maWcgc2VhcmNoIHBhdGguClBlcmhhcHMgeW91IHNob3VsZCBhZGQgdGhlIGRpcmVjdG9yeSBj b250YWluaW5nIGBkYnVzLTEucGMnCnRvIHRoZSBQS0dfQ09ORklHX1BBVEggZW52aXJvbm1lbnQg dmFyaWFibGUKUGFja2FnZSAnZGJ1cy0xJywgcmVxdWlyZWQgYnkgJ3ZpcnR1YWw6d29ybGQnLCBu b3QgZm91bmQKY29uZmlndXJlOjEzMDg2OiAkPyA9IDEKY29uZmlndXJlOjEzMTAwOiAkUEtHX0NP TkZJRyAtLWV4aXN0cyAtLXByaW50LWVycm9ycyAiZGJ1cy0xID49IDEuMCIKUGFja2FnZSBkYnVz LTEgd2FzIG5vdCBmb3VuZCBpbiB0aGUgcGtnLWNvbmZpZyBzZWFyY2ggcGF0aC4KUGVyaGFwcyB5 b3Ugc2hvdWxkIGFkZCB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYGRidXMtMS5wYycKdG8gdGhl IFBLR19DT05GSUdfUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZQpQYWNrYWdlICdkYnVzLTEnLCBy ZXF1aXJlZCBieSAndmlydHVhbDp3b3JsZCcsIG5vdCBmb3VuZApjb25maWd1cmU6MTMxMDM6ICQ/ ID0gMQpjb25maWd1cmU6MTMxMTc6IHJlc3VsdDogbm8KUGFja2FnZSAnZGJ1cy0xJywgcmVxdWly ZWQgYnkgJ3ZpcnR1YWw6d29ybGQnLCBub3QgZm91bmQKY29uZmlndXJlOjEzNDc2OiBjaGVja2lu ZyBmb3IgbGdldGZpbGVjb24gaW4gLWxzZWxpbnV4CmNvbmZpZ3VyZToxMzUwMTogZ2NjIC1JIC4u L3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0yIC1pc3lzdGVtIEM6 L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicnN2Zy0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21p bmd3NjQvaW5jbHVkZS9nbGliLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9saWIvZ2xp Yi0yLjAvaW5jbHVkZSAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlIC1tbXMtYml0 ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAg LWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9saWJwbmcxNiAtbW1zLWJpdGZpZWxk cyAtcHRocmVhZCAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNs dWRlL2NhaXJvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbHpvIC1pc3lzdGVt IEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZnJlZXR5cGUyIC1pc3lzdGVtIEM6L21zeXM2NC9t aW5ndzY0L2luY2x1ZGUvaGFyZmJ1enogLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0 L21pbmd3NjQvaW5jbHVkZS9waXhtYW4tMSAgLW10dW5lPWdlbmVyaWMgICAgY29uZnRlc3QuYyAt bHNlbGludXggICAgPiY1IApDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQt dzY0LW1pbmd3MzIvMTAuMi4wLy4uLy4uLy4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQu ZXhlOiBjYW5ub3QgZmluZCAtbHNlbGludXgKY29sbGVjdDIuZXhlOiBlcnJvcjogbGQgcmV0dXJu ZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTM1MDE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxl ZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUg IkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVt YWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0Bn bnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdh cmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBF UiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VY VEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0Nf U09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNF IDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9T RU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18g MQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBf X1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lF Q182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQ RVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBf X1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAx CnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9P RkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUg IndpbmRvd3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9T T1VORCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09V UkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUg SEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9O QVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFW RV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBVU0VfTU1BUF9GT1JfQlVGRkVSUyAxCnwgI2RlZmlu ZSBUSFJFQURTX0VOQUJMRUQgMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAvKiBlbmQgY29uZmRl ZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8g YXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhl IHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQg cHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBl eHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBsZ2V0ZmlsZWNvbiAoKTsKfCBpbnQKfCBtYWluICgp Cnwgewp8IHJldHVybiBsZ2V0ZmlsZWNvbiAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29u ZmlndXJlOjEzNTEwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMzUzMTogY2hlY2tpbmcgZm9yIGdu dXRscyA+PSAyLjEyLjIKY29uZmlndXJlOjEzNTM4OiAkUEtHX0NPTkZJRyAtLWV4aXN0cyAtLXBy aW50LWVycm9ycyAiZ251dGxzID49IDIuMTIuMiIKY29uZmlndXJlOjEzNTQxOiAkPyA9IDAKY29u ZmlndXJlOjEzNTU1OiAkUEtHX0NPTkZJRyAtLWV4aXN0cyAtLXByaW50LWVycm9ycyAiZ251dGxz ID49IDIuMTIuMiIKY29uZmlndXJlOjEzNTU4OiAkPyA9IDAKY29uZmlndXJlOjEzNTk2OiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MTM2MjA6IGNoZWNraW5nIGZvciBsaWJzeXN0ZW1kID49IDIyMgpj b25maWd1cmU6MTM2Mjc6ICRQS0dfQ09ORklHIC0tZXhpc3RzIC0tcHJpbnQtZXJyb3JzICJsaWJz eXN0ZW1kID49IDIyMiIKUGFja2FnZSBsaWJzeXN0ZW1kIHdhcyBub3QgZm91bmQgaW4gdGhlIHBr Zy1jb25maWcgc2VhcmNoIHBhdGguClBlcmhhcHMgeW91IHNob3VsZCBhZGQgdGhlIGRpcmVjdG9y eSBjb250YWluaW5nIGBsaWJzeXN0ZW1kLnBjJwp0byB0aGUgUEtHX0NPTkZJR19QQVRIIGVudmly b25tZW50IHZhcmlhYmxlClBhY2thZ2UgJ2xpYnN5c3RlbWQnLCByZXF1aXJlZCBieSAndmlydHVh bDp3b3JsZCcsIG5vdCBmb3VuZApjb25maWd1cmU6MTM2MzA6ICQ/ID0gMQpjb25maWd1cmU6MTM2 NDQ6ICRQS0dfQ09ORklHIC0tZXhpc3RzIC0tcHJpbnQtZXJyb3JzICJsaWJzeXN0ZW1kID49IDIy MiIKUGFja2FnZSBsaWJzeXN0ZW1kIHdhcyBub3QgZm91bmQgaW4gdGhlIHBrZy1jb25maWcgc2Vh cmNoIHBhdGguClBlcmhhcHMgeW91IHNob3VsZCBhZGQgdGhlIGRpcmVjdG9yeSBjb250YWluaW5n IGBsaWJzeXN0ZW1kLnBjJwp0byB0aGUgUEtHX0NPTkZJR19QQVRIIGVudmlyb25tZW50IHZhcmlh YmxlClBhY2thZ2UgJ2xpYnN5c3RlbWQnLCByZXF1aXJlZCBieSAndmlydHVhbDp3b3JsZCcsIG5v dCBmb3VuZApjb25maWd1cmU6MTM2NDc6ICQ/ID0gMQpjb25maWd1cmU6MTM2NjE6IHJlc3VsdDog bm8KUGFja2FnZSAnbGlic3lzdGVtZCcsIHJlcXVpcmVkIGJ5ICd2aXJ0dWFsOndvcmxkJywgbm90 IGZvdW5kCmNvbmZpZ3VyZToxMzcwNjogY2hlY2tpbmcgZm9yIGphbnNzb24gPj0gMi43CmNvbmZp Z3VyZToxMzcxMzogJFBLR19DT05GSUcgLS1leGlzdHMgLS1wcmludC1lcnJvcnMgImphbnNzb24g Pj0gMi43Igpjb25maWd1cmU6MTM3MTY6ICQ/ID0gMApjb25maWd1cmU6MTM3MzA6ICRQS0dfQ09O RklHIC0tZXhpc3RzIC0tcHJpbnQtZXJyb3JzICJqYW5zc29uID49IDIuNyIKY29uZmlndXJlOjEz NzMzOiAkPyA9IDAKY29uZmlndXJlOjEzNzcxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTM4MDM6 IGNoZWNraW5nIHdpbmRvd3MuaCB1c2FiaWxpdHkKY29uZmlndXJlOjEzODAzOiBnY2MgLUkgLi4v c3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2 NC9pbmNsdWRlL2xpYnJzdmctMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUv Z2xpYi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvbGliL2dsaWItMi4wL2luY2x1ZGUg LWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZSAtbW1zLWJpdGZpZWxkcyAtaXN5c3Rl bSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1pc3lzdGVtIEM6L21z eXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicG5nMTYgLW1tcy1iaXRmaWVsZHMgLXB0aHJlYWQgLW1t cy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9jYWlybyAtaXN5 c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2x6byAtaXN5c3RlbSBDOi9tc3lzNjQvbWlu Z3c2NC9pbmNsdWRlL2ZyZWV0eXBlMiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRl L2hhcmZidXp6IC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1 ZGUvcGl4bWFuLTEgIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjEz ODAzOiAkPyA9IDAKY29uZmlndXJlOjEzODAzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTM4MDM6 IGNoZWNraW5nIHdpbmRvd3MuaCBwcmVzZW5jZQpjb25maWd1cmU6MTM4MDM6IGdjYyAtSSAuLi9z cmMvbnQvaW5jIC1FIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYwpjb25maWd1cmU6MTM4MDM6 ICQ/ID0gMApjb25maWd1cmU6MTM4MDM6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzgwMzogY2hl Y2tpbmcgZm9yIHdpbmRvd3MuaApjb25maWd1cmU6MTM4MDM6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToxNDUzNjogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJmLTIgLWlzeXN0 ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9saWJyc3ZnLTIuMCAtaXN5c3RlbSBDOi9tc3lz NjQvbWluZ3c2NC9pbmNsdWRlL2dsaWItMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2xp Yi9nbGliLTIuMC9pbmNsdWRlIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUgLW1t cy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nZGstcGl4YnVm LTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xpYnBuZzE2IC1tbXMtYml0 ZmllbGRzIC1wdGhyZWFkIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0 L2luY2x1ZGUvY2Fpcm8gLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9sem8gLWlz eXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9mcmVldHlwZTIgLWlzeXN0ZW0gQzovbXN5 czY0L21pbmd3NjQvaW5jbHVkZS9oYXJmYnV6eiAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9t c3lzNjQvbWluZ3c2NC9pbmNsdWRlL3BpeG1hbi0xICAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0 LmMgPiY1CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL1gx MS9YbGliLmg6MzEsCiAgICAgICAgICAgICAgICAgZnJvbSBjb25mdGVzdC5jOjcyOgpDOi9tc3lz NjQvbWluZ3c2NC9pbmNsdWRlL1gxMS9YLmg6NDQ6MjY6IGVycm9yOiBleHBlY3RlZCAnPScsICcs JywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdYSUQnCiAgIDQ0IHwgdHlw ZWRlZiB1bnNpZ25lZCBfX2ludDY0IFhJRDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+CkM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvWDExL1guaDo0OTo5OiBlcnJvcjogdW5r bm93biB0eXBlIG5hbWUgJ1hJRCcKICAgNDkgfCB0eXBlZGVmIFhJRCBXaW5kb3c7CiAgICAgIHwg ICAgICAgICBefn4KQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9YMTEvWC5oOjUwOjk6IGVycm9y OiB1bmtub3duIHR5cGUgbmFtZSAnWElEJwogICA1MCB8IHR5cGVkZWYgWElEIERyYXdhYmxlOwog ICAgICB8ICAgICAgICAgXn5+CkM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvWDExL1guaDo1MTo5 OiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ1hJRCcKICAgNTEgfCB0eXBlZGVmIFhJRCBGb250 OwogICAgICB8ICAgICAgICAgXn5+CkM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvWDExL1guaDo1 Mjo5OiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ1hJRCcKICAgNTIgfCB0eXBlZGVmIFhJRCBQ aXhtYXA7CiAgICAgIHwgICAgICAgICBefn4KQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9YMTEv WC5oOjUzOjk6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnWElEJwogICA1MyB8IHR5cGVkZWYg WElEIEN1cnNvcjsKICAgICAgfCAgICAgICAgIF5+fgpDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRl L1gxMS9YLmg6NTQ6OTogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdYSUQnCiAgIDU0IHwgdHlw ZWRlZiBYSUQgQ29sb3JtYXA7CiAgICAgIHwgICAgICAgICBefn4KQzovbXN5czY0L21pbmd3NjQv aW5jbHVkZS9YMTEvWC5oOjU1Ojk6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnWElEJwogICA1 NSB8IHR5cGVkZWYgWElEIEdDb250ZXh0OwogICAgICB8ICAgICAgICAgXn5+CkM6L21zeXM2NC9t aW5ndzY0L2luY2x1ZGUvWDExL1guaDo1Njo5OiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ1hJ RCcKICAgNTYgfCB0eXBlZGVmIFhJRCBLZXlTeW07CiAgICAgIHwgICAgICAgICBefn4KSW4gZmls ZSBpbmNsdWRlZCBmcm9tIGNvbmZ0ZXN0LmM6NzI6CkM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUv WDExL1hsaWIuaDo0NTI6OTogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdYSUQnCiAgNDUyIHwg ICAgICAgICBYSUQgcmVzb3VyY2VfYmFzZTsgLyogcmVzb3VyY2UgSUQgYmFzZSAqLwogICAgICB8 ICAgICAgICAgXn5+CkM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvWDExL1hsaWIuaDo0NTM6Mjog ZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdYSUQnCiAgNDUzIHwgIFhJRCByZXNvdXJjZV9tYXNr OyAvKiByZXNvdXJjZSBJRCBtYXNrIGJpdHMgKi8KICAgICAgfCAgXn5+CkM6L21zeXM2NC9taW5n dzY0L2luY2x1ZGUvWDExL1hsaWIuaDo0NTQ6MjogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdY SUQnCiAgNDU0IHwgIFhJRCByZXNvdXJjZV9pZDsgLyogYWxsb2NhdG9yIGN1cnJlbnQgSUQgKi8K ICAgICAgfCAgXn5+CkM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvWDExL1hsaWIuaDo0NTY6Mjog ZXJyb3I6IGV4cGVjdGVkIHNwZWNpZmllci1xdWFsaWZpZXItbGlzdCBiZWZvcmUgJ1hJRCcKICA0 NTYgfCAgWElEICgqcmVzb3VyY2VfYWxsb2MpKCk7IC8qIGFsbG9jYXRvciBmdW5jdGlvbiAqLwog ICAgICB8ICBefn4KQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9YMTEvWGxpYi5oOjkxMDoyOiBl cnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ1hJRCcKICA5MTAgfCAgWElEIHJlc291cmNlaWQ7ICAv KiByZXNvdXJjZSBpZCAqLwogICAgICB8ICBefn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIEM6L21z eXM2NC9taW5ndzY0L2luY2x1ZGUvdGtJbnRYbGliRGVjbHMuaDozMCwKICAgICAgICAgICAgICAg ICBmcm9tIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvWDExL1hsaWIuaDoxMTk5LAogICAgICAg ICAgICAgICAgIGZyb20gY29uZnRlc3QuYzo3MjoKQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9Y MTEvWHV0aWwuaDoxMDA6MjogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdYSUQnCiAgMTAwIHwg IFhJRCB3aW5kb3dfZ3JvdXA7IC8qIGlkIG9mIHJlbGF0ZWQgd2luZG93IGdyb3VwICovCiAgICAg IHwgIF5+fgpDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL1gxMS9YdXRpbC5oOjI2ODoyOiBlcnJv cjogdW5rbm93biB0eXBlIG5hbWUgJ1hJRCcKICAyNjggfCAgWElEIGtpbGxpZDsgICAvKiBhZGRl ZCBieSBJQ0NDTSB2ZXJzaW9uIDEgKi8KICAgICAgfCAgXn5+CkM6L21zeXM2NC9taW5ndzY0L2lu Y2x1ZGUvWDExL1h1dGlsLmg6MzU2OjU6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnWElEJzsg ZGlkIHlvdSBtZWFuICdYSUMnPwogIDM1NiB8ICAgICBYSUQgICAvKiByaWQgKi8sCiAgICAgIHwg ICAgIF5+fgogICAgICB8ICAgICBYSUMKQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9YMTEvWHV0 aWwuaDozODM6NTogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdYSUQnOyBkaWQgeW91IG1lYW4g J1hJQyc/CiAgMzgzIHwgICAgIFhJRCAgIC8qIHJpZCAqLywKICAgICAgfCAgICAgXn5+CiAgICAg IHwgICAgIFhJQwpDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL1gxMS9YdXRpbC5oOjU3NTo1OiBl cnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ1hJRCc7IGRpZCB5b3UgbWVhbiAnWElDJz8KICA1NzUg fCAgICAgWElEICAgLyogcmlkICovLAogICAgICB8ICAgICBefn4KICAgICAgfCAgICAgWElDCmNv bmZ0ZXN0LmM6NzM6MTM6IGZhdGFsIGVycm9yOiBYMTEvWHJlc291cmNlLmg6IE5vIHN1Y2ggZmls ZSBvciBkaXJlY3RvcnkKICAgNzMgfCAgICAjaW5jbHVkZSA8WDExL1hyZXNvdXJjZS5oPgogICAg ICB8ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQu CmNvbmZpZ3VyZToxNDUzNjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8 IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNk ZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi MjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAj ZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmlu ZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2Rl ZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNU RENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1Nf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAj ZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZp bmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09Q RU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2Rl ZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NU RENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182 MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VY VF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2Rl ZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhf U1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVY X0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0Cnwg I2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIKfCAj ZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5l IEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmlu ZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf Q0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1J VFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK fCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0gg MQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9JTUFHRV9BUEkg MQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEK fCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxF RCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZp bmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9G SUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLwp8IAp8IAkgICNpbmNsdWRlIDxYMTEvWGxpYi5oPgp8IAkgICNpbmNs dWRlIDxYMTEvWHJlc291cmNlLmg+CnwgaW50CnwgbWFpbiAoKQp8IHsKfCBYSU1Qcm9jICBjYWxs YmFjazsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE1NDcxOiBjaGVja2luZyBm b3IgaGFyZmJ1enogPj0gMS4yLjMKY29uZmlndXJlOjE1NDc4OiAkUEtHX0NPTkZJRyAtLWV4aXN0 cyAtLXByaW50LWVycm9ycyAiaGFyZmJ1enogPj0gJGhhcmZidXp6X3JlcXVpcmVkX3ZlciIKY29u ZmlndXJlOjE1NDgxOiAkPyA9IDAKY29uZmlndXJlOjE1NDk1OiAkUEtHX0NPTkZJRyAtLWV4aXN0 cyAtLXByaW50LWVycm9ycyAiaGFyZmJ1enogPj0gJGhhcmZidXp6X3JlcXVpcmVkX3ZlciIKY29u ZmlndXJlOjE1NDk4OiAkPyA9IDAKY29uZmlndXJlOjE1NTM2OiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MTU4NjA6IGNoZWNraW5nIGZvciBYMTEveHBtLmgKY29uZmlndXJlOjE1ODYwOiBnY2MgLUkg Li4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtaXN5c3RlbSBDOi9tc3lzNjQvbWlu Z3c2NC9pbmNsdWRlL2xpYnJzdmctMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1 ZGUvZ2xpYi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvbGliL2dsaWItMi4wL2luY2x1 ZGUgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZSAtbW1zLWJpdGZpZWxkcyAtaXN5 c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1pc3lzdGVtIEM6 L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicG5nMTYgLW1tcy1iaXRmaWVsZHMgLXB0aHJlYWQg LW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9jYWlybyAt aXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2x6byAtaXN5c3RlbSBDOi9tc3lzNjQv bWluZ3c2NC9pbmNsdWRlL2ZyZWV0eXBlMiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNs dWRlL2hhcmZidXp6IC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2lu Y2x1ZGUvcGl4bWFuLTEgIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJl OjE1ODYwOiAkPyA9IDAKY29uZmlndXJlOjE1ODYwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTU4 ODc6IGNoZWNraW5nIGZvciBqcGVnbGliIDZiIG9yIGxhdGVyCmNvbmZpZ3VyZToxNTkyMDogZ2Nj IC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0yIC1pc3lz dGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicnN2Zy0yLjAgLWlzeXN0ZW0gQzovbXN5 czY0L21pbmd3NjQvaW5jbHVkZS9nbGliLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9s aWIvZ2xpYi0yLjAvaW5jbHVkZSAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlIC1t bXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2RrLXBpeGJ1 Zi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9saWJwbmcxNiAtbW1zLWJp dGZpZWxkcyAtcHRocmVhZCAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2 NC9pbmNsdWRlL2NhaXJvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbHpvIC1p c3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZnJlZXR5cGUyIC1pc3lzdGVtIEM6L21z eXM2NC9taW5ndzY0L2luY2x1ZGUvaGFyZmJ1enogLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzov bXN5czY0L21pbmd3NjQvaW5jbHVkZS9waXhtYW4tMSAgLW10dW5lPWdlbmVyaWMgICAgY29uZnRl c3QuYyAgID4mNSAKQzovbXN5czY0L21pbmd3NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1t aW5ndzMyLzEwLjIuMC8uLi8uLi8uLi8uLi94ODZfNjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTog QzpcbXN5czY0XHRtcFxjY242TVlKay5vOiBpbiBmdW5jdGlvbiBgbWFpbic6CkM6XG1zeXM2NFxo b21lXFZXaW5Vc2VyMFxEb3dubG9hZHNcZW1hY3NcbmF0aXZlLWNvbXBcYnVpbGQvY29uZnRlc3Qu Yzo4NTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBganBlZ19DcmVhdGVEZWNvbXByZXNzJwpDOi9t c3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvMTAuMi4wLy4u Ly4uLy4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBDOlxtc3lzNjRcaG9tZVxW V2luVXNlcjBcRG93bmxvYWRzXGVtYWNzXG5hdGl2ZS1jb21wXGJ1aWxkL2NvbmZ0ZXN0LmM6ODc6 IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGpwZWdfZGVzdHJveV9kZWNvbXByZXNzJwpjb2xsZWN0 Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNTkyMDog JD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8K fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJO QU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5l IFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVH UkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0 cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1Ag MQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2Rl ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg SEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNF IDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8 ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAj ZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9J RUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlf QkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8 ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9f U1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9M SUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAj ZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRf QVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAx CnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNU RU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVm aW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBI QVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lO VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lU SF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9O VEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVN X01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQ X0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZF X1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAj ZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2Rl ZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVm aW5lIEhBVkVfSEFSRkJVWlogMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8IC8qIGVuZCBjb25mZGVm cy5oLiAgKi8KfCAjdW5kZWYgSEFWRV9TVERMSUJfSCAvKiBBdm9pZCBjb25maWcuaC9qcGVnbGli LmggY29sbGlzaW9uLiAgKi8KfCAJCSNpbmNsdWRlIDxzdGRpby5oPiAvKiBqcGVnbGliLmggbmVl ZHMgRklMRSBhbmQgc2l6ZV90LiAgKi8KfCAJCSNpbmNsdWRlIDxqcGVnbGliLmg+CnwgCQkjaW5j bHVkZSA8amVycm9yLmg+CnwgCQljaGFyIHZlcmlmeVtKUEVHX0xJQl9WRVJTSU9OIDwgNjIgPyAt MSA6IDFdOwp8IAkJc3RydWN0IGpwZWdfZGVjb21wcmVzc19zdHJ1Y3QgY2luZm87CnwgCnwgaW50 CnwgbWFpbiAoKQp8IHsKfCAKfCAJCWpwZWdfY3JlYXRlX2RlY29tcHJlc3MgKCZjaW5mbyk7Cnwg CQlXQVJOTVMgKCZjaW5mbywgSldSTl9KUEVHX0VPRik7CnwgCQlqcGVnX2Rlc3Ryb3lfZGVjb21w cmVzcyAoJmNpbmZvKTsKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE1OTIw OiBnY2MgLUkgLi4vc3JjL250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIg LWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9saWJyc3ZnLTIuMCAtaXN5c3RlbSBD Oi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2dsaWItMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5n dzY0L2xpYi9nbGliLTIuMC9pbmNsdWRlIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1 ZGUgLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nZGst cGl4YnVmLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xpYnBuZzE2IC1t bXMtYml0ZmllbGRzIC1wdGhyZWFkIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9t aW5ndzY0L2luY2x1ZGUvY2Fpcm8gLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9s em8gLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9mcmVldHlwZTIgLWlzeXN0ZW0g QzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9oYXJmYnV6eiAtbW1zLWJpdGZpZWxkcyAtaXN5c3Rl bSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL3BpeG1hbi0xICAtbXR1bmU9Z2VuZXJpYyAgICBj b25mdGVzdC5jICAgLWxqcGVnID4mNSAKY29uZmlndXJlOjE1OTIwOiAkPyA9IDAKY29uZmlndXJl OjE1OTMxOiByZXN1bHQ6IC1sanBlZwpjb25maWd1cmU6MTU5NTQ6IGNoZWNraW5nIGZvciBsY21z Mgpjb25maWd1cmU6MTU5NjE6ICRQS0dfQ09ORklHIC0tZXhpc3RzIC0tcHJpbnQtZXJyb3JzICJs Y21zMiIKY29uZmlndXJlOjE1OTY0OiAkPyA9IDAKY29uZmlndXJlOjE1OTc4OiAkUEtHX0NPTkZJ RyAtLWV4aXN0cyAtLXByaW50LWVycm9ycyAibGNtczIiCmNvbmZpZ3VyZToxNTk4MTogJD8gPSAw CmNvbmZpZ3VyZToxNjAxOTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2MDQxOiBjaGVja2luZyBm b3IgbGlicmFyeSBjb250YWluaW5nIGluZmxhdGVFbmQKY29uZmlndXJlOjE2MDcyOiBnY2MgLUkg Li4vc3JjL250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgLWlzeXN0ZW0g QzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9saWJyc3ZnLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQv bWluZ3c2NC9pbmNsdWRlL2dsaWItMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2xpYi9n bGliLTIuMC9pbmNsdWRlIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUgLW1tcy1i aXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nZGstcGl4YnVmLTIu MCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xpYnBuZzE2IC1tbXMtYml0Zmll bGRzIC1wdGhyZWFkIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2lu Y2x1ZGUvY2Fpcm8gLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9sem8gLWlzeXN0 ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9mcmVldHlwZTIgLWlzeXN0ZW0gQzovbXN5czY0 L21pbmd3NjQvaW5jbHVkZS9oYXJmYnV6eiAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lz NjQvbWluZ3c2NC9pbmNsdWRlL3BpeG1hbi0xICAtbXR1bmU9Z2VuZXJpYyAgICBjb25mdGVzdC5j ICAgPiY1IApDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3 MzIvMTAuMi4wLy4uLy4uLy4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBDOlxt c3lzNjRcdG1wXGNjZ3JYT0tOLm86IGluIGZ1bmN0aW9uIGBtYWluJzoKQzpcbXN5czY0XGhvbWVc VldpblVzZXIwXERvd25sb2Fkc1xlbWFjc1xuYXRpdmUtY29tcFxidWlsZC9jb25mdGVzdC5jOjg3 OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBpbmZsYXRlRW5kJwpjb2xsZWN0Mi5leGU6IGVycm9y OiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNjA3MjogJD8gPSAxCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBB Q0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIK fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RS SU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWct Z251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251 Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUg SEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5l IF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05F VEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJ WF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRU UklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEK fCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19T VERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lF Q182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEK fCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5E RU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVm aW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBT WVNURU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2Rl ZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElS RU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19U SU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAx CnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2Rl ZmluZSBIQVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwg I2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJT IDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNk ZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVf VzMyTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9P TEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFS RkJVWlogMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVm aW5lIEhBVkVfTENNUzIgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBPdmVycmlk ZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2Ug Y2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAg ICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBw bHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFy IGluZmxhdGVFbmQgKCk7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gaW5mbGF0ZUVuZCAo KTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE2MDcyOiBnY2MgLUkgLi4vc3Jj L250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgLWlzeXN0ZW0gQzovbXN5 czY0L21pbmd3NjQvaW5jbHVkZS9saWJyc3ZnLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2 NC9pbmNsdWRlL2dsaWItMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2xpYi9nbGliLTIu MC9pbmNsdWRlIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUgLW1tcy1iaXRmaWVs ZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtaXN5 c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xpYnBuZzE2IC1tbXMtYml0ZmllbGRzIC1w dGhyZWFkIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUv Y2Fpcm8gLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9sem8gLWlzeXN0ZW0gQzov bXN5czY0L21pbmd3NjQvaW5jbHVkZS9mcmVldHlwZTIgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3 NjQvaW5jbHVkZS9oYXJmYnV6eiAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWlu Z3c2NC9pbmNsdWRlL3BpeG1hbi0xICAtbXR1bmU9Z2VuZXJpYyAgICBjb25mdGVzdC5jIC1seiAg ICA+JjUgCmNvbmZpZ3VyZToxNjA3MjogJD8gPSAwCmNvbmZpZ3VyZToxNjA4OTogcmVzdWx0OiAt bHoKY29uZmlndXJlOjE2MTU0OiBjaGVja2luZyBmb3IgZGxhZGRyCmNvbmZpZ3VyZToxNjE1NDog Z2NjIC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0yIC1p c3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicnN2Zy0yLjAgLWlzeXN0ZW0gQzov bXN5czY0L21pbmd3NjQvaW5jbHVkZS9nbGliLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2 NC9saWIvZ2xpYi0yLjAvaW5jbHVkZSAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRl IC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2RrLXBp eGJ1Zi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9saWJwbmcxNiAtbW1z LWJpdGZpZWxkcyAtcHRocmVhZCAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWlu Z3c2NC9pbmNsdWRlL2NhaXJvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbHpv IC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZnJlZXR5cGUyIC1pc3lzdGVtIEM6 L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvaGFyZmJ1enogLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0g QzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9waXhtYW4tMSAgLW10dW5lPWdlbmVyaWMgICAgY29u ZnRlc3QuYyAgICA+JjUgCkM6L21zeXM2NC9taW5ndzY0L2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC13 NjQtbWluZ3czMi8xMC4yLjAvLi4vLi4vLi4vLi4veDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5l eGU6IEM6XG1zeXM2NFx0bXBcY2M4SEtFY0cubzogaW4gZnVuY3Rpb24gYG1haW4nOgpDOlxtc3lz NjRcaG9tZVxWV2luVXNlcjBcRG93bmxvYWRzXGVtYWNzXG5hdGl2ZS1jb21wXGJ1aWxkL2NvbmZ0 ZXN0LmM6MTExOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBkbGFkZHInCmNvbGxlY3QyLmV4ZTog ZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjE2MTU0OiAkPyA9IDEK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZp bmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg ImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3 dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2Rl ZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01F TU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNk ZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmlu ZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUg X1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1 OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhU X18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dB TlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQy X18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUg X1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8 ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVm aW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEK fCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFW RV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NI QVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19U SU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEK fCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9D IDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JV RkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAx CnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUg SEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVT RV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFW RV9IQVJGQlVaWiAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8 ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8IC8qIGVuZCBjb25m ZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgZGxhZGRyIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBp biBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgZGxhZGRyLgp8ICAgIEZvciBleGFtcGxlLCBIUC1V WCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgZGxh ZGRyIGlubm9jdW91c19kbGFkZHIKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0 dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBj b25mbGljdCB3aXRoIGNoYXIgZGxhZGRyICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMu aD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGlt aXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNp ZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUg PGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBkbGFkZHIKfCAKfCAvKiBPdmVycmlkZSBh bnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hh ciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBi dWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHku ICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGRs YWRkciAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9u cyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAg U29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGlu ZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZp bmVkIF9fc3R1Yl9kbGFkZHIgfHwgZGVmaW5lZCBfX3N0dWJfX19kbGFkZHIKfCBjaG9rZSBtZQp8 ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGRsYWRkciAoKTsKfCAgIDsK fCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE2MTU0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTox NjE1NDogY2hlY2tpbmcgZm9yIGRsZnVuYwpjb25maWd1cmU6MTYxNTQ6IGdjYyAtSSAuLi9zcmMv bnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAtaXN5c3RlbSBDOi9tc3lz NjQvbWluZ3c2NC9pbmNsdWRlL2xpYnJzdmctMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0 L2luY2x1ZGUvZ2xpYi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvbGliL2dsaWItMi4w L2luY2x1ZGUgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZSAtbW1zLWJpdGZpZWxk cyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1pc3lz dGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicG5nMTYgLW1tcy1iaXRmaWVsZHMgLXB0 aHJlYWQgLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9j YWlybyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2x6byAtaXN5c3RlbSBDOi9t c3lzNjQvbWluZ3c2NC9pbmNsdWRlL2ZyZWV0eXBlMiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2 NC9pbmNsdWRlL2hhcmZidXp6IC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5n dzY0L2luY2x1ZGUvcGl4bWFuLTEgIC1tdHVuZT1nZW5lcmljICAgIGNvbmZ0ZXN0LmMgICAgPiY1 IApDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvMTAu Mi4wLy4uLy4uLy4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBDOlxtc3lzNjRc dG1wXGNjcWNDYm5aLm86IGluIGZ1bmN0aW9uIGBtYWluJzoKQzpcbXN5czY0XGhvbWVcVldpblVz ZXIwXERvd25sb2Fkc1xlbWFjc1xuYXRpdmUtY29tcFxidWlsZC9jb25mdGVzdC5jOjExMTogdW5k ZWZpbmVkIHJlZmVyZW5jZSB0byBgZGxmdW5jJwpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1 cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNjE1NDogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5l IFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUg RW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNz QGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0 d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVN UEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9f RVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5f Q19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VS Q0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFE X1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRf XyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5l IF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRf SUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9U WVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5l IF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNF IDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxF X09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQ RSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZF X1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVT T1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tF VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmlu ZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZF X05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBI QVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVm aW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFW RV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZ IDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JP TExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8 ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVf TENNUzIgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg LyogRGVmaW5lIGRsZnVuYyB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRz Lmg+IGRlY2xhcmVzIGRsZnVuYy4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMu aD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGRsZnVuYyBpbm5vY3VvdXNf ZGxmdW5jCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQg aG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBj aGFyIGRsZnVuYyAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQu aD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMg ZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18K fCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAj ZW5kaWYKfCAKfCAjdW5kZWYgZGxmdW5jCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5h bCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQg bWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhl biBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYg X19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBkbGZ1bmMgKCk7CnwgLyog VGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1w bGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25z IGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQg dGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfZGxm dW5jIHx8IGRlZmluZWQgX19zdHViX19fZGxmdW5jCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBp bnQKfCBtYWluICgpCnwgewp8IHJldHVybiBkbGZ1bmMgKCk7CnwgICA7CnwgICByZXR1cm4gMDsK fCB9CmNvbmZpZ3VyZToxNjE1NDogcmVzdWx0OiBubwpjb25maWd1cmU6MTYyMjU6IGNoZWNraW5n IGZvciBnY2Nfaml0X2NvbnRleHRfYWNxdWlyZSBpbiAtbGdjY2ppdApjb25maWd1cmU6MTYyNTA6 IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAt aXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xpYnJzdmctMi4wIC1pc3lzdGVtIEM6 L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2xpYi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3 NjQvbGliL2dsaWItMi4wL2luY2x1ZGUgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVk ZSAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2dkay1w aXhidWYtMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicG5nMTYgLW1t cy1iaXRmaWVsZHMgLXB0aHJlYWQgLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21p bmd3NjQvaW5jbHVkZS9jYWlybyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2x6 byAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2ZyZWV0eXBlMiAtaXN5c3RlbSBD Oi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2hhcmZidXp6IC1tbXMtYml0ZmllbGRzIC1pc3lzdGVt IEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvcGl4bWFuLTEgIC1tdHVuZT1nZW5lcmljICAgIGNv bmZ0ZXN0LmMgLWxnY2NqaXQgICAgPiY1IApjb25maWd1cmU6MTYyNTA6ICQ/ID0gMApjb25maWd1 cmU6MTYyNTk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjI3OTogY2hlY2tpbmcgbGliZ2Njaml0 LmggdXNhYmlsaXR5CmNvbmZpZ3VyZToxNjI3OTogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWcz IC1PMiAtZ2R3YXJmLTIgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9saWJyc3Zn LTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2dsaWItMi4wIC1pc3lzdGVt IEM6L21zeXM2NC9taW5ndzY0L2xpYi9nbGliLTIuMC9pbmNsdWRlIC1pc3lzdGVtIEM6L21zeXM2 NC9taW5ndzY0L2luY2x1ZGUgLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3 NjQvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNs dWRlL2xpYnBuZzE2IC1tbXMtYml0ZmllbGRzIC1wdGhyZWFkIC1tbXMtYml0ZmllbGRzIC1pc3lz dGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvY2Fpcm8gLWlzeXN0ZW0gQzovbXN5czY0L21p bmd3NjQvaW5jbHVkZS9sem8gLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9mcmVl dHlwZTIgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9oYXJmYnV6eiAtbW1zLWJp dGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL3BpeG1hbi0xICAtbXR1 bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxNjI3OTogJD8gPSAwCmNvbmZp Z3VyZToxNjI3OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2Mjc5OiBjaGVja2luZyBsaWJnY2Nq aXQuaCBwcmVzZW5jZQpjb25maWd1cmU6MTYyNzk6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1FIC1t dHVuZT1nZW5lcmljICAgY29uZnRlc3QuYwpjb25maWd1cmU6MTYyNzk6ICQ/ID0gMApjb25maWd1 cmU6MTYyNzk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjI3OTogY2hlY2tpbmcgZm9yIGxpYmdj Y2ppdC5oCmNvbmZpZ3VyZToxNjI3OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE2MzQ2OiBnY2Mg LUkgLi4vc3JjL250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgLWlzeXN0 ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9saWJyc3ZnLTIuMCAtaXN5c3RlbSBDOi9tc3lz NjQvbWluZ3c2NC9pbmNsdWRlL2dsaWItMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2xp Yi9nbGliLTIuMC9pbmNsdWRlIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUgLW1t cy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nZGstcGl4YnVm LTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xpYnBuZzE2IC1tbXMtYml0 ZmllbGRzIC1wdGhyZWFkIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0 L2luY2x1ZGUvY2Fpcm8gLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9sem8gLWlz eXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9mcmVldHlwZTIgLWlzeXN0ZW0gQzovbXN5 czY0L21pbmd3NjQvaW5jbHVkZS9oYXJmYnV6eiAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9t c3lzNjQvbWluZ3c2NC9pbmNsdWRlL3BpeG1hbi0xICAtbXR1bmU9Z2VuZXJpYyAgICBjb25mdGVz dC5jIC1sZ2Njaml0ID4mNSAKY29uZmlndXJlOjE2MzQ2OiAkPyA9IDAKY29uZmlndXJlOjE2MzQ2 OiAuL2NvbmZ0ZXN0LmV4ZQpjb25maWd1cmU6MTYzNDY6ICQ/ID0gMApjb25maWd1cmU6MTYzOTQ6 IGNoZWNraW5nIHBuZy5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTYzOTQ6IGdjYyAtSSAuLi9zcmMv bnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2lu Y2x1ZGUvbGlicnN2Zy0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nbGli LTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9saWIvZ2xpYi0yLjAvaW5jbHVkZSAtaXN5 c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6 L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0 L21pbmd3NjQvaW5jbHVkZS9saWJwbmcxNiAtbW1zLWJpdGZpZWxkcyAtcHRocmVhZCAtbW1zLWJp dGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2NhaXJvIC1pc3lzdGVt IEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbHpvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0 L2luY2x1ZGUvZnJlZXR5cGUyIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvaGFy ZmJ1enogLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9w aXhtYW4tMSAgLW10dW5lPWdlbmVyaWMgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTYzOTQ6 ICQ/ID0gMApjb25maWd1cmU6MTYzOTQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjM5NDogY2hl Y2tpbmcgcG5nLmggcHJlc2VuY2UKY29uZmlndXJlOjE2Mzk0OiBnY2MgLUkgLi4vc3JjL250L2lu YyAtRSAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjE2Mzk0OiAkPyA9IDAK Y29uZmlndXJlOjE2Mzk0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTYzOTQ6IGNoZWNraW5nIGZv ciBwbmcuaApjb25maWd1cmU6MTYzOTQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjUzODogY2hl Y2tpbmcgd2hldGhlciBwbmdfbG9uZ2ptcCBpcyBkZWNsYXJlZApjb25maWd1cmU6MTY1Mzg6IGdj YyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1pc3lzdGVtIEM6L21zeXM2 NC9taW5ndzY0L2luY2x1ZGUvbGlicnN2Zy0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQv aW5jbHVkZS9nbGliLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9saWIvZ2xpYi0yLjAv aW5jbHVkZSAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlIC1tbXMtYml0ZmllbGRz IC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLWlzeXN0 ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9saWJwbmcxNiAtbW1zLWJpdGZpZWxkcyAtcHRo cmVhZCAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2Nh aXJvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbHpvIC1pc3lzdGVtIEM6L21z eXM2NC9taW5ndzY0L2luY2x1ZGUvZnJlZXR5cGUyIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0 L2luY2x1ZGUvaGFyZmJ1enogLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3 NjQvaW5jbHVkZS9waXhtYW4tMSAgIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29u ZmlndXJlOjE2NTM4OiAkPyA9IDAKY29uZmlndXJlOjE2NTM4OiByZXN1bHQ6IHllcwpjb25maWd1 cmU6MTY1NjA6IGNoZWNraW5nIHRpZmZpby5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTY1NjA6IGdj YyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1pc3lzdGVtIEM6L21zeXM2 NC9taW5ndzY0L2luY2x1ZGUvbGlicnN2Zy0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQv aW5jbHVkZS9nbGliLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9saWIvZ2xpYi0yLjAv aW5jbHVkZSAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlIC1tbXMtYml0ZmllbGRz IC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLWlzeXN0 ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9saWJwbmcxNiAtbW1zLWJpdGZpZWxkcyAtcHRo cmVhZCAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2Nh aXJvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbHpvIC1pc3lzdGVtIEM6L21z eXM2NC9taW5ndzY0L2luY2x1ZGUvZnJlZXR5cGUyIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0 L2luY2x1ZGUvaGFyZmJ1enogLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3 NjQvaW5jbHVkZS9waXhtYW4tMSAgLW10dW5lPWdlbmVyaWMgICBjb25mdGVzdC5jID4mNQpjb25m aWd1cmU6MTY1NjA6ICQ/ID0gMApjb25maWd1cmU6MTY1NjA6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToxNjU2MDogY2hlY2tpbmcgdGlmZmlvLmggcHJlc2VuY2UKY29uZmlndXJlOjE2NTYwOiBnY2Mg LUkgLi4vc3JjL250L2luYyAtRSAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMKY29uZmlndXJl OjE2NTYwOiAkPyA9IDAKY29uZmlndXJlOjE2NTYwOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTY1 NjA6IGNoZWNraW5nIGZvciB0aWZmaW8uaApjb25maWd1cmU6MTY1NjA6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToxNjY0MjogY2hlY2tpbmcgZ2lmX2xpYi5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTY2 NDI6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1pc3lzdGVtIEM6 L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicnN2Zy0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21p bmd3NjQvaW5jbHVkZS9nbGliLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9saWIvZ2xp Yi0yLjAvaW5jbHVkZSAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlIC1tbXMtYml0 ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAg LWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9saWJwbmcxNiAtbW1zLWJpdGZpZWxk cyAtcHRocmVhZCAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNs dWRlL2NhaXJvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbHpvIC1pc3lzdGVt IEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZnJlZXR5cGUyIC1pc3lzdGVtIEM6L21zeXM2NC9t aW5ndzY0L2luY2x1ZGUvaGFyZmJ1enogLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0 L21pbmd3NjQvaW5jbHVkZS9waXhtYW4tMSAgLW10dW5lPWdlbmVyaWMgICBjb25mdGVzdC5jID4m NQpjb25maWd1cmU6MTY2NDI6ICQ/ID0gMApjb25maWd1cmU6MTY2NDI6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToxNjY0MjogY2hlY2tpbmcgZ2lmX2xpYi5oIHByZXNlbmNlCmNvbmZpZ3VyZToxNjY0 MjogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLUUgLW10dW5lPWdlbmVyaWMgICBjb25mdGVzdC5jCmNv bmZpZ3VyZToxNjY0MjogJD8gPSAwCmNvbmZpZ3VyZToxNjY0MjogcmVzdWx0OiB5ZXMKY29uZmln dXJlOjE2NjQyOiBjaGVja2luZyBmb3IgZ2lmX2xpYi5oCmNvbmZpZ3VyZToxNjY0MjogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjE2ODU4OiBjaGVja2luZyBncG0uaCB1c2FiaWxpdHkKY29uZmlndXJl OjE2ODU4OiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtaXN5c3Rl bSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xpYnJzdmctMi4wIC1pc3lzdGVtIEM6L21zeXM2 NC9taW5ndzY0L2luY2x1ZGUvZ2xpYi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvbGli L2dsaWItMi4wL2luY2x1ZGUgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZSAtbW1z LWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2dkay1waXhidWYt Mi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicG5nMTYgLW1tcy1iaXRm aWVsZHMgLXB0aHJlYWQgLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQv aW5jbHVkZS9jYWlybyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2x6byAtaXN5 c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2ZyZWV0eXBlMiAtaXN5c3RlbSBDOi9tc3lz NjQvbWluZ3c2NC9pbmNsdWRlL2hhcmZidXp6IC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21z eXM2NC9taW5ndzY0L2luY2x1ZGUvcGl4bWFuLTEgIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3Qu YyA+JjUKY29uZnRlc3QuYzoxMTk6MTA6IGZhdGFsIGVycm9yOiBncG0uaDogTm8gc3VjaCBmaWxl IG9yIGRpcmVjdG9yeQogIDExOSB8ICNpbmNsdWRlIDxncG0uaD4KICAgICAgfCAgICAgICAgICBe fn5+fn5+CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToxNjg1ODogJD8gPSAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFj cyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0Vf U1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJi dWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cu Z251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZp bmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1P UllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVm aW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUg X05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9Q T1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlf QVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9f IDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUg X19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5U X0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9f IDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9U QU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAj ZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmlu ZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwg I2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFW RV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVf RElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFS X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElN RSAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwg I2RlZmluZSBIQVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAx CnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZG RVJTIDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8 ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhB VkVfVzMyTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0Vf VE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVf SEFSRkJVWlogMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAj ZGVmaW5lIEhBVkVfTENNUzIgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVf TU9EVUxFUyAxCnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVf TElCR0NDSklUIDEKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9O QVRJVkVfQ09NUCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZp bmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhB VkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lm ZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRk ZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxp Yi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRl ZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUg PG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAjaW5j bHVkZSA8Z3BtLmg+CmNvbmZpZ3VyZToxNjg1ODogcmVzdWx0OiBubwpjb25maWd1cmU6MTY4NTg6 IGNoZWNraW5nIGdwbS5oIHByZXNlbmNlCmNvbmZpZ3VyZToxNjg1ODogZ2NjIC1JIC4uL3NyYy9u dC9pbmMgLUUgLW10dW5lPWdlbmVyaWMgICBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6ODY6MTA6IGZh dGFsIGVycm9yOiBncG0uaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogICA4NiB8ICNpbmNs dWRlIDxncG0uaD4KICAgICAgfCAgICAgICAgICBefn5+fn5+CmNvbXBpbGF0aW9uIHRlcm1pbmF0 ZWQuCmNvbmZpZ3VyZToxNjg1ODogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz Ogp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP TiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIK fCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2Rl ZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwg I2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5l IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEK fCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNk ZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUg X09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwg I2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBf X1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lF Q182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNT X0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwg I2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01B VEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9I UFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0 CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIK fCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVm aW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2Rl ZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9M SU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlU X0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9JTUFHRV9B UEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpF IDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5B QkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNk ZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAjZGVmaW5lIFVT RV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2Rl ZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNkZWZpbmUgSEFWRV9Y UE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENNUzIgMQp8ICNkZWZp bmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmluZSBNT0RVTEVT X1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAjZGVmaW5lIEhBVkVf TElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwgI2RlZmluZSBOQVRJ VkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFW RV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg I2luY2x1ZGUgPGdwbS5oPgpjb25maWd1cmU6MTY4NTg6IHJlc3VsdDogbm8KY29uZmlndXJlOjE2 ODU4OiBjaGVja2luZyBmb3IgZ3BtLmgKY29uZmlndXJlOjE2ODU4OiByZXN1bHQ6IG5vCmNvbmZp Z3VyZToxNzQ4ODogY2hlY2tpbmcgZm9yIGxpYnhtbC0yLjAgPiAyLjYuMTcKY29uZmlndXJlOjE3 NDk1OiAkUEtHX0NPTkZJRyAtLWV4aXN0cyAtLXByaW50LWVycm9ycyAibGlieG1sLTIuMCA+IDIu Ni4xNyIKY29uZmlndXJlOjE3NDk4OiAkPyA9IDAKY29uZmlndXJlOjE3NTEyOiAkUEtHX0NPTkZJ RyAtLWV4aXN0cyAtLXByaW50LWVycm9ycyAibGlieG1sLTIuMCA+IDIuNi4xNyIKY29uZmlndXJl OjE3NTE1OiAkPyA9IDAKY29uZmlndXJlOjE3NTUzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTc2 NTE6IGNoZWNraW5nIGZvciBtYWlsbG9jayBpbiAtbG1haWwKY29uZmlndXJlOjE3Njc2OiBnY2Mg LUkgLi4vc3JjL250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgLWlzeXN0 ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9saWJyc3ZnLTIuMCAtaXN5c3RlbSBDOi9tc3lz NjQvbWluZ3c2NC9pbmNsdWRlL2dsaWItMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2xp Yi9nbGliLTIuMC9pbmNsdWRlIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUgLW1t cy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nZGstcGl4YnVm LTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xpYnBuZzE2IC1tbXMtYml0 ZmllbGRzIC1wdGhyZWFkIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0 L2luY2x1ZGUvY2Fpcm8gLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9sem8gLWlz eXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9mcmVldHlwZTIgLWlzeXN0ZW0gQzovbXN5 czY0L21pbmd3NjQvaW5jbHVkZS9oYXJmYnV6eiAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9t c3lzNjQvbWluZ3c2NC9pbmNsdWRlL3BpeG1hbi0xICAtbXR1bmU9Z2VuZXJpYyAgICBjb25mdGVz dC5jIC1sbWFpbCAgLWxnY2NqaXQgICA+JjUgCkM6L21zeXM2NC9taW5ndzY0L2Jpbi8uLi9saWIv Z2NjL3g4Nl82NC13NjQtbWluZ3czMi8xMC4yLjAvLi4vLi4vLi4vLi4veDg2XzY0LXc2NC1taW5n dzMyL2Jpbi9sZC5leGU6IGNhbm5vdCBmaW5kIC1sbWFpbApjb2xsZWN0Mi5leGU6IGVycm9yOiBs ZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNzY3NjogJD8gPSAxCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tB R0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251 LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9y Zy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFW RV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9E QVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJT RF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9Q VEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklC U19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAj ZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182 MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAj ZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1f U09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5l IF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNU RU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmlu ZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwg I2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmlu ZSBIQVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEK fCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZp bmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMy Tk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJ VF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJV WlogMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5l IEhBVkVfTENNUzIgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxF UyAxCnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0ND SklUIDEKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVf Q09NUCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFW RV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVm aW5lIEhBVkVfTElCWE1MMiAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8IC8qIE92ZXJy aWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVz ZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8 ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBh cHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNo YXIgbWFpbGxvY2sgKCk7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gbWFpbGxvY2sgKCk7 CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNzY4NTogcmVzdWx0OiBubwpjb25m aWd1cmU6MTc3MTQ6IGNoZWNraW5nIGZvciBtYWlsbG9jayBpbiAtbGxvY2tmaWxlCmNvbmZpZ3Vy ZToxNzczOTogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1nMyAtTzIgLWdk d2FyZi0yIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicnN2Zy0yLjAgLWlz eXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nbGliLTIuMCAtaXN5c3RlbSBDOi9tc3lz NjQvbWluZ3c2NC9saWIvZ2xpYi0yLjAvaW5jbHVkZSAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2 NC9pbmNsdWRlIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1 ZGUvZ2RrLXBpeGJ1Zi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9saWJw bmcxNiAtbW1zLWJpdGZpZWxkcyAtcHRocmVhZCAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9t c3lzNjQvbWluZ3c2NC9pbmNsdWRlL2NhaXJvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2lu Y2x1ZGUvbHpvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZnJlZXR5cGUyIC1p c3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvaGFyZmJ1enogLW1tcy1iaXRmaWVsZHMg LWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9waXhtYW4tMSAgLW10dW5lPWdlbmVy aWMgICAgY29uZnRlc3QuYyAtbGxvY2tmaWxlICAtbGdjY2ppdCAgID4mNSAKQzovbXN5czY0L21p bmd3NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5ndzMyLzEwLjIuMC8uLi8uLi8uLi8u Li94ODZfNjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogY2Fubm90IGZpbmQgLWxsb2NrZmlsZQpj b2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZTox NzczOTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZz LmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAj ZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VS TCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VT RV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNk ZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExf U09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VS Q0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNF IDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENf V0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNf NjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhU X18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVm aW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENf V0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19f IDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9T T0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0Nf TElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVf TU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9D X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEK fCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2Rl ZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJ TUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUg SEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUg U1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVT RV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmlu ZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9KU09O IDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAx CnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEK fCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUg SEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENNUzIgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEK fCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIK fCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUX0ggMQp8 ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJU1BfU1VGRklY ICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVm aW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLwp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2 b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSBy ZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHBy b3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0 ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgbWFpbGxvY2sgKCk7CnwgaW50CnwgbWFpbiAoKQp8IHsK fCByZXR1cm4gbWFpbGxvY2sgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTox Nzc0ODogcmVzdWx0OiBubwpjb25maWd1cmU6MTc3Njc6IGNoZWNraW5nIGZvciBsaWJsb2NrZmls ZS5zbwpjb25maWd1cmU6MTc3OTY6IHJlc3VsdDogbm8KY29uZmlndXJlOjE3ODEyOiBjaGVja2lu ZyBtYWlsbG9jay5oIHVzYWJpbGl0eQpjb25maWd1cmU6MTc4MTI6IGdjYyAtSSAuLi9zcmMvbnQv aW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1 ZGUvbGlicnN2Zy0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nbGliLTIu MCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9saWIvZ2xpYi0yLjAvaW5jbHVkZSAtaXN5c3Rl bSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21z eXM2NC9taW5ndzY0L2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21p bmd3NjQvaW5jbHVkZS9saWJwbmcxNiAtbW1zLWJpdGZpZWxkcyAtcHRocmVhZCAtbW1zLWJpdGZp ZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2NhaXJvIC1pc3lzdGVtIEM6 L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbHpvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2lu Y2x1ZGUvZnJlZXR5cGUyIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvaGFyZmJ1 enogLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9waXht YW4tMSAgLW10dW5lPWdlbmVyaWMgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjEyMDoxMDog ZmF0YWwgZXJyb3I6IG1haWxsb2NrLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICAxMjAg fCAjaW5jbHVkZSA8bWFpbGxvY2suaD4KICAgICAgfCAgICAgICAgICBefn5+fn5+fn5+fn4KY29t cGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjE3ODEyOiAkPyA9IDEKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9O QU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZp bmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdO VSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1h Y3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3Nv ZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BE VU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg X19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJ Tl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NP VVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJF QURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VY VF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZp bmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FO VF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5 X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZp bmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VS Q0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJ TEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9U WVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhB VkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19S RVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09D S0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAx CnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhB VkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5l IEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNk ZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBI QVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJ RlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1ND Uk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAx CnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFW RV9MQ01TMiAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEK fCAjZGVmaW5lIE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQg MQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01Q IDEKfCAjZGVmaW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BO RyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUg SEFWRV9MSUJYTUwyIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlv Lmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8 ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+ CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+Cnwg IyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMg IGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJ TkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllf SAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5o Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5o Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVz Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5o Pgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4K fCAjZW5kaWYKfCAjaW5jbHVkZSA8bWFpbGxvY2suaD4KY29uZmlndXJlOjE3ODEyOiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZToxNzgxMjogY2hlY2tpbmcgbWFpbGxvY2suaCBwcmVzZW5jZQpjb25maWd1 cmU6MTc4MTI6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1FIC1tdHVuZT1nZW5lcmljICAgY29uZnRl c3QuYwpjb25mdGVzdC5jOjg3OjEwOiBmYXRhbCBlcnJvcjogbWFpbGxvY2suaDogTm8gc3VjaCBm aWxlIG9yIGRpcmVjdG9yeQogICA4NyB8ICNpbmNsdWRlIDxtYWlsbG9jay5oPgogICAgICB8ICAg ICAgICAgIF5+fn5+fn5+fn5+fgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MTc4 MTI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5o ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2Rl ZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdF X0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwg Imh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0Vf UE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm aW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NP VVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNF IDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAx CnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dB TlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYw NTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9f IDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dB TlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAx CnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09D S0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJ TlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBIQVZFX01N U1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwg I2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZp bmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBUSU1F X1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhB VkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVmaW5lIFNZ U1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBVU0Vf TU1BUF9GT1JfQlVGRkVSUyAxCnwgI2RlZmluZSBUSFJFQURTX0VOQUJMRUQgMQp8ICNkZWZpbmUg SEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfSlNPTiAx CnwgI2RlZmluZSBIQVZFX1czMk5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8 ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwg I2RlZmluZSBIQVZFX0hBUkZCVVpaIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhB VkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0xDTVMyIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwg I2RlZmluZSBIQVZFX01PRFVMRVMgMQp8ICNkZWZpbmUgTU9EVUxFU19TVUZGSVggIi5kbGwiCnwg I2RlZmluZSBIQVZFX0xJQkdDQ0pJVCAxCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVF9IIDEKfCAj ZGVmaW5lIEhBVkVfTkFUSVZFX0NPTVAgMQp8ICNkZWZpbmUgTkFUSVZFX0VMSVNQX1NVRkZJWCAi LmVsbiIKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmlu ZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAjaW5jbHVkZSA8bWFpbGxvY2suaD4KY29uZmlndXJlOjE3ODEyOiByZXN1bHQ6IG5v CmNvbmZpZ3VyZToxNzgxMjogY2hlY2tpbmcgZm9yIG1haWxsb2NrLmgKY29uZmlndXJlOjE3ODEy OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNzg4ODogY2hlY2tpbmcgZm9yIGFjY2VwdDQKY29uZmln dXJlOjE3ODg4OiBnY2MgLUkgLi4vc3JjL250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAt Z2R3YXJmLTIgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9saWJyc3ZnLTIuMCAt aXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2dsaWItMi4wIC1pc3lzdGVtIEM6L21z eXM2NC9taW5ndzY0L2xpYi9nbGliLTIuMC9pbmNsdWRlIC1pc3lzdGVtIEM6L21zeXM2NC9taW5n dzY0L2luY2x1ZGUgLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5j bHVkZS9nZGstcGl4YnVmLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xp YnBuZzE2IC1tbXMtYml0ZmllbGRzIC1wdGhyZWFkIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6 L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvY2Fpcm8gLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQv aW5jbHVkZS9sem8gLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9mcmVldHlwZTIg LWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9oYXJmYnV6eiAtbW1zLWJpdGZpZWxk cyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL3BpeG1hbi0xICAtbXR1bmU9Z2Vu ZXJpYyAgICBjb25mdGVzdC5jICAgLWxnY2NqaXQgICA+JjUgCkM6L21zeXM2NC9taW5ndzY0L2Jp bi8uLi9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi8xMC4yLjAvLi4vLi4vLi4vLi4veDg2XzY0 LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IEM6XG1zeXM2NFx0bXBcY2NPNVQxdnEubzogaW4gZnVu Y3Rpb24gYG1haW4nOgpDOlxtc3lzNjRcaG9tZVxWV2luVXNlcjBcRG93bmxvYWRzXGVtYWNzXG5h dGl2ZS1jb21wXGJ1aWxkL2NvbmZ0ZXN0LmM6MTIxOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBh Y2NlcHQ0Jwpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNv bmZpZ3VyZToxNzg4ODogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q IGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZp bmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjgu MC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVm aW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQ QUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmlu ZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENf SEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H X0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVm aW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUg X0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5C U0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENf V0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1 OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9f IDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BF Q19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FM VF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2Rl ZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVm aW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhB VkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBI QVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19Q QVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RF RlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNf SCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8 ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9JTUFHRV9BUEkgMQp8 ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAj ZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAx CnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUg SEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxF X05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBV U0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8 ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENNUzIgMQp8ICNkZWZpbmUgSEFW RV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJ WCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAjZGVmaW5lIEhBVkVfTElCR0ND SklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJ U1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZG IDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBhY2NlcHQ0IHRvIGFuIGlubm9jdW91cyB2YXJp YW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgYWNjZXB0NC4KfCAgICBGb3IgZXhhbXBs ZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVm aW5lIGFjY2VwdDQgaW5ub2N1b3VzX2FjY2VwdDQKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRl ZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdo aWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgYWNjZXB0NCAoKTsgYmVsb3cuCnwgICAgIFByZWZl ciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UK fCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAg Ki8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwg IyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgYWNjZXB0NAp8IAp8IC8q IE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8 ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBh IEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBz dGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRp Zgp8IGNoYXIgYWNjZXB0NCAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMg Zm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdp dGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0 aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAq Lwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9hY2NlcHQ0IHx8IGRlZmluZWQgX19zdHViX19fYWNjZXB0 NAp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gYWNj ZXB0NCAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE3ODg4OiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZToxNzg4ODogY2hlY2tpbmcgZm9yIGZjaGRpcgpjb25maWd1cmU6MTc4ODg6 IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAt aXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xpYnJzdmctMi4wIC1pc3lzdGVtIEM6 L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2xpYi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3 NjQvbGliL2dsaWItMi4wL2luY2x1ZGUgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVk ZSAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2dkay1w aXhidWYtMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicG5nMTYgLW1t cy1iaXRmaWVsZHMgLXB0aHJlYWQgLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21p bmd3NjQvaW5jbHVkZS9jYWlybyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2x6 byAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2ZyZWV0eXBlMiAtaXN5c3RlbSBD Oi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2hhcmZidXp6IC1tbXMtYml0ZmllbGRzIC1pc3lzdGVt IEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvcGl4bWFuLTEgIC1tdHVuZT1nZW5lcmljICAgIGNv bmZ0ZXN0LmMgICAtbGdjY2ppdCAgID4mNSAKQzovbXN5czY0L21pbmd3NjQvYmluLy4uL2xpYi9n Y2MveDg2XzY0LXc2NC1taW5ndzMyLzEwLjIuMC8uLi8uLi8uLi8uLi94ODZfNjQtdzY0LW1pbmd3 MzIvYmluL2xkLmV4ZTogQzpcbXN5czY0XHRtcFxjY2VXS0FaeC5vOiBpbiBmdW5jdGlvbiBgbWFp bic6CkM6XG1zeXM2NFxob21lXFZXaW5Vc2VyMFxEb3dubG9hZHNcZW1hY3NcbmF0aXZlLWNvbXBc YnVpbGQvY29uZnRlc3QuYzoxMjE6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGZjaGRpcicKY29s bGVjdDIuZXhlOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTc4 ODg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5o ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2Rl ZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdF X0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwg Imh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0Vf UE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm aW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NP VVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNF IDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAx CnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dB TlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYw NTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9f IDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dB TlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAx CnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09D S0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJ TlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBIQVZFX01N U1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwg I2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZp bmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBUSU1F X1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhB VkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVmaW5lIFNZ U1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBVU0Vf TU1BUF9GT1JfQlVGRkVSUyAxCnwgI2RlZmluZSBUSFJFQURTX0VOQUJMRUQgMQp8ICNkZWZpbmUg SEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfSlNPTiAx CnwgI2RlZmluZSBIQVZFX1czMk5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8 ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwg I2RlZmluZSBIQVZFX0hBUkZCVVpaIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhB VkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0xDTVMyIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwg I2RlZmluZSBIQVZFX01PRFVMRVMgMQp8ICNkZWZpbmUgTU9EVUxFU19TVUZGSVggIi5kbGwiCnwg I2RlZmluZSBIQVZFX0xJQkdDQ0pJVCAxCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVF9IIDEKfCAj ZGVmaW5lIEhBVkVfTkFUSVZFX0NPTVAgMQp8ICNkZWZpbmUgTkFUSVZFX0VMSVNQX1NVRkZJWCAi LmVsbiIKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmlu ZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAvKiBEZWZpbmUgZmNoZGlyIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNl IDxsaW1pdHMuaD4gZGVjbGFyZXMgZmNoZGlyLgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkg PGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgZmNoZGlyIGlu bm9jdW91c19mY2hkaXIKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFj cm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGlj dCB3aXRoIGNoYXIgZmNoZGlyICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8g PGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+ IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBf X1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2Vy dC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBmY2hkaXIKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0ND IGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNh dXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGlu IGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8 ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGZjaGRpciAo KTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGlj aCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBm dW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRo IF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9f c3R1Yl9mY2hkaXIgfHwgZGVmaW5lZCBfX3N0dWJfX19mY2hkaXIKfCBjaG9rZSBtZQp8ICNlbmRp Zgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGZjaGRpciAoKTsKfCAgIDsKfCAgIHJl dHVybiAwOwp8IH0KY29uZmlndXJlOjE3ODg4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNzg4ODog Y2hlY2tpbmcgZm9yIGdldGhvc3RuYW1lCmNvbmZpZ3VyZToxNzg4ODogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjE3ODg4OiBjaGVja2luZyBmb3IgZ2V0cnVzYWdlCmNvbmZpZ3VyZToxNzg4ODogZ2Nj IC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0yIC1pc3lz dGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicnN2Zy0yLjAgLWlzeXN0ZW0gQzovbXN5 czY0L21pbmd3NjQvaW5jbHVkZS9nbGliLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9s aWIvZ2xpYi0yLjAvaW5jbHVkZSAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlIC1t bXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2RrLXBpeGJ1 Zi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9saWJwbmcxNiAtbW1zLWJp dGZpZWxkcyAtcHRocmVhZCAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2 NC9pbmNsdWRlL2NhaXJvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbHpvIC1p c3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZnJlZXR5cGUyIC1pc3lzdGVtIEM6L21z eXM2NC9taW5ndzY0L2luY2x1ZGUvaGFyZmJ1enogLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzov bXN5czY0L21pbmd3NjQvaW5jbHVkZS9waXhtYW4tMSAgLW10dW5lPWdlbmVyaWMgICAgY29uZnRl c3QuYyAgIC1sZ2Njaml0ICAgPiY1IApDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94 ODZfNjQtdzY0LW1pbmd3MzIvMTAuMi4wLy4uLy4uLy4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9i aW4vbGQuZXhlOiBDOlxtc3lzNjRcdG1wXGNjVkJ6WFBoLm86IGluIGZ1bmN0aW9uIGBtYWluJzoK QzpcbXN5czY0XGhvbWVcVldpblVzZXIwXERvd25sb2Fkc1xlbWFjc1xuYXRpdmUtY29tcFxidWls ZC9jb25mdGVzdC5jOjEyMjogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgZ2V0cnVzYWdlJwpjb2xs ZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNzg4 ODogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgg Ki8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9U QVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVm aW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAi aHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9Q T1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09V UkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0Ug MQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEK fCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FO VF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1 NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18g MQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5l IF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FO VF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEK fCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NL RVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElO VCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1T WVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAj ZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmlu ZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVf V0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFW RV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lT VEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9N TUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBI QVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEK fCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwg I2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAj ZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFW RV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENNUzIgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAj ZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAj ZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUX0ggMQp8ICNk ZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIu ZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5l IEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0dFVEhP U1ROQU1FIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGdldHJ1c2FnZSB0 byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHJ1 c2FnZS4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0 dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGdldHJ1c2FnZSBpbm5vY3VvdXNfZ2V0cnVzYWdlCnwg CnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5 IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGdldHJ1 c2FnZSAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYg X19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBv biBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGlu Y2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYK fCAKfCAjdW5kZWYgZ2V0cnVzYWdlCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBw cm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWln aHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBp dHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19j cGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBnZXRydXNhZ2UgKCk7CnwgLyog VGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1w bGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25z IGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQg dGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfZ2V0 cnVzYWdlIHx8IGRlZmluZWQgX19zdHViX19fZ2V0cnVzYWdlCnwgY2hva2UgbWUKfCAjZW5kaWYK fCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBnZXRydXNhZ2UgKCk7CnwgICA7CnwgICBy ZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNzg4ODogcmVzdWx0OiBubwpjb25maWd1cmU6MTc4ODg6 IGNoZWNraW5nIGZvciBnZXRfY3VycmVudF9kaXJfbmFtZQpjb25maWd1cmU6MTc4ODg6IGdjYyAt SSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAtaXN5c3Rl bSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xpYnJzdmctMi4wIC1pc3lzdGVtIEM6L21zeXM2 NC9taW5ndzY0L2luY2x1ZGUvZ2xpYi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvbGli L2dsaWItMi4wL2luY2x1ZGUgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZSAtbW1z LWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2dkay1waXhidWYt Mi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicG5nMTYgLW1tcy1iaXRm aWVsZHMgLXB0aHJlYWQgLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQv aW5jbHVkZS9jYWlybyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2x6byAtaXN5 c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2ZyZWV0eXBlMiAtaXN5c3RlbSBDOi9tc3lz NjQvbWluZ3c2NC9pbmNsdWRlL2hhcmZidXp6IC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21z eXM2NC9taW5ndzY0L2luY2x1ZGUvcGl4bWFuLTEgIC1tdHVuZT1nZW5lcmljICAgIGNvbmZ0ZXN0 LmMgICAtbGdjY2ppdCAgID4mNSAKQzovbXN5czY0L21pbmd3NjQvYmluLy4uL2xpYi9nY2MveDg2 XzY0LXc2NC1taW5ndzMyLzEwLjIuMC8uLi8uLi8uLi8uLi94ODZfNjQtdzY0LW1pbmd3MzIvYmlu L2xkLmV4ZTogQzpcbXN5czY0XHRtcFxjY0E4Tkp6Ty5vOiBpbiBmdW5jdGlvbiBgbWFpbic6CkM6 XG1zeXM2NFxob21lXFZXaW5Vc2VyMFxEb3dubG9hZHNcZW1hY3NcbmF0aXZlLWNvbXBcYnVpbGQv Y29uZnRlc3QuYzoxMjI6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGdldF9jdXJyZW50X2Rpcl9u YW1lJwpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZp Z3VyZToxNzg4ODogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNv bmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUg UEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41 MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5l IFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNL QUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBN QUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVB REVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU QVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg MQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwg I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5l IF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dO VV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0Rf U09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBf X1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FO VF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9E RlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEK fCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBf X1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19G VU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9Y T1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmlu ZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5l IEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVf TUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZF X1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJB TV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAx CnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNk ZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNk ZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVm aW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwg I2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFW RV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05P VElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0Vf WElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNk ZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENNUzIgMQp8ICNkZWZpbmUgSEFWRV9a TElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJWCAi LmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklU X0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJU1Bf U1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEK fCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBI QVZFX0dFVEhPU1ROQU1FIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGdl dF9jdXJyZW50X2Rpcl9uYW1lIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1p dHMuaD4gZGVjbGFyZXMgZ2V0X2N1cnJlbnRfZGlyX25hbWUuCnwgICAgRm9yIGV4YW1wbGUsIEhQ LVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBn ZXRfY3VycmVudF9kaXJfbmFtZSBpbm5vY3VvdXNfZ2V0X2N1cnJlbnRfZGlyX25hbWUKfCAKfCAv KiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3 IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgZ2V0X2N1cnJl bnRfZGlyX25hbWUgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0 Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3Rz IGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19f CnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+Cnwg I2VuZGlmCnwgCnwgI3VuZGVmIGdldF9jdXJyZW50X2Rpcl9uYW1lCnwgCnwgLyogT3ZlcnJpZGUg YW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNo YXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAg YnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5 LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBn ZXRfY3VycmVudF9kaXJfbmFtZSAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRo aXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWls IHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNv bWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMu ICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9nZXRfY3VycmVudF9kaXJfbmFtZSB8fCBkZWZpbmVk IF9fc3R1Yl9fX2dldF9jdXJyZW50X2Rpcl9uYW1lCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBp bnQKfCBtYWluICgpCnwgewp8IHJldHVybiBnZXRfY3VycmVudF9kaXJfbmFtZSAoKTsKfCAgIDsK fCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE3ODg4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTox Nzg4ODogY2hlY2tpbmcgZm9yIGxyYW5kNDgKY29uZmlndXJlOjE3ODg4OiBnY2MgLUkgLi4vc3Jj L250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgLWlzeXN0ZW0gQzovbXN5 czY0L21pbmd3NjQvaW5jbHVkZS9saWJyc3ZnLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2 NC9pbmNsdWRlL2dsaWItMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2xpYi9nbGliLTIu MC9pbmNsdWRlIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUgLW1tcy1iaXRmaWVs ZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtaXN5 c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xpYnBuZzE2IC1tbXMtYml0ZmllbGRzIC1w dGhyZWFkIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUv Y2Fpcm8gLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9sem8gLWlzeXN0ZW0gQzov bXN5czY0L21pbmd3NjQvaW5jbHVkZS9mcmVldHlwZTIgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3 NjQvaW5jbHVkZS9oYXJmYnV6eiAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWlu Z3c2NC9pbmNsdWRlL3BpeG1hbi0xICAtbXR1bmU9Z2VuZXJpYyAgICBjb25mdGVzdC5jICAgLWxn Y2NqaXQgICA+JjUgCkM6L21zeXM2NC9taW5ndzY0L2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC13NjQt bWluZ3czMi8xMC4yLjAvLi4vLi4vLi4vLi4veDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6 IEM6XG1zeXM2NFx0bXBcY2NLT242U1oubzogaW4gZnVuY3Rpb24gYG1haW4nOgpDOlxtc3lzNjRc aG9tZVxWV2luVXNlcjBcRG93bmxvYWRzXGVtYWNzXG5hdGl2ZS1jb21wXGJ1aWxkL2NvbmZ0ZXN0 LmM6MTIyOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBscmFuZDQ4Jwpjb2xsZWN0Mi5leGU6IGVy cm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNzg4ODogJD8gPSAxCmNv bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFj cyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0Vf U1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJi dWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cu Z251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZp bmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1P UllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVm aW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUg X05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9Q T1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlf QVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9f IDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUg X19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5U X0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9f IDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9U QU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAj ZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmlu ZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwg I2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFW RV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVf RElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFS X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElN RSAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwg I2RlZmluZSBIQVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAx CnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZG RVJTIDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8 ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhB VkVfVzMyTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0Vf VE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVf SEFSRkJVWlogMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAj ZGVmaW5lIEhBVkVfTENNUzIgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVf TU9EVUxFUyAxCnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVf TElCR0NDSklUIDEKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9O QVRJVkVfQ09NUCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZp bmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEK fCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAv KiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGxyYW5kNDggdG8gYW4gaW5ub2N1b3Vz IHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBscmFuZDQ4Lgp8ICAgIEZvciBl eGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8 ICNkZWZpbmUgbHJhbmQ0OCBpbm5vY3VvdXNfbHJhbmQ0OAp8IAp8IC8qIFN5c3RlbSBoZWFkZXIg dG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAg ICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBscmFuZDQ4ICgpOyBiZWxvdy4KfCAgICAg UHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBz aW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxl cnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vs c2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBscmFuZDQ4Cnwg CnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJy b3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBl IG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdv dWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwg I2VuZGlmCnwgY2hhciBscmFuZDQ4ICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMg dGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZh aWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAg c29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlh cy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX2xyYW5kNDggfHwgZGVmaW5lZCBfX3N0dWJfX19s cmFuZDQ4CnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVy biBscmFuZDQ4ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTc4ODg6IHJl c3VsdDogbm8KY29uZmlndXJlOjE3ODg4OiBjaGVja2luZyBmb3IgcmFuZG9tCmNvbmZpZ3VyZTox Nzg4ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE3ODg4OiBjaGVja2luZyBmb3IgcmludApjb25m aWd1cmU6MTc4ODg6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8y IC1nZHdhcmYtMiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xpYnJzdmctMi4w IC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2xpYi0yLjAgLWlzeXN0ZW0gQzov bXN5czY0L21pbmd3NjQvbGliL2dsaWItMi4wL2luY2x1ZGUgLWlzeXN0ZW0gQzovbXN5czY0L21p bmd3NjQvaW5jbHVkZSAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9p bmNsdWRlL2dkay1waXhidWYtMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUv bGlicG5nMTYgLW1tcy1iaXRmaWVsZHMgLXB0aHJlYWQgLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0g QzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9jYWlybyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2 NC9pbmNsdWRlL2x6byAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2ZyZWV0eXBl MiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2hhcmZidXp6IC1tbXMtYml0Zmll bGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvcGl4bWFuLTEgIC1tdHVuZT1n ZW5lcmljICAgIGNvbmZ0ZXN0LmMgICAtbGdjY2ppdCAgID4mNSAKY29uZnRlc3QuYzoxMTI6Njog d2FybmluZzogY29uZmxpY3RpbmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uICdyaW50Jzsg ZXhwZWN0ZWQgJ2RvdWJsZShkb3VibGUpJyBbLVdidWlsdGluLWRlY2xhcmF0aW9uLW1pc21hdGNo XQogIDExMiB8IGNoYXIgcmludCAoKTsKICAgICAgfCAgICAgIF5+fn4KY29uZnRlc3QuYzoxMDA6 MTogbm90ZTogJ3JpbnQnIGlzIGRlY2xhcmVkIGluIGhlYWRlciAnPG1hdGguaD4nCiAgIDk5IHwg IyBpbmNsdWRlIDxsaW1pdHMuaD4KICAxMDAgfCAjZWxzZQpjb25maWd1cmU6MTc4ODg6ICQ/ID0g MApjb25maWd1cmU6MTc4ODg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNzg4ODogY2hlY2tpbmcg Zm9yIHRydW5jCmNvbmZpZ3VyZToxNzg4ODogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRl c3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0yIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1 ZGUvbGlicnN2Zy0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nbGliLTIu MCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9saWIvZ2xpYi0yLjAvaW5jbHVkZSAtaXN5c3Rl bSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21z eXM2NC9taW5ndzY0L2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21p bmd3NjQvaW5jbHVkZS9saWJwbmcxNiAtbW1zLWJpdGZpZWxkcyAtcHRocmVhZCAtbW1zLWJpdGZp ZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2NhaXJvIC1pc3lzdGVtIEM6 L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbHpvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2lu Y2x1ZGUvZnJlZXR5cGUyIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvaGFyZmJ1 enogLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9waXht YW4tMSAgLW10dW5lPWdlbmVyaWMgICAgY29uZnRlc3QuYyAgIC1sZ2Njaml0ICAgPiY1IApjb25m dGVzdC5jOjExMzo2OiB3YXJuaW5nOiBjb25mbGljdGluZyB0eXBlcyBmb3IgYnVpbHQtaW4gZnVu Y3Rpb24gJ3RydW5jJzsgZXhwZWN0ZWQgJ2RvdWJsZShkb3VibGUpJyBbLVdidWlsdGluLWRlY2xh cmF0aW9uLW1pc21hdGNoXQogIDExMyB8IGNoYXIgdHJ1bmMgKCk7CiAgICAgIHwgICAgICBefn5+ fgpjb25mdGVzdC5jOjEwMToxOiBub3RlOiAndHJ1bmMnIGlzIGRlY2xhcmVkIGluIGhlYWRlciAn PG1hdGguaD4nCiAgMTAwIHwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KICAxMDEgfCAjZWxzZQpjb25m aWd1cmU6MTc4ODg6ICQ/ID0gMApjb25maWd1cmU6MTc4ODg6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToxNzg4ODogY2hlY2tpbmcgZm9yIHNlbGVjdApjb25maWd1cmU6MTc4ODg6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToxNzg4ODogY2hlY2tpbmcgZm9yIGdldHBhZ2VzaXplCmNvbmZpZ3VyZToxNzg4 ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE3ODg4OiBjaGVja2luZyBmb3Igc2V0bG9jYWxlCmNv bmZpZ3VyZToxNzg4ODogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1nMyAt TzIgLWdkd2FyZi0yIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicnN2Zy0y LjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nbGliLTIuMCAtaXN5c3RlbSBD Oi9tc3lzNjQvbWluZ3c2NC9saWIvZ2xpYi0yLjAvaW5jbHVkZSAtaXN5c3RlbSBDOi9tc3lzNjQv bWluZ3c2NC9pbmNsdWRlIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0 L2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVk ZS9saWJwbmcxNiAtbW1zLWJpdGZpZWxkcyAtcHRocmVhZCAtbW1zLWJpdGZpZWxkcyAtaXN5c3Rl bSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2NhaXJvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5n dzY0L2luY2x1ZGUvbHpvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZnJlZXR5 cGUyIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvaGFyZmJ1enogLW1tcy1iaXRm aWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9waXhtYW4tMSAgLW10dW5l PWdlbmVyaWMgICAgY29uZnRlc3QuYyAgIC1sZ2Njaml0ICAgPiY1IApjb25maWd1cmU6MTc4ODg6 ICQ/ID0gMApjb25maWd1cmU6MTc4ODg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNzg4ODogY2hl Y2tpbmcgZm9yIG5ld2xvY2FsZQpjb25maWd1cmU6MTc4ODg6IGdjYyAtSSAuLi9zcmMvbnQvaW5j IC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAtaXN5c3RlbSBDOi9tc3lzNjQvbWlu Z3c2NC9pbmNsdWRlL2xpYnJzdmctMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1 ZGUvZ2xpYi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvbGliL2dsaWItMi4wL2luY2x1 ZGUgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZSAtbW1zLWJpdGZpZWxkcyAtaXN5 c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1pc3lzdGVtIEM6 L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicG5nMTYgLW1tcy1iaXRmaWVsZHMgLXB0aHJlYWQg LW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9jYWlybyAt aXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2x6byAtaXN5c3RlbSBDOi9tc3lzNjQv bWluZ3c2NC9pbmNsdWRlL2ZyZWV0eXBlMiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNs dWRlL2hhcmZidXp6IC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2lu Y2x1ZGUvcGl4bWFuLTEgIC1tdHVuZT1nZW5lcmljICAgIGNvbmZ0ZXN0LmMgICAtbGdjY2ppdCAg ID4mNSAKQzovbXN5czY0L21pbmd3NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5ndzMy LzEwLjIuMC8uLi8uLi8uLi8uLi94ODZfNjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogQzpcbXN5 czY0XHRtcFxjY1NiUHlURy5vOiBpbiBmdW5jdGlvbiBgbWFpbic6CkM6XG1zeXM2NFxob21lXFZX aW5Vc2VyMFxEb3dubG9hZHNcZW1hY3NcbmF0aXZlLWNvbXBcYnVpbGQvY29uZnRlc3QuYzoxMjg6 IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYG5ld2xvY2FsZScKY29sbGVjdDIuZXhlOiBlcnJvcjog bGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTc4ODg6ICQ/ID0gMQpjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNL QUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwg I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO RyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdu dS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5v cmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhB VkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBf REFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRC U0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhf UFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJ QlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwg I2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1RE Q19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNf NjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwg I2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVN X1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmlu ZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lT VEVNX1RZUEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNkZWZp bmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVO VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElN RV9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTlRHVUkgMQp8ICNkZWZp bmUgSEFWRV9OQVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNk ZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBVU0VfTU1BUF9GT1JfQlVGRkVSUyAx CnwgI2RlZmluZSBUSFJFQURTX0VOQUJMRUQgMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVm aW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfSlNPTiAxCnwgI2RlZmluZSBIQVZFX1cz Mk5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xL SVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0hBUkZC VVpaIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmlu ZSBIQVZFX0xDTVMyIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX01PRFVM RVMgMQp8ICNkZWZpbmUgTU9EVUxFU19TVUZGSVggIi5kbGwiCnwgI2RlZmluZSBIQVZFX0xJQkdD Q0pJVCAxCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZF X0NPTVAgMQp8ICNkZWZpbmUgTkFUSVZFX0VMSVNQX1NVRkZJWCAiLmVsbiIKfCAjZGVmaW5lIEhB VkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2Rl ZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9UUlVO QyAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEK fCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyog RGVmaW5lIG5ld2xvY2FsZSB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRz Lmg+IGRlY2xhcmVzIG5ld2xvY2FsZS4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1p dHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIG5ld2xvY2FsZSBpbm5v Y3VvdXNfbmV3bG9jYWxlCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1h Y3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxp Y3Qgd2l0aCBjaGFyIG5ld2xvY2FsZSAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+ IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0 cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZk ZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxh c3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgbmV3bG9jYWxlCnwgCnwgLyogT3ZlcnJpZGUg YW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNo YXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAg YnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5 LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBu ZXdsb2NhbGUgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5j dGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZ Uy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3Rh cnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYg ZGVmaW5lZCBfX3N0dWJfbmV3bG9jYWxlIHx8IGRlZmluZWQgX19zdHViX19fbmV3bG9jYWxlCnwg Y2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBuZXdsb2Nh bGUgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNzg4ODogcmVzdWx0OiBu bwpjb25maWd1cmU6MTc4ODg6IGNoZWNraW5nIGZvciBnZXRybGltaXQKY29uZmlndXJlOjE3ODg4 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTc4ODg6IGNoZWNraW5nIGZvciBzZXRybGltaXQKY29u ZmlndXJlOjE3ODg4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTc4ODg6IGNoZWNraW5nIGZvciBz aHV0ZG93bgpjb25maWd1cmU6MTc4ODg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNzg4ODogY2hl Y2tpbmcgZm9yIHB0aHJlYWRfc2lnbWFzawpjb25maWd1cmU6MTc4ODg6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToxNzg4ODogY2hlY2tpbmcgZm9yIHN0cnNpZ25hbApjb25maWd1cmU6MTc4ODg6IGdj YyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAtaXN5 c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xpYnJzdmctMi4wIC1pc3lzdGVtIEM6L21z eXM2NC9taW5ndzY0L2luY2x1ZGUvZ2xpYi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQv bGliL2dsaWItMi4wL2luY2x1ZGUgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZSAt bW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2dkay1waXhi dWYtMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicG5nMTYgLW1tcy1i aXRmaWVsZHMgLXB0aHJlYWQgLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3 NjQvaW5jbHVkZS9jYWlybyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2x6byAt aXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2ZyZWV0eXBlMiAtaXN5c3RlbSBDOi9t c3lzNjQvbWluZ3c2NC9pbmNsdWRlL2hhcmZidXp6IC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6 L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvcGl4bWFuLTEgIC1tdHVuZT1nZW5lcmljICAgIGNvbmZ0 ZXN0LmMgICAtbGdjY2ppdCAgID4mNSAKY29uZmlndXJlOjE3ODg4OiAkPyA9IDAKY29uZmlndXJl OjE3ODg4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTc4ODg6IGNoZWNraW5nIGZvciBzZXRpdGlt ZXIKY29uZmlndXJlOjE3ODg4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTc4ODg6IGNoZWNraW5n IGZvciB0aW1lcl9nZXRvdmVycnVuCmNvbmZpZ3VyZToxNzg4ODogZ2NjIC1JIC4uL3NyYy9udC9p bmMgLW8gY29uZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0yIC1pc3lzdGVtIEM6L21zeXM2NC9t aW5ndzY0L2luY2x1ZGUvbGlicnN2Zy0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5j bHVkZS9nbGliLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9saWIvZ2xpYi0yLjAvaW5j bHVkZSAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlIC1tbXMtYml0ZmllbGRzIC1p c3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLWlzeXN0ZW0g QzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9saWJwbmcxNiAtbW1zLWJpdGZpZWxkcyAtcHRocmVh ZCAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2NhaXJv IC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbHpvIC1pc3lzdGVtIEM6L21zeXM2 NC9taW5ndzY0L2luY2x1ZGUvZnJlZXR5cGUyIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2lu Y2x1ZGUvaGFyZmJ1enogLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQv aW5jbHVkZS9waXhtYW4tMSAgLW10dW5lPWdlbmVyaWMgICAgY29uZnRlc3QuYyAgIC1sZ2Njaml0 ICAgPiY1IApDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3 MzIvMTAuMi4wLy4uLy4uLy4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBDOlxt c3lzNjRcdG1wXGNjVVU2TGJjLm86IGluIGZ1bmN0aW9uIGBtYWluJzoKQzpcbXN5czY0XGhvbWVc VldpblVzZXIwXERvd25sb2Fkc1xlbWFjc1xuYXRpdmUtY29tcFxidWlsZC9jb25mdGVzdC5jOjEz NDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgdGltZXJfZ2V0b3ZlcnJ1bicKY29sbGVjdDIuZXhl OiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTc4ODg6ICQ/ID0g MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi ZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNL QUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8v d3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAj ZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVf TUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwg I2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVm aW5lIF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmlu ZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYw NTU5X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9F WFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVm aW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENf V0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VY VDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmlu ZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAx CnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNk ZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0gg MQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBI QVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9X Q0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lT X1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTlRHVUkg MQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVmaW5lIFNZU1RFTV9NQUxM T0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBVU0VfTU1BUF9GT1Jf QlVGRkVSUyAxCnwgI2RlZmluZSBUSFJFQURTX0VOQUJMRUQgMQp8ICNkZWZpbmUgSEFWRV9SU1ZH IDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfSlNPTiAxCnwgI2RlZmlu ZSBIQVZFX1czMk5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUg VVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBI QVZFX0hBUkZCVVpaIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAx CnwgI2RlZmluZSBIQVZFX0xDTVMyIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBI QVZFX01PRFVMRVMgMQp8ICNkZWZpbmUgTU9EVUxFU19TVUZGSVggIi5kbGwiCnwgI2RlZmluZSBI QVZFX0xJQkdDQ0pJVCAxCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVF9IIDEKfCAjZGVmaW5lIEhB VkVfTkFUSVZFX0NPTVAgMQp8ICNkZWZpbmUgTkFUSVZFX0VMSVNQX1NVRkZJWCAiLmVsbiIKfCAj ZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJ RiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAx CnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUg SEFWRV9UUlVOQyAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBB R0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJ TUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04g MQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdO QUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAvKiBEZWZpbmUgdGltZXJfZ2V0b3ZlcnJ1biB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4g Y2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIHRpbWVyX2dldG92ZXJydW4uCnwgICAgRm9yIGV4YW1w bGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2Rl ZmluZSB0aW1lcl9nZXRvdmVycnVuIGlubm9jdW91c190aW1lcl9nZXRvdmVycnVuCnwgCnwgLyog U3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBw cm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHRpbWVyX2dldG92 ZXJydW4gKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlm IF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4g b24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBp bmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlm CnwgCnwgI3VuZGVmIHRpbWVyX2dldG92ZXJydW4KfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGlu dGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNl IGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFu ZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNp ZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIHRpbWVyX2dldG92 ZXJydW4gKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlv bnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4g IFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRp bmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVm aW5lZCBfX3N0dWJfdGltZXJfZ2V0b3ZlcnJ1biB8fCBkZWZpbmVkIF9fc3R1Yl9fX3RpbWVyX2dl dG92ZXJydW4KfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0 dXJuIHRpbWVyX2dldG92ZXJydW4gKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3Vy ZToxNzg4ODogcmVzdWx0OiBubwpjb25maWd1cmU6MTc4ODg6IGNoZWNraW5nIGZvciBzZW5kdG8K Y29uZmlndXJlOjE3ODg4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTc4ODg6IGNoZWNraW5nIGZv ciByZWN2ZnJvbQpjb25maWd1cmU6MTc4ODg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNzg4ODog Y2hlY2tpbmcgZm9yIGdldHNvY2tuYW1lCmNvbmZpZ3VyZToxNzg4ODogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjE3ODg4OiBjaGVja2luZyBmb3IgZ2V0aWZhZGRycwpjb25maWd1cmU6MTc4ODg6IGdj YyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAtaXN5 c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xpYnJzdmctMi4wIC1pc3lzdGVtIEM6L21z eXM2NC9taW5ndzY0L2luY2x1ZGUvZ2xpYi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQv bGliL2dsaWItMi4wL2luY2x1ZGUgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZSAt bW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2dkay1waXhi dWYtMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicG5nMTYgLW1tcy1i aXRmaWVsZHMgLXB0aHJlYWQgLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3 NjQvaW5jbHVkZS9jYWlybyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2x6byAt aXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2ZyZWV0eXBlMiAtaXN5c3RlbSBDOi9t c3lzNjQvbWluZ3c2NC9pbmNsdWRlL2hhcmZidXp6IC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6 L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvcGl4bWFuLTEgIC1tdHVuZT1nZW5lcmljICAgIGNvbmZ0 ZXN0LmMgICAtbGdjY2ppdCAgID4mNSAKQzovbXN5czY0L21pbmd3NjQvYmluLy4uL2xpYi9nY2Mv eDg2XzY0LXc2NC1taW5ndzMyLzEwLjIuMC8uLi8uLi8uLi8uLi94ODZfNjQtdzY0LW1pbmd3MzIv YmluL2xkLmV4ZTogQzpcbXN5czY0XHRtcFxjY01DcW9hRi5vOiBpbiBmdW5jdGlvbiBgbWFpbic6 CkM6XG1zeXM2NFxob21lXFZXaW5Vc2VyMFxEb3dubG9hZHNcZW1hY3NcbmF0aXZlLWNvbXBcYnVp bGQvY29uZnRlc3QuYzoxMzc6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGdldGlmYWRkcnMnCmNv bGxlY3QyLmV4ZTogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjE3 ODg4OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMu aCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdF X1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNk ZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FH RV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJM ICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNF X1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2Rl ZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5l IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9T T1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJD RSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0Ug MQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19X QU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182 MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRf XyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZp bmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19X QU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18g MQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NP Q0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19M SU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9N TVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0Nf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8 ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVm aW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhB VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElN RV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBI QVZFX05UR1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwgI2RlZmluZSBT WVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNF X01NQVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVmaW5l IEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0pTT04g MQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEK fCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8 ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBI QVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8 ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1PRFVMRVNfU1VGRklYICIuZGxsIgp8 ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwg I2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVmaW5lIE5BVElWRV9FTElTUF9TVUZGSVgg Ii5lbG4iCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZp bmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VU SE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEK fCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUg SEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBI QVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZF X1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhB VkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVf U0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NL TkFNRSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBnZXRpZmFkZHJzIHRv IGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0aWZh ZGRycy4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0 dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGdldGlmYWRkcnMgaW5ub2N1b3VzX2dldGlmYWRkcnMK fCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVs bHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgZ2V0 aWZhZGRycyAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4g aWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZl biBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAj IGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5k aWYKfCAKfCAjdW5kZWYgZ2V0aWZhZGRycwp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJu YWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50 IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRo ZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVm IF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgZ2V0aWZhZGRycyAoKTsK fCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBp dCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5j dGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9f IGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1 Yl9nZXRpZmFkZHJzIHx8IGRlZmluZWQgX19zdHViX19fZ2V0aWZhZGRycwp8IGNob2tlIG1lCnwg I2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZ2V0aWZhZGRycyAoKTsKfCAg IDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE3ODg4OiByZXN1bHQ6IG5vCmNvbmZpZ3Vy ZToxNzg4ODogY2hlY2tpbmcgZm9yIGZyZWVpZmFkZHJzCmNvbmZpZ3VyZToxNzg4ODogZ2NjIC1J IC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0yIC1pc3lzdGVt IEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicnN2Zy0yLjAgLWlzeXN0ZW0gQzovbXN5czY0 L21pbmd3NjQvaW5jbHVkZS9nbGliLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9saWIv Z2xpYi0yLjAvaW5jbHVkZSAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlIC1tbXMt Yml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2RrLXBpeGJ1Zi0y LjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9saWJwbmcxNiAtbW1zLWJpdGZp ZWxkcyAtcHRocmVhZCAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9p bmNsdWRlL2NhaXJvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbHpvIC1pc3lz dGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZnJlZXR5cGUyIC1pc3lzdGVtIEM6L21zeXM2 NC9taW5ndzY0L2luY2x1ZGUvaGFyZmJ1enogLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5 czY0L21pbmd3NjQvaW5jbHVkZS9waXhtYW4tMSAgLW10dW5lPWdlbmVyaWMgICAgY29uZnRlc3Qu YyAgIC1sZ2Njaml0ICAgPiY1IApDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZf NjQtdzY0LW1pbmd3MzIvMTAuMi4wLy4uLy4uLy4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9iaW4v bGQuZXhlOiBDOlxtc3lzNjRcdG1wXGNjZzRha0s0Lm86IGluIGZ1bmN0aW9uIGBtYWluJzoKQzpc bXN5czY0XGhvbWVcVldpblVzZXIwXERvd25sb2Fkc1xlbWFjc1xuYXRpdmUtY29tcFxidWlsZC9j b25mdGVzdC5jOjEzNzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgZnJlZWlmYWRkcnMnCmNvbGxl Y3QyLmV4ZTogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjE3ODg4 OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAq Lwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RB Uk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZp bmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9C VUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJo dHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BP UCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmlu ZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhB VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VS Q0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAx CnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8 ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5U X0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1 OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAx CnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUg X19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5U X0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8 ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tF VF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5U IDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZ U1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNk ZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5l IEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9X SVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZF X05UR1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNU RU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01N QVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhB VkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8 ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAj ZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNk ZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZF X0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNk ZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNk ZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2Rl ZmluZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVmaW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5l bG4iCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUg SEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9T VE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAj ZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFW RV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZF X0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NI VVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVf U1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VO RFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFN RSAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBmcmVlaWZhZGRycyB0byBh biBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIGZyZWVpZmFk ZHJzLgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0 aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgZnJlZWlmYWRkcnMgaW5ub2N1b3VzX2ZyZWVpZmFkZHJz CnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1 bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGZy ZWVpZmFkZHJzICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5o PiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBl dmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8 ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNl bmRpZgp8IAp8ICN1bmRlZiBmcmVlaWZhZGRycwp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50 ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2Ug aW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5k IHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lm ZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgZnJlZWlmYWRkcnMg KCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hp Y2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUg ZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0 aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBf X3N0dWJfZnJlZWlmYWRkcnMgfHwgZGVmaW5lZCBfX3N0dWJfX19mcmVlaWZhZGRycwp8IGNob2tl IG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZnJlZWlmYWRkcnMg KCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNzg4ODogcmVzdWx0OiBubwpj b25maWd1cmU6MTc4ODg6IGNoZWNraW5nIGZvciBnYWlfc3RyZXJyb3IKY29uZmlndXJlOjE3ODg4 OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTc4ODg6IGNoZWNraW5nIGZvciBzeW5jCmNvbmZpZ3Vy ZToxNzg4ODogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1nMyAtTzIgLWdk d2FyZi0yIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicnN2Zy0yLjAgLWlz eXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nbGliLTIuMCAtaXN5c3RlbSBDOi9tc3lz NjQvbWluZ3c2NC9saWIvZ2xpYi0yLjAvaW5jbHVkZSAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2 NC9pbmNsdWRlIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1 ZGUvZ2RrLXBpeGJ1Zi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9saWJw bmcxNiAtbW1zLWJpdGZpZWxkcyAtcHRocmVhZCAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9t c3lzNjQvbWluZ3c2NC9pbmNsdWRlL2NhaXJvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2lu Y2x1ZGUvbHpvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZnJlZXR5cGUyIC1p c3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvaGFyZmJ1enogLW1tcy1iaXRmaWVsZHMg LWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9waXhtYW4tMSAgLW10dW5lPWdlbmVy aWMgICAgY29uZnRlc3QuYyAgIC1sZ2Njaml0ICAgPiY1IApDOi9tc3lzNjQvbWluZ3c2NC9iaW4v Li4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvMTAuMi4wLy4uLy4uLy4uLy4uL3g4Nl82NC13 NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBDOlxtc3lzNjRcdG1wXGNjTXBTUG5ULm86IGluIGZ1bmN0 aW9uIGBtYWluJzoKQzpcbXN5czY0XGhvbWVcVldpblVzZXIwXERvd25sb2Fkc1xlbWFjc1xuYXRp dmUtY29tcFxidWlsZC9jb25mdGVzdC5jOjEzODogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgc3lu YycKY29sbGVjdDIuZXhlOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1 cmU6MTc4ODg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25m ZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBB Q0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAi CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQ QUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FH RV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJ TF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBf QUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVf U09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NP VVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19T VERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRf SUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQ X0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwg I2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19T VERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVO Q1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9Q RU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUg R0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBI QVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX01B TExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9Q V0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1f SCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8 ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu ZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVm aW5lIEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVm aW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmlu ZSBVU0VfTU1BUF9GT1JfQlVGRkVSUyAxCnwgI2RlZmluZSBUSFJFQURTX0VOQUJMRUQgMQp8ICNk ZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVf SlNPTiAxCnwgI2RlZmluZSBIQVZFX1czMk5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJ RlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJ TSAxCnwgI2RlZmluZSBIQVZFX0hBUkZCVVpaIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVm aW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0xDTVMyIDEKfCAjZGVmaW5lIEhBVkVfWkxJ QiAxCnwgI2RlZmluZSBIQVZFX01PRFVMRVMgMQp8ICNkZWZpbmUgTU9EVUxFU19TVUZGSVggIi5k bGwiCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVCAxCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVF9I IDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0NPTVAgMQp8ICNkZWZpbmUgTkFUSVZFX0VMSVNQX1NV RkZJWCAiLmVsbiIKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwg I2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFW RV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJ TlQgMQp8ICNkZWZpbmUgSEFWRV9UUlVOQyAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVm aW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5l IEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZp bmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUg SEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dF VFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAvKiBlbmQgY29uZmRl ZnMuaC4gICovCnwgLyogRGVmaW5lIHN5bmMgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNh c2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBzeW5jLgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkg PGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgc3luYyBpbm5v Y3VvdXNfc3luYwp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3Mg YW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdp dGggY2hhciBzeW5jICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2Vy dC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0 cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENf Xwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8 ICNlbmRpZgp8IAp8ICN1bmRlZiBzeW5jCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5h bCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQg bWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhl biBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYg X19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBzeW5jICgpOwp8IC8qIFRo ZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxl bWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBh cmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRo ZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX3N5bmMg fHwgZGVmaW5lZCBfX3N0dWJfX19zeW5jCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBt YWluICgpCnwgewp8IHJldHVybiBzeW5jICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25m aWd1cmU6MTc4ODg6IHJlc3VsdDogbm8KY29uZmlndXJlOjE3ODg4OiBjaGVja2luZyBmb3IgZ2V0 cHdlbnQKY29uZmlndXJlOjE3ODg4OiBnY2MgLUkgLi4vc3JjL250L2luYyAtbyBjb25mdGVzdC5l eGUgLWczIC1PMiAtZ2R3YXJmLTIgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9s aWJyc3ZnLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2dsaWItMi4wIC1p c3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2xpYi9nbGliLTIuMC9pbmNsdWRlIC1pc3lzdGVtIEM6 L21zeXM2NC9taW5ndzY0L2luY2x1ZGUgLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0 L21pbmd3NjQvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2 NC9pbmNsdWRlL2xpYnBuZzE2IC1tbXMtYml0ZmllbGRzIC1wdGhyZWFkIC1tbXMtYml0ZmllbGRz IC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvY2Fpcm8gLWlzeXN0ZW0gQzovbXN5 czY0L21pbmd3NjQvaW5jbHVkZS9sem8gLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVk ZS9mcmVldHlwZTIgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9oYXJmYnV6eiAt bW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL3BpeG1hbi0x ICAtbXR1bmU9Z2VuZXJpYyAgICBjb25mdGVzdC5jICAgLWxnY2NqaXQgICA+JjUgCkM6L21zeXM2 NC9taW5ndzY0L2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi8xMC4yLjAvLi4vLi4v Li4vLi4veDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IEM6XG1zeXM2NFx0bXBcY2MyYzRT cjIubzogaW4gZnVuY3Rpb24gYG1haW4nOgpDOlxtc3lzNjRcaG9tZVxWV2luVXNlcjBcRG93bmxv YWRzXGVtYWNzXG5hdGl2ZS1jb21wXGJ1aWxkL2NvbmZ0ZXN0LmM6MTM4OiB1bmRlZmluZWQgcmVm ZXJlbmNlIHRvIGBnZXRwd2VudCcKY29sbGVjdDIuZXhlOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBl eGl0IHN0YXR1cwpjb25maWd1cmU6MTc4ODg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBF bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdF X1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4 LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3Jn Igp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1h Y3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwg I2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lP TlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNF IDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAj ZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJ Q1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNk ZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENf V0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1 OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhU X18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENf V0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2Rl ZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRf QklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRv d3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAx CnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0gg MQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5l IEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NUQVRfSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9T WVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVf SU1BR0VfQVBJIDEKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBVU0VfTU1BUF9GT1JfQlVGRkVSUyAxCnwgI2RlZmluZSBUSFJF QURTX0VOQUJMRUQgMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfR05VVExT IDEKfCAjZGVmaW5lIEhBVkVfSlNPTiAxCnwgI2RlZmluZSBIQVZFX1czMk5PVElGWSAxCnwgI2Rl ZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMg MQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0hBUkZCVVpaIDEKfCAjZGVmaW5l IEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0xDTVMyIDEK fCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX01PRFVMRVMgMQp8ICNkZWZpbmUg TU9EVUxFU19TVUZGSVggIi5kbGwiCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVCAxCnwgI2RlZmlu ZSBIQVZFX0xJQkdDQ0pJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0NPTVAgMQp8ICNkZWZp bmUgTkFUSVZFX0VMSVNQX1NVRkZJWCAiLmVsbiIKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVm aW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX0xJQlhN TDIgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAx CnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9UUlVOQyAxCnwgI2RlZmluZSBI QVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVf U0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VU UkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFE X1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJ VElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAx CnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9S IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGdldHB3ZW50IHRvIGFuIGlu bm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0cHdlbnQuCnwg ICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRh eS4gICovCnwgI2RlZmluZSBnZXRwd2VudCBpbm5vY3VvdXNfZ2V0cHdlbnQKfCAKfCAvKiBTeXN0 ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3Rv dHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgZ2V0cHdlbnQgKCk7IGJl bG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlz IGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5k aW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1p dHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVm IGdldHB3ZW50CnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8g YXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhl IHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQg cHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBl eHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBnZXRwd2VudCAoKTsKfCAvKiBUaGUgR05VIEMgbGli cmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAg IHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5 IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5h bWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9nZXRwd2VudCB8fCBkZWZp bmVkIF9fc3R1Yl9fX2dldHB3ZW50CnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWlu ICgpCnwgewp8IHJldHVybiBnZXRwd2VudCAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29u ZmlndXJlOjE3ODg4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNzg4ODogY2hlY2tpbmcgZm9yIGVu ZHB3ZW50CmNvbmZpZ3VyZToxNzg4ODogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3Qu ZXhlIC1nMyAtTzIgLWdkd2FyZi0yIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUv bGlicnN2Zy0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nbGliLTIuMCAt aXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9saWIvZ2xpYi0yLjAvaW5jbHVkZSAtaXN5c3RlbSBD Oi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2 NC9taW5ndzY0L2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3 NjQvaW5jbHVkZS9saWJwbmcxNiAtbW1zLWJpdGZpZWxkcyAtcHRocmVhZCAtbW1zLWJpdGZpZWxk cyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2NhaXJvIC1pc3lzdGVtIEM6L21z eXM2NC9taW5ndzY0L2luY2x1ZGUvbHpvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1 ZGUvZnJlZXR5cGUyIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvaGFyZmJ1enog LW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9waXhtYW4t MSAgLW10dW5lPWdlbmVyaWMgICAgY29uZnRlc3QuYyAgIC1sZ2Njaml0ICAgPiY1IApDOi9tc3lz NjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvMTAuMi4wLy4uLy4u Ly4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBDOlxtc3lzNjRcdG1wXGNjQ3Vt STdmLm86IGluIGZ1bmN0aW9uIGBtYWluJzoKQzpcbXN5czY0XGhvbWVcVldpblVzZXIwXERvd25s b2Fkc1xlbWFjc1xuYXRpdmUtY29tcFxidWlsZC9jb25mdGVzdC5jOjEzODogdW5kZWZpbmVkIHJl ZmVyZW5jZSB0byBgZW5kcHdlbnQnCmNvbGxlY3QyLmV4ZTogZXJyb3I6IGxkIHJldHVybmVkIDEg ZXhpdCBzdGF0dXMKY29uZmlndXJlOjE3ODg4OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUg RW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAy OC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9y ZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2Vt YWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJ T05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJD RSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwg I2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5U SUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAj ZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1 NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VY VF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNk ZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VU X0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5k b3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQg MQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9I IDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZF X0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VU UEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhS RUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRM UyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNk ZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJT IDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmlu ZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAx CnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5l IE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZp bmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVm aW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2Rl ZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJY TUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00g MQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUg SEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZF X1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VU SVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00g MQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJP UiAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBlbmRwd2VudCB0byBhbiBp bm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIGVuZHB3ZW50Lgp8 ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2Zk YXkuICAqLwp8ICNkZWZpbmUgZW5kcHdlbnQgaW5ub2N1b3VzX2VuZHB3ZW50CnwgCnwgLyogU3lz dGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90 b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGVuZHB3ZW50ICgpOyBi ZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBp cyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFu ZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGlt aXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRl ZiBlbmRwd2VudAp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRv IGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRo ZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50 IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwg ZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgZW5kcHdlbnQgKCk7CnwgLyogVGhlIEdOVSBDIGxp YnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAg ICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxs eSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBu YW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfZW5kcHdlbnQgfHwgZGVm aW5lZCBfX3N0dWJfX19lbmRwd2VudAp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFp biAoKQp8IHsKfCByZXR1cm4gZW5kcHdlbnQgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNv bmZpZ3VyZToxNzg4ODogcmVzdWx0OiBubwpjb25maWd1cmU6MTc4ODg6IGNoZWNraW5nIGZvciBn ZXRncmVudApjb25maWd1cmU6MTc4ODg6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0ZXN0 LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRl L2xpYnJzdmctMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2xpYi0yLjAg LWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvbGliL2dsaWItMi4wL2luY2x1ZGUgLWlzeXN0ZW0g QzovbXN5czY0L21pbmd3NjQvaW5jbHVkZSAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lz NjQvbWluZ3c2NC9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5n dzY0L2luY2x1ZGUvbGlicG5nMTYgLW1tcy1iaXRmaWVsZHMgLXB0aHJlYWQgLW1tcy1iaXRmaWVs ZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9jYWlybyAtaXN5c3RlbSBDOi9t c3lzNjQvbWluZ3c2NC9pbmNsdWRlL2x6byAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNs dWRlL2ZyZWV0eXBlMiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2hhcmZidXp6 IC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvcGl4bWFu LTEgIC1tdHVuZT1nZW5lcmljICAgIGNvbmZ0ZXN0LmMgICAtbGdjY2ppdCAgID4mNSAKQzovbXN5 czY0L21pbmd3NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5ndzMyLzEwLjIuMC8uLi8u Li8uLi8uLi94ODZfNjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogQzpcbXN5czY0XHRtcFxjY0sy WkxGRi5vOiBpbiBmdW5jdGlvbiBgbWFpbic6CkM6XG1zeXM2NFxob21lXFZXaW5Vc2VyMFxEb3du bG9hZHNcZW1hY3NcbmF0aXZlLWNvbXBcYnVpbGQvY29uZnRlc3QuYzoxMzg6IHVuZGVmaW5lZCBy ZWZlcmVuY2UgdG8gYGdldGdyZW50Jwpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAx IGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNzg4ODogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05V IEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3Mg MjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5v cmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9l bWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEK fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5T SU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VS Q0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8 ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFO VElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwg I2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1RE Q19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYw NTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19F WFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1RE Q19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAj ZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNF VF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2lu ZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5E IDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0Vf SCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZF X1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElW RV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dF VFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRI UkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVU TFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAj ZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFS UyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNkZWZp bmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENNUzIg MQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmlu ZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAjZGVm aW5lIEhBVkVfTElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwgI2Rl ZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNk ZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfTElC WE1MMiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9N IDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEKfCAjZGVmaW5l IEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFW RV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9T RVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX1BUSFJF QURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NF VElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9N IDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJS T1IgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgZ2V0Z3JlbnQgdG8gYW4g aW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXRncmVudC4K fCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9m ZGF5LiAgKi8KfCAjZGVmaW5lIGdldGdyZW50IGlubm9jdW91c19nZXRncmVudAp8IAp8IC8qIFN5 c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJv dG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBnZXRncmVudCAoKTsg YmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18g aXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3Rh bmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxp bWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5k ZWYgZ2V0Z3JlbnQKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0 byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0 aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVu dCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8 IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGdldGdyZW50ICgpOwp8IC8qIFRoZSBHTlUgQyBs aWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAg ICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFs bHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwg bmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX2dldGdyZW50IHx8IGRl ZmluZWQgX19zdHViX19fZ2V0Z3JlbnQKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1h aW4gKCkKfCB7CnwgcmV0dXJuIGdldGdyZW50ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpj b25maWd1cmU6MTc4ODg6IHJlc3VsdDogbm8KY29uZmlndXJlOjE3ODg4OiBjaGVja2luZyBmb3Ig ZW5kZ3JlbnQKY29uZmlndXJlOjE3ODg4OiBnY2MgLUkgLi4vc3JjL250L2luYyAtbyBjb25mdGVz dC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVk ZS9saWJyc3ZnLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2dsaWItMi4w IC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2xpYi9nbGliLTIuMC9pbmNsdWRlIC1pc3lzdGVt IEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUgLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5 czY0L21pbmd3NjQvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWlu Z3c2NC9pbmNsdWRlL2xpYnBuZzE2IC1tbXMtYml0ZmllbGRzIC1wdGhyZWFkIC1tbXMtYml0Zmll bGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvY2Fpcm8gLWlzeXN0ZW0gQzov bXN5czY0L21pbmd3NjQvaW5jbHVkZS9sem8gLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5j bHVkZS9mcmVldHlwZTIgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9oYXJmYnV6 eiAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL3BpeG1h bi0xICAtbXR1bmU9Z2VuZXJpYyAgICBjb25mdGVzdC5jICAgLWxnY2NqaXQgICA+JjUgCkM6L21z eXM2NC9taW5ndzY0L2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi8xMC4yLjAvLi4v Li4vLi4vLi4veDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IEM6XG1zeXM2NFx0bXBcY2Nt NXJERlEubzogaW4gZnVuY3Rpb24gYG1haW4nOgpDOlxtc3lzNjRcaG9tZVxWV2luVXNlcjBcRG93 bmxvYWRzXGVtYWNzXG5hdGl2ZS1jb21wXGJ1aWxkL2NvbmZ0ZXN0LmM6MTM4OiB1bmRlZmluZWQg cmVmZXJlbmNlIHRvIGBlbmRncmVudCcKY29sbGVjdDIuZXhlOiBlcnJvcjogbGQgcmV0dXJuZWQg MSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTc4ODg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdO VSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNz IDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUu b3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUv ZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAx CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVO U0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09V UkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEK fCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1B TlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8 ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NU RENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182 MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNf RVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NU RENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwg I2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZT RVRfQklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndp bmRvd3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VO RCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNF X0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVm aW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFW RV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9OQVRJ VkVfSU1BR0VfQVBJIDEKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9H RVRQQUdFU0laRSAxCnwgI2RlZmluZSBVU0VfTU1BUF9GT1JfQlVGRkVSUyAxCnwgI2RlZmluZSBU SFJFQURTX0VOQUJMRUQgMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfR05V VExTIDEKfCAjZGVmaW5lIEhBVkVfSlNPTiAxCnwgI2RlZmluZSBIQVZFX1czMk5PVElGWSAxCnwg I2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JB UlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0hBUkZCVVpaIDEKfCAjZGVm aW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0xDTVMy IDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX01PRFVMRVMgMQp8ICNkZWZp bmUgTU9EVUxFU19TVUZGSVggIi5kbGwiCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVCAxCnwgI2Rl ZmluZSBIQVZFX0xJQkdDQ0pJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0NPTVAgMQp8ICNk ZWZpbmUgTkFUSVZFX0VMSVNQX1NVRkZJWCAiLmVsbiIKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAj ZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX0xJ QlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRP TSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9UUlVOQyAxCnwgI2RlZmlu ZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhB VkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVf U0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9QVEhS RUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9T RVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJP TSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVS Uk9SIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGVuZGdyZW50IHRvIGFu IGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgZW5kZ3JlbnQu CnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVv ZmRheS4gICovCnwgI2RlZmluZSBlbmRncmVudCBpbm5vY3VvdXNfZW5kZ3JlbnQKfCAKfCAvKiBT eXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHBy b3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgZW5kZ3JlbnQgKCk7 IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19f IGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0 YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxs aW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3Vu ZGVmIGVuZGdyZW50CnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUg dG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2gg dGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1l bnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMK fCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBlbmRncmVudCAoKTsKfCAvKiBUaGUgR05VIEMg bGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwg ICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVh bGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFs IG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9lbmRncmVudCB8fCBk ZWZpbmVkIF9fc3R1Yl9fX2VuZGdyZW50CnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBt YWluICgpCnwgewp8IHJldHVybiBlbmRncmVudCAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0K Y29uZmlndXJlOjE3ODg4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNzg4ODogY2hlY2tpbmcgZm9y IGNmbWFrZXJhdwpjb25maWd1cmU6MTc4ODg6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0 ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNs dWRlL2xpYnJzdmctMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2xpYi0y LjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvbGliL2dsaWItMi4wL2luY2x1ZGUgLWlzeXN0 ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZSAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9t c3lzNjQvbWluZ3c2NC9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9t aW5ndzY0L2luY2x1ZGUvbGlicG5nMTYgLW1tcy1iaXRmaWVsZHMgLXB0aHJlYWQgLW1tcy1iaXRm aWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9jYWlybyAtaXN5c3RlbSBD Oi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2x6byAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9p bmNsdWRlL2ZyZWV0eXBlMiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2hhcmZi dXp6IC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvcGl4 bWFuLTEgIC1tdHVuZT1nZW5lcmljICAgIGNvbmZ0ZXN0LmMgICAtbGdjY2ppdCAgID4mNSAKQzov bXN5czY0L21pbmd3NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5ndzMyLzEwLjIuMC8u Li8uLi8uLi8uLi94ODZfNjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogQzpcbXN5czY0XHRtcFxj Y0toV3pzZy5vOiBpbiBmdW5jdGlvbiBgbWFpbic6CkM6XG1zeXM2NFxob21lXFZXaW5Vc2VyMFxE b3dubG9hZHNcZW1hY3NcbmF0aXZlLWNvbXBcYnVpbGQvY29uZnRlc3QuYzoxMzg6IHVuZGVmaW5l ZCByZWZlcmVuY2UgdG8gYGNmbWFrZXJhdycKY29sbGVjdDIuZXhlOiBlcnJvcjogbGQgcmV0dXJu ZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTc4ODg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxl ZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUg IkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVt YWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0Bn bnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdh cmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBF UiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VY VEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0Nf U09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNF IDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9T RU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18g MQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBf X1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lF Q182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQ RVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBf X1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAx CnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9P RkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUg IndpbmRvd3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9T T1VORCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09V UkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUg SEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9O QVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFW RV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBVU0VfTU1BUF9GT1JfQlVGRkVSUyAxCnwgI2RlZmlu ZSBUSFJFQURTX0VOQUJMRUQgMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVf R05VVExTIDEKfCAjZGVmaW5lIEhBVkVfSlNPTiAxCnwgI2RlZmluZSBIQVZFX1czMk5PVElGWSAx CnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xM X0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0hBUkZCVVpaIDEKfCAj ZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0xD TVMyIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX01PRFVMRVMgMQp8ICNk ZWZpbmUgTU9EVUxFU19TVUZGSVggIi5kbGwiCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVCAxCnwg I2RlZmluZSBIQVZFX0xJQkdDQ0pJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0NPTVAgMQp8 ICNkZWZpbmUgTkFUSVZFX0VMSVNQX1NVRkZJWCAiLmVsbiIKfCAjZGVmaW5lIEhBVkVfUE5HIDEK fCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZF X0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JB TkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9UUlVOQyAxCnwgI2Rl ZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5l IEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhB VkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9Q VEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFW RV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNW RlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NU UkVSUk9SIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGNmbWFrZXJhdyB0 byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIGNmbWFr ZXJhdy4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0 dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGNmbWFrZXJhdyBpbm5vY3VvdXNfY2ZtYWtlcmF3Cnwg CnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5 IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGNmbWFr ZXJhdyAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYg X19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBv biBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGlu Y2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYK fCAKfCAjdW5kZWYgY2ZtYWtlcmF3CnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBw cm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWln aHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBp dHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19j cGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBjZm1ha2VyYXcgKCk7CnwgLyog VGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1w bGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25z IGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQg dGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfY2Zt YWtlcmF3IHx8IGRlZmluZWQgX19zdHViX19fY2ZtYWtlcmF3CnwgY2hva2UgbWUKfCAjZW5kaWYK fCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBjZm1ha2VyYXcgKCk7CnwgICA7CnwgICBy ZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxNzg4ODogcmVzdWx0OiBubwpjb25maWd1cmU6MTc4ODg6 IGNoZWNraW5nIGZvciBjZnNldHNwZWVkCmNvbmZpZ3VyZToxNzg4ODogZ2NjIC1JIC4uL3NyYy9u dC9pbmMgLW8gY29uZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0yIC1pc3lzdGVtIEM6L21zeXM2 NC9taW5ndzY0L2luY2x1ZGUvbGlicnN2Zy0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQv aW5jbHVkZS9nbGliLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9saWIvZ2xpYi0yLjAv aW5jbHVkZSAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlIC1tbXMtYml0ZmllbGRz IC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLWlzeXN0 ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9saWJwbmcxNiAtbW1zLWJpdGZpZWxkcyAtcHRo cmVhZCAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2Nh aXJvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbHpvIC1pc3lzdGVtIEM6L21z eXM2NC9taW5ndzY0L2luY2x1ZGUvZnJlZXR5cGUyIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0 L2luY2x1ZGUvaGFyZmJ1enogLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3 NjQvaW5jbHVkZS9waXhtYW4tMSAgLW10dW5lPWdlbmVyaWMgICAgY29uZnRlc3QuYyAgIC1sZ2Nj aml0ICAgPiY1IApDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1p bmd3MzIvMTAuMi4wLy4uLy4uLy4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBD Olxtc3lzNjRcdG1wXGNjR2czb1N0Lm86IGluIGZ1bmN0aW9uIGBtYWluJzoKQzpcbXN5czY0XGhv bWVcVldpblVzZXIwXERvd25sb2Fkc1xlbWFjc1xuYXRpdmUtY29tcFxidWlsZC9jb25mdGVzdC5j OjEzODogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgY2ZzZXRzcGVlZCcKY29sbGVjdDIuZXhlOiBl cnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTc4ODg6ICQ/ID0gMQpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmlu ZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi YnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3 LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVm aW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFW RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVN T1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2Rl ZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5l IF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBf UE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5 X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRf XyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5l IF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FO VF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJf XyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBf VEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwg I2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZp bmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8 ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZF X0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hB Ul9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJ TUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTlRHVUkgMQp8 ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0Mg MQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBVU0VfTU1BUF9GT1JfQlVG RkVSUyAxCnwgI2RlZmluZSBUSFJFQURTX0VOQUJMRUQgMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEK fCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfSlNPTiAxCnwgI2RlZmluZSBI QVZFX1czMk5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNF X1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZF X0hBUkZCVVpaIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwg I2RlZmluZSBIQVZFX0xDTVMyIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZF X01PRFVMRVMgMQp8ICNkZWZpbmUgTU9EVUxFU19TVUZGSVggIi5kbGwiCnwgI2RlZmluZSBIQVZF X0xJQkdDQ0pJVCAxCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVF9IIDEKfCAjZGVmaW5lIEhBVkVf TkFUSVZFX0NPTVAgMQp8ICNkZWZpbmUgTkFUSVZFX0VMSVNQX1NVRkZJWCAiLmVsbiIKfCAjZGVm aW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAx CnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwg I2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFW RV9UUlVOQyAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VT SVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlU IDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8 ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwg MQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNk ZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVm aW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVm aW5lIGNmc2V0c3BlZWQgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5o PiBkZWNsYXJlcyBjZnNldHNwZWVkLgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0 cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgY2ZzZXRzcGVlZCBpbm5v Y3VvdXNfY2ZzZXRzcGVlZAp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBt YWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZs aWN0IHdpdGggY2hhciBjZnNldHNwZWVkICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMu aD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGlt aXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNp ZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUg PGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBjZnNldHNwZWVkCnwgCnwgLyogT3ZlcnJp ZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNl IGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwg ICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFw cGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hh ciBjZnNldHNwZWVkICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3Ig ZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBF Tk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5n IHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwg I2lmIGRlZmluZWQgX19zdHViX2Nmc2V0c3BlZWQgfHwgZGVmaW5lZCBfX3N0dWJfX19jZnNldHNw ZWVkCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBj ZnNldHNwZWVkICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTc4ODg6IHJl c3VsdDogbm8KY29uZmlndXJlOjE3ODg4OiBjaGVja2luZyBmb3IgX19leGVjdXRhYmxlX3N0YXJ0 CmNvbmZpZ3VyZToxNzg4ODogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1n MyAtTzIgLWdkd2FyZi0yIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicnN2 Zy0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nbGliLTIuMCAtaXN5c3Rl bSBDOi9tc3lzNjQvbWluZ3c2NC9saWIvZ2xpYi0yLjAvaW5jbHVkZSAtaXN5c3RlbSBDOi9tc3lz NjQvbWluZ3c2NC9pbmNsdWRlIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5n dzY0L2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5j bHVkZS9saWJwbmcxNiAtbW1zLWJpdGZpZWxkcyAtcHRocmVhZCAtbW1zLWJpdGZpZWxkcyAtaXN5 c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2NhaXJvIC1pc3lzdGVtIEM6L21zeXM2NC9t aW5ndzY0L2luY2x1ZGUvbHpvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZnJl ZXR5cGUyIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvaGFyZmJ1enogLW1tcy1i aXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9waXhtYW4tMSAgLW10 dW5lPWdlbmVyaWMgICAgY29uZnRlc3QuYyAgIC1sZ2Njaml0ICAgPiY1IApDOi9tc3lzNjQvbWlu Z3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvMTAuMi4wLy4uLy4uLy4uLy4u L3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBDOlxtc3lzNjRcdG1wXGNjRW9TNGpJLm86 IGluIGZ1bmN0aW9uIGBtYWluJzoKQzpcbXN5czY0XGhvbWVcVldpblVzZXIwXERvd25sb2Fkc1xl bWFjc1xuYXRpdmUtY29tcFxidWlsZC9jb25mdGVzdC5jOjEzODogdW5kZWZpbmVkIHJlZmVyZW5j ZSB0byBgX19leGVjdXRhYmxlX3N0YXJ0Jwpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5l ZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNzg4ODogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVk IHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAi R05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBB Q0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1h Y3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdu dS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2Fy ZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVS IDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhU RU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19T T1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0Ug MQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NF TUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAx CnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9f U1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVD XzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBF U19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9f U1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEK fCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09G RlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAi d2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NP VU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VS Q0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBI QVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05B VElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZF X0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5l IFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9H TlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEK fCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExf QkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNk ZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENN UzIgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2Rl ZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAj ZGVmaW5lIEhBVkVfTElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwg I2RlZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8 ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVf TElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkFO RE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEKfCAjZGVm aW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUg SEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFW RV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZF X1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZG Uk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RS RVJST1IgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgX19leGVjdXRhYmxl X3N0YXJ0IHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFy ZXMgX19leGVjdXRhYmxlX3N0YXJ0Lgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0 cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgX19leGVjdXRhYmxlX3N0 YXJ0IGlubm9jdW91c19fX2V4ZWN1dGFibGVfc3RhcnQKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRv IGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAg IHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgX19leGVjdXRhYmxlX3N0YXJ0ICgpOyBiZWxv dy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBk ZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGlu ZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRz Lmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBf X2V4ZWN1dGFibGVfc3RhcnQKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3Rv dHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBt YXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBh cmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVz cGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIF9fZXhlY3V0YWJsZV9zdGFydCAoKTsK fCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBp dCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5j dGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9f IGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1 Yl9fX2V4ZWN1dGFibGVfc3RhcnQgfHwgZGVmaW5lZCBfX3N0dWJfX19fX2V4ZWN1dGFibGVfc3Rh cnQKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIF9f ZXhlY3V0YWJsZV9zdGFydCAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE3 ODg4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNzg4ODogY2hlY2tpbmcgZm9yIGxvZzIKY29uZmln dXJlOjE3ODg4OiBnY2MgLUkgLi4vc3JjL250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAt Z2R3YXJmLTIgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9saWJyc3ZnLTIuMCAt aXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2dsaWItMi4wIC1pc3lzdGVtIEM6L21z eXM2NC9taW5ndzY0L2xpYi9nbGliLTIuMC9pbmNsdWRlIC1pc3lzdGVtIEM6L21zeXM2NC9taW5n dzY0L2luY2x1ZGUgLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5j bHVkZS9nZGstcGl4YnVmLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xp YnBuZzE2IC1tbXMtYml0ZmllbGRzIC1wdGhyZWFkIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6 L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvY2Fpcm8gLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQv aW5jbHVkZS9sem8gLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9mcmVldHlwZTIg LWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9oYXJmYnV6eiAtbW1zLWJpdGZpZWxk cyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL3BpeG1hbi0xICAtbXR1bmU9Z2Vu ZXJpYyAgICBjb25mdGVzdC5jICAgLWxnY2NqaXQgICA+JjUgCmNvbmZ0ZXN0LmM6MTI3OjY6IHdh cm5pbmc6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBidWlsdC1pbiBmdW5jdGlvbiAnbG9nMic7IGV4 cGVjdGVkICdkb3VibGUoZG91YmxlKScgWy1XYnVpbHRpbi1kZWNsYXJhdGlvbi1taXNtYXRjaF0K ICAxMjcgfCBjaGFyIGxvZzIgKCk7CiAgICAgIHwgICAgICBefn5+CmNvbmZ0ZXN0LmM6MTE1OjE6 IG5vdGU6ICdsb2cyJyBpcyBkZWNsYXJlZCBpbiBoZWFkZXIgJzxtYXRoLmg+JwogIDExNCB8ICMg aW5jbHVkZSA8bGltaXRzLmg+CiAgMTE1IHwgI2Vsc2UKY29uZmlndXJlOjE3ODg4OiAkPyA9IDAK Y29uZmlndXJlOjE3ODg4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTc4ODg6IGNoZWNraW5nIGZv ciBwdGhyZWFkX3NldG5hbWVfbnAKY29uZmlndXJlOjE3ODg4OiBnY2MgLUkgLi4vc3JjL250L2lu YyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgLWlzeXN0ZW0gQzovbXN5czY0L21p bmd3NjQvaW5jbHVkZS9saWJyc3ZnLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNs dWRlL2dsaWItMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2xpYi9nbGliLTIuMC9pbmNs dWRlIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUgLW1tcy1iaXRmaWVsZHMgLWlz eXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtaXN5c3RlbSBD Oi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xpYnBuZzE2IC1tbXMtYml0ZmllbGRzIC1wdGhyZWFk IC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvY2Fpcm8g LWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9sem8gLWlzeXN0ZW0gQzovbXN5czY0 L21pbmd3NjQvaW5jbHVkZS9mcmVldHlwZTIgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5j bHVkZS9oYXJmYnV6eiAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9p bmNsdWRlL3BpeG1hbi0xICAtbXR1bmU9Z2VuZXJpYyAgICBjb25mdGVzdC5jICAgLWxnY2NqaXQg ICA+JjUgCmNvbmZpZ3VyZToxNzg4ODogJD8gPSAwCmNvbmZpZ3VyZToxNzg4ODogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjE3ODg4OiBjaGVja2luZyBmb3IgcHRocmVhZF9zZXRfbmFtZV9ucApjb25m aWd1cmU6MTc4ODg6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8y IC1nZHdhcmYtMiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xpYnJzdmctMi4w IC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2xpYi0yLjAgLWlzeXN0ZW0gQzov bXN5czY0L21pbmd3NjQvbGliL2dsaWItMi4wL2luY2x1ZGUgLWlzeXN0ZW0gQzovbXN5czY0L21p bmd3NjQvaW5jbHVkZSAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9p bmNsdWRlL2dkay1waXhidWYtMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUv bGlicG5nMTYgLW1tcy1iaXRmaWVsZHMgLXB0aHJlYWQgLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0g QzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9jYWlybyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2 NC9pbmNsdWRlL2x6byAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2ZyZWV0eXBl MiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2hhcmZidXp6IC1tbXMtYml0Zmll bGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvcGl4bWFuLTEgIC1tdHVuZT1n ZW5lcmljICAgIGNvbmZ0ZXN0LmMgICAtbGdjY2ppdCAgID4mNSAKQzovbXN5czY0L21pbmd3NjQv YmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5ndzMyLzEwLjIuMC8uLi8uLi8uLi8uLi94ODZf NjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogQzpcbXN5czY0XHRtcFxjY2dPb2cwRS5vOiBpbiBm dW5jdGlvbiBgbWFpbic6CkM6XG1zeXM2NFxob21lXFZXaW5Vc2VyMFxEb3dubG9hZHNcZW1hY3Nc bmF0aXZlLWNvbXBcYnVpbGQvY29uZnRlc3QuYzoxNDA6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8g YHB0aHJlYWRfc2V0X25hbWVfbnAnCmNvbGxlY3QyLmV4ZTogZXJyb3I6IGxkIHJldHVybmVkIDEg ZXhpdCBzdGF0dXMKY29uZmlndXJlOjE3ODg4OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUg RW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAy OC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9y ZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2Vt YWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJ T05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJD RSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwg I2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5U SUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAj ZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1 NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VY VF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNk ZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VU X0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5k b3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQg MQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9I IDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZF X0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VU UEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhS RUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRM UyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNk ZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJT IDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmlu ZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAx CnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5l IE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZp bmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVm aW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2Rl ZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJY TUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00g MQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUg SEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZF X1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VU SVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00g MQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJP UiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVf TlAgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgcHRocmVhZF9zZXRfbmFt ZV9ucCB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVz IHB0aHJlYWRfc2V0X25hbWVfbnAuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRz Lmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBwdGhyZWFkX3NldF9uYW1l X25wIGlubm9jdW91c19wdGhyZWFkX3NldF9uYW1lX25wCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0 byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAg ICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHB0aHJlYWRfc2V0X25hbWVfbnAgKCk7IGJl bG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlz IGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5k aW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1p dHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVm IHB0aHJlYWRfc2V0X25hbWVfbnAKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHBy b3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdo dCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0 cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2Nw bHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIHB0aHJlYWRfc2V0X25hbWVfbnAg KCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hp Y2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUg ZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0 aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBf X3N0dWJfcHRocmVhZF9zZXRfbmFtZV9ucCB8fCBkZWZpbmVkIF9fc3R1Yl9fX3B0aHJlYWRfc2V0 X25hbWVfbnAKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0 dXJuIHB0aHJlYWRfc2V0X25hbWVfbnAgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZp Z3VyZToxNzg4ODogcmVzdWx0OiBubwpjb25maWd1cmU6MTc5MDA6IGNoZWNraW5nIHdoZXRoZXIg cHRocmVhZF9zZXRuYW1lX25wIHRha2VzIGEgc2luZ2xlIGFyZ3VtZW50CmNvbmZpZ3VyZToxNzkx NjogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJmLTIgLWlzeXN0ZW0gQzov bXN5czY0L21pbmd3NjQvaW5jbHVkZS9saWJyc3ZnLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWlu Z3c2NC9pbmNsdWRlL2dsaWItMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2xpYi9nbGli LTIuMC9pbmNsdWRlIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUgLW1tcy1iaXRm aWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAt aXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xpYnBuZzE2IC1tbXMtYml0ZmllbGRz IC1wdGhyZWFkIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1 ZGUvY2Fpcm8gLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9sem8gLWlzeXN0ZW0g QzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9mcmVldHlwZTIgLWlzeXN0ZW0gQzovbXN5czY0L21p bmd3NjQvaW5jbHVkZS9oYXJmYnV6eiAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQv bWluZ3c2NC9pbmNsdWRlL3BpeG1hbi0xICAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxMTA6MjE6IHdhcm5p bmc6IHBhc3NpbmcgYXJndW1lbnQgMSBvZiAncHRocmVhZF9zZXRuYW1lX25wJyBtYWtlcyBpbnRl Z2VyIGZyb20gcG9pbnRlciB3aXRob3V0IGEgY2FzdCBbLVdpbnQtY29udmVyc2lvbl0KICAxMTAg fCBwdGhyZWFkX3NldG5hbWVfbnAgKCJhIik7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICBe fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgIGNoYXIgKgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gY29uZnRlc3QuYzoxMDY6CkM6L21zeXM2 NC9taW5ndzY0L3g4Nl82NC13NjQtbWluZ3czMi9pbmNsdWRlL3B0aHJlYWQuaDozMTc6NTU6IG5v dGU6IGV4cGVjdGVkICdwdGhyZWFkX3QnIHtha2EgJ2xvbmcgbG9uZyB1bnNpZ25lZCBpbnQnfSBi dXQgYXJndW1lbnQgaXMgb2YgdHlwZSAnY2hhciAqJwogIDMxNyB8IGludCAgICAgICBXSU5QVEhS RUFEX0FQSSBwdGhyZWFkX3NldG5hbWVfbnAocHRocmVhZF90IHRocmVhZCwgY29uc3QgY2hhciAq bmFtZSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB+fn5+fn5+fn5+Xn5+fn5+CmNvbmZ0ZXN0LmM6MTEwOjE6IGVycm9yOiB0b28gZmV3IGFyZ3Vt ZW50cyB0byBmdW5jdGlvbiAncHRocmVhZF9zZXRuYW1lX25wJwogIDExMCB8IHB0aHJlYWRfc2V0 bmFtZV9ucCAoImEiKTsKICAgICAgfCBefn5+fn5+fn5+fn5+fn5+fn4KSW4gZmlsZSBpbmNsdWRl ZCBmcm9tIGNvbmZ0ZXN0LmM6MTA2OgpDOi9tc3lzNjQvbWluZ3c2NC94ODZfNjQtdzY0LW1pbmd3 MzIvaW5jbHVkZS9wdGhyZWFkLmg6MzE3OjI2OiBub3RlOiBkZWNsYXJlZCBoZXJlCiAgMzE3IHwg aW50ICAgICAgIFdJTlBUSFJFQURfQVBJIHB0aHJlYWRfc2V0bmFtZV9ucChwdGhyZWFkX3QgdGhy ZWFkLCBjb25zdCBjaGFyICpuYW1lKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg Xn5+fn5+fn5+fn5+fn5+fn5+CmNvbmZpZ3VyZToxNzkxNjogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5l IFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUg RW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNz QGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0 d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVN UEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9f RVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5f Q19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VS Q0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFE X1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRf XyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5l IF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRf SUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9U WVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5l IF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNF IDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxF X09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQ RSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZF X1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVT T1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tF VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmlu ZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZF X05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBI QVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVm aW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFW RV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZ IDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JP TExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8 ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVf TENNUzIgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwg I2RlZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEK fCAjZGVmaW5lIEhBVkVfTElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAx CnwgI2RlZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcg MQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhB VkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVf UkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEKfCAj ZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZp bmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUg SEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBI QVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JF Q1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlf U1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9T RVROQU1FX05QIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHB0aHJlYWQu aD4KfCBpbnQKfCBtYWluICgpCnwgewp8IHB0aHJlYWRfc2V0bmFtZV9ucCAoImEiKTsKfCAgIDsK fCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE3OTIzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTox NzkzMDogY2hlY2tpbmcgd2hldGhlciBwdGhyZWFkX3NldG5hbWVfbnAgdGFrZXMgdGhyZWUgYXJn dW1lbnRzCmNvbmZpZ3VyZToxNzk0NjogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAt Z2R3YXJmLTIgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9saWJyc3ZnLTIuMCAt aXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2dsaWItMi4wIC1pc3lzdGVtIEM6L21z eXM2NC9taW5ndzY0L2xpYi9nbGliLTIuMC9pbmNsdWRlIC1pc3lzdGVtIEM6L21zeXM2NC9taW5n dzY0L2luY2x1ZGUgLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5j bHVkZS9nZGstcGl4YnVmLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xp YnBuZzE2IC1tbXMtYml0ZmllbGRzIC1wdGhyZWFkIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6 L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvY2Fpcm8gLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQv aW5jbHVkZS9sem8gLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9mcmVldHlwZTIg LWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9oYXJmYnV6eiAtbW1zLWJpdGZpZWxk cyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL3BpeG1hbi0xICAtbXR1bmU9Z2Vu ZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29u ZnRlc3QuYzoxMTA6MTogZXJyb3I6IHRvbyBtYW55IGFyZ3VtZW50cyB0byBmdW5jdGlvbiAncHRo cmVhZF9zZXRuYW1lX25wJwogIDExMCB8IHB0aHJlYWRfc2V0bmFtZV9ucCAoMCwgIiVzIiwgImEi KTsKICAgICAgfCBefn5+fn5+fn5+fn5+fn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGNvbmZ0 ZXN0LmM6MTA2OgpDOi9tc3lzNjQvbWluZ3c2NC94ODZfNjQtdzY0LW1pbmd3MzIvaW5jbHVkZS9w dGhyZWFkLmg6MzE3OjI2OiBub3RlOiBkZWNsYXJlZCBoZXJlCiAgMzE3IHwgaW50ICAgICAgIFdJ TlBUSFJFQURfQVBJIHB0aHJlYWRfc2V0bmFtZV9ucChwdGhyZWFkX3QgdGhyZWFkLCBjb25zdCBj aGFyICpuYW1lKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+CmNvbmZpZ3VyZToxNzk0NjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g d2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNz Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVS U0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41 MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwg I2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8i CnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVm aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19f IDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8 ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZp bmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAx CnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5U X0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZV TkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAx CnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5U X01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5l IF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRT IDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1u dCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAj ZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwg I2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19X QUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9JTUFH RV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VT SVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRIUkVBRFNf RU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8 ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAjZGVmaW5l IFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwg I2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNkZWZpbmUgSEFW RV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENNUzIgMQp8ICNk ZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmluZSBNT0RV TEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAjZGVmaW5lIEhB VkVfTElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwgI2RlZmluZSBO QVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUg SEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAx CnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAj ZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEKfCAjZGVmaW5lIEhBVkVf U0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRM T0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElN SVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lH TUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1F UiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAj ZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8 ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1FX05QIDEK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHB0aHJlYWQuaD4KfCBpbnQKfCBt YWluICgpCnwgewp8IHB0aHJlYWRfc2V0bmFtZV9ucCAoMCwgIiVzIiwgImEiKTsKfCAgIDsKfCAg IHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE3OTUzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNzk2 NjogY2hlY2tpbmcgZm9yIGFsaWduZWRfYWxsb2MKY29uZmlndXJlOjE3OTY2OiBnY2MgLUkgLi4v c3JjL250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgLWlzeXN0ZW0gQzov bXN5czY0L21pbmd3NjQvaW5jbHVkZS9saWJyc3ZnLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWlu Z3c2NC9pbmNsdWRlL2dsaWItMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2xpYi9nbGli LTIuMC9pbmNsdWRlIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUgLW1tcy1iaXRm aWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAt aXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xpYnBuZzE2IC1tbXMtYml0ZmllbGRz IC1wdGhyZWFkIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1 ZGUvY2Fpcm8gLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9sem8gLWlzeXN0ZW0g QzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9mcmVldHlwZTIgLWlzeXN0ZW0gQzovbXN5czY0L21p bmd3NjQvaW5jbHVkZS9oYXJmYnV6eiAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQv bWluZ3c2NC9pbmNsdWRlL3BpeG1hbi0xICAtbXR1bmU9Z2VuZXJpYyAgICBjb25mdGVzdC5jIC1s Z2Njaml0ICAgPiY1IApjb25mdGVzdC5jOjEyOTo2OiB3YXJuaW5nOiBjb25mbGljdGluZyB0eXBl cyBmb3IgYnVpbHQtaW4gZnVuY3Rpb24gJ2FsaWduZWRfYWxsb2MnOyBleHBlY3RlZCAndm9pZCAq KGxvbmcgbG9uZyB1bnNpZ25lZCBpbnQsICBsb25nIGxvbmcgdW5zaWduZWQgaW50KScgWy1XYnVp bHRpbi1kZWNsYXJhdGlvbi1taXNtYXRjaF0KICAxMjkgfCBjaGFyIGFsaWduZWRfYWxsb2MgKCk7 CiAgICAgIHwgICAgICBefn5+fn5+fn5+fn5+CmNvbmZ0ZXN0LmM6MTE3OjE6IG5vdGU6ICdhbGln bmVkX2FsbG9jJyBpcyBkZWNsYXJlZCBpbiBoZWFkZXIgJzxzdGRsaWIuaD4nCiAgMTE2IHwgIyBp bmNsdWRlIDxsaW1pdHMuaD4KICAxMTcgfCAjZWxzZQpDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4v bGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvMTAuMi4wLy4uLy4uLy4uLy4uL3g4Nl82NC13NjQt bWluZ3czMi9iaW4vbGQuZXhlOiBDOlxtc3lzNjRcdG1wXGNjcUlsRTdPLm86IGluIGZ1bmN0aW9u IGBtYWluJzoKQzpcbXN5czY0XGhvbWVcVldpblVzZXIwXERvd25sb2Fkc1xlbWFjc1xuYXRpdmUt Y29tcFxidWlsZC9jb25mdGVzdC5jOjE0MDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgYWxpZ25l ZF9hbGxvYycKY29sbGVjdDIuZXhlOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpj b25maWd1cmU6MTc5NjY6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAv KiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4 LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2Rl ZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUg UEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZp bmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERD X0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2Rl ZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5l IF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVO QlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZp bmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1 NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRf XyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZp bmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQ RUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9B TFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNk ZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwgI2Rl ZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBI QVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUg SEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NE RUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRT X0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEK fCAjZGVmaW5lIEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0VfQVBJIDEK fCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwg I2RlZmluZSBVU0VfTU1BUF9GT1JfQlVGRkVSUyAxCnwgI2RlZmluZSBUSFJFQURTX0VOQUJMRUQg MQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5l IEhBVkVfSlNPTiAxCnwgI2RlZmluZSBIQVZFX1czMk5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklM RV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUg VVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0hBUkZCVVpaIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEK fCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0xDTVMyIDEKfCAjZGVmaW5lIEhB VkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX01PRFVMRVMgMQp8ICNkZWZpbmUgTU9EVUxFU19TVUZG SVggIi5kbGwiCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVCAxCnwgI2RlZmluZSBIQVZFX0xJQkdD Q0pJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0NPTVAgMQp8ICNkZWZpbmUgTkFUSVZFX0VM SVNQX1NVRkZJWCAiLmVsbiIKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElG RiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZp bmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBI QVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9UUlVOQyAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAx CnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEK fCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAj ZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8 ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNk ZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBI QVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5l IEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBhbGlnbmVkX2FsbG9jIHRvIGFuIGlubm9jdW91 cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgYWxpZ25lZF9hbGxvYy4KfCAg ICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5 LiAgKi8KfCAjZGVmaW5lIGFsaWduZWRfYWxsb2MgaW5ub2N1b3VzX2FsaWduZWRfYWxsb2MKfCAK fCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkg ZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgYWxpZ25l ZF9hbGxvYyAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4g aWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZl biBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAj IGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5k aWYKfCAKfCAjdW5kZWYgYWxpZ25lZF9hbGxvYwp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50 ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2Ug aW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5k IHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lm ZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgYWxpZ25lZF9hbGxv YyAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3 aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29t ZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3 aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVk IF9fc3R1Yl9hbGlnbmVkX2FsbG9jIHx8IGRlZmluZWQgX19zdHViX19fYWxpZ25lZF9hbGxvYwp8 IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gYWxpZ25l ZF9hbGxvYyAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE3OTY2OiByZXN1 bHQ6IG5vCmNvbmZpZ3VyZToxNzk2NjogY2hlY2tpbmcgZm9yIHBvc2l4X21lbWFsaWduCmNvbmZp Z3VyZToxNzk2NjogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1nMyAtTzIg LWdkd2FyZi0yIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicnN2Zy0yLjAg LWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nbGliLTIuMCAtaXN5c3RlbSBDOi9t c3lzNjQvbWluZ3c2NC9saWIvZ2xpYi0yLjAvaW5jbHVkZSAtaXN5c3RlbSBDOi9tc3lzNjQvbWlu Z3c2NC9pbmNsdWRlIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2lu Y2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9s aWJwbmcxNiAtbW1zLWJpdGZpZWxkcyAtcHRocmVhZCAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBD Oi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2NhaXJvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0 L2luY2x1ZGUvbHpvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZnJlZXR5cGUy IC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvaGFyZmJ1enogLW1tcy1iaXRmaWVs ZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9waXhtYW4tMSAgLW10dW5lPWdl bmVyaWMgICAgY29uZnRlc3QuYyAtbGdjY2ppdCAgID4mNSAKY29uZnRlc3QuYzoxMjk6Njogd2Fy bmluZzogY29uZmxpY3RpbmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uICdwb3NpeF9tZW1h bGlnbic7IGV4cGVjdGVkICdpbnQodm9pZCAqKiwgbG9uZyBsb25nIHVuc2lnbmVkIGludCwgIGxv bmcgbG9uZyB1bnNpZ25lZCBpbnQpJyBbLVdidWlsdGluLWRlY2xhcmF0aW9uLW1pc21hdGNoXQog IDEyOSB8IGNoYXIgcG9zaXhfbWVtYWxpZ24gKCk7CiAgICAgIHwgICAgICBefn5+fn5+fn5+fn5+ fgpDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvMTAu Mi4wLy4uLy4uLy4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBDOlxtc3lzNjRc dG1wXGNjZUI3bmNXLm86IGluIGZ1bmN0aW9uIGBtYWluJzoKQzpcbXN5czY0XGhvbWVcVldpblVz ZXIwXERvd25sb2Fkc1xlbWFjc1xuYXRpdmUtY29tcFxidWlsZC9jb25mdGVzdC5jOjE0MDogdW5k ZWZpbmVkIHJlZmVyZW5jZSB0byBgcG9zaXhfbWVtYWxpZ24nCmNvbGxlY3QyLmV4ZTogZXJyb3I6 IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjE3OTY2OiAkPyA9IDEKY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFD S0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1n bnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUu b3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBI QVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUg X0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVU QlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lY X1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRS SUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8 ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NU RENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVD XzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8 ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRF TV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZp bmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZ U1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVm aW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJF TlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVm aW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMg MQp8ICNkZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2Rl ZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9X MzJOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09M S0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJG QlVaWiAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZp bmUgSEFWRV9MQ01TMiAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RV TEVTIDEKfCAjZGVmaW5lIE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJH Q0NKSVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElW RV9DT01QIDEKfCAjZGVmaW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBI QVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNk ZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZp bmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJV TkMgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAx CnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwg I2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVm aW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAj ZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5l IEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBI QVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9Q VEhSRUFEX1NFVE5BTUVfTlAgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUg cG9zaXhfbWVtYWxpZ24gdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5o PiBkZWNsYXJlcyBwb3NpeF9tZW1hbGlnbi4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxs aW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIHBvc2l4X21lbWFs aWduIGlubm9jdW91c19wb3NpeF9tZW1hbGlnbgp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVm aW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hp Y2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBwb3NpeF9tZW1hbGlnbiAoKTsgYmVsb3cuCnwgICAg IFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwg c2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGls ZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNl bHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgcG9zaXhfbWVt YWxpZ24KfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9p ZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0 dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90 b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVy biAiQyIKfCAjZW5kaWYKfCBjaGFyIHBvc2l4X21lbWFsaWduICgpOwp8IC8qIFRoZSBHTlUgQyBs aWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAg ICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFs bHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwg bmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX3Bvc2l4X21lbWFsaWdu IHx8IGRlZmluZWQgX19zdHViX19fcG9zaXhfbWVtYWxpZ24KfCBjaG9rZSBtZQp8ICNlbmRpZgp8 IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIHBvc2l4X21lbWFsaWduICgpOwp8ICAgOwp8 ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTc5NjY6IHJlc3VsdDogbm8KY29uZmlndXJlOjE3 OTc1OiBjaGVja2luZyB3aGV0aGVyIGFsaWduZWRfYWxsb2MgaXMgZGVjbGFyZWQKY29uZmlndXJl OjE3OTc1OiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtaXN5c3Rl bSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xpYnJzdmctMi4wIC1pc3lzdGVtIEM6L21zeXM2 NC9taW5ndzY0L2luY2x1ZGUvZ2xpYi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvbGli L2dsaWItMi4wL2luY2x1ZGUgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZSAtbW1z LWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2dkay1waXhidWYt Mi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicG5nMTYgLW1tcy1iaXRm aWVsZHMgLXB0aHJlYWQgLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQv aW5jbHVkZS9jYWlybyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2x6byAtaXN5 c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2ZyZWV0eXBlMiAtaXN5c3RlbSBDOi9tc3lz NjQvbWluZ3c2NC9pbmNsdWRlL2hhcmZidXp6IC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21z eXM2NC9taW5ndzY0L2luY2x1ZGUvcGl4bWFuLTEgIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3Qu YyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjExNToxMDog ZXJyb3I6ICdhbGlnbmVkX2FsbG9jJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5j dGlvbik7IGRpZCB5b3UgbWVhbiAnX2FsaWduZWRfbWFsbG9jJz8KICAxMTUgfCAgICh2b2lkKSBh bGlnbmVkX2FsbG9jOwogICAgICB8ICAgICAgICAgIF5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAg ICAgICBfYWxpZ25lZF9tYWxsb2MKY29uZnRlc3QuYzoxMTU6MTA6IG5vdGU6IGVhY2ggdW5kZWNs YXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBp dCBhcHBlYXJzIGluCmNvbmZpZ3VyZToxNzk3NTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05V IEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3Mg MjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5v cmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9l bWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEK fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5T SU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VS Q0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8 ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFO VElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwg I2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1RE Q19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYw NTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19F WFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1RE Q19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAj ZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNF VF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2lu ZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5E IDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0Vf SCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZF X1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElW RV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dF VFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRI UkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVU TFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAj ZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFS UyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNkZWZp bmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENNUzIg MQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmlu ZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAjZGVm aW5lIEhBVkVfTElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwgI2Rl ZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNk ZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfTElC WE1MMiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9N IDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEKfCAjZGVmaW5l IEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFW RV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9T RVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX1BUSFJF QURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NF VElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9N IDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJS T1IgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1F X05QIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGxpYi5oPgp8IAp8 IGludAp8IG1haW4gKCkKfCB7CnwgI2lmbmRlZiBhbGlnbmVkX2FsbG9jCnwgI2lmZGVmIF9fY3Bs dXNwbHVzCnwgICAodm9pZCkgYWxpZ25lZF9hbGxvYzsKfCAjZWxzZQp8ICAgKHZvaWQpIGFsaWdu ZWRfYWxsb2M7CnwgI2VuZGlmCnwgI2VuZGlmCnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNv bmZpZ3VyZToxNzk3NTogcmVzdWx0OiBubwpjb25maWd1cmU6MTgwMDI6IGNoZWNraW5nIGZvciBw b3NpeF9tYWR2aXNlCmNvbmZpZ3VyZToxODAwMjogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLW8gY29u ZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0yIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2lu Y2x1ZGUvbGlicnN2Zy0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nbGli LTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9saWIvZ2xpYi0yLjAvaW5jbHVkZSAtaXN5 c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6 L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0 L21pbmd3NjQvaW5jbHVkZS9saWJwbmcxNiAtbW1zLWJpdGZpZWxkcyAtcHRocmVhZCAtbW1zLWJp dGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2NhaXJvIC1pc3lzdGVt IEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbHpvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0 L2luY2x1ZGUvZnJlZXR5cGUyIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvaGFy ZmJ1enogLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9w aXhtYW4tMSAgLW10dW5lPWdlbmVyaWMgICAgY29uZnRlc3QuYyAtbGdjY2ppdCAgID4mNSAKQzov bXN5czY0L21pbmd3NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5ndzMyLzEwLjIuMC8u Li8uLi8uLi8uLi94ODZfNjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogQzpcbXN5czY0XHRtcFxj Y290Wkw3MC5vOiBpbiBmdW5jdGlvbiBgbWFpbic6CkM6XG1zeXM2NFxob21lXFZXaW5Vc2VyMFxE b3dubG9hZHNcZW1hY3NcbmF0aXZlLWNvbXBcYnVpbGQvY29uZnRlc3QuYzoxNDE6IHVuZGVmaW5l ZCByZWZlcmVuY2UgdG8gYHBvc2l4X21hZHZpc2UnCmNvbGxlY3QyLmV4ZTogZXJyb3I6IGxkIHJl dHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjE4MDAyOiAkPyA9IDEKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9O QU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZp bmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdO VSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1h Y3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3Nv ZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BE VU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg X19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJ Tl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NP VVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJF QURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VY VF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZp bmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FO VF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5 X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZp bmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VS Q0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJ TEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9U WVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhB VkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19S RVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09D S0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAx CnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhB VkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5l IEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNk ZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBI QVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJ RlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1ND Uk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAx CnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFW RV9MQ01TMiAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEK fCAjZGVmaW5lIE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQg MQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01Q IDEKfCAjZGVmaW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BO RyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUg SEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFW RV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8 ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2Rl ZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmlu ZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhB VkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5l IEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVf UkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dB SV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFE X1NFVE5BTUVfTlAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURfQUxMT0MgMAp8IC8qIGVu ZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgcG9zaXhfbWFkdmlzZSB0byBhbiBpbm5vY3Vv dXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIHBvc2l4X21hZHZpc2UuCnwg ICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRh eS4gICovCnwgI2RlZmluZSBwb3NpeF9tYWR2aXNlIGlubm9jdW91c19wb3NpeF9tYWR2aXNlCnwg CnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5 IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHBvc2l4 X21hZHZpc2UgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+ IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2 ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwg IyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2Vu ZGlmCnwgCnwgI3VuZGVmIHBvc2l4X21hZHZpc2UKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGlu dGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNl IGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFu ZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNp ZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIHBvc2l4X21hZHZp c2UgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMg d2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNv bWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcg d2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5l ZCBfX3N0dWJfcG9zaXhfbWFkdmlzZSB8fCBkZWZpbmVkIF9fc3R1Yl9fX3Bvc2l4X21hZHZpc2UK fCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIHBvc2l4 X21hZHZpc2UgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxODAwMjogcmVz dWx0OiBubwpjb25maWd1cmU6MTgwMTI6IGNoZWNraW5nIGZvciBfX2J1aWx0aW5fZnJhbWVfYWRk cmVzcwpjb25maWd1cmU6MTgwMjg6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4 ZSAtZzMgLU8yIC1nZHdhcmYtMiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xp YnJzdmctMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2xpYi0yLjAgLWlz eXN0ZW0gQzovbXN5czY0L21pbmd3NjQvbGliL2dsaWItMi4wL2luY2x1ZGUgLWlzeXN0ZW0gQzov bXN5czY0L21pbmd3NjQvaW5jbHVkZSAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQv bWluZ3c2NC9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0 L2luY2x1ZGUvbGlicG5nMTYgLW1tcy1iaXRmaWVsZHMgLXB0aHJlYWQgLW1tcy1iaXRmaWVsZHMg LWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9jYWlybyAtaXN5c3RlbSBDOi9tc3lz NjQvbWluZ3c2NC9pbmNsdWRlL2x6byAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRl L2ZyZWV0eXBlMiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2hhcmZidXp6IC1t bXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvcGl4bWFuLTEg IC1tdHVuZT1nZW5lcmljICAgIGNvbmZ0ZXN0LmMgLWxnY2NqaXQgICA+JjUgCmNvbmZpZ3VyZTox ODAyODogJD8gPSAwCmNvbmZpZ3VyZToxODAzNjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE4MDQz OiBjaGVja2luZyBmb3IgX19idWlsdGluX3Vud2luZF9pbml0CmNvbmZpZ3VyZToxODA1OTogZ2Nj IC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0yIC1pc3lz dGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicnN2Zy0yLjAgLWlzeXN0ZW0gQzovbXN5 czY0L21pbmd3NjQvaW5jbHVkZS9nbGliLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9s aWIvZ2xpYi0yLjAvaW5jbHVkZSAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlIC1t bXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2RrLXBpeGJ1 Zi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9saWJwbmcxNiAtbW1zLWJp dGZpZWxkcyAtcHRocmVhZCAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2 NC9pbmNsdWRlL2NhaXJvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbHpvIC1p c3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZnJlZXR5cGUyIC1pc3lzdGVtIEM6L21z eXM2NC9taW5ndzY0L2luY2x1ZGUvaGFyZmJ1enogLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzov bXN5czY0L21pbmd3NjQvaW5jbHVkZS9waXhtYW4tMSAgLW10dW5lPWdlbmVyaWMgICAgY29uZnRl c3QuYyAtbGdjY2ppdCAgID4mNSAKY29uZmlndXJlOjE4MDU5OiAkPyA9IDAKY29uZmlndXJlOjE4 MDY3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTgwNzk6IGNoZWNraW5nIGZvciBfTEFSR0VGSUxF X1NPVVJDRSB2YWx1ZSBuZWVkZWQgZm9yIGxhcmdlIGZpbGVzCmNvbmZpZ3VyZToxODA5ODogZ2Nj IC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0yIC1pc3lz dGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicnN2Zy0yLjAgLWlzeXN0ZW0gQzovbXN5 czY0L21pbmd3NjQvaW5jbHVkZS9nbGliLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9s aWIvZ2xpYi0yLjAvaW5jbHVkZSAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlIC1t bXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2RrLXBpeGJ1 Zi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9saWJwbmcxNiAtbW1zLWJp dGZpZWxkcyAtcHRocmVhZCAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2 NC9pbmNsdWRlL2NhaXJvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbHpvIC1p c3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZnJlZXR5cGUyIC1pc3lzdGVtIEM6L21z eXM2NC9taW5ndzY0L2luY2x1ZGUvaGFyZmJ1enogLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzov bXN5czY0L21pbmd3NjQvaW5jbHVkZS9waXhtYW4tMSAgLW10dW5lPWdlbmVyaWMgICAgY29uZnRl c3QuYyAtbGdjY2ppdCAgID4mNSAKY29uZmlndXJlOjE4MDk4OiAkPyA9IDAKY29uZmlndXJlOjE4 MTI2OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxODE1MTogY2hlY2tpbmcgZm9yIGdyYW50cHQKY29u ZmlndXJlOjE4MTUxOiBnY2MgLUkgLi4vc3JjL250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1P MiAtZ2R3YXJmLTIgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9saWJyc3ZnLTIu MCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2dsaWItMi4wIC1pc3lzdGVtIEM6 L21zeXM2NC9taW5ndzY0L2xpYi9nbGliLTIuMC9pbmNsdWRlIC1pc3lzdGVtIEM6L21zeXM2NC9t aW5ndzY0L2luY2x1ZGUgLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQv aW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRl L2xpYnBuZzE2IC1tbXMtYml0ZmllbGRzIC1wdGhyZWFkIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVt IEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvY2Fpcm8gLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3 NjQvaW5jbHVkZS9sem8gLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9mcmVldHlw ZTIgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9oYXJmYnV6eiAtbW1zLWJpdGZp ZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL3BpeG1hbi0xICAtbXR1bmU9 Z2VuZXJpYyAgICBjb25mdGVzdC5jIC1sZ2Njaml0ICAgPiY1IApDOi9tc3lzNjQvbWluZ3c2NC9i aW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvMTAuMi4wLy4uLy4uLy4uLy4uL3g4Nl82 NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBDOlxtc3lzNjRcdG1wXGNjZ0hUR2l5Lm86IGluIGZ1 bmN0aW9uIGBtYWluJzoKQzpcbXN5czY0XGhvbWVcVldpblVzZXIwXERvd25sb2Fkc1xlbWFjc1xu YXRpdmUtY29tcFxidWlsZC9jb25mdGVzdC5jOjE0NDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBg Z3JhbnRwdCcKY29sbGVjdDIuZXhlOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpj b25maWd1cmU6MTgxNTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAv KiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4 LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2Rl ZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUg UEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZp bmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERD X0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2Rl ZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5l IF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVO QlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZp bmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1 NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRf XyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZp bmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQ RUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9B TFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNk ZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwgI2Rl ZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBI QVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUg SEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NE RUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRT X0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEK fCAjZGVmaW5lIEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0VfQVBJIDEK fCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwg I2RlZmluZSBVU0VfTU1BUF9GT1JfQlVGRkVSUyAxCnwgI2RlZmluZSBUSFJFQURTX0VOQUJMRUQg MQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5l IEhBVkVfSlNPTiAxCnwgI2RlZmluZSBIQVZFX1czMk5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklM RV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUg VVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0hBUkZCVVpaIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEK fCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0xDTVMyIDEKfCAjZGVmaW5lIEhB VkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX01PRFVMRVMgMQp8ICNkZWZpbmUgTU9EVUxFU19TVUZG SVggIi5kbGwiCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVCAxCnwgI2RlZmluZSBIQVZFX0xJQkdD Q0pJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0NPTVAgMQp8ICNkZWZpbmUgTkFUSVZFX0VM SVNQX1NVRkZJWCAiLmVsbiIKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElG RiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZp bmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBI QVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9UUlVOQyAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAx CnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEK fCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAj ZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8 ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNk ZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBI QVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5l IEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfQUxJR05FRF9BTExPQyAwCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9GUkFN RV9BRERSRVNTIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVm aW5lIEhBVkVfRlNFRUtPIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGdy YW50cHQgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJl cyBncmFudHB0Lgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJl cyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgZ3JhbnRwdCBpbm5vY3VvdXNfZ3JhbnRwdAp8 IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxs eSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBncmFu dHB0ICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBf X1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9u IGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5j bHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8 IAp8ICN1bmRlZiBncmFudHB0CnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90 b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQg bWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMg YXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1 c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBncmFudHB0ICgpOwp8IC8qIFRoZSBH TlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVu dHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUg YWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBu b3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX2dyYW50cHQg fHwgZGVmaW5lZCBfX3N0dWJfX19ncmFudHB0CnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQK fCBtYWluICgpCnwgewp8IHJldHVybiBncmFudHB0ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7Cnwg fQpjb25maWd1cmU6MTgxNTE6IHJlc3VsdDogbm8KY29uZmlndXJlOjE4MTY1OiBjaGVja2luZyBm b3IgZ2V0cHQKY29uZmlndXJlOjE4MTY1OiBnY2MgLUkgLi4vc3JjL250L2luYyAtbyBjb25mdGVz dC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVk ZS9saWJyc3ZnLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2dsaWItMi4w IC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2xpYi9nbGliLTIuMC9pbmNsdWRlIC1pc3lzdGVt IEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUgLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5 czY0L21pbmd3NjQvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWlu Z3c2NC9pbmNsdWRlL2xpYnBuZzE2IC1tbXMtYml0ZmllbGRzIC1wdGhyZWFkIC1tbXMtYml0Zmll bGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvY2Fpcm8gLWlzeXN0ZW0gQzov bXN5czY0L21pbmd3NjQvaW5jbHVkZS9sem8gLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5j bHVkZS9mcmVldHlwZTIgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9oYXJmYnV6 eiAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL3BpeG1h bi0xICAtbXR1bmU9Z2VuZXJpYyAgICBjb25mdGVzdC5jIC1sZ2Njaml0ICAgPiY1IApDOi9tc3lz NjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvMTAuMi4wLy4uLy4u Ly4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBDOlxtc3lzNjRcdG1wXGNjMFpk eG9JLm86IGluIGZ1bmN0aW9uIGBtYWluJzoKQzpcbXN5czY0XGhvbWVcVldpblVzZXIwXERvd25s b2Fkc1xlbWFjc1xuYXRpdmUtY29tcFxidWlsZC9jb25mdGVzdC5jOjE0NDogdW5kZWZpbmVkIHJl ZmVyZW5jZSB0byBgZ2V0cHQnCmNvbGxlY3QyLmV4ZTogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhp dCBzdGF0dXMKY29uZmlndXJlOjE4MTY1OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh bSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9W RVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4w LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIK fCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNz LyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05T X18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAx CnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2Rl ZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNT IDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVm aW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dB TlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlf RlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9f IDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dB TlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZp bmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJ VFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dz LW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8 ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEK fCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBI QVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lN QUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFH RVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFE U19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAx CnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZp bmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEK fCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmluZSBI QVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwg I2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1P RFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUg SEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVmaW5l IE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmlu ZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwy IDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8 ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFW RV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NF VExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJM SU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9T SUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJ TUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8 ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAx CnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURfQUxMT0MgMAp8ICNkZWZpbmUgSEFWRV9fX0JV SUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5J VCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8q IERlZmluZSBnZXRwdCB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+ IGRlY2xhcmVzIGdldHB0Lgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBk ZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgZ2V0cHQgaW5ub2N1b3VzX2dldHB0 CnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1 bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGdl dHB0ICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBf X1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9u IGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5j bHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8 IAp8ICN1bmRlZiBnZXRwdAp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90 eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1h dGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFy Z3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNw bHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgZ2V0cHQgKCk7CnwgLyogVGhlIEdOVSBD IGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8 ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1 YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1h bCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfZ2V0cHQgfHwgZGVm aW5lZCBfX3N0dWJfX19nZXRwdAp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAo KQp8IHsKfCByZXR1cm4gZ2V0cHQgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3Vy ZToxODE2NTogcmVzdWx0OiBubwpjb25maWd1cmU6MTgxNjU6IGNoZWNraW5nIGZvciBwb3NpeF9v cGVucHQKY29uZmlndXJlOjE4MTY1OiBnY2MgLUkgLi4vc3JjL250L2luYyAtbyBjb25mdGVzdC5l eGUgLWczIC1PMiAtZ2R3YXJmLTIgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9s aWJyc3ZnLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2dsaWItMi4wIC1p c3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2xpYi9nbGliLTIuMC9pbmNsdWRlIC1pc3lzdGVtIEM6 L21zeXM2NC9taW5ndzY0L2luY2x1ZGUgLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0 L21pbmd3NjQvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2 NC9pbmNsdWRlL2xpYnBuZzE2IC1tbXMtYml0ZmllbGRzIC1wdGhyZWFkIC1tbXMtYml0ZmllbGRz IC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvY2Fpcm8gLWlzeXN0ZW0gQzovbXN5 czY0L21pbmd3NjQvaW5jbHVkZS9sem8gLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVk ZS9mcmVldHlwZTIgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9oYXJmYnV6eiAt bW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL3BpeG1hbi0x ICAtbXR1bmU9Z2VuZXJpYyAgICBjb25mdGVzdC5jIC1sZ2Njaml0ICAgPiY1IApDOi9tc3lzNjQv bWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvMTAuMi4wLy4uLy4uLy4u Ly4uL3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBDOlxtc3lzNjRcdG1wXGNjY003MHhi Lm86IGluIGZ1bmN0aW9uIGBtYWluJzoKQzpcbXN5czY0XGhvbWVcVldpblVzZXIwXERvd25sb2Fk c1xlbWFjc1xuYXRpdmUtY29tcFxidWlsZC9jb25mdGVzdC5jOjE0NDogdW5kZWZpbmVkIHJlZmVy ZW5jZSB0byBgcG9zaXhfb3BlbnB0Jwpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAx IGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxODE2NTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05V IEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3Mg MjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5v cmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9l bWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEK fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5T SU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VS Q0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8 ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFO VElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwg I2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1RE Q19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYw NTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19F WFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1RE Q19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAj ZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNF VF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2lu ZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5E IDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0Vf SCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZF X1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElW RV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dF VFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRI UkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVU TFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAj ZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFS UyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNkZWZp bmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENNUzIg MQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmlu ZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAjZGVm aW5lIEhBVkVfTElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwgI2Rl ZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNk ZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfTElC WE1MMiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9N IDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEKfCAjZGVmaW5l IEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFW RV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9T RVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX1BUSFJF QURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NF VElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9N IDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJS T1IgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1F X05QIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDAKfCAjZGVmaW5lIEhBVkVf X19CVUlMVElOX0ZSQU1FX0FERFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5E X0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAvKiBEZWZpbmUgcG9zaXhfb3BlbnB0IHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNl IDxsaW1pdHMuaD4gZGVjbGFyZXMgcG9zaXhfb3BlbnB0Lgp8ICAgIEZvciBleGFtcGxlLCBIUC1V WCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgcG9z aXhfb3BlbnB0IGlubm9jdW91c19wb3NpeF9vcGVucHQKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRv IGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAg IHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgcG9zaXhfb3BlbnB0ICgpOyBiZWxvdy4KfCAg ICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVk LCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21w aWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+Cnwg I2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBwb3NpeF9v cGVucHQKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9p ZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0 dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90 b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVy biAiQyIKfCAjZW5kaWYKfCBjaGFyIHBvc2l4X29wZW5wdCAoKTsKfCAvKiBUaGUgR05VIEMgbGli cmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAg IHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5 IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5h bWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9wb3NpeF9vcGVucHQgfHwg ZGVmaW5lZCBfX3N0dWJfX19wb3NpeF9vcGVucHQKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGlu dAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIHBvc2l4X29wZW5wdCAoKTsKfCAgIDsKfCAgIHJldHVy biAwOwp8IH0KY29uZmlndXJlOjE4MTY1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxODE4MTogY2hl Y2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyB0cHV0cwpjb25maWd1cmU6MTgyNDg6IHJlc3Vs dDogbm9uZSByZXF1aXJlZApjb25maWd1cmU6MTgzNjI6IGNoZWNraW5nIGZvciB0aW1lcmZkIGlu dGVyZmFjZQpjb25maWd1cmU6MTgzODE6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIg LWdkd2FyZi0yIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicnN2Zy0yLjAg LWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nbGliLTIuMCAtaXN5c3RlbSBDOi9t c3lzNjQvbWluZ3c2NC9saWIvZ2xpYi0yLjAvaW5jbHVkZSAtaXN5c3RlbSBDOi9tc3lzNjQvbWlu Z3c2NC9pbmNsdWRlIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2lu Y2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9s aWJwbmcxNiAtbW1zLWJpdGZpZWxkcyAtcHRocmVhZCAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBD Oi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2NhaXJvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0 L2luY2x1ZGUvbHpvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZnJlZXR5cGUy IC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvaGFyZmJ1enogLW1tcy1iaXRmaWVs ZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9waXhtYW4tMSAgLW10dW5lPWdl bmVyaWMgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjExMDoxMDogZmF0YWwgZXJyb3I6IHN5 cy90aW1lcmZkLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICAxMTAgfCAjaW5jbHVkZSA8 c3lzL3RpbWVyZmQuaD4KICAgICAgfCAgICAgICAgICBefn5+fn5+fn5+fn5+fn4KY29tcGlsYXRp b24gdGVybWluYXRlZC4KY29uZmlndXJlOjE4MzgxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJH TlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFD S0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFj cyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251 Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJl L2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIg MQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRF TlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NP VVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAx CnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VN QU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEK fCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19T VERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNf NjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVT X0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19T VERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZG U0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3 aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09V TkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJD RV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFU SVZFX0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVf R0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUg VEhSRUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0dO VVRMUyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8 ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9C QVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwgI2Rl ZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01T MiAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVm aW5lIE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNk ZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEKfCAj ZGVmaW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BORyAxCnwg I2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9M SUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5E T00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZp bmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBI QVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZF X1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRI UkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVf U0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZS T00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJF UlJPUiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5B TUVfTlAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURfQUxMT0MgMAp8ICNkZWZpbmUgSEFW RV9fX0JVSUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJ TkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAq Lwp8ICNpbmNsdWRlIDxzeXMvdGltZXJmZC5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgdGlt ZXJmZF9jcmVhdGUgKENMT0NLX1JFQUxUSU1FLAp8IAkJCQkJVEZEX0NMT0VYRUMgfCBURkRfTk9O QkxPQ0spOwp8IAkJCXRpbWVyZmRfc2V0dGltZSAoMCwgVEZEX1RJTUVSX0FCU1RJTUUsIDAsIDAp Owp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTgzODg6IHJlc3VsdDogbm8KY29u ZmlndXJlOjE4Mzk3OiBjaGVja2luZyB3aGV0aGVyIHNpZ25hbHMgY2FuIGJlIGhhbmRsZWQgb24g YWx0ZXJuYXRlIHN0YWNrCmNvbmZpZ3VyZToxODQyMDogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMg LWczIC1PMiAtZ2R3YXJmLTIgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9saWJy c3ZnLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2dsaWItMi4wIC1pc3lz dGVtIEM6L21zeXM2NC9taW5ndzY0L2xpYi9nbGliLTIuMC9pbmNsdWRlIC1pc3lzdGVtIEM6L21z eXM2NC9taW5ndzY0L2luY2x1ZGUgLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21p bmd3NjQvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9p bmNsdWRlL2xpYnBuZzE2IC1tbXMtYml0ZmllbGRzIC1wdGhyZWFkIC1tbXMtYml0ZmllbGRzIC1p c3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvY2Fpcm8gLWlzeXN0ZW0gQzovbXN5czY0 L21pbmd3NjQvaW5jbHVkZS9sem8gLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9m cmVldHlwZTIgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9oYXJmYnV6eiAtbW1z LWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL3BpeG1hbi0xICAt bXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdt YWluJzoKY29uZnRlc3QuYzoxMTU6MTogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdzdGFja190 JwogIDExNSB8IHN0YWNrX3Qgc3M7CiAgICAgIHwgXn5+fn5+fgpjb25mdGVzdC5jOjExNjoyMTog ZXJyb3I6IHN0b3JhZ2Ugc2l6ZSBvZiAnc2EnIGlzbid0IGtub3duCiAgMTE2IHwgICAgc3RydWN0 IHNpZ2FjdGlvbiBzYTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgIF5+CmNvbmZ0ZXN0LmM6 MTE3OjY6IGVycm9yOiByZXF1ZXN0IGZvciBtZW1iZXIgJ3NzX3NwJyBpbiBzb21ldGhpbmcgbm90 IGEgc3RydWN0dXJlIG9yIHVuaW9uCiAgMTE3IHwgICAgc3Muc3Nfc3AgPSBtYWxsb2MgKFNJR1NU S1NaKTsKICAgICAgfCAgICAgIF4KY29uZnRlc3QuYzoxMTc6MTU6IHdhcm5pbmc6IGltcGxpY2l0 IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdtYWxsb2MnIFstV2ltcGxpY2l0LWZ1bmN0aW9uLWRl Y2xhcmF0aW9uXQogIDExNyB8ICAgIHNzLnNzX3NwID0gbWFsbG9jIChTSUdTVEtTWik7CiAgICAg IHwgICAgICAgICAgICAgICBefn5+fn4KY29uZnRlc3QuYzoxMTc6MTU6IHdhcm5pbmc6IGluY29t cGF0aWJsZSBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBidWlsdC1pbiBmdW5jdGlvbiAnbWFsbG9j Jwpjb25mdGVzdC5jOjExMToxOiBub3RlOiBpbmNsdWRlICc8c3RkbGliLmg+JyBvciBwcm92aWRl IGEgZGVjbGFyYXRpb24gb2YgJ21hbGxvYycKICAxMTAgfCAjaW5jbHVkZSA8c2lnbmFsLmg+CiAg MTExIHwgCmNvbmZ0ZXN0LmM6MTE3OjIzOiBlcnJvcjogJ1NJR1NUS1NaJyB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAxMTcgfCAgICBzcy5zc19zcCA9IG1hbGxvYyAo U0lHU1RLU1opOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fgpjb25mdGVz dC5jOjExNzoyMzogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQg b25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KY29uZnRlc3QuYzoxMTg6 NjogZXJyb3I6IHJlcXVlc3QgZm9yIG1lbWJlciAnc3Nfc2l6ZScgaW4gc29tZXRoaW5nIG5vdCBh IHN0cnVjdHVyZSBvciB1bmlvbgogIDExOCB8ICAgIHNzLnNzX3NpemUgPSBTSUdTVEtTWjsKICAg ICAgfCAgICAgIF4KY29uZnRlc3QuYzoxMTk6MTg6IGVycm9yOiAnU0FfU0lHSU5GTycgdW5kZWNs YXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgMTE5IHwgICAgc2Euc2FfZmxhZ3Mg PSBTQV9TSUdJTkZPIHwgU0FfT05TVEFDSzsKICAgICAgfCAgICAgICAgICAgICAgICAgIF5+fn5+ fn5+fn4KY29uZnRlc3QuYzoxMTk6MzE6IGVycm9yOiAnU0FfT05TVEFDSycgdW5kZWNsYXJlZCAo Zmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgMTE5IHwgICAgc2Euc2FfZmxhZ3MgPSBTQV9T SUdJTkZPIHwgU0FfT05TVEFDSzsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefn5+fn5+fn5+CmNvbmZ0ZXN0LmM6MTIwOjQ6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0 aW9uIG9mIGZ1bmN0aW9uICdzaWdhbHRzdGFjaycgWy1XaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFy YXRpb25dCiAgMTIwIHwgICAgc2lnYWx0c3RhY2sgKCZzcywgMCk7CiAgICAgIHwgICAgXn5+fn5+ fn5+fn4KY29uZnRlc3QuYzoxMjE6NDogd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2Yg ZnVuY3Rpb24gJ3NpZ2FjdGlvbicgWy1XaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAg MTIxIHwgICAgc2lnYWN0aW9uIChTSUdTRUdWLCAmc2EsIDApOwogICAgICB8ICAgIF5+fn5+fn5+ fgpjb25maWd1cmU6MTg0MjA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK fCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04g IjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwg I2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZp bmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNk ZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBT VERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdT X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwg I2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVm aW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9P UEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNk ZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19T VERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNf NjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19F WFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNk ZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRI X1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBV WF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8 ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwg I2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmlu ZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZp bmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElN SVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9I IDEKfCAjZGVmaW5lIEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0VfQVBJ IDEKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAx CnwgI2RlZmluZSBVU0VfTU1BUF9GT1JfQlVGRkVSUyAxCnwgI2RlZmluZSBUSFJFQURTX0VOQUJM RUQgMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVm aW5lIEhBVkVfSlNPTiAxCnwgI2RlZmluZSBIQVZFX1czMk5PVElGWSAxCnwgI2RlZmluZSBVU0Vf RklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZp bmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0hBUkZCVVpaIDEKfCAjZGVmaW5lIEhBVkVfWFBN IDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0xDTVMyIDEKfCAjZGVmaW5l IEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX01PRFVMRVMgMQp8ICNkZWZpbmUgTU9EVUxFU19T VUZGSVggIi5kbGwiCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVCAxCnwgI2RlZmluZSBIQVZFX0xJ QkdDQ0pJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0NPTVAgMQp8ICNkZWZpbmUgTkFUSVZF X0VMSVNQX1NVRkZJWCAiLmVsbiIKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVf VElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNk ZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmlu ZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9UUlVOQyAxCnwgI2RlZmluZSBIQVZFX1NFTEVD VCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxF IDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEK fCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sg MQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8 ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVm aW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfQUxJR05FRF9BTExPQyAwCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9G UkFNRV9BRERSRVNTIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAj ZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUg PHNpZ25hbC5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3RhY2tfdCBzczsKfCAJCQlzdHJ1 Y3Qgc2lnYWN0aW9uIHNhOwp8IAkJCXNzLnNzX3NwID0gbWFsbG9jIChTSUdTVEtTWik7CnwgCQkJ c3Muc3Nfc2l6ZSA9IFNJR1NUS1NaOwp8IAkJCXNhLnNhX2ZsYWdzID0gU0FfU0lHSU5GTyB8IFNB X09OU1RBQ0s7CnwgCQkJc2lnYWx0c3RhY2sgKCZzcywgMCk7CnwgCQkJc2lnYWN0aW9uIChTSUdT RUdWLCAmc2EsIDApOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTg0Mjc6IHJl c3VsdDogbm8KY29uZmlndXJlOjE5MDcwOiBjaGVja2luZyB2YWxncmluZC92YWxncmluZC5oIHVz YWJpbGl0eQpjb25maWd1cmU6MTkwNzA6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIg LWdkd2FyZi0yIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicnN2Zy0yLjAg LWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nbGliLTIuMCAtaXN5c3RlbSBDOi9t c3lzNjQvbWluZ3c2NC9saWIvZ2xpYi0yLjAvaW5jbHVkZSAtaXN5c3RlbSBDOi9tc3lzNjQvbWlu Z3c2NC9pbmNsdWRlIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2lu Y2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9s aWJwbmcxNiAtbW1zLWJpdGZpZWxkcyAtcHRocmVhZCAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBD Oi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2NhaXJvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0 L2luY2x1ZGUvbHpvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZnJlZXR5cGUy IC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvaGFyZmJ1enogLW1tcy1iaXRmaWVs ZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9waXhtYW4tMSAgLW10dW5lPWdl bmVyaWMgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjE0MzoxMDogZmF0YWwgZXJyb3I6IHZh bGdyaW5kL3ZhbGdyaW5kLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICAxNDMgfCAjaW5j bHVkZSA8dmFsZ3JpbmQvdmFsZ3JpbmQuaD4KICAgICAgfCAgICAgICAgICBefn5+fn5+fn5+fn5+ fn5+fn5+fn4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjE5MDcwOiAkPyA9IDEK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZp bmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg ImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3 dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2Rl ZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01F TU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNk ZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmlu ZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUg X1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1 OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhU X18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dB TlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQy X18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUg X1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8 ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVm aW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEK fCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFW RV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NI QVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19U SU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEK fCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9D IDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JV RkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAx CnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUg SEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVT RV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFW RV9IQVJGQlVaWiAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8 ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFW RV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFW RV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZF X05BVElWRV9DT01QIDEKfCAjZGVmaW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2Rl ZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYg MQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhB VkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdF U0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1J VCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEK fCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFM IDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAj ZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUg SEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURfQUxM T0MgMAp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2RlZmluZSBI QVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgLyog ZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZ U19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBT VERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+ CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4K fCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVk IFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1v cnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUg PHZhbGdyaW5kL3ZhbGdyaW5kLmg+CmNvbmZpZ3VyZToxOTA3MDogcmVzdWx0OiBubwpjb25maWd1 cmU6MTkwNzA6IGNoZWNraW5nIHZhbGdyaW5kL3ZhbGdyaW5kLmggcHJlc2VuY2UKY29uZmlndXJl OjE5MDcwOiBnY2MgLUkgLi4vc3JjL250L2luYyAtRSAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0 LmMKY29uZnRlc3QuYzoxMTA6MTA6IGZhdGFsIGVycm9yOiB2YWxncmluZC92YWxncmluZC5oOiBO byBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAgMTEwIHwgI2luY2x1ZGUgPHZhbGdyaW5kL3ZhbGdy aW5kLmg+CiAgICAgIHwgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+CmNvbXBpbGF0aW9u IHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToxOTA3MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05V IEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3Mg MjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5v cmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9l bWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEK fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5T SU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VS Q0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8 ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFO VElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwg I2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1RE Q19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYw NTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19F WFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1RE Q19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAj ZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNF VF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2lu ZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5E IDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0Vf SCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZp bmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZF X1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElW RV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dF VFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRI UkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVU TFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAj ZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFS UyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNkZWZp bmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENNUzIg MQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmlu ZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAjZGVm aW5lIEhBVkVfTElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwgI2Rl ZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNk ZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfTElC WE1MMiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9N IDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEKfCAjZGVmaW5l IEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFW RV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9T RVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX1BUSFJF QURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NF VElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9N IDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJS T1IgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1F X05QIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDAKfCAjZGVmaW5lIEhBVkVf X19CVUlMVElOX0ZSQU1FX0FERFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5E X0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAjaW5jbHVkZSA8dmFsZ3JpbmQvdmFsZ3JpbmQuaD4KY29uZmlndXJlOjE5MDcwOiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZToxOTA3MDogY2hlY2tpbmcgZm9yIHZhbGdyaW5kL3ZhbGdyaW5kLmgKY29u ZmlndXJlOjE5MDcwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxOTA4MTogY2hlY2tpbmcgZm9yIHN0 cnVjdCB1bmlwYWlyLnVuaWNvZGUKY29uZmlndXJlOjE5MDgxOiBnY2MgLUkgLi4vc3JjL250L2lu YyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRl L2xpYnJzdmctMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2xpYi0yLjAg LWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvbGliL2dsaWItMi4wL2luY2x1ZGUgLWlzeXN0ZW0g QzovbXN5czY0L21pbmd3NjQvaW5jbHVkZSAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lz NjQvbWluZ3c2NC9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5n dzY0L2luY2x1ZGUvbGlicG5nMTYgLW1tcy1iaXRmaWVsZHMgLXB0aHJlYWQgLW1tcy1iaXRmaWVs ZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9jYWlybyAtaXN5c3RlbSBDOi9t c3lzNjQvbWluZ3c2NC9pbmNsdWRlL2x6byAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNs dWRlL2ZyZWV0eXBlMiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2hhcmZidXp6 IC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvcGl4bWFu LTEgIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzoxMTA6MTA6IGZh dGFsIGVycm9yOiBsaW51eC9rZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAgMTEwIHwg I2luY2x1ZGUgPGxpbnV4L2tkLmg+CiAgICAgIHwgICAgICAgICAgXn5+fn5+fn5+fn5+CmNvbXBp bGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToxOTA4MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5l IFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUg RW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNz QGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0 d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVN UEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9f RVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5f Q19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VS Q0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFE X1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRf XyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5l IF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRf SUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9U WVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5l IF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNF IDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxF X09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQ RSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZF X1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVT T1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tF VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmlu ZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZF X05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBI QVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVm aW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFW RV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZ IDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JP TExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8 ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVf TENNUzIgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwg I2RlZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEK fCAjZGVmaW5lIEhBVkVfTElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAx CnwgI2RlZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcg MQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhB VkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVf UkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEKfCAj ZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZp bmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUg SEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBI QVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JF Q1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlf U1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9T RVROQU1FX05QIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDAKfCAjZGVmaW5l IEhBVkVfX19CVUlMVElOX0ZSQU1FX0FERFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5f VU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAjaW5jbHVkZSA8bGludXgva2QuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0 YXRpYyBzdHJ1Y3QgdW5pcGFpciBhY19hZ2dyOwp8IGlmIChhY19hZ2dyLnVuaWNvZGUpCnwgcmV0 dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxOTA4MTogZ2NjIC1JIC4u L3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJmLTIgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3 NjQvaW5jbHVkZS9saWJyc3ZnLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRl L2dsaWItMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2xpYi9nbGliLTIuMC9pbmNsdWRl IC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUgLW1tcy1iaXRmaWVsZHMgLWlzeXN0 ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtaXN5c3RlbSBDOi9t c3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xpYnBuZzE2IC1tbXMtYml0ZmllbGRzIC1wdGhyZWFkIC1t bXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvY2Fpcm8gLWlz eXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9sem8gLWlzeXN0ZW0gQzovbXN5czY0L21p bmd3NjQvaW5jbHVkZS9mcmVldHlwZTIgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVk ZS9oYXJmYnV6eiAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNs dWRlL3BpeG1hbi0xICAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6 MTEwOjEwOiBmYXRhbCBlcnJvcjogbGludXgva2QuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9y eQogIDExMCB8ICNpbmNsdWRlIDxsaW51eC9rZC5oPgogICAgICB8ICAgICAgICAgIF5+fn5+fn5+ fn5+fgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MTkwODE6ICQ/ID0gMQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3Mi CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NU UklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVn LWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3Lmdu dS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5l IEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9T WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmlu ZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9O RVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9T SVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FU VFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAx CnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9f U1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9J RUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAx CnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFO REVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2Rl ZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUg U1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNk ZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJ UkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUg MQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTlRHVUkgMQp8ICNk ZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBVU0VfTU1BUF9GT1JfQlVGRkVS UyAxCnwgI2RlZmluZSBUSFJFQURTX0VOQUJMRUQgMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAj ZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfSlNPTiAxCnwgI2RlZmluZSBIQVZF X1czMk5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RP T0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0hB UkZCVVpaIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2Rl ZmluZSBIQVZFX0xDTVMyIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX01P RFVMRVMgMQp8ICNkZWZpbmUgTU9EVUxFU19TVUZGSVggIi5kbGwiCnwgI2RlZmluZSBIQVZFX0xJ QkdDQ0pJVCAxCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkFU SVZFX0NPTVAgMQp8ICNkZWZpbmUgTkFUSVZFX0VMSVNQX1NVRkZJWCAiLmVsbiIKfCAjZGVmaW5l IEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwg I2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9U UlVOQyAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpF IDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEK fCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNk ZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8 ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZp bmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5l IEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQURfU0VUTkFNRV9OUCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxJR05FRF9BTExPQyAw CnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9GUkFNRV9BRERSRVNTIDEKfCAjZGVmaW5lIEhBVkVf X19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPGxpbnV4L2tkLmg+CnwgCnwgaW50CnwgbWFpbiAo KQp8IHsKfCBzdGF0aWMgc3RydWN0IHVuaXBhaXIgYWNfYWdncjsKfCBpZiAoc2l6ZW9mIGFjX2Fn Z3IudW5pY29kZSkKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJl OjE5MDgxOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxOTA5OTogY2hlY2tpbmcgZm9yIF9fbHNhbl9p Z25vcmVfb2JqZWN0CmNvbmZpZ3VyZToxOTA5OTogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLW8gY29u ZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0yIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2lu Y2x1ZGUvbGlicnN2Zy0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nbGli LTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9saWIvZ2xpYi0yLjAvaW5jbHVkZSAtaXN5 c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6 L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0 L21pbmd3NjQvaW5jbHVkZS9saWJwbmcxNiAtbW1zLWJpdGZpZWxkcyAtcHRocmVhZCAtbW1zLWJp dGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2NhaXJvIC1pc3lzdGVt IEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbHpvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0 L2luY2x1ZGUvZnJlZXR5cGUyIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvaGFy ZmJ1enogLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9w aXhtYW4tMSAgLW10dW5lPWdlbmVyaWMgICAgY29uZnRlc3QuYyAtbGdjY2ppdCAgID4mNSAKQzov bXN5czY0L21pbmd3NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5ndzMyLzEwLjIuMC8u Li8uLi8uLi8uLi94ODZfNjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogQzpcbXN5czY0XHRtcFxj Y1NNUUliby5vOiBpbiBmdW5jdGlvbiBgbWFpbic6CkM6XG1zeXM2NFxob21lXFZXaW5Vc2VyMFxE b3dubG9hZHNcZW1hY3NcbmF0aXZlLWNvbXBcYnVpbGQvY29uZnRlc3QuYzoxNDQ6IHVuZGVmaW5l ZCByZWZlcmVuY2UgdG8gYF9fbHNhbl9pZ25vcmVfb2JqZWN0Jwpjb2xsZWN0Mi5leGU6IGVycm9y OiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxOTA5OTogJD8gPSAxCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBB Q0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIK fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RS SU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWct Z251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251 Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUg SEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5l IF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05F VEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJ WF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRU UklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEK fCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19T VERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lF Q182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEK fCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5E RU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVm aW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBT WVNURU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2Rl ZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElS RU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19U SU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAx CnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2Rl ZmluZSBIQVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwg I2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJT IDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNk ZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVf VzMyTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9P TEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFS RkJVWlogMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVm aW5lIEhBVkVfTENNUzIgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9E VUxFUyAxCnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElC R0NDSklUIDEKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJ VkVfQ09NUCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUg SEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAj ZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVm aW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RS VU5DIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUg MQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8 ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2Rl ZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwg I2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmlu ZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUg SEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVf UFRIUkVBRF9TRVROQU1FX05QIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDAK fCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX0ZSQU1FX0FERFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9f X0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgX19sc2FuX2lnbm9yZV9vYmplY3QgdG8gYW4gaW5u b2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBfX2xzYW5faWdub3Jl X29iamVjdC4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMg Z2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIF9fbHNhbl9pZ25vcmVfb2JqZWN0IGlubm9jdW91 c19fX2xzYW5faWdub3JlX29iamVjdAp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9f c3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2Fu IGNvbmZsaWN0IHdpdGggY2hhciBfX2xzYW5faWdub3JlX29iamVjdCAoKTsgYmVsb3cuCnwgICAg IFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwg c2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGls ZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNl bHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgX19sc2FuX2ln bm9yZV9vYmplY3QKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0 byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0 aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVu dCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8 IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIF9fbHNhbl9pZ25vcmVfb2JqZWN0ICgpOwp8IC8q IFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGlt cGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9u cyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5k IHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX19f bHNhbl9pZ25vcmVfb2JqZWN0IHx8IGRlZmluZWQgX19zdHViX19fX19sc2FuX2lnbm9yZV9vYmpl Y3QKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIF9f bHNhbl9pZ25vcmVfb2JqZWN0ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6 MTkwOTk6IHJlc3VsdDogbm8KY29uZmlndXJlOjE5MDk5OiBjaGVja2luZyBmb3Igc2Jyawpjb25m aWd1cmU6MTkwOTk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxOTA5OTogY2hlY2tpbmcgZm9yIGZj aG1vZApjb25maWd1cmU6MTkwOTk6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4 ZSAtZzMgLU8yIC1nZHdhcmYtMiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xp YnJzdmctMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2xpYi0yLjAgLWlz eXN0ZW0gQzovbXN5czY0L21pbmd3NjQvbGliL2dsaWItMi4wL2luY2x1ZGUgLWlzeXN0ZW0gQzov bXN5czY0L21pbmd3NjQvaW5jbHVkZSAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQv bWluZ3c2NC9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0 L2luY2x1ZGUvbGlicG5nMTYgLW1tcy1iaXRmaWVsZHMgLXB0aHJlYWQgLW1tcy1iaXRmaWVsZHMg LWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9jYWlybyAtaXN5c3RlbSBDOi9tc3lz NjQvbWluZ3c2NC9pbmNsdWRlL2x6byAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRl L2ZyZWV0eXBlMiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2hhcmZidXp6IC1t bXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvcGl4bWFuLTEg IC1tdHVuZT1nZW5lcmljICAgIGNvbmZ0ZXN0LmMgLWxnY2NqaXQgICA+JjUgCkM6L21zeXM2NC9t aW5ndzY0L2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi8xMC4yLjAvLi4vLi4vLi4v Li4veDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IEM6XG1zeXM2NFx0bXBcY2NjTXA4bjMu bzogaW4gZnVuY3Rpb24gYG1haW4nOgpDOlxtc3lzNjRcaG9tZVxWV2luVXNlcjBcRG93bmxvYWRz XGVtYWNzXG5hdGl2ZS1jb21wXGJ1aWxkL2NvbmZ0ZXN0LmM6MTQ1OiB1bmRlZmluZWQgcmVmZXJl bmNlIHRvIGBmY2htb2QnCmNvbGxlY3QyLmV4ZTogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBz dGF0dXMKY29uZmlndXJlOjE5MDk5OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3Mi CnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJT SU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUw Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIK fCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZp bmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO VF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18g MQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwg I2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmlu ZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEK fCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5l IF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRf SUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVO Q1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEK fCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRf TUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUg X0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMg NjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50 Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNk ZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAj ZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZF X0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO VF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dB SVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdF X0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJ WkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFEU19F TkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwg I2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZpbmUg VVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAj ZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmluZSBIQVZF X1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwgI2Rl ZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1PRFVM RVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUgSEFW RV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVmaW5lIE5B VElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBI QVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEK fCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNk ZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFWRV9T RUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExP Q0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1J VCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdN QVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVS IDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNk ZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwg I2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURfQUxMT0MgMAp8ICNkZWZpbmUgSEFWRV9fX0JVSUxU SU5fRlJBTUVfQUREUkVTUyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAx CnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX1NCUksgMQp8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgZmNobW9kIHRvIGFuIGlubm9jdW91cyB2YXJpYW50 LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgZmNobW9kLgp8ICAgIEZvciBleGFtcGxlLCBI UC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUg ZmNobW9kIGlubm9jdW91c19mY2htb2QKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBf X3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNh biBjb25mbGljdCB3aXRoIGNoYXIgZmNobW9kICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1p dHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8 bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8 ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1 ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBmY2htb2QKfCAKfCAvKiBPdmVycmlk ZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2Ug Y2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAg ICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBw bHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFy IGZjaG1vZCAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0 aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lT LiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFy dGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBk ZWZpbmVkIF9fc3R1Yl9mY2htb2QgfHwgZGVmaW5lZCBfX3N0dWJfX19mY2htb2QKfCBjaG9rZSBt ZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGZjaG1vZCAoKTsKfCAg IDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE5MDk5OiByZXN1bHQ6IG5vCmNvbmZpZ3Vy ZToxOTA5OTogY2hlY2tpbmcgZm9yIGNhbm9uaWNhbGl6ZV9maWxlX25hbWUKY29uZmlndXJlOjE5 MDk5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTkwOTk6IGNoZWNraW5nIGZvciByZWFkbGluawpj b25maWd1cmU6MTkwOTk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxOTA5OTogY2hlY2tpbmcgZm9y IHJlYWxwYXRoCmNvbmZpZ3VyZToxOTA5OTogcmVzdWx0OiBub3QtbmVlZGVkCmNvbmZpZ3VyZTox OTA5OTogY2hlY2tpbmcgZm9yIHJlYWRsaW5rYXQKY29uZmlndXJlOjE5MDk5OiByZXN1bHQ6IHll cwpjb25maWd1cmU6MTkwOTk6IGNoZWNraW5nIGZvciBleHBsaWNpdF9iemVybwpjb25maWd1cmU6 MTkwOTk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxOTA5OTogY2hlY2tpbmcgZm9yIG1lbXNldF9z CmNvbmZpZ3VyZToxOTA5OTogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1n MyAtTzIgLWdkd2FyZi0yIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicnN2 Zy0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nbGliLTIuMCAtaXN5c3Rl bSBDOi9tc3lzNjQvbWluZ3c2NC9saWIvZ2xpYi0yLjAvaW5jbHVkZSAtaXN5c3RlbSBDOi9tc3lz NjQvbWluZ3c2NC9pbmNsdWRlIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5n dzY0L2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5j bHVkZS9saWJwbmcxNiAtbW1zLWJpdGZpZWxkcyAtcHRocmVhZCAtbW1zLWJpdGZpZWxkcyAtaXN5 c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2NhaXJvIC1pc3lzdGVtIEM6L21zeXM2NC9t aW5ndzY0L2luY2x1ZGUvbHpvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZnJl ZXR5cGUyIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvaGFyZmJ1enogLW1tcy1i aXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9waXhtYW4tMSAgLW10 dW5lPWdlbmVyaWMgICAgY29uZnRlc3QuYyAtbGdjY2ppdCAgID4mNSAKQzovbXN5czY0L21pbmd3 NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5ndzMyLzEwLjIuMC8uLi8uLi8uLi8uLi94 ODZfNjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogQzpcbXN5czY0XHRtcFxjY0NMSnB4OC5vOiBp biBmdW5jdGlvbiBgbWFpbic6CkM6XG1zeXM2NFxob21lXFZXaW5Vc2VyMFxEb3dubG9hZHNcZW1h Y3NcbmF0aXZlLWNvbXBcYnVpbGQvY29uZnRlc3QuYzoxNDk6IHVuZGVmaW5lZCByZWZlcmVuY2Ug dG8gYG1lbXNldF9zJwpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3Rh dHVzCmNvbmZpZ3VyZToxOTA5OTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz Ogp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP TiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIK fCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2Rl ZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwg I2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5l IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEK fCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNk ZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUg X09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwg I2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBf X1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lF Q182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNT X0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwg I2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01B VEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9I UFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0 CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIK fCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVm aW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2Rl ZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9M SU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlU X0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9JTUFHRV9B UEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpF IDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5B QkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNk ZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAjZGVmaW5lIFVT RV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2Rl ZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNkZWZpbmUgSEFWRV9Y UE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENNUzIgMQp8ICNkZWZp bmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmluZSBNT0RVTEVT X1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAjZGVmaW5lIEhBVkVf TElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwgI2RlZmluZSBOQVRJ VkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFW RV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwg I2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVm aW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEKfCAjZGVmaW5lIEhBVkVfU0VM RUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NB TEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQg MQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFT SyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAx CnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVm aW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNk ZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1FX05QIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDAKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElO X0ZSQU1FX0FERFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8 ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9TQlJLIDEKfCAjZGVmaW5lIEhB VkVfQ0FOT05JQ0FMSVpFX0ZJTEVfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAj ZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0VYUExJQ0lUX0JaRVJPIDEK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIG1lbXNldF9zIHRvIGFuIGlubm9j dW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgbWVtc2V0X3MuCnwgICAg Rm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4g ICovCnwgI2RlZmluZSBtZW1zZXRfcyBpbm5vY3VvdXNfbWVtc2V0X3MKfCAKfCAvKiBTeXN0ZW0g aGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlw ZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgbWVtc2V0X3MgKCk7IGJlbG93 Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRl ZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5n IGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMu aD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIG1l bXNldF9zCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZv aWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJl dHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJv dG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRl cm4gIkMiCnwgI2VuZGlmCnwgY2hhciBtZW1zZXRfcyAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFy eSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRv IGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5h bWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUg aXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9tZW1zZXRfcyB8fCBkZWZpbmVk IF9fc3R1Yl9fX21lbXNldF9zCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgp Cnwgewp8IHJldHVybiBtZW1zZXRfcyAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmln dXJlOjE5MDk5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxOTA5OTogY2hlY2tpbmcgZm9yIGZhY2Nl c3NhdApjb25maWd1cmU6MTkwOTk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxOTA5OTogY2hlY2tp bmcgZm9yIGZjaG1vZGF0CmNvbmZpZ3VyZToxOTA5OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE5 MDk5OiBjaGVja2luZyBmb3IgbGNobW9kCmNvbmZpZ3VyZToxOTA5OTogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjE5MDk5OiBjaGVja2luZyBmb3IgZmNudGwKY29uZmlndXJlOjE5MDk5OiByZXN1bHQ6 IHllcwpjb25maWd1cmU6MTkwOTk6IGNoZWNraW5nIGZvciBmZG9wZW5kaXIKY29uZmlndXJlOjE5 MDk5OiByZXN1bHQ6IG5vdC1uZWVkZWQKY29uZmlndXJlOjE5MDk5OiBjaGVja2luZyBmb3IgZnN0 YXRhdApjb25maWd1cmU6MTkwOTk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxOTA5OTogY2hlY2tp bmcgZm9yIGZzeW5jCmNvbmZpZ3VyZToxOTA5OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE5MDk5 OiBjaGVja2luZyBmb3IgZnV0aW1lbnMKY29uZmlndXJlOjE5MDk5OiByZXN1bHQ6IG5vdC1uZWVk ZWQKY29uZmlndXJlOjE5MDk5OiBjaGVja2luZyBmb3IgZ2V0cmFuZG9tCmNvbmZpZ3VyZToxOTA5 OTogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0y IC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicnN2Zy0yLjAgLWlzeXN0ZW0g QzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nbGliLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWlu Z3c2NC9saWIvZ2xpYi0yLjAvaW5jbHVkZSAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNs dWRlIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2Rr LXBpeGJ1Zi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9saWJwbmcxNiAt bW1zLWJpdGZpZWxkcyAtcHRocmVhZCAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQv bWluZ3c2NC9pbmNsdWRlL2NhaXJvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUv bHpvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZnJlZXR5cGUyIC1pc3lzdGVt IEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvaGFyZmJ1enogLW1tcy1iaXRmaWVsZHMgLWlzeXN0 ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9waXhtYW4tMSAgLW10dW5lPWdlbmVyaWMgICAg Y29uZnRlc3QuYyAtbGdjY2ppdCAgID4mNSAKQzovbXN5czY0L21pbmd3NjQvYmluLy4uL2xpYi9n Y2MveDg2XzY0LXc2NC1taW5ndzMyLzEwLjIuMC8uLi8uLi8uLi8uLi94ODZfNjQtdzY0LW1pbmd3 MzIvYmluL2xkLmV4ZTogQzpcbXN5czY0XHRtcFxjY3M4UTczNi5vOiBpbiBmdW5jdGlvbiBgbWFp bic6CkM6XG1zeXM2NFxob21lXFZXaW5Vc2VyMFxEb3dubG9hZHNcZW1hY3NcbmF0aXZlLWNvbXBc YnVpbGQvY29uZnRlc3QuYzoxNTU6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGdldHJhbmRvbScK Y29sbGVjdDIuZXhlOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6 MTkwOTk6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVm cy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNL QUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9V UkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9V U0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj ZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxM X1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09V UkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJD RSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVD XzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VY VF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2Rl ZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1Nf XyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5f U09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0ND X0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBIQVZF X01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX01BTExP Q19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0Rf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAx CnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNk ZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBU SU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5l IEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVmaW5l IFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBV U0VfTU1BUF9GT1JfQlVGRkVSUyAxCnwgI2RlZmluZSBUSFJFQURTX0VOQUJMRUQgMQp8ICNkZWZp bmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfSlNP TiAxCnwgI2RlZmluZSBIQVZFX1czMk5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkg MQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAx CnwgI2RlZmluZSBIQVZFX0hBUkZCVVpaIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5l IEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0xDTVMyIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAx CnwgI2RlZmluZSBIQVZFX01PRFVMRVMgMQp8ICNkZWZpbmUgTU9EVUxFU19TVUZGSVggIi5kbGwi CnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVCAxCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVF9IIDEK fCAjZGVmaW5lIEhBVkVfTkFUSVZFX0NPTVAgMQp8ICNkZWZpbmUgTkFUSVZFX0VMSVNQX1NVRkZJ WCAiLmVsbiIKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2Rl ZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9H RVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQg MQp8ICNkZWZpbmUgSEFWRV9UUlVOQyAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5l IEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhB VkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUg SEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFW RV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNP Q0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTE9H MiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfQUxJR05FRF9BTExPQyAwCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9GUkFNRV9BRERSRVNT IDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVf RlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfU0JSSyAxCnwgI2RlZmluZSBIQVZFX0NBTk9OSUNBTEla RV9GSUxFX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1JF QURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9FWFBMSUNJVF9CWkVSTyAxCnwgI2RlZmluZSBIQVZF X0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PREFUIDEKfCAjZGVmaW5lIEhBVkVfTENI TU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAj ZGVmaW5lIEhBVkVfRlNZTkMgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUg Z2V0cmFuZG9tIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVj bGFyZXMgZ2V0cmFuZG9tLgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBk ZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgZ2V0cmFuZG9tIGlubm9jdW91c19n ZXRyYW5kb20KfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFu ZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRo IGNoYXIgZ2V0cmFuZG9tICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFz c2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4 aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NU RENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5o Pgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBnZXRyYW5kb20KfCAKfCAvKiBPdmVycmlkZSBhbnkgR0ND IGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNh dXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGlu IGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8 ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGdldHJhbmRv bSAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3 aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29t ZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3 aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVk IF9fc3R1Yl9nZXRyYW5kb20gfHwgZGVmaW5lZCBfX3N0dWJfX19nZXRyYW5kb20KfCBjaG9rZSBt ZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGdldHJhbmRvbSAoKTsK fCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE5MDk5OiByZXN1bHQ6IG5vCmNvbmZp Z3VyZToxOTA5OTogY2hlY2tpbmcgZm9yIGdldHRpbWVvZmRheQpjb25maWd1cmU6MTkwOTk6IGdj YyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAtaXN5 c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xpYnJzdmctMi4wIC1pc3lzdGVtIEM6L21z eXM2NC9taW5ndzY0L2luY2x1ZGUvZ2xpYi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQv bGliL2dsaWItMi4wL2luY2x1ZGUgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZSAt bW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2dkay1waXhi dWYtMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicG5nMTYgLW1tcy1i aXRmaWVsZHMgLXB0aHJlYWQgLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3 NjQvaW5jbHVkZS9jYWlybyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2x6byAt aXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2ZyZWV0eXBlMiAtaXN5c3RlbSBDOi9t c3lzNjQvbWluZ3c2NC9pbmNsdWRlL2hhcmZidXp6IC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6 L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvcGl4bWFuLTEgIC1tdHVuZT1nZW5lcmljICAgIGNvbmZ0 ZXN0LmMgLWxnY2NqaXQgICA+JjUgCmNvbmZpZ3VyZToxOTA5OTogJD8gPSAwCmNvbmZpZ3VyZTox OTA5OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE5MDk5OiBjaGVja2luZyBmb3IgbHN0YXQKY29u ZmlndXJlOjE5MDk5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTkwOTk6IGNoZWNraW5nIGZvciBt a29zdGVtcApjb25maWd1cmU6MTkwOTk6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0ZXN0 LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRl L2xpYnJzdmctMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2xpYi0yLjAg LWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvbGliL2dsaWItMi4wL2luY2x1ZGUgLWlzeXN0ZW0g QzovbXN5czY0L21pbmd3NjQvaW5jbHVkZSAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lz NjQvbWluZ3c2NC9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5n dzY0L2luY2x1ZGUvbGlicG5nMTYgLW1tcy1iaXRmaWVsZHMgLXB0aHJlYWQgLW1tcy1iaXRmaWVs ZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9jYWlybyAtaXN5c3RlbSBDOi9t c3lzNjQvbWluZ3c2NC9pbmNsdWRlL2x6byAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNs dWRlL2ZyZWV0eXBlMiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2hhcmZidXp6 IC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvcGl4bWFu LTEgIC1tdHVuZT1nZW5lcmljICAgIGNvbmZ0ZXN0LmMgLWxnY2NqaXQgICA+JjUgCkM6L21zeXM2 NC9taW5ndzY0L2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi8xMC4yLjAvLi4vLi4v Li4vLi4veDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IEM6XG1zeXM2NFx0bXBcY2NTcUd2 VDMubzogaW4gZnVuY3Rpb24gYG1haW4nOgpDOlxtc3lzNjRcaG9tZVxWV2luVXNlcjBcRG93bmxv YWRzXGVtYWNzXG5hdGl2ZS1jb21wXGJ1aWxkL2NvbmZ0ZXN0LmM6MTU3OiB1bmRlZmluZWQgcmVm ZXJlbmNlIHRvIGBta29zdGVtcCcKY29sbGVjdDIuZXhlOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBl eGl0IHN0YXR1cwpjb25maWd1cmU6MTkwOTk6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBF bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdF X1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4 LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3Jn Igp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1h Y3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwg I2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lP TlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNF IDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAj ZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJ Q1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNk ZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENf V0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1 OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhU X18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENf V0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2Rl ZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRf QklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRv d3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAx CnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0gg MQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5l IEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NUQVRfSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9T WVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVf SU1BR0VfQVBJIDEKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBVU0VfTU1BUF9GT1JfQlVGRkVSUyAxCnwgI2RlZmluZSBUSFJF QURTX0VOQUJMRUQgMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfR05VVExT IDEKfCAjZGVmaW5lIEhBVkVfSlNPTiAxCnwgI2RlZmluZSBIQVZFX1czMk5PVElGWSAxCnwgI2Rl ZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMg MQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0hBUkZCVVpaIDEKfCAjZGVmaW5l IEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0xDTVMyIDEK fCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX01PRFVMRVMgMQp8ICNkZWZpbmUg TU9EVUxFU19TVUZGSVggIi5kbGwiCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVCAxCnwgI2RlZmlu ZSBIQVZFX0xJQkdDQ0pJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0NPTVAgMQp8ICNkZWZp bmUgTkFUSVZFX0VMSVNQX1NVRkZJWCAiLmVsbiIKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVm aW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX0xJQlhN TDIgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAx CnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9UUlVOQyAxCnwgI2RlZmluZSBI QVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVf U0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VU UkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFE X1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJ VElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAx CnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9S IDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9O UCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxJR05FRF9BTExPQyAwCnwgI2RlZmluZSBIQVZFX19f QlVJTFRJTl9GUkFNRV9BRERSRVNTIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9J TklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfU0JSSyAxCnwgI2Rl ZmluZSBIQVZFX0NBTk9OSUNBTElaRV9GSUxFX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElO SyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9FWFBMSUNJVF9C WkVSTyAxCnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PREFU IDEKfCAjZGVmaW5lIEhBVkVfTENITU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZp bmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9H RVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgLyogZW5kIGNvbmZkZWZzLmgu ICAqLwp8IC8qIERlZmluZSBta29zdGVtcCB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2Fz ZSA8bGltaXRzLmg+IGRlY2xhcmVzIG1rb3N0ZW1wLgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAx MWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgbWtvc3Rl bXAgaW5ub2N1b3VzX21rb3N0ZW1wCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19z dHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4g Y29uZmxpY3Qgd2l0aCBjaGFyIG1rb3N0ZW1wICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1p dHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8 bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8 ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1 ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBta29zdGVtcAp8IAp8IC8qIE92ZXJy aWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVz ZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8 ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBh cHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNo YXIgbWtvc3RlbXAgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBm dW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVO T1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcg c3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAj aWYgZGVmaW5lZCBfX3N0dWJfbWtvc3RlbXAgfHwgZGVmaW5lZCBfX3N0dWJfX19ta29zdGVtcAp8 IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gbWtvc3Rl bXAgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxOTA5OTogcmVzdWx0OiBu bwpjb25maWd1cmU6MTkwOTk6IGNoZWNraW5nIGZvciBwaXBlMgpjb25maWd1cmU6MTkwOTk6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZToxOTA5OTogY2hlY2tpbmcgZm9yIHBzZWxlY3QKY29uZmlndXJl OjE5MDk5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTkwOTk6IGNoZWNraW5nIGZvciBpc2JsYW5r CmNvbmZpZ3VyZToxOTA5OTogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1n MyAtTzIgLWdkd2FyZi0yIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicnN2 Zy0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nbGliLTIuMCAtaXN5c3Rl bSBDOi9tc3lzNjQvbWluZ3c2NC9saWIvZ2xpYi0yLjAvaW5jbHVkZSAtaXN5c3RlbSBDOi9tc3lz NjQvbWluZ3c2NC9pbmNsdWRlIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5n dzY0L2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5j bHVkZS9saWJwbmcxNiAtbW1zLWJpdGZpZWxkcyAtcHRocmVhZCAtbW1zLWJpdGZpZWxkcyAtaXN5 c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2NhaXJvIC1pc3lzdGVtIEM6L21zeXM2NC9t aW5ndzY0L2luY2x1ZGUvbHpvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZnJl ZXR5cGUyIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvaGFyZmJ1enogLW1tcy1i aXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9waXhtYW4tMSAgLW10 dW5lPWdlbmVyaWMgICAgY29uZnRlc3QuYyAtbGdjY2ppdCAgID4mNSAKY29uZnRlc3QuYzoxNDg6 Njogd2FybmluZzogY29uZmxpY3RpbmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uICdpc2Js YW5rJzsgZXhwZWN0ZWQgJ2ludChpbnQpJyBbLVdidWlsdGluLWRlY2xhcmF0aW9uLW1pc21hdGNo XQogIDE0OCB8IGNoYXIgaXNibGFuayAoKTsKICAgICAgfCAgICAgIF5+fn5+fn4KY29uZnRlc3Qu YzoxMzY6MTogbm90ZTogJ2lzYmxhbmsnIGlzIGRlY2xhcmVkIGluIGhlYWRlciAnPGN0eXBlLmg+ JwogIDEzNSB8ICMgaW5jbHVkZSA8bGltaXRzLmg+CiAgMTM2IHwgI2Vsc2UKY29uZmlndXJlOjE5 MDk5OiAkPyA9IDAKY29uZmlndXJlOjE5MDk5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTkwOTk6 IGNoZWNraW5nIGZvciBpc3djdHlwZQpjb25maWd1cmU6MTkwOTk6IGdjYyAtSSAuLi9zcmMvbnQv aW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAtaXN5c3RlbSBDOi9tc3lzNjQv bWluZ3c2NC9pbmNsdWRlL2xpYnJzdmctMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2lu Y2x1ZGUvZ2xpYi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvbGliL2dsaWItMi4wL2lu Y2x1ZGUgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZSAtbW1zLWJpdGZpZWxkcyAt aXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1pc3lzdGVt IEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicG5nMTYgLW1tcy1iaXRmaWVsZHMgLXB0aHJl YWQgLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9jYWly byAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2x6byAtaXN5c3RlbSBDOi9tc3lz NjQvbWluZ3c2NC9pbmNsdWRlL2ZyZWV0eXBlMiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9p bmNsdWRlL2hhcmZidXp6IC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0 L2luY2x1ZGUvcGl4bWFuLTEgIC1tdHVuZT1nZW5lcmljICAgIGNvbmZ0ZXN0LmMgLWxnY2NqaXQg ICA+JjUgCmNvbmZpZ3VyZToxOTA5OTogJD8gPSAwCmNvbmZpZ3VyZToxOTA5OTogcmVzdWx0OiB5 ZXMKY29uZmlndXJlOjE5MDk5OiBjaGVja2luZyBmb3Igc3RydG9pbWF4CmNvbmZpZ3VyZToxOTA5 OTogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0y IC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicnN2Zy0yLjAgLWlzeXN0ZW0g QzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nbGliLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWlu Z3c2NC9saWIvZ2xpYi0yLjAvaW5jbHVkZSAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNs dWRlIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2Rr LXBpeGJ1Zi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9saWJwbmcxNiAt bW1zLWJpdGZpZWxkcyAtcHRocmVhZCAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQv bWluZ3c2NC9pbmNsdWRlL2NhaXJvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUv bHpvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZnJlZXR5cGUyIC1pc3lzdGVt IEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvaGFyZmJ1enogLW1tcy1iaXRmaWVsZHMgLWlzeXN0 ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9waXhtYW4tMSAgLW10dW5lPWdlbmVyaWMgICAg Y29uZnRlc3QuYyAtbGdjY2ppdCAgID4mNSAKY29uZmlndXJlOjE5MDk5OiAkPyA9IDAKY29uZmln dXJlOjE5MDk5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTkwOTk6IGNoZWNraW5nIGZvciBzeW1s aW5rCmNvbmZpZ3VyZToxOTA5OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE5MDk5OiBjaGVja2lu ZyBmb3IgbG9jYWx0aW1lX3IKY29uZmlndXJlOjE5MDk5OiBnY2MgLUkgLi4vc3JjL250L2luYyAt byBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3 NjQvaW5jbHVkZS9saWJyc3ZnLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRl L2dsaWItMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2xpYi9nbGliLTIuMC9pbmNsdWRl IC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUgLW1tcy1iaXRmaWVsZHMgLWlzeXN0 ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtaXN5c3RlbSBDOi9t c3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xpYnBuZzE2IC1tbXMtYml0ZmllbGRzIC1wdGhyZWFkIC1t bXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvY2Fpcm8gLWlz eXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9sem8gLWlzeXN0ZW0gQzovbXN5czY0L21p bmd3NjQvaW5jbHVkZS9mcmVldHlwZTIgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVk ZS9oYXJmYnV6eiAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNs dWRlL3BpeG1hbi0xICAtbXR1bmU9Z2VuZXJpYyAgICBjb25mdGVzdC5jIC1sZ2Njaml0ICAgPiY1 IApDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvMTAu Mi4wLy4uLy4uLy4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBDOlxtc3lzNjRc dG1wXGNjMmEzcXNuLm86IGluIGZ1bmN0aW9uIGBtYWluJzoKQzpcbXN5czY0XGhvbWVcVldpblVz ZXIwXERvd25sb2Fkc1xlbWFjc1xuYXRpdmUtY29tcFxidWlsZC9jb25mdGVzdC5jOjE2MzogdW5k ZWZpbmVkIHJlZmVyZW5jZSB0byBgbG9jYWx0aW1lX3InCmNvbGxlY3QyLmV4ZTogZXJyb3I6IGxk IHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjE5MDk5OiAkPyA9IDEKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg IkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUt ZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3Jn L3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZF X1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RB UldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNE X1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BU SFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJT X0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNk ZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENf V0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYw NTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNk ZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9T T1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUg X0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RF TV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5l IEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVf SCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5l IEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVm aW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8 ICNkZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmlu ZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9XMzJO T1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lU X1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVa WiAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUg SEFWRV9MQ01TMiAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVT IDEKfCAjZGVmaW5lIE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NK SVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9D T01QIDEKfCAjZGVmaW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBIQVZF X1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZp bmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUg SEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMg MQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwg I2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2Rl ZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5l IEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVm aW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhB VkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZF X0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhS RUFEX1NFVE5BTUVfTlAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURfQUxMT0MgMAp8ICNk ZWZpbmUgSEFWRV9fX0JVSUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2RlZmluZSBIQVZFX19fQlVJ TFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZF X1NCUksgMQp8ICNkZWZpbmUgSEFWRV9DQU5PTklDQUxJWkVfRklMRV9OQU1FIDEKfCAjZGVmaW5l IEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhB VkVfRVhQTElDSVRfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUg SEFWRV9GQ0hNT0RBVCAxCnwgI2RlZmluZSBIQVZFX0xDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZD TlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAj ZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZp bmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9J U0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfSVNXQ1RZUEUgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lN QVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg LyogRGVmaW5lIGxvY2FsdGltZV9yIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxs aW1pdHMuaD4gZGVjbGFyZXMgbG9jYWx0aW1lX3IuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDEx aSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBsb2NhbHRp bWVfciBpbm5vY3VvdXNfbG9jYWx0aW1lX3IKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmlu ZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNo IGNhbiBjb25mbGljdCB3aXRoIGNoYXIgbG9jYWx0aW1lX3IgKCk7IGJlbG93Lgp8ICAgICBQcmVm ZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNl CnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4g ICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8 ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIGxvY2FsdGltZV9yCnwg CnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJy b3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBl IG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdv dWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwg I2VuZGlmCnwgY2hhciBsb2NhbHRpbWVfciAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZp bmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5 cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwg ICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4g YWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9sb2NhbHRpbWVfciB8fCBkZWZpbmVkIF9f c3R1Yl9fX2xvY2FsdGltZV9yCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgp Cnwgewp8IHJldHVybiBsb2NhbHRpbWVfciAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29u ZmlndXJlOjE5MDk5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxOTA5OTogY2hlY2tpbmcgZm9yIHRp bWVnbQpjb25maWd1cmU6MTkwOTk6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4 ZSAtZzMgLU8yIC1nZHdhcmYtMiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xp YnJzdmctMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2xpYi0yLjAgLWlz eXN0ZW0gQzovbXN5czY0L21pbmd3NjQvbGliL2dsaWItMi4wL2luY2x1ZGUgLWlzeXN0ZW0gQzov bXN5czY0L21pbmd3NjQvaW5jbHVkZSAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQv bWluZ3c2NC9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0 L2luY2x1ZGUvbGlicG5nMTYgLW1tcy1iaXRmaWVsZHMgLXB0aHJlYWQgLW1tcy1iaXRmaWVsZHMg LWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9jYWlybyAtaXN5c3RlbSBDOi9tc3lz NjQvbWluZ3c2NC9pbmNsdWRlL2x6byAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRl L2ZyZWV0eXBlMiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2hhcmZidXp6IC1t bXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvcGl4bWFuLTEg IC1tdHVuZT1nZW5lcmljICAgIGNvbmZ0ZXN0LmMgLWxnY2NqaXQgICA+JjUgCkM6L21zeXM2NC9t aW5ndzY0L2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi8xMC4yLjAvLi4vLi4vLi4v Li4veDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IEM6XG1zeXM2NFx0bXBcY2NzbmZPVXou bzogaW4gZnVuY3Rpb24gYG1haW4nOgpDOlxtc3lzNjRcaG9tZVxWV2luVXNlcjBcRG93bmxvYWRz XGVtYWNzXG5hdGl2ZS1jb21wXGJ1aWxkL2NvbmZ0ZXN0LmM6MTYzOiB1bmRlZmluZWQgcmVmZXJl bmNlIHRvIGB0aW1lZ20nCmNvbGxlY3QyLmV4ZTogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBz dGF0dXMKY29uZmlndXJlOjE5MDk5OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3Mi CnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJT SU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUw Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIK fCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZp bmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO VF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18g MQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwg I2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmlu ZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEK fCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5l IF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRf SUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVO Q1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEK fCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRf TUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUg X0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMg NjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50 Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNk ZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAj ZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZF X0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO VF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dB SVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdF X0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJ WkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFEU19F TkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwg I2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZpbmUg VVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAj ZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmluZSBIQVZF X1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwgI2Rl ZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1PRFVM RVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUgSEFW RV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVmaW5lIE5B VElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBI QVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEK fCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNk ZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFWRV9T RUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExP Q0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1J VCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdN QVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVS IDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNk ZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwg I2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURfQUxMT0MgMAp8ICNkZWZpbmUgSEFWRV9fX0JVSUxU SU5fRlJBTUVfQUREUkVTUyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAx CnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX1NCUksgMQp8ICNkZWZpbmUg SEFWRV9DQU5PTklDQUxJWkVfRklMRV9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8 ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRVhQTElDSVRfQlpFUk8g MQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0RBVCAxCnwg I2RlZmluZSBIQVZFX0xDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhB VkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElN RU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwg I2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5l IEhBVkVfSVNXQ1RZUEUgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFW RV9TWU1MSU5LIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIHRpbWVnbSB0 byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIHRpbWVn bS4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGlt ZW9mZGF5LiAgKi8KfCAjZGVmaW5lIHRpbWVnbSBpbm5vY3VvdXNfdGltZWdtCnwgCnwgLyogU3lz dGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90 b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHRpbWVnbSAoKTsgYmVs b3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMg ZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRp bmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0 cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYg dGltZWdtCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZv aWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJl dHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJv dG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRl cm4gIkMiCnwgI2VuZGlmCnwgY2hhciB0aW1lZ20gKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkg ZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBh bHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1l ZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlz IGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfdGltZWdtIHx8IGRlZmluZWQgX19z dHViX19fdGltZWdtCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8 IHJldHVybiB0aW1lZ20gKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxOTA5 OTogcmVzdWx0OiBubwpjb25maWd1cmU6MTkwOTk6IGNoZWNraW5nIGZvciB1dGltZW5zYXQKY29u ZmlndXJlOjE5MDk5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTkwOTk6IGNoZWNraW5nIGZvciBn ZXRkdGFibGVzaXplCmNvbmZpZ3VyZToxOTA5OTogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLW8gY29u ZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0yIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2lu Y2x1ZGUvbGlicnN2Zy0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nbGli LTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9saWIvZ2xpYi0yLjAvaW5jbHVkZSAtaXN5 c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6 L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0 L21pbmd3NjQvaW5jbHVkZS9saWJwbmcxNiAtbW1zLWJpdGZpZWxkcyAtcHRocmVhZCAtbW1zLWJp dGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2NhaXJvIC1pc3lzdGVt IEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbHpvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0 L2luY2x1ZGUvZnJlZXR5cGUyIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvaGFy ZmJ1enogLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9w aXhtYW4tMSAgLW10dW5lPWdlbmVyaWMgICAgY29uZnRlc3QuYyAtbGdjY2ppdCAgID4mNSAKQzov bXN5czY0L21pbmd3NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5ndzMyLzEwLjIuMC8u Li8uLi8uLi8uLi94ODZfNjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogQzpcbXN5czY0XHRtcFxj Y3dNZlZRZS5vOiBpbiBmdW5jdGlvbiBgbWFpbic6CkM6XG1zeXM2NFxob21lXFZXaW5Vc2VyMFxE b3dubG9hZHNcZW1hY3NcbmF0aXZlLWNvbXBcYnVpbGQvY29uZnRlc3QuYzoxNjQ6IHVuZGVmaW5l ZCByZWZlcmVuY2UgdG8gYGdldGR0YWJsZXNpemUnCmNvbGxlY3QyLmV4ZTogZXJyb3I6IGxkIHJl dHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjE5MDk5OiAkPyA9IDEKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9O QU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZp bmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdO VSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1h Y3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3Nv ZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BE VU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg X19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJ Tl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NP VVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJF QURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VY VF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZp bmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FO VF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5 X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZp bmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VS Q0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJ TEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9U WVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhB VkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19S RVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09D S0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAx CnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhB VkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5l IEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNk ZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBI QVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJ RlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1ND Uk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAx CnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFW RV9MQ01TMiAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEK fCAjZGVmaW5lIE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQg MQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01Q IDEKfCAjZGVmaW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BO RyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUg SEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFW RV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8 ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2Rl ZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmlu ZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhB VkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5l IEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVf UkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dB SV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFE X1NFVE5BTUVfTlAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURfQUxMT0MgMAp8ICNkZWZp bmUgSEFWRV9fX0JVSUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJ Tl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX1NC UksgMQp8ICNkZWZpbmUgSEFWRV9DQU5PTklDQUxJWkVfRklMRV9OQU1FIDEKfCAjZGVmaW5lIEhB VkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVf RVhQTElDSVRfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFW RV9GQ0hNT0RBVCAxCnwgI2RlZmluZSBIQVZFX0xDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRM IDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVm aW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUg SEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9JU0JM QU5LIDEKfCAjZGVmaW5lIEhBVkVfSVNXQ1RZUEUgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVgg MQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAv KiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGdldGR0YWJsZXNpemUgdG8gYW4gaW5u b2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXRkdGFibGVzaXpl Lgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1l b2ZkYXkuICAqLwp8ICNkZWZpbmUgZ2V0ZHRhYmxlc2l6ZSBpbm5vY3VvdXNfZ2V0ZHRhYmxlc2l6 ZQp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVm dWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBn ZXRkdGFibGVzaXplICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2Vy dC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0 cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENf Xwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8 ICNlbmRpZgp8IAp8ICN1bmRlZiBnZXRkdGFibGVzaXplCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdD QyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVj YXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRp biBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8K fCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBnZXRkdGFi bGVzaXplICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rp b25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMu ICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0 aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRl ZmluZWQgX19zdHViX2dldGR0YWJsZXNpemUgfHwgZGVmaW5lZCBfX3N0dWJfX19nZXRkdGFibGVz aXplCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBn ZXRkdGFibGVzaXplICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTkwOTk6 IHJlc3VsdDogbm8KY29uZmlndXJlOjE5MDk5OiBjaGVja2luZyBmb3IgZnV0aW1lcwpjb25maWd1 cmU6MTkwOTk6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1n ZHdhcmYtMiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xpYnJzdmctMi4wIC1p c3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2xpYi0yLjAgLWlzeXN0ZW0gQzovbXN5 czY0L21pbmd3NjQvbGliL2dsaWItMi4wL2luY2x1ZGUgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3 NjQvaW5jbHVkZSAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNs dWRlL2dkay1waXhidWYtMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGli cG5nMTYgLW1tcy1iaXRmaWVsZHMgLXB0aHJlYWQgLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzov bXN5czY0L21pbmd3NjQvaW5jbHVkZS9jYWlybyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9p bmNsdWRlL2x6byAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2ZyZWV0eXBlMiAt aXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2hhcmZidXp6IC1tbXMtYml0ZmllbGRz IC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvcGl4bWFuLTEgIC1tdHVuZT1nZW5l cmljICAgIGNvbmZ0ZXN0LmMgLWxnY2NqaXQgICA+JjUgCkM6L21zeXM2NC9taW5ndzY0L2Jpbi8u Li9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi8xMC4yLjAvLi4vLi4vLi4vLi4veDg2XzY0LXc2 NC1taW5ndzMyL2Jpbi9sZC5leGU6IEM6XG1zeXM2NFx0bXBcY2NrSlhtNHQubzogaW4gZnVuY3Rp b24gYG1haW4nOgpDOlxtc3lzNjRcaG9tZVxWV2luVXNlcjBcRG93bmxvYWRzXGVtYWNzXG5hdGl2 ZS1jb21wXGJ1aWxkL2NvbmZ0ZXN0LmM6MTY0OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBmdXRp bWVzJwpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZp Z3VyZToxOTA5OTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNv bmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUg UEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41 MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5l IFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNL QUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBN QUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVB REVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU QVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg MQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwg I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5l IF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dO VV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0Rf U09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBf X1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FO VF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9E RlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEK fCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBf X1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19G VU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9Y T1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmlu ZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5l IEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVf TUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZF X1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJB TV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAx CnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNk ZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNk ZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVm aW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwg I2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFW RV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05P VElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0Vf WElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNk ZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENNUzIgMQp8ICNkZWZpbmUgSEFWRV9a TElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJWCAi LmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklU X0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJU1Bf U1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEK fCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBI QVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVf UklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNk ZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZp bmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2Rl ZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmlu ZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVf R0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFW RV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1FX05QIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9BTElHTkVEX0FMTE9DIDAKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX0ZSQU1FX0FE RFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUg SEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9TQlJLIDEKfCAjZGVmaW5lIEhBVkVfQ0FOT05J Q0FMSVpFX0ZJTEVfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhB VkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0VYUExJQ0lUX0JaRVJPIDEKfCAjZGVmaW5l IEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EQVQgMQp8ICNkZWZpbmUgSEFW RV9MQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQg MQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwg I2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFW RV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2RlZmluZSBIQVZFX0lTV0NU WVBFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAx CnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8q IERlZmluZSBmdXRpbWVzIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMu aD4gZGVjbGFyZXMgZnV0aW1lcy4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMu aD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGZ1dGltZXMgaW5ub2N1b3Vz X2Z1dGltZXMKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFu ZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRo IGNoYXIgZnV0aW1lcyAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3Nl cnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlz dHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERD X18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4K fCAjZW5kaWYKfCAKfCAjdW5kZWYgZnV0aW1lcwp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50 ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2Ug aW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5k IHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lm ZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgZnV0aW1lcyAoKTsK fCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBp dCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5j dGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9f IGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1 Yl9mdXRpbWVzIHx8IGRlZmluZWQgX19zdHViX19fZnV0aW1lcwp8IGNob2tlIG1lCnwgI2VuZGlm CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZnV0aW1lcyAoKTsKfCAgIDsKfCAgIHJl dHVybiAwOwp8IH0KY29uZmlndXJlOjE5MDk5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxOTA5OTog Y2hlY2tpbmcgZm9yIGZ1dGltZXNhdApjb25maWd1cmU6MTkwOTk6IGdjYyAtSSAuLi9zcmMvbnQv aW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAtaXN5c3RlbSBDOi9tc3lzNjQv bWluZ3c2NC9pbmNsdWRlL2xpYnJzdmctMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2lu Y2x1ZGUvZ2xpYi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvbGliL2dsaWItMi4wL2lu Y2x1ZGUgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZSAtbW1zLWJpdGZpZWxkcyAt aXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1pc3lzdGVt IEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicG5nMTYgLW1tcy1iaXRmaWVsZHMgLXB0aHJl YWQgLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9jYWly byAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2x6byAtaXN5c3RlbSBDOi9tc3lz NjQvbWluZ3c2NC9pbmNsdWRlL2ZyZWV0eXBlMiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9p bmNsdWRlL2hhcmZidXp6IC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0 L2luY2x1ZGUvcGl4bWFuLTEgIC1tdHVuZT1nZW5lcmljICAgIGNvbmZ0ZXN0LmMgLWxnY2NqaXQg ICA+JjUgCkM6L21zeXM2NC9taW5ndzY0L2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3cz Mi8xMC4yLjAvLi4vLi4vLi4vLi4veDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IEM6XG1z eXM2NFx0bXBcY2NFcDA4N1UubzogaW4gZnVuY3Rpb24gYG1haW4nOgpDOlxtc3lzNjRcaG9tZVxW V2luVXNlcjBcRG93bmxvYWRzXGVtYWNzXG5hdGl2ZS1jb21wXGJ1aWxkL2NvbmZ0ZXN0LmM6MTY0 OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBmdXRpbWVzYXQnCmNvbGxlY3QyLmV4ZTogZXJyb3I6 IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjE5MDk5OiAkPyA9IDEKY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFD S0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1n bnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUu b3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBI QVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUg X0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVU QlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lY X1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRS SUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8 ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NU RENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVD XzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8 ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRF TV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZp bmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZ U1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVm aW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJF TlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVm aW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMg MQp8ICNkZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2Rl ZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9X MzJOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09M S0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJG QlVaWiAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZp bmUgSEFWRV9MQ01TMiAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RV TEVTIDEKfCAjZGVmaW5lIE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJH Q0NKSVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElW RV9DT01QIDEKfCAjZGVmaW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBI QVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNk ZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZp bmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJV TkMgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAx CnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwg I2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVm aW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAj ZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5l IEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBI QVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9Q VEhSRUFEX1NFVE5BTUVfTlAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURfQUxMT0MgMAp8 ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2RlZmluZSBIQVZFX19f QlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBI QVZFX1NCUksgMQp8ICNkZWZpbmUgSEFWRV9DQU5PTklDQUxJWkVfRklMRV9OQU1FIDEKfCAjZGVm aW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5l IEhBVkVfRVhQTElDSVRfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZp bmUgSEFWRV9GQ0hNT0RBVCAxCnwgI2RlZmluZSBIQVZFX0xDSE1PRCAxCnwgI2RlZmluZSBIQVZF X0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEK fCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNk ZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFW RV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfSVNXQ1RZUEUgMQp8ICNkZWZpbmUgSEFWRV9TVFJU T0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FU IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGZ1dGltZXNhdCB0byBhbiBp bm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIGZ1dGltZXNhdC4K fCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9m ZGF5LiAgKi8KfCAjZGVmaW5lIGZ1dGltZXNhdCBpbm5vY3VvdXNfZnV0aW1lc2F0CnwgCnwgLyog U3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBw cm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGZ1dGltZXNhdCAo KTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERD X18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVl c3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUg PGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAj dW5kZWYgZnV0aW1lc2F0CnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5 cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0 Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJn dW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3Bs dXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBmdXRpbWVzYXQgKCk7CnwgLyogVGhlIEdO VSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50 cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBh Y3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5v cm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfZnV0aW1lc2F0 IHx8IGRlZmluZWQgX19zdHViX19fZnV0aW1lc2F0CnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBp bnQKfCBtYWluICgpCnwgewp8IHJldHVybiBmdXRpbWVzYXQgKCk7CnwgICA7CnwgICByZXR1cm4g MDsKfCB9CmNvbmZpZ3VyZToxOTA5OTogcmVzdWx0OiBubwpjb25maWd1cmU6MTkwOTk6IGNoZWNr aW5nIGZvciBsdXRpbWVzCmNvbmZpZ3VyZToxOTA5OTogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLW8g Y29uZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0yIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0 L2luY2x1ZGUvbGlicnN2Zy0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9n bGliLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9saWIvZ2xpYi0yLjAvaW5jbHVkZSAt aXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVt IEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2RrLXBpeGJ1Zi0yLjAgLWlzeXN0ZW0gQzovbXN5 czY0L21pbmd3NjQvaW5jbHVkZS9saWJwbmcxNiAtbW1zLWJpdGZpZWxkcyAtcHRocmVhZCAtbW1z LWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2NhaXJvIC1pc3lz dGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbHpvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5n dzY0L2luY2x1ZGUvZnJlZXR5cGUyIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUv aGFyZmJ1enogLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVk ZS9waXhtYW4tMSAgLW10dW5lPWdlbmVyaWMgICAgY29uZnRlc3QuYyAtbGdjY2ppdCAgID4mNSAK QzovbXN5czY0L21pbmd3NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5ndzMyLzEwLjIu MC8uLi8uLi8uLi8uLi94ODZfNjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogQzpcbXN5czY0XHRt cFxjY29pZGx5OC5vOiBpbiBmdW5jdGlvbiBgbWFpbic6CkM6XG1zeXM2NFxob21lXFZXaW5Vc2Vy MFxEb3dubG9hZHNcZW1hY3NcbmF0aXZlLWNvbXBcYnVpbGQvY29uZnRlc3QuYzoxNjQ6IHVuZGVm aW5lZCByZWZlcmVuY2UgdG8gYGx1dGltZXMnCmNvbGxlY3QyLmV4ZTogZXJyb3I6IGxkIHJldHVy bmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjE5MDk5OiAkPyA9IDEKY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1F ICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUg UEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBF bWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NA Z251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3 YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1Q RVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19F WFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9D X1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJD RSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURf U0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9f IDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUg X19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9J RUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZ UEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUg X19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0Ug MQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVf T0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBF ICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVf U09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNP VVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwg I2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhBVkVf TkFUSVZFX0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhB VkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZp bmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZF X0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkg MQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9M TF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwg I2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9M Q01TMiAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAj ZGVmaW5lIE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8 ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEK fCAjZGVmaW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BORyAx CnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFW RV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9S QU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNk ZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmlu ZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBI QVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVf UFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhB VkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVD VkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9T VFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NF VE5BTUVfTlAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURfQUxMT0MgMAp8ICNkZWZpbmUg SEFWRV9fX0JVSUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9V TldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX1NCUksg MQp8ICNkZWZpbmUgSEFWRV9DQU5PTklDQUxJWkVfRklMRV9OQU1FIDEKfCAjZGVmaW5lIEhBVkVf UkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRVhQ TElDSVRfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9G Q0hNT0RBVCAxCnwgI2RlZmluZSBIQVZFX0xDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEK fCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5l IEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFW RV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5L IDEKfCAjZGVmaW5lIEhBVkVfSVNXQ1RZUEUgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8 ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAvKiBl bmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGx1dGltZXMgdG8gYW4gaW5ub2N1b3VzIHZh cmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBsdXRpbWVzLgp8ICAgIEZvciBleGFt cGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNk ZWZpbmUgbHV0aW1lcyBpbm5vY3VvdXNfbHV0aW1lcwp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8g ZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAg d2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBsdXRpbWVzICgpOyBiZWxvdy4KfCAgICAgUHJl ZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5j ZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMu ICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UK fCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBsdXRpbWVzCnwgCnwg LyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3Iu CnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9m IGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxk IHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2Vu ZGlmCnwgY2hhciBsdXRpbWVzICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhp cyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwg d2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29t ZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4g ICovCnwgI2lmIGRlZmluZWQgX19zdHViX2x1dGltZXMgfHwgZGVmaW5lZCBfX3N0dWJfX19sdXRp bWVzCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBs dXRpbWVzICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTkwOTk6IHJlc3Vs dDogbm8KY29uZmlndXJlOjE5MTE0OiBjaGVja2luZyBmb3IgcGlkX3QKY29uZmlndXJlOjE5MTE0 OiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtaXN5c3RlbSBDOi9t c3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xpYnJzdmctMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5n dzY0L2luY2x1ZGUvZ2xpYi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvbGliL2dsaWIt Mi4wL2luY2x1ZGUgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZSAtbW1zLWJpdGZp ZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1p c3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicG5nMTYgLW1tcy1iaXRmaWVsZHMg LXB0aHJlYWQgLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVk ZS9jYWlybyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2x6byAtaXN5c3RlbSBD Oi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2ZyZWV0eXBlMiAtaXN5c3RlbSBDOi9tc3lzNjQvbWlu Z3c2NC9pbmNsdWRlL2hhcmZidXp6IC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9t aW5ndzY0L2luY2x1ZGUvcGl4bWFuLTEgIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUK Y29uZmlndXJlOjE5MTE0OiAkPyA9IDAKY29uZmlndXJlOjE5MTE0OiBnY2MgLUkgLi4vc3JjL250 L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNs dWRlL2xpYnJzdmctMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2xpYi0y LjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvbGliL2dsaWItMi4wL2luY2x1ZGUgLWlzeXN0 ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZSAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9t c3lzNjQvbWluZ3c2NC9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9t aW5ndzY0L2luY2x1ZGUvbGlicG5nMTYgLW1tcy1iaXRmaWVsZHMgLXB0aHJlYWQgLW1tcy1iaXRm aWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9jYWlybyAtaXN5c3RlbSBD Oi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2x6byAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9p bmNsdWRlL2ZyZWV0eXBlMiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2hhcmZi dXp6IC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvcGl4 bWFuLTEgIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVu Y3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjE2NjoyMDogZXJyb3I6IGV4cGVjdGVkIGV4cHJlc3Np b24gYmVmb3JlICcpJyB0b2tlbgogIDE2NiB8IGlmIChzaXplb2YgKChwaWRfdCkpKQogICAgICB8 ICAgICAgICAgICAgICAgICAgICBeCmNvbmZpZ3VyZToxOTExNDogJD8gPSAxCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf TkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJH TlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVt YWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9z b2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9Q RFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJX SU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9T T1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhS RUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19F WFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVm aW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dB TlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1 OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVm aW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09V UkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9G SUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1f VFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBI QVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NP Q0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2Rl ZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBI QVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAj ZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUg SEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9U SUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9T Q1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlog MQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhB VkVfTENNUzIgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAx CnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklU IDEKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09N UCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9Q TkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5l IEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhB VkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEK fCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNk ZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZp bmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmlu ZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZF X1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9H QUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9TRVROQU1FX05QIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDAKfCAjZGVm aW5lIEhBVkVfX19CVUlMVElOX0ZSQU1FX0FERFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxU SU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9T QlJLIDEKfCAjZGVmaW5lIEhBVkVfQ0FOT05JQ0FMSVpFX0ZJTEVfTkFNRSAxCnwgI2RlZmluZSBI QVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZF X0VYUExJQ0lUX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhB VkVfRkNITU9EQVQgMQp8ICNkZWZpbmUgSEFWRV9MQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ05U TCAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2Rl ZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5l IEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfSVNC TEFOSyAxCnwgI2RlZmluZSBIQVZFX0lTV0NUWVBFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFY IDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZF X1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVm Lmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIu aD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZp bmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxt ZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgaW50Cnwg bWFpbiAoKQp8IHsKfCBpZiAoc2l6ZW9mICgocGlkX3QpKSkKfCAJICAgIHJldHVybiAwOwp8ICAg Owp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTkxMTQ6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToxOTEyNzogY2hlY2tpbmcgdmZvcmsuaCB1c2FiaWxpdHkKY29uZmlndXJlOjE5MTI3OiBnY2Mg LUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtaXN5c3RlbSBDOi9tc3lzNjQv bWluZ3c2NC9pbmNsdWRlL2xpYnJzdmctMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2lu Y2x1ZGUvZ2xpYi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvbGliL2dsaWItMi4wL2lu Y2x1ZGUgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZSAtbW1zLWJpdGZpZWxkcyAt aXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1pc3lzdGVt IEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicG5nMTYgLW1tcy1iaXRmaWVsZHMgLXB0aHJl YWQgLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9jYWly byAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2x6byAtaXN5c3RlbSBDOi9tc3lz NjQvbWluZ3c2NC9pbmNsdWRlL2ZyZWV0eXBlMiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9p bmNsdWRlL2hhcmZidXp6IC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0 L2luY2x1ZGUvcGl4bWFuLTEgIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29uZnRl c3QuYzoxNjM6MTA6IGZhdGFsIGVycm9yOiB2Zm9yay5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0 b3J5CiAgMTYzIHwgI2luY2x1ZGUgPHZmb3JrLmg+CiAgICAgIHwgICAgICAgICAgXn5+fn5+fn5+ CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToxOTEyNzogJD8gPSAxCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tB R0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251 LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9y Zy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFW RV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9E QVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJT RF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9Q VEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklC U19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAj ZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182 MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAj ZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1f U09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5l IF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNU RU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmlu ZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwg I2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmlu ZSBIQVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEK fCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZp bmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMy Tk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJ VF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJV WlogMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5l IEhBVkVfTENNUzIgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxF UyAxCnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0ND SklUIDEKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVf Q09NUCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFW RV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVm aW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5l IEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5D IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8 ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNk ZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmlu ZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2Rl ZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBI QVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFW RV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRI UkVBRF9TRVROQU1FX05QIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDAKfCAj ZGVmaW5lIEhBVkVfX19CVUlMVElOX0ZSQU1FX0FERFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JV SUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFW RV9TQlJLIDEKfCAjZGVmaW5lIEhBVkVfQ0FOT05JQ0FMSVpFX0ZJTEVfTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBI QVZFX0VYUExJQ0lUX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5l IEhBVkVfRkNITU9EQVQgMQp8ICNkZWZpbmUgSEFWRV9MQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9G Q05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwg I2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVm aW5lIEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVf SVNCTEFOSyAxCnwgI2RlZmluZSBIQVZFX0lTV0NUWVBFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9J TUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAx CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBI QVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3Rk ZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRs aWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFk ZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRl IDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2lu Y2x1ZGUgPHZmb3JrLmg+CmNvbmZpZ3VyZToxOTEyNzogcmVzdWx0OiBubwpjb25maWd1cmU6MTkx Mjc6IGNoZWNraW5nIHZmb3JrLmggcHJlc2VuY2UKY29uZmlndXJlOjE5MTI3OiBnY2MgLUkgLi4v c3JjL250L2luYyAtRSAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzoxMzA6 MTA6IGZhdGFsIGVycm9yOiB2Zm9yay5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAgMTMw IHwgI2luY2x1ZGUgPHZmb3JrLmg+CiAgICAgIHwgICAgICAgICAgXn5+fn5+fn5+CmNvbXBpbGF0 aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToxOTEyNzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVk IHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAi R05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBB Q0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1h Y3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdu dS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2Fy ZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVS IDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhU RU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19T T1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0Ug MQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NF TUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAx CnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9f U1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVD XzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBF U19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9f U1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEK fCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09G RlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAi d2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NP VU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VS Q0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBI QVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05B VElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZF X0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5l IFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9H TlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEK fCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExf QkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNk ZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENN UzIgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2Rl ZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAj ZGVmaW5lIEhBVkVfTElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwg I2RlZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8 ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVf TElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkFO RE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEKfCAjZGVm aW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUg SEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFW RV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZF X1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZG Uk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RS RVJST1IgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVRO QU1FX05QIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDAKfCAjZGVmaW5lIEhB VkVfX19CVUlMVElOX0ZSQU1FX0FERFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5X SU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9TQlJLIDEK fCAjZGVmaW5lIEhBVkVfQ0FOT05JQ0FMSVpFX0ZJTEVfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JF QURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0VYUExJ Q0lUX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNI TU9EQVQgMQp8ICNkZWZpbmUgSEFWRV9MQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwg I2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBI QVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVf UElQRTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAx CnwgI2RlZmluZSBIQVZFX0lTV0NUWVBFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAj ZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDx2Zm9yay5oPgpjb25maWd1cmU6MTkxMjc6IHJl c3VsdDogbm8KY29uZmlndXJlOjE5MTI3OiBjaGVja2luZyBmb3IgdmZvcmsuaApjb25maWd1cmU6 MTkxMjc6IHJlc3VsdDogbm8KY29uZmlndXJlOjE5MTQwOiBjaGVja2luZyBmb3IgZm9yawpjb25m aWd1cmU6MTkxNDA6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8y IC1nZHdhcmYtMiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xpYnJzdmctMi4w IC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2xpYi0yLjAgLWlzeXN0ZW0gQzov bXN5czY0L21pbmd3NjQvbGliL2dsaWItMi4wL2luY2x1ZGUgLWlzeXN0ZW0gQzovbXN5czY0L21p bmd3NjQvaW5jbHVkZSAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9p bmNsdWRlL2dkay1waXhidWYtMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUv bGlicG5nMTYgLW1tcy1iaXRmaWVsZHMgLXB0aHJlYWQgLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0g QzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9jYWlybyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2 NC9pbmNsdWRlL2x6byAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2ZyZWV0eXBl MiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2hhcmZidXp6IC1tbXMtYml0Zmll bGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvcGl4bWFuLTEgIC1tdHVuZT1n ZW5lcmljICAgIGNvbmZ0ZXN0LmMgLWxnY2NqaXQgICA+JjUgCmNvbmZ0ZXN0LmM6MTUzOjY6IHdh cm5pbmc6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciBidWlsdC1pbiBmdW5jdGlvbiAnZm9yayc7IGV4 cGVjdGVkICdpbnQodm9pZCknIFstV2J1aWx0aW4tZGVjbGFyYXRpb24tbWlzbWF0Y2hdCiAgMTUz IHwgY2hhciBmb3JrICgpOwogICAgICB8ICAgICAgXn5+fgpDOi9tc3lzNjQvbWluZ3c2NC9iaW4v Li4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvMTAuMi4wLy4uLy4uLy4uLy4uL3g4Nl82NC13 NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBDOlxtc3lzNjRcdG1wXGNjbVJBZHl1Lm86IGluIGZ1bmN0 aW9uIGBtYWluJzoKQzpcbXN5czY0XGhvbWVcVldpblVzZXIwXERvd25sb2Fkc1xlbWFjc1xuYXRp dmUtY29tcFxidWlsZC9jb25mdGVzdC5jOjE2NDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgZm9y aycKY29sbGVjdDIuZXhlOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1 cmU6MTkxNDA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25m ZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBB Q0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAi CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQ QUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FH RV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJ TF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBf QUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVf U09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NP VVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19T VERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRf SUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQ X0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwg I2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19T VERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVO Q1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9Q RU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUg R0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBI QVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX01B TExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9Q V0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1f SCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8 ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu ZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVm aW5lIEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVm aW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmlu ZSBVU0VfTU1BUF9GT1JfQlVGRkVSUyAxCnwgI2RlZmluZSBUSFJFQURTX0VOQUJMRUQgMQp8ICNk ZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVf SlNPTiAxCnwgI2RlZmluZSBIQVZFX1czMk5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJ RlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJ TSAxCnwgI2RlZmluZSBIQVZFX0hBUkZCVVpaIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVm aW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0xDTVMyIDEKfCAjZGVmaW5lIEhBVkVfWkxJ QiAxCnwgI2RlZmluZSBIQVZFX01PRFVMRVMgMQp8ICNkZWZpbmUgTU9EVUxFU19TVUZGSVggIi5k bGwiCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVCAxCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVF9I IDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0NPTVAgMQp8ICNkZWZpbmUgTkFUSVZFX0VMSVNQX1NV RkZJWCAiLmVsbiIKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwg I2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFW RV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJ TlQgMQp8ICNkZWZpbmUgSEFWRV9UUlVOQyAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVm aW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5l IEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZp bmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUg SEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dF VFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVf TE9HMiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfQUxJR05FRF9BTExPQyAwCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9GUkFNRV9BRERS RVNTIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhB VkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfU0JSSyAxCnwgI2RlZmluZSBIQVZFX0NBTk9OSUNB TElaRV9GSUxFX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZF X1JFQURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9FWFBMSUNJVF9CWkVSTyAxCnwgI2RlZmluZSBI QVZFX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PREFUIDEKfCAjZGVmaW5lIEhBVkVf TENITU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEK fCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNk ZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVf UFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9JU1dDVFlQ RSAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8 ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBE ZWZpbmUgZm9yayB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRl Y2xhcmVzIGZvcmsuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xh cmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBmb3JrIGlubm9jdW91c19mb3JrCnwgCnwg LyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZl dyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGZvcmsgKCk7 IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19f IGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0 YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxs aW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3Vu ZGVmIGZvcmsKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBh dm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUg cmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBw cm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4 dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGZvcmsgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkg ZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBh bHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1l ZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlz IGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfZm9yayB8fCBkZWZpbmVkIF9fc3R1 Yl9fX2ZvcmsKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0 dXJuIGZvcmsgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxOTE0MDogcmVz dWx0OiBubwpjb25maWd1cmU6MTkxNDA6IGNoZWNraW5nIGZvciB2Zm9yawpjb25maWd1cmU6MTkx NDA6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYt MiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xpYnJzdmctMi4wIC1pc3lzdGVt IEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2xpYi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21p bmd3NjQvbGliL2dsaWItMi4wL2luY2x1ZGUgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5j bHVkZSAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2dk ay1waXhidWYtMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicG5nMTYg LW1tcy1iaXRmaWVsZHMgLXB0aHJlYWQgLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0 L21pbmd3NjQvaW5jbHVkZS9jYWlybyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRl L2x6byAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2ZyZWV0eXBlMiAtaXN5c3Rl bSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2hhcmZidXp6IC1tbXMtYml0ZmllbGRzIC1pc3lz dGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvcGl4bWFuLTEgIC1tdHVuZT1nZW5lcmljICAg IGNvbmZ0ZXN0LmMgLWxnY2NqaXQgICA+JjUgCkM6L21zeXM2NC9taW5ndzY0L2Jpbi8uLi9saWIv Z2NjL3g4Nl82NC13NjQtbWluZ3czMi8xMC4yLjAvLi4vLi4vLi4vLi4veDg2XzY0LXc2NC1taW5n dzMyL2Jpbi9sZC5leGU6IEM6XG1zeXM2NFx0bXBcY2NzaG51SlAubzogaW4gZnVuY3Rpb24gYG1h aW4nOgpDOlxtc3lzNjRcaG9tZVxWV2luVXNlcjBcRG93bmxvYWRzXGVtYWNzXG5hdGl2ZS1jb21w XGJ1aWxkL2NvbmZ0ZXN0LmM6MTY0OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGB2Zm9yaycKY29s bGVjdDIuZXhlOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTkx NDA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5o ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2Rl ZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdF X0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwg Imh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0Vf UE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVm aW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NP VVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNF IDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAx CnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dB TlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYw NTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9f IDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dB TlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAx CnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09D S0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJ TlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBIQVZFX01N U1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwg I2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZp bmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBUSU1F X1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhB VkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVmaW5lIFNZ U1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBVU0Vf TU1BUF9GT1JfQlVGRkVSUyAxCnwgI2RlZmluZSBUSFJFQURTX0VOQUJMRUQgMQp8ICNkZWZpbmUg SEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfSlNPTiAx CnwgI2RlZmluZSBIQVZFX1czMk5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8 ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwg I2RlZmluZSBIQVZFX0hBUkZCVVpaIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhB VkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0xDTVMyIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwg I2RlZmluZSBIQVZFX01PRFVMRVMgMQp8ICNkZWZpbmUgTU9EVUxFU19TVUZGSVggIi5kbGwiCnwg I2RlZmluZSBIQVZFX0xJQkdDQ0pJVCAxCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVF9IIDEKfCAj ZGVmaW5lIEhBVkVfTkFUSVZFX0NPTVAgMQp8ICNkZWZpbmUgTkFUSVZFX0VMSVNQX1NVRkZJWCAi LmVsbiIKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmlu ZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9HRVRI T1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8 ICNkZWZpbmUgSEFWRV9UUlVOQyAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBI QVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhB VkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVf U0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFW RV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9T RU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tO QU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAx CnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf QUxJR05FRF9BTExPQyAwCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9GUkFNRV9BRERSRVNTIDEK fCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNF RUtPIDEKfCAjZGVmaW5lIEhBVkVfU0JSSyAxCnwgI2RlZmluZSBIQVZFX0NBTk9OSUNBTElaRV9G SUxFX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1JFQURM SU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9FWFBMSUNJVF9CWkVSTyAxCnwgI2RlZmluZSBIQVZFX0ZB Q0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PREFUIDEKfCAjZGVmaW5lIEhBVkVfTENITU9E IDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVm aW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUg SEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVD VCAxCnwgI2RlZmluZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9JU1dDVFlQRSAxCnwg I2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZp bmUgSEFWRV9VVElNRU5TQVQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUg dmZvcmsgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJl cyB2Zm9yay4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMg Z2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIHZmb3JrIGlubm9jdW91c192Zm9yawp8IAp8IC8q IFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcg cHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciB2Zm9yayAoKTsg YmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18g aXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3Rh bmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxp bWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5k ZWYgdmZvcmsKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBh dm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUg cmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBw cm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4 dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIHZmb3JrICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5 IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8g YWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFt ZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBp cyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX3Zmb3JrIHx8IGRlZmluZWQgX19z dHViX19fdmZvcmsKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwg cmV0dXJuIHZmb3JrICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTkxNDA6 IHJlc3VsdDogbm8KY29uZmlndXJlOjE5MzQxOiBjaGVja2luZyBmb3Igc25wcmludGYKY29uZmln dXJlOjE5MzQxOiBnY2MgLUkgLi4vc3JjL250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAt Z2R3YXJmLTIgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9saWJyc3ZnLTIuMCAt aXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2dsaWItMi4wIC1pc3lzdGVtIEM6L21z eXM2NC9taW5ndzY0L2xpYi9nbGliLTIuMC9pbmNsdWRlIC1pc3lzdGVtIEM6L21zeXM2NC9taW5n dzY0L2luY2x1ZGUgLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5j bHVkZS9nZGstcGl4YnVmLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xp YnBuZzE2IC1tbXMtYml0ZmllbGRzIC1wdGhyZWFkIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6 L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvY2Fpcm8gLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQv aW5jbHVkZS9sem8gLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9mcmVldHlwZTIg LWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9oYXJmYnV6eiAtbW1zLWJpdGZpZWxk cyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL3BpeG1hbi0xICAtbXR1bmU9Z2Vu ZXJpYyAgICBjb25mdGVzdC5jIC1sZ2Njaml0ICAgPiY1IApjb25mdGVzdC5jOjE1NDo2OiB3YXJu aW5nOiBjb25mbGljdGluZyB0eXBlcyBmb3IgYnVpbHQtaW4gZnVuY3Rpb24gJ3NucHJpbnRmJzsg ZXhwZWN0ZWQgJ2ludChjaGFyICosIGxvbmcgbG9uZyB1bnNpZ25lZCBpbnQsICBjb25zdCBjaGFy ICosIC4uLiknIFstV2J1aWx0aW4tZGVjbGFyYXRpb24tbWlzbWF0Y2hdCiAgMTU0IHwgY2hhciBz bnByaW50ZiAoKTsKICAgICAgfCAgICAgIF5+fn5+fn5+CmNvbmZ0ZXN0LmM6MTQyOjE6IG5vdGU6 ICdzbnByaW50ZicgaXMgZGVjbGFyZWQgaW4gaGVhZGVyICc8c3RkaW8uaD4nCiAgMTQxIHwgIyBp bmNsdWRlIDxsaW1pdHMuaD4KICAxNDIgfCAjZWxzZQpjb25maWd1cmU6MTkzNDE6ICQ/ID0gMApj b25maWd1cmU6MTkzNDE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxOTM1MjogY2hlY2tpbmcgd2hl dGhlciBHTGliIGlzIGxpbmtlZCBpbgpjb25maWd1cmU6MTkzNzU6IGdjYyAtSSAuLi9zcmMvbnQv aW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAtaXN5c3RlbSBDOi9tc3lzNjQv bWluZ3c2NC9pbmNsdWRlL2xpYnJzdmctMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2lu Y2x1ZGUvZ2xpYi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvbGliL2dsaWItMi4wL2lu Y2x1ZGUgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZSAtbW1zLWJpdGZpZWxkcyAt aXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1pc3lzdGVt IEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicG5nMTYgLW1tcy1iaXRmaWVsZHMgLXB0aHJl YWQgLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9jYWly byAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2x6byAtaXN5c3RlbSBDOi9tc3lz NjQvbWluZ3c2NC9pbmNsdWRlL2ZyZWV0eXBlMiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9p bmNsdWRlL2hhcmZidXp6IC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0 L2luY2x1ZGUvcGl4bWFuLTEgICAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xp YnJzdmctMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2xpYi0yLjAgLWlz eXN0ZW0gQzovbXN5czY0L21pbmd3NjQvbGliL2dsaWItMi4wL2luY2x1ZGUgLWlzeXN0ZW0gQzov bXN5czY0L21pbmd3NjQvaW5jbHVkZSAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQv bWluZ3c2NC9pbmNsdWRlL2dkay1waXhidWYtMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0 L2luY2x1ZGUvbGlicG5nMTYgLW1tcy1iaXRmaWVsZHMgLXB0aHJlYWQgLW1tcy1iaXRmaWVsZHMg LWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9jYWlybyAtaXN5c3RlbSBDOi9tc3lz NjQvbWluZ3c2NC9pbmNsdWRlL2x6byAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRl L2ZyZWV0eXBlMiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2hhcmZidXp6IC1t bXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvcGl4bWFuLTEg ICAgICAtbXR1bmU9Z2VuZXJpYyAgICBjb25mdGVzdC5jIC1sZ2Njaml0ICAgICAgICAgPiY1IApD Oi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvMTAuMi4w Ly4uLy4uLy4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBDOlxtc3lzNjRcdG1w XGNjamx5SUJWLm86IGluIGZ1bmN0aW9uIGBtYWluJzoKQzpcbXN5czY0XGhvbWVcVldpblVzZXIw XERvd25sb2Fkc1xlbWFjc1xuYXRpdmUtY29tcFxidWlsZC9jb25mdGVzdC5jOjEzNzogdW5kZWZp bmVkIHJlZmVyZW5jZSB0byBgZ19wcmludCcKY29sbGVjdDIuZXhlOiBlcnJvcjogbGQgcmV0dXJu ZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTkzNzU6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxl ZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUg IkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVt YWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0Bn bnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdh cmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBF UiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VY VEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0Nf U09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNF IDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9T RU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18g MQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBf X1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lF Q182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQ RVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBf X1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAx CnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9P RkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUg IndpbmRvd3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9T T1VORCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09V UkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAj ZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUg SEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9O QVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFW RV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBVU0VfTU1BUF9GT1JfQlVGRkVSUyAxCnwgI2RlZmlu ZSBUSFJFQURTX0VOQUJMRUQgMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVf R05VVExTIDEKfCAjZGVmaW5lIEhBVkVfSlNPTiAxCnwgI2RlZmluZSBIQVZFX1czMk5PVElGWSAx CnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xM X0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0hBUkZCVVpaIDEKfCAj ZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0xD TVMyIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX01PRFVMRVMgMQp8ICNk ZWZpbmUgTU9EVUxFU19TVUZGSVggIi5kbGwiCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVCAxCnwg I2RlZmluZSBIQVZFX0xJQkdDQ0pJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0NPTVAgMQp8 ICNkZWZpbmUgTkFUSVZFX0VMSVNQX1NVRkZJWCAiLmVsbiIKfCAjZGVmaW5lIEhBVkVfUE5HIDEK fCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZF X0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JB TkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9UUlVOQyAxCnwgI2Rl ZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5l IEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhB VkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9Q VEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFW RV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNW RlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NU UkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0VU TkFNRV9OUCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxJR05FRF9BTExPQyAwCnwgI2RlZmluZSBI QVZFX19fQlVJTFRJTl9GUkFNRV9BRERSRVNTIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VO V0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfU0JSSyAx CnwgI2RlZmluZSBIQVZFX0NBTk9OSUNBTElaRV9GSUxFX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9S RUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9FWFBM SUNJVF9CWkVSTyAxCnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZD SE1PREFUIDEKfCAjZGVmaW5lIEhBVkVfTENITU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8 ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUg SEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZF X1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0lTQkxBTksg MQp8ICNkZWZpbmUgSEFWRV9JU1dDVFlQRSAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwg I2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZp bmUgdmZvcmsgZm9yawp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLwp8ICNpbmNsdWRlIDxnbGliLmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBnX3By aW50ICgiSGVsbG8gd29ybGQiKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjE5 Mzg1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxOTM5NzogY2hlY2tpbmcgZm9yIG5sX2xhbmdpbmZv IGFuZCBDT0RFU0VUCmNvbmZpZ3VyZToxOTQyMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE5NDI5 OiBjaGVja2luZyBmb3IgbmxfbGFuZ2luZm8gYW5kIF9OTF9QQVBFUl9XSURUSApjb25maWd1cmU6 MTk0NTQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxOTQ2NTogY2hlY2tpbmcgZm9yIG1ic3RhdGVf dApjb25maWd1cmU6MTk0ODk6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2Fy Zi0yIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicnN2Zy0yLjAgLWlzeXN0 ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nbGliLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQv bWluZ3c2NC9saWIvZ2xpYi0yLjAvaW5jbHVkZSAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9p bmNsdWRlIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUv Z2RrLXBpeGJ1Zi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9saWJwbmcx NiAtbW1zLWJpdGZpZWxkcyAtcHRocmVhZCAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lz NjQvbWluZ3c2NC9pbmNsdWRlL2NhaXJvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1 ZGUvbHpvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZnJlZXR5cGUyIC1pc3lz dGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvaGFyZmJ1enogLW1tcy1iaXRmaWVsZHMgLWlz eXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9waXhtYW4tMSAgLW10dW5lPWdlbmVyaWMg ICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTk0ODk6ICQ/ID0gMApjb25maWd1cmU6MTk0OTY6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxOTkzNzogY2hlY2tpbmcgZm9yIF9zZXRqbXAKY29uZmln dXJlOjE5OTU5OiBnY2MgLUkgLi4vc3JjL250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAt Z2R3YXJmLTIgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9saWJyc3ZnLTIuMCAt aXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2dsaWItMi4wIC1pc3lzdGVtIEM6L21z eXM2NC9taW5ndzY0L2xpYi9nbGliLTIuMC9pbmNsdWRlIC1pc3lzdGVtIEM6L21zeXM2NC9taW5n dzY0L2luY2x1ZGUgLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5j bHVkZS9nZGstcGl4YnVmLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xp YnBuZzE2IC1tbXMtYml0ZmllbGRzIC1wdGhyZWFkIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6 L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvY2Fpcm8gLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQv aW5jbHVkZS9sem8gLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9mcmVldHlwZTIg LWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9oYXJmYnV6eiAtbW1zLWJpdGZpZWxk cyAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL3BpeG1hbi0xICAtbXR1bmU9Z2Vu ZXJpYyAgICBjb25mdGVzdC5jIC1sZ2Njaml0ICAgPiY1IApjb25mdGVzdC5jOiBJbiBmdW5jdGlv biAnbWFpbic6CmNvbmZ0ZXN0LmM6MTU1Ojk6IGVycm9yOiB0b28gZmV3IGFyZ3VtZW50cyB0byBm dW5jdGlvbiAnX3NldGptcCcKICAxNTUgfCAgIGlmICghIF9zZXRqbXAgKGopKQogICAgICB8ICAg ICAgICAgXn5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gY29uZnRlc3QuYzoxNDY6CkM6L21z eXM2NC9taW5ndzY0L3g4Nl82NC13NjQtbWluZ3czMi9pbmNsdWRlL3NldGptcC5oOjI0Mjo2Mzog bm90ZTogZGVjbGFyZWQgaGVyZQogIDI0MiB8ICAgaW50IF9fY2RlY2wgX19hdHRyaWJ1dGVfXyAo KF9fbm90aHJvd19fLF9fcmV0dXJuc190d2ljZV9fKSkgX3NldGptcChqbXBfYnVmIF9CdWYsIHZv aWQgKl9DdHgpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgpjb25maWd1cmU6MTk5NTk6ICQ/ID0gMQpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmlu ZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi YnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3 LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVm aW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFW RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVN T1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2Rl ZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5l IF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBf UE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5 X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRf XyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5l IF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FO VF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJf XyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBf VEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwg I2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZp bmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8 ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZF X0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hB Ul9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJ TUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTlRHVUkgMQp8 ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0Mg MQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBVU0VfTU1BUF9GT1JfQlVG RkVSUyAxCnwgI2RlZmluZSBUSFJFQURTX0VOQUJMRUQgMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEK fCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfSlNPTiAxCnwgI2RlZmluZSBI QVZFX1czMk5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNF X1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZF X0hBUkZCVVpaIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwg I2RlZmluZSBIQVZFX0xDTVMyIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZF X01PRFVMRVMgMQp8ICNkZWZpbmUgTU9EVUxFU19TVUZGSVggIi5kbGwiCnwgI2RlZmluZSBIQVZF X0xJQkdDQ0pJVCAxCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVF9IIDEKfCAjZGVmaW5lIEhBVkVf TkFUSVZFX0NPTVAgMQp8ICNkZWZpbmUgTkFUSVZFX0VMSVNQX1NVRkZJWCAiLmVsbiIKfCAjZGVm aW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAx CnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwg I2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFW RV9UUlVOQyAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VT SVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlU IDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8 ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwg MQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNk ZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVm aW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxJR05FRF9BTExP QyAwCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9GUkFNRV9BRERSRVNTIDEKfCAjZGVmaW5lIEhB VkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVm aW5lIEhBVkVfU0JSSyAxCnwgI2RlZmluZSBIQVZFX0NBTk9OSUNBTElaRV9GSUxFX05BTUUgMQp8 ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LQVQgMQp8ICNk ZWZpbmUgSEFWRV9FWFBMSUNJVF9CWkVSTyAxCnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwg I2RlZmluZSBIQVZFX0ZDSE1PREFUIDEKfCAjZGVmaW5lIEhBVkVfTENITU9EIDEKfCAjZGVmaW5l IEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVfRlNZ TkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAx CnwgI2RlZmluZSBIQVZFX1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmlu ZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9JU1dDVFlQRSAxCnwgI2RlZmluZSBIQVZF X1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9VVElN RU5TQVQgMQp8ICNkZWZpbmUgdmZvcmsgZm9yawp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwg I2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19f TkxfUEFQRVJfV0lEVEggMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgSEFW RV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICJOVUw6Igp8ICNkZWZpbmUgU0VQQ0hB UiAnOycKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBw dy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJ Q0VfU0VQKF9jXykgKChfY18pID09ICc6JykKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2Nf KSAoKF9jXykgPT0gJy8nIHx8IChfY18pID09ICdcXCcpCnwgI2RlZmluZSBJU19BTllfU0VQKF9j XykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykgfHwgSVNfREVWSUNFX1NFUChfY18pKQp8ICNkZWZp bmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgR0NfU0VUSk1QX1dP UktTIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHNldGptcC5oPgp8ICAg ICAgICAgICNpZmRlZiBfX01JTkdXMzJfXwp8ICAgICAgICAgICMgZGVmaW5lIF9sb25nam1wIGxv bmdqbXAKfCAgICAgICAgICAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IGptcF9idWYg ajsKfCAJIGlmICghIF9zZXRqbXAgKGopKQp8IAkgICBfbG9uZ2ptcCAoaiwgMSk7CnwgICA7Cnwg ICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToxOTk2NzogcmVzdWx0OiBubwpjb25maWd1cmU6MTk5 NzY6IGNoZWNraW5nIGZvciBzaWdzZXRqbXAKY29uZmlndXJlOjE5OTk1OiBnY2MgLUkgLi4vc3Jj L250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgLWlzeXN0ZW0gQzovbXN5 czY0L21pbmd3NjQvaW5jbHVkZS9saWJyc3ZnLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2 NC9pbmNsdWRlL2dsaWItMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2xpYi9nbGliLTIu MC9pbmNsdWRlIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUgLW1tcy1iaXRmaWVs ZHMgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nZGstcGl4YnVmLTIuMCAtaXN5 c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xpYnBuZzE2IC1tbXMtYml0ZmllbGRzIC1w dGhyZWFkIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUv Y2Fpcm8gLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9sem8gLWlzeXN0ZW0gQzov bXN5czY0L21pbmd3NjQvaW5jbHVkZS9mcmVldHlwZTIgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3 NjQvaW5jbHVkZS9oYXJmYnV6eiAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWlu Z3c2NC9pbmNsdWRlL3BpeG1hbi0xICAtbXR1bmU9Z2VuZXJpYyAgICBjb25mdGVzdC5jIC1sZ2Nj aml0ICAgPiY1IApjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTUx OjE6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnc2lnam1wX2J1Zic7IGRpZCB5b3UgbWVhbiAn am1wX2J1Zic/CiAgMTUxIHwgc2lnam1wX2J1ZiBqOwogICAgICB8IF5+fn5+fn5+fn4KICAgICAg fCBqbXBfYnVmCmNvbmZ0ZXN0LmM6MTUyOjE2OiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlv biBvZiBmdW5jdGlvbiAnc2lnc2V0am1wJzsgZGlkIHlvdSBtZWFuICdfc2V0am1wJz8gWy1XaW1w bGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgMTUyIHwgICAgICAgICAgaWYgKCEgc2lnc2V0 am1wIChqLCAxKSkKICAgICAgfCAgICAgICAgICAgICAgICBefn5+fn5+fn4KICAgICAgfCAgICAg ICAgICAgICAgICBfc2V0am1wCmNvbmZ0ZXN0LmM6MTUzOjU6IHdhcm5pbmc6IGltcGxpY2l0IGRl Y2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdzaWdsb25nam1wJzsgZGlkIHlvdSBtZWFuICdsb25nam1w Jz8gWy1XaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgMTUzIHwgICAgIHNpZ2xvbmdq bXAgKGosIDEpOwogICAgICB8ICAgICBefn5+fn5+fn5+CiAgICAgIHwgICAgIGxvbmdqbXAKY29u ZmlndXJlOjE5OTk1OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog Y29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4w LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZp bmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBB Q0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5l IE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19I RUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdf SCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEK fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZp bmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBf R05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJT RF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5l IF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19X QU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5 X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18g MQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5l IF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVD X0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxU X1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVm aW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZp bmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFW RV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhB VkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BB UkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVG U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19I IDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwg I2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwg I2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNk ZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEK fCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBI QVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVf Tk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVT RV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwg I2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwgI2RlZmluZSBIQVZF X1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1PRFVMRVNfU1VGRklY ICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NK SVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVmaW5lIE5BVElWRV9FTElT UF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYg MQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5l IEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFW RV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwg I2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2Rl ZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAj ZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVm aW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFW RV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBI QVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX0FMSUdORURfQUxMT0MgMAp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRlJBTUVf QUREUkVTUyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmlu ZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX1NCUksgMQp8ICNkZWZpbmUgSEFWRV9DQU5P TklDQUxJWkVfRklMRV9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUg SEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRVhQTElDSVRfQlpFUk8gMQp8ICNkZWZp bmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0RBVCAxCnwgI2RlZmluZSBI QVZFX0xDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRB VCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEK fCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBI QVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfSVNX Q1RZUEUgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5L IDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIHZmb3JrIGZvcmsKfCAjZGVm aW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAj ZGVmaW5lIEhBVkVfTEFOR0lORk9fX05MX1BBUEVSX1dJRFRIIDEKfCAjZGVmaW5lIEhBVkVfTUJT VEFURV9UIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAi TlVMOiIKfCAjZGVmaW5lIFNFUENIQVIgJzsnCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNk ZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQ ICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pICgoX2NfKSA9PSAnOicpCnwgI2RlZmlu ZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09ICcvJyB8fCAoX2NfKSA9PSAnXFwnKQp8 ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pIHx8IElTX0RF VklDRV9TRVAoX2NfKSkKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIK fCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNp bmNsdWRlIDxzZXRqbXAuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHNpZ2ptcF9idWYgajsK fCAgICAgICAgICBpZiAoISBzaWdzZXRqbXAgKGosIDEpKQp8IAkgICBzaWdsb25nam1wIChqLCAx KTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjIwMDAzOiByZXN1bHQ6IG5vCmNv bmZpZ3VyZToyMDEyOTogY2hlY2tpbmcgZm9yIHVzYWJsZSBGSU9OUkVBRApjb25maWd1cmU6MjAx Njk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMDE3NzogY2hlY2tpbmcgZm9yIHVzYWJsZSBTSUdJ Twpjb25maWd1cmU6MjAxOTU6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2Fy Zi0yIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicnN2Zy0yLjAgLWlzeXN0 ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nbGliLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQv bWluZ3c2NC9saWIvZ2xpYi0yLjAvaW5jbHVkZSAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9p bmNsdWRlIC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUv Z2RrLXBpeGJ1Zi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9saWJwbmcx NiAtbW1zLWJpdGZpZWxkcyAtcHRocmVhZCAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lz NjQvbWluZ3c2NC9pbmNsdWRlL2NhaXJvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1 ZGUvbHpvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZnJlZXR5cGUyIC1pc3lz dGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvaGFyZmJ1enogLW1tcy1iaXRmaWVsZHMgLWlz eXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9waXhtYW4tMSAgLW10dW5lPWdlbmVyaWMg ICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0 LmM6MTU2OjExOiBlcnJvcjogJ1NJR0lPJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBm dW5jdGlvbik7IGRpZCB5b3UgbWVhbiAnU0lHSUxMJz8KICAxNTYgfCBpbnQgZm9vID0gU0lHSU8g fCBGX1NFVEZMIHwgRkFTWU5DOwogICAgICB8ICAgICAgICAgICBefn5+fgogICAgICB8ICAgICAg ICAgICBTSUdJTEwKY29uZnRlc3QuYzoxNTY6MTE6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVu dGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJz IGluCmNvbmZ0ZXN0LmM6MTU2OjE5OiBlcnJvcjogJ0ZfU0VURkwnIHVuZGVjbGFyZWQgKGZpcnN0 IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIDE1NiB8IGludCBmb28gPSBTSUdJTyB8IEZfU0VURkwg fCBGQVNZTkM7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn5+fn5+fgpjb25mdGVzdC5jOjE1 NjoyOTogZXJyb3I6ICdGQVNZTkMnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0 aW9uKQogIDE1NiB8IGludCBmb28gPSBTSUdJTyB8IEZfU0VURkwgfCBGQVNZTkM7CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpjb25maWd1cmU6MjAxOTU6ICQ/ID0g MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi ZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNL QUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8v d3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAj ZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVf TUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwg I2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVm aW5lIF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmlu ZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYw NTU5X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9F WFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVm aW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENf V0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VY VDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmlu ZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAx CnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNk ZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0gg MQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBI QVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9X Q0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lT X1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTlRHVUkg MQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVmaW5lIFNZU1RFTV9NQUxM T0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBVU0VfTU1BUF9GT1Jf QlVGRkVSUyAxCnwgI2RlZmluZSBUSFJFQURTX0VOQUJMRUQgMQp8ICNkZWZpbmUgSEFWRV9SU1ZH IDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfSlNPTiAxCnwgI2RlZmlu ZSBIQVZFX1czMk5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUg VVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBI QVZFX0hBUkZCVVpaIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAx CnwgI2RlZmluZSBIQVZFX0xDTVMyIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBI QVZFX01PRFVMRVMgMQp8ICNkZWZpbmUgTU9EVUxFU19TVUZGSVggIi5kbGwiCnwgI2RlZmluZSBI QVZFX0xJQkdDQ0pJVCAxCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVF9IIDEKfCAjZGVmaW5lIEhB VkVfTkFUSVZFX0NPTVAgMQp8ICNkZWZpbmUgTkFUSVZFX0VMSVNQX1NVRkZJWCAiLmVsbiIKfCAj ZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJ RiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAx CnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUg SEFWRV9UUlVOQyAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBB R0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJ TUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04g MQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdO QUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8 ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAj ZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmlu ZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxJR05FRF9B TExPQyAwCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9GUkFNRV9BRERSRVNTIDEKfCAjZGVmaW5l IEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAj ZGVmaW5lIEhBVkVfU0JSSyAxCnwgI2RlZmluZSBIQVZFX0NBTk9OSUNBTElaRV9GSUxFX05BTUUg MQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LQVQgMQp8 ICNkZWZpbmUgSEFWRV9FWFBMSUNJVF9CWkVSTyAxCnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAx CnwgI2RlZmluZSBIQVZFX0ZDSE1PREFUIDEKfCAjZGVmaW5lIEhBVkVfTENITU9EIDEKfCAjZGVm aW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVf RlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RB VCAxCnwgI2RlZmluZSBIQVZFX1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2Rl ZmluZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9JU1dDVFlQRSAxCnwgI2RlZmluZSBI QVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9V VElNRU5TQVQgMQp8ICNkZWZpbmUgdmZvcmsgZm9yawp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAx CnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5G T19fTkxfUEFQRVJfV0lEVEggMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUg SEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICJOVUw6Igp8ICNkZWZpbmUgU0VQ Q0hBUiAnOycKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFN RSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19E RVZJQ0VfU0VQKF9jXykgKChfY18pID09ICc6JykKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAo X2NfKSAoKF9jXykgPT0gJy8nIHx8IChfY18pID09ICdcXCcpCnwgI2RlZmluZSBJU19BTllfU0VQ KF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykgfHwgSVNfREVWSUNFX1NFUChfY18pKQp8ICNk ZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgR0NfU0VUSk1Q X1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfU1RBQ0tfT1ZFUkZMT1dfSEFORExJTkcgMQp8ICNkZWZp bmUgRE9TX05UIC8qKi8KfCAjZGVmaW5lIFdJTkRPV1NOVCAxCnwgI2RlZmluZSBVU0FCTEVfRklP TlJFQUQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8ZmNudGwuaD4KfCAJ CQkgICAgI2luY2x1ZGUgPHNpZ25hbC5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgaW50IGZv byA9IFNJR0lPIHwgRl9TRVRGTCB8IEZBU1lOQzsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29u ZmlndXJlOjIwMjAyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyMDQyMTogY2hlY2tpbmcgZm9yIHN0 cnVjdCBhbGlnbm1lbnQKY29uZmlndXJlOjIwNDQxOiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAt ZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3Vy ZToyMDQ0MTogJD8gPSAwCmNvbmZpZ3VyZToyMDQ0ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIw NDU3OiBjaGVja2luZyBmb3IgdHlwZW9mIHN5bnRheCBhbmQga2V5d29yZCBzcGVsbGluZwpjb25m aWd1cmU6MjA0ODg6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1t dHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjIwNDg4OiAkPyA9IDAKY29u ZmlndXJlOjIwNDk1OiByZXN1bHQ6IHR5cGVvZgpjb25maWd1cmU6MjA1MTE6IGNoZWNraW5nIGZv ciBzdGF0ZW1lbnQgZXhwcmVzc2lvbnMKY29uZmlndXJlOjIwNTI3OiBnY2MgLUkgLi4vc3JjL250 L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZpZ3VyZToyMDUyNzogJD8gPSAwCmNvbmZpZ3VyZToyMDUzNDogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjIwNjQ4OiBjaGVja2luZyBmb3Igd29ya2luZyBhbGxvY2EuaApjb25maWd1cmU6MjA2 NjU6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYt MiAtbXR1bmU9Z2VuZXJpYyAgICBjb25mdGVzdC5jICAgPiY1IApjb25mdGVzdC5jOjE1NzoxMDog ZmF0YWwgZXJyb3I6IGFsbG9jYS5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAgMTU3IHwg I2luY2x1ZGUgPGFsbG9jYS5oPgogICAgICB8ICAgICAgICAgIF5+fn5+fn5+fn4KY29tcGlsYXRp b24gdGVybWluYXRlZC4KY29uZmlndXJlOjIwNjY1OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJH TlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFD S0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFj cyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251 Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJl L2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIg MQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRF TlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NP VVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAx CnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VN QU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEK fCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19T VERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNf NjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVT X0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19T VERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZG U0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3 aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09V TkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJD RV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFU SVZFX0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVf R0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUg VEhSRUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0dO VVRMUyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8 ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9C QVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwgI2Rl ZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01T MiAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVm aW5lIE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNk ZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEKfCAj ZGVmaW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BORyAxCnwg I2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9M SUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5E T00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZp bmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBI QVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZF X1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRI UkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVf U0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZS T00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJF UlJPUiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5B TUVfTlAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURfQUxMT0MgMAp8ICNkZWZpbmUgSEFW RV9fX0JVSUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJ TkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX1NCUksgMQp8 ICNkZWZpbmUgSEFWRV9DQU5PTklDQUxJWkVfRklMRV9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVB RExJTksgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRVhQTElD SVRfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ0hN T0RBVCAxCnwgI2RlZmluZSBIQVZFX0xDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAj ZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhB VkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9Q SVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEK fCAjZGVmaW5lIEhBVkVfSVNXQ1RZUEUgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNk ZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5l IHZmb3JrIGZvcmsKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5H SU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fX05MX1BBUEVSX1dJRFRIIDEK fCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2Rl ZmluZSBOVUxMX0RFVklDRSAiTlVMOiIKfCAjZGVmaW5lIFNFUENIQVIgJzsnCnwgI2RlZmluZSBz dWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2Rl ZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pICgoX2Nf KSA9PSAnOicpCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09ICcvJyB8 fCAoX2NfKSA9PSAnXFwnKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllf U0VQIChfY18pIHx8IElTX0RFVklDRV9TRVAoX2NfKSkKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRf REVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBI QVZFX1NUQUNLX09WRVJGTE9XX0hBTkRMSU5HIDEKfCAjZGVmaW5lIERPU19OVCAvKiovCnwgI2Rl ZmluZSBXSU5ET1dTTlQgMQp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIENP UFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ3MzJ0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05G SUdVUkFUSU9OICJ4ODZfNjQtdzY0LW1pbmd3MzIiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BU SU9OUyAiLS1wcmVmaXg9L2hvbWUvVldpblVzZXIwL0Rvd25sb2Fkcy9lbWFjcy9uYXRpdmUtY29t cC9idWlsdCAtLXdpdGgtbmF0aXZlY29tcCIKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FUVFJJQlVU RV9BTElHTkVEIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEVN RU5UX0VYUFJFU1NJT05TIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPGFs bG9jYS5oPgp8IGludAp8IG1haW4gKCkKfCB7CnwgY2hhciAqcCA9IChjaGFyICopIGFsbG9jYSAo MiAqIHNpemVvZiAoaW50KSk7CnwgCQkJICBpZiAocCkgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1 cm4gMDsKfCB9CmNvbmZpZ3VyZToyMDY3MzogcmVzdWx0OiBubwpjb25maWd1cmU6MjA2ODE6IGNo ZWNraW5nIGZvciBhbGxvY2EKY29uZmlndXJlOjIwNzE4OiBnY2MgLUkgLi4vc3JjL250L2luYyAt byBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5lPWdlbmVyaWMgICAgY29uZnRl c3QuYyAgID4mNSAKY29uZmlndXJlOjIwNzE4OiAkPyA9IDAKY29uZmlndXJlOjIwNzI2OiByZXN1 bHQ6IHllcwpjb25maWd1cmU6MjA4OTU6IGNoZWNraW5nIHdoZXRoZXIgLy8gaXMgZGlzdGluY3Qg ZnJvbSAvCmNvbmZpZ3VyZToyMDkyNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjIwOTM2OiBjaGVj a2luZyB3aGV0aGVyIHJlYWxwYXRoIHdvcmtzCmNvbmZpZ3VyZToyMTEyOTogcmVzdWx0OiBuby1i dXQtbm90LW5lZWRlZC1zby15ZXMKY29uZmlndXJlOjIxMTYzOiBjaGVja2luZyBmb3IgQy9DKysg cmVzdHJpY3Qga2V5d29yZApjb25maWd1cmU6MjExOTA6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1j IC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29uZmln dXJlOjIxMTkwOiAkPyA9IDAKY29uZmlndXJlOjIxMTk4OiByZXN1bHQ6IF9fcmVzdHJpY3QKY29u ZmlndXJlOjIxMzU1OiBjaGVja2luZyB3aGV0aGVyIGJ5dGUgb3JkZXJpbmcgaXMgYmlnZW5kaWFu CmNvbmZpZ3VyZToyMTM3MDogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJm LTIgLW10dW5lPWdlbmVyaWMgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjE2Mjo5OiBlcnJv cjogdW5rbm93biB0eXBlIG5hbWUgJ25vdCcKICAxNjIgfCAgICAgICAgIG5vdCBhIHVuaXZlcnNh bCBjYXBhYmxlIGNvbXBpbGVyCiAgICAgIHwgICAgICAgICBefn4KY29uZnRlc3QuYzoxNjI6MTU6 IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycg YmVmb3JlICd1bml2ZXJzYWwnCiAgMTYyIHwgICAgICAgICBub3QgYSB1bml2ZXJzYWwgY2FwYWJs ZSBjb21waWxlcgogICAgICB8ICAgICAgICAgICAgICAgXn5+fn5+fn5+CmNvbmZ0ZXN0LmM6MTYy OjE1OiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ3VuaXZlcnNhbCcKY29uZmlndXJlOjIxMzcw OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAq Lwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RB Uk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZp bmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9C VUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJo dHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BP UCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmlu ZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhB VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VS Q0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAx CnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8 ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5U X0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1 OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAx CnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUg X19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5U X0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8 ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tF VF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5U IDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZ U1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNk ZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5l IEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9X SVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZF X05UR1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNU RU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01N QVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhB VkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8 ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAj ZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNk ZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZF X0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNk ZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNk ZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2Rl ZmluZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVmaW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5l bG4iCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUg SEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9T VE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAj ZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFW RV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZF X0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NI VVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVf U1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VO RFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFN RSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8 ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FM SUdORURfQUxMT0MgMAp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRlJBTUVfQUREUkVTUyAxCnwg I2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVL TyAxCnwgI2RlZmluZSBIQVZFX1NCUksgMQp8ICNkZWZpbmUgSEFWRV9DQU5PTklDQUxJWkVfRklM RV9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElO S0FUIDEKfCAjZGVmaW5lIEhBVkVfRVhQTElDSVRfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9GQUND RVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0RBVCAxCnwgI2RlZmluZSBIQVZFX0xDSE1PRCAx CnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmlu ZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhB VkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1Qg MQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfSVNXQ1RZUEUgMQp8ICNk ZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5l IEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIHZmb3JrIGZvcmsKfCAjZGVmaW5lIEhBVkVfU05Q UklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVf TEFOR0lORk9fX05MX1BBUEVSX1dJRFRIIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAj ZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiTlVMOiIKfCAjZGVm aW5lIFNFUENIQVIgJzsnCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9G VUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZp bmUgSVNfREVWSUNFX1NFUChfY18pICgoX2NfKSA9PSAnOicpCnwgI2RlZmluZSBJU19ESVJFQ1RP UllfU0VQKF9jXykgKChfY18pID09ICcvJyB8fCAoX2NfKSA9PSAnXFwnKQp8ICNkZWZpbmUgSVNf QU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pIHx8IElTX0RFVklDRV9TRVAoX2Nf KSkKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIEdD X1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX1NUQUNLX09WRVJGTE9XX0hBTkRMSU5HIDEK fCAjZGVmaW5lIERPU19OVCAvKiovCnwgI2RlZmluZSBXSU5ET1dTTlQgMQp8ICNkZWZpbmUgVVNB QkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDIwIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ3MzJ0 ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQtdzY0LW1pbmd3MzIi CnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9L2hvbWUvVldpblVzZXIw L0Rvd25sb2Fkcy9lbWFjcy9uYXRpdmUtY29tcC9idWlsdCAtLXdpdGgtbmF0aXZlY29tcCIKfCAj ZGVmaW5lIEhBVkVfU1RSVUNUX0FUVFJJQlVURV9BTElHTkVEIDEKfCAjZGVmaW5lIEhBVkVfVFlQ RU9GIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEVNRU5UX0VYUFJFU1NJT05TIDEKfCAjZGVmaW5lIEhB VkVfQUxMT0NBIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAj ZGVmaW5lIEZVTkNfUkVBTFBBVEhfV09SS1MgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmlj dAp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaWZuZGVmIF9fQVBQTEVfQ0NfXwp8IAkgICAg ICAgbm90IGEgdW5pdmVyc2FsIGNhcGFibGUgY29tcGlsZXIKfCAJICAgICAjZW5kaWYKfCAJICAg ICB0eXBlZGVmIGludCBkdW1teTsKfCAKY29uZmlndXJlOjIxNDE1OiBnY2MgLUkgLi4vc3JjL250 L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxNjg6ODogZXJyb3I6 IHVua25vd24gdHlwZSBuYW1lICdib2d1cycKICAxNjggfCAgICAgICAgYm9ndXMgZW5kaWFuIG1h Y3JvcwogICAgICB8ICAgICAgICBefn5+fgpjb25mdGVzdC5jOjE2ODoyMTogZXJyb3I6IGV4cGVj dGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ21hY3Jv cycKICAxNjggfCAgICAgICAgYm9ndXMgZW5kaWFuIG1hY3JvcwogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+CmNvbmZpZ3VyZToyMTQxNTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVk IHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAi R05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBB Q0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1h Y3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdu dS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2Fy ZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVS IDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhU RU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19T T1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0Ug MQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NF TUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAx CnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9f U1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVD XzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBF U19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9f U1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEK fCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09G RlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAi d2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NP VU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VS Q0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBI QVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05B VElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZF X0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5l IFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9H TlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEK fCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExf QkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNk ZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENN UzIgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2Rl ZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAj ZGVmaW5lIEhBVkVfTElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwg I2RlZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8 ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVf TElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkFO RE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEKfCAjZGVm aW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUg SEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFW RV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZF X1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZG Uk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RS RVJST1IgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVRO QU1FX05QIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDAKfCAjZGVmaW5lIEhB VkVfX19CVUlMVElOX0ZSQU1FX0FERFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5X SU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9TQlJLIDEK fCAjZGVmaW5lIEhBVkVfQ0FOT05JQ0FMSVpFX0ZJTEVfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JF QURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0VYUExJ Q0lUX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNI TU9EQVQgMQp8ICNkZWZpbmUgSEFWRV9MQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwg I2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBI QVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVf UElQRTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAx CnwgI2RlZmluZSBIQVZFX0lTV0NUWVBFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAj ZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwgI2RlZmlu ZSB2Zm9yayBmb3JrCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFO R0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX19OTF9QQVBFUl9XSURUSCAx CnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNk ZWZpbmUgTlVMTF9ERVZJQ0UgIk5VTDoiCnwgI2RlZmluZSBTRVBDSEFSICc7Jwp8ICNkZWZpbmUg c3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNk ZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAoKF9j XykgPT0gJzonKQp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSAnLycg fHwgKF9jXykgPT0gJ1xcJykKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZ X1NFUCAoX2NfKSB8fCBJU19ERVZJQ0VfU0VQKF9jXykpCnwgI2RlZmluZSBERUZBVUxUX1NPVU5E X0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUg SEFWRV9TVEFDS19PVkVSRkxPV19IQU5ETElORyAxCnwgI2RlZmluZSBET1NfTlQgLyoqLwp8ICNk ZWZpbmUgV0lORE9XU05UIDEKfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBD T1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAidzMydGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09O RklHVVJBVElPTiAieDg2XzY0LXc2NC1taW5ndzMyIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09Q VElPTlMgIi0tcHJlZml4PS9ob21lL1ZXaW5Vc2VyMC9Eb3dubG9hZHMvZW1hY3MvbmF0aXZlLWNv bXAvYnVpbHQgLS13aXRoLW5hdGl2ZWNvbXAiCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BVFRSSUJV VEVfQUxJR05FRCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX1NUQVRF TUVOVF9FWFBSRVNTSU9OUyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBET1VC TEVfU0xBU0hfSVNfRElTVElOQ1RfUk9PVCAxCnwgI2RlZmluZSBGVU5DX1JFQUxQQVRIX1dPUktT IDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAvKiBlbmQgY29uZmRlZnMuaC4gICov CnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8IAkgICAgICNpbmNsdWRlIDxzeXMvcGFyYW0uaD4K fCAKfCBpbnQKfCBtYWluICgpCnwgewp8ICNpZiAhIChkZWZpbmVkIEJZVEVfT1JERVIgJiYgZGVm aW5lZCBCSUdfRU5ESUFOIAkJICAgICAmJiBkZWZpbmVkIExJVFRMRV9FTkRJQU4gJiYgQllURV9P UkRFUiAmJiBCSUdfRU5ESUFOIAkJICAgICAmJiBMSVRUTEVfRU5ESUFOKQp8IAkgICAgICBib2d1 cyBlbmRpYW4gbWFjcm9zCnwgCSAgICAgI2VuZGlmCnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9 CmNvbmZpZ3VyZToyMTQ1OTogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJm LTIgLW10dW5lPWdlbmVyaWMgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlv biAnbWFpbic6CmNvbmZ0ZXN0LmM6MTY3Ojg6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnYm9n dXMnCiAgMTY3IHwgICAgICAgIGJvZ3VzIGVuZGlhbiBtYWNyb3MKICAgICAgfCAgICAgICAgXn5+ fn4KY29uZnRlc3QuYzoxNjc6MjE6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNt JyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdtYWNyb3MnCiAgMTY3IHwgICAgICAgIGJvZ3Vz IGVuZGlhbiBtYWNyb3MKICAgICAgfCAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpjb25maWd1 cmU6MjE0NTk6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25m ZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBB Q0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAi CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQ QUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FH RV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJ TF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBf QUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVf U09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NP VVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19T VERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRf SUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQ X0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwg I2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19T VERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVO Q1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9Q RU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUg R0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBI QVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX01B TExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9Q V0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1f SCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8 ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu ZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVm aW5lIEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVm aW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmlu ZSBVU0VfTU1BUF9GT1JfQlVGRkVSUyAxCnwgI2RlZmluZSBUSFJFQURTX0VOQUJMRUQgMQp8ICNk ZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVf SlNPTiAxCnwgI2RlZmluZSBIQVZFX1czMk5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJ RlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJ TSAxCnwgI2RlZmluZSBIQVZFX0hBUkZCVVpaIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVm aW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0xDTVMyIDEKfCAjZGVmaW5lIEhBVkVfWkxJ QiAxCnwgI2RlZmluZSBIQVZFX01PRFVMRVMgMQp8ICNkZWZpbmUgTU9EVUxFU19TVUZGSVggIi5k bGwiCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVCAxCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVF9I IDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0NPTVAgMQp8ICNkZWZpbmUgTkFUSVZFX0VMSVNQX1NV RkZJWCAiLmVsbiIKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwg I2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFW RV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJ TlQgMQp8ICNkZWZpbmUgSEFWRV9UUlVOQyAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVm aW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5l IEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZp bmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUg SEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dF VFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVf TE9HMiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfQUxJR05FRF9BTExPQyAwCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9GUkFNRV9BRERS RVNTIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhB VkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfU0JSSyAxCnwgI2RlZmluZSBIQVZFX0NBTk9OSUNB TElaRV9GSUxFX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZF X1JFQURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9FWFBMSUNJVF9CWkVSTyAxCnwgI2RlZmluZSBI QVZFX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PREFUIDEKfCAjZGVmaW5lIEhBVkVf TENITU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEK fCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNk ZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVf UFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9JU1dDVFlQ RSAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8 ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUgdmZvcmsgZm9yawp8ICNkZWZpbmUg SEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZp bmUgSEFWRV9MQU5HSU5GT19fTkxfUEFQRVJfV0lEVEggMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRF X1QgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICJOVUw6 Igp8ICNkZWZpbmUgU0VQQ0hBUiAnOycKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmlu ZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8n CnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgKChfY18pID09ICc6JykKfCAjZGVmaW5lIElT X0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gJy8nIHx8IChfY18pID09ICdcXCcpCnwgI2Rl ZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykgfHwgSVNfREVWSUNF X1NFUChfY18pKQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNk ZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfU1RBQ0tfT1ZFUkZMT1dfSEFO RExJTkcgMQp8ICNkZWZpbmUgRE9TX05UIC8qKi8KfCAjZGVmaW5lIFdJTkRPV1NOVCAxCnwgI2Rl ZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMp IDIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFE RVIgInczMnRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gIng4Nl82NC13NjQt bWluZ3czMiIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZpeD0vaG9tZS9W V2luVXNlcjAvRG93bmxvYWRzL2VtYWNzL25hdGl2ZS1jb21wL2J1aWx0IC0td2l0aC1uYXRpdmVj b21wIgp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQVRUUklCVVRFX0FMSUdORUQgMQp8ICNkZWZpbmUg SEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9TVEFURU1FTlRfRVhQUkVTU0lPTlMgMQp8ICNk ZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgRE9VQkxFX1NMQVNIX0lTX0RJU1RJTkNUX1JP T1QgMQp8ICNkZWZpbmUgRlVOQ19SRUFMUEFUSF9XT1JLUyAxCnwgI2RlZmluZSByZXN0cmljdCBf X3Jlc3RyaWN0CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxsaW1pdHMuaD4K fCAKfCBpbnQKfCBtYWluICgpCnwgewp8ICNpZiAhIChkZWZpbmVkIF9MSVRUTEVfRU5ESUFOIHx8 IGRlZmluZWQgX0JJR19FTkRJQU4pCnwgCSAgICAgIGJvZ3VzIGVuZGlhbiBtYWNyb3MKfCAJICAg ICAjZW5kaWYKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjIxNTUwOiBnY2Mg LUkgLi4vc3JjL250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5l PWdlbmVyaWMgICAgY29uZnRlc3QuYyAgID4mNSAKY29uZmlndXJlOjIxNTUwOiAkPyA9IDAKY29u ZmlndXJlOjIxNTUwOiAuL2NvbmZ0ZXN0LmV4ZQpjb25maWd1cmU6MjE1NTA6ICQ/ID0gMApjb25m aWd1cmU6MjE1NjE6IHJlc3VsdDogbm8KY29uZmlndXJlOjIxNjA1OiBjaGVja2luZyB3aGV0aGVy IHRoZSBwcmVwcm9jZXNzb3Igc3VwcG9ydHMgaW5jbHVkZV9uZXh0CmNvbmZpZ3VyZToyMTY0Mzog Z2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5lPWdlbmVyaWMg ICAtSWNvbmZ0ZXN0ZDFiIC1JY29uZnRlc3RkMiBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjE2 NDM6ICQ/ID0gMApjb25maWd1cmU6MjE2NjQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMTY4Njog Y2hlY2tpbmcgd2hldGhlciBzb3VyY2UgY29kZSBsaW5lIGxlbmd0aCBpcyB1bmxpbWl0ZWQKY29u ZmlndXJlOjIxNzA5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjE3ODI6IGNoZWNraW5nIGlmIGVu dmlyb24gaXMgcHJvcGVybHkgZGVjbGFyZWQKY29uZmlndXJlOjIxODA0OiBnY2MgLUkgLi4vc3Jj L250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMg PiY1CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBDOi9tc3lzNjQvbWluZ3c2NC94ODZfNjQtdzY0LW1p bmd3MzIvaW5jbHVkZS9fbWluZ3cuaDoxMCwKICAgICAgICAgICAgICAgICBmcm9tIEM6L21zeXM2 NC9taW5ndzY0L3g4Nl82NC13NjQtbWluZ3czMi9pbmNsdWRlL2NvcmVjcnQuaDoxMCwKICAgICAg ICAgICAgICAgICBmcm9tIEM6L21zeXM2NC9taW5ndzY0L3g4Nl82NC13NjQtbWluZ3czMi9pbmNs dWRlL2NydGRlZnMuaDoxMCwKICAgICAgICAgICAgICAgICBmcm9tIEM6L21zeXM2NC9taW5ndzY0 L3g4Nl82NC13NjQtbWluZ3czMi9pbmNsdWRlL3N5cy90eXBlcy5oOjEzLAogICAgICAgICAgICAg ICAgIGZyb20gLi4vc3JjL250L2luYy91bmlzdGQuaDo2LAogICAgICAgICAgICAgICAgIGZyb20g Y29uZnRlc3QuYzoxNjI6CmNvbmZ0ZXN0LmM6MTY3OjQwOiBlcnJvcjogY29uZmxpY3RpbmcgdHlw ZXMgZm9yICdfX2ltcF9fZW52aXJvbicKICAxNjcgfCAgICAgICAgICAgICBleHRlcm4gc3RydWN0 IHsgaW50IGZvbzsgfSBlbnZpcm9uOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5+fn5+fn4KQzovbXN5czY0L21pbmd3NjQveDg2XzY0LXc2NC1taW5ndzMy L2luY2x1ZGUvc3RkbGliLmg6MzIyOjE5OiBub3RlOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiAn X19pbXBfX2Vudmlyb24nIHdhcyBoZXJlCiAgMzIyIHwgICBleHRlcm4gY2hhciAqKiogX19NSU5H V19JTVBfU1lNQk9MKF9lbnZpcm9uKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICBefn5+fn5+ fn5+fn5+fn5+fn4KY29uZmlndXJlOjIxODA0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUg RW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAy OC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9y ZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2Vt YWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJ T05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJD RSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwg I2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5U SUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAj ZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1 NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VY VF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNk ZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VU X0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5k b3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQg MQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9I IDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZF X0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VU UEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhS RUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRM UyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNk ZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJT IDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmlu ZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAx CnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5l IE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZp bmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVm aW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2Rl ZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJY TUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00g MQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUg SEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZF X1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VU SVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00g MQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJP UiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVf TlAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURfQUxMT0MgMAp8ICNkZWZpbmUgSEFWRV9f X0JVSUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRf SU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX1NCUksgMQp8ICNk ZWZpbmUgSEFWRV9DQU5PTklDQUxJWkVfRklMRV9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJ TksgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRVhQTElDSVRf QlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0RB VCAxCnwgI2RlZmluZSBIQVZFX0xDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVm aW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVf R0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QSVBF MiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAj ZGVmaW5lIEhBVkVfSVNXQ1RZUEUgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZp bmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIHZm b3JrIGZvcmsKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5G T19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fX05MX1BBUEVSX1dJRFRIIDEKfCAj ZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmlu ZSBOVUxMX0RFVklDRSAiTlVMOiIKfCAjZGVmaW5lIFNFUENIQVIgJzsnCnwgI2RlZmluZSBzdWJw cm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmlu ZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pICgoX2NfKSA9 PSAnOicpCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09ICcvJyB8fCAo X2NfKSA9PSAnXFwnKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQ IChfY18pIHx8IElTX0RFVklDRV9TRVAoX2NfKSkKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVW SUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZF X1NUQUNLX09WRVJGTE9XX0hBTkRMSU5HIDEKfCAjZGVmaW5lIERPU19OVCAvKiovCnwgI2RlZmlu ZSBXSU5ET1dTTlQgMQp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIENPUFlS SUdIVCAiQ29weXJpZ2h0IChDKSAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIK fCAjZGVmaW5lIFRFUk1fSEVBREVSICJ3MzJ0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdV UkFUSU9OICJ4ODZfNjQtdzY0LW1pbmd3MzIiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9O UyAiLS1wcmVmaXg9L2hvbWUvVldpblVzZXIwL0Rvd25sb2Fkcy9lbWFjcy9uYXRpdmUtY29tcC9i dWlsdCAtLXdpdGgtbmF0aXZlY29tcCIKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FUVFJJQlVURV9B TElHTkVEIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEVNRU5U X0VYUFJFU1NJT05TIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIERPVUJMRV9T TEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEZVTkNfUkVBTFBBVEhfV09SS1MgMQp8 ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAj aWYgSEFWRV9VTklTVERfSAp8ICAgICAgI2luY2x1ZGUgPHVuaXN0ZC5oPgp8ICAgICAgI2VuZGlm CnwgICAgICAvKiBtaW5ndywgQmVPUywgSGFpa3UgZGVjbGFyZSBlbnZpcm9uIGluIDxzdGRsaWIu aD4sIG5vdCBpbiA8dW5pc3RkLmg+LiAgKi8KfCAgICAgICNpbmNsdWRlIDxzdGRsaWIuaD4KfCAK fCAgICAgICAgICAgICBleHRlcm4gc3RydWN0IHsgaW50IGZvbzsgfSBlbnZpcm9uOwp8IGludAp8 IG1haW4gKCkKfCB7CnwgZW52aXJvbi5mb28gPSAxOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpj b25maWd1cmU6MjE4MTE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMTgyNjogY2hlY2tpbmcgZm9y IGNvbXBsZXRlIGVycm5vLmgKY29uZmlndXJlOjIxODk5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToy MTk4MjogY2hlY2tpbmcgZm9yIEVNVUxUSUhPUCB2YWx1ZQpjb25maWd1cmU6MjIwMzc6IHJlc3Vs dDogbm8KY29uZmlndXJlOjIyMDUzOiBjaGVja2luZyBmb3IgRU5PTElOSyB2YWx1ZQpjb25maWd1 cmU6MjIxMDg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMjEyNDogY2hlY2tpbmcgZm9yIEVPVkVS RkxPVyB2YWx1ZQpjb25maWd1cmU6MjIxNzk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMjI4Nzog Y2hlY2tpbmcgd2hldGhlciBsc3RhdCBjb3JyZWN0bHkgaGFuZGxlcyB0cmFpbGluZyBzbGFzaApj b25maWd1cmU6MjIzNDE6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMjQxNDogY2hlY2tpbmcgZm9y IG1vZGVfdApjb25maWd1cmU6MjI0MTQ6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIg LWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjIyNDE0 OiAkPyA9IDAKY29uZmlndXJlOjIyNDE0OiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8y IC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IElu IGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoxOTk6MjE6IGVycm9yOiBleHBlY3RlZCBleHBy ZXNzaW9uIGJlZm9yZSAnKScgdG9rZW4KICAxOTkgfCBpZiAoc2l6ZW9mICgobW9kZV90KSkpCiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICBeCmNvbmZpZ3VyZToyMjQxNDogJD8gPSAxCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBB Q0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIK fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RS SU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWct Z251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251 Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUg SEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5l IF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05F VEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJ WF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRU UklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEK fCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19T VERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lF Q182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEK fCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5E RU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVm aW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBT WVNURU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2Rl ZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElS RU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19U SU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAx CnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2Rl ZmluZSBIQVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwg I2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJT IDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNk ZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVf VzMyTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9P TEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFS RkJVWlogMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVm aW5lIEhBVkVfTENNUzIgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9E VUxFUyAxCnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElC R0NDSklUIDEKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJ VkVfQ09NUCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUg SEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAj ZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVm aW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RS VU5DIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUg MQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8 ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2Rl ZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwg I2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmlu ZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUg SEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVf UFRIUkVBRF9TRVROQU1FX05QIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDAK fCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX0ZSQU1FX0FERFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9f X0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUg SEFWRV9TQlJLIDEKfCAjZGVmaW5lIEhBVkVfQ0FOT05JQ0FMSVpFX0ZJTEVfTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmlu ZSBIQVZFX0VYUExJQ0lUX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVm aW5lIEhBVkVfRkNITU9EQVQgMQp8ICNkZWZpbmUgSEFWRV9MQ0hNT0QgMQp8ICNkZWZpbmUgSEFW RV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAx CnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAj ZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhB VkVfSVNCTEFOSyAxCnwgI2RlZmluZSBIQVZFX0lTV0NUWVBFIDEKfCAjZGVmaW5lIEhBVkVfU1RS VE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNB VCAxCnwgI2RlZmluZSB2Zm9yayBmb3JrCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVm aW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX19OTF9Q QVBFUl9XSURUSCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBIQVZFX1NP Q0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIk5VTDoiCnwgI2RlZmluZSBTRVBDSEFSICc7 Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5w d19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9T RVAoX2NfKSAoKF9jXykgPT0gJzonKQp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgo X2NfKSA9PSAnLycgfHwgKF9jXykgPT0gJ1xcJykKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAo SVNfRElSRUNUT1JZX1NFUCAoX2NfKSB8fCBJU19ERVZJQ0VfU0VQKF9jXykpCnwgI2RlZmluZSBE RUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1Mg MQp8ICNkZWZpbmUgSEFWRV9TVEFDS19PVkVSRkxPV19IQU5ETElORyAxCnwgI2RlZmluZSBET1Nf TlQgLyoqLwp8ICNkZWZpbmUgV0lORE9XU05UIDEKfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAx CnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAyMCBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAidzMydGVybS5oIgp8ICNkZWZp bmUgRU1BQ1NfQ09ORklHVVJBVElPTiAieDg2XzY0LXc2NC1taW5ndzMyIgp8ICNkZWZpbmUgRU1B Q1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PS9ob21lL1ZXaW5Vc2VyMC9Eb3dubG9hZHMvZW1h Y3MvbmF0aXZlLWNvbXAvYnVpbHQgLS13aXRoLW5hdGl2ZWNvbXAiCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9BVFRSSUJVVEVfQUxJR05FRCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmlu ZSBIQVZFX1NUQVRFTUVOVF9FWFBSRVNTSU9OUyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwg I2RlZmluZSBET1VCTEVfU0xBU0hfSVNfRElTVElOQ1RfUk9PVCAxCnwgI2RlZmluZSBGVU5DX1JF QUxQQVRIX1dPUktTIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhB VkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIExTVEFUX0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5L IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVm IEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwg I2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxz dGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0 ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYg IWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1 ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCBp bnQKfCBtYWluICgpCnwgewp8IGlmIChzaXplb2YgKChtb2RlX3QpKSkKfCAJICAgIHJldHVybiAw Owp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjI0MTQ6IHJlc3VsdDogeWVzCmNv bmZpZ3VyZToyMjQyNzogY2hlY2tpbmcgZm9yIHN0X2RtX21vZGUgaW4gc3RydWN0IHN0YXQKY29u ZmlndXJlOjIyNDQ1OiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAt bXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdt YWluJzoKY29uZnRlc3QuYzoxNjk6MTg6IGVycm9yOiAnc3RydWN0IHN0YXQnIGhhcyBubyBtZW1i ZXIgbmFtZWQgJ3N0X2RtX21vZGUnOyBkaWQgeW91IG1lYW4gJ3N0X21vZGUnPwogIDE2OSB8IHN0 cnVjdCBzdGF0IHM7IHMuc3RfZG1fbW9kZTsKICAgICAgfCAgICAgICAgICAgICAgICAgIF5+fn5+ fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgIHN0X21vZGUKY29uZmlndXJlOjIyNDQ1OiAk PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8 ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUg UEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS RVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRw czovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAx CnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI QVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0Ug MQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwg I2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNk ZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lF Q182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9C RlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwg I2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19T VERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJ Ql9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNk ZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9B UEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEK fCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RF TV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZp bmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhB VkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRI X1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05U R1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1f TUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBf Rk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVf UlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNk ZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVm aW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZp bmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQ RUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZp bmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZp bmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmlu ZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVmaW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4i CnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFW RV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5B TUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVm aW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9H RVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRE T1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RS U0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRP IDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAx CnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNk ZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdO RURfQUxMT0MgMAp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2Rl ZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAx CnwgI2RlZmluZSBIQVZFX1NCUksgMQp8ICNkZWZpbmUgSEFWRV9DQU5PTklDQUxJWkVfRklMRV9O QU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FU IDEKfCAjZGVmaW5lIEhBVkVfRVhQTElDSVRfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNT QVQgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0RBVCAxCnwgI2RlZmluZSBIQVZFX0xDSE1PRCAxCnwg I2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBI QVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVf TFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8 ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfSVNXQ1RZUEUgMQp8ICNkZWZp bmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhB VkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIHZmb3JrIGZvcmsKfCAjZGVmaW5lIEhBVkVfU05QUklO VEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTEFO R0lORk9fX05MX1BBUEVSX1dJRFRIIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVm aW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiTlVMOiIKfCAjZGVmaW5l IFNFUENIQVIgJzsnCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxM X05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUg SVNfREVWSUNFX1NFUChfY18pICgoX2NfKSA9PSAnOicpCnwgI2RlZmluZSBJU19ESVJFQ1RPUllf U0VQKF9jXykgKChfY18pID09ICcvJyB8fCAoX2NfKSA9PSAnXFwnKQp8ICNkZWZpbmUgSVNfQU5Z X1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pIHx8IElTX0RFVklDRV9TRVAoX2NfKSkK fCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIEdDX1NF VEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX1NUQUNLX09WRVJGTE9XX0hBTkRMSU5HIDEKfCAj ZGVmaW5lIERPU19OVCAvKiovCnwgI2RlZmluZSBXSU5ET1dTTlQgMQp8ICNkZWZpbmUgVVNBQkxF X0ZJT05SRUFEIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDIwIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ3MzJ0ZXJt LmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQtdzY0LW1pbmd3MzIiCnwg I2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9L2hvbWUvVldpblVzZXIwL0Rv d25sb2Fkcy9lbWFjcy9uYXRpdmUtY29tcC9idWlsdCAtLXdpdGgtbmF0aXZlY29tcCIKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0FUVFJJQlVURV9BTElHTkVEIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9G IDEKfCAjZGVmaW5lIEhBVkVfU1RBVEVNRU5UX0VYUFJFU1NJT05TIDEKfCAjZGVmaW5lIEhBVkVf QUxMT0NBIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVm aW5lIEZVTkNfUkVBTFBBVEhfV09SS1MgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8 ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFT SEVEX1NZTUxJTksgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAjaW5jbHVkZSA8c3lz L3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgaW50CnwgbWFpbiAoKQp8IHsKfCBz dHJ1Y3Qgc3RhdCBzOyBzLnN0X2RtX21vZGU7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZp Z3VyZToyMjQ1MjogcmVzdWx0OiBubwpjb25maWd1cmU6MjI0NjI6IGNoZWNraW5nIHdoZXRoZXIg c3RybW9kZSBpcyBkZWNsYXJlZApjb25maWd1cmU6MjI0NjI6IGdjYyAtSSAuLi9zcmMvbnQvaW5j IC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29u ZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjIwMzoxMDogZXJyb3I6ICdz dHJtb2RlJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3Ug bWVhbiAnc3RydG9kJz8KICAyMDMgfCAgICh2b2lkKSBzdHJtb2RlOwogICAgICB8ICAgICAgICAg IF5+fn5+fn4KICAgICAgfCAgICAgICAgICBzdHJ0b2QKY29uZnRlc3QuYzoyMDM6MTA6IG5vdGU6 IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFj aCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCmNvbmZpZ3VyZToyMjQ2MjogJD8gPSAxCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tB R0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251 LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9y Zy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFW RV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9E QVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJT RF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9Q VEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklC U19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAj ZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182 MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAj ZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1f U09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5l IF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNU RU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmlu ZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwg I2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmlu ZSBIQVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEK fCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZp bmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMy Tk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJ VF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJV WlogMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5l IEhBVkVfTENNUzIgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxF UyAxCnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0ND SklUIDEKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVf Q09NUCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFW RV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVm aW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5l IEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5D IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8 ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNk ZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmlu ZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2Rl ZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBI QVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFW RV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRI UkVBRF9TRVROQU1FX05QIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDAKfCAj ZGVmaW5lIEhBVkVfX19CVUlMVElOX0ZSQU1FX0FERFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JV SUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFW RV9TQlJLIDEKfCAjZGVmaW5lIEhBVkVfQ0FOT05JQ0FMSVpFX0ZJTEVfTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBI QVZFX0VYUExJQ0lUX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5l IEhBVkVfRkNITU9EQVQgMQp8ICNkZWZpbmUgSEFWRV9MQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9G Q05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwg I2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVm aW5lIEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVf SVNCTEFOSyAxCnwgI2RlZmluZSBIQVZFX0lTV0NUWVBFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9J TUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAx CnwgI2RlZmluZSB2Zm9yayBmb3JrCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5l IEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX19OTF9QQVBF Ul9XSURUSCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tF VFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIk5VTDoiCnwgI2RlZmluZSBTRVBDSEFSICc7Jwp8 ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19n ZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAo X2NfKSAoKF9jXykgPT0gJzonKQp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2Nf KSA9PSAnLycgfHwgKF9jXykgPT0gJ1xcJykKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNf RElSRUNUT1JZX1NFUCAoX2NfKSB8fCBJU19ERVZJQ0VfU0VQKF9jXykpCnwgI2RlZmluZSBERUZB VUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8 ICNkZWZpbmUgSEFWRV9TVEFDS19PVkVSRkxPV19IQU5ETElORyAxCnwgI2RlZmluZSBET1NfTlQg LyoqLwp8ICNkZWZpbmUgV0lORE9XU05UIDEKfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwg I2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAidzMydGVybS5oIgp8ICNkZWZpbmUg RU1BQ1NfQ09ORklHVVJBVElPTiAieDg2XzY0LXc2NC1taW5ndzMyIgp8ICNkZWZpbmUgRU1BQ1Nf Q09ORklHX09QVElPTlMgIi0tcHJlZml4PS9ob21lL1ZXaW5Vc2VyMC9Eb3dubG9hZHMvZW1hY3Mv bmF0aXZlLWNvbXAvYnVpbHQgLS13aXRoLW5hdGl2ZWNvbXAiCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9BVFRSSUJVVEVfQUxJR05FRCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBI QVZFX1NUQVRFTUVOVF9FWFBSRVNTSU9OUyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2Rl ZmluZSBET1VCTEVfU0xBU0hfSVNfRElTVElOQ1RfUk9PVCAxCnwgI2RlZmluZSBGVU5DX1JFQUxQ QVRIX1dPUktTIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVf RU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIExTVEFUX0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5LIDEK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhB VkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lm ZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRk ZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxp Yi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRl ZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUg PG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCBpbnQK fCBtYWluICgpCnwgewp8ICNpZm5kZWYgc3RybW9kZQp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8ICAg KHZvaWQpIHN0cm1vZGU7CnwgI2Vsc2UKfCAgICh2b2lkKSBzdHJtb2RlOwp8ICNlbmRpZgp8ICNl bmRpZgp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjI0NjI6IHJlc3VsdDog bm8KY29uZmlndXJlOjIyNDg5OiBjaGVja2luZyBmb3IgZ2F3awpjb25maWd1cmU6MjI1MDU6IGZv dW5kIC91c3IvYmluL2dhd2sKY29uZmlndXJlOjIyNTE2OiByZXN1bHQ6IGdhd2sKY29uZmlndXJl OjIyNjIzOiBjaGVja2luZyBmb3IgZ2V0b3B0LmgKY29uZmlndXJlOjIyNjIzOiByZXN1bHQ6IG5v CmNvbmZpZ3VyZToyMzI2NzogY2hlY2tpbmcgZm9yIHN0cnVjdCB0aW1ldmFsCmNvbmZpZ3VyZToy MzI5MDogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5lPWdl bmVyaWMgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjMyOTA6ICQ/ID0gMApjb25maWd1cmU6 MjMyOTg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMzMwMzogY2hlY2tpbmcgZm9yIHdpZGUtZW5v dWdoIHN0cnVjdCB0aW1ldmFsLnR2X3NlYyBtZW1iZXIKY29uZmlndXJlOjIzMzM4OiByZXN1bHQ6 IHllcwpjb25maWd1cmU6MjM0MzQ6IGNoZWNraW5nIHdoZXRoZXIgbGltaXRzLmggaGFzIExMT05H X01BWCwgV09SRF9CSVQsIFVMTE9OR19XSURUSCBldGMuCmNvbmZpZ3VyZToyMzQ1NzogZ2NjIC1J IC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5lPWdlbmVyaWMgICBjb25m dGVzdC5jID4mNQpjb25mdGVzdC5jOjE2OToyMjogZXJyb3I6ICdXT1JEX0JJVCcgdW5kZWNsYXJl ZCBoZXJlIChub3QgaW4gYSBmdW5jdGlvbikKICAxNjkgfCAgICAgICAgICAgICBpbnQgd2IgPSBX T1JEX0JJVDsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fgpjb25maWd1cmU6 MjM0NTc6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVm cy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNL QUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9V UkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9V U0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj ZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxM X1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09V UkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJD RSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVD XzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VY VF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2Rl ZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1Nf XyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5f U09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0ND X0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBIQVZF X01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX01BTExP Q19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0Rf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAx CnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNk ZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBU SU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5l IEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVmaW5l IFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBV U0VfTU1BUF9GT1JfQlVGRkVSUyAxCnwgI2RlZmluZSBUSFJFQURTX0VOQUJMRUQgMQp8ICNkZWZp bmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfSlNP TiAxCnwgI2RlZmluZSBIQVZFX1czMk5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkg MQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAx CnwgI2RlZmluZSBIQVZFX0hBUkZCVVpaIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5l IEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0xDTVMyIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAx CnwgI2RlZmluZSBIQVZFX01PRFVMRVMgMQp8ICNkZWZpbmUgTU9EVUxFU19TVUZGSVggIi5kbGwi CnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVCAxCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVF9IIDEK fCAjZGVmaW5lIEhBVkVfTkFUSVZFX0NPTVAgMQp8ICNkZWZpbmUgTkFUSVZFX0VMSVNQX1NVRkZJ WCAiLmVsbiIKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2Rl ZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9H RVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQg MQp8ICNkZWZpbmUgSEFWRV9UUlVOQyAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5l IEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhB VkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUg SEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFW RV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNP Q0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTE9H MiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfQUxJR05FRF9BTExPQyAwCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9GUkFNRV9BRERSRVNT IDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVf RlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfU0JSSyAxCnwgI2RlZmluZSBIQVZFX0NBTk9OSUNBTEla RV9GSUxFX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1JF QURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9FWFBMSUNJVF9CWkVSTyAxCnwgI2RlZmluZSBIQVZF X0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PREFUIDEKfCAjZGVmaW5lIEhBVkVfTENI TU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAj ZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZp bmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVfUFNF TEVDVCAxCnwgI2RlZmluZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9JU1dDVFlQRSAx CnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNk ZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUgdmZvcmsgZm9yawp8ICNkZWZpbmUgSEFW RV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUg SEFWRV9MQU5HSU5GT19fTkxfUEFQRVJfV0lEVEggMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1Qg MQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICJOVUw6Igp8 ICNkZWZpbmUgU0VQQ0hBUiAnOycKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBV U0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwg I2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgKChfY18pID09ICc6JykKfCAjZGVmaW5lIElTX0RJ UkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gJy8nIHx8IChfY18pID09ICdcXCcpCnwgI2RlZmlu ZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykgfHwgSVNfREVWSUNFX1NF UChfY18pKQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZp bmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfU1RBQ0tfT1ZFUkZMT1dfSEFORExJ TkcgMQp8ICNkZWZpbmUgRE9TX05UIC8qKi8KfCAjZGVmaW5lIFdJTkRPV1NOVCAxCnwgI2RlZmlu ZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIw MjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIg InczMnRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gIng4Nl82NC13NjQtbWlu Z3czMiIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZpeD0vaG9tZS9WV2lu VXNlcjAvRG93bmxvYWRzL2VtYWNzL25hdGl2ZS1jb21wL2J1aWx0IC0td2l0aC1uYXRpdmVjb21w Igp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQVRUUklCVVRFX0FMSUdORUQgMQp8ICNkZWZpbmUgSEFW RV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9TVEFURU1FTlRfRVhQUkVTU0lPTlMgMQp8ICNkZWZp bmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgRE9VQkxFX1NMQVNIX0lTX0RJU1RJTkNUX1JPT1Qg MQp8ICNkZWZpbmUgRlVOQ19SRUFMUEFUSF9XT1JLUyAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jl c3RyaWN0CnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBMU1RBVF9GT0xM T1dTX1NMQVNIRURfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgLyog ZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpZm5kZWYgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9F WFRfXwp8ICAgICAgICAgICAgICAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhU X18gMQp8ICAgICAgICAgICAgICNlbmRpZgp8ICAgICAgICAgICAgICNpbmNsdWRlIDxsaW1pdHMu aD4KfCAgICAgICAgICAgICBsb25nIGxvbmcgbGxtID0gTExPTkdfTUFYOwp8ICAgICAgICAgICAg IGludCB3YiA9IFdPUkRfQklUOwp8ICAgICAgICAgICAgIGludCB1bGx3ID0gVUxMT05HX1dJRFRI Owp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZp Z3VyZToyMzQ2NDogcmVzdWx0OiBubwpjb25maWd1cmU6MjM0ODI6IGNoZWNraW5nIHdoZXRoZXIg dGhlIGNvbXBpbGVyIHByb2R1Y2VzIG11bHRpLWFyY2ggYmluYXJpZXMKY29uZmlndXJlOjIzNDk2 OiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJp YyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6MTY1OjEzOiBlcnJvcjogdW5rbm93biB0eXBl IG5hbWUgJ25vdCcKICAxNjUgfCAgICAgICAgICAgICBub3QgYSB1bml2ZXJzYWwgY2FwYWJsZSBj b21waWxlcgogICAgICB8ICAgICAgICAgICAgIF5+fgpjb25mdGVzdC5jOjE2NToxOTogZXJyb3I6 IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUg J3VuaXZlcnNhbCcKICAxNjUgfCAgICAgICAgICAgICBub3QgYSB1bml2ZXJzYWwgY2FwYWJsZSBj b21waWxlcgogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fgpjb25mdGVzdC5jOjE2 NToxOTogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICd1bml2ZXJzYWwnCmNvbmZpZ3VyZToyMzQ5 NjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgg Ki8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9U QVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVm aW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAi aHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9Q T1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09V UkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0Ug MQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEK fCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FO VF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1 NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18g MQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5l IF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FO VF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEK fCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NL RVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElO VCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1T WVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAj ZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmlu ZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVf V0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFW RV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lT VEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9N TUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBI QVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEK fCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwg I2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAj ZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFW RV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENNUzIgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAj ZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAj ZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUX0ggMQp8ICNk ZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIu ZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5l IEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0dFVEhP U1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwg I2RlZmluZSBIQVZFX1RSVU5DIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhB VkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFW RV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9T SFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZF X1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NF TkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05B TUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEK fCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1FX05QIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9B TElHTkVEX0FMTE9DIDAKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX0ZSQU1FX0FERFJFU1MgMQp8 ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VF S08gMQp8ICNkZWZpbmUgSEFWRV9TQlJLIDEKfCAjZGVmaW5lIEhBVkVfQ0FOT05JQ0FMSVpFX0ZJ TEVfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJ TktBVCAxCnwgI2RlZmluZSBIQVZFX0VYUExJQ0lUX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfRkFD Q0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EQVQgMQp8ICNkZWZpbmUgSEFWRV9MQ0hNT0Qg MQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8ICNkZWZp bmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBI QVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNU IDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2RlZmluZSBIQVZFX0lTV0NUWVBFIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmlu ZSBIQVZFX1VUSU1FTlNBVCAxCnwgI2RlZmluZSB2Zm9yayBmb3JrCnwgI2RlZmluZSBIQVZFX1NO UFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZF X0xBTkdJTkZPX19OTF9QQVBFUl9XSURUSCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwg I2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIk5VTDoiCnwgI2Rl ZmluZSBTRVBDSEFSICc7Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJf RlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVm aW5lIElTX0RFVklDRV9TRVAoX2NfKSAoKF9jXykgPT0gJzonKQp8ICNkZWZpbmUgSVNfRElSRUNU T1JZX1NFUChfY18pICgoX2NfKSA9PSAnLycgfHwgKF9jXykgPT0gJ1xcJykKfCAjZGVmaW5lIElT X0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSB8fCBJU19ERVZJQ0VfU0VQKF9j XykpCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBH Q19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9TVEFDS19PVkVSRkxPV19IQU5ETElORyAx CnwgI2RlZmluZSBET1NfTlQgLyoqLwp8ICNkZWZpbmUgV0lORE9XU05UIDEKfCAjZGVmaW5lIFVT QUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAyMCBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAidzMy dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAieDg2XzY0LXc2NC1taW5ndzMy Igp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PS9ob21lL1ZXaW5Vc2Vy MC9Eb3dubG9hZHMvZW1hY3MvbmF0aXZlLWNvbXAvYnVpbHQgLS13aXRoLW5hdGl2ZWNvbXAiCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9BVFRSSUJVVEVfQUxJR05FRCAxCnwgI2RlZmluZSBIQVZFX1RZ UEVPRiAxCnwgI2RlZmluZSBIQVZFX1NUQVRFTUVOVF9FWFBSRVNTSU9OUyAxCnwgI2RlZmluZSBI QVZFX0FMTE9DQSAxCnwgI2RlZmluZSBET1VCTEVfU0xBU0hfSVNfRElTVElOQ1RfUk9PVCAxCnwg I2RlZmluZSBGVU5DX1JFQUxQQVRIX1dPUktTIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJp Y3QKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIExTVEFUX0ZPTExPV1Nf U0xBU0hFRF9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgI2lmbmRlZiBfX0FQUExFX0NDX18KfCAgICAgICAgICAgICBub3Qg YSB1bml2ZXJzYWwgY2FwYWJsZSBjb21waWxlcgp8ICAgICAgICAgICAgI2VuZGlmCnwgICAgICAg ICAgICB0eXBlZGVmIGludCBkdW1teTsKfCAKY29uZmlndXJlOjIzNTIzOiByZXN1bHQ6IG5vCmNv bmZpZ3VyZToyMzY1MjogY2hlY2tpbmcgd2hldGhlciBzdGRpbnQuaCBjb25mb3JtcyB0byBDOTkK Y29uZmlndXJlOjIzODMyOiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYt MiAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyMzgzMjogJD8gPSAw CmNvbmZpZ3VyZToyMzkxOTogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1n MyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgIGNvbmZ0ZXN0LmMgICA+JjUgCmNvbmZp Z3VyZToyMzkxOTogJD8gPSAwCmNvbmZpZ3VyZToyMzkxOTogLi9jb25mdGVzdC5leGUKY29uZmln dXJlOjIzOTE5OiAkPyA9IDAKY29uZmlndXJlOjIzOTMxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6 MjM5NDI6IGNoZWNraW5nIHdoZXRoZXIgc3RkaW50Lmggd29ya3Mgd2l0aG91dCBJU08gQyBwcmVk ZWZpbmVzCmNvbmZpZ3VyZToyMzk3ODogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAt Z2R3YXJmLTIgLW10dW5lPWdlbmVyaWMgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjM5Nzg6 ICQ/ID0gMApjb25maWd1cmU6MjM5ODQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyMzk5NTogY2hl Y2tpbmcgd2hldGhlciBzdGRpbnQuaCBoYXMgVUlOVE1BWF9XSURUSCBldGMuCmNvbmZpZ3VyZToy NDAzMTogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5lPWdl bmVyaWMgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjE4NDoyNDogZXJyb3I6ICdVSU5UTUFY X1dJRFRIJyB1bmRlY2xhcmVkIGhlcmUgKG5vdCBpbiBhIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFu ICdVSU5UTUFYX01BWCc/CiAgMTg0IHwgICAgICAgICAgICAgICBpbnQgaXcgPSBVSU5UTUFYX1dJ RFRIOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fgogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgVUlOVE1BWF9NQVgKY29uZmlndXJlOjI0MDMxOiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNk ZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg ImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFD S0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczov L3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwg I2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2Rl ZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZp bmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182 MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBf RVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2Rl ZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9F WFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZp bmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkg MQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAj ZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9I IDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUg SEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVf V0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZ U19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJ IDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFM TE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9S X0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNW RyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZp bmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5l IFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUg SEFWRV9IQVJGQlVaWiAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcg MQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUg SEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUg SEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBI QVZFX05BVElWRV9DT01QIDEKfCAjZGVmaW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwg I2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9H SUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUg MQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5l IEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJM SU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dO IDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lH TkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEK fCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwg I2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZp bmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURf QUxMT0MgMAp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2RlZmlu ZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwg I2RlZmluZSBIQVZFX1NCUksgMQp8ICNkZWZpbmUgSEFWRV9DQU5PTklDQUxJWkVfRklMRV9OQU1F IDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEK fCAjZGVmaW5lIEhBVkVfRVhQTElDSVRfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQg MQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0RBVCAxCnwgI2RlZmluZSBIQVZFX0xDSE1PRCAxCnwgI2Rl ZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZF X0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNU QVQgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNk ZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfSVNXQ1RZUEUgMQp8ICNkZWZpbmUg SEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVf VVRJTUVOU0FUIDEKfCAjZGVmaW5lIHZmb3JrIGZvcmsKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYg MQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lO Rk9fX05MX1BBUEVSX1dJRFRIIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5l IEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiTlVMOiIKfCAjZGVmaW5lIFNF UENIQVIgJzsnCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05B TUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNf REVWSUNFX1NFUChfY18pICgoX2NfKSA9PSAnOicpCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQ KF9jXykgKChfY18pID09ICcvJyB8fCAoX2NfKSA9PSAnXFwnKQp8ICNkZWZpbmUgSVNfQU5ZX1NF UChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pIHx8IElTX0RFVklDRV9TRVAoX2NfKSkKfCAj ZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIEdDX1NFVEpN UF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX1NUQUNLX09WRVJGTE9XX0hBTkRMSU5HIDEKfCAjZGVm aW5lIERPU19OVCAvKiovCnwgI2RlZmluZSBXSU5ET1dTTlQgMQp8ICNkZWZpbmUgVVNBQkxFX0ZJ T05SRUFEIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDIwIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ3MzJ0ZXJtLmgi CnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQtdzY0LW1pbmd3MzIiCnwgI2Rl ZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9L2hvbWUvVldpblVzZXIwL0Rvd25s b2Fkcy9lbWFjcy9uYXRpdmUtY29tcC9idWlsdCAtLXdpdGgtbmF0aXZlY29tcCIKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0FUVFJJQlVURV9BTElHTkVEIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEK fCAjZGVmaW5lIEhBVkVfU1RBVEVNRU5UX0VYUFJFU1NJT05TIDEKfCAjZGVmaW5lIEhBVkVfQUxM T0NBIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5l IEZVTkNfUkVBTFBBVEhfV09SS1MgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNk ZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFTSEVE X1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgSEFWRV9M T05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8ICAgICAgICAgICAgICAgLyogV29yayBpZiBidWls ZCBpcyBub3QgY2xlYW4uICAqLwp8ICAgICAgICAgICAgICAgI2RlZmluZSBfR0xfSlVTVF9JTkNM VURFX1NZU1RFTV9TVERJTlRfSCAxCnwgICAgICAgICAgICAgICAjaWZuZGVmIF9fU1REQ19XQU5U X0lFQ182MDU1OV9CRlBfRVhUX18KfCAgICAgICAgICAgICAgICAjZGVmaW5lIF9fU1REQ19XQU5U X0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICAgICAgICAgICAgICAgI2VuZGlmCnwgICAgICAgICAg ICAgICAjaW5jbHVkZSA8c3RkaW50Lmg+CnwgCnwgICAvKiBCU0QvT1MgNC4wLjEgaGFzIGEgYnVn OiA8c3RkZGVmLmg+LCA8c3RkaW8uaD4gYW5kIDx0aW1lLmg+IG11c3QgYmUKfCAgICAgIGluY2x1 ZGVkIGJlZm9yZSA8d2NoYXIuaD4uICAqLwp8ICAgI2luY2x1ZGUgPHN0ZGRlZi5oPgp8ICAgI2lu Y2x1ZGUgPHNpZ25hbC5oPgp8ICAgI2lmIEhBVkVfV0NIQVJfSAp8ICAgIyBpbmNsdWRlIDxzdGRp by5oPgp8ICAgIyBpbmNsdWRlIDx0aW1lLmg+CnwgICAjIGluY2x1ZGUgPHdjaGFyLmg+CnwgICAj ZW5kaWYKfCAKfCAgICAgICAgICAgICAgIGludCBpdyA9IFVJTlRNQVhfV0lEVEg7CnwgCnwgaW50 CnwgbWFpbiAoKQp8IHsKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI0MDM2 OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNDQ5MjogY2hlY2tpbmcgZm9yIDY0LWJpdCBvZmZfdApj b25maWd1cmU6MjQ1MTA6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0y IC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjI0NTEwOiAkPyA9IDAK Y29uZmlndXJlOjI0NTE4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjQ1MjU6IGNoZWNraW5nIGZv ciA2NC1iaXQgc3Rfc2l6ZQpjb25maWd1cmU6MjQ1NDQ6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1j IC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29uZnRl c3QuYzoxNjg6NTI6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSAnc3RydWN0 IHN0YXQnCiAgMTY4IHwgICAgICAgICAgICAgICAgIGludCB2ZXJpZnlfc3Rfc2l6ZV9zaXplW3Np emVvZiAoYnVmLnN0X3NpemUpID49IDggPyAxIDogLTFdOwogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KY29uZnRlc3QuYzoxNjc6Mjk6 IGVycm9yOiBzdG9yYWdlIHNpemUgb2YgJ2J1ZicgaXNuJ3Qga25vd24KICAxNjcgfCAgICAgICAg ICAgICAgICAgc3RydWN0IHN0YXQgYnVmOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn4KY29uZmlndXJlOjI0NTQ0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh bSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9W RVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4w LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIK fCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNz LyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05T X18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAx CnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2Rl ZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNT IDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVm aW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dB TlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlf RlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9f IDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dB TlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZp bmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJ VFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dz LW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8 ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEK fCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBI QVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lN QUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFH RVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFE U19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAx CnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZp bmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEK fCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmluZSBI QVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwg I2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1P RFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUg SEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVmaW5l IE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmlu ZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwy IDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8 ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFW RV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NF VExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJM SU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9T SUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJ TUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8 ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAx CnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURfQUxMT0MgMAp8ICNkZWZpbmUgSEFWRV9fX0JV SUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5J VCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX1NCUksgMQp8ICNkZWZp bmUgSEFWRV9DQU5PTklDQUxJWkVfRklMRV9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksg MQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRVhQTElDSVRfQlpF Uk8gMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0RBVCAx CnwgI2RlZmluZSBIQVZFX0xDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5l IEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VU VElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAx CnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVm aW5lIEhBVkVfSVNXQ1RZUEUgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUg SEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIHZmb3Jr IGZvcmsKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19D T0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fX05MX1BBUEVSX1dJRFRIIDEKfCAjZGVm aW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBO VUxMX0RFVklDRSAiTlVMOiIKfCAjZGVmaW5lIFNFUENIQVIgJzsnCnwgI2RlZmluZSBzdWJwcm9j ZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBE SVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pICgoX2NfKSA9PSAn OicpCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09ICcvJyB8fCAoX2Nf KSA9PSAnXFwnKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChf Y18pIHx8IElTX0RFVklDRV9TRVAoX2NfKSkKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNF ICIvZGV2L2RzcCIKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX1NU QUNLX09WRVJGTE9XX0hBTkRMSU5HIDEKfCAjZGVmaW5lIERPU19OVCAvKiovCnwgI2RlZmluZSBX SU5ET1dTTlQgMQp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIENPUFlSSUdI VCAiQ29weXJpZ2h0IChDKSAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAj ZGVmaW5lIFRFUk1fSEVBREVSICJ3MzJ0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFU SU9OICJ4ODZfNjQtdzY0LW1pbmd3MzIiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAi LS1wcmVmaXg9L2hvbWUvVldpblVzZXIwL0Rvd25sb2Fkcy9lbWFjcy9uYXRpdmUtY29tcC9idWls dCAtLXdpdGgtbmF0aXZlY29tcCIKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FUVFJJQlVURV9BTElH TkVEIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEVNRU5UX0VY UFJFU1NJT05TIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFT SF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEZVTkNfUkVBTFBBVEhfV09SS1MgMQp8ICNk ZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8 ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhB VkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNp bmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAgICAgICAgICAgICAgICAgc3RydWN0IHN0YXQgYnVmOwp8 ICAgICAgICAgICAgICAgICBpbnQgdmVyaWZ5X3N0X3NpemVfc2l6ZVtzaXplb2YgKGJ1Zi5zdF9z aXplKSA+PSA4ID8gMSA6IC0xXTsKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IAp8ICAgOwp8ICAg cmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjQ1NTI6IHJlc3VsdDogbm8KY29uZmlndXJlOjI0NTY4 OiBjaGVja2luZyB3aGV0aGVyIG1lbW1lbSBpcyBkZWNsYXJlZApjb25maWd1cmU6MjQ1Njg6IGdj YyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAg Y29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5j OjIwNjoxMDogZXJyb3I6ICdtZW1tZW0nIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKTsgZGlkIHlvdSBtZWFuICdtZW1zZXQnPwogIDIwNiB8ICAgKHZvaWQpIG1lbW1lbTsK ICAgICAgfCAgICAgICAgICBefn5+fn4KICAgICAgfCAgICAgICAgICBtZW1zZXQKY29uZnRlc3Qu YzoyMDY6MTA6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9u bHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCmNvbmZpZ3VyZToyNDU2ODog JD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8K fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJO QU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5l IFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVH UkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0 cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1Ag MQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2Rl ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg SEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNF IDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8 ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAj ZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9J RUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlf QkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8 ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9f U1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9M SUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAj ZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRf QVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAx CnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNU RU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVm aW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBI QVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lO VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lU SF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9O VEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVN X01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQ X0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZF X1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAj ZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2Rl ZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVm aW5lIEhBVkVfSEFSRkJVWlogMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9K UEVHIDEKfCAjZGVmaW5lIEhBVkVfTENNUzIgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVm aW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVm aW5lIEhBVkVfTElCR0NDSklUIDEKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUX0ggMQp8ICNkZWZp bmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIuZWxu Igp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhB VkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1RO QU1FIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2Rl ZmluZSBIQVZFX1RSVU5DIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVf R0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9H RVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVU RE9XTiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NU UlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRU TyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUg MQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1FX05QIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTElH TkVEX0FMTE9DIDAKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX0ZSQU1FX0FERFJFU1MgMQp8ICNk ZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08g MQp8ICNkZWZpbmUgSEFWRV9TQlJLIDEKfCAjZGVmaW5lIEhBVkVfQ0FOT05JQ0FMSVpFX0ZJTEVf TkFNRSAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktB VCAxCnwgI2RlZmluZSBIQVZFX0VYUExJQ0lUX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VT U0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EQVQgMQp8ICNkZWZpbmUgSEFWRV9MQ0hNT0QgMQp8 ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8ICNkZWZpbmUg SEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZF X0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEK fCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2RlZmluZSBIQVZFX0lTV0NUWVBFIDEKfCAjZGVm aW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBI QVZFX1VUSU1FTlNBVCAxCnwgI2RlZmluZSB2Zm9yayBmb3JrCnwgI2RlZmluZSBIQVZFX1NOUFJJ TlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0xB TkdJTkZPX19OTF9QQVBFUl9XSURUSCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2Rl ZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIk5VTDoiCnwgI2RlZmlu ZSBTRVBDSEFSICc7Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVM TF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5l IElTX0RFVklDRV9TRVAoX2NfKSAoKF9jXykgPT0gJzonKQp8ICNkZWZpbmUgSVNfRElSRUNUT1JZ X1NFUChfY18pICgoX2NfKSA9PSAnLycgfHwgKF9jXykgPT0gJ1xcJykKfCAjZGVmaW5lIElTX0FO WV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSB8fCBJU19ERVZJQ0VfU0VQKF9jXykp CnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBHQ19T RVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9TVEFDS19PVkVSRkxPV19IQU5ETElORyAxCnwg I2RlZmluZSBET1NfTlQgLyoqLwp8ICNkZWZpbmUgV0lORE9XU05UIDEKfCAjZGVmaW5lIFVTQUJM RV9GSU9OUkVBRCAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAyMCBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAidzMydGVy bS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAieDg2XzY0LXc2NC1taW5ndzMyIgp8 ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PS9ob21lL1ZXaW5Vc2VyMC9E b3dubG9hZHMvZW1hY3MvbmF0aXZlLWNvbXAvYnVpbHQgLS13aXRoLW5hdGl2ZWNvbXAiCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9BVFRSSUJVVEVfQUxJR05FRCAxCnwgI2RlZmluZSBIQVZFX1RZUEVP RiAxCnwgI2RlZmluZSBIQVZFX1NUQVRFTUVOVF9FWFBSRVNTSU9OUyAxCnwgI2RlZmluZSBIQVZF X0FMTE9DQSAxCnwgI2RlZmluZSBET1VCTEVfU0xBU0hfSVNfRElTVElOQ1RfUk9PVCAxCnwgI2Rl ZmluZSBGVU5DX1JFQUxQQVRIX1dPUktTIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QK fCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIExTVEFUX0ZPTExPV1NfU0xB U0hFRF9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIEhB VkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQg MQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYg SEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAj aWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0 ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3Rk bGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAh ZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVk ZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IGlu dAp8IG1haW4gKCkKfCB7CnwgI2lmbmRlZiBtZW1tZW0KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCAg ICh2b2lkKSBtZW1tZW07CnwgI2Vsc2UKfCAgICh2b2lkKSBtZW1tZW07CnwgI2VuZGlmCnwgI2Vu ZGlmCnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyNDU2ODogcmVzdWx0OiBu bwpjb25maWd1cmU6MjQ1Nzk6IGNoZWNraW5nIHdoZXRoZXIgbWVtcmNociBpcyBkZWNsYXJlZApj b25maWd1cmU6MjQ1Nzk6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0y IC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24g J21haW4nOgpjb25mdGVzdC5jOjIwNzoxMDogZXJyb3I6ICdtZW1yY2hyJyB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiAnbWVtY2hyJz8KICAyMDcg fCAgICh2b2lkKSBtZW1yY2hyOwogICAgICB8ICAgICAgICAgIF5+fn5+fn4KICAgICAgfCAgICAg ICAgICBtZW1jaHIKY29uZnRlc3QuYzoyMDc6MTA6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVu dGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJz IGluCmNvbmZpZ3VyZToyNDU3OTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz Ogp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP TiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIK fCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2Rl ZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwg I2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5l IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEK fCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNk ZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUg X09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwg I2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBf X1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lF Q182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNT X0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwg I2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01B VEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9I UFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0 CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIK fCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVm aW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2Rl ZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9M SU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlU X0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9JTUFHRV9B UEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpF IDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5B QkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNk ZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAjZGVmaW5lIFVT RV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2Rl ZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNkZWZpbmUgSEFWRV9Y UE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENNUzIgMQp8ICNkZWZp bmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmluZSBNT0RVTEVT X1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAjZGVmaW5lIEhBVkVf TElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwgI2RlZmluZSBOQVRJ VkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFW RV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwg I2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVm aW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEKfCAjZGVmaW5lIEhBVkVfU0VM RUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NB TEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQg MQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFT SyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAx CnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVm aW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNk ZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1FX05QIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDAKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElO X0ZSQU1FX0FERFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8 ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9TQlJLIDEKfCAjZGVmaW5lIEhB VkVfQ0FOT05JQ0FMSVpFX0ZJTEVfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAj ZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0VYUExJQ0lUX0JaRVJPIDEK fCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EQVQgMQp8ICNk ZWZpbmUgSEFWRV9MQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZF X0ZTVEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVP RkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNk ZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2RlZmluZSBI QVZFX0lTV0NUWVBFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVf U1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwgI2RlZmluZSB2Zm9yayBmb3Jr CnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNF VCAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX19OTF9QQVBFUl9XSURUSCAxCnwgI2RlZmluZSBI QVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9E RVZJQ0UgIk5VTDoiCnwgI2RlZmluZSBTRVBDSEFSICc7Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2Vz IDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNU T1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAoKF9jXykgPT0gJzonKQp8 ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSAnLycgfHwgKF9jXykgPT0g J1xcJykKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSB8 fCBJU19ERVZJQ0VfU0VQKF9jXykpCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rl di9kc3AiCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9TVEFDS19P VkVSRkxPV19IQU5ETElORyAxCnwgI2RlZmluZSBET1NfTlQgLyoqLwp8ICNkZWZpbmUgV0lORE9X U05UIDEKfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNv cHlyaWdodCAoQykgMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmlu ZSBURVJNX0hFQURFUiAidzMydGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAi eDg2XzY0LXc2NC1taW5ndzMyIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJl Zml4PS9ob21lL1ZXaW5Vc2VyMC9Eb3dubG9hZHMvZW1hY3MvbmF0aXZlLWNvbXAvYnVpbHQgLS13 aXRoLW5hdGl2ZWNvbXAiCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BVFRSSUJVVEVfQUxJR05FRCAx CnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX1NUQVRFTUVOVF9FWFBSRVNT SU9OUyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBET1VCTEVfU0xBU0hfSVNf RElTVElOQ1RfUk9PVCAxCnwgI2RlZmluZSBGVU5DX1JFQUxQQVRIX1dPUktTIDEKfCAjZGVmaW5l IHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVm aW5lIExTVEFUX0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T VFJNT0RFIDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX1VO U0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTU1FTSAwCnwgLyog ZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZ U19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBT VERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+ CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4K fCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVk IFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1v cnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgaW50CnwgbWFp biAoKQp8IHsKfCAjaWZuZGVmIG1lbXJjaHIKfCAjaWZkZWYgX19jcGx1c3BsdXMKfCAgICh2b2lk KSBtZW1yY2hyOwp8ICNlbHNlCnwgICAodm9pZCkgbWVtcmNocjsKfCAjZW5kaWYKfCAjZW5kaWYK fCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI0NTc5OiByZXN1bHQ6IG5vCmNv bmZpZ3VyZToyNDU5NDogY2hlY2tpbmcgd2hldGhlciA8bGltaXRzLmg+IGRlZmluZXMgTUlOIGFu ZCBNQVgKY29uZmlndXJlOjI0NjExOiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1n ZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6MTY5OjIx OiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnTUlOJyBbLVdpbXBs aWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICAxNjkgfCAgICAgICAgICAgICBpbnQgeCA9IE1J TiAoNDIsIDE3KTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgIF5+fgpjb25mdGVzdC5jOjE2 OToyMTogZXJyb3I6IGluaXRpYWxpemVyIGVsZW1lbnQgaXMgbm90IGNvbnN0YW50CmNvbmZpZ3Vy ZToyNDYxMTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk ZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFD S0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIK fCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBB Q0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdF X1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlM X1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVS UyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9B TExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9T T1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09V UkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NU RENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9J RUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBf RVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAj ZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NU RENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5D U19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BF Tl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBH Q0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhB VkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFM TE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BX RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9I IDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwg I2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZp bmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZp bmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5l IFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2Rl ZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9K U09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElG WSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElN IDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZp bmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENNUzIgMQp8ICNkZWZpbmUgSEFWRV9aTElC IDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRs bCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUX0gg MQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJU1BfU1VG RklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAj ZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZF X0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklO VCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVm aW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZp bmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUg SEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmlu ZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBI QVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VU U09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9M T0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1FX05QIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9BTElHTkVEX0FMTE9DIDAKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX0ZSQU1FX0FERFJF U1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFW RV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9TQlJLIDEKfCAjZGVmaW5lIEhBVkVfQ0FOT05JQ0FM SVpFX0ZJTEVfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVf UkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0VYUExJQ0lUX0JaRVJPIDEKfCAjZGVmaW5lIEhB VkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EQVQgMQp8ICNkZWZpbmUgSEFWRV9M Q0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8 ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2Rl ZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFWRV9Q U0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2RlZmluZSBIQVZFX0lTV0NUWVBF IDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwg I2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwgI2RlZmluZSB2Zm9yayBmb3JrCnwgI2RlZmluZSBI QVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmlu ZSBIQVZFX0xBTkdJTkZPX19OTF9QQVBFUl9XSURUSCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVf VCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIk5VTDoi CnwgI2RlZmluZSBTRVBDSEFSICc7Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5l IFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycK fCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAoKF9jXykgPT0gJzonKQp8ICNkZWZpbmUgSVNf RElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSAnLycgfHwgKF9jXykgPT0gJ1xcJykKfCAjZGVm aW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSB8fCBJU19ERVZJQ0Vf U0VQKF9jXykpCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2Rl ZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9TVEFDS19PVkVSRkxPV19IQU5E TElORyAxCnwgI2RlZmluZSBET1NfTlQgLyoqLwp8ICNkZWZpbmUgV0lORE9XU05UIDEKfCAjZGVm aW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykg MjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURF UiAidzMydGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAieDg2XzY0LXc2NC1t aW5ndzMyIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PS9ob21lL1ZX aW5Vc2VyMC9Eb3dubG9hZHMvZW1hY3MvbmF0aXZlLWNvbXAvYnVpbHQgLS13aXRoLW5hdGl2ZWNv bXAiCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BVFRSSUJVVEVfQUxJR05FRCAxCnwgI2RlZmluZSBI QVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX1NUQVRFTUVOVF9FWFBSRVNTSU9OUyAxCnwgI2Rl ZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBET1VCTEVfU0xBU0hfSVNfRElTVElOQ1RfUk9P VCAxCnwgI2RlZmluZSBGVU5DX1JFQUxQQVRIX1dPUktTIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9f cmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIExTVEFUX0ZP TExPV1NfU0xBU0hFRF9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAj ZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdf TE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTU1FTSAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfTUVNUkNIUiAwCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxsaW1pdHMu aD4KfCAgICAgICAgICAgICBpbnQgeCA9IE1JTiAoNDIsIDE3KTsKfCBpbnQKfCBtYWluICgpCnwg ewp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjQ2MTg6IHJlc3VsdDogbm8K Y29uZmlndXJlOjI0NjMxOiBjaGVja2luZyB3aGV0aGVyIDxzeXMvcGFyYW0uaD4gZGVmaW5lcyBN SU4gYW5kIE1BWApjb25maWd1cmU6MjQ2NDg6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAt TzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzox Njk6MjE6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdNSU4nIFst V2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIDE2OSB8ICAgICAgICAgICAgIGludCB4 ID0gTUlOICg0MiwgMTcpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgXn5+CmNvbmZ0ZXN0 LmM6MTY5OjIxOiBlcnJvcjogaW5pdGlhbGl6ZXIgZWxlbWVudCBpcyBub3QgY29uc3RhbnQKY29u ZmlndXJlOjI0NjQ4OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog Y29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4w LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZp bmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBB Q0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5l IE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19I RUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdf SCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEK fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZp bmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBf R05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJT RF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5l IF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19X QU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5 X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18g MQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5l IF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVD X0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxU X1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVm aW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZp bmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFW RV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhB VkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BB UkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVG U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19I IDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwg I2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwg I2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNk ZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEK fCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBI QVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVf Tk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVT RV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwg I2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwgI2RlZmluZSBIQVZF X1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1PRFVMRVNfU1VGRklY ICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NK SVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVmaW5lIE5BVElWRV9FTElT UF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYg MQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5l IEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFW RV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwg I2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2Rl ZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAj ZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVm aW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFW RV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBI QVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX0FMSUdORURfQUxMT0MgMAp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRlJBTUVf QUREUkVTUyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmlu ZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX1NCUksgMQp8ICNkZWZpbmUgSEFWRV9DQU5P TklDQUxJWkVfRklMRV9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUg SEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRVhQTElDSVRfQlpFUk8gMQp8ICNkZWZp bmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0RBVCAxCnwgI2RlZmluZSBI QVZFX0xDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRB VCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEK fCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBI QVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfSVNX Q1RZUEUgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5L IDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIHZmb3JrIGZvcmsKfCAjZGVm aW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAj ZGVmaW5lIEhBVkVfTEFOR0lORk9fX05MX1BBUEVSX1dJRFRIIDEKfCAjZGVmaW5lIEhBVkVfTUJT VEFURV9UIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAi TlVMOiIKfCAjZGVmaW5lIFNFUENIQVIgJzsnCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNk ZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQ ICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pICgoX2NfKSA9PSAnOicpCnwgI2RlZmlu ZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09ICcvJyB8fCAoX2NfKSA9PSAnXFwnKQp8 ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pIHx8IElTX0RF VklDRV9TRVAoX2NfKSkKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIK fCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX1NUQUNLX09WRVJGTE9X X0hBTkRMSU5HIDEKfCAjZGVmaW5lIERPU19OVCAvKiovCnwgI2RlZmluZSBXSU5ET1dTTlQgMQp8 ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0 IChDKSAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1f SEVBREVSICJ3MzJ0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQt dzY0LW1pbmd3MzIiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9L2hv bWUvVldpblVzZXIwL0Rvd25sb2Fkcy9lbWFjcy9uYXRpdmUtY29tcC9idWlsdCAtLXdpdGgtbmF0 aXZlY29tcCIKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FUVFJJQlVURV9BTElHTkVEIDEKfCAjZGVm aW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEVNRU5UX0VYUFJFU1NJT05TIDEK fCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5D VF9ST09UIDEKfCAjZGVmaW5lIEZVTkNfUkVBTFBBVEhfV09SS1MgMQp8ICNkZWZpbmUgcmVzdHJp Y3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgTFNU QVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUg MAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURf TE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNTUVNIDAKfCAjZGVmaW5lIEhB VkVfREVDTF9NRU1SQ0hSIDAKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5 cy9wYXJhbS5oPgp8ICAgICAgICAgICAgIGludCB4ID0gTUlOICg0MiwgMTcpOwp8IGludAp8IG1h aW4gKCkKfCB7CnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyNDY1NTogcmVz dWx0OiBubwpjb25maWd1cmU6MjQ2OTc6IGNoZWNraW5nIHdoZXRoZXIgdGltZV90IGlzIHNpZ25l ZApjb25maWd1cmU6MjQ3MTQ6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2Fy Zi0yIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjI0NzE0OiAkPyA9 IDAKY29uZmlndXJlOjI0NzIxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjQ3Mjk6IGNoZWNraW5n IHdoZXRoZXIgYWxhcm0gaXMgZGVjbGFyZWQKY29uZmlndXJlOjI0NzI5OiByZXN1bHQ6IHllcwpj b25maWd1cmU6MjQ3NDY6IGNoZWNraW5nIGZvciB3b3JraW5nIG1rdGltZQpjb25maWd1cmU6MjQ5 ODI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNDk4NTogY2hlY2tpbmcgd2hldGhlciBzdHJ1Y3Qg dG0gaXMgaW4gc3lzL3RpbWUuaCBvciB0aW1lLmgKY29uZmlndXJlOjI1MDA1OiBnY2MgLUkgLi4v c3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZpZ3VyZToyNTAwNTogJD8gPSAwCmNvbmZpZ3VyZToyNTAxMjogcmVzdWx0OiB0 aW1lLmgKY29uZmlndXJlOjI1MDIwOiBjaGVja2luZyBmb3Igc3RydWN0IHRtLnRtX3pvbmUKY29u ZmlndXJlOjI1MDIwOiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAt bXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdt YWluJzoKY29uZnRlc3QuYzoxNzg6MTM6IGVycm9yOiAnc3RydWN0IHRtJyBoYXMgbm8gbWVtYmVy IG5hbWVkICd0bV96b25lJzsgZGlkIHlvdSBtZWFuICd0bV9tb24nPwogIDE3OCB8IGlmIChhY19h Z2dyLnRtX3pvbmUpCiAgICAgIHwgICAgICAgICAgICAgXn5+fn5+fgogICAgICB8ICAgICAgICAg ICAgIHRtX21vbgpjb25maWd1cmU6MjUwMjA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBF bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdF X1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4 LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3Jn Igp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1h Y3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwg I2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lP TlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNF IDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAj ZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJ Q1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNk ZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENf V0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1 OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhU X18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENf V0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2Rl ZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRf QklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRv d3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAx CnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0gg MQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5l IEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NUQVRfSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9T WVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVf SU1BR0VfQVBJIDEKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBVU0VfTU1BUF9GT1JfQlVGRkVSUyAxCnwgI2RlZmluZSBUSFJF QURTX0VOQUJMRUQgMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfR05VVExT IDEKfCAjZGVmaW5lIEhBVkVfSlNPTiAxCnwgI2RlZmluZSBIQVZFX1czMk5PVElGWSAxCnwgI2Rl ZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMg MQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0hBUkZCVVpaIDEKfCAjZGVmaW5l IEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0xDTVMyIDEK fCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX01PRFVMRVMgMQp8ICNkZWZpbmUg TU9EVUxFU19TVUZGSVggIi5kbGwiCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVCAxCnwgI2RlZmlu ZSBIQVZFX0xJQkdDQ0pJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0NPTVAgMQp8ICNkZWZp bmUgTkFUSVZFX0VMSVNQX1NVRkZJWCAiLmVsbiIKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVm aW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX0xJQlhN TDIgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAx CnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9UUlVOQyAxCnwgI2RlZmluZSBI QVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVf U0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VU UkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFE X1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJ VElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAx CnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9S IDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9O UCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxJR05FRF9BTExPQyAwCnwgI2RlZmluZSBIQVZFX19f QlVJTFRJTl9GUkFNRV9BRERSRVNTIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9J TklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfU0JSSyAxCnwgI2Rl ZmluZSBIQVZFX0NBTk9OSUNBTElaRV9GSUxFX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElO SyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9FWFBMSUNJVF9C WkVSTyAxCnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PREFU IDEKfCAjZGVmaW5lIEhBVkVfTENITU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZp bmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9H RVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BJUEUy IDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0lTQkxBTksgMQp8ICNk ZWZpbmUgSEFWRV9JU1dDVFlQRSAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmlu ZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUgdmZv cmsgZm9yawp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZP X0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19fTkxfUEFQRVJfV0lEVEggMQp8ICNk ZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5l IE5VTExfREVWSUNFICJOVUw6Igp8ICNkZWZpbmUgU0VQQ0hBUiAnOycKfCAjZGVmaW5lIHN1YnBy b2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5l IERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgKChfY18pID09 ICc6JykKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gJy8nIHx8IChf Y18pID09ICdcXCcpCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAg KF9jXykgfHwgSVNfREVWSUNFX1NFUChfY18pKQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJ Q0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVf U1RBQ0tfT1ZFUkZMT1dfSEFORExJTkcgMQp8ICNkZWZpbmUgRE9TX05UIC8qKi8KfCAjZGVmaW5l IFdJTkRPV1NOVCAxCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgQ09QWVJJ R0hUICJDb3B5cmlnaHQgKEMpIDIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8 ICNkZWZpbmUgVEVSTV9IRUFERVIgInczMnRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VS QVRJT04gIng4Nl82NC13NjQtbWluZ3czMiIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05T ICItLXByZWZpeD0vaG9tZS9WV2luVXNlcjAvRG93bmxvYWRzL2VtYWNzL25hdGl2ZS1jb21wL2J1 aWx0IC0td2l0aC1uYXRpdmVjb21wIgp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQVRUUklCVVRFX0FM SUdORUQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9TVEFURU1FTlRf RVhQUkVTU0lPTlMgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgRE9VQkxFX1NM QVNIX0lTX0RJU1RJTkNUX1JPT1QgMQp8ICNkZWZpbmUgRlVOQ19SRUFMUEFUSF9XT1JLUyAxCnwg I2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAx CnwgI2RlZmluZSBMU1RBVF9GT0xMT1dTX1NMQVNIRURfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUg SEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1NRU0g MAp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgVElNRV9UX0lTX1NJR05F RCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHRpbWUuaD4KfCAKfCAKfCBpbnQK fCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3QgdG0gYWNfYWdncjsKfCBpZiAoYWNfYWdnci50 bV96b25lKQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjUw MjA6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5l cmljICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25m dGVzdC5jOjE3ODoyMDogZXJyb3I6ICdzdHJ1Y3QgdG0nIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3Rt X3pvbmUnOyBkaWQgeW91IG1lYW4gJ3RtX21vbic/CiAgMTc4IHwgaWYgKHNpemVvZiBhY19hZ2dy LnRtX3pvbmUpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KICAgICAgfCAgICAg ICAgICAgICAgICAgICAgdG1fbW9uCmNvbmZpZ3VyZToyNTAyMDogJD8gPSAxCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf TkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJH TlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVt YWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9z b2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9Q RFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJX SU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9T T1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhS RUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19F WFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVm aW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dB TlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1 OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVm aW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09V UkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9G SUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1f VFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBI QVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NP Q0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2Rl ZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBI QVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAj ZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUg SEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9U SUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9T Q1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlog MQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhB VkVfTENNUzIgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAx CnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklU IDEKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09N UCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9Q TkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5l IEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhB VkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEK fCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNk ZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZp bmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmlu ZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZF X1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9H QUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9TRVROQU1FX05QIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDAKfCAjZGVm aW5lIEhBVkVfX19CVUlMVElOX0ZSQU1FX0FERFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxU SU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9T QlJLIDEKfCAjZGVmaW5lIEhBVkVfQ0FOT05JQ0FMSVpFX0ZJTEVfTkFNRSAxCnwgI2RlZmluZSBI QVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZF X0VYUExJQ0lUX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhB VkVfRkNITU9EQVQgMQp8ICNkZWZpbmUgSEFWRV9MQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ05U TCAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2Rl ZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5l IEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfSVNC TEFOSyAxCnwgI2RlZmluZSBIQVZFX0lTV0NUWVBFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFY IDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwg I2RlZmluZSB2Zm9yayBmb3JrCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhB VkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX19OTF9QQVBFUl9X SURUSCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMg MQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIk5VTDoiCnwgI2RlZmluZSBTRVBDSEFSICc7Jwp8ICNk ZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNv cwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2Nf KSAoKF9jXykgPT0gJzonKQp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9 PSAnLycgfHwgKF9jXykgPT0gJ1xcJykKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElS RUNUT1JZX1NFUCAoX2NfKSB8fCBJU19ERVZJQ0VfU0VQKF9jXykpCnwgI2RlZmluZSBERUZBVUxU X1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNk ZWZpbmUgSEFWRV9TVEFDS19PVkVSRkxPV19IQU5ETElORyAxCnwgI2RlZmluZSBET1NfTlQgLyoq Lwp8ICNkZWZpbmUgV0lORE9XU05UIDEKfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2Rl ZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAidzMydGVybS5oIgp8ICNkZWZpbmUgRU1B Q1NfQ09ORklHVVJBVElPTiAieDg2XzY0LXc2NC1taW5ndzMyIgp8ICNkZWZpbmUgRU1BQ1NfQ09O RklHX09QVElPTlMgIi0tcHJlZml4PS9ob21lL1ZXaW5Vc2VyMC9Eb3dubG9hZHMvZW1hY3MvbmF0 aXZlLWNvbXAvYnVpbHQgLS13aXRoLW5hdGl2ZWNvbXAiCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9B VFRSSUJVVEVfQUxJR05FRCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZF X1NUQVRFTUVOVF9FWFBSRVNTSU9OUyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmlu ZSBET1VCTEVfU0xBU0hfSVNfRElTVElOQ1RfUk9PVCAxCnwgI2RlZmluZSBGVU5DX1JFQUxQQVRI X1dPUktTIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfRU5W SVJPTl9ERUNMIDEKfCAjZGVmaW5lIExTVEFUX0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5LIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAx CnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX01FTU1FTSAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBUSU1F X1RfSVNfU0lHTkVEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgLyogZW5kIGNvbmZk ZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVkZSA8dGltZS5oPgp8 IAp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3RhdGljIHN0cnVjdCB0bSBhY19hZ2dyOwp8IGlm IChzaXplb2YgYWNfYWdnci50bV96b25lKQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7 CnwgfQpjb25maWd1cmU6MjUwMjA6IHJlc3VsdDogbm8KY29uZmlndXJlOjI1MDM4OiBjaGVja2lu ZyB3aGV0aGVyIHR6bmFtZSBpcyBkZWNsYXJlZApjb25maWd1cmU6MjUwMzg6IGdjYyAtSSAuLi9z cmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3Qu YyA+JjUKY29uZmlndXJlOjI1MDM4OiAkPyA9IDAKY29uZmlndXJlOjI1MDM4OiByZXN1bHQ6IHll cwpjb25maWd1cmU6MjUwNTA6IGNoZWNraW5nIGZvciB0em5hbWUKY29uZmlndXJlOjI1MDcwOiBn Y2MgLUkgLi4vc3JjL250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgLW10 dW5lPWdlbmVyaWMgICAgY29uZnRlc3QuYyAgID4mNSAKY29uZmlndXJlOjI1MDcwOiAkPyA9IDAK Y29uZmlndXJlOjI1MDc4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjUwODg6IGNoZWNraW5nIGZv ciBzdHJ1Y3QgdG0udG1fZ210b2ZmCmNvbmZpZ3VyZToyNTA4ODogZ2NjIC1JIC4uL3NyYy9udC9p bmMgLWMgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5lPWdlbmVyaWMgICBjb25mdGVzdC5jID4mNQpj b25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MTc4OjEyOiBlcnJvcjog J3N0cnVjdCB0bScgaGFzIG5vIG1lbWJlciBuYW1lZCAndG1fZ210b2ZmJwogIDE3OCB8IGlmIChh Y19hZ2dyLnRtX2dtdG9mZikKICAgICAgfCAgICAgICAgICAgIF4KY29uZmlndXJlOjI1MDg4OiAk PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8 ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUg UEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS RVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRw czovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAx CnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI QVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0Ug MQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwg I2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNk ZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lF Q182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9C RlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwg I2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19T VERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJ Ql9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNk ZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9B UEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEK fCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RF TV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZp bmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhB VkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRI X1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05U R1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1f TUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBf Rk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVf UlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNk ZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVm aW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZp bmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQ RUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZp bmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZp bmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmlu ZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVmaW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4i CnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFW RV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5B TUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVm aW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9H RVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRE T1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RS U0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRP IDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAx CnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNk ZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdO RURfQUxMT0MgMAp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2Rl ZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAx CnwgI2RlZmluZSBIQVZFX1NCUksgMQp8ICNkZWZpbmUgSEFWRV9DQU5PTklDQUxJWkVfRklMRV9O QU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FU IDEKfCAjZGVmaW5lIEhBVkVfRVhQTElDSVRfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNT QVQgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0RBVCAxCnwgI2RlZmluZSBIQVZFX0xDSE1PRCAxCnwg I2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBI QVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVf TFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8 ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfSVNXQ1RZUEUgMQp8ICNkZWZp bmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhB VkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIHZmb3JrIGZvcmsKfCAjZGVmaW5lIEhBVkVfU05QUklO VEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTEFO R0lORk9fX05MX1BBUEVSX1dJRFRIIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVm aW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiTlVMOiIKfCAjZGVmaW5l IFNFUENIQVIgJzsnCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxM X05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUg SVNfREVWSUNFX1NFUChfY18pICgoX2NfKSA9PSAnOicpCnwgI2RlZmluZSBJU19ESVJFQ1RPUllf U0VQKF9jXykgKChfY18pID09ICcvJyB8fCAoX2NfKSA9PSAnXFwnKQp8ICNkZWZpbmUgSVNfQU5Z X1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pIHx8IElTX0RFVklDRV9TRVAoX2NfKSkK fCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIEdDX1NF VEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX1NUQUNLX09WRVJGTE9XX0hBTkRMSU5HIDEKfCAj ZGVmaW5lIERPU19OVCAvKiovCnwgI2RlZmluZSBXSU5ET1dTTlQgMQp8ICNkZWZpbmUgVVNBQkxF X0ZJT05SRUFEIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDIwIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ3MzJ0ZXJt LmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQtdzY0LW1pbmd3MzIiCnwg I2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9L2hvbWUvVldpblVzZXIwL0Rv d25sb2Fkcy9lbWFjcy9uYXRpdmUtY29tcC9idWlsdCAtLXdpdGgtbmF0aXZlY29tcCIKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0FUVFJJQlVURV9BTElHTkVEIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9G IDEKfCAjZGVmaW5lIEhBVkVfU1RBVEVNRU5UX0VYUFJFU1NJT05TIDEKfCAjZGVmaW5lIEhBVkVf QUxMT0NBIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVm aW5lIEZVTkNfUkVBTFBBVEhfV09SS1MgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8 ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFT SEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgSEFW RV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNTUVNIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hS IDAKfCAjZGVmaW5lIFRJTUVfVF9JU19TSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJN IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8 IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8dGltZS5oPgp8IAp8IGludAp8IG1h aW4gKCkKfCB7Cnwgc3RhdGljIHN0cnVjdCB0bSBhY19hZ2dyOwp8IGlmIChhY19hZ2dyLnRtX2dt dG9mZikKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI1MDg4 OiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJp YyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRl c3QuYzoxNzg6MTk6IGVycm9yOiAnc3RydWN0IHRtJyBoYXMgbm8gbWVtYmVyIG5hbWVkICd0bV9n bXRvZmYnCiAgMTc4IHwgaWYgKHNpemVvZiBhY19hZ2dyLnRtX2dtdG9mZikKICAgICAgfCAgICAg ICAgICAgICAgICAgICBeCmNvbmZpZ3VyZToyNTA4ODogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVk IHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAi R05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBB Q0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1h Y3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdu dS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2Fy ZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVS IDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhU RU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19T T1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0Ug MQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NF TUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAx CnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9f U1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVD XzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBF U19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9f U1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEK fCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09G RlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAi d2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NP VU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VS Q0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNk ZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBI QVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05B VElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZF X0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5l IFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9H TlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEK fCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExf QkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNk ZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENN UzIgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2Rl ZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAj ZGVmaW5lIEhBVkVfTElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwg I2RlZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8 ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVf TElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkFO RE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEKfCAjZGVm aW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUg SEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFW RV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX1BU SFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZF X1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZG Uk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RS RVJST1IgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVRO QU1FX05QIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDAKfCAjZGVmaW5lIEhB VkVfX19CVUlMVElOX0ZSQU1FX0FERFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5X SU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9TQlJLIDEK fCAjZGVmaW5lIEhBVkVfQ0FOT05JQ0FMSVpFX0ZJTEVfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JF QURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0VYUExJ Q0lUX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNI TU9EQVQgMQp8ICNkZWZpbmUgSEFWRV9MQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwg I2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBI QVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVf UElQRTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAx CnwgI2RlZmluZSBIQVZFX0lTV0NUWVBFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAj ZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwgI2RlZmlu ZSB2Zm9yayBmb3JrCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFO R0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX19OTF9QQVBFUl9XSURUSCAx CnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNk ZWZpbmUgTlVMTF9ERVZJQ0UgIk5VTDoiCnwgI2RlZmluZSBTRVBDSEFSICc7Jwp8ICNkZWZpbmUg c3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNk ZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAoKF9j XykgPT0gJzonKQp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSAnLycg fHwgKF9jXykgPT0gJ1xcJykKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZ X1NFUCAoX2NfKSB8fCBJU19ERVZJQ0VfU0VQKF9jXykpCnwgI2RlZmluZSBERUZBVUxUX1NPVU5E X0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUg SEFWRV9TVEFDS19PVkVSRkxPV19IQU5ETElORyAxCnwgI2RlZmluZSBET1NfTlQgLyoqLwp8ICNk ZWZpbmUgV0lORE9XU05UIDEKfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBD T1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAidzMydGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09O RklHVVJBVElPTiAieDg2XzY0LXc2NC1taW5ndzMyIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09Q VElPTlMgIi0tcHJlZml4PS9ob21lL1ZXaW5Vc2VyMC9Eb3dubG9hZHMvZW1hY3MvbmF0aXZlLWNv bXAvYnVpbHQgLS13aXRoLW5hdGl2ZWNvbXAiCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BVFRSSUJV VEVfQUxJR05FRCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX1NUQVRF TUVOVF9FWFBSRVNTSU9OUyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBET1VC TEVfU0xBU0hfSVNfRElTVElOQ1RfUk9PVCAxCnwgI2RlZmluZSBGVU5DX1JFQUxQQVRIX1dPUktT IDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9E RUNMIDEKfCAjZGVmaW5lIExTVEFUX0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5LIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2Rl ZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01F TU1FTSAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBUSU1FX1RfSVNf U0lHTkVEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf VFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICov CnwgI2luY2x1ZGUgPHRpbWUuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1 Y3QgdG0gYWNfYWdncjsKfCBpZiAoc2l6ZW9mIGFjX2FnZ3IudG1fZ210b2ZmKQp8IHJldHVybiAw Owp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjUwODg6IHJlc3VsdDogbm8KY29u ZmlndXJlOjI1MTExOiBjaGVja2luZyB3aGV0aGVyIDxzeXMvc2VsZWN0Lmg+IGlzIHNlbGYtY29u dGFpbmVkCmNvbmZpZ3VyZToyNTEyODogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAt Z2R3YXJmLTIgLW10dW5lPWdlbmVyaWMgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjE3Mjox MDogZmF0YWwgZXJyb3I6IHN5cy9zZWxlY3QuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQog IDE3MiB8ICNpbmNsdWRlIDxzeXMvc2VsZWN0Lmg+CiAgICAgIHwgICAgICAgICAgXn5+fn5+fn5+ fn5+fn4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjI1MTI4OiAkPyA9IDEKY29u ZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUg UEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNz Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9T VFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1 Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5n bnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmlu ZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9S WV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZp bmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBf TkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BP U0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9B VFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18g MQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBf X1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRf SUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18g MQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RB TkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNk ZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5l IFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAj ZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9E SVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJf SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1F IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAj ZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEK fCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZF UlMgMQp8ICNkZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwg I2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFW RV9XMzJOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9U T09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9I QVJGQlVaWiAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNk ZWZpbmUgSEFWRV9MQ01TMiAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9N T0RVTEVTIDEKfCAjZGVmaW5lIE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9M SUJHQ0NKSVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05B VElWRV9DT01QIDEKfCAjZGVmaW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmlu ZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8 ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNk ZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVf VFJVTkMgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0la RSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAx CnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEK fCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVm aW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEX1NFVE5BTUVfTlAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURfQUxMT0Mg MAp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2RlZmluZSBIQVZF X19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmlu ZSBIQVZFX1NCUksgMQp8ICNkZWZpbmUgSEFWRV9DQU5PTklDQUxJWkVfRklMRV9OQU1FIDEKfCAj ZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVm aW5lIEhBVkVfRVhQTElDSVRfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNk ZWZpbmUgSEFWRV9GQ0hNT0RBVCAxCnwgI2RlZmluZSBIQVZFX0xDSE1PRCAxCnwgI2RlZmluZSBI QVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5D IDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8 ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUg SEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfSVNXQ1RZUEUgMQp8ICNkZWZpbmUgSEFWRV9T VFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVO U0FUIDEKfCAjZGVmaW5lIHZmb3JrIGZvcmsKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNk ZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fX05M X1BBUEVSX1dJRFRIIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIEhBVkVf U09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiTlVMOiIKfCAjZGVmaW5lIFNFUENIQVIg JzsnCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHct PnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNF X1NFUChfY18pICgoX2NfKSA9PSAnOicpCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykg KChfY18pID09ICcvJyB8fCAoX2NfKSA9PSAnXFwnKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18p IChJU19ESVJFQ1RPUllfU0VQIChfY18pIHx8IElTX0RFVklDRV9TRVAoX2NfKSkKfCAjZGVmaW5l IERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JL UyAxCnwgI2RlZmluZSBIQVZFX1NUQUNLX09WRVJGTE9XX0hBTkRMSU5HIDEKfCAjZGVmaW5lIERP U19OVCAvKiovCnwgI2RlZmluZSBXSU5ET1dTTlQgMQp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFE IDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDIwIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ3MzJ0ZXJtLmgiCnwgI2Rl ZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQtdzY0LW1pbmd3MzIiCnwgI2RlZmluZSBF TUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9L2hvbWUvVldpblVzZXIwL0Rvd25sb2Fkcy9l bWFjcy9uYXRpdmUtY29tcC9idWlsdCAtLXdpdGgtbmF0aXZlY29tcCIKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0FUVFJJQlVURV9BTElHTkVEIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVm aW5lIEhBVkVfU1RBVEVNRU5UX0VYUFJFU1NJT05TIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEK fCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEZVTkNf UkVBTFBBVEhfV09SS1MgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUg SEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJ TksgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xP TkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfTUVNTUVNIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVm aW5lIFRJTUVfVF9JU19TSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3NlbGVjdC5oPgp8IGludAp8IG1haW4gKCkK fCB7Cnwgc3RydWN0IHRpbWV2YWwgYjsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJl OjI1MTkwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNTMzMDogY2hlY2tpbmcgZm9yIGlubGluZQpj b25maWd1cmU6MjUzNDY6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0y IC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjI1MzQ2OiAkPyA9IDAK Y29uZmlndXJlOjI1MzU0OiByZXN1bHQ6IGlubGluZQpjb25maWd1cmU6MjUzNzU6IGNoZWNraW5n IGZvciBzdGRsaWIuaApjb25maWd1cmU6MjUzNzU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNTM4 NTogY2hlY2tpbmcgZm9yIEdOVSBsaWJjIGNvbXBhdGlibGUgbWFsbG9jCmNvbmZpZ3VyZToyNTQw OTogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0y IC1tdHVuZT1nZW5lcmljICAgIGNvbmZ0ZXN0LmMgICA+JjUgCmNvbmZpZ3VyZToyNTQwOTogJD8g PSAwCmNvbmZpZ3VyZToyNTQwOTogLi9jb25mdGVzdC5leGUKY29uZmlndXJlOjI1NDA5OiAkPyA9 IDAKY29uZmlndXJlOjI1NDE5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjU0MzQ6IGNoZWNraW5n IHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBMaWJyYXJ5ID49IDIuMSBvciB1Q2xpYmMK Y29uZnRlc3QuYzoxNzU6MTA6IGZhdGFsIGVycm9yOiBmZWF0dXJlcy5oOiBObyBzdWNoIGZpbGUg b3IgZGlyZWN0b3J5CiAgMTc1IHwgI2luY2x1ZGUgPGZlYXR1cmVzLmg+CiAgICAgIHwgICAgICAg ICAgXn5+fn5+fn5+fn5+CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuDQpjb25maWd1cmU6MjU0NjQ6 IHJlc3VsdDogbm8KY29uZmlndXJlOjI1NDc1OiBjaGVja2luZyBmb3Igc2lnc2V0X3QKY29uZmln dXJlOjI1NDc1OiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1 bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWlu JzoKY29uZnRlc3QuYzoxODM6MTM6IGVycm9yOiAnc2lnc2V0X3QnIHVuZGVjbGFyZWQgKGZpcnN0 IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuICdfc2lnc2V0X3QnPwogIDE4MyB8 IGlmIChzaXplb2YgKHNpZ3NldF90KSkKICAgICAgfCAgICAgICAgICAgICBefn5+fn5+fgogICAg ICB8ICAgICAgICAgICAgIF9zaWdzZXRfdApjb25mdGVzdC5jOjE4MzoxMzogbm90ZTogZWFjaCB1 bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0 aW9uIGl0IGFwcGVhcnMgaW4KY29uZmlndXJlOjI1NDc1OiAkPyA9IDEKY29uZmlndXJlOiBmYWls ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1F ICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUg UEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBF bWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NA Z251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3 YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1Q RVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVm aW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19F WFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9D X1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJD RSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURf U0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9f IDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUg X19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9J RUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZ UEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUg X19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0Ug MQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVf T0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBF ICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVf U09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNP VVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwg I2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhBVkVf TkFUSVZFX0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhB VkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZp bmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZF X0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkg MQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9M TF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwg I2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9M Q01TMiAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAj ZGVmaW5lIE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8 ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEK fCAjZGVmaW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BORyAx CnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFW RV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9S QU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNk ZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmlu ZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBI QVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVf UFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhB VkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVD VkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9T VFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NF VE5BTUVfTlAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURfQUxMT0MgMAp8ICNkZWZpbmUg SEFWRV9fX0JVSUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9V TldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX1NCUksg MQp8ICNkZWZpbmUgSEFWRV9DQU5PTklDQUxJWkVfRklMRV9OQU1FIDEKfCAjZGVmaW5lIEhBVkVf UkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRVhQ TElDSVRfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9G Q0hNT0RBVCAxCnwgI2RlZmluZSBIQVZFX0xDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEK fCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5l IEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFW RV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5L IDEKfCAjZGVmaW5lIEhBVkVfSVNXQ1RZUEUgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8 ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVm aW5lIHZmb3JrIGZvcmsKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9M QU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fX05MX1BBUEVSX1dJRFRI IDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwg I2RlZmluZSBOVUxMX0RFVklDRSAiTlVMOiIKfCAjZGVmaW5lIFNFUENIQVIgJzsnCnwgI2RlZmlu ZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwg I2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pICgo X2NfKSA9PSAnOicpCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09ICcv JyB8fCAoX2NfKSA9PSAnXFwnKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RP UllfU0VQIChfY18pIHx8IElTX0RFVklDRV9TRVAoX2NfKSkKfCAjZGVmaW5lIERFRkFVTFRfU09V TkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmlu ZSBIQVZFX1NUQUNLX09WRVJGTE9XX0hBTkRMSU5HIDEKfCAjZGVmaW5lIERPU19OVCAvKiovCnwg I2RlZmluZSBXSU5ET1dTTlQgMQp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5l IENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ3MzJ0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19D T05GSUdVUkFUSU9OICJ4ODZfNjQtdzY0LW1pbmd3MzIiCnwgI2RlZmluZSBFTUFDU19DT05GSUdf T1BUSU9OUyAiLS1wcmVmaXg9L2hvbWUvVldpblVzZXIwL0Rvd25sb2Fkcy9lbWFjcy9uYXRpdmUt Y29tcC9idWlsdCAtLXdpdGgtbmF0aXZlY29tcCIKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FUVFJJ QlVURV9BTElHTkVEIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfU1RB VEVNRU5UX0VYUFJFU1NJT05TIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIERP VUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEZVTkNfUkVBTFBBVEhfV09S S1MgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9FTlZJUk9O X0RFQ0wgMQp8ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAj ZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf TUVNTUVNIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIFRJTUVfVF9J U19TSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBNQUxMT0NfMF9JU19OT05OVUxMIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4g ICovCnwgCnwgICAgICAgI2luY2x1ZGUgPHNpZ25hbC5oPgp8ICAgICAgIC8qIE1pbmd3IGRlZmlu ZXMgc2lnc2V0X3Qgbm90IGluIDxzaWduYWwuaD4sIGJ1dCBpbiA8c3lzL3R5cGVzLmg+LiAgKi8K fCAgICAgICAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsK fCBpZiAoc2l6ZW9mIChzaWdzZXRfdCkpCnwgCSByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAw Owp8IH0KY29uZmlndXJlOjI1NDc1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNTUxOTogY2hlY2tp bmcgZm9yIHdjaGFyX3QKY29uZmlndXJlOjI1NTM2OiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAt ZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3Vy ZToyNTUzNjogJD8gPSAwCmNvbmZpZ3VyZToyNTU0MzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI1 NzMyOiBjaGVja2luZyB3aGV0aGVyIHN0cm5sZW4gaXMgZGVjbGFyZWQKY29uZmlndXJlOjI1NzMy OiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJp YyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyNTczMjogJD8gPSAwCmNvbmZpZ3VyZToyNTcz MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI1NzQ1OiBjaGVja2luZyB3aGV0aGVyIHN0cnRvaW1h eCBpcyBkZWNsYXJlZApjb25maWd1cmU6MjU3NDU6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1n MyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJl OjI1NzQ1OiAkPyA9IDAKY29uZmlndXJlOjI1NzQ1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjU3 NjA6IGNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wCmNvbmZpZ3VyZToyNTc5OTog cmVzdWx0OiAvdXNyL2Jpbi9ta2RpciAtcApjb25maWd1cmU6MjU4MDI6IGNoZWNraW5nIHdoZXRo ZXIgc3RhdCBmaWxlLW1vZGUgbWFjcm9zIGFyZSBicm9rZW4KY29uZmlndXJlOjI1ODI5OiBnY2Mg LUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgIGNv bmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyNTgyOTogJD8gPSAwCmNvbmZpZ3VyZToyNTgzNjogcmVz dWx0OiBubwpjb25maWd1cmU6MjU5NDU6IGNoZWNraW5nIGZvciBzdHJ1Y3QgdGltZXNwZWMgaW4g PHRpbWUuaD4KY29uZmlndXJlOjI1OTYyOiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8y IC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyNTk2 MjogJD8gPSAwCmNvbmZpZ3VyZToyNTk2OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI2MTU2OiBj aGVja2luZyB3aGV0aGVyIGNsZWFyZXJyX3VubG9ja2VkIGlzIGRlY2xhcmVkCmNvbmZpZ3VyZToy NjE1NjogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5lPWdl bmVyaWMgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNv bmZ0ZXN0LmM6MjE4OjEwOiBlcnJvcjogJ2NsZWFyZXJyX3VubG9ja2VkJyB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAyMTggfCAgICh2b2lkKSBjbGVhcmVycl91bmxv Y2tlZDsKICAgICAgfCAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fgpjb25mdGVzdC5jOjIxODox MDogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNl IGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KY29uZmlndXJlOjI2MTU2OiAkPyA9IDEK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZp bmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg ImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3 dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2Rl ZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01F TU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNk ZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmlu ZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUg X1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1 OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhU X18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dB TlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQy X18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUg X1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8 ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVm aW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEK fCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFW RV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NI QVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19U SU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEK fCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9D IDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JV RkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAx CnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUg SEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVT RV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFW RV9IQVJGQlVaWiAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8 ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFW RV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFW RV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZF X05BVElWRV9DT01QIDEKfCAjZGVmaW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2Rl ZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYg MQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhB VkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdF U0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1J VCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEK fCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFM IDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAj ZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUg SEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURfQUxM T0MgMAp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2RlZmluZSBI QVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2Rl ZmluZSBIQVZFX1NCUksgMQp8ICNkZWZpbmUgSEFWRV9DQU5PTklDQUxJWkVfRklMRV9OQU1FIDEK fCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAj ZGVmaW5lIEhBVkVfRVhQTElDSVRfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8 ICNkZWZpbmUgSEFWRV9GQ0hNT0RBVCAxCnwgI2RlZmluZSBIQVZFX0xDSE1PRCAxCnwgI2RlZmlu ZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZT WU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQg MQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZp bmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfSVNXQ1RZUEUgMQp8ICNkZWZpbmUgSEFW RV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfVVRJ TUVOU0FUIDEKfCAjZGVmaW5lIHZmb3JrIGZvcmsKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8 ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9f X05MX1BBUEVSX1dJRFRIIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIEhB VkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiTlVMOiIKfCAjZGVmaW5lIFNFUENI QVIgJzsnCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUg cHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVW SUNFX1NFUChfY18pICgoX2NfKSA9PSAnOicpCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9j XykgKChfY18pID09ICcvJyB8fCAoX2NfKSA9PSAnXFwnKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChf Y18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pIHx8IElTX0RFVklDRV9TRVAoX2NfKSkKfCAjZGVm aW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIEdDX1NFVEpNUF9X T1JLUyAxCnwgI2RlZmluZSBIQVZFX1NUQUNLX09WRVJGTE9XX0hBTkRMSU5HIDEKfCAjZGVmaW5l IERPU19OVCAvKiovCnwgI2RlZmluZSBXSU5ET1dTTlQgMQp8ICNkZWZpbmUgVVNBQkxFX0ZJT05S RUFEIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDIwIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ3MzJ0ZXJtLmgiCnwg I2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQtdzY0LW1pbmd3MzIiCnwgI2RlZmlu ZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9L2hvbWUvVldpblVzZXIwL0Rvd25sb2Fk cy9lbWFjcy9uYXRpdmUtY29tcC9idWlsdCAtLXdpdGgtbmF0aXZlY29tcCIKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0FUVFJJQlVURV9BTElHTkVEIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAj ZGVmaW5lIEhBVkVfU1RBVEVNRU5UX0VYUFJFU1NJT05TIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NB IDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEZV TkNfUkVBTFBBVEhfV09SS1MgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZp bmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZ TUxJTksgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgSEFWRV9MT05H X0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfTUVNTUVNIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAj ZGVmaW5lIFRJTUVfVF9JU19TSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBNQUxMT0NfMF9JU19OT05OVUxMIDEKfCAjZGVm aW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTkxFTiAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIF9VU0VfU1REX1NUQVQgMQp8IC8qIGVu ZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNf VFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf U1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1RE Q19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8 ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+Cnwg IyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBT VERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5 Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhB VkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IGludAp8IG1haW4g KCkKfCB7CnwgI2lmbmRlZiBjbGVhcmVycl91bmxvY2tlZAp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8 ICAgKHZvaWQpIGNsZWFyZXJyX3VubG9ja2VkOwp8ICNlbHNlCnwgICAodm9pZCkgY2xlYXJlcnJf dW5sb2NrZWQ7CnwgI2VuZGlmCnwgI2VuZGlmCnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNv bmZpZ3VyZToyNjE1NjogcmVzdWx0OiBubwpjb25maWd1cmU6MjYxNjc6IGNoZWNraW5nIHdoZXRo ZXIgZmVvZl91bmxvY2tlZCBpcyBkZWNsYXJlZApjb25maWd1cmU6MjYxNjc6IGdjYyAtSSAuLi9z cmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3Qu YyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjIxOToxMDog ZXJyb3I6ICdmZW9mX3VubG9ja2VkJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5j dGlvbikKICAyMTkgfCAgICh2b2lkKSBmZW9mX3VubG9ja2VkOwogICAgICB8ICAgICAgICAgIF5+ fn5+fn5+fn5+fn4KY29uZnRlc3QuYzoyMTk6MTA6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVu dGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJz IGluCmNvbmZpZ3VyZToyNjE2NzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz Ogp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lP TiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIK fCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2Rl ZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwg I2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5l IFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEK fCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNk ZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUg X09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwg I2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBf X1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lF Q182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNT X0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwg I2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01B VEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9I UFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0 CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIK fCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVm aW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2Rl ZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9M SU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlU X0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9JTUFHRV9B UEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpF IDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5B QkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNk ZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAjZGVmaW5lIFVT RV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2Rl ZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNkZWZpbmUgSEFWRV9Y UE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENNUzIgMQp8ICNkZWZp bmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmluZSBNT0RVTEVT X1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAjZGVmaW5lIEhBVkVf TElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwgI2RlZmluZSBOQVRJ VkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFW RV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwg I2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVm aW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEKfCAjZGVmaW5lIEhBVkVfU0VM RUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NB TEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQg MQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFT SyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAx CnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVm aW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNk ZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1FX05QIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDAKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElO X0ZSQU1FX0FERFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8 ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9TQlJLIDEKfCAjZGVmaW5lIEhB VkVfQ0FOT05JQ0FMSVpFX0ZJTEVfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAj ZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0VYUExJQ0lUX0JaRVJPIDEK fCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EQVQgMQp8ICNk ZWZpbmUgSEFWRV9MQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZF X0ZTVEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVP RkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNk ZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2RlZmluZSBI QVZFX0lTV0NUWVBFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVf U1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwgI2RlZmluZSB2Zm9yayBmb3Jr CnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNF VCAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX19OTF9QQVBFUl9XSURUSCAxCnwgI2RlZmluZSBI QVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9E RVZJQ0UgIk5VTDoiCnwgI2RlZmluZSBTRVBDSEFSICc7Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2Vz IDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNU T1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAoKF9jXykgPT0gJzonKQp8 ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSAnLycgfHwgKF9jXykgPT0g J1xcJykKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSB8 fCBJU19ERVZJQ0VfU0VQKF9jXykpCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rl di9kc3AiCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9TVEFDS19P VkVSRkxPV19IQU5ETElORyAxCnwgI2RlZmluZSBET1NfTlQgLyoqLwp8ICNkZWZpbmUgV0lORE9X U05UIDEKfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNv cHlyaWdodCAoQykgMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmlu ZSBURVJNX0hFQURFUiAidzMydGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAi eDg2XzY0LXc2NC1taW5ndzMyIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJl Zml4PS9ob21lL1ZXaW5Vc2VyMC9Eb3dubG9hZHMvZW1hY3MvbmF0aXZlLWNvbXAvYnVpbHQgLS13 aXRoLW5hdGl2ZWNvbXAiCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BVFRSSUJVVEVfQUxJR05FRCAx CnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX1NUQVRFTUVOVF9FWFBSRVNT SU9OUyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBET1VCTEVfU0xBU0hfSVNf RElTVElOQ1RfUk9PVCAxCnwgI2RlZmluZSBGVU5DX1JFQUxQQVRIX1dPUktTIDEKfCAjZGVmaW5l IHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVm aW5lIExTVEFUX0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T VFJNT0RFIDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX1VO U0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTU1FTSAwCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBUSU1FX1RfSVNfU0lHTkVEIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAj ZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg TUFMTE9DXzBfSVNfTk9OTlVMTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX1NUUk5MRU4gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2Rl ZmluZSBfVVNFX1NURF9TVEFUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9DTEVBUkVSUl9VTkxPQ0tF RCAwCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRl ZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8 ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8 c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxz dGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlm ICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNs dWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYK fCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwg aW50CnwgbWFpbiAoKQp8IHsKfCAjaWZuZGVmIGZlb2ZfdW5sb2NrZWQKfCAjaWZkZWYgX19jcGx1 c3BsdXMKfCAgICh2b2lkKSBmZW9mX3VubG9ja2VkOwp8ICNlbHNlCnwgICAodm9pZCkgZmVvZl91 bmxvY2tlZDsKfCAjZW5kaWYKfCAjZW5kaWYKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29u ZmlndXJlOjI2MTY3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNjE3ODogY2hlY2tpbmcgd2hldGhl ciBmZXJyb3JfdW5sb2NrZWQgaXMgZGVjbGFyZWQKY29uZmlndXJlOjI2MTc4OiBnY2MgLUkgLi4v c3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoyMjA6MTA6 IGVycm9yOiAnZmVycm9yX3VubG9ja2VkJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBm dW5jdGlvbikKICAyMjAgfCAgICh2b2lkKSBmZXJyb3JfdW5sb2NrZWQ7CiAgICAgIHwgICAgICAg ICAgXn5+fn5+fn5+fn5+fn5+CmNvbmZ0ZXN0LmM6MjIwOjEwOiBub3RlOiBlYWNoIHVuZGVjbGFy ZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQg YXBwZWFycyBpbgpjb25maWd1cmU6MjYxNzg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBF bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdF X1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4 LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3Jn Igp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1h Y3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwg I2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lP TlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNF IDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAj ZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJ Q1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNk ZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENf V0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1 OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhU X18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENf V0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2Rl ZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRf QklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRv d3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAx CnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0gg MQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5l IEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NUQVRfSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9T WVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVf SU1BR0VfQVBJIDEKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBVU0VfTU1BUF9GT1JfQlVGRkVSUyAxCnwgI2RlZmluZSBUSFJF QURTX0VOQUJMRUQgMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfR05VVExT IDEKfCAjZGVmaW5lIEhBVkVfSlNPTiAxCnwgI2RlZmluZSBIQVZFX1czMk5PVElGWSAxCnwgI2Rl ZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMg MQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0hBUkZCVVpaIDEKfCAjZGVmaW5l IEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0xDTVMyIDEK fCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX01PRFVMRVMgMQp8ICNkZWZpbmUg TU9EVUxFU19TVUZGSVggIi5kbGwiCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVCAxCnwgI2RlZmlu ZSBIQVZFX0xJQkdDQ0pJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0NPTVAgMQp8ICNkZWZp bmUgTkFUSVZFX0VMSVNQX1NVRkZJWCAiLmVsbiIKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVm aW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX0xJQlhN TDIgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAx CnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9UUlVOQyAxCnwgI2RlZmluZSBI QVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVf U0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VU UkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFE X1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJ VElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAx CnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9S IDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9O UCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxJR05FRF9BTExPQyAwCnwgI2RlZmluZSBIQVZFX19f QlVJTFRJTl9GUkFNRV9BRERSRVNTIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9J TklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfU0JSSyAxCnwgI2Rl ZmluZSBIQVZFX0NBTk9OSUNBTElaRV9GSUxFX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElO SyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9FWFBMSUNJVF9C WkVSTyAxCnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PREFU IDEKfCAjZGVmaW5lIEhBVkVfTENITU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZp bmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9H RVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BJUEUy IDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0lTQkxBTksgMQp8ICNk ZWZpbmUgSEFWRV9JU1dDVFlQRSAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmlu ZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUgdmZv cmsgZm9yawp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZP X0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19fTkxfUEFQRVJfV0lEVEggMQp8ICNk ZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5l IE5VTExfREVWSUNFICJOVUw6Igp8ICNkZWZpbmUgU0VQQ0hBUiAnOycKfCAjZGVmaW5lIHN1YnBy b2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5l IERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgKChfY18pID09 ICc6JykKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gJy8nIHx8IChf Y18pID09ICdcXCcpCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAg KF9jXykgfHwgSVNfREVWSUNFX1NFUChfY18pKQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJ Q0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVf U1RBQ0tfT1ZFUkZMT1dfSEFORExJTkcgMQp8ICNkZWZpbmUgRE9TX05UIC8qKi8KfCAjZGVmaW5l IFdJTkRPV1NOVCAxCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgQ09QWVJJ R0hUICJDb3B5cmlnaHQgKEMpIDIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8 ICNkZWZpbmUgVEVSTV9IRUFERVIgInczMnRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VS QVRJT04gIng4Nl82NC13NjQtbWluZ3czMiIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05T ICItLXByZWZpeD0vaG9tZS9WV2luVXNlcjAvRG93bmxvYWRzL2VtYWNzL25hdGl2ZS1jb21wL2J1 aWx0IC0td2l0aC1uYXRpdmVjb21wIgp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQVRUUklCVVRFX0FM SUdORUQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9TVEFURU1FTlRf RVhQUkVTU0lPTlMgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgRE9VQkxFX1NM QVNIX0lTX0RJU1RJTkNUX1JPT1QgMQp8ICNkZWZpbmUgRlVOQ19SRUFMUEFUSF9XT1JLUyAxCnwg I2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAx CnwgI2RlZmluZSBMU1RBVF9GT0xMT1dTX1NMQVNIRURfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUg SEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1NRU0g MAp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgVElNRV9UX0lTX1NJR05F RCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFN RSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIE1BTExPQ18wX0lTX05PTk5VTEwgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9TVFJOTEVOIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVgg MQp8ICNkZWZpbmUgX1VTRV9TVERfU1RBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQ0xFQVJFUlJf VU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZFT0ZfVU5MT0NLRUQgMAp8IC8qIGVuZCBj b25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQ RVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lT X1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19I RUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNl bHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBl bmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERD X0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+ CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf U1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf SU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVf VU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IGludAp8IG1haW4gKCkK fCB7CnwgI2lmbmRlZiBmZXJyb3JfdW5sb2NrZWQKfCAjaWZkZWYgX19jcGx1c3BsdXMKfCAgICh2 b2lkKSBmZXJyb3JfdW5sb2NrZWQ7CnwgI2Vsc2UKfCAgICh2b2lkKSBmZXJyb3JfdW5sb2NrZWQ7 CnwgI2VuZGlmCnwgI2VuZGlmCnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToy NjE3ODogcmVzdWx0OiBubwpjb25maWd1cmU6MjYxODk6IGNoZWNraW5nIHdoZXRoZXIgZmZsdXNo X3VubG9ja2VkIGlzIGRlY2xhcmVkCmNvbmZpZ3VyZToyNjE4OTogZ2NjIC1JIC4uL3NyYy9udC9p bmMgLWMgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5lPWdlbmVyaWMgICBjb25mdGVzdC5jID4mNQpj b25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjIxOjEwOiBlcnJvcjog J2ZmbHVzaF91bmxvY2tlZCcgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24p OyBkaWQgeW91IG1lYW4gJ19mZmx1c2hfbm9sb2NrJz8KICAyMjEgfCAgICh2b2lkKSBmZmx1c2hf dW5sb2NrZWQ7CiAgICAgIHwgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAg ICAgX2ZmbHVzaF9ub2xvY2sKY29uZnRlc3QuYzoyMjE6MTA6IG5vdGU6IGVhY2ggdW5kZWNsYXJl ZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBh cHBlYXJzIGluCmNvbmZpZ3VyZToyNjE4OTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dy YW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjgu MC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmci CnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFj cy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9O U19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0Ug MQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNk ZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElD UyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2Rl ZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19X QU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5 X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRf XyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19X QU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVm aW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9C SVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93 cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEK fCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAx CnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZ U19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9J TUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBB R0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRIUkVB RFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMg MQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAjZGVm aW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAx CnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNkZWZpbmUg SEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENNUzIgMQp8 ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmluZSBN T0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAjZGVmaW5l IEhBVkVfTElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwgI2RlZmlu ZSBOQVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZp bmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1M MiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEK fCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEKfCAjZGVmaW5lIEhB VkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9T RVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRS TElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURf U0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElU SU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEK fCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1Ig MQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1FX05Q IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDAKfCAjZGVmaW5lIEhBVkVfX19C VUlMVElOX0ZSQU1FX0FERFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lO SVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9TQlJLIDEKfCAjZGVm aW5lIEhBVkVfQ0FOT05JQ0FMSVpFX0ZJTEVfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5L IDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0VYUExJQ0lUX0Ja RVJPIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EQVQg MQp8ICNkZWZpbmUgSEFWRV9MQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmlu ZSBIQVZFX0ZTVEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dF VFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIg MQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2Rl ZmluZSBIQVZFX0lTV0NUWVBFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5l IEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwgI2RlZmluZSB2Zm9y ayBmb3JrCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9f Q09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX19OTF9QQVBFUl9XSURUSCAxCnwgI2Rl ZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUg TlVMTF9ERVZJQ0UgIk5VTDoiCnwgI2RlZmluZSBTRVBDSEFSICc7Jwp8ICNkZWZpbmUgc3VicHJv Y2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUg RElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAoKF9jXykgPT0g JzonKQp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSAnLycgfHwgKF9j XykgPT0gJ1xcJykKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAo X2NfKSB8fCBJU19ERVZJQ0VfU0VQKF9jXykpCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklD RSAiL2Rldi9kc3AiCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9T VEFDS19PVkVSRkxPV19IQU5ETElORyAxCnwgI2RlZmluZSBET1NfTlQgLyoqLwp8ICNkZWZpbmUg V0lORE9XU05UIDEKfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBDT1BZUklH SFQgIkNvcHlyaWdodCAoQykgMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwg I2RlZmluZSBURVJNX0hFQURFUiAidzMydGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJB VElPTiAieDg2XzY0LXc2NC1taW5ndzMyIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMg Ii0tcHJlZml4PS9ob21lL1ZXaW5Vc2VyMC9Eb3dubG9hZHMvZW1hY3MvbmF0aXZlLWNvbXAvYnVp bHQgLS13aXRoLW5hdGl2ZWNvbXAiCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BVFRSSUJVVEVfQUxJ R05FRCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX1NUQVRFTUVOVF9F WFBSRVNTSU9OUyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBET1VCTEVfU0xB U0hfSVNfRElTVElOQ1RfUk9PVCAxCnwgI2RlZmluZSBGVU5DX1JFQUxQQVRIX1dPUktTIDEKfCAj ZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEK fCAjZGVmaW5lIExTVEFUX0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBI QVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTU1FTSAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBUSU1FX1RfSVNfU0lHTkVE IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1F IDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgTUFMTE9DXzBfSVNfTk9OTlVMTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1NUUk5MRU4gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAx CnwgI2RlZmluZSBfVVNFX1NURF9TVEFUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9DTEVBUkVSUl9V TkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkVPRl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBI QVZFX0RFQ0xfRkVSUk9SX1VOTE9DS0VEIDAKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2lu Y2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5 cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUg PHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8 c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9T VERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZk ZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQg SEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1 ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVk ZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1 ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1 ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRl IDx1bmlzdGQuaD4KfCAjZW5kaWYKfCBpbnQKfCBtYWluICgpCnwgewp8ICNpZm5kZWYgZmZsdXNo X3VubG9ja2VkCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgICAodm9pZCkgZmZsdXNoX3VubG9ja2Vk Owp8ICNlbHNlCnwgICAodm9pZCkgZmZsdXNoX3VubG9ja2VkOwp8ICNlbmRpZgp8ICNlbmRpZgp8 IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjYxODk6IHJlc3VsdDogbm8KY29u ZmlndXJlOjI2MjAwOiBjaGVja2luZyB3aGV0aGVyIGZnZXRzX3VubG9ja2VkIGlzIGRlY2xhcmVk CmNvbmZpZ3VyZToyNjIwMDogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJm LTIgLW10dW5lPWdlbmVyaWMgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlv biAnbWFpbic6CmNvbmZ0ZXN0LmM6MjIyOjEwOiBlcnJvcjogJ2ZnZXRzX3VubG9ja2VkJyB1bmRl Y2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAyMjIgfCAgICh2b2lkKSBmZ2V0 c191bmxvY2tlZDsKICAgICAgfCAgICAgICAgICBefn5+fn5+fn5+fn5+fgpjb25mdGVzdC5jOjIy MjoxMDogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBv bmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KY29uZmlndXJlOjI2MjAwOiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNk ZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg ImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFD S0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczov L3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwg I2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2Rl ZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZp bmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182 MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBf RVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2Rl ZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9F WFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZp bmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkg MQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAj ZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9I IDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUg SEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVf V0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZ U19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJ IDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFM TE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9S X0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNW RyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZp bmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5l IFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUg SEFWRV9IQVJGQlVaWiAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcg MQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUg SEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUg SEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBI QVZFX05BVElWRV9DT01QIDEKfCAjZGVmaW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwg I2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9H SUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUg MQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5l IEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJM SU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dO IDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lH TkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEK fCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwg I2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZp bmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURf QUxMT0MgMAp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2RlZmlu ZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwg I2RlZmluZSBIQVZFX1NCUksgMQp8ICNkZWZpbmUgSEFWRV9DQU5PTklDQUxJWkVfRklMRV9OQU1F IDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEK fCAjZGVmaW5lIEhBVkVfRVhQTElDSVRfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQg MQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0RBVCAxCnwgI2RlZmluZSBIQVZFX0xDSE1PRCAxCnwgI2Rl ZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZF X0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNU QVQgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNk ZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfSVNXQ1RZUEUgMQp8ICNkZWZpbmUg SEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVf VVRJTUVOU0FUIDEKfCAjZGVmaW5lIHZmb3JrIGZvcmsKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYg MQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lO Rk9fX05MX1BBUEVSX1dJRFRIIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5l IEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiTlVMOiIKfCAjZGVmaW5lIFNF UENIQVIgJzsnCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05B TUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNf REVWSUNFX1NFUChfY18pICgoX2NfKSA9PSAnOicpCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQ KF9jXykgKChfY18pID09ICcvJyB8fCAoX2NfKSA9PSAnXFwnKQp8ICNkZWZpbmUgSVNfQU5ZX1NF UChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pIHx8IElTX0RFVklDRV9TRVAoX2NfKSkKfCAj ZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIEdDX1NFVEpN UF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX1NUQUNLX09WRVJGTE9XX0hBTkRMSU5HIDEKfCAjZGVm aW5lIERPU19OVCAvKiovCnwgI2RlZmluZSBXSU5ET1dTTlQgMQp8ICNkZWZpbmUgVVNBQkxFX0ZJ T05SRUFEIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDIwIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ3MzJ0ZXJtLmgi CnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQtdzY0LW1pbmd3MzIiCnwgI2Rl ZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9L2hvbWUvVldpblVzZXIwL0Rvd25s b2Fkcy9lbWFjcy9uYXRpdmUtY29tcC9idWlsdCAtLXdpdGgtbmF0aXZlY29tcCIKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0FUVFJJQlVURV9BTElHTkVEIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEK fCAjZGVmaW5lIEhBVkVfU1RBVEVNRU5UX0VYUFJFU1NJT05TIDEKfCAjZGVmaW5lIEhBVkVfQUxM T0NBIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5l IEZVTkNfUkVBTFBBVEhfV09SS1MgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNk ZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFTSEVE X1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgSEFWRV9M T05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfTUVNTUVNIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAK fCAjZGVmaW5lIFRJTUVfVF9JU19TSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBNQUxMT0NfMF9JU19OT05OVUxMIDEKfCAj ZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTkxFTiAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIF9VU0VfU1REX1NUQVQgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX0NMRUFSRVJSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9G RU9GX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRVJST1JfVU5MT0NLRUQgMAp8ICNk ZWZpbmUgSEFWRV9ERUNMX0ZGTFVTSF9VTkxPQ0tFRCAwCnwgLyogZW5kIGNvbmZkZWZzLmguICAq Lwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNs dWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBp bmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGlu Y2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVm IEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBk ZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwg IyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAj IGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwg IyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwg IyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMg aW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgaW50CnwgbWFpbiAoKQp8IHsKfCAjaWZuZGVm IGZnZXRzX3VubG9ja2VkCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgICAodm9pZCkgZmdldHNfdW5s b2NrZWQ7CnwgI2Vsc2UKfCAgICh2b2lkKSBmZ2V0c191bmxvY2tlZDsKfCAjZW5kaWYKfCAjZW5k aWYKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI2MjAwOiByZXN1bHQ6IG5v CmNvbmZpZ3VyZToyNjIxMTogY2hlY2tpbmcgd2hldGhlciBmcHV0Y191bmxvY2tlZCBpcyBkZWNs YXJlZApjb25maWd1cmU6MjYyMTE6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdk d2FyZi0yIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVu Y3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjIyMzoxMDogZXJyb3I6ICdmcHV0Y191bmxvY2tlZCcg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4gJ19w dXRjX25vbG9jayc/CiAgMjIzIHwgICAodm9pZCkgZnB1dGNfdW5sb2NrZWQ7CiAgICAgIHwgICAg ICAgICAgXn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICBfcHV0Y19ub2xvY2sKY29uZnRl c3QuYzoyMjM6MTA6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVk IG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCmNvbmZpZ3VyZToyNjIx MTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmgg Ki8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9U QVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVm aW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0Vf QlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAi aHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9Q T1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwg I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBI QVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09V UkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0Ug MQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEK fCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FO VF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1 NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18g MQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5l IF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FO VF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEK fCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NL RVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElO VCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1T WVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAj ZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmlu ZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVf V0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFW RV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lT VEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9N TUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBI QVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEK fCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwg I2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAj ZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFW RV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENNUzIgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAj ZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAj ZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUX0ggMQp8ICNk ZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIu ZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5l IEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0dFVEhP U1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwg I2RlZmluZSBIQVZFX1RSVU5DIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhB VkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFW RV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9T SFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZF X1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NF TkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05B TUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEK fCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1FX05QIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9B TElHTkVEX0FMTE9DIDAKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX0ZSQU1FX0FERFJFU1MgMQp8 ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VF S08gMQp8ICNkZWZpbmUgSEFWRV9TQlJLIDEKfCAjZGVmaW5lIEhBVkVfQ0FOT05JQ0FMSVpFX0ZJ TEVfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJ TktBVCAxCnwgI2RlZmluZSBIQVZFX0VYUExJQ0lUX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfRkFD Q0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EQVQgMQp8ICNkZWZpbmUgSEFWRV9MQ0hNT0Qg MQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8ICNkZWZp bmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBI QVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNU IDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2RlZmluZSBIQVZFX0lTV0NUWVBFIDEKfCAj ZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmlu ZSBIQVZFX1VUSU1FTlNBVCAxCnwgI2RlZmluZSB2Zm9yayBmb3JrCnwgI2RlZmluZSBIQVZFX1NO UFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZF X0xBTkdJTkZPX19OTF9QQVBFUl9XSURUSCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwg I2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIk5VTDoiCnwgI2Rl ZmluZSBTRVBDSEFSICc7Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJf RlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVm aW5lIElTX0RFVklDRV9TRVAoX2NfKSAoKF9jXykgPT0gJzonKQp8ICNkZWZpbmUgSVNfRElSRUNU T1JZX1NFUChfY18pICgoX2NfKSA9PSAnLycgfHwgKF9jXykgPT0gJ1xcJykKfCAjZGVmaW5lIElT X0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSB8fCBJU19ERVZJQ0VfU0VQKF9j XykpCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBH Q19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9TVEFDS19PVkVSRkxPV19IQU5ETElORyAx CnwgI2RlZmluZSBET1NfTlQgLyoqLwp8ICNkZWZpbmUgV0lORE9XU05UIDEKfCAjZGVmaW5lIFVT QUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAyMCBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAidzMy dGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAieDg2XzY0LXc2NC1taW5ndzMy Igp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PS9ob21lL1ZXaW5Vc2Vy MC9Eb3dubG9hZHMvZW1hY3MvbmF0aXZlLWNvbXAvYnVpbHQgLS13aXRoLW5hdGl2ZWNvbXAiCnwg I2RlZmluZSBIQVZFX1NUUlVDVF9BVFRSSUJVVEVfQUxJR05FRCAxCnwgI2RlZmluZSBIQVZFX1RZ UEVPRiAxCnwgI2RlZmluZSBIQVZFX1NUQVRFTUVOVF9FWFBSRVNTSU9OUyAxCnwgI2RlZmluZSBI QVZFX0FMTE9DQSAxCnwgI2RlZmluZSBET1VCTEVfU0xBU0hfSVNfRElTVElOQ1RfUk9PVCAxCnwg I2RlZmluZSBGVU5DX1JFQUxQQVRIX1dPUktTIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJp Y3QKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIExTVEFUX0ZPTExPV1Nf U0xBU0hFRF9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5l IEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19J TlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTU1FTSAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVN UkNIUiAwCnwgI2RlZmluZSBUSU1FX1RfSVNfU0lHTkVEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9B TEFSTSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1F IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgTUFMTE9DXzBfSVNfTk9OTlVM TCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk5MRU4g MQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBfVVNFX1NURF9TVEFU IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9DTEVBUkVSUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZF X0RFQ0xfRkVPRl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkVSUk9SX1VOTE9DS0VE IDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRkxVU0hfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9E RUNMX0ZHRVRTX1VOTE9DS0VEIDAKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUg PHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBl cy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9z dGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGli Lmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJf SAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9N RU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0 cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3Ry aW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGlu dHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0 ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlz dGQuaD4KfCAjZW5kaWYKfCBpbnQKfCBtYWluICgpCnwgewp8ICNpZm5kZWYgZnB1dGNfdW5sb2Nr ZWQKfCAjaWZkZWYgX19jcGx1c3BsdXMKfCAgICh2b2lkKSBmcHV0Y191bmxvY2tlZDsKfCAjZWxz ZQp8ICAgKHZvaWQpIGZwdXRjX3VubG9ja2VkOwp8ICNlbmRpZgp8ICNlbmRpZgp8IAp8ICAgOwp8 ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjYyMTE6IHJlc3VsdDogbm8KY29uZmlndXJlOjI2 MjIyOiBjaGVja2luZyB3aGV0aGVyIGZwdXRzX3VubG9ja2VkIGlzIGRlY2xhcmVkCmNvbmZpZ3Vy ZToyNjIyMjogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5l PWdlbmVyaWMgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6 CmNvbmZ0ZXN0LmM6MjI0OjEwOiBlcnJvcjogJ2ZwdXRzX3VubG9ja2VkJyB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAyMjQgfCAgICh2b2lkKSBmcHV0c191bmxvY2tl ZDsKICAgICAgfCAgICAgICAgICBefn5+fn5+fn5+fn5+fgpjb25mdGVzdC5jOjIyNDoxMDogbm90 ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBl YWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KY29uZmlndXJlOjI2MjIyOiAkPyA9IDEKY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFD S0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1n bnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUu b3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBI QVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUg X0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVU QlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lY X1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRS SUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8 ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NU RENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVD XzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8 ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRF TV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZp bmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZ U1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVm aW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJF TlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVm aW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMg MQp8ICNkZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2Rl ZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9X MzJOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09M S0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJG QlVaWiAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZp bmUgSEFWRV9MQ01TMiAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RV TEVTIDEKfCAjZGVmaW5lIE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJH Q0NKSVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElW RV9DT01QIDEKfCAjZGVmaW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBI QVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNk ZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZp bmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJV TkMgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAx CnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwg I2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVm aW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAj ZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5l IEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBI QVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9Q VEhSRUFEX1NFVE5BTUVfTlAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURfQUxMT0MgMAp8 ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2RlZmluZSBIQVZFX19f QlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBI QVZFX1NCUksgMQp8ICNkZWZpbmUgSEFWRV9DQU5PTklDQUxJWkVfRklMRV9OQU1FIDEKfCAjZGVm aW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5l IEhBVkVfRVhQTElDSVRfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZp bmUgSEFWRV9GQ0hNT0RBVCAxCnwgI2RlZmluZSBIQVZFX0xDSE1PRCAxCnwgI2RlZmluZSBIQVZF X0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEK fCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNk ZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFW RV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfSVNXQ1RZUEUgMQp8ICNkZWZpbmUgSEFWRV9TVFJU T0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FU IDEKfCAjZGVmaW5lIHZmb3JrIGZvcmsKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZp bmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fX05MX1BB UEVSX1dJRFRIIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIEhBVkVfU09D S0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiTlVMOiIKfCAjZGVmaW5lIFNFUENIQVIgJzsn CnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3 X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NF UChfY18pICgoX2NfKSA9PSAnOicpCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChf Y18pID09ICcvJyB8fCAoX2NfKSA9PSAnXFwnKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJ U19ESVJFQ1RPUllfU0VQIChfY18pIHx8IElTX0RFVklDRV9TRVAoX2NfKSkKfCAjZGVmaW5lIERF RkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAx CnwgI2RlZmluZSBIQVZFX1NUQUNLX09WRVJGTE9XX0hBTkRMSU5HIDEKfCAjZGVmaW5lIERPU19O VCAvKiovCnwgI2RlZmluZSBXSU5ET1dTTlQgMQp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEK fCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDIwIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ3MzJ0ZXJtLmgiCnwgI2RlZmlu ZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQtdzY0LW1pbmd3MzIiCnwgI2RlZmluZSBFTUFD U19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9L2hvbWUvVldpblVzZXIwL0Rvd25sb2Fkcy9lbWFj cy9uYXRpdmUtY29tcC9idWlsdCAtLXdpdGgtbmF0aXZlY29tcCIKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX0FUVFJJQlVURV9BTElHTkVEIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5l IEhBVkVfU1RBVEVNRU5UX0VYUFJFU1NJT05TIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAj ZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEZVTkNfUkVB TFBBVEhfV09SS1MgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFW RV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJTksg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdf SU5UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfTUVNTUVNIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5l IFRJTUVfVF9JU19TSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBNQUxMT0NfMF9JU19OT05OVUxMIDEKfCAjZGVmaW5lIEhB VkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTkxFTiAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIF9VU0VfU1REX1NUQVQgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX0NMRUFSRVJSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRU9GX1VOTE9D S0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRVJST1JfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFW RV9ERUNMX0ZGTFVTSF9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkdFVFNfVU5MT0NL RUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZQVVRDX1VOTE9DS0VEIDAKfCAvKiBlbmQgY29uZmRl ZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gK fCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFU X0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVS Uwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8 ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYK fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFE RVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMg ZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklO R1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZ UEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RE SU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNU RF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCBpbnQKfCBtYWluICgpCnwgewp8 ICNpZm5kZWYgZnB1dHNfdW5sb2NrZWQKfCAjaWZkZWYgX19jcGx1c3BsdXMKfCAgICh2b2lkKSBm cHV0c191bmxvY2tlZDsKfCAjZWxzZQp8ICAgKHZvaWQpIGZwdXRzX3VubG9ja2VkOwp8ICNlbmRp Zgp8ICNlbmRpZgp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjYyMjI6IHJl c3VsdDogbm8KY29uZmlndXJlOjI2MjMzOiBjaGVja2luZyB3aGV0aGVyIGZyZWFkX3VubG9ja2Vk IGlzIGRlY2xhcmVkCmNvbmZpZ3VyZToyNjIzMzogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWcz IC1PMiAtZ2R3YXJmLTIgLW10dW5lPWdlbmVyaWMgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5j OiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjI1OjEwOiBlcnJvcjogJ2ZyZWFkX3Vu bG9ja2VkJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3Ug bWVhbiAnX2ZyZWFkX25vbG9ja19zJz8KICAyMjUgfCAgICh2b2lkKSBmcmVhZF91bmxvY2tlZDsK ICAgICAgfCAgICAgICAgICBefn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgIF9mcmVhZF9u b2xvY2tfcwpjb25mdGVzdC5jOjIyNToxMDogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZp ZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4K Y29uZmlndXJlOjI2MjMzOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cnwg LyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2Rl ZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIy OC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNk ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5l IFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVm aW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNk ZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmlu ZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BF TkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVm aW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1RE Q19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYw NTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhU X18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVm aW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9T UEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhf QUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAj ZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNk ZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUg SEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5l IEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19D REVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlU U19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEK fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8 ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAx CnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAx CnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8 ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFEU19FTkFCTEVE IDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmlu ZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJ TEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5l IFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmluZSBIQVZFX1hQTSAx CnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwgI2RlZmluZSBI QVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1PRFVMRVNfU1VG RklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJH Q0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVmaW5lIE5BVElWRV9F TElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJ RkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVm aW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUg SEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1Qg MQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAx CnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwg I2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEK fCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAj ZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUg SEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmlu ZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX0FMSUdORURfQUxMT0MgMAp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRlJB TUVfQUREUkVTUyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2Rl ZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX1NCUksgMQp8ICNkZWZpbmUgSEFWRV9D QU5PTklDQUxJWkVfRklMRV9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZp bmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRVhQTElDSVRfQlpFUk8gMQp8ICNk ZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0RBVCAxCnwgI2RlZmlu ZSBIQVZFX0xDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNU QVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZ IDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmlu ZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVf SVNXQ1RZUEUgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1M SU5LIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIHZmb3JrIGZvcmsKfCAj ZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEK fCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fX05MX1BBUEVSX1dJRFRIIDEKfCAjZGVmaW5lIEhBVkVf TUJTVEFURV9UIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklD RSAiTlVMOiIKfCAjZGVmaW5lIFNFUENIQVIgJzsnCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8 ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllf U0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pICgoX2NfKSA9PSAnOicpCnwgI2Rl ZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09ICcvJyB8fCAoX2NfKSA9PSAnXFwn KQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pIHx8IElT X0RFVklDRV9TRVAoX2NfKSkKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2Rz cCIKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX1NUQUNLX09WRVJG TE9XX0hBTkRMSU5HIDEKfCAjZGVmaW5lIERPU19OVCAvKiovCnwgI2RlZmluZSBXSU5ET1dTTlQg MQp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJp Z2h0IChDKSAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRF Uk1fSEVBREVSICJ3MzJ0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4ODZf NjQtdzY0LW1pbmd3MzIiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9 L2hvbWUvVldpblVzZXIwL0Rvd25sb2Fkcy9lbWFjcy9uYXRpdmUtY29tcC9idWlsdCAtLXdpdGgt bmF0aXZlY29tcCIKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FUVFJJQlVURV9BTElHTkVEIDEKfCAj ZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEVNRU5UX0VYUFJFU1NJT05T IDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNU SU5DVF9ST09UIDEKfCAjZGVmaW5lIEZVTkNfUkVBTFBBVEhfV09SS1MgMQp8ICNkZWZpbmUgcmVz dHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUg TFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1P REUgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdO RURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNTUVNIDAKfCAjZGVmaW5l IEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIFRJTUVfVF9JU19TSUdORUQgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZp bmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBNQUxM T0NfMF9JU19OT05OVUxMIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfU1RSTkxFTiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5l IF9VU0VfU1REX1NUQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0NMRUFSRVJSX1VOTE9DS0VEIDAK fCAjZGVmaW5lIEhBVkVfREVDTF9GRU9GX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9G RVJST1JfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZGTFVTSF9VTkxPQ0tFRCAwCnwg I2RlZmluZSBIQVZFX0RFQ0xfRkdFVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZQ VVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUU19VTkxPQ0tFRCAwCnwgLyog ZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZ U19UWVBFU19ICnwgIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBT VERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+ CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVfU1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4K fCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVk IFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1v cnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9JTlRUWVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRl ZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYg SEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgaW50CnwgbWFp biAoKQp8IHsKfCAjaWZuZGVmIGZyZWFkX3VubG9ja2VkCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwg ICAodm9pZCkgZnJlYWRfdW5sb2NrZWQ7CnwgI2Vsc2UKfCAgICh2b2lkKSBmcmVhZF91bmxvY2tl ZDsKfCAjZW5kaWYKfCAjZW5kaWYKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJl OjI2MjMzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNjI0NDogY2hlY2tpbmcgd2hldGhlciBmd3Jp dGVfdW5sb2NrZWQgaXMgZGVjbGFyZWQKY29uZmlndXJlOjI2MjQ0OiBnY2MgLUkgLi4vc3JjL250 L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1 CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoyMjY6MTA6IGVycm9y OiAnZndyaXRlX3VubG9ja2VkJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bik7IGRpZCB5b3UgbWVhbiAnX2Z3cml0ZV9ub2xvY2snPwogIDIyNiB8ICAgKHZvaWQpIGZ3cml0 ZV91bmxvY2tlZDsKICAgICAgfCAgICAgICAgICBefn5+fn5+fn5+fn5+fn4KICAgICAgfCAgICAg ICAgICBfZndyaXRlX25vbG9jawpjb25mdGVzdC5jOjIyNjoxMDogbm90ZTogZWFjaCB1bmRlY2xh cmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0 IGFwcGVhcnMgaW4KY29uZmlndXJlOjI2MjQ0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUg RW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAy OC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9y ZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2Vt YWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJ T05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJD RSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwg I2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5U SUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAj ZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1 NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VY VF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNk ZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VU X0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5k b3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQg MQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9I IDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZF X0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VU UEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhS RUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRM UyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNk ZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJT IDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmlu ZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAx CnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5l IE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZp bmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVm aW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2Rl ZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJY TUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00g MQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUg SEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZF X1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VU SVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00g MQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJP UiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVf TlAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURfQUxMT0MgMAp8ICNkZWZpbmUgSEFWRV9f X0JVSUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRf SU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX1NCUksgMQp8ICNk ZWZpbmUgSEFWRV9DQU5PTklDQUxJWkVfRklMRV9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJ TksgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRVhQTElDSVRf QlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0RB VCAxCnwgI2RlZmluZSBIQVZFX0xDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVm aW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVf R0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QSVBF MiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAj ZGVmaW5lIEhBVkVfSVNXQ1RZUEUgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZp bmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIHZm b3JrIGZvcmsKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5G T19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fX05MX1BBUEVSX1dJRFRIIDEKfCAj ZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmlu ZSBOVUxMX0RFVklDRSAiTlVMOiIKfCAjZGVmaW5lIFNFUENIQVIgJzsnCnwgI2RlZmluZSBzdWJw cm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmlu ZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pICgoX2NfKSA9 PSAnOicpCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09ICcvJyB8fCAo X2NfKSA9PSAnXFwnKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQ IChfY18pIHx8IElTX0RFVklDRV9TRVAoX2NfKSkKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVW SUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZF X1NUQUNLX09WRVJGTE9XX0hBTkRMSU5HIDEKfCAjZGVmaW5lIERPU19OVCAvKiovCnwgI2RlZmlu ZSBXSU5ET1dTTlQgMQp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIENPUFlS SUdIVCAiQ29weXJpZ2h0IChDKSAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIK fCAjZGVmaW5lIFRFUk1fSEVBREVSICJ3MzJ0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdV UkFUSU9OICJ4ODZfNjQtdzY0LW1pbmd3MzIiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9O UyAiLS1wcmVmaXg9L2hvbWUvVldpblVzZXIwL0Rvd25sb2Fkcy9lbWFjcy9uYXRpdmUtY29tcC9i dWlsdCAtLXdpdGgtbmF0aXZlY29tcCIKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FUVFJJQlVURV9B TElHTkVEIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEVNRU5U X0VYUFJFU1NJT05TIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIERPVUJMRV9T TEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEZVTkNfUkVBTFBBVEhfV09SS1MgMQp8 ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wg MQp8ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5l IEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNTUVN IDAKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIFRJTUVfVF9JU19TSUdO RUQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5B TUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBNQUxMT0NfMF9JU19OT05OVUxMIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfU1RSTkxFTiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFY IDEKfCAjZGVmaW5lIF9VU0VfU1REX1NUQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0NMRUFSRVJS X1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRU9GX1VOTE9DS0VEIDAKfCAjZGVmaW5l IEhBVkVfREVDTF9GRVJST1JfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZGTFVTSF9V TkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkdFVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUg SEFWRV9ERUNMX0ZQVVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUU19VTkxP Q0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlJFQURfVU5MT0NLRUQgMAp8IC8qIGVuZCBjb25m ZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNf SAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NU QVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFE RVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNl CnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRp Zgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hF QURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+Cnwg IyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RS SU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5U VFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9T VERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5J U1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IGludAp8IG1haW4gKCkKfCB7 CnwgI2lmbmRlZiBmd3JpdGVfdW5sb2NrZWQKfCAjaWZkZWYgX19jcGx1c3BsdXMKfCAgICh2b2lk KSBmd3JpdGVfdW5sb2NrZWQ7CnwgI2Vsc2UKfCAgICh2b2lkKSBmd3JpdGVfdW5sb2NrZWQ7Cnwg I2VuZGlmCnwgI2VuZGlmCnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyNjI0 NDogcmVzdWx0OiBubwpjb25maWd1cmU6MjYyNTU6IGNoZWNraW5nIHdoZXRoZXIgZ2V0Y191bmxv Y2tlZCBpcyBkZWNsYXJlZApjb25maWd1cmU6MjYyNTU6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1j IC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29uZnRl c3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjIyNzoxMDogZXJyb3I6ICdnZXRj X3VubG9ja2VkJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAyMjcg fCAgICh2b2lkKSBnZXRjX3VubG9ja2VkOwogICAgICB8ICAgICAgICAgIF5+fn5+fn5+fn5+fn4K Y29uZnRlc3QuYzoyMjc6MTA6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJl cG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCmNvbmZpZ3Vy ZToyNjI1NTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk ZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFD S0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIK fCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBB Q0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdF X1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlM X1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVS UyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9B TExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9T T1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09V UkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NU RENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9J RUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBf RVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAj ZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NU RENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5D U19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BF Tl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBH Q0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhB VkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFM TE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BX RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9I IDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwg I2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZp bmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZp bmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5l IFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2Rl ZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9K U09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElG WSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElN IDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZp bmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENNUzIgMQp8ICNkZWZpbmUgSEFWRV9aTElC IDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRs bCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUX0gg MQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJU1BfU1VG RklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAj ZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZF X0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklO VCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVm aW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZp bmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUg SEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmlu ZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBI QVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VU U09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9M T0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1FX05QIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9BTElHTkVEX0FMTE9DIDAKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX0ZSQU1FX0FERFJF U1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFW RV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9TQlJLIDEKfCAjZGVmaW5lIEhBVkVfQ0FOT05JQ0FM SVpFX0ZJTEVfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVf UkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0VYUExJQ0lUX0JaRVJPIDEKfCAjZGVmaW5lIEhB VkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EQVQgMQp8ICNkZWZpbmUgSEFWRV9M Q0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8 ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2Rl ZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFWRV9Q U0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2RlZmluZSBIQVZFX0lTV0NUWVBF IDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwg I2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwgI2RlZmluZSB2Zm9yayBmb3JrCnwgI2RlZmluZSBI QVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmlu ZSBIQVZFX0xBTkdJTkZPX19OTF9QQVBFUl9XSURUSCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVf VCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIk5VTDoi CnwgI2RlZmluZSBTRVBDSEFSICc7Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5l IFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycK fCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAoKF9jXykgPT0gJzonKQp8ICNkZWZpbmUgSVNf RElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSAnLycgfHwgKF9jXykgPT0gJ1xcJykKfCAjZGVm aW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSB8fCBJU19ERVZJQ0Vf U0VQKF9jXykpCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2Rl ZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9TVEFDS19PVkVSRkxPV19IQU5E TElORyAxCnwgI2RlZmluZSBET1NfTlQgLyoqLwp8ICNkZWZpbmUgV0lORE9XU05UIDEKfCAjZGVm aW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykg MjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURF UiAidzMydGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAieDg2XzY0LXc2NC1t aW5ndzMyIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PS9ob21lL1ZX aW5Vc2VyMC9Eb3dubG9hZHMvZW1hY3MvbmF0aXZlLWNvbXAvYnVpbHQgLS13aXRoLW5hdGl2ZWNv bXAiCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BVFRSSUJVVEVfQUxJR05FRCAxCnwgI2RlZmluZSBI QVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX1NUQVRFTUVOVF9FWFBSRVNTSU9OUyAxCnwgI2Rl ZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBET1VCTEVfU0xBU0hfSVNfRElTVElOQ1RfUk9P VCAxCnwgI2RlZmluZSBGVU5DX1JFQUxQQVRIX1dPUktTIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9f cmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIExTVEFUX0ZP TExPV1NfU0xBU0hFRF9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAj ZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdf TE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTU1FTSAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfTUVNUkNIUiAwCnwgI2RlZmluZSBUSU1FX1RfSVNfU0lHTkVEIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVf VFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgTUFMTE9DXzBfSVNf Tk9OTlVMTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NU Uk5MRU4gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBfVVNFX1NU RF9TVEFUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9DTEVBUkVSUl9VTkxPQ0tFRCAwCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfRkVPRl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkVSUk9SX1VO TE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRkxVU0hfVU5MT0NLRUQgMAp8ICNkZWZpbmUg SEFWRV9ERUNMX0ZHRVRTX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUQ19VTkxP Q0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlBVVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFW RV9ERUNMX0ZSRUFEX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GV1JJVEVfVU5MT0NL RUQgMAp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZk ZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYK fCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUg PHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8 c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBp ZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5j bHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5k aWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8 IGludAp8IG1haW4gKCkKfCB7CnwgI2lmbmRlZiBnZXRjX3VubG9ja2VkCnwgI2lmZGVmIF9fY3Bs dXNwbHVzCnwgICAodm9pZCkgZ2V0Y191bmxvY2tlZDsKfCAjZWxzZQp8ICAgKHZvaWQpIGdldGNf dW5sb2NrZWQ7CnwgI2VuZGlmCnwgI2VuZGlmCnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNv bmZpZ3VyZToyNjI1NTogcmVzdWx0OiBubwpjb25maWd1cmU6MjYyNjY6IGNoZWNraW5nIHdoZXRo ZXIgZ2V0Y2hhcl91bmxvY2tlZCBpcyBkZWNsYXJlZApjb25maWd1cmU6MjYyNjY6IGdjYyAtSSAu Li9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgY29uZnRl c3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjIyODox MDogZXJyb3I6ICdnZXRjaGFyX3VubG9ja2VkJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhp cyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiAnX2dldGNoYXJfbm9sb2NrJz8KICAyMjggfCAgICh2 b2lkKSBnZXRjaGFyX3VubG9ja2VkOwogICAgICB8ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn4K ICAgICAgfCAgICAgICAgICBfZ2V0Y2hhcl9ub2xvY2sKY29uZnRlc3QuYzoyMjg6MTA6IG5vdGU6 IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFj aCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCmNvbmZpZ3VyZToyNjI2NjogJD8gPSAxCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tB R0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251 LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9y Zy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFW RV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9E QVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJT RF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9Q VEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklC U19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAj ZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182 MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAj ZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1f U09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5l IF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNU RU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmlu ZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwg I2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmlu ZSBIQVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEK fCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZp bmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMy Tk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJ VF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJV WlogMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5l IEhBVkVfTENNUzIgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxF UyAxCnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0ND SklUIDEKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVf Q09NUCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFW RV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVm aW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5l IEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5D IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8 ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNk ZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmlu ZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2Rl ZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBI QVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFW RV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRI UkVBRF9TRVROQU1FX05QIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDAKfCAj ZGVmaW5lIEhBVkVfX19CVUlMVElOX0ZSQU1FX0FERFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JV SUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFW RV9TQlJLIDEKfCAjZGVmaW5lIEhBVkVfQ0FOT05JQ0FMSVpFX0ZJTEVfTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBI QVZFX0VYUExJQ0lUX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5l IEhBVkVfRkNITU9EQVQgMQp8ICNkZWZpbmUgSEFWRV9MQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9G Q05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwg I2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVm aW5lIEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVf SVNCTEFOSyAxCnwgI2RlZmluZSBIQVZFX0lTV0NUWVBFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9J TUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAx CnwgI2RlZmluZSB2Zm9yayBmb3JrCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5l IEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX19OTF9QQVBF Ul9XSURUSCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tF VFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIk5VTDoiCnwgI2RlZmluZSBTRVBDSEFSICc7Jwp8 ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19n ZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAo X2NfKSAoKF9jXykgPT0gJzonKQp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2Nf KSA9PSAnLycgfHwgKF9jXykgPT0gJ1xcJykKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNf RElSRUNUT1JZX1NFUCAoX2NfKSB8fCBJU19ERVZJQ0VfU0VQKF9jXykpCnwgI2RlZmluZSBERUZB VUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8 ICNkZWZpbmUgSEFWRV9TVEFDS19PVkVSRkxPV19IQU5ETElORyAxCnwgI2RlZmluZSBET1NfTlQg LyoqLwp8ICNkZWZpbmUgV0lORE9XU05UIDEKfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwg I2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAidzMydGVybS5oIgp8ICNkZWZpbmUg RU1BQ1NfQ09ORklHVVJBVElPTiAieDg2XzY0LXc2NC1taW5ndzMyIgp8ICNkZWZpbmUgRU1BQ1Nf Q09ORklHX09QVElPTlMgIi0tcHJlZml4PS9ob21lL1ZXaW5Vc2VyMC9Eb3dubG9hZHMvZW1hY3Mv bmF0aXZlLWNvbXAvYnVpbHQgLS13aXRoLW5hdGl2ZWNvbXAiCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9BVFRSSUJVVEVfQUxJR05FRCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBI QVZFX1NUQVRFTUVOVF9FWFBSRVNTSU9OUyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2Rl ZmluZSBET1VCTEVfU0xBU0hfSVNfRElTVElOQ1RfUk9PVCAxCnwgI2RlZmluZSBGVU5DX1JFQUxQ QVRIX1dPUktTIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVf RU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIExTVEFUX0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5LIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lO VCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX01FTU1FTSAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBU SU1FX1RfSVNfU0lHTkVEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgTUFMTE9DXzBfSVNfTk9OTlVMTCAxCnwgI2RlZmluZSBIQVZF X1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk5MRU4gMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBfVVNFX1NURF9TVEFUIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9DTEVBUkVSUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkVPRl9VTkxPQ0tF RCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkVSUk9SX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVf REVDTF9GRkxVU0hfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZHRVRTX1VOTE9DS0VE IDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfRlBVVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZSRUFEX1VOTE9DS0VEIDAK fCAjZGVmaW5lIEhBVkVfREVDTF9GV1JJVEVfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNM X0dFVENfVU5MT0NLRUQgMAp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3Rk aW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+ CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQu aD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4K fCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwg IyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NU UklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9S WV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5n Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdz Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlw ZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50 Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5o Pgp8ICNlbmRpZgp8IGludAp8IG1haW4gKCkKfCB7CnwgI2lmbmRlZiBnZXRjaGFyX3VubG9ja2Vk CnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgICAodm9pZCkgZ2V0Y2hhcl91bmxvY2tlZDsKfCAjZWxz ZQp8ICAgKHZvaWQpIGdldGNoYXJfdW5sb2NrZWQ7CnwgI2VuZGlmCnwgI2VuZGlmCnwgCnwgICA7 CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyNjI2NjogcmVzdWx0OiBubwpjb25maWd1cmU6 MjYyNzc6IGNoZWNraW5nIHdoZXRoZXIgcHV0Y191bmxvY2tlZCBpcyBkZWNsYXJlZApjb25maWd1 cmU6MjYyNzc6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVu ZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4n Ogpjb25mdGVzdC5jOjIyOToxMDogZXJyb3I6ICdwdXRjX3VubG9ja2VkJyB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAyMjkgfCAgICh2b2lkKSBwdXRjX3VubG9ja2Vk OwogICAgICB8ICAgICAgICAgIF5+fn5+fn5+fn5+fn4KY29uZnRlc3QuYzoyMjk6MTA6IG5vdGU6 IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFj aCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCmNvbmZpZ3VyZToyNjI3NzogJD8gPSAxCmNvbmZpZ3Vy ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tB R0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H ICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251 LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9y Zy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFW RV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9E QVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJT RF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9Q VEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklC U19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAj ZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182 MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAj ZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1f U09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5l IF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNU RU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmlu ZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1F X0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwg I2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmlu ZSBIQVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEK fCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZp bmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMy Tk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJ VF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJV WlogMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5l IEhBVkVfTENNUzIgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxF UyAxCnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0ND SklUIDEKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVf Q09NUCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFW RV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVm aW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5l IEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5D IDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8 ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNk ZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmlu ZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2Rl ZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBI QVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFW RV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRI UkVBRF9TRVROQU1FX05QIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDAKfCAj ZGVmaW5lIEhBVkVfX19CVUlMVElOX0ZSQU1FX0FERFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JV SUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFW RV9TQlJLIDEKfCAjZGVmaW5lIEhBVkVfQ0FOT05JQ0FMSVpFX0ZJTEVfTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBI QVZFX0VYUExJQ0lUX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5l IEhBVkVfRkNITU9EQVQgMQp8ICNkZWZpbmUgSEFWRV9MQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9G Q05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwg I2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVm aW5lIEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVf SVNCTEFOSyAxCnwgI2RlZmluZSBIQVZFX0lTV0NUWVBFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9J TUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAx CnwgI2RlZmluZSB2Zm9yayBmb3JrCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5l IEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX19OTF9QQVBF Ul9XSURUSCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tF VFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIk5VTDoiCnwgI2RlZmluZSBTRVBDSEFSICc7Jwp8 ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19n ZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAo X2NfKSAoKF9jXykgPT0gJzonKQp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2Nf KSA9PSAnLycgfHwgKF9jXykgPT0gJ1xcJykKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNf RElSRUNUT1JZX1NFUCAoX2NfKSB8fCBJU19ERVZJQ0VfU0VQKF9jXykpCnwgI2RlZmluZSBERUZB VUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8 ICNkZWZpbmUgSEFWRV9TVEFDS19PVkVSRkxPV19IQU5ETElORyAxCnwgI2RlZmluZSBET1NfTlQg LyoqLwp8ICNkZWZpbmUgV0lORE9XU05UIDEKfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwg I2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAidzMydGVybS5oIgp8ICNkZWZpbmUg RU1BQ1NfQ09ORklHVVJBVElPTiAieDg2XzY0LXc2NC1taW5ndzMyIgp8ICNkZWZpbmUgRU1BQ1Nf Q09ORklHX09QVElPTlMgIi0tcHJlZml4PS9ob21lL1ZXaW5Vc2VyMC9Eb3dubG9hZHMvZW1hY3Mv bmF0aXZlLWNvbXAvYnVpbHQgLS13aXRoLW5hdGl2ZWNvbXAiCnwgI2RlZmluZSBIQVZFX1NUUlVD VF9BVFRSSUJVVEVfQUxJR05FRCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBI QVZFX1NUQVRFTUVOVF9FWFBSRVNTSU9OUyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2Rl ZmluZSBET1VCTEVfU0xBU0hfSVNfRElTVElOQ1RfUk9PVCAxCnwgI2RlZmluZSBGVU5DX1JFQUxQ QVRIX1dPUktTIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVf RU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIExTVEFUX0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5LIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lO VCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX01FTU1FTSAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBU SU1FX1RfSVNfU0lHTkVEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgTUFMTE9DXzBfSVNfTk9OTlVMTCAxCnwgI2RlZmluZSBIQVZF X1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk5MRU4gMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBfVVNFX1NURF9TVEFUIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9DTEVBUkVSUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkVPRl9VTkxPQ0tF RCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkVSUk9SX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVf REVDTF9GRkxVU0hfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZHRVRTX1VOTE9DS0VE IDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfRlBVVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZSRUFEX1VOTE9DS0VEIDAK fCAjZGVmaW5lIEhBVkVfREVDTF9GV1JJVEVfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNM X0dFVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVENIQVJfVU5MT0NLRUQgMAp8 IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFW RV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVm IEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZk ZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRl Zi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGli Lmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVm aW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8 bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAj aWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IGludAp8 IG1haW4gKCkKfCB7CnwgI2lmbmRlZiBwdXRjX3VubG9ja2VkCnwgI2lmZGVmIF9fY3BsdXNwbHVz CnwgICAodm9pZCkgcHV0Y191bmxvY2tlZDsKfCAjZWxzZQp8ICAgKHZvaWQpIHB1dGNfdW5sb2Nr ZWQ7CnwgI2VuZGlmCnwgI2VuZGlmCnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3Vy ZToyNjI3NzogcmVzdWx0OiBubwpjb25maWd1cmU6MjYyODg6IGNoZWNraW5nIHdoZXRoZXIgcHV0 Y2hhcl91bmxvY2tlZCBpcyBkZWNsYXJlZApjb25maWd1cmU6MjYyODg6IGdjYyAtSSAuLi9zcmMv bnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+ JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjIzMDoxMDogZXJy b3I6ICdwdXRjaGFyX3VubG9ja2VkJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5j dGlvbik7IGRpZCB5b3UgbWVhbiAnX3B1dGNoYXJfbm9sb2NrJz8KICAyMzAgfCAgICh2b2lkKSBw dXRjaGFyX3VubG9ja2VkOwogICAgICB8ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn4KICAgICAg fCAgICAgICAgICBfcHV0Y2hhcl9ub2xvY2sKY29uZnRlc3QuYzoyMzA6MTA6IG5vdGU6IGVhY2gg dW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5j dGlvbiBpdCBhcHBlYXJzIGluCmNvbmZpZ3VyZToyNjI4ODogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5l IFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUg RW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNz QGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0 d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVN UEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9f RVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5f Q19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VS Q0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFE X1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRf XyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5l IF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRf SUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9U WVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5l IF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNF IDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxF X09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQ RSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZF X1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVT T1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tF VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmlu ZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZF X05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBI QVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVm aW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFW RV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZ IDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JP TExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8 ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVf TENNUzIgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwg I2RlZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEK fCAjZGVmaW5lIEhBVkVfTElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAx CnwgI2RlZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcg MQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhB VkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVf UkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEKfCAj ZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZp bmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUg SEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBI QVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JF Q1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlf U1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9T RVROQU1FX05QIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDAKfCAjZGVmaW5l IEhBVkVfX19CVUlMVElOX0ZSQU1FX0FERFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5f VU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9TQlJL IDEKfCAjZGVmaW5lIEhBVkVfQ0FOT05JQ0FMSVpFX0ZJTEVfTkFNRSAxCnwgI2RlZmluZSBIQVZF X1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0VY UExJQ0lUX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVf RkNITU9EQVQgMQp8ICNkZWZpbmUgSEFWRV9MQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAx CnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmlu ZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhB VkVfUElQRTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFO SyAxCnwgI2RlZmluZSBIQVZFX0lTV0NUWVBFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEK fCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwgI2Rl ZmluZSB2Zm9yayBmb3JrCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVf TEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX19OTF9QQVBFUl9XSURU SCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8 ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIk5VTDoiCnwgI2RlZmluZSBTRVBDSEFSICc7Jwp8ICNkZWZp bmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8 ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAo KF9jXykgPT0gJzonKQp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSAn LycgfHwgKF9jXykgPT0gJ1xcJykKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNU T1JZX1NFUCAoX2NfKSB8fCBJU19ERVZJQ0VfU0VQKF9jXykpCnwgI2RlZmluZSBERUZBVUxUX1NP VU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZp bmUgSEFWRV9TVEFDS19PVkVSRkxPV19IQU5ETElORyAxCnwgI2RlZmluZSBET1NfTlQgLyoqLwp8 ICNkZWZpbmUgV0lORE9XU05UIDEKfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmlu ZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAidzMydGVybS5oIgp8ICNkZWZpbmUgRU1BQ1Nf Q09ORklHVVJBVElPTiAieDg2XzY0LXc2NC1taW5ndzMyIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklH X09QVElPTlMgIi0tcHJlZml4PS9ob21lL1ZXaW5Vc2VyMC9Eb3dubG9hZHMvZW1hY3MvbmF0aXZl LWNvbXAvYnVpbHQgLS13aXRoLW5hdGl2ZWNvbXAiCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BVFRS SUJVVEVfQUxJR05FRCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX1NU QVRFTUVOVF9FWFBSRVNTSU9OUyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBE T1VCTEVfU0xBU0hfSVNfRElTVElOQ1RfUk9PVCAxCnwgI2RlZmluZSBGVU5DX1JFQUxQQVRIX1dP UktTIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfRU5WSVJP Tl9ERUNMIDEKfCAjZGVmaW5lIExTVEFUX0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5LIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwg I2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X01FTU1FTSAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBUSU1FX1Rf SVNfU0lHTkVEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgTUFMTE9DXzBfSVNfTk9OTlVMTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFS X1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk5MRU4gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NU UlRPSU1BWCAxCnwgI2RlZmluZSBfVVNFX1NURF9TVEFUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9D TEVBUkVSUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkVPRl9VTkxPQ0tFRCAwCnwg I2RlZmluZSBIQVZFX0RFQ0xfRkVSUk9SX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9G RkxVU0hfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZHRVRTX1VOTE9DS0VEIDAKfCAj ZGVmaW5lIEhBVkVfREVDTF9GUFVUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlBV VFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZSRUFEX1VOTE9DS0VEIDAKfCAjZGVm aW5lIEhBVkVfREVDTF9GV1JJVEVfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVENf VU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVENIQVJfVU5MT0NLRUQgMAp8ICNkZWZp bmUgSEFWRV9ERUNMX1BVVENfVU5MT0NLRUQgMAp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAj aW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8 c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVk ZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRl IDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZF X1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNp ZmRlZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5l ZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5j bHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNs dWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5j bHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5j bHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1 ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IGludAp8IG1haW4gKCkKfCB7CnwgI2lmbmRlZiBwdXRj aGFyX3VubG9ja2VkCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgICAodm9pZCkgcHV0Y2hhcl91bmxv Y2tlZDsKfCAjZWxzZQp8ICAgKHZvaWQpIHB1dGNoYXJfdW5sb2NrZWQ7CnwgI2VuZGlmCnwgI2Vu ZGlmCnwgCnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyNjI4ODogcmVzdWx0OiBu bwpjb25maWd1cmU6MjYzMDE6IGNoZWNraW5nIHR5cGUgb2YgYXJyYXkgYXJndW1lbnQgdG8gZ2V0 Z3JvdXBzCmNvbmZpZ3VyZToyNjMzNTogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3Qu ZXhlIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgIGNvbmZ0ZXN0LmMgICA+JjUg CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoyMzk6Nzogd2Fybmlu ZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ2dldGdyb3VwcycgWy1XaW1wbGlj aXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgMjM5IHwgICBuID0gZ2V0Z3JvdXBzIChzaXplb2Yg KGdpZHNldCkgLyBNQVggKHNpemVvZiAoaW50KSwgc2l6ZW9mIChnaWRfdCkpIC0gMSwKICAgICAg fCAgICAgICBefn5+fn5+fn4KQzovbXN5czY0L21pbmd3NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0 LXc2NC1taW5ndzMyLzEwLjIuMC8uLi8uLi8uLi8uLi94ODZfNjQtdzY0LW1pbmd3MzIvYmluL2xk LmV4ZTogQzpcbXN5czY0XHRtcFxjY2Fhc3hpZi5vOiBpbiBmdW5jdGlvbiBgbWFpbic6DQpDOlxt c3lzNjRcaG9tZVxWV2luVXNlcjBcRG93bmxvYWRzXGVtYWNzXG5hdGl2ZS1jb21wXGJ1aWxkL2Nv bmZ0ZXN0LmM6MjM5OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBnZXRncm91cHMnDQpjb2xsZWN0 Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToyNjMzNTog JD8gPSAxCmNvbmZpZ3VyZTogcHJvZ3JhbSBleGl0ZWQgd2l0aCBzdGF0dXMgMQpjb25maWd1cmU6 IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdF X05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2Rl ZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAi R05VIEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1l bWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcv c29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVf UERVTVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFS V0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0Rf U09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRI UkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNf RVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2Rl ZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19X QU5UX0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1 NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2Rl ZmluZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NP VVJDRSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBf RklMRV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVN X1RZUEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUg SEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T T0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9I IDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUg SEFWRV9OQVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZp bmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBVU0VfTU1BUF9GT1JfQlVGRkVSUyAxCnwg I2RlZmluZSBUSFJFQURTX0VOQUJMRUQgMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5l IEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfSlNPTiAxCnwgI2RlZmluZSBIQVZFX1czMk5P VElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRf U0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0hBUkZCVVpa IDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBI QVZFX0xDTVMyIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX01PRFVMRVMg MQp8ICNkZWZpbmUgTU9EVUxFU19TVUZGSVggIi5kbGwiCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJ VCAxCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0NP TVAgMQp8ICNkZWZpbmUgTkFUSVZFX0VMSVNQX1NVRkZJWCAiLmVsbiIKfCAjZGVmaW5lIEhBVkVf UE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmlu ZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBI QVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9UUlVOQyAx CnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAj ZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVm aW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUg SEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZp bmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFW RV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVf R0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1BUSFJF QURfU0VUTkFNRV9OUCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxJR05FRF9BTExPQyAwCnwgI2Rl ZmluZSBIQVZFX19fQlVJTFRJTl9GUkFNRV9BRERSRVNTIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlM VElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVf U0JSSyAxCnwgI2RlZmluZSBIQVZFX0NBTk9OSUNBTElaRV9GSUxFX05BTUUgMQp8ICNkZWZpbmUg SEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LQVQgMQp8ICNkZWZpbmUgSEFW RV9FWFBMSUNJVF9CWkVSTyAxCnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBI QVZFX0ZDSE1PREFUIDEKfCAjZGVmaW5lIEhBVkVfTENITU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNO VEwgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNk ZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmlu ZSBIQVZFX1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0lT QkxBTksgMQp8ICNkZWZpbmUgSEFWRV9JU1dDVFlQRSAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1B WCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8 ICNkZWZpbmUgdmZvcmsgZm9yawp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBI QVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19fTkxfUEFQRVJf V0lEVEggMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRT IDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICJOVUw6Igp8ICNkZWZpbmUgU0VQQ0hBUiAnOycKfCAj ZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vj b3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9j XykgKChfY18pID09ICc6JykKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykg PT0gJy8nIHx8IChfY18pID09ICdcXCcpCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJ UkVDVE9SWV9TRVAgKF9jXykgfHwgSVNfREVWSUNFX1NFUChfY18pKQp8ICNkZWZpbmUgREVGQVVM VF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAj ZGVmaW5lIEhBVkVfU1RBQ0tfT1ZFUkZMT1dfSEFORExJTkcgMQp8ICNkZWZpbmUgRE9TX05UIC8q Ki8KfCAjZGVmaW5lIFdJTkRPV1NOVCAxCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNk ZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInczMnRlcm0uaCIKfCAjZGVmaW5lIEVN QUNTX0NPTkZJR1VSQVRJT04gIng4Nl82NC13NjQtbWluZ3czMiIKfCAjZGVmaW5lIEVNQUNTX0NP TkZJR19PUFRJT05TICItLXByZWZpeD0vaG9tZS9WV2luVXNlcjAvRG93bmxvYWRzL2VtYWNzL25h dGl2ZS1jb21wL2J1aWx0IC0td2l0aC1uYXRpdmVjb21wIgp8ICNkZWZpbmUgSEFWRV9TVFJVQ1Rf QVRUUklCVVRFX0FMSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFW RV9TVEFURU1FTlRfRVhQUkVTU0lPTlMgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZp bmUgRE9VQkxFX1NMQVNIX0lTX0RJU1RJTkNUX1JPT1QgMQp8ICNkZWZpbmUgRlVOQ19SRUFMUEFU SF9XT1JLUyAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0VO VklST05fREVDTCAxCnwgI2RlZmluZSBMU1RBVF9GT0xMT1dTX1NMQVNIRURfU1lNTElOSyAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQg MQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9NRU1NRU0gMAp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgVElN RV9UX0lTX1NJR05FRCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFW RV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIE1BTExPQ18wX0lTX05PTk5VTEwgMQp8ICNkZWZpbmUgSEFWRV9X Q0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJOTEVOIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgX1VTRV9TVERfU1RBVCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfQ0xFQVJFUlJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZFT0ZfVU5MT0NLRUQg MAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZFUlJPUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfRkZMVVNIX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GR0VUU19VTkxPQ0tFRCAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfRlBVVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNM X0ZQVVRTX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUkVBRF9VTkxPQ0tFRCAwCnwg I2RlZmluZSBIQVZFX0RFQ0xfRldSSVRFX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9H RVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRDSEFSX1VOTE9DS0VEIDAKfCAj ZGVmaW5lIEhBVkVfREVDTF9QVVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9QVVRD SEFSX1VOTE9DS0VEIDAKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogVGhhbmtzIHRvIE1p a2UgUmVuZGVsbCBmb3IgdGhpcyB0ZXN0LiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZk ZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYK fCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUg PHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8 c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBp ZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5j bHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5k aWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8 ICNkZWZpbmUgTkdJRCAyNTYKfCAjdW5kZWYgTUFYCnwgI2RlZmluZSBNQVgoeCwgeSkgKCh4KSA+ ICh5KSA/ICh4KSA6ICh5KSkKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8ICAgZ2lkX3QgZ2lkc2V0 W05HSURdOwp8ICAgaW50IGksIG47CnwgICB1bmlvbiB7IGdpZF90IGd2YWw7IGxvbmcgaW50IGx2 YWw7IH0gIHZhbDsKfCAKfCAgIHZhbC5sdmFsID0gLTE7CnwgICBmb3IgKGkgPSAwOyBpIDwgTkdJ RDsgaSsrKQp8ICAgICBnaWRzZXRbaV0gPSB2YWwuZ3ZhbDsKfCAgIG4gPSBnZXRncm91cHMgKHNp emVvZiAoZ2lkc2V0KSAvIE1BWCAoc2l6ZW9mIChpbnQpLCBzaXplb2YgKGdpZF90KSkgLSAxLAp8 IAkJIGdpZHNldCk7CnwgICAvKiBFeGl0IG5vbi16ZXJvIGlmIGdldGdyb3VwcyBzZWVtcyB0byBy ZXF1aXJlIGFuIGFycmF5IG9mIGludHMuICBUaGlzCnwgICAgICBoYXBwZW5zIHdoZW4gZ2lkX3Qg aXMgc2hvcnQgaW50IGJ1dCBnZXRncm91cHMgbW9kaWZpZXMgYW4gYXJyYXkKfCAgICAgIG9mIGlu dHMuICAqLwp8ICAgcmV0dXJuIG4gPiAwICYmIGdpZHNldFtuXSAhPSB2YWwuZ3ZhbDsKfCB9CmNv bmZpZ3VyZToyNjM2MDogcmVzdWx0OiBpbnQKY29uZmlndXJlOjI2MzcwOiBjaGVja2luZyB3aGV0 aGVyIGdldGR0YWJsZXNpemUgaXMgZGVjbGFyZWQKY29uZmlndXJlOjI2MzcwOiBnY2MgLUkgLi4v c3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0 LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoyMzI6MTA6 IGVycm9yOiAnZ2V0ZHRhYmxlc2l6ZScgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVu Y3Rpb24pCiAgMjMyIHwgICAodm9pZCkgZ2V0ZHRhYmxlc2l6ZTsKICAgICAgfCAgICAgICAgICBe fn5+fn5+fn5+fn5+CmNvbmZ0ZXN0LmM6MjMyOjEwOiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRl bnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFy cyBpbgpjb25maWd1cmU6MjYzNzA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh czoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIK fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJ T04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAi CnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNk ZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8 ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmlu ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAx CnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAj ZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5l IF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8 ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUg X19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9J RUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5D U19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8 ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9N QVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBf SFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2 NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQi CnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2Rl ZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNk ZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVf TElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5U X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJ VF9IIDEKfCAjZGVmaW5lIEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0Vf QVBJIDEKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0la RSAxCnwgI2RlZmluZSBVU0VfTU1BUF9GT1JfQlVGRkVSUyAxCnwgI2RlZmluZSBUSFJFQURTX0VO QUJMRUQgMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAj ZGVmaW5lIEhBVkVfSlNPTiAxCnwgI2RlZmluZSBIQVZFX1czMk5PVElGWSAxCnwgI2RlZmluZSBV U0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNk ZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0hBUkZCVVpaIDEKfCAjZGVmaW5lIEhBVkVf WFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0xDTVMyIDEKfCAjZGVm aW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX01PRFVMRVMgMQp8ICNkZWZpbmUgTU9EVUxF U19TVUZGSVggIi5kbGwiCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVCAxCnwgI2RlZmluZSBIQVZF X0xJQkdDQ0pJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0NPTVAgMQp8ICNkZWZpbmUgTkFU SVZFX0VMSVNQX1NVRkZJWCAiLmVsbiIKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhB VkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8 ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2Rl ZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9UUlVOQyAxCnwgI2RlZmluZSBIQVZFX1NF TEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9D QUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlU IDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01B U0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIg MQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2Rl ZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAj ZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfQUxJR05FRF9BTExPQyAwCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJ Tl9GUkFNRV9BRERSRVNTIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEK fCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfU0JSSyAxCnwgI2RlZmluZSBI QVZFX0NBTk9OSUNBTElaRV9GSUxFX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwg I2RlZmluZSBIQVZFX1JFQURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9FWFBMSUNJVF9CWkVSTyAx CnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PREFUIDEKfCAj ZGVmaW5lIEhBVkVfTENITU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFW RV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1F T0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BJUEUyIDEKfCAj ZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZpbmUg SEFWRV9JU1dDVFlQRSAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZF X1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUgdmZvcmsgZm9y awp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVT RVQgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19fTkxfUEFQRVJfV0lEVEggMQp8ICNkZWZpbmUg SEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExf REVWSUNFICJOVUw6Igp8ICNkZWZpbmUgU0VQQ0hBUiAnOycKfCAjZGVmaW5lIHN1YnByb2Nlc3Nl cyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVD VE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgKChfY18pID09ICc6JykK fCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gJy8nIHx8IChfY18pID09 ICdcXCcpCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykg fHwgSVNfREVWSUNFX1NFUChfY18pKQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9k ZXYvZHNwIgp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfU1RBQ0tf T1ZFUkZMT1dfSEFORExJTkcgMQp8ICNkZWZpbmUgRE9TX05UIC8qKi8KfCAjZGVmaW5lIFdJTkRP V1NOVCAxCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJD b3B5cmlnaHQgKEMpIDIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZp bmUgVEVSTV9IRUFERVIgInczMnRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04g Ing4Nl82NC13NjQtbWluZ3czMiIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXBy ZWZpeD0vaG9tZS9WV2luVXNlcjAvRG93bmxvYWRzL2VtYWNzL25hdGl2ZS1jb21wL2J1aWx0IC0t d2l0aC1uYXRpdmVjb21wIgp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQVRUUklCVVRFX0FMSUdORUQg MQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9TVEFURU1FTlRfRVhQUkVT U0lPTlMgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgRE9VQkxFX1NMQVNIX0lT X0RJU1RJTkNUX1JPT1QgMQp8ICNkZWZpbmUgRlVOQ19SRUFMUEFUSF9XT1JLUyAxCnwgI2RlZmlu ZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2Rl ZmluZSBMU1RBVF9GT0xMT1dTX1NMQVNIRURfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf U1RSTU9ERSAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9V TlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1NRU0gMAp8ICNk ZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgVElNRV9UX0lTX1NJR05FRCAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwg I2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IE1BTExPQ18wX0lTX05PTk5VTEwgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9TVFJOTEVOIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNk ZWZpbmUgX1VTRV9TVERfU1RBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQ0xFQVJFUlJfVU5MT0NL RUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZFT0ZfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9E RUNMX0ZFUlJPUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkZMVVNIX1VOTE9DS0VE IDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GR0VUU19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfRlBVVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZQVVRTX1VOTE9DS0VEIDAK fCAjZGVmaW5lIEhBVkVfREVDTF9GUkVBRF9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf RldSSVRFX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRDX1VOTE9DS0VEIDAKfCAj ZGVmaW5lIEhBVkVfREVDTF9HRVRDSEFSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9Q VVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9QVVRDSEFSX1VOTE9DS0VEIDAKfCAj ZGVmaW5lIEdFVEdST1VQU19UIGludAp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVk ZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5 cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lz L3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRs aWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJ Ql9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBI QVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZF X01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8 c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxz dHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8 aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8 c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVu aXN0ZC5oPgp8ICNlbmRpZgp8IGludAp8IG1haW4gKCkKfCB7CnwgI2lmbmRlZiBnZXRkdGFibGVz aXplCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgICAodm9pZCkgZ2V0ZHRhYmxlc2l6ZTsKfCAjZWxz ZQp8ICAgKHZvaWQpIGdldGR0YWJsZXNpemU7CnwgI2VuZGlmCnwgI2VuZGlmCnwgCnwgICA7Cnwg ICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyNjM3MDogcmVzdWx0OiBubwpjb25maWd1cmU6MjYz ODI6IGNoZWNraW5nIGZvciBPX0NMT0VYRUMKY29uZmlndXJlOjI2NDAyOiBnY2MgLUkgLi4vc3Jj L250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMg PiY1CmNvbmZ0ZXN0LmM6MTk1OjI5OiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ2Nob2tlJwog IDE5NSB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaG9rZSBtZTsKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn4KY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21h aW4nOgpjb25mdGVzdC5jOjIwMTo4OiBlcnJvcjogJ09fQ0xPRVhFQycgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgMjAxIHwgcmV0dXJuIE9fQ0xPRVhFQzsKICAgICAg fCAgICAgICAgXn5+fn5+fn5+CmNvbmZ0ZXN0LmM6MjAxOjg6IG5vdGU6IGVhY2ggdW5kZWNsYXJl ZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBh cHBlYXJzIGluCmNvbmZpZ3VyZToyNjQwMjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dy YW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjgu MC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmci CnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFj cy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9O U19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0Ug MQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNk ZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElD UyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2Rl ZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19X QU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5 X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRf XyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19X QU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVm aW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9C SVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93 cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEK fCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAx CnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUg SEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZ U19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9J TUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBB R0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRIUkVB RFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMg MQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAjZGVm aW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAx CnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNkZWZpbmUg SEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENNUzIgMQp8 ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmluZSBN T0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAjZGVmaW5l IEhBVkVfTElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwgI2RlZmlu ZSBOQVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZp bmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1M MiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEK fCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEKfCAjZGVmaW5lIEhB VkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9T RVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRS TElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURf U0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElU SU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEK fCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1Ig MQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1FX05Q IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDAKfCAjZGVmaW5lIEhBVkVfX19C VUlMVElOX0ZSQU1FX0FERFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lO SVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9TQlJLIDEKfCAjZGVm aW5lIEhBVkVfQ0FOT05JQ0FMSVpFX0ZJTEVfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5L IDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0VYUExJQ0lUX0Ja RVJPIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EQVQg MQp8ICNkZWZpbmUgSEFWRV9MQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmlu ZSBIQVZFX0ZTVEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dF VFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIg MQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2Rl ZmluZSBIQVZFX0lTV0NUWVBFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5l IEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwgI2RlZmluZSB2Zm9y ayBmb3JrCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9f Q09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX19OTF9QQVBFUl9XSURUSCAxCnwgI2Rl ZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUg TlVMTF9ERVZJQ0UgIk5VTDoiCnwgI2RlZmluZSBTRVBDSEFSICc7Jwp8ICNkZWZpbmUgc3VicHJv Y2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUg RElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAoKF9jXykgPT0g JzonKQp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSAnLycgfHwgKF9j XykgPT0gJ1xcJykKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAo X2NfKSB8fCBJU19ERVZJQ0VfU0VQKF9jXykpCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklD RSAiL2Rldi9kc3AiCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9T VEFDS19PVkVSRkxPV19IQU5ETElORyAxCnwgI2RlZmluZSBET1NfTlQgLyoqLwp8ICNkZWZpbmUg V0lORE9XU05UIDEKfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBDT1BZUklH SFQgIkNvcHlyaWdodCAoQykgMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwg I2RlZmluZSBURVJNX0hFQURFUiAidzMydGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJB VElPTiAieDg2XzY0LXc2NC1taW5ndzMyIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMg Ii0tcHJlZml4PS9ob21lL1ZXaW5Vc2VyMC9Eb3dubG9hZHMvZW1hY3MvbmF0aXZlLWNvbXAvYnVp bHQgLS13aXRoLW5hdGl2ZWNvbXAiCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BVFRSSUJVVEVfQUxJ R05FRCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX1NUQVRFTUVOVF9F WFBSRVNTSU9OUyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBET1VCTEVfU0xB U0hfSVNfRElTVElOQ1RfUk9PVCAxCnwgI2RlZmluZSBGVU5DX1JFQUxQQVRIX1dPUktTIDEKfCAj ZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEK fCAjZGVmaW5lIExTVEFUX0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBI QVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTU1FTSAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBUSU1FX1RfSVNfU0lHTkVE IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1F IDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgTUFMTE9DXzBfSVNfTk9OTlVMTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1NUUk5MRU4gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAx CnwgI2RlZmluZSBfVVNFX1NURF9TVEFUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9DTEVBUkVSUl9V TkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkVPRl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBI QVZFX0RFQ0xfRkVSUk9SX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRkxVU0hfVU5M T0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZHRVRTX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhB VkVfREVDTF9GUFVUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlBVVFNfVU5MT0NL RUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZSRUFEX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVf REVDTF9GV1JJVEVfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVENfVU5MT0NLRUQg MAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVENIQVJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9E RUNMX1BVVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1BVVENIQVJfVU5MT0NLRUQg MAp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgaW50CnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURFRBQkxF U0laRSAwCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxmY250bC5oPgp8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgI2lmbmRlZiBPX0NMT0VYRUMKfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY2hva2UgbWU7CnwgICAgICAgICAgICAgICAgICAgICAgICAgICAjZW5k aWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBPX0NMT0VYRUM7CnwgICA7CnwgICBy ZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyNjQwOTogcmVzdWx0OiBubwpjb25maWd1cmU6MjY0MTQ6 IGNoZWNraW5nIGZvciBwcm9tb3RlZCBtb2RlX3QgdHlwZQpjb25maWd1cmU6MjY0MzE6IGdjYyAt SSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgY29u ZnRlc3QuYyA+JjUKY29uZmlndXJlOjI2NDMxOiAkPyA9IDAKY29uZmlndXJlOjI2NDM5OiByZXN1 bHQ6IGludApjb25maWd1cmU6MjY0NDg6IGNoZWNraW5nIHdoZXRoZXIgdGhlIHV0aW1lcyBmdW5j dGlvbiB3b3Jrcwpjb25maWd1cmU6MjY1ODc6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0 ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgICBjb25mdGVzdC5jICAg PiY1IApjb25mdGVzdC5jOjIzODogd2FybmluZzogImxzZWVrIiByZWRlZmluZWQKICAyMzggfCAj ZGVmaW5lIGxzZWVrICAgICBfbHNlZWsKICAgICAgfCAKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIEM6 L21zeXM2NC9taW5ndzY0L3g4Nl82NC13NjQtbWluZ3czMi9pbmNsdWRlL2ZjbnRsLmg6OCwKICAg ICAgICAgICAgICAgICBmcm9tIGNvbmZ0ZXN0LmM6MTk3OgpDOi9tc3lzNjQvbWluZ3c2NC94ODZf NjQtdzY0LW1pbmd3MzIvaW5jbHVkZS9pby5oOjM1Mjogbm90ZTogdGhpcyBpcyB0aGUgbG9jYXRp b24gb2YgdGhlIHByZXZpb3VzIGRlZmluaXRpb24KICAzNTIgfCAjZGVmaW5lIGxzZWVrIGxzZWVr NjQKICAgICAgfCAKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjI4 NzoxNDogd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ3V0aW1lcyc7 IGRpZCB5b3UgbWVhbiAndXRpbWUnPyBbLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0K ICAyODcgfCAgICAgZWxzZSBpZiAodXRpbWVzIChmaWxlLCB0aW1ldmFsKSAhPSAwKQogICAgICB8 ICAgICAgICAgICAgICBefn5+fn4KICAgICAgfCAgICAgICAgICAgICAgdXRpbWUKQzovbXN5czY0 L21pbmd3NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5ndzMyLzEwLjIuMC8uLi8uLi8u Li8uLi94ODZfNjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogQzpcbXN5czY0XHRtcFxjY1hBUXY2 ZC5vOiBpbiBmdW5jdGlvbiBgbWFpbic6DQpDOlxtc3lzNjRcaG9tZVxWV2luVXNlcjBcRG93bmxv YWRzXGVtYWNzXG5hdGl2ZS1jb21wXGJ1aWxkL2NvbmZ0ZXN0LmM6MzU5OiB1bmRlZmluZWQgcmVm ZXJlbmNlIHRvIGB1dGltZXMnDQpDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZf NjQtdzY0LW1pbmd3MzIvMTAuMi4wLy4uLy4uLy4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9iaW4v bGQuZXhlOiBDOlxtc3lzNjRcaG9tZVxWV2luVXNlcjBcRG93bmxvYWRzXGVtYWNzXG5hdGl2ZS1j b21wXGJ1aWxkL2NvbmZ0ZXN0LmM6Mjg3OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGB1dGltZXMn DQpDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvMTAu Mi4wLy4uLy4uLy4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBDOlxtc3lzNjRc aG9tZVxWV2luVXNlcjBcRG93bmxvYWRzXGVtYWNzXG5hdGl2ZS1jb21wXGJ1aWxkL2NvbmZ0ZXN0 LmM6Mjg5OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBsc3RhdCcNCkM6L21zeXM2NC9taW5ndzY0 L2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi8xMC4yLjAvLi4vLi4vLi4vLi4veDg2 XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IEM6XG1zeXM2NFxob21lXFZXaW5Vc2VyMFxEb3du bG9hZHNcZW1hY3NcbmF0aXZlLWNvbXBcYnVpbGQvY29uZnRlc3QuYzozMTQ6IHVuZGVmaW5lZCBy ZWZlcmVuY2UgdG8gYHV0aW1lcycNCkM6L21zeXM2NC9taW5ndzY0L2Jpbi8uLi9saWIvZ2NjL3g4 Nl82NC13NjQtbWluZ3czMi8xMC4yLjAvLi4vLi4vLi4vLi4veDg2XzY0LXc2NC1taW5ndzMyL2Jp bi9sZC5leGU6IEM6XG1zeXM2NFxob21lXFZXaW5Vc2VyMFxEb3dubG9hZHNcZW1hY3NcbmF0aXZl LWNvbXBcYnVpbGQvY29uZnRlc3QuYzozMjE6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHV0aW1l cycNCkM6L21zeXM2NC9taW5ndzY0L2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi8x MC4yLjAvLi4vLi4vLi4vLi4veDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IEM6XG1zeXM2 NFxob21lXFZXaW5Vc2VyMFxEb3dubG9hZHNcZW1hY3NcbmF0aXZlLWNvbXBcYnVpbGQvY29uZnRl c3QuYzozMjU6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHV0aW1lcycNCkM6L21zeXM2NC9taW5n dzY0L2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi8xMC4yLjAvLi4vLi4vLi4vLi4v eDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IEM6XG1zeXM2NFxob21lXFZXaW5Vc2VyMFxE b3dubG9hZHNcZW1hY3NcbmF0aXZlLWNvbXBcYnVpbGQvY29uZnRlc3QuYzozMTg6IHVuZGVmaW5l ZCByZWZlcmVuY2UgdG8gYHV0aW1lcycNCmNvbGxlY3QyLmV4ZTogZXJyb3I6IGxkIHJldHVybmVk IDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjI2NTg3OiAkPyA9IDEKY29uZmlndXJlOiBwcm9ncmFt IGV4aXRlZCB3aXRoIHN0YXR1cyAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q IGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZp bmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjgu MC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVm aW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQ QUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmlu ZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENf SEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H X0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVm aW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUg X0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5C U0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENf V0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1 OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9f IDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BF Q19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FM VF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2Rl ZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVm aW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhB VkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBI QVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19Q QVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RF RlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNf SCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8 ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9JTUFHRV9BUEkgMQp8 ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAj ZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAx CnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUg SEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxF X05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBV U0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8 ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENNUzIgMQp8ICNkZWZpbmUgSEFW RV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJ WCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAjZGVmaW5lIEhBVkVfTElCR0ND SklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJ U1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZG IDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmlu ZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhB VkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEK fCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNk ZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwg I2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2Rl ZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhB VkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUg SEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1FX05QIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDAKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX0ZSQU1F X0FERFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZp bmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9TQlJLIDEKfCAjZGVmaW5lIEhBVkVfQ0FO T05JQ0FMSVpFX0ZJTEVfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5l IEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0VYUExJQ0lUX0JaRVJPIDEKfCAjZGVm aW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EQVQgMQp8ICNkZWZpbmUg SEFWRV9MQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTVEFU QVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAx CnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNkZWZpbmUg SEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2RlZmluZSBIQVZFX0lT V0NUWVBFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElO SyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwgI2RlZmluZSB2Zm9yayBmb3JrCnwgI2Rl ZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwg I2RlZmluZSBIQVZFX0xBTkdJTkZPX19OTF9QQVBFUl9XSURUSCAxCnwgI2RlZmluZSBIQVZFX01C U1RBVEVfVCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0Ug Ik5VTDoiCnwgI2RlZmluZSBTRVBDSEFSICc7Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAj ZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NF UCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAoKF9jXykgPT0gJzonKQp8ICNkZWZp bmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSAnLycgfHwgKF9jXykgPT0gJ1xcJykK fCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSB8fCBJU19E RVZJQ0VfU0VQKF9jXykpCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3Ai CnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9TVEFDS19PVkVSRkxP V19IQU5ETElORyAxCnwgI2RlZmluZSBET1NfTlQgLyoqLwp8ICNkZWZpbmUgV0lORE9XU05UIDEK fCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdo dCAoQykgMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJN X0hFQURFUiAidzMydGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAieDg2XzY0 LXc2NC1taW5ndzMyIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PS9o b21lL1ZXaW5Vc2VyMC9Eb3dubG9hZHMvZW1hY3MvbmF0aXZlLWNvbXAvYnVpbHQgLS13aXRoLW5h dGl2ZWNvbXAiCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BVFRSSUJVVEVfQUxJR05FRCAxCnwgI2Rl ZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX1NUQVRFTUVOVF9FWFBSRVNTSU9OUyAx CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBET1VCTEVfU0xBU0hfSVNfRElTVElO Q1RfUk9PVCAxCnwgI2RlZmluZSBGVU5DX1JFQUxQQVRIX1dPUktTIDEKfCAjZGVmaW5lIHJlc3Ry aWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIExT VEFUX0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RF IDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVE X0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTU1FTSAwCnwgI2RlZmluZSBI QVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBUSU1FX1RfSVNfU0lHTkVEIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5l IEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgTUFMTE9D XzBfSVNfTk9OTlVMTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NUUk5MRU4gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBf VVNFX1NURF9TVEFUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9DTEVBUkVSUl9VTkxPQ0tFRCAwCnwg I2RlZmluZSBIQVZFX0RFQ0xfRkVPRl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkVS Uk9SX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRkxVU0hfVU5MT0NLRUQgMAp8ICNk ZWZpbmUgSEFWRV9ERUNMX0ZHRVRTX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUFVU Q19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlBVVFNfVU5MT0NLRUQgMAp8ICNkZWZp bmUgSEFWRV9ERUNMX0ZSRUFEX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GV1JJVEVf VU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUg SEFWRV9ERUNMX0dFVENIQVJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1BVVENfVU5M T0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1BVVENIQVJfVU5MT0NLRUQgMAp8ICNkZWZpbmUg R0VUR1JPVVBTX1QgaW50CnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURFRBQkxFU0laRSAwCnwgI2Rl ZmluZSBQUk9NT1RFRF9NT0RFX1QgaW50CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8ICNp bmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjaW5jbHVkZSA8 ZmNudGwuaD4KfCAjaW5jbHVkZSA8c3lzL3RpbWUuaD4KfCAjaW5jbHVkZSA8dGltZS5oPgp8ICNp bmNsdWRlIDx1bmlzdGQuaD4KfCAjaW5jbHVkZSA8c3RkbGliLmg+CnwgI2luY2x1ZGUgPHN0ZGlv Lmg+CnwgI2luY2x1ZGUgPHV0aW1lLmg+CnwgI2luY2x1ZGUgPGVycm5vLmg+CnwgCnwgCnwgCnwg I2lmIGRlZmluZWQgX1dJTjMyICYmICFkZWZpbmVkIF9fQ1lHV0lOX18KfCAjZGVmaW5lIGFjY2Vz cyAgICBfYWNjZXNzCnwgI2RlZmluZSBjaGRpciAgICAgX2NoZGlyCnwgI2RlZmluZSBjaG1vZCAg ICAgX2NobW9kCnwgI2RlZmluZSBjbG9zZSAgICAgX2Nsb3NlCnwgI2RlZmluZSBjcmVhdCAgICAg X2NyZWF0CnwgI2RlZmluZSBkdXAgICAgICAgX2R1cAp8ICNkZWZpbmUgZHVwMiAgICAgIF9kdXAy CnwgI2RlZmluZSBlY3Z0ICAgICAgX2VjdnQKfCAjZGVmaW5lIGV4ZWNsICAgICBfZXhlY2wKfCAj ZGVmaW5lIGV4ZWNsZSAgICBfZXhlY2xlCnwgI2RlZmluZSBleGVjbHAgICAgX2V4ZWNscAp8ICNk ZWZpbmUgZXhlY3YgICAgIF9leGVjdgp8ICNkZWZpbmUgZXhlY3ZlICAgIF9leGVjdmUKfCAjZGVm aW5lIGV4ZWN2cCAgICBfZXhlY3ZwCnwgI2RlZmluZSBleGVjdnBlICAgX2V4ZWN2cGUKfCAjZGVm aW5lIGZjbG9zZWFsbCBfZmNsb3NlYWxsCnwgI2RlZmluZSBmY3Z0ICAgICAgX2ZjdnQKfCAjZGVm aW5lIGZkb3BlbiAgICBfZmRvcGVuCnwgI2RlZmluZSBmaWxlbm8gICAgX2ZpbGVubwp8ICNkZWZp bmUgZ2N2dCAgICAgIF9nY3Z0CnwgI2RlZmluZSBnZXRjd2QgICAgX2dldGN3ZAp8ICNkZWZpbmUg Z2V0cGlkICAgIF9nZXRwaWQKfCAjZGVmaW5lIGdldHcgICAgICBfZ2V0dwp8ICNkZWZpbmUgaXNh dHR5ICAgIF9pc2F0dHkKfCAjZGVmaW5lIGowICAgICAgICBfajAKfCAjZGVmaW5lIGoxICAgICAg ICBfajEKfCAjZGVmaW5lIGpuICAgICAgICBfam4KfCAjZGVmaW5lIGxmaW5kICAgICBfbGZpbmQK fCAjZGVmaW5lIGxzZWFyY2ggICBfbHNlYXJjaAp8ICNkZWZpbmUgbHNlZWsgICAgIF9sc2Vlawp8 ICNkZWZpbmUgbWVtY2NweSAgIF9tZW1jY3B5CnwgI2RlZmluZSBta2RpciAgICAgX21rZGlyCnwg I2RlZmluZSBta3RlbXAgICAgX21rdGVtcAp8ICNkZWZpbmUgb3BlbiAgICAgIF9vcGVuCnwgI2Rl ZmluZSBwdXRlbnYgICAgX3B1dGVudgp8ICNkZWZpbmUgcHV0dyAgICAgIF9wdXR3CnwgI2RlZmlu ZSByZWFkICAgICAgX3JlYWQKfCAjZGVmaW5lIHJtZGlyICAgICBfcm1kaXIKfCAjZGVmaW5lIHN0 cmR1cCAgICBfc3RyZHVwCnwgI2RlZmluZSBzd2FiICAgICAgX3N3YWIKfCAjZGVmaW5lIHRlbXBu YW0gICBfdGVtcG5hbQp8ICNkZWZpbmUgdHpzZXQgICAgIF90enNldAp8ICNkZWZpbmUgdW1hc2sg ICAgIF91bWFzawp8ICNkZWZpbmUgdW5saW5rICAgIF91bmxpbmsKfCAjZGVmaW5lIHV0aW1lICAg ICBfdXRpbWUKfCAjZGVmaW5lIHdjc2R1cCAgICBfd2NzZHVwCnwgI2RlZmluZSB3cml0ZSAgICAg X3dyaXRlCnwgI2RlZmluZSB5MCAgICAgICAgX3kwCnwgI2RlZmluZSB5MSAgICAgICAgX3kxCnwg I2RlZmluZSB5biAgICAgICAgX3luCnwgI2VuZGlmCnwgCnwgCnwgCnwgc3RhdGljIGludAp8IGlu b3JkZXIgKHRpbWVfdCBhLCB0aW1lX3QgYiwgdGltZV90IGMpCnwgewp8ICAgcmV0dXJuIGEgPD0g YiAmJiBiIDw9IGM7CnwgfQp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgICBpbnQgcmVzdWx0ID0g MDsKfCAgIGNoYXIgY29uc3QgKmZpbGUgPSAiY29uZnRlc3QudXRpbWVzIjsKfCAgIC8qIE9uIE9T LzIsIGZpbGUgdGltZXN0YW1wcyBtdXN0IGJlIG9uIG9yIGFmdGVyIDE5ODAgaW4gbG9jYWwgdGlt ZSwKfCAgICAgIHdpdGggYW4gZXZlbiBudW1iZXIgb2Ygc2Vjb25kcy4gICovCnwgICBzdGF0aWMg c3RydWN0IHRpbWV2YWwgdGltZXZhbFsyXSA9IHt7MzE1NjIwMDAwICsgMTAsIDEwfSwKfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHszMTU2MjAwMDAgKyAxMDAwMDAwLCA5 OTk5OTh9fTsKfCAKfCAgIC8qIFRlc3Qgd2hldGhlciB1dGltZXMoKSBlc3NlbnRpYWxseSB3b3Jr cy4gICovCnwgICB7CnwgICAgIHN0cnVjdCBzdGF0IHNidWY7CnwgICAgIEZJTEUgKmYgPSBmb3Bl biAoZmlsZSwgInciKTsKfCAgICAgaWYgKGYgPT0gTlVMTCkKfCAgICAgICByZXN1bHQgfD0gMTsK fCAgICAgZWxzZSBpZiAoZmNsb3NlIChmKSAhPSAwKQp8ICAgICAgIHJlc3VsdCB8PSAxOwp8ICAg ICBlbHNlIGlmICh1dGltZXMgKGZpbGUsIHRpbWV2YWwpICE9IDApCnwgICAgICAgcmVzdWx0IHw9 IDI7CnwgICAgIGVsc2UgaWYgKGxzdGF0IChmaWxlLCAmc2J1ZikgIT0gMCkKfCAgICAgICByZXN1 bHQgfD0gMTsKfCAgICAgZWxzZSBpZiAoIShzYnVmLnN0X2F0aW1lID09IHRpbWV2YWxbMF0udHZf c2VjCnwgICAgICAgICAgICAgICAgJiYgc2J1Zi5zdF9tdGltZSA9PSB0aW1ldmFsWzFdLnR2X3Nl YykpCnwgICAgICAgcmVzdWx0IHw9IDQ7CnwgICAgIGlmICh1bmxpbmsgKGZpbGUpICE9IDApCnwg ICAgICAgcmVzdWx0IHw9IDE7CnwgICB9CnwgCnwgICAvKiBUZXN0IHdoZXRoZXIgdXRpbWVzKCkg d2l0aCBhIE5VTEwgYXJndW1lbnQgc2V0cyB0aGUgZmlsZSdzIHRpbWVzdGFtcAp8ICAgICAgdG8g dGhlIGN1cnJlbnQgdGltZS4gIFVzZSAnZnN0YXQnIGFzIHdlbGwgYXMgJ3RpbWUnIHRvCnwgICAg ICBkZXRlcm1pbmUgdGhlICJjdXJyZW50IiB0aW1lLCB0byBhY2NvbW1vZGF0ZSBORlMgZmlsZSBz eXN0ZW1zCnwgICAgICBpZiB0aGVyZSBpcyBhIHRpbWUgc2tldyBiZXR3ZWVuIHRoZSBob3N0IGFu ZCB0aGUgTkZTIHNlcnZlci4gICovCnwgICB7CnwgICAgIGludCBmZCA9IG9wZW4gKGZpbGUsIE9f V1JPTkxZfE9fQ1JFQVQsIDA2NDQpOwp8ICAgICBpZiAoZmQgPCAwKQp8ICAgICAgIHJlc3VsdCB8 PSAxOwp8ICAgICBlbHNlCnwgICAgICAgewp8ICAgICAgICAgdGltZV90IHQwLCB0MjsKfCAgICAg ICAgIHN0cnVjdCBzdGF0IHN0MCwgc3QxLCBzdDI7CnwgICAgICAgICBpZiAodGltZSAoJnQwKSA9 PSAodGltZV90KSAtMSkKfCAgICAgICAgICAgcmVzdWx0IHw9IDE7CnwgICAgICAgICBlbHNlIGlm IChmc3RhdCAoZmQsICZzdDApICE9IDApCnwgICAgICAgICAgIHJlc3VsdCB8PSAxOwp8ICAgICAg ICAgZWxzZSBpZiAodXRpbWVzIChmaWxlLCB0aW1ldmFsKSAhPSAwCnwgICAgICAgICAgICAgICAg ICAmJiAoZXJybm8gIT0gRUFDQ0VTCnwgICAgICAgICAgICAgICAgICAgICAgLyogT1MvMiBrTElC QyB1dGltZXMgZmFpbHMgb24gb3BlbmVkIGZpbGVzLiAgKi8KfCAgICAgICAgICAgICAgICAgICAg ICB8fCBjbG9zZSAoZmQpICE9IDAKfCAgICAgICAgICAgICAgICAgICAgICB8fCB1dGltZXMgKGZp bGUsIHRpbWV2YWwpICE9IDAKfCAgICAgICAgICAgICAgICAgICAgICB8fCAoZmQgPSBvcGVuIChm aWxlLCBPX1dST05MWSkpIDwgMCkpCnwgICAgICAgICAgIHJlc3VsdCB8PSAyOwp8ICAgICAgICAg ZWxzZSBpZiAodXRpbWVzIChmaWxlLCBOVUxMKSAhPSAwCnwgICAgICAgICAgICAgICAgICAmJiAo ZXJybm8gIT0gRUFDQ0VTCnwgICAgICAgICAgICAgICAgICAgICAgLyogT1MvMiBrTElCQyB1dGlt ZXMgZmFpbHMgb24gb3BlbmVkIGZpbGVzLiAgKi8KfCAgICAgICAgICAgICAgICAgICAgICB8fCBj bG9zZSAoZmQpICE9IDAKfCAgICAgICAgICAgICAgICAgICAgICB8fCB1dGltZXMgKGZpbGUsIE5V TEwpICE9IDAKfCAgICAgICAgICAgICAgICAgICAgICB8fCAoZmQgPSBvcGVuIChmaWxlLCBPX1dS T05MWSkpIDwgMCkpCnwgICAgICAgICAgIHJlc3VsdCB8PSA4Owp8ICAgICAgICAgZWxzZSBpZiAo ZnN0YXQgKGZkLCAmc3QxKSAhPSAwKQp8ICAgICAgICAgICByZXN1bHQgfD0gMTsKfCAgICAgICAg IGVsc2UgaWYgKHdyaXRlIChmZCwgIlxuIiwgMSkgIT0gMSkKfCAgICAgICAgICAgcmVzdWx0IHw9 IDE7CnwgICAgICAgICBlbHNlIGlmIChmc3RhdCAoZmQsICZzdDIpICE9IDApCnwgICAgICAgICAg IHJlc3VsdCB8PSAxOwp8ICAgICAgICAgZWxzZSBpZiAodGltZSAoJnQyKSA9PSAodGltZV90KSAt MSkKfCAgICAgICAgICAgcmVzdWx0IHw9IDE7CnwgICAgICAgICBlbHNlCnwgICAgICAgICAgIHsK fCAgICAgICAgICAgICBpbnQgbV9va19QT1NJWCA9IGlub3JkZXIgKHQwLCBzdDEuc3RfbXRpbWUs IHQyKTsKfCAgICAgICAgICAgICBpbnQgbV9va19ORlMgPSBpbm9yZGVyIChzdDAuc3RfbXRpbWUs IHN0MS5zdF9tdGltZSwgc3QyLnN0X210aW1lKTsKfCAgICAgICAgICAgICBpZiAoISAoc3QxLnN0 X2F0aW1lID09IHN0MS5zdF9tdGltZSkpCnwgICAgICAgICAgICAgICByZXN1bHQgfD0gMTY7Cnwg ICAgICAgICAgICAgaWYgKCEgKG1fb2tfUE9TSVggfHwgbV9va19ORlMpKQp8ICAgICAgICAgICAg ICAgcmVzdWx0IHw9IDMyOwp8ICAgICAgICAgICB9CnwgICAgICAgICBpZiAoY2xvc2UgKGZkKSAh PSAwKQp8ICAgICAgICAgICByZXN1bHQgfD0gMTsKfCAgICAgICB9CnwgICAgIGlmICh1bmxpbmsg KGZpbGUpICE9IDApCnwgICAgICAgcmVzdWx0IHw9IDE7CnwgICB9CnwgCnwgICAvKiBUZXN0IHdo ZXRoZXIgdXRpbWVzKCkgd2l0aCBhIE5VTEwgYXJndW1lbnQgd29ya3Mgb24gcmVhZC1vbmx5IGZp bGVzLiAgKi8KfCAgIHsKfCAgICAgaW50IGZkID0gb3BlbiAoZmlsZSwgT19XUk9OTFl8T19DUkVB VCwgMDQ0NCk7CnwgICAgIGlmIChmZCA8IDApCnwgICAgICAgcmVzdWx0IHw9IDE7CnwgICAgIGVs c2UgaWYgKGNsb3NlIChmZCkgIT0gMCkKfCAgICAgICByZXN1bHQgfD0gMTsKfCAgICAgZWxzZSBp ZiAodXRpbWVzIChmaWxlLCBOVUxMKSAhPSAwKQp8ICAgICAgIHJlc3VsdCB8PSA2NDsKfCAgICAg aWYgKHVubGluayAoZmlsZSkgIT0gMCkKfCAgICAgICByZXN1bHQgfD0gMTsKfCAgIH0KfCAKfCAg IHJldHVybiByZXN1bHQ7CnwgfQp8IApjb25maWd1cmU6MjY1OTg6IHJlc3VsdDogbm8KY29uZmln dXJlOjI2NjQxOiBjaGVja2luZyBzeXMvYWNsLmggdXNhYmlsaXR5CmNvbmZpZ3VyZToyNjY0MTog Z2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5lPWdlbmVyaWMg ICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MjY2NDE6ICQ/ID0gMApjb25maWd1cmU6MjY2NDE6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNjY0MTogY2hlY2tpbmcgc3lzL2FjbC5oIHByZXNlbmNl CmNvbmZpZ3VyZToyNjY0MTogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLUUgLW10dW5lPWdlbmVyaWMg ICBjb25mdGVzdC5jCmNvbmZpZ3VyZToyNjY0MTogJD8gPSAwCmNvbmZpZ3VyZToyNjY0MTogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjI2NjQxOiBjaGVja2luZyBmb3Igc3lzL2FjbC5oCmNvbmZpZ3Vy ZToyNjY0MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI2NjU1OiBjaGVja2luZyBmb3IgbGlicmFy eSBjb250YWluaW5nIGFjbF9nZXRfZmlsZQpjb25maWd1cmU6MjY3MDM6IHJlc3VsdDogbm9uZSBy ZXF1aXJlZApjb25maWd1cmU6MjY3MTk6IGNoZWNraW5nIGZvciBhY2xfZ2V0X2ZpbGUKY29uZmln dXJlOjI2NzE5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjY3MTk6IGNoZWNraW5nIGZvciBhY2xf Z2V0X2ZkCmNvbmZpZ3VyZToyNjcxOTogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3Qu ZXhlIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgIGNvbmZ0ZXN0LmMgICA+JjUg CkM6L21zeXM2NC9taW5ndzY0L2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi8xMC4y LjAvLi4vLi4vLi4vLi4veDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IEM6XG1zeXM2NFx0 bXBcY2NXWFEzbXEubzogaW4gZnVuY3Rpb24gYG1haW4nOgpDOlxtc3lzNjRcaG9tZVxWV2luVXNl cjBcRG93bmxvYWRzXGVtYWNzXG5hdGl2ZS1jb21wXGJ1aWxkL2NvbmZ0ZXN0LmM6MjMwOiB1bmRl ZmluZWQgcmVmZXJlbmNlIHRvIGBhY2xfZ2V0X2ZkJwpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCBy ZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToyNjcxOTogJD8gPSAxCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf TkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJH TlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVt YWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9z b2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9Q RFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJX SU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9T T1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhS RUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19F WFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVm aW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dB TlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1 OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVm aW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09V UkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9G SUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1f VFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBI QVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NP Q0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2Rl ZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBI QVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAj ZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUg SEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9U SUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9T Q1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlog MQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhB VkVfTENNUzIgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAx CnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklU IDEKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09N UCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9Q TkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5l IEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhB VkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEK fCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNk ZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZp bmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmlu ZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZF X1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9H QUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9TRVROQU1FX05QIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDAKfCAjZGVm aW5lIEhBVkVfX19CVUlMVElOX0ZSQU1FX0FERFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxU SU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9T QlJLIDEKfCAjZGVmaW5lIEhBVkVfQ0FOT05JQ0FMSVpFX0ZJTEVfTkFNRSAxCnwgI2RlZmluZSBI QVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZF X0VYUExJQ0lUX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhB VkVfRkNITU9EQVQgMQp8ICNkZWZpbmUgSEFWRV9MQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ05U TCAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2Rl ZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5l IEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfSVNC TEFOSyAxCnwgI2RlZmluZSBIQVZFX0lTV0NUWVBFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFY IDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwg I2RlZmluZSB2Zm9yayBmb3JrCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhB VkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX19OTF9QQVBFUl9X SURUSCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMg MQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIk5VTDoiCnwgI2RlZmluZSBTRVBDSEFSICc7Jwp8ICNk ZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNv cwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2Nf KSAoKF9jXykgPT0gJzonKQp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9 PSAnLycgfHwgKF9jXykgPT0gJ1xcJykKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElS RUNUT1JZX1NFUCAoX2NfKSB8fCBJU19ERVZJQ0VfU0VQKF9jXykpCnwgI2RlZmluZSBERUZBVUxU X1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNk ZWZpbmUgSEFWRV9TVEFDS19PVkVSRkxPV19IQU5ETElORyAxCnwgI2RlZmluZSBET1NfTlQgLyoq Lwp8ICNkZWZpbmUgV0lORE9XU05UIDEKfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2Rl ZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAidzMydGVybS5oIgp8ICNkZWZpbmUgRU1B Q1NfQ09ORklHVVJBVElPTiAieDg2XzY0LXc2NC1taW5ndzMyIgp8ICNkZWZpbmUgRU1BQ1NfQ09O RklHX09QVElPTlMgIi0tcHJlZml4PS9ob21lL1ZXaW5Vc2VyMC9Eb3dubG9hZHMvZW1hY3MvbmF0 aXZlLWNvbXAvYnVpbHQgLS13aXRoLW5hdGl2ZWNvbXAiCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9B VFRSSUJVVEVfQUxJR05FRCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZF X1NUQVRFTUVOVF9FWFBSRVNTSU9OUyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmlu ZSBET1VCTEVfU0xBU0hfSVNfRElTVElOQ1RfUk9PVCAxCnwgI2RlZmluZSBGVU5DX1JFQUxQQVRI X1dPUktTIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfRU5W SVJPTl9ERUNMIDEKfCAjZGVmaW5lIExTVEFUX0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5LIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAx CnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX01FTU1FTSAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBUSU1F X1RfSVNfU0lHTkVEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgTUFMTE9DXzBfSVNfTk9OTlVMTCAxCnwgI2RlZmluZSBIQVZFX1dD SEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk5MRU4gMQp8ICNkZWZpbmUgSEFWRV9ERUNM X1NUUlRPSU1BWCAxCnwgI2RlZmluZSBfVVNFX1NURF9TVEFUIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9DTEVBUkVSUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkVPRl9VTkxPQ0tFRCAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfRkVSUk9SX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9GRkxVU0hfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZHRVRTX1VOTE9DS0VEIDAK fCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf RlBVVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZSRUFEX1VOTE9DS0VEIDAKfCAj ZGVmaW5lIEhBVkVfREVDTF9GV1JJVEVfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dF VENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVENIQVJfVU5MT0NLRUQgMAp8ICNk ZWZpbmUgSEFWRV9ERUNMX1BVVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1BVVENI QVJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgaW50CnwgI2RlZmluZSBIQVZFX0RF Q0xfR0VURFRBQkxFU0laRSAwCnwgI2RlZmluZSBQUk9NT1RFRF9NT0RFX1QgaW50CnwgI2RlZmlu ZSBIQVZFX1NZU19BQ0xfSCAxCnwgI2RlZmluZSBIQVZFX0FDTF9HRVRfRklMRSAxCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBhY2xfZ2V0X2ZkIHRvIGFuIGlubm9jdW91cyB2 YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgYWNsX2dldF9mZC4KfCAgICBGb3Ig ZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8K fCAjZGVmaW5lIGFjbF9nZXRfZmQgaW5ub2N1b3VzX2FjbF9nZXRfZmQKfCAKfCAvKiBTeXN0ZW0g aGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlw ZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgYWNsX2dldF9mZCAoKTsgYmVs b3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMg ZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRp bmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0 cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYg YWNsX2dldF9mZAp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRv IGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRo ZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50 IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwg ZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgYWNsX2dldF9mZCAoKTsKfCAvKiBUaGUgR05VIEMg bGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwg ICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVh bGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFs IG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9hY2xfZ2V0X2ZkIHx8 IGRlZmluZWQgX19zdHViX19fYWNsX2dldF9mZAp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50 CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gYWNsX2dldF9mZCAoKTsKfCAgIDsKfCAgIHJldHVybiAw Owp8IH0KY29uZmlndXJlOjI2NzE5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNjcxOTogY2hlY2tp bmcgZm9yIGFjbF9zZXRfZmlsZQpjb25maWd1cmU6MjY3MTk6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToyNjcxOTogY2hlY2tpbmcgZm9yIGFjbF9zZXRfZmQKY29uZmlndXJlOjI2NzE5OiBnY2MgLUkg Li4vc3JjL250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5lPWdl bmVyaWMgICAgY29uZnRlc3QuYyAgID4mNSAKQzovbXN5czY0L21pbmd3NjQvYmluLy4uL2xpYi9n Y2MveDg2XzY0LXc2NC1taW5ndzMyLzEwLjIuMC8uLi8uLi8uLi8uLi94ODZfNjQtdzY0LW1pbmd3 MzIvYmluL2xkLmV4ZTogQzpcbXN5czY0XHRtcFxjY3d2VHJtci5vOiBpbiBmdW5jdGlvbiBgbWFp bic6CkM6XG1zeXM2NFxob21lXFZXaW5Vc2VyMFxEb3dubG9hZHNcZW1hY3NcbmF0aXZlLWNvbXBc YnVpbGQvY29uZnRlc3QuYzoyMzE6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGFjbF9zZXRfZmQn CmNvbGxlY3QyLmV4ZTogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJl OjI2NzE5OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl ZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNL QUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8 ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFD S0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxf VVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FM TF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NP VVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VS Q0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1RE Q19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lF Q182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9F WFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNk ZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1RE Q19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNT X18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVO X1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdD Q19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFW RV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxM T0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdE X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0gg MQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAj ZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg VElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmlu ZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwgI2RlZmlu ZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUg VVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVm aW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0pT T04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZ IDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0g MQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmlu ZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwgI2RlZmluZSBIQVZFX1pMSUIg MQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1PRFVMRVNfU1VGRklYICIuZGxs Igp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAx CnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVmaW5lIE5BVElWRV9FTElTUF9TVUZG SVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNk ZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVf R0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5U IDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZp bmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBI QVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5l IEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhB VkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRT T0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0xP RzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX0FMSUdORURfQUxMT0MgMAp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRlJBTUVfQUREUkVT UyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZF X0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX1NCUksgMQp8ICNkZWZpbmUgSEFWRV9DQU5PTklDQUxJ WkVfRklMRV9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9S RUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRVhQTElDSVRfQlpFUk8gMQp8ICNkZWZpbmUgSEFW RV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0RBVCAxCnwgI2RlZmluZSBIQVZFX0xD SE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwg I2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVm aW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BT RUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfSVNXQ1RZUEUg MQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIHZmb3JrIGZvcmsKfCAjZGVmaW5lIEhB VkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5l IEhBVkVfTEFOR0lORk9fX05MX1BBUEVSX1dJRFRIIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9U IDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiTlVMOiIK fCAjZGVmaW5lIFNFUENIQVIgJzsnCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUg VVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8 ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pICgoX2NfKSA9PSAnOicpCnwgI2RlZmluZSBJU19E SVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09ICcvJyB8fCAoX2NfKSA9PSAnXFwnKQp8ICNkZWZp bmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pIHx8IElTX0RFVklDRV9T RVAoX2NfKSkKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVm aW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX1NUQUNLX09WRVJGTE9XX0hBTkRM SU5HIDEKfCAjZGVmaW5lIERPU19OVCAvKiovCnwgI2RlZmluZSBXSU5ET1dTTlQgMQp8ICNkZWZp bmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAy MDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVS ICJ3MzJ0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQtdzY0LW1p bmd3MzIiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9L2hvbWUvVldp blVzZXIwL0Rvd25sb2Fkcy9lbWFjcy9uYXRpdmUtY29tcC9idWlsdCAtLXdpdGgtbmF0aXZlY29t cCIKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FUVFJJQlVURV9BTElHTkVEIDEKfCAjZGVmaW5lIEhB VkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEVNRU5UX0VYUFJFU1NJT05TIDEKfCAjZGVm aW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09U IDEKfCAjZGVmaW5lIEZVTkNfUkVBTFBBVEhfV09SS1MgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19y ZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgTFNUQVRfRk9M TE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNk ZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19M T05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNTUVNIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9NRU1SQ0hSIDAKfCAjZGVmaW5lIFRJTUVfVF9JU19TSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9U Wk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBNQUxMT0NfMF9JU19O T05OVUxMIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RS TkxFTiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIF9VU0VfU1RE X1NUQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0NMRUFSRVJSX1VOTE9DS0VEIDAKfCAjZGVmaW5l IEhBVkVfREVDTF9GRU9GX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRVJST1JfVU5M T0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZGTFVTSF9VTkxPQ0tFRCAwCnwgI2RlZmluZSBI QVZFX0RFQ0xfRkdFVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZQVVRDX1VOTE9D S0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUU19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZF X0RFQ0xfRlJFQURfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZXUklURV9VTkxPQ0tF RCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfR0VUQ0hBUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVUQ19VTkxPQ0tFRCAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVUQ0hBUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBHRVRHUk9V UFNfVCBpbnQKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVREVEFCTEVTSVpFIDAKfCAjZGVmaW5lIFBS T01PVEVEX01PREVfVCBpbnQKfCAjZGVmaW5lIEhBVkVfU1lTX0FDTF9IIDEKfCAjZGVmaW5lIEhB VkVfQUNMX0dFVF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX1NFVF9GSUxFIDEKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGFjbF9zZXRfZmQgdG8gYW4gaW5ub2N1b3VzIHZh cmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBhY2xfc2V0X2ZkLgp8ICAgIEZvciBl eGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8 ICNkZWZpbmUgYWNsX3NldF9mZCBpbm5vY3VvdXNfYWNsX3NldF9mZAp8IAp8IC8qIFN5c3RlbSBo ZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBl cywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBhY2xfc2V0X2ZkICgpOyBiZWxv dy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBk ZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGlu ZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRz Lmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBh Y2xfc2V0X2ZkCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8g YXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhl IHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQg cHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBl eHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBhY2xfc2V0X2ZkICgpOwp8IC8qIFRoZSBHTlUgQyBs aWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAg ICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFs bHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwg bmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX2FjbF9zZXRfZmQgfHwg ZGVmaW5lZCBfX3N0dWJfX19hY2xfc2V0X2ZkCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQK fCBtYWluICgpCnwgewp8IHJldHVybiBhY2xfc2V0X2ZkICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7 CnwgfQpjb25maWd1cmU6MjY3MTk6IHJlc3VsdDogbm8KY29uZmlndXJlOjI2NzE5OiBjaGVja2lu ZyBmb3IgYWNsX2ZyZWUKY29uZmlndXJlOjI2NzE5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MjY3 MTk6IGNoZWNraW5nIGZvciBhY2xfZnJvbV9tb2RlCmNvbmZpZ3VyZToyNjcxOTogZ2NjIC1JIC4u L3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5l cmljICAgIGNvbmZ0ZXN0LmMgICA+JjUgCkM6L21zeXM2NC9taW5ndzY0L2Jpbi8uLi9saWIvZ2Nj L3g4Nl82NC13NjQtbWluZ3czMi8xMC4yLjAvLi4vLi4vLi4vLi4veDg2XzY0LXc2NC1taW5ndzMy L2Jpbi9sZC5leGU6IEM6XG1zeXM2NFx0bXBcY2NVNjZBN3YubzogaW4gZnVuY3Rpb24gYG1haW4n OgpDOlxtc3lzNjRcaG9tZVxWV2luVXNlcjBcRG93bmxvYWRzXGVtYWNzXG5hdGl2ZS1jb21wXGJ1 aWxkL2NvbmZ0ZXN0LmM6MjMyOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBhY2xfZnJvbV9tb2Rl Jwpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3Vy ZToyNjcxOTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk ZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFD S0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIK fCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBB Q0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdF X1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlM X1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVS UyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9B TExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9T T1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09V UkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NU RENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9J RUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBf RVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAj ZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NU RENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5D U19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BF Tl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBH Q0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhB VkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFM TE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BX RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9I IDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwg I2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZp bmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZp bmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5l IFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2Rl ZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9K U09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElG WSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElN IDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZp bmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENNUzIgMQp8ICNkZWZpbmUgSEFWRV9aTElC IDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRs bCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUX0gg MQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJU1BfU1VG RklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAj ZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZF X0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklO VCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVm aW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZp bmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUg SEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmlu ZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBI QVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VU U09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9M T0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1FX05QIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9BTElHTkVEX0FMTE9DIDAKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX0ZSQU1FX0FERFJF U1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFW RV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9TQlJLIDEKfCAjZGVmaW5lIEhBVkVfQ0FOT05JQ0FM SVpFX0ZJTEVfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVf UkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0VYUExJQ0lUX0JaRVJPIDEKfCAjZGVmaW5lIEhB VkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EQVQgMQp8ICNkZWZpbmUgSEFWRV9M Q0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8 ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2Rl ZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFWRV9Q U0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2RlZmluZSBIQVZFX0lTV0NUWVBF IDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwg I2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwgI2RlZmluZSB2Zm9yayBmb3JrCnwgI2RlZmluZSBI QVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmlu ZSBIQVZFX0xBTkdJTkZPX19OTF9QQVBFUl9XSURUSCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVf VCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIk5VTDoi CnwgI2RlZmluZSBTRVBDSEFSICc7Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5l IFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycK fCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAoKF9jXykgPT0gJzonKQp8ICNkZWZpbmUgSVNf RElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSAnLycgfHwgKF9jXykgPT0gJ1xcJykKfCAjZGVm aW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSB8fCBJU19ERVZJQ0Vf U0VQKF9jXykpCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2Rl ZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9TVEFDS19PVkVSRkxPV19IQU5E TElORyAxCnwgI2RlZmluZSBET1NfTlQgLyoqLwp8ICNkZWZpbmUgV0lORE9XU05UIDEKfCAjZGVm aW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykg MjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURF UiAidzMydGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAieDg2XzY0LXc2NC1t aW5ndzMyIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PS9ob21lL1ZX aW5Vc2VyMC9Eb3dubG9hZHMvZW1hY3MvbmF0aXZlLWNvbXAvYnVpbHQgLS13aXRoLW5hdGl2ZWNv bXAiCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BVFRSSUJVVEVfQUxJR05FRCAxCnwgI2RlZmluZSBI QVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX1NUQVRFTUVOVF9FWFBSRVNTSU9OUyAxCnwgI2Rl ZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBET1VCTEVfU0xBU0hfSVNfRElTVElOQ1RfUk9P VCAxCnwgI2RlZmluZSBGVU5DX1JFQUxQQVRIX1dPUktTIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9f cmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIExTVEFUX0ZP TExPV1NfU0xBU0hFRF9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAj ZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdf TE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTU1FTSAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfTUVNUkNIUiAwCnwgI2RlZmluZSBUSU1FX1RfSVNfU0lHTkVEIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVf VFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgTUFMTE9DXzBfSVNf Tk9OTlVMTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NU Uk5MRU4gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBfVVNFX1NU RF9TVEFUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9DTEVBUkVSUl9VTkxPQ0tFRCAwCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfRkVPRl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkVSUk9SX1VO TE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRkxVU0hfVU5MT0NLRUQgMAp8ICNkZWZpbmUg SEFWRV9ERUNMX0ZHRVRTX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUQ19VTkxP Q0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlBVVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFW RV9ERUNMX0ZSRUFEX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GV1JJVEVfVU5MT0NL RUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9E RUNMX0dFVENIQVJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1BVVENfVU5MT0NLRUQg MAp8ICNkZWZpbmUgSEFWRV9ERUNMX1BVVENIQVJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgR0VUR1JP VVBTX1QgaW50CnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURFRBQkxFU0laRSAwCnwgI2RlZmluZSBQ Uk9NT1RFRF9NT0RFX1QgaW50CnwgI2RlZmluZSBIQVZFX1NZU19BQ0xfSCAxCnwgI2RlZmluZSBI QVZFX0FDTF9HRVRfRklMRSAxCnwgI2RlZmluZSBIQVZFX0FDTF9TRVRfRklMRSAxCnwgI2RlZmlu ZSBIQVZFX0FDTF9GUkVFIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGFj bF9mcm9tX21vZGUgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBk ZWNsYXJlcyBhY2xfZnJvbV9tb2RlLgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0 cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgYWNsX2Zyb21fbW9kZSBp bm5vY3VvdXNfYWNsX2Zyb21fbW9kZQp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9f c3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2Fu IGNvbmZsaWN0IHdpdGggY2hhciBhY2xfZnJvbV9tb2RlICgpOyBiZWxvdy4KfCAgICAgUHJlZmVy IDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8 ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAq Lwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAj IGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBhY2xfZnJvbV9tb2RlCnwg CnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJy b3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBl IG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdv dWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwg I2VuZGlmCnwgY2hhciBhY2xfZnJvbV9tb2RlICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRl ZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3 YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQK fCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBh biBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX2FjbF9mcm9tX21vZGUgfHwgZGVmaW5l ZCBfX3N0dWJfX19hY2xfZnJvbV9tb2RlCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBt YWluICgpCnwgewp8IHJldHVybiBhY2xfZnJvbV9tb2RlICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7 CnwgfQpjb25maWd1cmU6MjY3MTk6IHJlc3VsdDogbm8KY29uZmlndXJlOjI2NzE5OiBjaGVja2lu ZyBmb3IgYWNsX2Zyb21fdGV4dApjb25maWd1cmU6MjY3MTk6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZToyNjcxOTogY2hlY2tpbmcgZm9yIGFjbF9kZWxldGVfZGVmX2ZpbGUKY29uZmlndXJlOjI2NzE5 OiBnY2MgLUkgLi4vc3JjL250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIg LW10dW5lPWdlbmVyaWMgICAgY29uZnRlc3QuYyAgID4mNSAKQzovbXN5czY0L21pbmd3NjQvYmlu Ly4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5ndzMyLzEwLjIuMC8uLi8uLi8uLi8uLi94ODZfNjQt dzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogQzpcbXN5czY0XHRtcFxjYzBBVnZzay5vOiBpbiBmdW5j dGlvbiBgbWFpbic6CkM6XG1zeXM2NFxob21lXFZXaW5Vc2VyMFxEb3dubG9hZHNcZW1hY3NcbmF0 aXZlLWNvbXBcYnVpbGQvY29uZnRlc3QuYzoyMzM6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGFj bF9kZWxldGVfZGVmX2ZpbGUnCmNvbGxlY3QyLmV4ZTogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhp dCBzdGF0dXMKY29uZmlndXJlOjI2NzE5OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh bSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9W RVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4w LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIK fCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNz LyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05T X18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAx CnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2Rl ZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNT IDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVm aW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dB TlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlf RlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9f IDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dB TlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZp bmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJ VFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dz LW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8 ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEK fCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBI QVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lN QUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFH RVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFE U19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAx CnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZp bmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEK fCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmluZSBI QVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwg I2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1P RFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUg SEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVmaW5l IE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmlu ZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwy IDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8 ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFW RV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NF VExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJM SU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9T SUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJ TUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8 ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAx CnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURfQUxMT0MgMAp8ICNkZWZpbmUgSEFWRV9fX0JV SUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5J VCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX1NCUksgMQp8ICNkZWZp bmUgSEFWRV9DQU5PTklDQUxJWkVfRklMRV9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksg MQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRVhQTElDSVRfQlpF Uk8gMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0RBVCAx CnwgI2RlZmluZSBIQVZFX0xDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5l IEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VU VElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAx CnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVm aW5lIEhBVkVfSVNXQ1RZUEUgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUg SEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIHZmb3Jr IGZvcmsKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19D T0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fX05MX1BBUEVSX1dJRFRIIDEKfCAjZGVm aW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBO VUxMX0RFVklDRSAiTlVMOiIKfCAjZGVmaW5lIFNFUENIQVIgJzsnCnwgI2RlZmluZSBzdWJwcm9j ZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBE SVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pICgoX2NfKSA9PSAn OicpCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09ICcvJyB8fCAoX2Nf KSA9PSAnXFwnKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChf Y18pIHx8IElTX0RFVklDRV9TRVAoX2NfKSkKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNF ICIvZGV2L2RzcCIKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX1NU QUNLX09WRVJGTE9XX0hBTkRMSU5HIDEKfCAjZGVmaW5lIERPU19OVCAvKiovCnwgI2RlZmluZSBX SU5ET1dTTlQgMQp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIENPUFlSSUdI VCAiQ29weXJpZ2h0IChDKSAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAj ZGVmaW5lIFRFUk1fSEVBREVSICJ3MzJ0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFU SU9OICJ4ODZfNjQtdzY0LW1pbmd3MzIiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAi LS1wcmVmaXg9L2hvbWUvVldpblVzZXIwL0Rvd25sb2Fkcy9lbWFjcy9uYXRpdmUtY29tcC9idWls dCAtLXdpdGgtbmF0aXZlY29tcCIKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FUVFJJQlVURV9BTElH TkVEIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEVNRU5UX0VY UFJFU1NJT05TIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFT SF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEZVTkNfUkVBTFBBVEhfV09SS1MgMQp8ICNk ZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8 ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhB VkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNTUVNIDAK fCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIFRJTUVfVF9JU19TSUdORUQg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUg MQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBNQUxMT0NfMF9JU19OT05OVUxMIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1RSTkxFTiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEK fCAjZGVmaW5lIF9VU0VfU1REX1NUQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0NMRUFSRVJSX1VO TE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRU9GX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhB VkVfREVDTF9GRVJST1JfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZGTFVTSF9VTkxP Q0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkdFVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFW RV9ERUNMX0ZQVVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUU19VTkxPQ0tF RCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlJFQURfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9E RUNMX0ZXUklURV9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VUQ19VTkxPQ0tFRCAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VUQ0hBUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfUFVUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVUQ0hBUl9VTkxPQ0tFRCAw CnwgI2RlZmluZSBHRVRHUk9VUFNfVCBpbnQKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVREVEFCTEVT SVpFIDAKfCAjZGVmaW5lIFBST01PVEVEX01PREVfVCBpbnQKfCAjZGVmaW5lIEhBVkVfU1lTX0FD TF9IIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0dFVF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX1NF VF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0ZSRUUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfRlJP TV9URVhUIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGFjbF9kZWxldGVf ZGVmX2ZpbGUgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNs YXJlcyBhY2xfZGVsZXRlX2RlZl9maWxlLgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxp bWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgYWNsX2RlbGV0ZV9k ZWZfZmlsZSBpbm5vY3VvdXNfYWNsX2RlbGV0ZV9kZWZfZmlsZQp8IAp8IC8qIFN5c3RlbSBoZWFk ZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywK fCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBhY2xfZGVsZXRlX2RlZl9maWxlICgp OyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENf XyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVz dGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8 bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1 bmRlZiBhY2xfZGVsZXRlX2RlZl9maWxlCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5h bCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQg bWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhl biBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYg X19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBhY2xfZGVsZXRlX2RlZl9m aWxlICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25z IHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBT b21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5n IHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmlu ZWQgX19zdHViX2FjbF9kZWxldGVfZGVmX2ZpbGUgfHwgZGVmaW5lZCBfX3N0dWJfX19hY2xfZGVs ZXRlX2RlZl9maWxlCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8 IHJldHVybiBhY2xfZGVsZXRlX2RlZl9maWxlICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpj b25maWd1cmU6MjY3MTk6IHJlc3VsdDogbm8KY29uZmlndXJlOjI2NzE5OiBjaGVja2luZyBmb3Ig YWNsX2V4dGVuZGVkX2ZpbGUKY29uZmlndXJlOjI2NzE5OiBnY2MgLUkgLi4vc3JjL250L2luYyAt byBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5lPWdlbmVyaWMgICAgY29uZnRl c3QuYyAgID4mNSAKQzovbXN5czY0L21pbmd3NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1t aW5ndzMyLzEwLjIuMC8uLi8uLi8uLi8uLi94ODZfNjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTog QzpcbXN5czY0XHRtcFxjY1FobWg2Zi5vOiBpbiBmdW5jdGlvbiBgbWFpbic6CkM6XG1zeXM2NFxo b21lXFZXaW5Vc2VyMFxEb3dubG9hZHNcZW1hY3NcbmF0aXZlLWNvbXBcYnVpbGQvY29uZnRlc3Qu YzoyMzM6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGFjbF9leHRlbmRlZF9maWxlJwpjb2xsZWN0 Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToyNjcxOTog JD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8K fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJO QU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5l IFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVH UkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0 cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1Ag MQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2Rl ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg SEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNF IDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8 ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAj ZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9J RUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlf QkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8 ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9f U1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9M SUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAj ZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRf QVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAx CnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNU RU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVm aW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBI QVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lO VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lU SF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9O VEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVN X01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQ X0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZF X1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAj ZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2Rl ZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVm aW5lIEhBVkVfSEFSRkJVWlogMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9K UEVHIDEKfCAjZGVmaW5lIEhBVkVfTENNUzIgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVm aW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVm aW5lIEhBVkVfTElCR0NDSklUIDEKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUX0ggMQp8ICNkZWZp bmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIuZWxu Igp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhB VkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1RO QU1FIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2Rl ZmluZSBIQVZFX1RSVU5DIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVf R0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9H RVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVU RE9XTiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NU UlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRU TyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUg MQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1FX05QIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTElH TkVEX0FMTE9DIDAKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX0ZSQU1FX0FERFJFU1MgMQp8ICNk ZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08g MQp8ICNkZWZpbmUgSEFWRV9TQlJLIDEKfCAjZGVmaW5lIEhBVkVfQ0FOT05JQ0FMSVpFX0ZJTEVf TkFNRSAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktB VCAxCnwgI2RlZmluZSBIQVZFX0VYUExJQ0lUX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VT U0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EQVQgMQp8ICNkZWZpbmUgSEFWRV9MQ0hNT0QgMQp8 ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8ICNkZWZpbmUg SEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZF X0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEK fCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2RlZmluZSBIQVZFX0lTV0NUWVBFIDEKfCAjZGVm aW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBI QVZFX1VUSU1FTlNBVCAxCnwgI2RlZmluZSB2Zm9yayBmb3JrCnwgI2RlZmluZSBIQVZFX1NOUFJJ TlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0xB TkdJTkZPX19OTF9QQVBFUl9XSURUSCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2Rl ZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIk5VTDoiCnwgI2RlZmlu ZSBTRVBDSEFSICc7Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVM TF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5l IElTX0RFVklDRV9TRVAoX2NfKSAoKF9jXykgPT0gJzonKQp8ICNkZWZpbmUgSVNfRElSRUNUT1JZ X1NFUChfY18pICgoX2NfKSA9PSAnLycgfHwgKF9jXykgPT0gJ1xcJykKfCAjZGVmaW5lIElTX0FO WV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSB8fCBJU19ERVZJQ0VfU0VQKF9jXykp CnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBHQ19T RVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9TVEFDS19PVkVSRkxPV19IQU5ETElORyAxCnwg I2RlZmluZSBET1NfTlQgLyoqLwp8ICNkZWZpbmUgV0lORE9XU05UIDEKfCAjZGVmaW5lIFVTQUJM RV9GSU9OUkVBRCAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAyMCBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAidzMydGVy bS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAieDg2XzY0LXc2NC1taW5ndzMyIgp8 ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PS9ob21lL1ZXaW5Vc2VyMC9E b3dubG9hZHMvZW1hY3MvbmF0aXZlLWNvbXAvYnVpbHQgLS13aXRoLW5hdGl2ZWNvbXAiCnwgI2Rl ZmluZSBIQVZFX1NUUlVDVF9BVFRSSUJVVEVfQUxJR05FRCAxCnwgI2RlZmluZSBIQVZFX1RZUEVP RiAxCnwgI2RlZmluZSBIQVZFX1NUQVRFTUVOVF9FWFBSRVNTSU9OUyAxCnwgI2RlZmluZSBIQVZF X0FMTE9DQSAxCnwgI2RlZmluZSBET1VCTEVfU0xBU0hfSVNfRElTVElOQ1RfUk9PVCAxCnwgI2Rl ZmluZSBGVU5DX1JFQUxQQVRIX1dPUktTIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QK fCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIExTVEFUX0ZPTExPV1NfU0xB U0hFRF9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIEhB VkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTU1FTSAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNI UiAwCnwgI2RlZmluZSBUSU1FX1RfSVNfU0lHTkVEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFS TSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEK fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgTUFMTE9DXzBfSVNfTk9OTlVMTCAx CnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk5MRU4gMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBfVVNFX1NURF9TVEFUIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9DTEVBUkVSUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfRkVPRl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkVSUk9SX1VOTE9DS0VEIDAK fCAjZGVmaW5lIEhBVkVfREVDTF9GRkxVU0hfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNM X0ZHRVRTX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUQ19VTkxPQ0tFRCAwCnwg I2RlZmluZSBIQVZFX0RFQ0xfRlBVVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZS RUFEX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GV1JJVEVfVU5MT0NLRUQgMAp8ICNk ZWZpbmUgSEFWRV9ERUNMX0dFVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVENI QVJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1BVVENfVU5MT0NLRUQgMAp8ICNkZWZp bmUgSEFWRV9ERUNMX1BVVENIQVJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgaW50 CnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURFRBQkxFU0laRSAwCnwgI2RlZmluZSBQUk9NT1RFRF9N T0RFX1QgaW50CnwgI2RlZmluZSBIQVZFX1NZU19BQ0xfSCAxCnwgI2RlZmluZSBIQVZFX0FDTF9H RVRfRklMRSAxCnwgI2RlZmluZSBIQVZFX0FDTF9TRVRfRklMRSAxCnwgI2RlZmluZSBIQVZFX0FD TF9GUkVFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0ZST01fVEVYVCAxCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLwp8IC8qIERlZmluZSBhY2xfZXh0ZW5kZWRfZmlsZSB0byBhbiBpbm5vY3VvdXMgdmFy aWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIGFjbF9leHRlbmRlZF9maWxlLgp8ICAg IEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXku ICAqLwp8ICNkZWZpbmUgYWNsX2V4dGVuZGVkX2ZpbGUgaW5ub2N1b3VzX2FjbF9leHRlbmRlZF9m aWxlCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9w ZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFy IGFjbF9leHRlbmRlZF9maWxlICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8g PGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+ IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBf X1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2Vy dC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBhY2xfZXh0ZW5kZWRfZmlsZQp8IAp8IC8qIE92ZXJy aWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVz ZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8 ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBh cHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNo YXIgYWNsX2V4dGVuZGVkX2ZpbGUgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0 aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFp bCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBz b21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFz LiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfYWNsX2V4dGVuZGVkX2ZpbGUgfHwgZGVmaW5lZCBf X3N0dWJfX19hY2xfZXh0ZW5kZWRfZmlsZQp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50Cnwg bWFpbiAoKQp8IHsKfCByZXR1cm4gYWNsX2V4dGVuZGVkX2ZpbGUgKCk7CnwgICA7CnwgICByZXR1 cm4gMDsKfCB9CmNvbmZpZ3VyZToyNjcxOTogcmVzdWx0OiBubwpjb25maWd1cmU6MjY3MTk6IGNo ZWNraW5nIGZvciBhY2xfZGVsZXRlX2ZkX25wCmNvbmZpZ3VyZToyNjcxOTogZ2NjIC1JIC4uL3Ny Yy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmlj ICAgIGNvbmZ0ZXN0LmMgICA+JjUgCkM6L21zeXM2NC9taW5ndzY0L2Jpbi8uLi9saWIvZ2NjL3g4 Nl82NC13NjQtbWluZ3czMi8xMC4yLjAvLi4vLi4vLi4vLi4veDg2XzY0LXc2NC1taW5ndzMyL2Jp bi9sZC5leGU6IEM6XG1zeXM2NFx0bXBcY2NHeGRhd0subzogaW4gZnVuY3Rpb24gYG1haW4nOgpD Olxtc3lzNjRcaG9tZVxWV2luVXNlcjBcRG93bmxvYWRzXGVtYWNzXG5hdGl2ZS1jb21wXGJ1aWxk L2NvbmZ0ZXN0LmM6MjMzOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBhY2xfZGVsZXRlX2ZkX25w Jwpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3Vy ZToyNjcxOTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk ZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFD S0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIK fCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBB Q0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdF X1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlM X1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVS UyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9B TExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9T T1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09V UkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NU RENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9J RUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBf RVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAj ZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NU RENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5D U19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BF Tl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBH Q0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhB VkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFM TE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BX RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9I IDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwg I2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZp bmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZp bmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5l IFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2Rl ZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9K U09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElG WSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElN IDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZp bmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENNUzIgMQp8ICNkZWZpbmUgSEFWRV9aTElC IDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRs bCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUX0gg MQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJU1BfU1VG RklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAj ZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZF X0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklO VCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVm aW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZp bmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUg SEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmlu ZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBI QVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VU U09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9M T0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1FX05QIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9BTElHTkVEX0FMTE9DIDAKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX0ZSQU1FX0FERFJF U1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFW RV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9TQlJLIDEKfCAjZGVmaW5lIEhBVkVfQ0FOT05JQ0FM SVpFX0ZJTEVfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVf UkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0VYUExJQ0lUX0JaRVJPIDEKfCAjZGVmaW5lIEhB VkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EQVQgMQp8ICNkZWZpbmUgSEFWRV9M Q0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8 ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2Rl ZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFWRV9Q U0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2RlZmluZSBIQVZFX0lTV0NUWVBF IDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwg I2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwgI2RlZmluZSB2Zm9yayBmb3JrCnwgI2RlZmluZSBI QVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmlu ZSBIQVZFX0xBTkdJTkZPX19OTF9QQVBFUl9XSURUSCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVf VCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIk5VTDoi CnwgI2RlZmluZSBTRVBDSEFSICc7Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5l IFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycK fCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAoKF9jXykgPT0gJzonKQp8ICNkZWZpbmUgSVNf RElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSAnLycgfHwgKF9jXykgPT0gJ1xcJykKfCAjZGVm aW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSB8fCBJU19ERVZJQ0Vf U0VQKF9jXykpCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2Rl ZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9TVEFDS19PVkVSRkxPV19IQU5E TElORyAxCnwgI2RlZmluZSBET1NfTlQgLyoqLwp8ICNkZWZpbmUgV0lORE9XU05UIDEKfCAjZGVm aW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykg MjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURF UiAidzMydGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAieDg2XzY0LXc2NC1t aW5ndzMyIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PS9ob21lL1ZX aW5Vc2VyMC9Eb3dubG9hZHMvZW1hY3MvbmF0aXZlLWNvbXAvYnVpbHQgLS13aXRoLW5hdGl2ZWNv bXAiCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BVFRSSUJVVEVfQUxJR05FRCAxCnwgI2RlZmluZSBI QVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX1NUQVRFTUVOVF9FWFBSRVNTSU9OUyAxCnwgI2Rl ZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBET1VCTEVfU0xBU0hfSVNfRElTVElOQ1RfUk9P VCAxCnwgI2RlZmluZSBGVU5DX1JFQUxQQVRIX1dPUktTIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9f cmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIExTVEFUX0ZP TExPV1NfU0xBU0hFRF9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAj ZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdf TE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTU1FTSAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfTUVNUkNIUiAwCnwgI2RlZmluZSBUSU1FX1RfSVNfU0lHTkVEIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVf VFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgTUFMTE9DXzBfSVNf Tk9OTlVMTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NU Uk5MRU4gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBfVVNFX1NU RF9TVEFUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9DTEVBUkVSUl9VTkxPQ0tFRCAwCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfRkVPRl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkVSUk9SX1VO TE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRkxVU0hfVU5MT0NLRUQgMAp8ICNkZWZpbmUg SEFWRV9ERUNMX0ZHRVRTX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUQ19VTkxP Q0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlBVVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFW RV9ERUNMX0ZSRUFEX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GV1JJVEVfVU5MT0NL RUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9E RUNMX0dFVENIQVJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1BVVENfVU5MT0NLRUQg MAp8ICNkZWZpbmUgSEFWRV9ERUNMX1BVVENIQVJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgR0VUR1JP VVBTX1QgaW50CnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURFRBQkxFU0laRSAwCnwgI2RlZmluZSBQ Uk9NT1RFRF9NT0RFX1QgaW50CnwgI2RlZmluZSBIQVZFX1NZU19BQ0xfSCAxCnwgI2RlZmluZSBI QVZFX0FDTF9HRVRfRklMRSAxCnwgI2RlZmluZSBIQVZFX0FDTF9TRVRfRklMRSAxCnwgI2RlZmlu ZSBIQVZFX0FDTF9GUkVFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0ZST01fVEVYVCAxCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBhY2xfZGVsZXRlX2ZkX25wIHRvIGFuIGlubm9j dW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgYWNsX2RlbGV0ZV9mZF9u cC4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGlt ZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGFjbF9kZWxldGVfZmRfbnAgaW5ub2N1b3VzX2FjbF9kZWxl dGVfZmRfbnAKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFu ZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRo IGNoYXIgYWNsX2RlbGV0ZV9mZF9ucCAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+ IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0 cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZk ZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxh c3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgYWNsX2RlbGV0ZV9mZF9ucAp8IAp8IC8qIE92 ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAg IFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdD Qwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGls bCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8 IGNoYXIgYWNsX2RlbGV0ZV9mZF9ucCAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVz IHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBm YWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAg IHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxp YXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9hY2xfZGVsZXRlX2ZkX25wIHx8IGRlZmluZWQg X19zdHViX19fYWNsX2RlbGV0ZV9mZF9ucAp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50Cnwg bWFpbiAoKQp8IHsKfCByZXR1cm4gYWNsX2RlbGV0ZV9mZF9ucCAoKTsKfCAgIDsKfCAgIHJldHVy biAwOwp8IH0KY29uZmlndXJlOjI2NzE5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNjcxOTogY2hl Y2tpbmcgZm9yIGFjbF9kZWxldGVfZmlsZV9ucApjb25maWd1cmU6MjY3MTk6IGdjYyAtSSAuLi9z cmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJp YyAgICBjb25mdGVzdC5jICAgPiY1IApDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94 ODZfNjQtdzY0LW1pbmd3MzIvMTAuMi4wLy4uLy4uLy4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9i aW4vbGQuZXhlOiBDOlxtc3lzNjRcdG1wXGNjTVR0eExjLm86IGluIGZ1bmN0aW9uIGBtYWluJzoK QzpcbXN5czY0XGhvbWVcVldpblVzZXIwXERvd25sb2Fkc1xlbWFjc1xuYXRpdmUtY29tcFxidWls ZC9jb25mdGVzdC5jOjIzMzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgYWNsX2RlbGV0ZV9maWxl X25wJwpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZp Z3VyZToyNjcxOTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNv bmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUg UEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41 MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5l IFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNL QUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBN QUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVB REVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU QVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg MQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwg I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5l IF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dO VV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0Rf U09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBf X1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FO VF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9E RlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEK fCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBf X1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19G VU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9Y T1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmlu ZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5l IEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVf TUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZF X1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJB TV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAx CnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNk ZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNk ZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVm aW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwg I2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFW RV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05P VElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0Vf WElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNk ZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENNUzIgMQp8ICNkZWZpbmUgSEFWRV9a TElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJWCAi LmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklU X0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJU1Bf U1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEK fCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBI QVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVf UklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNk ZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZp bmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2Rl ZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmlu ZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVf R0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFW RV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1FX05QIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9BTElHTkVEX0FMTE9DIDAKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX0ZSQU1FX0FE RFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUg SEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9TQlJLIDEKfCAjZGVmaW5lIEhBVkVfQ0FOT05J Q0FMSVpFX0ZJTEVfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhB VkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0VYUExJQ0lUX0JaRVJPIDEKfCAjZGVmaW5l IEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EQVQgMQp8ICNkZWZpbmUgSEFW RV9MQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQg MQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwg I2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFW RV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2RlZmluZSBIQVZFX0lTV0NU WVBFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAx CnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwgI2RlZmluZSB2Zm9yayBmb3JrCnwgI2RlZmlu ZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2Rl ZmluZSBIQVZFX0xBTkdJTkZPX19OTF9QQVBFUl9XSURUSCAxCnwgI2RlZmluZSBIQVZFX01CU1RB VEVfVCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIk5V TDoiCnwgI2RlZmluZSBTRVBDSEFSICc7Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVm aW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAn LycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAoKF9jXykgPT0gJzonKQp8ICNkZWZpbmUg SVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSAnLycgfHwgKF9jXykgPT0gJ1xcJykKfCAj ZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSB8fCBJU19ERVZJ Q0VfU0VQKF9jXykpCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwg I2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9TVEFDS19PVkVSRkxPV19I QU5ETElORyAxCnwgI2RlZmluZSBET1NfTlQgLyoqLwp8ICNkZWZpbmUgV0lORE9XU05UIDEKfCAj ZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAo QykgMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hF QURFUiAidzMydGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAieDg2XzY0LXc2 NC1taW5ndzMyIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PS9ob21l L1ZXaW5Vc2VyMC9Eb3dubG9hZHMvZW1hY3MvbmF0aXZlLWNvbXAvYnVpbHQgLS13aXRoLW5hdGl2 ZWNvbXAiCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BVFRSSUJVVEVfQUxJR05FRCAxCnwgI2RlZmlu ZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX1NUQVRFTUVOVF9FWFBSRVNTSU9OUyAxCnwg I2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBET1VCTEVfU0xBU0hfSVNfRElTVElOQ1Rf Uk9PVCAxCnwgI2RlZmluZSBGVU5DX1JFQUxQQVRIX1dPUktTIDEKfCAjZGVmaW5lIHJlc3RyaWN0 IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIExTVEFU X0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAK fCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xP TkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTU1FTSAwCnwgI2RlZmluZSBIQVZF X0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBUSU1FX1RfSVNfU0lHTkVEIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhB VkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgTUFMTE9DXzBf SVNfTk9OTlVMTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X1NUUk5MRU4gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBfVVNF X1NURF9TVEFUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9DTEVBUkVSUl9VTkxPQ0tFRCAwCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfRkVPRl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkVSUk9S X1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRkxVU0hfVU5MT0NLRUQgMAp8ICNkZWZp bmUgSEFWRV9ERUNMX0ZHRVRTX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUQ19V TkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlBVVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUg SEFWRV9ERUNMX0ZSRUFEX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GV1JJVEVfVU5M T0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFW RV9ERUNMX0dFVENIQVJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1BVVENfVU5MT0NL RUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1BVVENIQVJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgR0VU R1JPVVBTX1QgaW50CnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURFRBQkxFU0laRSAwCnwgI2RlZmlu ZSBQUk9NT1RFRF9NT0RFX1QgaW50CnwgI2RlZmluZSBIQVZFX1NZU19BQ0xfSCAxCnwgI2RlZmlu ZSBIQVZFX0FDTF9HRVRfRklMRSAxCnwgI2RlZmluZSBIQVZFX0FDTF9TRVRfRklMRSAxCnwgI2Rl ZmluZSBIQVZFX0FDTF9GUkVFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0ZST01fVEVYVCAxCnwgLyog ZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBhY2xfZGVsZXRlX2ZpbGVfbnAgdG8gYW4g aW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBhY2xfZGVsZXRl X2ZpbGVfbnAuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVz IGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBhY2xfZGVsZXRlX2ZpbGVfbnAgaW5ub2N1b3Vz X2FjbF9kZWxldGVfZmlsZV9ucAp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1 YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNv bmZsaWN0IHdpdGggY2hhciBhY2xfZGVsZXRlX2ZpbGVfbnAgKCk7IGJlbG93Lgp8ICAgICBQcmVm ZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNl CnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4g ICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8 ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIGFjbF9kZWxldGVfZmls ZV9ucAp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lk IGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1 cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3Rv dHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJu ICJDIgp8ICNlbmRpZgp8IGNoYXIgYWNsX2RlbGV0ZV9maWxlX25wICgpOwp8IC8qIFRoZSBHTlUg QyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMK fCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0 dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3Jt YWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX2FjbF9kZWxldGVf ZmlsZV9ucCB8fCBkZWZpbmVkIF9fc3R1Yl9fX2FjbF9kZWxldGVfZmlsZV9ucAp8IGNob2tlIG1l CnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gYWNsX2RlbGV0ZV9maWxl X25wICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MjY3MTk6IHJlc3VsdDog bm8KY29uZmlndXJlOjI2NzE5OiBjaGVja2luZyBmb3IgYWNsX2NvcHlfZXh0X25hdGl2ZQpjb25m aWd1cmU6MjY3MTk6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8y IC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgICBjb25mdGVzdC5jICAgPiY1IApDOi9tc3lzNjQv bWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvMTAuMi4wLy4uLy4uLy4u Ly4uL3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBDOlxtc3lzNjRcdG1wXGNjNG5OZjRJ Lm86IGluIGZ1bmN0aW9uIGBtYWluJzoKQzpcbXN5czY0XGhvbWVcVldpblVzZXIwXERvd25sb2Fk c1xlbWFjc1xuYXRpdmUtY29tcFxidWlsZC9jb25mdGVzdC5jOjIzMzogdW5kZWZpbmVkIHJlZmVy ZW5jZSB0byBgYWNsX2NvcHlfZXh0X25hdGl2ZScKY29sbGVjdDIuZXhlOiBlcnJvcjogbGQgcmV0 dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MjY3MTk6ICQ/ID0gMQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05V IEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFj c0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29m dHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERV TVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBf X0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lO X0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09V UkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVB RF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhU X18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5U X0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlf VFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJD RSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklM RV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZ UEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFW RV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JF U09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NL RVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEK fCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZp bmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFW RV9OQVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUg SEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBVU0VfTU1BUF9GT1JfQlVGRkVSUyAxCnwgI2Rl ZmluZSBUSFJFQURTX0VOQUJMRUQgMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhB VkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfSlNPTiAxCnwgI2RlZmluZSBIQVZFX1czMk5PVElG WSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NS T0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0hBUkZCVVpaIDEK fCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZF X0xDTVMyIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX01PRFVMRVMgMQp8 ICNkZWZpbmUgTU9EVUxFU19TVUZGSVggIi5kbGwiCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVCAx CnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0NPTVAg MQp8ICNkZWZpbmUgTkFUSVZFX0VMSVNQX1NVRkZJWCAiLmVsbiIKfCAjZGVmaW5lIEhBVkVfUE5H IDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBI QVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZF X1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9UUlVOQyAxCnwg I2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVm aW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5l IEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUg SEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9S RUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJ X1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURf U0VUTkFNRV9OUCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxJR05FRF9BTExPQyAwCnwgI2RlZmlu ZSBIQVZFX19fQlVJTFRJTl9GUkFNRV9BRERSRVNTIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElO X1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfU0JS SyAxCnwgI2RlZmluZSBIQVZFX0NBTk9OSUNBTElaRV9GSUxFX05BTUUgMQp8ICNkZWZpbmUgSEFW RV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9F WFBMSUNJVF9CWkVSTyAxCnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZF X0ZDSE1PREFUIDEKfCAjZGVmaW5lIEhBVkVfTENITU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwg MQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZp bmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBI QVZFX1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0lTQkxB TksgMQp8ICNkZWZpbmUgSEFWRV9JU1dDVFlQRSAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAx CnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNk ZWZpbmUgdmZvcmsgZm9yawp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZF X0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19fTkxfUEFQRVJfV0lE VEggMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEK fCAjZGVmaW5lIE5VTExfREVWSUNFICJOVUw6Igp8ICNkZWZpbmUgU0VQQ0hBUiAnOycKfCAjZGVm aW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MK fCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykg KChfY18pID09ICc6JykKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0g Jy8nIHx8IChfY18pID09ICdcXCcpCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVD VE9SWV9TRVAgKF9jXykgfHwgSVNfREVWSUNFX1NFUChfY18pKQp8ICNkZWZpbmUgREVGQVVMVF9T T1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVm aW5lIEhBVkVfU1RBQ0tfT1ZFUkZMT1dfSEFORExJTkcgMQp8ICNkZWZpbmUgRE9TX05UIC8qKi8K fCAjZGVmaW5lIFdJTkRPV1NOVCAxCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZp bmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInczMnRlcm0uaCIKfCAjZGVmaW5lIEVNQUNT X0NPTkZJR1VSQVRJT04gIng4Nl82NC13NjQtbWluZ3czMiIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJ R19PUFRJT05TICItLXByZWZpeD0vaG9tZS9WV2luVXNlcjAvRG93bmxvYWRzL2VtYWNzL25hdGl2 ZS1jb21wL2J1aWx0IC0td2l0aC1uYXRpdmVjb21wIgp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQVRU UklCVVRFX0FMSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9T VEFURU1FTlRfRVhQUkVTU0lPTlMgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUg RE9VQkxFX1NMQVNIX0lTX0RJU1RJTkNUX1JPT1QgMQp8ICNkZWZpbmUgRlVOQ19SRUFMUEFUSF9X T1JLUyAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0VOVklS T05fREVDTCAxCnwgI2RlZmluZSBMU1RBVF9GT0xMT1dTX1NMQVNIRURfU1lNTElOSyAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8 ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9NRU1NRU0gMAp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgVElNRV9U X0lTX1NJR05FRCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIE1BTExPQ18wX0lTX05PTk5VTEwgMQp8ICNkZWZpbmUgSEFWRV9XQ0hB Ul9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJOTEVOIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T VFJUT0lNQVggMQp8ICNkZWZpbmUgX1VTRV9TVERfU1RBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf Q0xFQVJFUlJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZFT0ZfVU5MT0NLRUQgMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX0ZFUlJPUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf RkZMVVNIX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GR0VUU19VTkxPQ0tFRCAwCnwg I2RlZmluZSBIQVZFX0RFQ0xfRlBVVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZQ VVRTX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUkVBRF9VTkxPQ0tFRCAwCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfRldSSVRFX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRD X1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRDSEFSX1VOTE9DS0VEIDAKfCAjZGVm aW5lIEhBVkVfREVDTF9QVVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9QVVRDSEFS X1VOTE9DS0VEIDAKfCAjZGVmaW5lIEdFVEdST1VQU19UIGludAp8ICNkZWZpbmUgSEFWRV9ERUNM X0dFVERUQUJMRVNJWkUgMAp8ICNkZWZpbmUgUFJPTU9URURfTU9ERV9UIGludAp8ICNkZWZpbmUg SEFWRV9TWVNfQUNMX0ggMQp8ICNkZWZpbmUgSEFWRV9BQ0xfR0VUX0ZJTEUgMQp8ICNkZWZpbmUg SEFWRV9BQ0xfU0VUX0ZJTEUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfRlJFRSAxCnwgI2RlZmluZSBI QVZFX0FDTF9GUk9NX1RFWFQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUg YWNsX2NvcHlfZXh0X25hdGl2ZSB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGlt aXRzLmg+IGRlY2xhcmVzIGFjbF9jb3B5X2V4dF9uYXRpdmUuCnwgICAgRm9yIGV4YW1wbGUsIEhQ LVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBh Y2xfY29weV9leHRfbmF0aXZlIGlubm9jdW91c19hY2xfY29weV9leHRfbmF0aXZlCnwgCnwgLyog U3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBw cm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGFjbF9jb3B5X2V4 dF9uYXRpdmUgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+ IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2 ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwg IyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2Vu ZGlmCnwgCnwgI3VuZGVmIGFjbF9jb3B5X2V4dF9uYXRpdmUKfCAKfCAvKiBPdmVycmlkZSBhbnkg R0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBi ZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWls dGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAq Lwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGFjbF9j b3B5X2V4dF9uYXRpdmUgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZv ciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRo IEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhp bmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8K fCAjaWYgZGVmaW5lZCBfX3N0dWJfYWNsX2NvcHlfZXh0X25hdGl2ZSB8fCBkZWZpbmVkIF9fc3R1 Yl9fX2FjbF9jb3B5X2V4dF9uYXRpdmUKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1h aW4gKCkKfCB7CnwgcmV0dXJuIGFjbF9jb3B5X2V4dF9uYXRpdmUgKCk7CnwgICA7CnwgICByZXR1 cm4gMDsKfCB9CmNvbmZpZ3VyZToyNjcxOTogcmVzdWx0OiBubwpjb25maWd1cmU6MjY3MTk6IGNo ZWNraW5nIGZvciBhY2xfY3JlYXRlX2VudHJ5X25wCmNvbmZpZ3VyZToyNjcxOTogZ2NjIC1JIC4u L3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5l cmljICAgIGNvbmZ0ZXN0LmMgICA+JjUgCkM6L21zeXM2NC9taW5ndzY0L2Jpbi8uLi9saWIvZ2Nj L3g4Nl82NC13NjQtbWluZ3czMi8xMC4yLjAvLi4vLi4vLi4vLi4veDg2XzY0LXc2NC1taW5ndzMy L2Jpbi9sZC5leGU6IEM6XG1zeXM2NFx0bXBcY2NjZFl6Y2UubzogaW4gZnVuY3Rpb24gYG1haW4n OgpDOlxtc3lzNjRcaG9tZVxWV2luVXNlcjBcRG93bmxvYWRzXGVtYWNzXG5hdGl2ZS1jb21wXGJ1 aWxkL2NvbmZ0ZXN0LmM6MjMzOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBhY2xfY3JlYXRlX2Vu dHJ5X25wJwpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNv bmZpZ3VyZToyNjcxOTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q IGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZp bmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjgu MC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVm aW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQ QUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmlu ZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENf SEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H X0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg I2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVm aW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUg X0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5C U0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENf V0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1 OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9f IDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BF Q19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FM VF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2Rl ZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVm aW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhB VkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBI QVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19Q QVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RF RlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNf SCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwg I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAj ZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8 ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9JTUFHRV9BUEkgMQp8 ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAj ZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAx CnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUg SEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxF X05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBV U0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8 ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENNUzIgMQp8ICNkZWZpbmUgSEFW RV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJ WCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAjZGVmaW5lIEhBVkVfTElCR0ND SklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJ U1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZG IDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmlu ZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhB VkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEK fCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8 ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNk ZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwg I2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2Rl ZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhB VkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUg SEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1FX05QIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDAKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX0ZSQU1F X0FERFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZp bmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9TQlJLIDEKfCAjZGVmaW5lIEhBVkVfQ0FO T05JQ0FMSVpFX0ZJTEVfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5l IEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0VYUExJQ0lUX0JaRVJPIDEKfCAjZGVm aW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EQVQgMQp8ICNkZWZpbmUg SEFWRV9MQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTVEFU QVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAx CnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNkZWZpbmUg SEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2RlZmluZSBIQVZFX0lT V0NUWVBFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElO SyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwgI2RlZmluZSB2Zm9yayBmb3JrCnwgI2Rl ZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwg I2RlZmluZSBIQVZFX0xBTkdJTkZPX19OTF9QQVBFUl9XSURUSCAxCnwgI2RlZmluZSBIQVZFX01C U1RBVEVfVCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0Ug Ik5VTDoiCnwgI2RlZmluZSBTRVBDSEFSICc7Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAj ZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NF UCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAoKF9jXykgPT0gJzonKQp8ICNkZWZp bmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSAnLycgfHwgKF9jXykgPT0gJ1xcJykK fCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSB8fCBJU19E RVZJQ0VfU0VQKF9jXykpCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3Ai CnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9TVEFDS19PVkVSRkxP V19IQU5ETElORyAxCnwgI2RlZmluZSBET1NfTlQgLyoqLwp8ICNkZWZpbmUgV0lORE9XU05UIDEK fCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdo dCAoQykgMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJN X0hFQURFUiAidzMydGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAieDg2XzY0 LXc2NC1taW5ndzMyIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PS9o b21lL1ZXaW5Vc2VyMC9Eb3dubG9hZHMvZW1hY3MvbmF0aXZlLWNvbXAvYnVpbHQgLS13aXRoLW5h dGl2ZWNvbXAiCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BVFRSSUJVVEVfQUxJR05FRCAxCnwgI2Rl ZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX1NUQVRFTUVOVF9FWFBSRVNTSU9OUyAx CnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBET1VCTEVfU0xBU0hfSVNfRElTVElO Q1RfUk9PVCAxCnwgI2RlZmluZSBGVU5DX1JFQUxQQVRIX1dPUktTIDEKfCAjZGVmaW5lIHJlc3Ry aWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIExT VEFUX0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RF IDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVE X0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTU1FTSAwCnwgI2RlZmluZSBI QVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBUSU1FX1RfSVNfU0lHTkVEIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5l IEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgTUFMTE9D XzBfSVNfTk9OTlVMTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NUUk5MRU4gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBf VVNFX1NURF9TVEFUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9DTEVBUkVSUl9VTkxPQ0tFRCAwCnwg I2RlZmluZSBIQVZFX0RFQ0xfRkVPRl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkVS Uk9SX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRkxVU0hfVU5MT0NLRUQgMAp8ICNk ZWZpbmUgSEFWRV9ERUNMX0ZHRVRTX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUFVU Q19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlBVVFNfVU5MT0NLRUQgMAp8ICNkZWZp bmUgSEFWRV9ERUNMX0ZSRUFEX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GV1JJVEVf VU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUg SEFWRV9ERUNMX0dFVENIQVJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1BVVENfVU5M T0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1BVVENIQVJfVU5MT0NLRUQgMAp8ICNkZWZpbmUg R0VUR1JPVVBTX1QgaW50CnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURFRBQkxFU0laRSAwCnwgI2Rl ZmluZSBQUk9NT1RFRF9NT0RFX1QgaW50CnwgI2RlZmluZSBIQVZFX1NZU19BQ0xfSCAxCnwgI2Rl ZmluZSBIQVZFX0FDTF9HRVRfRklMRSAxCnwgI2RlZmluZSBIQVZFX0FDTF9TRVRfRklMRSAxCnwg I2RlZmluZSBIQVZFX0FDTF9GUkVFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0ZST01fVEVYVCAxCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBhY2xfY3JlYXRlX2VudHJ5X25wIHRv IGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgYWNsX2Ny ZWF0ZV9lbnRyeV9ucC4KfCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVj bGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGFjbF9jcmVhdGVfZW50cnlfbnAgaW5u b2N1b3VzX2FjbF9jcmVhdGVfZW50cnlfbnAKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmlu ZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNo IGNhbiBjb25mbGljdCB3aXRoIGNoYXIgYWNsX2NyZWF0ZV9lbnRyeV9ucCAoKTsgYmVsb3cuCnwg ICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5l ZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29t cGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8 ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgYWNsX2Ny ZWF0ZV9lbnRyeV9ucAp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBl IHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNo IHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3Vt ZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVz CnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgYWNsX2NyZWF0ZV9lbnRyeV9ucCAoKTsKfCAv KiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBp bXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlv bnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFu ZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9h Y2xfY3JlYXRlX2VudHJ5X25wIHx8IGRlZmluZWQgX19zdHViX19fYWNsX2NyZWF0ZV9lbnRyeV9u cAp8IGNob2tlIG1lCnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gYWNs X2NyZWF0ZV9lbnRyeV9ucCAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI2 NzE5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNjcxOTogY2hlY2tpbmcgZm9yIGFjbF90b19zaG9y dF90ZXh0CmNvbmZpZ3VyZToyNjcxOTogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3Qu ZXhlIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgIGNvbmZ0ZXN0LmMgICA+JjUg CkM6L21zeXM2NC9taW5ndzY0L2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi8xMC4y LjAvLi4vLi4vLi4vLi4veDg2XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IEM6XG1zeXM2NFx0 bXBcY2NVN1hXVTUubzogaW4gZnVuY3Rpb24gYG1haW4nOgpDOlxtc3lzNjRcaG9tZVxWV2luVXNl cjBcRG93bmxvYWRzXGVtYWNzXG5hdGl2ZS1jb21wXGJ1aWxkL2NvbmZ0ZXN0LmM6MjMzOiB1bmRl ZmluZWQgcmVmZXJlbmNlIHRvIGBhY2xfdG9fc2hvcnRfdGV4dCcKY29sbGVjdDIuZXhlOiBlcnJv cjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MjY3MTk6ICQ/ID0gMQpjb25m aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ QUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3Mi CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NU UklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVn LWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3Lmdu dS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5l IEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9T WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZ X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg I2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmlu ZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9O RVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9T SVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FU VFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAx CnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9f U1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9J RUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAx CnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFO REVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2Rl ZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUg U1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNk ZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVf VU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJ UkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf VElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9I IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUg MQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTlRHVUkgMQp8ICNk ZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBVU0VfTU1BUF9GT1JfQlVGRkVS UyAxCnwgI2RlZmluZSBUSFJFQURTX0VOQUJMRUQgMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAj ZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfSlNPTiAxCnwgI2RlZmluZSBIQVZF X1czMk5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RP T0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0hB UkZCVVpaIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2Rl ZmluZSBIQVZFX0xDTVMyIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX01P RFVMRVMgMQp8ICNkZWZpbmUgTU9EVUxFU19TVUZGSVggIi5kbGwiCnwgI2RlZmluZSBIQVZFX0xJ QkdDQ0pJVCAxCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkFU SVZFX0NPTVAgMQp8ICNkZWZpbmUgTkFUSVZFX0VMSVNQX1NVRkZJWCAiLmVsbiIKfCAjZGVmaW5l IEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwg I2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9U UlVOQyAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpF IDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEK fCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNk ZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8 ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZp bmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5l IEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQURfU0VUTkFNRV9OUCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxJR05FRF9BTExPQyAw CnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9GUkFNRV9BRERSRVNTIDEKfCAjZGVmaW5lIEhBVkVf X19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5l IEhBVkVfU0JSSyAxCnwgI2RlZmluZSBIQVZFX0NBTk9OSUNBTElaRV9GSUxFX05BTUUgMQp8ICNk ZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LQVQgMQp8ICNkZWZp bmUgSEFWRV9FWFBMSUNJVF9CWkVSTyAxCnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwgI2Rl ZmluZSBIQVZFX0ZDSE1PREFUIDEKfCAjZGVmaW5lIEhBVkVfTENITU9EIDEKfCAjZGVmaW5lIEhB VkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMg MQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwg I2RlZmluZSBIQVZFX1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBI QVZFX0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9JU1dDVFlQRSAxCnwgI2RlZmluZSBIQVZFX1NU UlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9VVElNRU5T QVQgMQp8ICNkZWZpbmUgdmZvcmsgZm9yawp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2Rl ZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19fTkxf UEFQRVJfV0lEVEggMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgSEFWRV9T T0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICJOVUw6Igp8ICNkZWZpbmUgU0VQQ0hBUiAn OycKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+ cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0Vf U0VQKF9jXykgKChfY18pID09ICc6JykKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAo KF9jXykgPT0gJy8nIHx8IChfY18pID09ICdcXCcpCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykg KElTX0RJUkVDVE9SWV9TRVAgKF9jXykgfHwgSVNfREVWSUNFX1NFUChfY18pKQp8ICNkZWZpbmUg REVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktT IDEKfCAjZGVmaW5lIEhBVkVfU1RBQ0tfT1ZFUkZMT1dfSEFORExJTkcgMQp8ICNkZWZpbmUgRE9T X05UIC8qKi8KfCAjZGVmaW5lIFdJTkRPV1NOVCAxCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQg MQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMjAgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInczMnRlcm0uaCIKfCAjZGVm aW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gIng4Nl82NC13NjQtbWluZ3czMiIKfCAjZGVmaW5lIEVN QUNTX0NPTkZJR19PUFRJT05TICItLXByZWZpeD0vaG9tZS9WV2luVXNlcjAvRG93bmxvYWRzL2Vt YWNzL25hdGl2ZS1jb21wL2J1aWx0IC0td2l0aC1uYXRpdmVjb21wIgp8ICNkZWZpbmUgSEFWRV9T VFJVQ1RfQVRUUklCVVRFX0FMSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZp bmUgSEFWRV9TVEFURU1FTlRfRVhQUkVTU0lPTlMgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8 ICNkZWZpbmUgRE9VQkxFX1NMQVNIX0lTX0RJU1RJTkNUX1JPT1QgMQp8ICNkZWZpbmUgRlVOQ19S RUFMUEFUSF9XT1JLUyAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBI QVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBMU1RBVF9GT0xMT1dTX1NMQVNIRURfU1lNTElO SyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9O R19JTlQgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9NRU1NRU0gMAp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZp bmUgVElNRV9UX0lTX1NJR05FRCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZp bmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIE1BTExPQ18wX0lTX05PTk5VTEwgMQp8ICNkZWZpbmUg SEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJOTEVOIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgX1VTRV9TVERfU1RBVCAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfQ0xFQVJFUlJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZFT0ZfVU5M T0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZFUlJPUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBI QVZFX0RFQ0xfRkZMVVNIX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GR0VUU19VTkxP Q0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlBVVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFW RV9ERUNMX0ZQVVRTX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUkVBRF9VTkxPQ0tF RCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRldSSVRFX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVf REVDTF9HRVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRDSEFSX1VOTE9DS0VE IDAKfCAjZGVmaW5lIEhBVkVfREVDTF9QVVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9QVVRDSEFSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEdFVEdST1VQU19UIGludAp8ICNkZWZpbmUg SEFWRV9ERUNMX0dFVERUQUJMRVNJWkUgMAp8ICNkZWZpbmUgUFJPTU9URURfTU9ERV9UIGludAp8 ICNkZWZpbmUgSEFWRV9TWVNfQUNMX0ggMQp8ICNkZWZpbmUgSEFWRV9BQ0xfR0VUX0ZJTEUgMQp8 ICNkZWZpbmUgSEFWRV9BQ0xfU0VUX0ZJTEUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfRlJFRSAxCnwg I2RlZmluZSBIQVZFX0FDTF9GUk9NX1RFWFQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAv KiBEZWZpbmUgYWNsX3RvX3Nob3J0X3RleHQgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNh c2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBhY2xfdG9fc2hvcnRfdGV4dC4KfCAgICBGb3IgZXhhbXBs ZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVm aW5lIGFjbF90b19zaG9ydF90ZXh0IGlubm9jdW91c19hY2xfdG9fc2hvcnRfdGV4dAp8IAp8IC8q IFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcg cHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBhY2xfdG9fc2hv cnRfdGV4dCAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4g aWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZl biBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAj IGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5k aWYKfCAKfCAjdW5kZWYgYWNsX3RvX3Nob3J0X3RleHQKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0ND IGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNh dXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGlu IGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8 ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGFjbF90b19z aG9ydF90ZXh0ICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVu Y3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9T WVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0 YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lm IGRlZmluZWQgX19zdHViX2FjbF90b19zaG9ydF90ZXh0IHx8IGRlZmluZWQgX19zdHViX19fYWNs X3RvX3Nob3J0X3RleHQKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7 CnwgcmV0dXJuIGFjbF90b19zaG9ydF90ZXh0ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpj b25maWd1cmU6MjY3MTk6IHJlc3VsdDogbm8KY29uZmlndXJlOjI2NzE5OiBjaGVja2luZyBmb3Ig YWNsX2ZyZWVfdGV4dApjb25maWd1cmU6MjY3MTk6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNv bmZ0ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgICBjb25mdGVzdC5j ICAgPiY1IApDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3 MzIvMTAuMi4wLy4uLy4uLy4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBDOlxt c3lzNjRcdG1wXGNjS0pLTmFHLm86IGluIGZ1bmN0aW9uIGBtYWluJzoKQzpcbXN5czY0XGhvbWVc VldpblVzZXIwXERvd25sb2Fkc1xlbWFjc1xuYXRpdmUtY29tcFxidWlsZC9jb25mdGVzdC5jOjIz MzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgYWNsX2ZyZWVfdGV4dCcKY29sbGVjdDIuZXhlOiBl cnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MjY3MTk6ICQ/ID0gMQpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmlu ZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi YnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3 LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVm aW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFW RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVN T1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2Rl ZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5l IF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBf UE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5 X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRf XyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5l IF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FO VF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJf XyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBf VEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwg I2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZp bmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8 ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZF X0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hB Ul9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJ TUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTlRHVUkgMQp8 ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0Mg MQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBVU0VfTU1BUF9GT1JfQlVG RkVSUyAxCnwgI2RlZmluZSBUSFJFQURTX0VOQUJMRUQgMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEK fCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfSlNPTiAxCnwgI2RlZmluZSBI QVZFX1czMk5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNF X1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZF X0hBUkZCVVpaIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwg I2RlZmluZSBIQVZFX0xDTVMyIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZF X01PRFVMRVMgMQp8ICNkZWZpbmUgTU9EVUxFU19TVUZGSVggIi5kbGwiCnwgI2RlZmluZSBIQVZF X0xJQkdDQ0pJVCAxCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVF9IIDEKfCAjZGVmaW5lIEhBVkVf TkFUSVZFX0NPTVAgMQp8ICNkZWZpbmUgTkFUSVZFX0VMSVNQX1NVRkZJWCAiLmVsbiIKfCAjZGVm aW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAx CnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwg I2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFW RV9UUlVOQyAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VT SVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlU IDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8 ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwg MQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNk ZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVm aW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxJR05FRF9BTExP QyAwCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9GUkFNRV9BRERSRVNTIDEKfCAjZGVmaW5lIEhB VkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVm aW5lIEhBVkVfU0JSSyAxCnwgI2RlZmluZSBIQVZFX0NBTk9OSUNBTElaRV9GSUxFX05BTUUgMQp8 ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LQVQgMQp8ICNk ZWZpbmUgSEFWRV9FWFBMSUNJVF9CWkVSTyAxCnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwg I2RlZmluZSBIQVZFX0ZDSE1PREFUIDEKfCAjZGVmaW5lIEhBVkVfTENITU9EIDEKfCAjZGVmaW5l IEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVfRlNZ TkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAx CnwgI2RlZmluZSBIQVZFX1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmlu ZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9JU1dDVFlQRSAxCnwgI2RlZmluZSBIQVZF X1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9VVElN RU5TQVQgMQp8ICNkZWZpbmUgdmZvcmsgZm9yawp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwg I2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19f TkxfUEFQRVJfV0lEVEggMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgSEFW RV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICJOVUw6Igp8ICNkZWZpbmUgU0VQQ0hB UiAnOycKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBw dy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJ Q0VfU0VQKF9jXykgKChfY18pID09ICc6JykKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2Nf KSAoKF9jXykgPT0gJy8nIHx8IChfY18pID09ICdcXCcpCnwgI2RlZmluZSBJU19BTllfU0VQKF9j XykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykgfHwgSVNfREVWSUNFX1NFUChfY18pKQp8ICNkZWZp bmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgR0NfU0VUSk1QX1dP UktTIDEKfCAjZGVmaW5lIEhBVkVfU1RBQ0tfT1ZFUkZMT1dfSEFORExJTkcgMQp8ICNkZWZpbmUg RE9TX05UIC8qKi8KfCAjZGVmaW5lIFdJTkRPV1NOVCAxCnwgI2RlZmluZSBVU0FCTEVfRklPTlJF QUQgMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMjAgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInczMnRlcm0uaCIKfCAj ZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gIng4Nl82NC13NjQtbWluZ3czMiIKfCAjZGVmaW5l IEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZpeD0vaG9tZS9WV2luVXNlcjAvRG93bmxvYWRz L2VtYWNzL25hdGl2ZS1jb21wL2J1aWx0IC0td2l0aC1uYXRpdmVjb21wIgp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfQVRUUklCVVRFX0FMSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNk ZWZpbmUgSEFWRV9TVEFURU1FTlRfRVhQUkVTU0lPTlMgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0Eg MQp8ICNkZWZpbmUgRE9VQkxFX1NMQVNIX0lTX0RJU1RJTkNUX1JPT1QgMQp8ICNkZWZpbmUgRlVO Q19SRUFMUEFUSF9XT1JLUyAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmlu ZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBMU1RBVF9GT0xMT1dTX1NMQVNIRURfU1lN TElOSyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBIQVZFX0xPTkdf TE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9NRU1NRU0gMAp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNk ZWZpbmUgVElNRV9UX0lTX1NJR05FRCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIE1BTExPQ18wX0lTX05PTk5VTEwgMQp8ICNkZWZp bmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJOTEVOIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgX1VTRV9TVERfU1RBVCAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfQ0xFQVJFUlJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZFT0Zf VU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZFUlJPUl9VTkxPQ0tFRCAwCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfRkZMVVNIX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GR0VUU19V TkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlBVVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUg SEFWRV9ERUNMX0ZQVVRTX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUkVBRF9VTkxP Q0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRldSSVRFX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhB VkVfREVDTF9HRVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRDSEFSX1VOTE9D S0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9QVVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVf REVDTF9QVVRDSEFSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEdFVEdST1VQU19UIGludAp8ICNkZWZp bmUgSEFWRV9ERUNMX0dFVERUQUJMRVNJWkUgMAp8ICNkZWZpbmUgUFJPTU9URURfTU9ERV9UIGlu dAp8ICNkZWZpbmUgSEFWRV9TWVNfQUNMX0ggMQp8ICNkZWZpbmUgSEFWRV9BQ0xfR0VUX0ZJTEUg MQp8ICNkZWZpbmUgSEFWRV9BQ0xfU0VUX0ZJTEUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfRlJFRSAx CnwgI2RlZmluZSBIQVZFX0FDTF9GUk9NX1RFWFQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAvKiBEZWZpbmUgYWNsX2ZyZWVfdGV4dCB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2Fz ZSA8bGltaXRzLmg+IGRlY2xhcmVzIGFjbF9mcmVlX3RleHQuCnwgICAgRm9yIGV4YW1wbGUsIEhQ LVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSBh Y2xfZnJlZV90ZXh0IGlubm9jdW91c19hY2xfZnJlZV90ZXh0CnwgCnwgLyogU3lzdGVtIGhlYWRl ciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8 ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGFjbF9mcmVlX3RleHQgKCk7IGJlbG93 Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRl ZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5n IGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMu aD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIGFj bF9mcmVlX3RleHQKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0 byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0 aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVu dCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8 IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGFjbF9mcmVlX3RleHQgKCk7CnwgLyogVGhlIEdO VSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50 cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBh Y3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5v cm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfYWNsX2ZyZWVf dGV4dCB8fCBkZWZpbmVkIF9fc3R1Yl9fX2FjbF9mcmVlX3RleHQKfCBjaG9rZSBtZQp8ICNlbmRp Zgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGFjbF9mcmVlX3RleHQgKCk7CnwgICA7 CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToyNjcxOTogcmVzdWx0OiBubwpjb25maWd1cmU6 MjY3MzA6IGNoZWNraW5nIGZvciB3b3JraW5nIGFjbF9nZXRfZmlsZQpjb25maWd1cmU6MjY3NjI6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNjc3MTogY2hlY2tpbmcgYWNsL2xpYmFjbC5oIHVzYWJp bGl0eQpjb25maWd1cmU6MjY3NzE6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdk d2FyZi0yIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzoyMzI6MTA6 IGZhdGFsIGVycm9yOiBhY2wvbGliYWNsLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICAy MzIgfCAjaW5jbHVkZSA8YWNsL2xpYmFjbC5oPgogICAgICB8ICAgICAgICAgIF5+fn5+fn5+fn5+ fn5+CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToyNjc3MTogJD8gPSAxCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBB Q0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIK fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RS SU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWct Z251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251 Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUg SEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5l IF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05F VEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJ WF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRU UklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEK fCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19T VERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lF Q182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEK fCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5E RU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVm aW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBT WVNURU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2Rl ZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElS RU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19U SU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAx CnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2Rl ZmluZSBIQVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwg I2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJT IDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNk ZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVf VzMyTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9P TEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFS RkJVWlogMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVm aW5lIEhBVkVfTENNUzIgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9E VUxFUyAxCnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElC R0NDSklUIDEKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJ VkVfQ09NUCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUg SEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAj ZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVm aW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RS VU5DIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUg MQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8 ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2Rl ZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwg I2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmlu ZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUg SEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVf UFRIUkVBRF9TRVROQU1FX05QIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDAK fCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX0ZSQU1FX0FERFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9f X0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUg SEFWRV9TQlJLIDEKfCAjZGVmaW5lIEhBVkVfQ0FOT05JQ0FMSVpFX0ZJTEVfTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmlu ZSBIQVZFX0VYUExJQ0lUX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVm aW5lIEhBVkVfRkNITU9EQVQgMQp8ICNkZWZpbmUgSEFWRV9MQ0hNT0QgMQp8ICNkZWZpbmUgSEFW RV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAx CnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAj ZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhB VkVfSVNCTEFOSyAxCnwgI2RlZmluZSBIQVZFX0lTV0NUWVBFIDEKfCAjZGVmaW5lIEhBVkVfU1RS VE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNB VCAxCnwgI2RlZmluZSB2Zm9yayBmb3JrCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVm aW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX19OTF9Q QVBFUl9XSURUSCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBIQVZFX1NP Q0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIk5VTDoiCnwgI2RlZmluZSBTRVBDSEFSICc7 Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5w d19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9T RVAoX2NfKSAoKF9jXykgPT0gJzonKQp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgo X2NfKSA9PSAnLycgfHwgKF9jXykgPT0gJ1xcJykKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAo SVNfRElSRUNUT1JZX1NFUCAoX2NfKSB8fCBJU19ERVZJQ0VfU0VQKF9jXykpCnwgI2RlZmluZSBE RUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1Mg MQp8ICNkZWZpbmUgSEFWRV9TVEFDS19PVkVSRkxPV19IQU5ETElORyAxCnwgI2RlZmluZSBET1Nf TlQgLyoqLwp8ICNkZWZpbmUgV0lORE9XU05UIDEKfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAx CnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAyMCBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAidzMydGVybS5oIgp8ICNkZWZp bmUgRU1BQ1NfQ09ORklHVVJBVElPTiAieDg2XzY0LXc2NC1taW5ndzMyIgp8ICNkZWZpbmUgRU1B Q1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PS9ob21lL1ZXaW5Vc2VyMC9Eb3dubG9hZHMvZW1h Y3MvbmF0aXZlLWNvbXAvYnVpbHQgLS13aXRoLW5hdGl2ZWNvbXAiCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9BVFRSSUJVVEVfQUxJR05FRCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmlu ZSBIQVZFX1NUQVRFTUVOVF9FWFBSRVNTSU9OUyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwg I2RlZmluZSBET1VCTEVfU0xBU0hfSVNfRElTVElOQ1RfUk9PVCAxCnwgI2RlZmluZSBGVU5DX1JF QUxQQVRIX1dPUktTIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhB VkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIExTVEFUX0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5L IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05H X0lOVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX01FTU1FTSAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmlu ZSBUSU1FX1RfSVNfU0lHTkVEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgTUFMTE9DXzBfSVNfTk9OTlVMTCAxCnwgI2RlZmluZSBI QVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk5MRU4gMQp8ICNkZWZpbmUgSEFW RV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBfVVNFX1NURF9TVEFUIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9DTEVBUkVSUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkVPRl9VTkxP Q0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkVSUk9SX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhB VkVfREVDTF9GRkxVU0hfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZHRVRTX1VOTE9D S0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZF X0RFQ0xfRlBVVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZSRUFEX1VOTE9DS0VE IDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GV1JJVEVfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9E RUNMX0dFVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVENIQVJfVU5MT0NLRUQg MAp8ICNkZWZpbmUgSEFWRV9ERUNMX1BVVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNM X1BVVENIQVJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgaW50CnwgI2RlZmluZSBI QVZFX0RFQ0xfR0VURFRBQkxFU0laRSAwCnwgI2RlZmluZSBQUk9NT1RFRF9NT0RFX1QgaW50Cnwg I2RlZmluZSBIQVZFX1NZU19BQ0xfSCAxCnwgI2RlZmluZSBIQVZFX0FDTF9HRVRfRklMRSAxCnwg I2RlZmluZSBIQVZFX0FDTF9TRVRfRklMRSAxCnwgI2RlZmluZSBIQVZFX0FDTF9GUkVFIDEKfCAj ZGVmaW5lIEhBVkVfQUNMX0ZST01fVEVYVCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNp bmNsdWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBpbmNsdWRlIDxz eXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICnwgIyBpbmNsdWRl IDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUg PHN0ZGxpYi5oPgp8ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVf U1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwgI2VuZGlmCnwgI2lm ZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVkIFNURENfSEVBREVSUyAmJiBkZWZpbmVk IEhBVkVfTUVNT1JZX0gKfCAjICBpbmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNs dWRlIDxzdHJpbmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGluY2x1 ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRUWVBFU19ICnwgIyBpbmNs dWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNs dWRlIDxzdGRpbnQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVk ZSA8dW5pc3RkLmg+CnwgI2VuZGlmCnwgI2luY2x1ZGUgPGFjbC9saWJhY2wuaD4KY29uZmlndXJl OjI2NzcxOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNjc3MTogY2hlY2tpbmcgYWNsL2xpYmFjbC5o IHByZXNlbmNlCmNvbmZpZ3VyZToyNjc3MTogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLUUgLW10dW5l PWdlbmVyaWMgICBjb25mdGVzdC5jCmNvbmZ0ZXN0LmM6MTk5OjEwOiBmYXRhbCBlcnJvcjogYWNs L2xpYmFjbC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAgMTk5IHwgI2luY2x1ZGUgPGFj bC9saWJhY2wuaD4KICAgICAgfCAgICAgICAgICBefn5+fn5+fn5+fn5+fgpjb21waWxhdGlvbiB0 ZXJtaW5hdGVkLgpjb25maWd1cmU6MjY3NzE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBF bWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdF X1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4 LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3Jn Igp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1h Y3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwg I2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lP TlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNF IDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAj ZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJ Q1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNk ZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENf V0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1 OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhU X18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENf V0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2Rl ZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRf QklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRv d3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAx CnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0gg MQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwg I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5l IEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVf U1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1NUQVRfSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9T WVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVf SU1BR0VfQVBJIDEKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBVU0VfTU1BUF9GT1JfQlVGRkVSUyAxCnwgI2RlZmluZSBUSFJF QURTX0VOQUJMRUQgMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfR05VVExT IDEKfCAjZGVmaW5lIEhBVkVfSlNPTiAxCnwgI2RlZmluZSBIQVZFX1czMk5PVElGWSAxCnwgI2Rl ZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMg MQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0hBUkZCVVpaIDEKfCAjZGVmaW5l IEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0xDTVMyIDEK fCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX01PRFVMRVMgMQp8ICNkZWZpbmUg TU9EVUxFU19TVUZGSVggIi5kbGwiCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVCAxCnwgI2RlZmlu ZSBIQVZFX0xJQkdDQ0pJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0NPTVAgMQp8ICNkZWZp bmUgTkFUSVZFX0VMSVNQX1NVRkZJWCAiLmVsbiIKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVm aW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX0xJQlhN TDIgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAx CnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9UUlVOQyAxCnwgI2RlZmluZSBI QVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVf U0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VU UkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFE X1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJ VElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAx CnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9S IDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9O UCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxJR05FRF9BTExPQyAwCnwgI2RlZmluZSBIQVZFX19f QlVJTFRJTl9GUkFNRV9BRERSRVNTIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9J TklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfU0JSSyAxCnwgI2Rl ZmluZSBIQVZFX0NBTk9OSUNBTElaRV9GSUxFX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElO SyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9FWFBMSUNJVF9C WkVSTyAxCnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PREFU IDEKfCAjZGVmaW5lIEhBVkVfTENITU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZp bmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9H RVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BJUEUy IDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0lTQkxBTksgMQp8ICNk ZWZpbmUgSEFWRV9JU1dDVFlQRSAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmlu ZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUgdmZv cmsgZm9yawp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZP X0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19fTkxfUEFQRVJfV0lEVEggMQp8ICNk ZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5l IE5VTExfREVWSUNFICJOVUw6Igp8ICNkZWZpbmUgU0VQQ0hBUiAnOycKfCAjZGVmaW5lIHN1YnBy b2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5l IERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgKChfY18pID09 ICc6JykKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gJy8nIHx8IChf Y18pID09ICdcXCcpCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAg KF9jXykgfHwgSVNfREVWSUNFX1NFUChfY18pKQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJ Q0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVf U1RBQ0tfT1ZFUkZMT1dfSEFORExJTkcgMQp8ICNkZWZpbmUgRE9TX05UIC8qKi8KfCAjZGVmaW5l IFdJTkRPV1NOVCAxCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgQ09QWVJJ R0hUICJDb3B5cmlnaHQgKEMpIDIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8 ICNkZWZpbmUgVEVSTV9IRUFERVIgInczMnRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VS QVRJT04gIng4Nl82NC13NjQtbWluZ3czMiIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05T ICItLXByZWZpeD0vaG9tZS9WV2luVXNlcjAvRG93bmxvYWRzL2VtYWNzL25hdGl2ZS1jb21wL2J1 aWx0IC0td2l0aC1uYXRpdmVjb21wIgp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQVRUUklCVVRFX0FM SUdORUQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9TVEFURU1FTlRf RVhQUkVTU0lPTlMgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgRE9VQkxFX1NM QVNIX0lTX0RJU1RJTkNUX1JPT1QgMQp8ICNkZWZpbmUgRlVOQ19SRUFMUEFUSF9XT1JLUyAxCnwg I2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAx CnwgI2RlZmluZSBMU1RBVF9GT0xMT1dTX1NMQVNIRURfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUg SEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1NRU0g MAp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgVElNRV9UX0lTX1NJR05F RCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFN RSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIE1BTExPQ18wX0lTX05PTk5VTEwgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9TVFJOTEVOIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVgg MQp8ICNkZWZpbmUgX1VTRV9TVERfU1RBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQ0xFQVJFUlJf VU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZFT0ZfVU5MT0NLRUQgMAp8ICNkZWZpbmUg SEFWRV9ERUNMX0ZFUlJPUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkZMVVNIX1VO TE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GR0VUU19VTkxPQ0tFRCAwCnwgI2RlZmluZSBI QVZFX0RFQ0xfRlBVVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZQVVRTX1VOTE9D S0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUkVBRF9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZF X0RFQ0xfRldSSVRFX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRDX1VOTE9DS0VE IDAKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRDSEFSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVf REVDTF9QVVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9QVVRDSEFSX1VOTE9DS0VE IDAKfCAjZGVmaW5lIEdFVEdST1VQU19UIGludAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVERUQUJM RVNJWkUgMAp8ICNkZWZpbmUgUFJPTU9URURfTU9ERV9UIGludAp8ICNkZWZpbmUgSEFWRV9TWVNf QUNMX0ggMQp8ICNkZWZpbmUgSEFWRV9BQ0xfR0VUX0ZJTEUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xf U0VUX0ZJTEUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfRlJFRSAxCnwgI2RlZmluZSBIQVZFX0FDTF9G Uk9NX1RFWFQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8YWNsL2xpYmFj bC5oPgpjb25maWd1cmU6MjY3NzE6IHJlc3VsdDogbm8KY29uZmlndXJlOjI2NzcxOiBjaGVja2lu ZyBmb3IgYWNsL2xpYmFjbC5oCmNvbmZpZ3VyZToyNjc3MTogcmVzdWx0OiBubwpjb25maWd1cmU6 MjY3OTE6IGNoZWNraW5nIGZvciBhY2xfZW50cmllcwpjb25maWd1cmU6MjY3OTE6IGdjYyAtSSAu Li9zcmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2Vu ZXJpYyAgICBjb25mdGVzdC5jICAgPiY1IApDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2dj Yy94ODZfNjQtdzY0LW1pbmd3MzIvMTAuMi4wLy4uLy4uLy4uLy4uL3g4Nl82NC13NjQtbWluZ3cz Mi9iaW4vbGQuZXhlOiBDOlxtc3lzNjRcdG1wXGNjaTNFSGIyLm86IGluIGZ1bmN0aW9uIGBtYWlu JzoKQzpcbXN5czY0XGhvbWVcVldpblVzZXIwXERvd25sb2Fkc1xlbWFjc1xuYXRpdmUtY29tcFxi dWlsZC9jb25mdGVzdC5jOjIzMzogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgYWNsX2VudHJpZXMn CmNvbGxlY3QyLmV4ZTogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJl OjI2NzkxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl ZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNL QUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8 ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFD S0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxf VVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FM TF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NP VVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VS Q0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1RE Q19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lF Q182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9F WFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNk ZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1RE Q19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNT X18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVO X1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdD Q19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFW RV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxM T0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdE X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0gg MQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAj ZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg VElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmlu ZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwgI2RlZmlu ZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUg VVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVm aW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0pT T04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZ IDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0g MQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmlu ZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwgI2RlZmluZSBIQVZFX1pMSUIg MQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1PRFVMRVNfU1VGRklYICIuZGxs Igp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAx CnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVmaW5lIE5BVElWRV9FTElTUF9TVUZG SVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNk ZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVf R0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5U IDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZp bmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBI QVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5l IEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhB VkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRT T0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0xP RzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX0FMSUdORURfQUxMT0MgMAp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRlJBTUVfQUREUkVT UyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZF X0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX1NCUksgMQp8ICNkZWZpbmUgSEFWRV9DQU5PTklDQUxJ WkVfRklMRV9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9S RUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRVhQTElDSVRfQlpFUk8gMQp8ICNkZWZpbmUgSEFW RV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0RBVCAxCnwgI2RlZmluZSBIQVZFX0xD SE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwg I2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVm aW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BT RUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfSVNXQ1RZUEUg MQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIHZmb3JrIGZvcmsKfCAjZGVmaW5lIEhB VkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5l IEhBVkVfTEFOR0lORk9fX05MX1BBUEVSX1dJRFRIIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9U IDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiTlVMOiIK fCAjZGVmaW5lIFNFUENIQVIgJzsnCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUg VVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8 ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pICgoX2NfKSA9PSAnOicpCnwgI2RlZmluZSBJU19E SVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09ICcvJyB8fCAoX2NfKSA9PSAnXFwnKQp8ICNkZWZp bmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pIHx8IElTX0RFVklDRV9T RVAoX2NfKSkKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVm aW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX1NUQUNLX09WRVJGTE9XX0hBTkRM SU5HIDEKfCAjZGVmaW5lIERPU19OVCAvKiovCnwgI2RlZmluZSBXSU5ET1dTTlQgMQp8ICNkZWZp bmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAy MDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVS ICJ3MzJ0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQtdzY0LW1p bmd3MzIiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9L2hvbWUvVldp blVzZXIwL0Rvd25sb2Fkcy9lbWFjcy9uYXRpdmUtY29tcC9idWlsdCAtLXdpdGgtbmF0aXZlY29t cCIKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FUVFJJQlVURV9BTElHTkVEIDEKfCAjZGVmaW5lIEhB VkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEVNRU5UX0VYUFJFU1NJT05TIDEKfCAjZGVm aW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09U IDEKfCAjZGVmaW5lIEZVTkNfUkVBTFBBVEhfV09SS1MgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19y ZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgTFNUQVRfRk9M TE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNk ZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19M T05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNTUVNIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9NRU1SQ0hSIDAKfCAjZGVmaW5lIFRJTUVfVF9JU19TSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9U Wk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBNQUxMT0NfMF9JU19O T05OVUxMIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RS TkxFTiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIF9VU0VfU1RE X1NUQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0NMRUFSRVJSX1VOTE9DS0VEIDAKfCAjZGVmaW5l IEhBVkVfREVDTF9GRU9GX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRVJST1JfVU5M T0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZGTFVTSF9VTkxPQ0tFRCAwCnwgI2RlZmluZSBI QVZFX0RFQ0xfRkdFVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZQVVRDX1VOTE9D S0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUU19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZF X0RFQ0xfRlJFQURfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZXUklURV9VTkxPQ0tF RCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfR0VUQ0hBUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVUQ19VTkxPQ0tFRCAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVUQ0hBUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBHRVRHUk9V UFNfVCBpbnQKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVREVEFCTEVTSVpFIDAKfCAjZGVmaW5lIFBS T01PVEVEX01PREVfVCBpbnQKfCAjZGVmaW5lIEhBVkVfU1lTX0FDTF9IIDEKfCAjZGVmaW5lIEhB VkVfQUNMX0dFVF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX1NFVF9GSUxFIDEKfCAjZGVmaW5l IEhBVkVfQUNMX0ZSRUUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfRlJPTV9URVhUIDEKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGFjbF9lbnRyaWVzIHRvIGFuIGlubm9jdW91cyB2 YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgYWNsX2VudHJpZXMuCnwgICAgRm9y IGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICov CnwgI2RlZmluZSBhY2xfZW50cmllcyBpbm5vY3VvdXNfYWNsX2VudHJpZXMKfCAKfCAvKiBTeXN0 ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3Rv dHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgYWNsX2VudHJpZXMgKCk7 IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19f IGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0 YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxs aW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3Vu ZGVmIGFjbF9lbnRyaWVzCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5 cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0 Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJn dW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3Bs dXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBhY2xfZW50cmllcyAoKTsKfCAvKiBUaGUg R05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1l bnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJl IGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUg bm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9hY2xfZW50 cmllcyB8fCBkZWZpbmVkIF9fc3R1Yl9fX2FjbF9lbnRyaWVzCnwgY2hva2UgbWUKfCAjZW5kaWYK fCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBhY2xfZW50cmllcyAoKTsKfCAgIDsKfCAg IHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI2NzkxOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNjgw NTogY2hlY2tpbmcgZm9yIEFDTF9GSVJTVF9FTlRSWQpjb25maWd1cmU6MjY4MjM6IGdjYyAtSSAu Li9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgY29uZnRl c3QuYyA+JjUKY29uZnRlc3QuYzoyMDE6MTI6IGVycm9yOiAnQUNMX0ZJUlNUX0VOVFJZJyB1bmRl Y2xhcmVkIGhlcmUgKG5vdCBpbiBhIGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuICdQU0xJU1RfRU5U UlknPwogIDIwMSB8IGludCB0eXBlID0gQUNMX0ZJUlNUX0VOVFJZOwogICAgICB8ICAgICAgICAg ICAgXn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICBQU0xJU1RfRU5UUlkKY29uZmln dXJlOjI2ODIzOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQ QUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUw Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUg UEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tB R0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1B SUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFE RVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx CnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAj ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm aW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUg X0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05V X1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9T T1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9f U1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5U X0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RG UF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8 ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9f U1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZV TkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hP UEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5l IEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUg SEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9N QUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVf UFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFN X0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEK fCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZp bmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2Rl ZmluZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwgI2Rl ZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZp bmUgVVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEKfCAj ZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZF X0pTT04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9U SUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9Y SU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2Rl ZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwgI2RlZmluZSBIQVZFX1pM SUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1PRFVMRVNfU1VGRklYICIu ZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVRf SCAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVmaW5lIE5BVElWRV9FTElTUF9T VUZGSVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8 ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhB VkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9S SU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNk ZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2Rl ZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmlu ZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVm aW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5l IEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9H RVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZF X0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX0FMSUdORURfQUxMT0MgMAp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRlJBTUVfQURE UkVTUyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBI QVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX1NCUksgMQp8ICNkZWZpbmUgSEFWRV9DQU5PTklD QUxJWkVfRklMRV9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFW RV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRVhQTElDSVRfQlpFUk8gMQp8ICNkZWZpbmUg SEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0RBVCAxCnwgI2RlZmluZSBIQVZF X0xDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAx CnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAj ZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZF X1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfSVNXQ1RZ UEUgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEK fCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIHZmb3JrIGZvcmsKfCAjZGVmaW5l IEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVm aW5lIEhBVkVfTEFOR0lORk9fX05MX1BBUEVSX1dJRFRIIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFU RV9UIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiTlVM OiIKfCAjZGVmaW5lIFNFUENIQVIgJzsnCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZp bmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcv Jwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pICgoX2NfKSA9PSAnOicpCnwgI2RlZmluZSBJ U19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09ICcvJyB8fCAoX2NfKSA9PSAnXFwnKQp8ICNk ZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pIHx8IElTX0RFVklD RV9TRVAoX2NfKSkKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAj ZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX1NUQUNLX09WRVJGTE9XX0hB TkRMSU5HIDEKfCAjZGVmaW5lIERPU19OVCAvKiovCnwgI2RlZmluZSBXSU5ET1dTTlQgMQp8ICNk ZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChD KSAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVB REVSICJ3MzJ0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQtdzY0 LW1pbmd3MzIiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9L2hvbWUv VldpblVzZXIwL0Rvd25sb2Fkcy9lbWFjcy9uYXRpdmUtY29tcC9idWlsdCAtLXdpdGgtbmF0aXZl Y29tcCIKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FUVFJJQlVURV9BTElHTkVEIDEKfCAjZGVmaW5l IEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEVNRU5UX0VYUFJFU1NJT05TIDEKfCAj ZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9S T09UIDEKfCAjZGVmaW5lIEZVTkNfUkVBTFBBVEhfV09SS1MgMQp8ICNkZWZpbmUgcmVzdHJpY3Qg X19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgTFNUQVRf Rk9MTE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8 ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9O R19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNTUVNIDAKfCAjZGVmaW5lIEhBVkVf REVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIFRJTUVfVF9JU19TSUdORUQgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFW RV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBNQUxMT0NfMF9J U19OT05OVUxMIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf U1RSTkxFTiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIF9VU0Vf U1REX1NUQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0NMRUFSRVJSX1VOTE9DS0VEIDAKfCAjZGVm aW5lIEhBVkVfREVDTF9GRU9GX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRVJST1Jf VU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZGTFVTSF9VTkxPQ0tFRCAwCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfRkdFVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZQVVRDX1VO TE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUU19VTkxPQ0tFRCAwCnwgI2RlZmluZSBI QVZFX0RFQ0xfRlJFQURfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZXUklURV9VTkxP Q0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZF X0RFQ0xfR0VUQ0hBUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVUQ19VTkxPQ0tF RCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVUQ0hBUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBHRVRH Uk9VUFNfVCBpbnQKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVREVEFCTEVTSVpFIDAKfCAjZGVmaW5l IFBST01PVEVEX01PREVfVCBpbnQKfCAjZGVmaW5lIEhBVkVfU1lTX0FDTF9IIDEKfCAjZGVmaW5l IEhBVkVfQUNMX0dFVF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX1NFVF9GSUxFIDEKfCAjZGVm aW5lIEhBVkVfQUNMX0ZSRUUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfRlJPTV9URVhUIDEKfCAvKiBl bmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNpbmNsdWRlIDxz eXMvYWNsLmg+CnwgaW50IHR5cGUgPSBBQ0xfRklSU1RfRU5UUlk7CnwgaW50CnwgbWFpbiAoKQp8 IHsKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI2ODMwOiByZXN1bHQ6IG5v CmNvbmZpZ3VyZToyNjgzNzogY2hlY2tpbmcgZm9yIEFDTF9UWVBFX0VYVEVOREVECmNvbmZpZ3Vy ZToyNjg1NTogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5l PWdlbmVyaWMgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjIwMToxMjogZXJyb3I6ICdBQ0xf VFlQRV9FWFRFTkRFRCcgdW5kZWNsYXJlZCBoZXJlIChub3QgaW4gYSBmdW5jdGlvbikKICAyMDEg fCBpbnQgdHlwZSA9IEFDTF9UWVBFX0VYVEVOREVEOwogICAgICB8ICAgICAgICAgICAgXn5+fn5+ fn5+fn5+fn5+fn4KY29uZmlndXJlOjI2ODU1OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUg RW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAy OC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9y ZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2Vt YWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJ T05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJD RSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwg I2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5U SUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAj ZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1 NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VY VF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNk ZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VU X0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5k b3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQg MQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9I IDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZF X0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VU UEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhS RUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRM UyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNk ZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJT IDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmlu ZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAx CnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5l IE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZp bmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVm aW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2Rl ZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJY TUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00g MQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUg SEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZF X1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VU SVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00g MQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJP UiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVf TlAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURfQUxMT0MgMAp8ICNkZWZpbmUgSEFWRV9f X0JVSUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRf SU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX1NCUksgMQp8ICNk ZWZpbmUgSEFWRV9DQU5PTklDQUxJWkVfRklMRV9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJ TksgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRVhQTElDSVRf QlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0RB VCAxCnwgI2RlZmluZSBIQVZFX0xDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVm aW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVf R0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QSVBF MiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAj ZGVmaW5lIEhBVkVfSVNXQ1RZUEUgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZp bmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIHZm b3JrIGZvcmsKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5G T19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fX05MX1BBUEVSX1dJRFRIIDEKfCAj ZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmlu ZSBOVUxMX0RFVklDRSAiTlVMOiIKfCAjZGVmaW5lIFNFUENIQVIgJzsnCnwgI2RlZmluZSBzdWJw cm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmlu ZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pICgoX2NfKSA9 PSAnOicpCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09ICcvJyB8fCAo X2NfKSA9PSAnXFwnKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQ IChfY18pIHx8IElTX0RFVklDRV9TRVAoX2NfKSkKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVW SUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZF X1NUQUNLX09WRVJGTE9XX0hBTkRMSU5HIDEKfCAjZGVmaW5lIERPU19OVCAvKiovCnwgI2RlZmlu ZSBXSU5ET1dTTlQgMQp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIENPUFlS SUdIVCAiQ29weXJpZ2h0IChDKSAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIK fCAjZGVmaW5lIFRFUk1fSEVBREVSICJ3MzJ0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdV UkFUSU9OICJ4ODZfNjQtdzY0LW1pbmd3MzIiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9O UyAiLS1wcmVmaXg9L2hvbWUvVldpblVzZXIwL0Rvd25sb2Fkcy9lbWFjcy9uYXRpdmUtY29tcC9i dWlsdCAtLXdpdGgtbmF0aXZlY29tcCIKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FUVFJJQlVURV9B TElHTkVEIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEVNRU5U X0VYUFJFU1NJT05TIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIERPVUJMRV9T TEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEZVTkNfUkVBTFBBVEhfV09SS1MgMQp8 ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wg MQp8ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5l IEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNTUVN IDAKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIFRJTUVfVF9JU19TSUdO RUQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5B TUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBNQUxMT0NfMF9JU19OT05OVUxMIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfU1RSTkxFTiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFY IDEKfCAjZGVmaW5lIF9VU0VfU1REX1NUQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0NMRUFSRVJS X1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRU9GX1VOTE9DS0VEIDAKfCAjZGVmaW5l IEhBVkVfREVDTF9GRVJST1JfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZGTFVTSF9V TkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkdFVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUg SEFWRV9ERUNMX0ZQVVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUU19VTkxP Q0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlJFQURfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFW RV9ERUNMX0ZXUklURV9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VUQ19VTkxPQ0tF RCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VUQ0hBUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZF X0RFQ0xfUFVUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVUQ0hBUl9VTkxPQ0tF RCAwCnwgI2RlZmluZSBHRVRHUk9VUFNfVCBpbnQKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVREVEFC TEVTSVpFIDAKfCAjZGVmaW5lIFBST01PVEVEX01PREVfVCBpbnQKfCAjZGVmaW5lIEhBVkVfU1lT X0FDTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0dFVF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNM X1NFVF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0ZSRUUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xf RlJPTV9URVhUIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBl cy5oPgp8ICNpbmNsdWRlIDxzeXMvYWNsLmg+CnwgaW50IHR5cGUgPSBBQ0xfVFlQRV9FWFRFTkRF RDsKfCBpbnQKfCBtYWluICgpCnwgewp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1 cmU6MjY4NjI6IHJlc3VsdDogbm8KY29uZmlndXJlOjI3MTI0OiBjaGVja2luZyBmb3IgX19idWls dGluX2V4cGVjdApjb25maWd1cmU6MjcxMzk6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0 ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgICBjb25mdGVzdC5jICAg PiY1IApjb25maWd1cmU6MjcxMzk6ICQ/ID0gMApjb25maWd1cmU6MjcxNjQ6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToyNzE3ODogY2hlY2tpbmcgYnl0ZXN3YXAuaCB1c2FiaWxpdHkKY29uZmlndXJl OjI3MTc4OiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9 Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6MjM0OjEwOiBmYXRhbCBlcnJvcjog Ynl0ZXN3YXAuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogIDIzNCB8ICNpbmNsdWRlIDxi eXRlc3dhcC5oPgogICAgICB8ICAgICAgICAgIF5+fn5+fn5+fn5+fgpjb21waWxhdGlvbiB0ZXJt aW5hdGVkLgpjb25maWd1cmU6MjcxNzg6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFj cyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZF UlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAu NTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8 ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3Mv Igp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNf XyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEK fCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAjZGVm aW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1Mg MQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZp bmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FO VF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9G VU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18g MQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FO VF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmlu ZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklU UyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRvd3Mt bnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwg I2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8 ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhB VkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU QVRfSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNf V0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1B R0VfQVBJIDEKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdF U0laRSAxCnwgI2RlZmluZSBVU0VfTU1BUF9GT1JfQlVGRkVSUyAxCnwgI2RlZmluZSBUSFJFQURT X0VOQUJMRUQgMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEK fCAjZGVmaW5lIEhBVkVfSlNPTiAxCnwgI2RlZmluZSBIQVZFX1czMk5PVElGWSAxCnwgI2RlZmlu ZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8 ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0hBUkZCVVpaIDEKfCAjZGVmaW5lIEhB VkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0xDTVMyIDEKfCAj ZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX01PRFVMRVMgMQp8ICNkZWZpbmUgTU9E VUxFU19TVUZGSVggIi5kbGwiCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVCAxCnwgI2RlZmluZSBI QVZFX0xJQkdDQ0pJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0NPTVAgMQp8ICNkZWZpbmUg TkFUSVZFX0VMSVNQX1NVRkZJWCAiLmVsbiIKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5l IEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIg MQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwg I2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9UUlVOQyAxCnwgI2RlZmluZSBIQVZF X1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VU TE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJ TUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJ R01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElN RVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwg I2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEK fCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxJR05FRF9BTExPQyAwCnwgI2RlZmluZSBIQVZFX19fQlVJ TFRJTl9GUkFNRV9BRERSRVNTIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklU IDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfU0JSSyAxCnwgI2RlZmlu ZSBIQVZFX0NBTk9OSUNBTElaRV9GSUxFX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAx CnwgI2RlZmluZSBIQVZFX1JFQURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9FWFBMSUNJVF9CWkVS TyAxCnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PREFUIDEK fCAjZGVmaW5lIEhBVkVfTENITU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUg SEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRU SU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BJUEUyIDEK fCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZp bmUgSEFWRV9JU1dDVFlQRSAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBI QVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUgdmZvcmsg Zm9yawp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NP REVTRVQgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19fTkxfUEFQRVJfV0lEVEggMQp8ICNkZWZp bmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5V TExfREVWSUNFICJOVUw6Igp8ICNkZWZpbmUgU0VQQ0hBUiAnOycKfCAjZGVmaW5lIHN1YnByb2Nl c3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJ UkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgKChfY18pID09ICc6 JykKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gJy8nIHx8IChfY18p ID09ICdcXCcpCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9j XykgfHwgSVNfREVWSUNFX1NFUChfY18pKQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0Ug Ii9kZXYvZHNwIgp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfU1RB Q0tfT1ZFUkZMT1dfSEFORExJTkcgMQp8ICNkZWZpbmUgRE9TX05UIC8qKi8KfCAjZGVmaW5lIFdJ TkRPV1NOVCAxCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgQ09QWVJJR0hU ICJDb3B5cmlnaHQgKEMpIDIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNk ZWZpbmUgVEVSTV9IRUFERVIgInczMnRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJ T04gIng4Nl82NC13NjQtbWluZ3czMiIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICIt LXByZWZpeD0vaG9tZS9WV2luVXNlcjAvRG93bmxvYWRzL2VtYWNzL25hdGl2ZS1jb21wL2J1aWx0 IC0td2l0aC1uYXRpdmVjb21wIgp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQVRUUklCVVRFX0FMSUdO RUQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9TVEFURU1FTlRfRVhQ UkVTU0lPTlMgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgRE9VQkxFX1NMQVNI X0lTX0RJU1RJTkNUX1JPT1QgMQp8ICNkZWZpbmUgRlVOQ19SRUFMUEFUSF9XT1JLUyAxCnwgI2Rl ZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwg I2RlZmluZSBMU1RBVF9GT0xMT1dTX1NMQVNIRURfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfU1RSTU9ERSAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFW RV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1NRU0gMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgVElNRV9UX0lTX1NJR05FRCAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAx CnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIE1BTExPQ18wX0lTX05PTk5VTEwgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9TVFJOTEVOIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8 ICNkZWZpbmUgX1VTRV9TVERfU1RBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQ0xFQVJFUlJfVU5M T0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZFT0ZfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFW RV9ERUNMX0ZFUlJPUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkZMVVNIX1VOTE9D S0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GR0VUU19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZF X0RFQ0xfRlBVVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZQVVRTX1VOTE9DS0VE IDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUkVBRF9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfRldSSVRFX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRDX1VOTE9DS0VEIDAK fCAjZGVmaW5lIEhBVkVfREVDTF9HRVRDSEFSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9QVVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9QVVRDSEFSX1VOTE9DS0VEIDAK fCAjZGVmaW5lIEdFVEdST1VQU19UIGludAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVERUQUJMRVNJ WkUgMAp8ICNkZWZpbmUgUFJPTU9URURfTU9ERV9UIGludAp8ICNkZWZpbmUgSEFWRV9TWVNfQUNM X0ggMQp8ICNkZWZpbmUgSEFWRV9BQ0xfR0VUX0ZJTEUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfU0VU X0ZJTEUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfRlJFRSAxCnwgI2RlZmluZSBIQVZFX0FDTF9GUk9N X1RFWFQgMQp8ICNkZWZpbmUgVVNFX0FDTCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9FWFBF Q1QgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZk ZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwg I2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYK fCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUg PHN0ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8 c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwgIyBp ZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5j bHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5k aWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlm CnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8 ICNpbmNsdWRlIDxieXRlc3dhcC5oPgpjb25maWd1cmU6MjcxNzg6IHJlc3VsdDogbm8KY29uZmln dXJlOjI3MTc4OiBjaGVja2luZyBieXRlc3dhcC5oIHByZXNlbmNlCmNvbmZpZ3VyZToyNzE3ODog Z2NjIC1JIC4uL3NyYy9udC9pbmMgLUUgLW10dW5lPWdlbmVyaWMgICBjb25mdGVzdC5jCmNvbmZ0 ZXN0LmM6MjAxOjEwOiBmYXRhbCBlcnJvcjogYnl0ZXN3YXAuaDogTm8gc3VjaCBmaWxlIG9yIGRp cmVjdG9yeQogIDIwMSB8ICNpbmNsdWRlIDxieXRlc3dhcC5oPgogICAgICB8ICAgICAgICAgIF5+ fn5+fn5+fn5+fgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MjcxNzg6ICQ/ID0g MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi ZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNL QUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8v d3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAj ZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVf TUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwg I2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVm aW5lIF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmlu ZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYw NTU5X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9F WFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVm aW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENf V0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VY VDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmlu ZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAx CnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNk ZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0gg MQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBI QVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9X Q0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lT X1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTlRHVUkg MQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVmaW5lIFNZU1RFTV9NQUxM T0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBVU0VfTU1BUF9GT1Jf QlVGRkVSUyAxCnwgI2RlZmluZSBUSFJFQURTX0VOQUJMRUQgMQp8ICNkZWZpbmUgSEFWRV9SU1ZH IDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfSlNPTiAxCnwgI2RlZmlu ZSBIQVZFX1czMk5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUg VVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBI QVZFX0hBUkZCVVpaIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAx CnwgI2RlZmluZSBIQVZFX0xDTVMyIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBI QVZFX01PRFVMRVMgMQp8ICNkZWZpbmUgTU9EVUxFU19TVUZGSVggIi5kbGwiCnwgI2RlZmluZSBI QVZFX0xJQkdDQ0pJVCAxCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVF9IIDEKfCAjZGVmaW5lIEhB VkVfTkFUSVZFX0NPTVAgMQp8ICNkZWZpbmUgTkFUSVZFX0VMSVNQX1NVRkZJWCAiLmVsbiIKfCAj ZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJ RiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAx CnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUg SEFWRV9UUlVOQyAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBB R0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJ TUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04g MQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdO QUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8 ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAj ZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmlu ZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxJR05FRF9B TExPQyAwCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9GUkFNRV9BRERSRVNTIDEKfCAjZGVmaW5l IEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAj ZGVmaW5lIEhBVkVfU0JSSyAxCnwgI2RlZmluZSBIQVZFX0NBTk9OSUNBTElaRV9GSUxFX05BTUUg MQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LQVQgMQp8 ICNkZWZpbmUgSEFWRV9FWFBMSUNJVF9CWkVSTyAxCnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAx CnwgI2RlZmluZSBIQVZFX0ZDSE1PREFUIDEKfCAjZGVmaW5lIEhBVkVfTENITU9EIDEKfCAjZGVm aW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVf RlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RB VCAxCnwgI2RlZmluZSBIQVZFX1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2Rl ZmluZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9JU1dDVFlQRSAxCnwgI2RlZmluZSBI QVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9V VElNRU5TQVQgMQp8ICNkZWZpbmUgdmZvcmsgZm9yawp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAx CnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5G T19fTkxfUEFQRVJfV0lEVEggMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUg SEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICJOVUw6Igp8ICNkZWZpbmUgU0VQ Q0hBUiAnOycKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFN RSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19E RVZJQ0VfU0VQKF9jXykgKChfY18pID09ICc6JykKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAo X2NfKSAoKF9jXykgPT0gJy8nIHx8IChfY18pID09ICdcXCcpCnwgI2RlZmluZSBJU19BTllfU0VQ KF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykgfHwgSVNfREVWSUNFX1NFUChfY18pKQp8ICNk ZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgR0NfU0VUSk1Q X1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfU1RBQ0tfT1ZFUkZMT1dfSEFORExJTkcgMQp8ICNkZWZp bmUgRE9TX05UIC8qKi8KfCAjZGVmaW5lIFdJTkRPV1NOVCAxCnwgI2RlZmluZSBVU0FCTEVfRklP TlJFQUQgMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMjAgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInczMnRlcm0uaCIK fCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gIng4Nl82NC13NjQtbWluZ3czMiIKfCAjZGVm aW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZpeD0vaG9tZS9WV2luVXNlcjAvRG93bmxv YWRzL2VtYWNzL25hdGl2ZS1jb21wL2J1aWx0IC0td2l0aC1uYXRpdmVjb21wIgp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfQVRUUklCVVRFX0FMSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8 ICNkZWZpbmUgSEFWRV9TVEFURU1FTlRfRVhQUkVTU0lPTlMgMQp8ICNkZWZpbmUgSEFWRV9BTExP Q0EgMQp8ICNkZWZpbmUgRE9VQkxFX1NMQVNIX0lTX0RJU1RJTkNUX1JPT1QgMQp8ICNkZWZpbmUg RlVOQ19SRUFMUEFUSF9XT1JLUyAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2Rl ZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBMU1RBVF9GT0xMT1dTX1NMQVNIRURf U1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBIQVZFX0xP TkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9NRU1NRU0gMAp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8 ICNkZWZpbmUgVElNRV9UX0lTX1NJR05FRCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIE1BTExPQ18wX0lTX05PTk5VTEwgMQp8ICNk ZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJOTEVOIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgX1VTRV9TVERfU1RBVCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfQ0xFQVJFUlJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZF T0ZfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZFUlJPUl9VTkxPQ0tFRCAwCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfRkZMVVNIX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GR0VU U19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlBVVENfVU5MT0NLRUQgMAp8ICNkZWZp bmUgSEFWRV9ERUNMX0ZQVVRTX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUkVBRF9V TkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRldSSVRFX1VOTE9DS0VEIDAKfCAjZGVmaW5l IEhBVkVfREVDTF9HRVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRDSEFSX1VO TE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9QVVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhB VkVfREVDTF9QVVRDSEFSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEdFVEdST1VQU19UIGludAp8ICNk ZWZpbmUgSEFWRV9ERUNMX0dFVERUQUJMRVNJWkUgMAp8ICNkZWZpbmUgUFJPTU9URURfTU9ERV9U IGludAp8ICNkZWZpbmUgSEFWRV9TWVNfQUNMX0ggMQp8ICNkZWZpbmUgSEFWRV9BQ0xfR0VUX0ZJ TEUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfU0VUX0ZJTEUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfRlJF RSAxCnwgI2RlZmluZSBIQVZFX0FDTF9GUk9NX1RFWFQgMQp8ICNkZWZpbmUgVVNFX0FDTCAxCnwg I2RlZmluZSBIQVZFX19fQlVJTFRJTl9FWFBFQ1QgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAjaW5jbHVkZSA8Ynl0ZXN3YXAuaD4KY29uZmlndXJlOjI3MTc4OiByZXN1bHQ6IG5vCmNvbmZp Z3VyZToyNzE3ODogY2hlY2tpbmcgZm9yIGJ5dGVzd2FwLmgKY29uZmlndXJlOjI3MTc4OiByZXN1 bHQ6IG5vCmNvbmZpZ3VyZToyNzI3NzogY2hlY2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyBj bG9ja19nZXR0aW1lCmNvbmZpZ3VyZToyNzMyNTogcmVzdWx0OiBub25lIHJlcXVpcmVkCmNvbmZp Z3VyZToyNzMzNzogY2hlY2tpbmcgZm9yIGNsb2NrX2dldHRpbWUKY29uZmlndXJlOjI3MzM3OiBy ZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNzMzNzogY2hlY2tpbmcgZm9yIGNsb2NrX3NldHRpbWUKY29u ZmlndXJlOjI3MzM3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNzM2MDogY2hlY2tpbmcgZm9yIGNv cHlfZmlsZV9yYW5nZQpjb25maWd1cmU6MjczOTA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToyNzQ0 NDogY2hlY2tpbmcgZm9yIGRfdHlwZSBtZW1iZXIgaW4gZGlyZWN0b3J5IHN0cnVjdApjb25maWd1 cmU6Mjc0NjM6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1n ZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgICBjb25mdGVzdC5jICAgPiY1IApjb25mdGVzdC5jOiBJ biBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjEwOjIxOiBlcnJvcjogJ3N0cnVjdCBkaXJl bnQnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ2RfdHlwZScKICAyMTAgfCBzdHJ1Y3QgZGlyZW50IGRw OyBkcC5kX3R5cGUgPSAwOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgXgpjb25maWd1cmU6 Mjc0NjM6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVm cy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNL QUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9V UkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9V U0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj ZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxM X1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09V UkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJD RSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVD XzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VY VF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2Rl ZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1Nf XyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5f U09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0ND X0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBIQVZF X01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX01BTExP Q19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0Rf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAx CnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNk ZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBU SU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5l IEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVmaW5l IFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBV U0VfTU1BUF9GT1JfQlVGRkVSUyAxCnwgI2RlZmluZSBUSFJFQURTX0VOQUJMRUQgMQp8ICNkZWZp bmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfSlNP TiAxCnwgI2RlZmluZSBIQVZFX1czMk5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkg MQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAx CnwgI2RlZmluZSBIQVZFX0hBUkZCVVpaIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5l IEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0xDTVMyIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAx CnwgI2RlZmluZSBIQVZFX01PRFVMRVMgMQp8ICNkZWZpbmUgTU9EVUxFU19TVUZGSVggIi5kbGwi CnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVCAxCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVF9IIDEK fCAjZGVmaW5lIEhBVkVfTkFUSVZFX0NPTVAgMQp8ICNkZWZpbmUgTkFUSVZFX0VMSVNQX1NVRkZJ WCAiLmVsbiIKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2Rl ZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9H RVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQg MQp8ICNkZWZpbmUgSEFWRV9UUlVOQyAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5l IEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhB VkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUg SEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFW RV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNP Q0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTE9H MiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfQUxJR05FRF9BTExPQyAwCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9GUkFNRV9BRERSRVNT IDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVf RlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfU0JSSyAxCnwgI2RlZmluZSBIQVZFX0NBTk9OSUNBTEla RV9GSUxFX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1JF QURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9FWFBMSUNJVF9CWkVSTyAxCnwgI2RlZmluZSBIQVZF X0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PREFUIDEKfCAjZGVmaW5lIEhBVkVfTENI TU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAj ZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZp bmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVfUFNF TEVDVCAxCnwgI2RlZmluZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9JU1dDVFlQRSAx CnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNk ZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUgdmZvcmsgZm9yawp8ICNkZWZpbmUgSEFW RV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUg SEFWRV9MQU5HSU5GT19fTkxfUEFQRVJfV0lEVEggMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1Qg MQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICJOVUw6Igp8 ICNkZWZpbmUgU0VQQ0hBUiAnOycKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBV U0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwg I2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgKChfY18pID09ICc6JykKfCAjZGVmaW5lIElTX0RJ UkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gJy8nIHx8IChfY18pID09ICdcXCcpCnwgI2RlZmlu ZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykgfHwgSVNfREVWSUNFX1NF UChfY18pKQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZp bmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfU1RBQ0tfT1ZFUkZMT1dfSEFORExJ TkcgMQp8ICNkZWZpbmUgRE9TX05UIC8qKi8KfCAjZGVmaW5lIFdJTkRPV1NOVCAxCnwgI2RlZmlu ZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIw MjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIg InczMnRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gIng4Nl82NC13NjQtbWlu Z3czMiIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZpeD0vaG9tZS9WV2lu VXNlcjAvRG93bmxvYWRzL2VtYWNzL25hdGl2ZS1jb21wL2J1aWx0IC0td2l0aC1uYXRpdmVjb21w Igp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQVRUUklCVVRFX0FMSUdORUQgMQp8ICNkZWZpbmUgSEFW RV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9TVEFURU1FTlRfRVhQUkVTU0lPTlMgMQp8ICNkZWZp bmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgRE9VQkxFX1NMQVNIX0lTX0RJU1RJTkNUX1JPT1Qg MQp8ICNkZWZpbmUgRlVOQ19SRUFMUEFUSF9XT1JLUyAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jl c3RyaWN0CnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBMU1RBVF9GT0xM T1dTX1NMQVNIRURfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2Rl ZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xP TkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1NRU0gMAp8ICNkZWZpbmUgSEFWRV9ERUNM X01FTVJDSFIgMAp8ICNkZWZpbmUgVElNRV9UX0lTX1NJR05FRCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1Ra TkFNRSAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIE1BTExPQ18wX0lTX05P Tk5VTEwgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJO TEVOIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgX1VTRV9TVERf U1RBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQ0xFQVJFUlJfVU5MT0NLRUQgMAp8ICNkZWZpbmUg SEFWRV9ERUNMX0ZFT0ZfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZFUlJPUl9VTkxP Q0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkZMVVNIX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhB VkVfREVDTF9GR0VUU19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlBVVENfVU5MT0NL RUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZQVVRTX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVf REVDTF9GUkVBRF9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRldSSVRFX1VOTE9DS0VE IDAKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9HRVRDSEFSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9QVVRDX1VOTE9DS0VEIDAK fCAjZGVmaW5lIEhBVkVfREVDTF9QVVRDSEFSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEdFVEdST1VQ U19UIGludAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVERUQUJMRVNJWkUgMAp8ICNkZWZpbmUgUFJP TU9URURfTU9ERV9UIGludAp8ICNkZWZpbmUgSEFWRV9TWVNfQUNMX0ggMQp8ICNkZWZpbmUgSEFW RV9BQ0xfR0VUX0ZJTEUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfU0VUX0ZJTEUgMQp8ICNkZWZpbmUg SEFWRV9BQ0xfRlJFRSAxCnwgI2RlZmluZSBIQVZFX0FDTF9GUk9NX1RFWFQgMQp8ICNkZWZpbmUg VVNFX0FDTCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9FWFBFQ1QgMQp8ICNkZWZpbmUgR05V TElCX0NBTk9OSUNBTElaRV9MR1BMIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8 IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2lu Y2x1ZGUgPGRpcmVudC5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3RydWN0IGRpcmVudCBk cDsgZHAuZF90eXBlID0gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI3NDcz OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyNzU3NDogY2hlY2tpbmcgd2hldGhlciAvLyBpcyBkaXN0 aW5jdCBmcm9tIC8KY29uZmlndXJlOjI3NjAzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6Mjc2MTQ6 IGNoZWNraW5nIHdoZXRoZXIgZHVwMiB3b3Jrcwpjb25maWd1cmU6Mjc3MTY6IHJlc3VsdDogeWVz CmNvbmZpZ3VyZToyNzk3NTogY2hlY2tpbmcgd2hldGhlciBmY2htb2RhdCtBVF9TWU1MSU5LX05P Rk9MTE9XIHdvcmtzIG9uIG5vbi1zeW1saW5rcwpjb25maWd1cmU6MjgwNDI6IHJlc3VsdDogbm90 LW5lZWRlZC1zby15ZXMKY29uZmlndXJlOjI4MDk4OiBjaGVja2luZyB3aGV0aGVyIGZjbnRsIGhh bmRsZXMgRl9EVVBGRCBjb3JyZWN0bHkKY29uZmlndXJlOjI4MTcwOiByZXN1bHQ6IHllcwpjb25m aWd1cmU6MjgxODg6IGNoZWNraW5nIHdoZXRoZXIgZmNudGwgdW5kZXJzdGFuZHMgRl9EVVBGRF9D TE9FWEVDCmNvbmZpZ3VyZToyODIzODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI4MzYzOiBjaGVj a2luZyB3aGV0aGVyIGZkb3BlbmRpciBpcyBkZWNsYXJlZApjb25maWd1cmU6MjgzNjM6IGdjYyAt SSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgY29u ZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjIx NjoxMDogZXJyb3I6ICdmZG9wZW5kaXInIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKTsgZGlkIHlvdSBtZWFuICdvcGVuZGlyJz8KICAyMTYgfCAgICh2b2lkKSBmZG9wZW5k aXI7CiAgICAgIHwgICAgICAgICAgXn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgb3BlbmRpcgpj b25mdGVzdC5jOjIxNjoxMDogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVw b3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KY29uZmlndXJl OjI4MzYzOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl ZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNL QUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8 ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFD S0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxf VVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FM TF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NP VVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VS Q0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1RE Q19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lF Q182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9F WFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNk ZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1RE Q19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNT X18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVO X1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdD Q19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFW RV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxM T0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdE X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0gg MQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAj ZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg VElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmlu ZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwgI2RlZmlu ZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUg VVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVm aW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0pT T04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZ IDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0g MQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmlu ZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwgI2RlZmluZSBIQVZFX1pMSUIg MQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1PRFVMRVNfU1VGRklYICIuZGxs Igp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAx CnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVmaW5lIE5BVElWRV9FTElTUF9TVUZG SVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNk ZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVf R0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5U IDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZp bmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBI QVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5l IEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhB VkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRT T0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0xP RzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX0FMSUdORURfQUxMT0MgMAp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRlJBTUVfQUREUkVT UyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZF X0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX1NCUksgMQp8ICNkZWZpbmUgSEFWRV9DQU5PTklDQUxJ WkVfRklMRV9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9S RUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRVhQTElDSVRfQlpFUk8gMQp8ICNkZWZpbmUgSEFW RV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0RBVCAxCnwgI2RlZmluZSBIQVZFX0xD SE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwg I2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVm aW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BT RUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfSVNXQ1RZUEUg MQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIHZmb3JrIGZvcmsKfCAjZGVmaW5lIEhB VkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5l IEhBVkVfTEFOR0lORk9fX05MX1BBUEVSX1dJRFRIIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9U IDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiTlVMOiIK fCAjZGVmaW5lIFNFUENIQVIgJzsnCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUg VVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8 ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pICgoX2NfKSA9PSAnOicpCnwgI2RlZmluZSBJU19E SVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09ICcvJyB8fCAoX2NfKSA9PSAnXFwnKQp8ICNkZWZp bmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pIHx8IElTX0RFVklDRV9T RVAoX2NfKSkKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVm aW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX1NUQUNLX09WRVJGTE9XX0hBTkRM SU5HIDEKfCAjZGVmaW5lIERPU19OVCAvKiovCnwgI2RlZmluZSBXSU5ET1dTTlQgMQp8ICNkZWZp bmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAy MDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVS ICJ3MzJ0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQtdzY0LW1p bmd3MzIiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9L2hvbWUvVldp blVzZXIwL0Rvd25sb2Fkcy9lbWFjcy9uYXRpdmUtY29tcC9idWlsdCAtLXdpdGgtbmF0aXZlY29t cCIKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FUVFJJQlVURV9BTElHTkVEIDEKfCAjZGVmaW5lIEhB VkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEVNRU5UX0VYUFJFU1NJT05TIDEKfCAjZGVm aW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09U IDEKfCAjZGVmaW5lIEZVTkNfUkVBTFBBVEhfV09SS1MgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19y ZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgTFNUQVRfRk9M TE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNk ZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19M T05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNTUVNIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9NRU1SQ0hSIDAKfCAjZGVmaW5lIFRJTUVfVF9JU19TSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9U Wk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBNQUxMT0NfMF9JU19O T05OVUxMIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RS TkxFTiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIF9VU0VfU1RE X1NUQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0NMRUFSRVJSX1VOTE9DS0VEIDAKfCAjZGVmaW5l IEhBVkVfREVDTF9GRU9GX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRVJST1JfVU5M T0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZGTFVTSF9VTkxPQ0tFRCAwCnwgI2RlZmluZSBI QVZFX0RFQ0xfRkdFVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZQVVRDX1VOTE9D S0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUU19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZF X0RFQ0xfRlJFQURfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZXUklURV9VTkxPQ0tF RCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfR0VUQ0hBUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVUQ19VTkxPQ0tFRCAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVUQ0hBUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBHRVRHUk9V UFNfVCBpbnQKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVREVEFCTEVTSVpFIDAKfCAjZGVmaW5lIFBS T01PVEVEX01PREVfVCBpbnQKfCAjZGVmaW5lIEhBVkVfU1lTX0FDTF9IIDEKfCAjZGVmaW5lIEhB VkVfQUNMX0dFVF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX1NFVF9GSUxFIDEKfCAjZGVmaW5l IEhBVkVfQUNMX0ZSRUUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfRlJPTV9URVhUIDEKfCAjZGVmaW5l IFVTRV9BQ0wgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRVhQRUNUIDEKfCAjZGVmaW5lIEdO VUxJQl9DQU5PTklDQUxJWkVfTEdQTCAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEK fCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEdOVUxJ Ql9GQUNDRVNTQVQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAjaW5jbHVkZSA8ZGly ZW50Lmg+CnwgCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCAjaWZuZGVmIGZkb3BlbmRpcgp8ICNp ZmRlZiBfX2NwbHVzcGx1cwp8ICAgKHZvaWQpIGZkb3BlbmRpcjsKfCAjZWxzZQp8ICAgKHZvaWQp IGZkb3BlbmRpcjsKfCAjZW5kaWYKfCAjZW5kaWYKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0K Y29uZmlndXJlOjI4MzYzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyODM4NjogY2hlY2tpbmcgd2hl dGhlciBmZG9wZW5kaXIgd29ya3MKY29uZmlndXJlOjI4NDQ0OiByZXN1bHQ6IG5vLWJ1dC1ub3Qt bmVlZGVkLXNvLXllcwpjb25maWd1cmU6Mjg0ODk6IGNoZWNraW5nIGZvciBmbGV4aWJsZSBhcnJh eSBtZW1iZXIKY29uZmlndXJlOjI4NTE3OiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8y IC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyODUx NzogJD8gPSAwCmNvbmZpZ3VyZToyODUyNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI4NTQzOiBj aGVja2luZyBmb3IgX19mcGVuZGluZwpjb25maWd1cmU6Mjg1NjA6IGdjYyAtSSAuLi9zcmMvbnQv aW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgICBj b25mdGVzdC5jICAgPiY1IApjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0 LmM6MjE3OjEwOiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnX19m cGVuZGluZycgWy1XaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgMjE3IHwgcmV0dXJu ICEgX19mcGVuZGluZyAoc3RkaW4pOwogICAgICB8ICAgICAgICAgIF5+fn5+fn5+fn4KQzovbXN5 czY0L21pbmd3NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5ndzMyLzEwLjIuMC8uLi8u Li8uLi8uLi94ODZfNjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogQzpcbXN5czY0XHRtcFxjY3FV WllYNS5vOiBpbiBmdW5jdGlvbiBgbWFpbic6CkM6XG1zeXM2NFxob21lXFZXaW5Vc2VyMFxEb3du bG9hZHNcZW1hY3NcbmF0aXZlLWNvbXBcYnVpbGQvY29uZnRlc3QuYzoyMTc6IHVuZGVmaW5lZCBy ZWZlcmVuY2UgdG8gYF9fZnBlbmRpbmcnCmNvbGxlY3QyLmV4ZTogZXJyb3I6IGxkIHJldHVybmVk IDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjI4NTYwOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQg cHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJH TlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFD S0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFj cyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251 Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJl L2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIg MQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5l IEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRF TlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NP VVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAx CnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VN QU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEK fCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19T VERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNf NjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVT X0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19T VERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZG U0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3 aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09V TkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJD RV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2Rl ZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBI QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFU SVZFX0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVf R0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUg VEhSRUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0dO VVRMUyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8 ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9C QVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwgI2Rl ZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01T MiAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVm aW5lIE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNk ZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEKfCAj ZGVmaW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BORyAxCnwg I2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9M SUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5E T00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZp bmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBI QVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZF X1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRI UkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVf U0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZS T00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJF UlJPUiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5B TUVfTlAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURfQUxMT0MgMAp8ICNkZWZpbmUgSEFW RV9fX0JVSUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJ TkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX1NCUksgMQp8 ICNkZWZpbmUgSEFWRV9DQU5PTklDQUxJWkVfRklMRV9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVB RExJTksgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRVhQTElD SVRfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ0hN T0RBVCAxCnwgI2RlZmluZSBIQVZFX0xDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAj ZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhB VkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9Q SVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEK fCAjZGVmaW5lIEhBVkVfSVNXQ1RZUEUgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNk ZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5l IHZmb3JrIGZvcmsKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5H SU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fX05MX1BBUEVSX1dJRFRIIDEK fCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2Rl ZmluZSBOVUxMX0RFVklDRSAiTlVMOiIKfCAjZGVmaW5lIFNFUENIQVIgJzsnCnwgI2RlZmluZSBz dWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2Rl ZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pICgoX2Nf KSA9PSAnOicpCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09ICcvJyB8 fCAoX2NfKSA9PSAnXFwnKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllf U0VQIChfY18pIHx8IElTX0RFVklDRV9TRVAoX2NfKSkKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRf REVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBI QVZFX1NUQUNLX09WRVJGTE9XX0hBTkRMSU5HIDEKfCAjZGVmaW5lIERPU19OVCAvKiovCnwgI2Rl ZmluZSBXSU5ET1dTTlQgMQp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIENP UFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ3MzJ0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05G SUdVUkFUSU9OICJ4ODZfNjQtdzY0LW1pbmd3MzIiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BU SU9OUyAiLS1wcmVmaXg9L2hvbWUvVldpblVzZXIwL0Rvd25sb2Fkcy9lbWFjcy9uYXRpdmUtY29t cC9idWlsdCAtLXdpdGgtbmF0aXZlY29tcCIKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FUVFJJQlVU RV9BTElHTkVEIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEVN RU5UX0VYUFJFU1NJT05TIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIERPVUJM RV9TTEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEZVTkNfUkVBTFBBVEhfV09SS1Mg MQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RF Q0wgMQp8ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVm aW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVN TUVNIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIFRJTUVfVF9JU19T SUdORUQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9U Wk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBNQUxMT0NfMF9JU19OT05OVUxMIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTkxFTiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9J TUFYIDEKfCAjZGVmaW5lIF9VU0VfU1REX1NUQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0NMRUFS RVJSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRU9GX1VOTE9DS0VEIDAKfCAjZGVm aW5lIEhBVkVfREVDTF9GRVJST1JfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZGTFVT SF9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkdFVFNfVU5MT0NLRUQgMAp8ICNkZWZp bmUgSEFWRV9ERUNMX0ZQVVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUU19V TkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlJFQURfVU5MT0NLRUQgMAp8ICNkZWZpbmUg SEFWRV9ERUNMX0ZXUklURV9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VUQ19VTkxP Q0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VUQ0hBUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBI QVZFX0RFQ0xfUFVUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVUQ0hBUl9VTkxP Q0tFRCAwCnwgI2RlZmluZSBHRVRHUk9VUFNfVCBpbnQKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRE VEFCTEVTSVpFIDAKfCAjZGVmaW5lIFBST01PVEVEX01PREVfVCBpbnQKfCAjZGVmaW5lIEhBVkVf U1lTX0FDTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0dFVF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVf QUNMX1NFVF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0ZSRUUgMQp8ICNkZWZpbmUgSEFWRV9B Q0xfRlJPTV9URVhUIDEKfCAjZGVmaW5lIFVTRV9BQ0wgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxU SU5fRVhQRUNUIDEKfCAjZGVmaW5lIEdOVUxJQl9DQU5PTklDQUxJWkVfTEdQTCAxCnwgI2RlZmlu ZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5D VF9ST09UIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X0ZET1BFTkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIEZMRVhJ QkxFX0FSUkFZX01FTUJFUiAvKiovCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8ICAgICAj aW5jbHVkZSA8c3RkaW8uaD4KfCAgICAgI2lmIEhBVkVfU1RESU9fRVhUX0gKfCAgICAgIyBpbmNs dWRlIDxzdGRpb19leHQuaD4KfCAgICAgI2VuZGlmCnwgICAKfCBpbnQKfCBtYWluICgpCnwgewp8 IHJldHVybiAhIF9fZnBlbmRpbmcgKHN0ZGluKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29u ZmlndXJlOjI4NTY5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyODYwODogY2hlY2tpbmcgd2hldGhl ciBmc3RhdGF0ICguLi4sIDApIHdvcmtzCmNvbmZpZ3VyZToyODY0NDogcmVzdWx0OiB5ZXMKY29u ZmlndXJlOjI4Njk0OiBjaGVja2luZyBmb3Igc3lzL21vdW50LmgKY29uZmlndXJlOjI4Njk0OiBn Y2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAg IGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6MjQ1OjEwOiBmYXRhbCBlcnJvcjogc3lzL21vdW50 Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICAyNDUgfCAjaW5jbHVkZSA8c3lzL21vdW50 Lmg+CiAgICAgIHwgICAgICAgICAgXn5+fn5+fn5+fn5+fgpjb21waWxhdGlvbiB0ZXJtaW5hdGVk Lgpjb25maWd1cmU6Mjg2OTQ6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK fCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04g IjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwg I2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZp bmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNk ZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBT VERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdT X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwg I2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVm aW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9P UEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNk ZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19T VERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNf NjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19F WFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNk ZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRI X1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBV WF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8 ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwg I2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmlu ZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZp bmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElN SVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9I IDEKfCAjZGVmaW5lIEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0VfQVBJ IDEKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAx CnwgI2RlZmluZSBVU0VfTU1BUF9GT1JfQlVGRkVSUyAxCnwgI2RlZmluZSBUSFJFQURTX0VOQUJM RUQgMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVm aW5lIEhBVkVfSlNPTiAxCnwgI2RlZmluZSBIQVZFX1czMk5PVElGWSAxCnwgI2RlZmluZSBVU0Vf RklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZp bmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0hBUkZCVVpaIDEKfCAjZGVmaW5lIEhBVkVfWFBN IDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0xDTVMyIDEKfCAjZGVmaW5l IEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX01PRFVMRVMgMQp8ICNkZWZpbmUgTU9EVUxFU19T VUZGSVggIi5kbGwiCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVCAxCnwgI2RlZmluZSBIQVZFX0xJ QkdDQ0pJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0NPTVAgMQp8ICNkZWZpbmUgTkFUSVZF X0VMSVNQX1NVRkZJWCAiLmVsbiIKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVf VElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNk ZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmlu ZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9UUlVOQyAxCnwgI2RlZmluZSBIQVZFX1NFTEVD VCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxF IDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEK fCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sg MQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8 ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVm aW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfQUxJR05FRF9BTExPQyAwCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9G UkFNRV9BRERSRVNTIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAj ZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfU0JSSyAxCnwgI2RlZmluZSBIQVZF X0NBTk9OSUNBTElaRV9GSUxFX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2Rl ZmluZSBIQVZFX1JFQURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9FWFBMSUNJVF9CWkVSTyAxCnwg I2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PREFUIDEKfCAjZGVm aW5lIEhBVkVfTENITU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9G U1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZE QVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BJUEUyIDEKfCAjZGVm aW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZpbmUgSEFW RV9JU1dDVFlQRSAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZ TUxJTksgMQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUgdmZvcmsgZm9yawp8 ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQg MQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19fTkxfUEFQRVJfV0lEVEggMQp8ICNkZWZpbmUgSEFW RV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVW SUNFICJOVUw6Igp8ICNkZWZpbmUgU0VQQ0hBUiAnOycKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAx CnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9S WV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgKChfY18pID09ICc6JykKfCAj ZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gJy8nIHx8IChfY18pID09ICdc XCcpCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykgfHwg SVNfREVWSUNFX1NFUChfY18pKQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYv ZHNwIgp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfU1RBQ0tfT1ZF UkZMT1dfSEFORExJTkcgMQp8ICNkZWZpbmUgRE9TX05UIC8qKi8KfCAjZGVmaW5lIFdJTkRPV1NO VCAxCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5 cmlnaHQgKEMpIDIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUg VEVSTV9IRUFERVIgInczMnRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gIng4 Nl82NC13NjQtbWluZ3czMiIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZp eD0vaG9tZS9WV2luVXNlcjAvRG93bmxvYWRzL2VtYWNzL25hdGl2ZS1jb21wL2J1aWx0IC0td2l0 aC1uYXRpdmVjb21wIgp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQVRUUklCVVRFX0FMSUdORUQgMQp8 ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9TVEFURU1FTlRfRVhQUkVTU0lP TlMgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgRE9VQkxFX1NMQVNIX0lTX0RJ U1RJTkNUX1JPT1QgMQp8ICNkZWZpbmUgRlVOQ19SRUFMUEFUSF9XT1JLUyAxCnwgI2RlZmluZSBy ZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmlu ZSBMU1RBVF9GT0xMT1dTX1NMQVNIRURfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RS TU9ERSAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9VTlNJ R05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1NRU0gMAp8ICNkZWZp bmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgVElNRV9UX0lTX1NJR05FRCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIE1B TExPQ18wX0lTX05PTk5VTEwgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9TVFJOTEVOIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZp bmUgX1VTRV9TVERfU1RBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQ0xFQVJFUlJfVU5MT0NLRUQg MAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZFT0ZfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNM X0ZFUlJPUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkZMVVNIX1VOTE9DS0VEIDAK fCAjZGVmaW5lIEhBVkVfREVDTF9GR0VUU19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf RlBVVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZQVVRTX1VOTE9DS0VEIDAKfCAj ZGVmaW5lIEhBVkVfREVDTF9GUkVBRF9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRldS SVRFX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRDX1VOTE9DS0VEIDAKfCAjZGVm aW5lIEhBVkVfREVDTF9HRVRDSEFSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9QVVRD X1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9QVVRDSEFSX1VOTE9DS0VEIDAKfCAjZGVm aW5lIEdFVEdST1VQU19UIGludAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVERUQUJMRVNJWkUgMAp8 ICNkZWZpbmUgUFJPTU9URURfTU9ERV9UIGludAp8ICNkZWZpbmUgSEFWRV9TWVNfQUNMX0ggMQp8 ICNkZWZpbmUgSEFWRV9BQ0xfR0VUX0ZJTEUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfU0VUX0ZJTEUg MQp8ICNkZWZpbmUgSEFWRV9BQ0xfRlJFRSAxCnwgI2RlZmluZSBIQVZFX0FDTF9GUk9NX1RFWFQg MQp8ICNkZWZpbmUgVVNFX0FDTCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9FWFBFQ1QgMQp8 ICNkZWZpbmUgR05VTElCX0NBTk9OSUNBTElaRV9MR1BMIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9T RV9TVFJFQU0gMQp8ICNkZWZpbmUgRE9VQkxFX1NMQVNIX0lTX0RJU1RJTkNUX1JPT1QgMQp8ICNk ZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDAK fCAjZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVN QkVSIC8qKi8KfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+Cnwg I2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRp Zgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgI2Vu ZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNs dWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1 ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8 ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllfSAp8ICMg IGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNl bmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNl bmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+Cnwg I2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGludC5oPgp8ICNl bmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5k aWYKfCAgICAgICNpZiBIQVZFX1NZU19QQVJBTV9ICnwgICAgICAgICNpbmNsdWRlIDxzeXMvcGFy YW0uaD4KfCAgICAgICAjZW5kaWYKfCAKfCAjaW5jbHVkZSA8c3lzL21vdW50Lmg+CmNvbmZpZ3Vy ZToyODY5NDogcmVzdWx0OiBubwpjb25maWd1cmU6Mjg3MTE6IGNoZWNraW5nIGhvdyB0byBnZXQg ZmlsZSBzeXN0ZW0gc3BhY2UgdXNhZ2UKY29uZmlndXJlOjI4NzI0OiBjaGVja2luZyBmb3Igc3Rh dHZmcyBmdW5jdGlvbiAoU1ZSNCkKY29uZmlndXJlOjI4NzU5OiBnY2MgLUkgLi4vc3JjL250L2lu YyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5lPWdlbmVyaWMgICAgY29u ZnRlc3QuYyAgID4mNSAKY29uZnRlc3QuYzoyMTQ6MTA6IGZhdGFsIGVycm9yOiBzeXMvc3RhdHZm cy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAgMjE0IHwgI2luY2x1ZGUgPHN5cy9zdGF0 dmZzLmg+CiAgICAgIHwgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+CmNvbXBpbGF0aW9uIHRlcm1p bmF0ZWQuCmNvbmZpZ3VyZToyODc1OTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g d2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNz Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVS U0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41 MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwg I2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8i CnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVm aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19f IDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8 ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZp bmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAx CnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5U X0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZV TkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAx CnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5U X01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5l IF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRT IDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1u dCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAj ZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwg I2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19X QUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9JTUFH RV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VT SVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRIUkVBRFNf RU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8 ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAjZGVmaW5l IFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwg I2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNkZWZpbmUgSEFW RV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENNUzIgMQp8ICNk ZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmluZSBNT0RV TEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAjZGVmaW5lIEhB VkVfTElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwgI2RlZmluZSBO QVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUg SEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAx CnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAj ZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEKfCAjZGVmaW5lIEhBVkVf U0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRM T0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElN SVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lH TUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1F UiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAj ZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8 ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1FX05QIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDAKfCAjZGVmaW5lIEhBVkVfX19CVUlM VElOX0ZSQU1FX0FERFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQg MQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9TQlJLIDEKfCAjZGVmaW5l IEhBVkVfQ0FOT05JQ0FMSVpFX0ZJTEVfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEK fCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0VYUExJQ0lUX0JaRVJP IDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EQVQgMQp8 ICNkZWZpbmUgSEFWRV9MQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBI QVZFX0ZTVEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJ TUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIgMQp8 ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2RlZmlu ZSBIQVZFX0lTV0NUWVBFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhB VkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwgI2RlZmluZSB2Zm9yayBm b3JrCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09E RVNFVCAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX19OTF9QQVBFUl9XSURUSCAxCnwgI2RlZmlu ZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVM TF9ERVZJQ0UgIk5VTDoiCnwgI2RlZmluZSBTRVBDSEFSICc7Jwp8ICNkZWZpbmUgc3VicHJvY2Vz c2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElS RUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAoKF9jXykgPT0gJzon KQp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSAnLycgfHwgKF9jXykg PT0gJ1xcJykKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2Nf KSB8fCBJU19ERVZJQ0VfU0VQKF9jXykpCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAi L2Rldi9kc3AiCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9TVEFD S19PVkVSRkxPV19IQU5ETElORyAxCnwgI2RlZmluZSBET1NfTlQgLyoqLwp8ICNkZWZpbmUgV0lO RE9XU05UIDEKfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBDT1BZUklHSFQg IkNvcHlyaWdodCAoQykgMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2Rl ZmluZSBURVJNX0hFQURFUiAidzMydGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElP TiAieDg2XzY0LXc2NC1taW5ndzMyIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0t cHJlZml4PS9ob21lL1ZXaW5Vc2VyMC9Eb3dubG9hZHMvZW1hY3MvbmF0aXZlLWNvbXAvYnVpbHQg LS13aXRoLW5hdGl2ZWNvbXAiCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BVFRSSUJVVEVfQUxJR05F RCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX1NUQVRFTUVOVF9FWFBS RVNTSU9OUyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBET1VCTEVfU0xBU0hf SVNfRElTVElOQ1RfUk9PVCAxCnwgI2RlZmluZSBGVU5DX1JFQUxQQVRIX1dPUktTIDEKfCAjZGVm aW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAj ZGVmaW5lIExTVEFUX0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9TVFJNT0RFIDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZF X1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTU1FTSAwCnwg I2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBUSU1FX1RfSVNfU0lHTkVEIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEK fCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgTUFMTE9DXzBfSVNfTk9OTlVMTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX1NUUk5MRU4gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwg I2RlZmluZSBfVVNFX1NURF9TVEFUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9DTEVBUkVSUl9VTkxP Q0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkVPRl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZF X0RFQ0xfRkVSUk9SX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRkxVU0hfVU5MT0NL RUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZHRVRTX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVf REVDTF9GUFVUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlBVVFNfVU5MT0NLRUQg MAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZSRUFEX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9GV1JJVEVfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVENfVU5MT0NLRUQgMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX0dFVENIQVJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNM X1BVVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1BVVENIQVJfVU5MT0NLRUQgMAp8 ICNkZWZpbmUgR0VUR1JPVVBTX1QgaW50CnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURFRBQkxFU0la RSAwCnwgI2RlZmluZSBQUk9NT1RFRF9NT0RFX1QgaW50CnwgI2RlZmluZSBIQVZFX1NZU19BQ0xf SCAxCnwgI2RlZmluZSBIQVZFX0FDTF9HRVRfRklMRSAxCnwgI2RlZmluZSBIQVZFX0FDTF9TRVRf RklMRSAxCnwgI2RlZmluZSBIQVZFX0FDTF9GUkVFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0ZST01f VEVYVCAxCnwgI2RlZmluZSBVU0VfQUNMIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX0VYUEVD VCAxCnwgI2RlZmluZSBHTlVMSUJfQ0FOT05JQ0FMSVpFX0xHUEwgMQp8ICNkZWZpbmUgR05VTElC X0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBET1VCTEVfU0xBU0hfSVNfRElTVElOQ1RfUk9PVCAx CnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GRE9QRU5E SVIgMAp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJB WV9NRU1CRVIgLyoqLwp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAjaW5jbHVkZSA8c3lz L3R5cGVzLmg+CnwgI2lmZGVmIF9fb3NmX18KfCAiRG8gbm90IHVzZSBUcnU2NCdzIHN0YXR2ZnMg aW1wbGVtZW50YXRpb24iCnwgI2VuZGlmCnwgCnwgI2luY2x1ZGUgPHN5cy9zdGF0dmZzLmg+Cnwg Cnwgc3RydWN0IHN0YXR2ZnMgZnNkOwp8IAp8ICNpZiBkZWZpbmVkIF9fQVBQTEVfXyAmJiBkZWZp bmVkIF9fTUFDSF9fCnwgI2luY2x1ZGUgPGxpbWl0cy5oPgp8IC8qIE9uIE1hYyBPUyBYID49IDEw LjUsIGZfYmxvY2tzIGluICdzdHJ1Y3Qgc3RhdHZmcycgaXMgYSAzMi1iaXQgcXVhbnRpdHk7Cnwg ICAgdGhhdCBjb21tb25seSBsaW1pdHMgZmlsZSBzeXN0ZW1zIHRvIDQgVGlCLiAgV2hlcmVhcyBm X2Jsb2NrcyBpbgp8ICAgICdzdHJ1Y3Qgc3RhdGZzJyBpcyBhIDY0LWJpdCB0eXBlLCB0aGFua3Mg dG8gdGhlIGxhcmdlLWZpbGUgc3VwcG9ydAp8ICAgIHRoYXQgd2FzIGVuYWJsZWQgYWJvdmUuICBJ biB0aGlzIGNhc2UsIGRvbid0IHVzZSBzdGF0dmZzKCk7IHVzZSBzdGF0ZnMoKQp8ICAgIGluc3Rl YWQuICAqLwp8IGludCBjaGVja19mX2Jsb2Nrc19zaXplW3NpemVvZiBmc2QuZl9ibG9ja3MgKiBD SEFSX0JJVCA8PSAzMiA/IC0xIDogMV07CnwgI2VuZGlmCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsK fCBzdGF0dmZzICgwLCAmZnNkKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjI4 NzY4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyODgyMzogY2hlY2tpbmcgZm9yIHR3by1hcmd1bWVu dCBzdGF0ZnMgd2l0aCBzdGF0ZnMuZl9mcnNpemUgbWVtYmVyCmNvbmZpZ3VyZToyODg1MTogZ2Nj IC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVu ZT1nZW5lcmljICAgIGNvbmZ0ZXN0LmMgICA+JjUgCmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdt YWluJzoKY29uZnRlc3QuYzoyMjE6MTk6IGVycm9yOiBzdG9yYWdlIHNpemUgb2YgJ2ZzZCcgaXNu J3Qga25vd24KICAyMjEgfCAgICAgc3RydWN0IHN0YXRmcyBmc2Q7CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgXn5+CmNvbmZ0ZXN0LmM6MjIzOjEyOiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJh dGlvbiBvZiBmdW5jdGlvbiAnc3RhdGZzJyBbLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlv bl0KICAyMjMgfCAgICAgcmV0dXJuIHN0YXRmcyAoIi4iLCAmZnNkKSAhPSAwOwogICAgICB8ICAg ICAgICAgICAgXn5+fn5+CmNvbmZpZ3VyZToyODg1MTogJD8gPSAxCmNvbmZpZ3VyZTogcHJvZ3Jh bSBleGl0ZWQgd2l0aCBzdGF0dXMgMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAv KiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4 LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2Rl ZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUg UEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZp bmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERD X0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklO R19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2Rl ZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5l IF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVO QlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZp bmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1 NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRf XyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZp bmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQ RUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9B TFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNk ZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwgI2Rl ZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBI QVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUg SEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZF X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NE RUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRT X0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg I2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEK fCAjZGVmaW5lIEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0VfQVBJIDEK fCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwg I2RlZmluZSBVU0VfTU1BUF9GT1JfQlVGRkVSUyAxCnwgI2RlZmluZSBUSFJFQURTX0VOQUJMRUQg MQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5l IEhBVkVfSlNPTiAxCnwgI2RlZmluZSBIQVZFX1czMk5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklM RV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUg VVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0hBUkZCVVpaIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEK fCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0xDTVMyIDEKfCAjZGVmaW5lIEhB VkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX01PRFVMRVMgMQp8ICNkZWZpbmUgTU9EVUxFU19TVUZG SVggIi5kbGwiCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVCAxCnwgI2RlZmluZSBIQVZFX0xJQkdD Q0pJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0NPTVAgMQp8ICNkZWZpbmUgTkFUSVZFX0VM SVNQX1NVRkZJWCAiLmVsbiIKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElG RiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZp bmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBI QVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9UUlVOQyAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAx CnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEK fCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAj ZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8 ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNk ZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBI QVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5l IEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfQUxJR05FRF9BTExPQyAwCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9GUkFN RV9BRERSRVNTIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVm aW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfU0JSSyAxCnwgI2RlZmluZSBIQVZFX0NB Tk9OSUNBTElaRV9GSUxFX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmlu ZSBIQVZFX1JFQURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9FWFBMSUNJVF9CWkVSTyAxCnwgI2Rl ZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PREFUIDEKfCAjZGVmaW5l IEhBVkVfTENITU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1RB VEFUIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkg MQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BJUEUyIDEKfCAjZGVmaW5l IEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9J U1dDVFlQRSAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJ TksgMQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUgdmZvcmsgZm9yawp8ICNk ZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8 ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19fTkxfUEFQRVJfV0lEVEggMQp8ICNkZWZpbmUgSEFWRV9N QlNUQVRFX1QgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNF ICJOVUw6Igp8ICNkZWZpbmUgU0VQQ0hBUiAnOycKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwg I2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9T RVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgKChfY18pID09ICc6JykKfCAjZGVm aW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gJy8nIHx8IChfY18pID09ICdcXCcp CnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykgfHwgSVNf REVWSUNFX1NFUChfY18pKQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNw Igp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfU1RBQ0tfT1ZFUkZM T1dfSEFORExJTkcgMQp8ICNkZWZpbmUgRE9TX05UIC8qKi8KfCAjZGVmaW5lIFdJTkRPV1NOVCAx CnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmln aHQgKEMpIDIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVS TV9IRUFERVIgInczMnRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gIng4Nl82 NC13NjQtbWluZ3czMiIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZpeD0v aG9tZS9WV2luVXNlcjAvRG93bmxvYWRzL2VtYWNzL25hdGl2ZS1jb21wL2J1aWx0IC0td2l0aC1u YXRpdmVjb21wIgp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQVRUUklCVVRFX0FMSUdORUQgMQp8ICNk ZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9TVEFURU1FTlRfRVhQUkVTU0lPTlMg MQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgRE9VQkxFX1NMQVNIX0lTX0RJU1RJ TkNUX1JPT1QgMQp8ICNkZWZpbmUgRlVOQ19SRUFMUEFUSF9XT1JLUyAxCnwgI2RlZmluZSByZXN0 cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBM U1RBVF9GT0xMT1dTX1NMQVNIRURfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9E RSAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05F RF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1NRU0gMAp8ICNkZWZpbmUg SEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgVElNRV9UX0lTX1NJR05FRCAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIE1BTExP Q18wX0lTX05PTk5VTEwgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9TVFJOTEVOIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUg X1VTRV9TVERfU1RBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQ0xFQVJFUlJfVU5MT0NLRUQgMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX0ZFT0ZfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZF UlJPUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkZMVVNIX1VOTE9DS0VEIDAKfCAj ZGVmaW5lIEhBVkVfREVDTF9GR0VUU19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlBV VENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZQVVRTX1VOTE9DS0VEIDAKfCAjZGVm aW5lIEhBVkVfREVDTF9GUkVBRF9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRldSSVRF X1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5l IEhBVkVfREVDTF9HRVRDSEFSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9QVVRDX1VO TE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9QVVRDSEFSX1VOTE9DS0VEIDAKfCAjZGVmaW5l IEdFVEdST1VQU19UIGludAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVERUQUJMRVNJWkUgMAp8ICNk ZWZpbmUgUFJPTU9URURfTU9ERV9UIGludAp8ICNkZWZpbmUgSEFWRV9TWVNfQUNMX0ggMQp8ICNk ZWZpbmUgSEFWRV9BQ0xfR0VUX0ZJTEUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfU0VUX0ZJTEUgMQp8 ICNkZWZpbmUgSEFWRV9BQ0xfRlJFRSAxCnwgI2RlZmluZSBIQVZFX0FDTF9GUk9NX1RFWFQgMQp8 ICNkZWZpbmUgVVNFX0FDTCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9FWFBFQ1QgMQp8ICNk ZWZpbmUgR05VTElCX0NBTk9OSUNBTElaRV9MR1BMIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9T VFJFQU0gMQp8ICNkZWZpbmUgRE9VQkxFX1NMQVNIX0lTX0RJU1RJTkNUX1JPT1QgMQp8ICNkZWZp bmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDAKfCAj ZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVS IC8qKi8KfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgI2lmZGVmIEhBVkVfU1lTX1BBUkFN X0gKfCAjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX01P VU5UX0gKfCAjaW5jbHVkZSA8c3lzL21vdW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lT X1ZGU19ICnwgI2luY2x1ZGUgPHN5cy92ZnMuaD4KfCAjZW5kaWYKfCAgIGludAp8ICAgbWFpbiAo KQp8ICAgewp8ICAgICBzdHJ1Y3Qgc3RhdGZzIGZzZDsKfCAgICAgZnNkLmZfZnJzaXplID0gMDsK fCAgICAgcmV0dXJuIHN0YXRmcyAoIi4iLCAmZnNkKSAhPSAwOwp8ICAgfQpjb25maWd1cmU6Mjg4 NjI6IHJlc3VsdDogbm8KY29uZmlndXJlOjI4ODczOiBjaGVja2luZyBmb3IgMy1hcmd1bWVudCBz dGF0ZnMgZnVuY3Rpb24gKERFQyBPU0YvMSkKY29uZmlndXJlOjI4ODk1OiBnY2MgLUkgLi4vc3Jj L250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5lPWdlbmVyaWMg ICAgY29uZnRlc3QuYyAgID4mNSAKY29uZnRlc3QuYzoyMTE6MTA6IGZhdGFsIGVycm9yOiBzeXMv bW91bnQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogIDIxMSB8ICNpbmNsdWRlIDxzeXMv bW91bnQuaD4KICAgICAgfCAgICAgICAgICBefn5+fn5+fn5+fn5+CmNvbXBpbGF0aW9uIHRlcm1p bmF0ZWQuDQpjb25maWd1cmU6Mjg4OTU6ICQ/ID0gMQpjb25maWd1cmU6IHByb2dyYW0gZXhpdGVk IHdpdGggc3RhdHVzIDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl ZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNL QUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8 ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFD S0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxf VVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FM TF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NP VVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VS Q0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1RE Q19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lF Q182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9F WFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNk ZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1RE Q19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNT X18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVO X1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdD Q19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFW RV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxM T0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdE X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0gg MQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAj ZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg VElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmlu ZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwgI2RlZmlu ZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUg VVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVm aW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0pT T04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZ IDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0g MQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmlu ZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwgI2RlZmluZSBIQVZFX1pMSUIg MQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1PRFVMRVNfU1VGRklYICIuZGxs Igp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAx CnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVmaW5lIE5BVElWRV9FTElTUF9TVUZG SVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNk ZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVf R0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5U IDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZp bmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBI QVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5l IEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhB VkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRT T0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0xP RzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX0FMSUdORURfQUxMT0MgMAp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRlJBTUVfQUREUkVT UyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZF X0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX1NCUksgMQp8ICNkZWZpbmUgSEFWRV9DQU5PTklDQUxJ WkVfRklMRV9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9S RUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRVhQTElDSVRfQlpFUk8gMQp8ICNkZWZpbmUgSEFW RV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0RBVCAxCnwgI2RlZmluZSBIQVZFX0xD SE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwg I2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVm aW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BT RUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfSVNXQ1RZUEUg MQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIHZmb3JrIGZvcmsKfCAjZGVmaW5lIEhB VkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5l IEhBVkVfTEFOR0lORk9fX05MX1BBUEVSX1dJRFRIIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9U IDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiTlVMOiIK fCAjZGVmaW5lIFNFUENIQVIgJzsnCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUg VVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8 ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pICgoX2NfKSA9PSAnOicpCnwgI2RlZmluZSBJU19E SVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09ICcvJyB8fCAoX2NfKSA9PSAnXFwnKQp8ICNkZWZp bmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pIHx8IElTX0RFVklDRV9T RVAoX2NfKSkKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVm aW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX1NUQUNLX09WRVJGTE9XX0hBTkRM SU5HIDEKfCAjZGVmaW5lIERPU19OVCAvKiovCnwgI2RlZmluZSBXSU5ET1dTTlQgMQp8ICNkZWZp bmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAy MDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVS ICJ3MzJ0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQtdzY0LW1p bmd3MzIiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9L2hvbWUvVldp blVzZXIwL0Rvd25sb2Fkcy9lbWFjcy9uYXRpdmUtY29tcC9idWlsdCAtLXdpdGgtbmF0aXZlY29t cCIKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FUVFJJQlVURV9BTElHTkVEIDEKfCAjZGVmaW5lIEhB VkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEVNRU5UX0VYUFJFU1NJT05TIDEKfCAjZGVm aW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09U IDEKfCAjZGVmaW5lIEZVTkNfUkVBTFBBVEhfV09SS1MgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19y ZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgTFNUQVRfRk9M TE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNk ZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19M T05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNTUVNIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9NRU1SQ0hSIDAKfCAjZGVmaW5lIFRJTUVfVF9JU19TSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9U Wk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBNQUxMT0NfMF9JU19O T05OVUxMIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RS TkxFTiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIF9VU0VfU1RE X1NUQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0NMRUFSRVJSX1VOTE9DS0VEIDAKfCAjZGVmaW5l IEhBVkVfREVDTF9GRU9GX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRVJST1JfVU5M T0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZGTFVTSF9VTkxPQ0tFRCAwCnwgI2RlZmluZSBI QVZFX0RFQ0xfRkdFVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZQVVRDX1VOTE9D S0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUU19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZF X0RFQ0xfRlJFQURfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZXUklURV9VTkxPQ0tF RCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfR0VUQ0hBUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVUQ19VTkxPQ0tFRCAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVUQ0hBUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBHRVRHUk9V UFNfVCBpbnQKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVREVEFCTEVTSVpFIDAKfCAjZGVmaW5lIFBS T01PVEVEX01PREVfVCBpbnQKfCAjZGVmaW5lIEhBVkVfU1lTX0FDTF9IIDEKfCAjZGVmaW5lIEhB VkVfQUNMX0dFVF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX1NFVF9GSUxFIDEKfCAjZGVmaW5l IEhBVkVfQUNMX0ZSRUUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfRlJPTV9URVhUIDEKfCAjZGVmaW5l IFVTRV9BQ0wgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRVhQRUNUIDEKfCAjZGVmaW5lIEdO VUxJQl9DQU5PTklDQUxJWkVfTEdQTCAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEK fCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEdOVUxJ Ql9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAwCnwgI2RlZmluZSBH TlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwg LyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8ICNpbmNsdWRlIDxzeXMvcGFyYW0uaD4KfCAjaW5j bHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5cy9tb3VudC5oPgp8ICAgaW50CnwgICBt YWluICgpCnwgICB7CnwgICAgIHN0cnVjdCBzdGF0ZnMgZnNkOwp8ICAgICBmc2QuZl9mc2l6ZSA9 IDA7CnwgICAgIHJldHVybiBzdGF0ZnMgKCIuIiwgJmZzZCwgc2l6ZW9mIChzdHJ1Y3Qgc3RhdGZz KSkgIT0gMDsKfCAgIH0KY29uZmlndXJlOjI4OTA2OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyODky MzogY2hlY2tpbmcgZm9yIHR3by1hcmd1bWVudCBzdGF0ZnMgd2l0aCBzdGF0ZnMuZl9ic2l6ZSBt ZW1iZXIgKEFJWCwgNC4zQlNEKQpjb25maWd1cmU6Mjg5NTE6IGdjYyAtSSAuLi9zcmMvbnQvaW5j IC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgICBjb25m dGVzdC5jICAgPiY1IApjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6 MjIxOjE5OiBlcnJvcjogc3RvcmFnZSBzaXplIG9mICdmc2QnIGlzbid0IGtub3duCiAgMjIxIHwg ICAgIHN0cnVjdCBzdGF0ZnMgZnNkOwogICAgICB8ICAgICAgICAgICAgICAgICAgIF5+fgpjb25m dGVzdC5jOjIyMzoxMjogd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g J3N0YXRmcycgWy1XaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgMjIzIHwgICAgIHJl dHVybiBzdGF0ZnMgKCIuIiwgJmZzZCkgIT0gMDsKICAgICAgfCAgICAgICAgICAgIF5+fn5+fgpj b25maWd1cmU6Mjg5NTE6ICQ/ID0gMQpjb25maWd1cmU6IHByb2dyYW0gZXhpdGVkIHdpdGggc3Rh dHVzIDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8 ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUg UEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS RVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRw czovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAx CnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI QVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0Ug MQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwg I2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNk ZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lF Q182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9C RlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwg I2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19T VERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJ Ql9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNk ZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9B UEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEK fCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RF TV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZp bmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhB VkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRI X1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05U R1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1f TUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBf Rk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVf UlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNk ZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVm aW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZp bmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQ RUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZp bmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZp bmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmlu ZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVmaW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4i CnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFW RV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5B TUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVm aW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9H RVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRE T1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RS U0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRP IDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAx CnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNk ZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdO RURfQUxMT0MgMAp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2Rl ZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAx CnwgI2RlZmluZSBIQVZFX1NCUksgMQp8ICNkZWZpbmUgSEFWRV9DQU5PTklDQUxJWkVfRklMRV9O QU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FU IDEKfCAjZGVmaW5lIEhBVkVfRVhQTElDSVRfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNT QVQgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0RBVCAxCnwgI2RlZmluZSBIQVZFX0xDSE1PRCAxCnwg I2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBI QVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVf TFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8 ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfSVNXQ1RZUEUgMQp8ICNkZWZp bmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhB VkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIHZmb3JrIGZvcmsKfCAjZGVmaW5lIEhBVkVfU05QUklO VEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTEFO R0lORk9fX05MX1BBUEVSX1dJRFRIIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVm aW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiTlVMOiIKfCAjZGVmaW5l IFNFUENIQVIgJzsnCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxM X05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUg SVNfREVWSUNFX1NFUChfY18pICgoX2NfKSA9PSAnOicpCnwgI2RlZmluZSBJU19ESVJFQ1RPUllf U0VQKF9jXykgKChfY18pID09ICcvJyB8fCAoX2NfKSA9PSAnXFwnKQp8ICNkZWZpbmUgSVNfQU5Z X1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pIHx8IElTX0RFVklDRV9TRVAoX2NfKSkK fCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIEdDX1NF VEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX1NUQUNLX09WRVJGTE9XX0hBTkRMSU5HIDEKfCAj ZGVmaW5lIERPU19OVCAvKiovCnwgI2RlZmluZSBXSU5ET1dTTlQgMQp8ICNkZWZpbmUgVVNBQkxF X0ZJT05SRUFEIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDIwIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ3MzJ0ZXJt LmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQtdzY0LW1pbmd3MzIiCnwg I2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9L2hvbWUvVldpblVzZXIwL0Rv d25sb2Fkcy9lbWFjcy9uYXRpdmUtY29tcC9idWlsdCAtLXdpdGgtbmF0aXZlY29tcCIKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0FUVFJJQlVURV9BTElHTkVEIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9G IDEKfCAjZGVmaW5lIEhBVkVfU1RBVEVNRU5UX0VYUFJFU1NJT05TIDEKfCAjZGVmaW5lIEhBVkVf QUxMT0NBIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVm aW5lIEZVTkNfUkVBTFBBVEhfV09SS1MgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8 ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFT SEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgSEFW RV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNTUVNIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hS IDAKfCAjZGVmaW5lIFRJTUVfVF9JU19TSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJN IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBNQUxMT0NfMF9JU19OT05OVUxMIDEK fCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTkxFTiAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIF9VU0VfU1REX1NUQVQgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX0NMRUFSRVJSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9GRU9GX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRVJST1JfVU5MT0NLRUQgMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX0ZGTFVTSF9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf RkdFVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZQVVRDX1VOTE9DS0VEIDAKfCAj ZGVmaW5lIEhBVkVfREVDTF9GUFVUU19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlJF QURfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZXUklURV9VTkxPQ0tFRCAwCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfR0VUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VUQ0hB Ul9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVUQ19VTkxPQ0tFRCAwCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfUFVUQ0hBUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBHRVRHUk9VUFNfVCBpbnQK fCAjZGVmaW5lIEhBVkVfREVDTF9HRVREVEFCTEVTSVpFIDAKfCAjZGVmaW5lIFBST01PVEVEX01P REVfVCBpbnQKfCAjZGVmaW5lIEhBVkVfU1lTX0FDTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0dF VF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX1NFVF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNM X0ZSRUUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfRlJPTV9URVhUIDEKfCAjZGVmaW5lIFVTRV9BQ0wg MQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRVhQRUNUIDEKfCAjZGVmaW5lIEdOVUxJQl9DQU5P TklDQUxJWkVfTEdQTCAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5l IERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNT QVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRP UEVORElSIDEKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgLyogZW5kIGNv bmZkZWZzLmguICAqLwp8IAp8ICNpZmRlZiBIQVZFX1NZU19QQVJBTV9ICnwgI2luY2x1ZGUgPHN5 cy9wYXJhbS5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19NT1VOVF9ICnwgI2luY2x1ZGUg PHN5cy9tb3VudC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19WRlNfSAp8ICNpbmNsdWRl IDxzeXMvdmZzLmg+CnwgI2VuZGlmCnwgICBpbnQKfCAgIG1haW4gKCkKfCAgIHsKfCAgICAgc3Ry dWN0IHN0YXRmcyBmc2Q7CnwgICAgIGZzZC5mX2JzaXplID0gMDsKfCAgICAgcmV0dXJuIHN0YXRm cyAoIi4iLCAmZnNkKSAhPSAwOwp8ICAgfQpjb25maWd1cmU6Mjg5NjI6IHJlc3VsdDogbm8KY29u ZmlndXJlOjI4OTc1OiBjaGVja2luZyBmb3IgZm91ci1hcmd1bWVudCBzdGF0ZnMgKFNWUjMpCmNv bmZpZ3VyZToyODk5NTogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1nMyAt TzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgIGNvbmZ0ZXN0LmMgICA+JjUgCmNvbmZ0ZXN0 LmM6MjEwOjEwOiBmYXRhbCBlcnJvcjogc3lzL3N0YXRmcy5oOiBObyBzdWNoIGZpbGUgb3IgZGly ZWN0b3J5CiAgMjEwIHwgI2luY2x1ZGUgPHN5cy9zdGF0ZnMuaD4KICAgICAgfCAgICAgICAgICBe fn5+fn5+fn5+fn5+fgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLg0KY29uZmlndXJlOjI4OTk1OiAk PyA9IDEKY29uZmlndXJlOiBwcm9ncmFtIGV4aXRlZCB3aXRoIHN0YXR1cyAxCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf TkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJH TlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVt YWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9z b2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9Q RFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJX SU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9T T1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhS RUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19F WFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVm aW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dB TlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1 OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVm aW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09V UkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9G SUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1f VFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBI QVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NP Q0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2Rl ZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBI QVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAj ZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUg SEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9U SUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9T Q1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlog MQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhB VkVfTENNUzIgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAx CnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklU IDEKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09N UCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9Q TkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5l IEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhB VkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEK fCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNk ZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZp bmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmlu ZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZF X1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9H QUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9TRVROQU1FX05QIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDAKfCAjZGVm aW5lIEhBVkVfX19CVUlMVElOX0ZSQU1FX0FERFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxU SU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9T QlJLIDEKfCAjZGVmaW5lIEhBVkVfQ0FOT05JQ0FMSVpFX0ZJTEVfTkFNRSAxCnwgI2RlZmluZSBI QVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZF X0VYUExJQ0lUX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhB VkVfRkNITU9EQVQgMQp8ICNkZWZpbmUgSEFWRV9MQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ05U TCAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2Rl ZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5l IEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfSVNC TEFOSyAxCnwgI2RlZmluZSBIQVZFX0lTV0NUWVBFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFY IDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwg I2RlZmluZSB2Zm9yayBmb3JrCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhB VkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX19OTF9QQVBFUl9X SURUSCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMg MQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIk5VTDoiCnwgI2RlZmluZSBTRVBDSEFSICc7Jwp8ICNk ZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNv cwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2Nf KSAoKF9jXykgPT0gJzonKQp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9 PSAnLycgfHwgKF9jXykgPT0gJ1xcJykKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElS RUNUT1JZX1NFUCAoX2NfKSB8fCBJU19ERVZJQ0VfU0VQKF9jXykpCnwgI2RlZmluZSBERUZBVUxU X1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNk ZWZpbmUgSEFWRV9TVEFDS19PVkVSRkxPV19IQU5ETElORyAxCnwgI2RlZmluZSBET1NfTlQgLyoq Lwp8ICNkZWZpbmUgV0lORE9XU05UIDEKfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2Rl ZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAidzMydGVybS5oIgp8ICNkZWZpbmUgRU1B Q1NfQ09ORklHVVJBVElPTiAieDg2XzY0LXc2NC1taW5ndzMyIgp8ICNkZWZpbmUgRU1BQ1NfQ09O RklHX09QVElPTlMgIi0tcHJlZml4PS9ob21lL1ZXaW5Vc2VyMC9Eb3dubG9hZHMvZW1hY3MvbmF0 aXZlLWNvbXAvYnVpbHQgLS13aXRoLW5hdGl2ZWNvbXAiCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9B VFRSSUJVVEVfQUxJR05FRCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZF X1NUQVRFTUVOVF9FWFBSRVNTSU9OUyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmlu ZSBET1VCTEVfU0xBU0hfSVNfRElTVElOQ1RfUk9PVCAxCnwgI2RlZmluZSBGVU5DX1JFQUxQQVRI X1dPUktTIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfRU5W SVJPTl9ERUNMIDEKfCAjZGVmaW5lIExTVEFUX0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5LIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAx CnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX01FTU1FTSAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBUSU1F X1RfSVNfU0lHTkVEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgTUFMTE9DXzBfSVNfTk9OTlVMTCAxCnwgI2RlZmluZSBIQVZFX1dD SEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk5MRU4gMQp8ICNkZWZpbmUgSEFWRV9ERUNM X1NUUlRPSU1BWCAxCnwgI2RlZmluZSBfVVNFX1NURF9TVEFUIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9DTEVBUkVSUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkVPRl9VTkxPQ0tFRCAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfRkVSUk9SX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9GRkxVU0hfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZHRVRTX1VOTE9DS0VEIDAK fCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf RlBVVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZSRUFEX1VOTE9DS0VEIDAKfCAj ZGVmaW5lIEhBVkVfREVDTF9GV1JJVEVfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dF VENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVENIQVJfVU5MT0NLRUQgMAp8ICNk ZWZpbmUgSEFWRV9ERUNMX1BVVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1BVVENI QVJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgaW50CnwgI2RlZmluZSBIQVZFX0RF Q0xfR0VURFRBQkxFU0laRSAwCnwgI2RlZmluZSBQUk9NT1RFRF9NT0RFX1QgaW50CnwgI2RlZmlu ZSBIQVZFX1NZU19BQ0xfSCAxCnwgI2RlZmluZSBIQVZFX0FDTF9HRVRfRklMRSAxCnwgI2RlZmlu ZSBIQVZFX0FDTF9TRVRfRklMRSAxCnwgI2RlZmluZSBIQVZFX0FDTF9GUkVFIDEKfCAjZGVmaW5l IEhBVkVfQUNMX0ZST01fVEVYVCAxCnwgI2RlZmluZSBVU0VfQUNMIDEKfCAjZGVmaW5lIEhBVkVf X19CVUlMVElOX0VYUEVDVCAxCnwgI2RlZmluZSBHTlVMSUJfQ0FOT05JQ0FMSVpFX0xHUEwgMQp8 ICNkZWZpbmUgR05VTElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBET1VCTEVfU0xBU0hfSVNf RElTVElOQ1RfUk9PVCAxCnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9GRE9QRU5ESVIgMAp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmlu ZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAK fCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2luY2x1ZGUgPHN5cy9zdGF0ZnMuaD4KfCAgIGlu dAp8ICAgbWFpbiAoKQp8ICAgewp8ICAgICBzdHJ1Y3Qgc3RhdGZzIGZzZDsKfCAgICAgcmV0dXJu IHN0YXRmcyAoIi4iLCAmZnNkLCBzaXplb2YgZnNkLCAwKSAhPSAwOwp8ICAgfQpjb25maWd1cmU6 MjkwMDY6IHJlc3VsdDogbm8KY29uZmlndXJlOjI5MDIyOiBjaGVja2luZyBmb3IgdHdvLWFyZ3Vt ZW50IHN0YXRmcyB3aXRoIHN0YXRmcy5mX2ZzaXplIG1lbWJlciAoNC40QlNEIGFuZCBOZXRCU0Qp CmNvbmZpZ3VyZToyOTA0ODogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1n MyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgIGNvbmZ0ZXN0LmMgICA+JjUgCmNvbmZ0 ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoyMTk6MTk6IGVycm9yOiBzdG9y YWdlIHNpemUgb2YgJ2ZzZCcgaXNuJ3Qga25vd24KICAyMTkgfCAgICAgc3RydWN0IHN0YXRmcyBm c2Q7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn5+CmNvbmZ0ZXN0LmM6MjIxOjEyOiB3YXJu aW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnc3RhdGZzJyBbLVdpbXBsaWNp dC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICAyMjEgfCAgICAgcmV0dXJuIHN0YXRmcyAoIi4iLCAm ZnNkKSAhPSAwOwogICAgICB8ICAgICAgICAgICAgXn5+fn5+CmNvbmZpZ3VyZToyOTA0ODogJD8g PSAxCmNvbmZpZ3VyZTogcHJvZ3JhbSBleGl0ZWQgd2l0aCBzdGF0dXMgMQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05V IEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFj c0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29m dHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERV TVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBf X0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lO X0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09V UkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVB RF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhU X18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5U X0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlf VFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJD RSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklM RV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZ UEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFW RV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JF U09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NL RVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEK fCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZp bmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFW RV9OQVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUg SEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBVU0VfTU1BUF9GT1JfQlVGRkVSUyAxCnwgI2Rl ZmluZSBUSFJFQURTX0VOQUJMRUQgMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhB VkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfSlNPTiAxCnwgI2RlZmluZSBIQVZFX1czMk5PVElG WSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NS T0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0hBUkZCVVpaIDEK fCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZF X0xDTVMyIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX01PRFVMRVMgMQp8 ICNkZWZpbmUgTU9EVUxFU19TVUZGSVggIi5kbGwiCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVCAx CnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0NPTVAg MQp8ICNkZWZpbmUgTkFUSVZFX0VMSVNQX1NVRkZJWCAiLmVsbiIKfCAjZGVmaW5lIEhBVkVfUE5H IDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBI QVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZF X1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9UUlVOQyAxCnwg I2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVm aW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5l IEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUg SEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9S RUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJ X1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURf U0VUTkFNRV9OUCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxJR05FRF9BTExPQyAwCnwgI2RlZmlu ZSBIQVZFX19fQlVJTFRJTl9GUkFNRV9BRERSRVNTIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElO X1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfU0JS SyAxCnwgI2RlZmluZSBIQVZFX0NBTk9OSUNBTElaRV9GSUxFX05BTUUgMQp8ICNkZWZpbmUgSEFW RV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9F WFBMSUNJVF9CWkVSTyAxCnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZF X0ZDSE1PREFUIDEKfCAjZGVmaW5lIEhBVkVfTENITU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwg MQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZp bmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBI QVZFX1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0lTQkxB TksgMQp8ICNkZWZpbmUgSEFWRV9JU1dDVFlQRSAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAx CnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNk ZWZpbmUgdmZvcmsgZm9yawp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZF X0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19fTkxfUEFQRVJfV0lE VEggMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEK fCAjZGVmaW5lIE5VTExfREVWSUNFICJOVUw6Igp8ICNkZWZpbmUgU0VQQ0hBUiAnOycKfCAjZGVm aW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MK fCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykg KChfY18pID09ICc6JykKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0g Jy8nIHx8IChfY18pID09ICdcXCcpCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVD VE9SWV9TRVAgKF9jXykgfHwgSVNfREVWSUNFX1NFUChfY18pKQp8ICNkZWZpbmUgREVGQVVMVF9T T1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVm aW5lIEhBVkVfU1RBQ0tfT1ZFUkZMT1dfSEFORExJTkcgMQp8ICNkZWZpbmUgRE9TX05UIC8qKi8K fCAjZGVmaW5lIFdJTkRPV1NOVCAxCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZp bmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInczMnRlcm0uaCIKfCAjZGVmaW5lIEVNQUNT X0NPTkZJR1VSQVRJT04gIng4Nl82NC13NjQtbWluZ3czMiIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJ R19PUFRJT05TICItLXByZWZpeD0vaG9tZS9WV2luVXNlcjAvRG93bmxvYWRzL2VtYWNzL25hdGl2 ZS1jb21wL2J1aWx0IC0td2l0aC1uYXRpdmVjb21wIgp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQVRU UklCVVRFX0FMSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9T VEFURU1FTlRfRVhQUkVTU0lPTlMgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUg RE9VQkxFX1NMQVNIX0lTX0RJU1RJTkNUX1JPT1QgMQp8ICNkZWZpbmUgRlVOQ19SRUFMUEFUSF9X T1JLUyAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0VOVklS T05fREVDTCAxCnwgI2RlZmluZSBMU1RBVF9GT0xMT1dTX1NMQVNIRURfU1lNTElOSyAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8 ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9NRU1NRU0gMAp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgVElNRV9U X0lTX1NJR05FRCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIE1BTExPQ18wX0lTX05PTk5VTEwgMQp8ICNkZWZpbmUgSEFWRV9XQ0hB Ul9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJOTEVOIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T VFJUT0lNQVggMQp8ICNkZWZpbmUgX1VTRV9TVERfU1RBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf Q0xFQVJFUlJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZFT0ZfVU5MT0NLRUQgMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX0ZFUlJPUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf RkZMVVNIX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GR0VUU19VTkxPQ0tFRCAwCnwg I2RlZmluZSBIQVZFX0RFQ0xfRlBVVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZQ VVRTX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUkVBRF9VTkxPQ0tFRCAwCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfRldSSVRFX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRD X1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRDSEFSX1VOTE9DS0VEIDAKfCAjZGVm aW5lIEhBVkVfREVDTF9QVVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9QVVRDSEFS X1VOTE9DS0VEIDAKfCAjZGVmaW5lIEdFVEdST1VQU19UIGludAp8ICNkZWZpbmUgSEFWRV9ERUNM X0dFVERUQUJMRVNJWkUgMAp8ICNkZWZpbmUgUFJPTU9URURfTU9ERV9UIGludAp8ICNkZWZpbmUg SEFWRV9TWVNfQUNMX0ggMQp8ICNkZWZpbmUgSEFWRV9BQ0xfR0VUX0ZJTEUgMQp8ICNkZWZpbmUg SEFWRV9BQ0xfU0VUX0ZJTEUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfRlJFRSAxCnwgI2RlZmluZSBI QVZFX0FDTF9GUk9NX1RFWFQgMQp8ICNkZWZpbmUgVVNFX0FDTCAxCnwgI2RlZmluZSBIQVZFX19f QlVJTFRJTl9FWFBFQ1QgMQp8ICNkZWZpbmUgR05VTElCX0NBTk9OSUNBTElaRV9MR1BMIDEKfCAj ZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgRE9VQkxFX1NMQVNIX0lTX0RJ U1RJTkNUX1JPT1QgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfRkRPUEVORElSIDAKfCAjZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZpbmUg RkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwg I2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNpZmRlZiBIQVZFX1NZU19QQVJBTV9ICnwgI2luY2x1 ZGUgPHN5cy9wYXJhbS5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19NT1VOVF9ICnwgI2lu Y2x1ZGUgPHN5cy9tb3VudC5oPgp8ICNlbmRpZgp8ICAgaW50CnwgICBtYWluICgpCnwgICB7Cnwg ICAgIHN0cnVjdCBzdGF0ZnMgZnNkOwp8ICAgICBmc2QuZl9mc2l6ZSA9IDA7CnwgICAgIHJldHVy biBzdGF0ZnMgKCIuIiwgJmZzZCkgIT0gMDsKfCAgIH0KY29uZmlndXJlOjI5MDU5OiByZXN1bHQ6 IG5vCmNvbmZpZ3VyZToyOTE4MzogY2hlY2tpbmcgd2hldGhlciBmdXRpbWVucyB3b3Jrcwpjb25m aWd1cmU6MjkyNDc6IHJlc3VsdDogbm90LW5lZWRlZC1zby15ZXMKY29uZmlndXJlOjI5MjkxOiBj aGVja2luZyBmb3IgZ2V0bG9hZGF2Zwpjb25maWd1cmU6MjkyOTE6IHJlc3VsdDogeWVzCmNvbmZp Z3VyZToyOTY1MTogY2hlY2tpbmcgc3lzL2xvYWRhdmcuaCB1c2FiaWxpdHkKY29uZmlndXJlOjI5 NjUxOiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2Vu ZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6MjQxOjEwOiBmYXRhbCBlcnJvcjogc3lz L2xvYWRhdmcuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogIDI0MSB8ICNpbmNsdWRlIDxz eXMvbG9hZGF2Zy5oPgogICAgICB8ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fgpjb21waWxhdGlv biB0ZXJtaW5hdGVkLgpjb25maWd1cmU6Mjk2NTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdO VSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNz IDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUu b3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUv ZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAx CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVO U0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09V UkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEK fCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1B TlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8 ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NU RENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182 MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNf RVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NU RENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwg I2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZT RVRfQklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndp bmRvd3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VO RCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNF X0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVm aW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFW RV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9OQVRJ VkVfSU1BR0VfQVBJIDEKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9H RVRQQUdFU0laRSAxCnwgI2RlZmluZSBVU0VfTU1BUF9GT1JfQlVGRkVSUyAxCnwgI2RlZmluZSBU SFJFQURTX0VOQUJMRUQgMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfR05V VExTIDEKfCAjZGVmaW5lIEhBVkVfSlNPTiAxCnwgI2RlZmluZSBIQVZFX1czMk5PVElGWSAxCnwg I2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JB UlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0hBUkZCVVpaIDEKfCAjZGVm aW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0xDTVMy IDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX01PRFVMRVMgMQp8ICNkZWZp bmUgTU9EVUxFU19TVUZGSVggIi5kbGwiCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVCAxCnwgI2Rl ZmluZSBIQVZFX0xJQkdDQ0pJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0NPTVAgMQp8ICNk ZWZpbmUgTkFUSVZFX0VMSVNQX1NVRkZJWCAiLmVsbiIKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAj ZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX0xJ QlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRP TSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9UUlVOQyAxCnwgI2RlZmlu ZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhB VkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVf U0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9QVEhS RUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9T RVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJP TSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVS Uk9SIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFN RV9OUCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxJR05FRF9BTExPQyAwCnwgI2RlZmluZSBIQVZF X19fQlVJTFRJTl9GUkFNRV9BRERSRVNTIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lO RF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfU0JSSyAxCnwg I2RlZmluZSBIQVZFX0NBTk9OSUNBTElaRV9GSUxFX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9SRUFE TElOSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9FWFBMSUNJ VF9CWkVSTyAxCnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZDSE1P REFUIDEKfCAjZGVmaW5lIEhBVkVfTENITU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNk ZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFW RV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BJ UEUyIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0lTQkxBTksgMQp8 ICNkZWZpbmUgSEFWRV9JU1dDVFlQRSAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2Rl ZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUg dmZvcmsgZm9yawp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJ TkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19fTkxfUEFQRVJfV0lEVEggMQp8 ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVm aW5lIE5VTExfREVWSUNFICJOVUw6Igp8ICNkZWZpbmUgU0VQQ0hBUiAnOycKfCAjZGVmaW5lIHN1 YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVm aW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgKChfY18p ID09ICc6JykKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gJy8nIHx8 IChfY18pID09ICdcXCcpCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9T RVAgKF9jXykgfHwgSVNfREVWSUNFX1NFUChfY18pKQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9E RVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhB VkVfU1RBQ0tfT1ZFUkZMT1dfSEFORExJTkcgMQp8ICNkZWZpbmUgRE9TX05UIC8qKi8KfCAjZGVm aW5lIFdJTkRPV1NOVCAxCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgQ09Q WVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu Igp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInczMnRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJ R1VSQVRJT04gIng4Nl82NC13NjQtbWluZ3czMiIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJ T05TICItLXByZWZpeD0vaG9tZS9WV2luVXNlcjAvRG93bmxvYWRzL2VtYWNzL25hdGl2ZS1jb21w L2J1aWx0IC0td2l0aC1uYXRpdmVjb21wIgp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQVRUUklCVVRF X0FMSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9TVEFURU1F TlRfRVhQUkVTU0lPTlMgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgRE9VQkxF X1NMQVNIX0lTX0RJU1RJTkNUX1JPT1QgMQp8ICNkZWZpbmUgRlVOQ19SRUFMUEFUSF9XT1JLUyAx CnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0VOVklST05fREVD TCAxCnwgI2RlZmluZSBMU1RBVF9GT0xMT1dTX1NMQVNIRURfU1lNTElOSyAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZp bmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1N RU0gMAp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgVElNRV9UX0lTX1NJ R05FRCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1Ra TkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIE1BTExPQ18wX0lTX05PTk5VTEwgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9TVFJOTEVOIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lN QVggMQp8ICNkZWZpbmUgX1VTRV9TVERfU1RBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQ0xFQVJF UlJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZFT0ZfVU5MT0NLRUQgMAp8ICNkZWZp bmUgSEFWRV9ERUNMX0ZFUlJPUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkZMVVNI X1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GR0VUU19VTkxPQ0tFRCAwCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfRlBVVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZQVVRTX1VO TE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUkVBRF9VTkxPQ0tFRCAwCnwgI2RlZmluZSBI QVZFX0RFQ0xfRldSSVRFX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRDX1VOTE9D S0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRDSEFSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhB VkVfREVDTF9QVVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9QVVRDSEFSX1VOTE9D S0VEIDAKfCAjZGVmaW5lIEdFVEdST1VQU19UIGludAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVERU QUJMRVNJWkUgMAp8ICNkZWZpbmUgUFJPTU9URURfTU9ERV9UIGludAp8ICNkZWZpbmUgSEFWRV9T WVNfQUNMX0ggMQp8ICNkZWZpbmUgSEFWRV9BQ0xfR0VUX0ZJTEUgMQp8ICNkZWZpbmUgSEFWRV9B Q0xfU0VUX0ZJTEUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfRlJFRSAxCnwgI2RlZmluZSBIQVZFX0FD TF9GUk9NX1RFWFQgMQp8ICNkZWZpbmUgVVNFX0FDTCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJ Tl9FWFBFQ1QgMQp8ICNkZWZpbmUgR05VTElCX0NBTk9OSUNBTElaRV9MR1BMIDEKfCAjZGVmaW5l IEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgRE9VQkxFX1NMQVNIX0lTX0RJU1RJTkNU X1JPT1QgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf RkRPUEVORElSIDAKfCAjZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgRkxFWElC TEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUg PHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBl cy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9z dGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3RkbGli Lmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJf SAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFW RV9TVFJJTkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9N RU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1ZGUgPHN0 cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3Ry aW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGlu dHR5cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0 ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNsdWRlIDx1bmlz dGQuaD4KfCAjZW5kaWYKfCAjaW5jbHVkZSA8c3lzL2xvYWRhdmcuaD4KY29uZmlndXJlOjI5NjUx OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToyOTY1MTogY2hlY2tpbmcgc3lzL2xvYWRhdmcuaCBwcmVz ZW5jZQpjb25maWd1cmU6Mjk2NTE6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1FIC1tdHVuZT1nZW5l cmljICAgY29uZnRlc3QuYwpjb25mdGVzdC5jOjIwODoxMDogZmF0YWwgZXJyb3I6IHN5cy9sb2Fk YXZnLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICAyMDggfCAjaW5jbHVkZSA8c3lzL2xv YWRhdmcuaD4KICAgICAgfCAgICAgICAgICBefn5+fn5+fn5+fn5+fn4KY29tcGlsYXRpb24gdGVy bWluYXRlZC4KY29uZmlndXJlOjI5NjUxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh bSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9W RVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4w LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIK fCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNz LyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05T X18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAx CnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2Rl ZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNT IDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVm aW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dB TlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlf RlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9f IDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dB TlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZp bmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJ VFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dz LW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8 ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEK fCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBI QVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lN QUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFH RVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFE U19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAx CnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZp bmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEK fCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmluZSBI QVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwg I2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1P RFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUg SEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVmaW5l IE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmlu ZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwy IDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8 ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFW RV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NF VExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJM SU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9T SUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJ TUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8 ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAx CnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURfQUxMT0MgMAp8ICNkZWZpbmUgSEFWRV9fX0JV SUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5J VCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX1NCUksgMQp8ICNkZWZp bmUgSEFWRV9DQU5PTklDQUxJWkVfRklMRV9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksg MQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRVhQTElDSVRfQlpF Uk8gMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0RBVCAx CnwgI2RlZmluZSBIQVZFX0xDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5l IEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VU VElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAx CnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVm aW5lIEhBVkVfSVNXQ1RZUEUgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUg SEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIHZmb3Jr IGZvcmsKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19D T0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fX05MX1BBUEVSX1dJRFRIIDEKfCAjZGVm aW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBO VUxMX0RFVklDRSAiTlVMOiIKfCAjZGVmaW5lIFNFUENIQVIgJzsnCnwgI2RlZmluZSBzdWJwcm9j ZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBE SVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pICgoX2NfKSA9PSAn OicpCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09ICcvJyB8fCAoX2Nf KSA9PSAnXFwnKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChf Y18pIHx8IElTX0RFVklDRV9TRVAoX2NfKSkKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNF ICIvZGV2L2RzcCIKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX1NU QUNLX09WRVJGTE9XX0hBTkRMSU5HIDEKfCAjZGVmaW5lIERPU19OVCAvKiovCnwgI2RlZmluZSBX SU5ET1dTTlQgMQp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIENPUFlSSUdI VCAiQ29weXJpZ2h0IChDKSAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAj ZGVmaW5lIFRFUk1fSEVBREVSICJ3MzJ0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFU SU9OICJ4ODZfNjQtdzY0LW1pbmd3MzIiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAi LS1wcmVmaXg9L2hvbWUvVldpblVzZXIwL0Rvd25sb2Fkcy9lbWFjcy9uYXRpdmUtY29tcC9idWls dCAtLXdpdGgtbmF0aXZlY29tcCIKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FUVFJJQlVURV9BTElH TkVEIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEVNRU5UX0VY UFJFU1NJT05TIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFT SF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEZVTkNfUkVBTFBBVEhfV09SS1MgMQp8ICNk ZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8 ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhB VkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNTUVNIDAK fCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIFRJTUVfVF9JU19TSUdORUQg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUg MQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBNQUxMT0NfMF9JU19OT05OVUxMIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1RSTkxFTiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEK fCAjZGVmaW5lIF9VU0VfU1REX1NUQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0NMRUFSRVJSX1VO TE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRU9GX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhB VkVfREVDTF9GRVJST1JfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZGTFVTSF9VTkxP Q0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkdFVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFW RV9ERUNMX0ZQVVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUU19VTkxPQ0tF RCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlJFQURfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9E RUNMX0ZXUklURV9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VUQ19VTkxPQ0tFRCAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VUQ0hBUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfUFVUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVUQ0hBUl9VTkxPQ0tFRCAw CnwgI2RlZmluZSBHRVRHUk9VUFNfVCBpbnQKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVREVEFCTEVT SVpFIDAKfCAjZGVmaW5lIFBST01PVEVEX01PREVfVCBpbnQKfCAjZGVmaW5lIEhBVkVfU1lTX0FD TF9IIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0dFVF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX1NF VF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0ZSRUUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfRlJP TV9URVhUIDEKfCAjZGVmaW5lIFVTRV9BQ0wgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRVhQ RUNUIDEKfCAjZGVmaW5lIEdOVUxJQl9DQU5PTklDQUxJWkVfTEdQTCAxCnwgI2RlZmluZSBHTlVM SUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09U IDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BF TkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIEZMRVhJQkxFX0FS UkFZX01FTUJFUiAvKiovCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMv bG9hZGF2Zy5oPgpjb25maWd1cmU6Mjk2NTE6IHJlc3VsdDogbm8KY29uZmlndXJlOjI5NjUxOiBj aGVja2luZyBmb3Igc3lzL2xvYWRhdmcuaApjb25maWd1cmU6Mjk2NTE6IHJlc3VsdDogbm8KY29u ZmlndXJlOjI5NjY2OiBjaGVja2luZyB3aGV0aGVyIGdldGxvYWRhdmcgaXMgZGVjbGFyZWQKY29u ZmlndXJlOjI5NjY2OiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAt bXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdt YWluJzoKY29uZnRlc3QuYzoyMjM6MTA6IGVycm9yOiAnZ2V0bG9hZGF2ZycgdW5kZWNsYXJlZCAo Zmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgMjIzIHwgICAodm9pZCkgZ2V0bG9hZGF2ZzsK ICAgICAgfCAgICAgICAgICBefn5+fn5+fn5+CmNvbmZ0ZXN0LmM6MjIzOjEwOiBub3RlOiBlYWNo IHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVu Y3Rpb24gaXQgYXBwZWFycyBpbgpjb25maWd1cmU6Mjk2NjY6ICQ/ID0gMQpjb25maWd1cmU6IGZh aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05B TUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05V IEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFj c0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29m dHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERV TVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx CnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBf X0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lO X0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09V UkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVB RF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhU X18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5U X0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlf VFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJD RSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklM RV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZ UEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFW RV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JF U09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NL RVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEK fCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVm aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZp bmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFW RV9OQVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUg SEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBVU0VfTU1BUF9GT1JfQlVGRkVSUyAxCnwgI2Rl ZmluZSBUSFJFQURTX0VOQUJMRUQgMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhB VkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfSlNPTiAxCnwgI2RlZmluZSBIQVZFX1czMk5PVElG WSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NS T0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0hBUkZCVVpaIDEK fCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZF X0xDTVMyIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX01PRFVMRVMgMQp8 ICNkZWZpbmUgTU9EVUxFU19TVUZGSVggIi5kbGwiCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVCAx CnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0NPTVAg MQp8ICNkZWZpbmUgTkFUSVZFX0VMSVNQX1NVRkZJWCAiLmVsbiIKfCAjZGVmaW5lIEhBVkVfUE5H IDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBI QVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZF X1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9UUlVOQyAxCnwg I2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVm aW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5l IEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUg SEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9S RUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJ X1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURf U0VUTkFNRV9OUCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxJR05FRF9BTExPQyAwCnwgI2RlZmlu ZSBIQVZFX19fQlVJTFRJTl9GUkFNRV9BRERSRVNTIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElO X1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfU0JS SyAxCnwgI2RlZmluZSBIQVZFX0NBTk9OSUNBTElaRV9GSUxFX05BTUUgMQp8ICNkZWZpbmUgSEFW RV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9F WFBMSUNJVF9CWkVSTyAxCnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZF X0ZDSE1PREFUIDEKfCAjZGVmaW5lIEhBVkVfTENITU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwg MQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZp bmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBI QVZFX1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0lTQkxB TksgMQp8ICNkZWZpbmUgSEFWRV9JU1dDVFlQRSAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAx CnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNk ZWZpbmUgdmZvcmsgZm9yawp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZF X0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19fTkxfUEFQRVJfV0lE VEggMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEK fCAjZGVmaW5lIE5VTExfREVWSUNFICJOVUw6Igp8ICNkZWZpbmUgU0VQQ0hBUiAnOycKfCAjZGVm aW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MK fCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykg KChfY18pID09ICc6JykKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0g Jy8nIHx8IChfY18pID09ICdcXCcpCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVD VE9SWV9TRVAgKF9jXykgfHwgSVNfREVWSUNFX1NFUChfY18pKQp8ICNkZWZpbmUgREVGQVVMVF9T T1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVm aW5lIEhBVkVfU1RBQ0tfT1ZFUkZMT1dfSEFORExJTkcgMQp8ICNkZWZpbmUgRE9TX05UIC8qKi8K fCAjZGVmaW5lIFdJTkRPV1NOVCAxCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZp bmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInczMnRlcm0uaCIKfCAjZGVmaW5lIEVNQUNT X0NPTkZJR1VSQVRJT04gIng4Nl82NC13NjQtbWluZ3czMiIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJ R19PUFRJT05TICItLXByZWZpeD0vaG9tZS9WV2luVXNlcjAvRG93bmxvYWRzL2VtYWNzL25hdGl2 ZS1jb21wL2J1aWx0IC0td2l0aC1uYXRpdmVjb21wIgp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQVRU UklCVVRFX0FMSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9T VEFURU1FTlRfRVhQUkVTU0lPTlMgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUg RE9VQkxFX1NMQVNIX0lTX0RJU1RJTkNUX1JPT1QgMQp8ICNkZWZpbmUgRlVOQ19SRUFMUEFUSF9X T1JLUyAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0VOVklS T05fREVDTCAxCnwgI2RlZmluZSBMU1RBVF9GT0xMT1dTX1NMQVNIRURfU1lNTElOSyAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8 ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9NRU1NRU0gMAp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgVElNRV9U X0lTX1NJR05FRCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIE1BTExPQ18wX0lTX05PTk5VTEwgMQp8ICNkZWZpbmUgSEFWRV9XQ0hB Ul9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJOTEVOIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T VFJUT0lNQVggMQp8ICNkZWZpbmUgX1VTRV9TVERfU1RBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf Q0xFQVJFUlJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZFT0ZfVU5MT0NLRUQgMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX0ZFUlJPUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf RkZMVVNIX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GR0VUU19VTkxPQ0tFRCAwCnwg I2RlZmluZSBIQVZFX0RFQ0xfRlBVVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZQ VVRTX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUkVBRF9VTkxPQ0tFRCAwCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfRldSSVRFX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRD X1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRDSEFSX1VOTE9DS0VEIDAKfCAjZGVm aW5lIEhBVkVfREVDTF9QVVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9QVVRDSEFS X1VOTE9DS0VEIDAKfCAjZGVmaW5lIEdFVEdST1VQU19UIGludAp8ICNkZWZpbmUgSEFWRV9ERUNM X0dFVERUQUJMRVNJWkUgMAp8ICNkZWZpbmUgUFJPTU9URURfTU9ERV9UIGludAp8ICNkZWZpbmUg SEFWRV9TWVNfQUNMX0ggMQp8ICNkZWZpbmUgSEFWRV9BQ0xfR0VUX0ZJTEUgMQp8ICNkZWZpbmUg SEFWRV9BQ0xfU0VUX0ZJTEUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfRlJFRSAxCnwgI2RlZmluZSBI QVZFX0FDTF9GUk9NX1RFWFQgMQp8ICNkZWZpbmUgVVNFX0FDTCAxCnwgI2RlZmluZSBIQVZFX19f QlVJTFRJTl9FWFBFQ1QgMQp8ICNkZWZpbmUgR05VTElCX0NBTk9OSUNBTElaRV9MR1BMIDEKfCAj ZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgRE9VQkxFX1NMQVNIX0lTX0RJ U1RJTkNUX1JPT1QgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfRkRPUEVORElSIDAKfCAjZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZpbmUg RkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2lm IEhBVkVfU1lTX0xPQURBVkdfSAp8ICAgICAvKiBPcGVuSW5kaWFuYSBoYXMgYSBidWc6IDxzeXMv dGltZS5oPiBtdXN0IGJlIGluY2x1ZGVkIGJlZm9yZQp8ICAgICAgICA8c3lzL2xvYWRhdmcuaD4u ICAqLwp8ICAgICAjIGluY2x1ZGUgPHN5cy90aW1lLmg+CnwgICAgICMgaW5jbHVkZSA8c3lzL2xv YWRhdmcuaD4KfCAgICAgI2VuZGlmCnwgICAgICNpbmNsdWRlIDxzdGRsaWIuaD4KfCAKfCBpbnQK fCBtYWluICgpCnwgewp8ICNpZm5kZWYgZ2V0bG9hZGF2Zwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8 ICAgKHZvaWQpIGdldGxvYWRhdmc7CnwgI2Vsc2UKfCAgICh2b2lkKSBnZXRsb2FkYXZnOwp8ICNl bmRpZgp8ICNlbmRpZgp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6Mjk2NjY6 IHJlc3VsdDogbm8KY29uZmlndXJlOjI5OTM5OiBjaGVja2luZyBmb3IgYmNyeXB0LmgKY29uZmln dXJlOjI5OTM5OiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1 bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToyOTkzOTogJD8gPSAwCmNvbmZp Z3VyZToyOTkzOTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjI5OTUxOiBjaGVja2luZyB3aGV0aGVy IHRoZSBiY3J5cHQgbGlicmFyeSBpcyBndWFyYW50ZWVkIHRvIGJlIHByZXNlbnQKY29uZmlndXJl OjI5OTc5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTozMDAzNDogY2hlY2tpbmcgZm9yIGdldHRpbWVv ZmRheSB3aXRoIFBPU0lYIHNpZ25hdHVyZQpjb25maWd1cmU6MzAwNjI6IGdjYyAtSSAuLi9zcmMv bnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+ JjUKY29uZmlndXJlOjMwMDYyOiAkPyA9IDAKY29uZmlndXJlOjMwMDg3OiByZXN1bHQ6IHllcwpj b25maWd1cmU6MzAxNDk6IGNoZWNraW5nIHdoZXRoZXIgdGhlIGNvbXBpbGVyIHN1cHBvcnRzIHRo ZSBfX2lubGluZSBrZXl3b3JkCmNvbmZpZ3VyZTozMDE2NjogZ2NjIC1JIC4uL3NyYy9udC9pbmMg LWMgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5lPWdlbmVyaWMgICBjb25mdGVzdC5jID4mNQpjb25m aWd1cmU6MzAxNjY6ICQ/ID0gMApjb25maWd1cmU6MzAxNzM6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy ZTozMDE5NTogY2hlY2tpbmcgZ21wLmggdXNhYmlsaXR5CmNvbmZpZ3VyZTozMDE5NTogZ2NjIC1J IC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5lPWdlbmVyaWMgICBjb25m dGVzdC5jID4mNQpjb25maWd1cmU6MzAxOTU6ICQ/ID0gMApjb25maWd1cmU6MzAxOTU6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZTozMDE5NTogY2hlY2tpbmcgZ21wLmggcHJlc2VuY2UKY29uZmlndXJl OjMwMTk1OiBnY2MgLUkgLi4vc3JjL250L2luYyAtRSAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0 LmMKY29uZmlndXJlOjMwMTk1OiAkPyA9IDAKY29uZmlndXJlOjMwMTk1OiByZXN1bHQ6IHllcwpj b25maWd1cmU6MzAxOTU6IGNoZWNraW5nIGZvciBnbXAuaApjb25maWd1cmU6MzAxOTU6IHJlc3Vs dDogeWVzCmNvbmZpZ3VyZTozMDIwODogY2hlY2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyBf X2dtcHpfcm9pbml0X24KY29uZmlndXJlOjMwMjM5OiBnY2MgLUkgLi4vc3JjL250L2luYyAtbyBj b25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5lPWdlbmVyaWMgICAgY29uZnRlc3Qu YyAgID4mNSAKQzovbXN5czY0L21pbmd3NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5n dzMyLzEwLjIuMC8uLi8uLi8uLi8uLi94ODZfNjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogQzpc bXN5czY0XHRtcFxjY0tVS1FqUi5vOiBpbiBmdW5jdGlvbiBgbWFpbic6CkM6XG1zeXM2NFxob21l XFZXaW5Vc2VyMFxEb3dubG9hZHNcZW1hY3NcbmF0aXZlLWNvbXBcYnVpbGQvY29uZnRlc3QuYzoy MjU6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9fZ21wel9yb2luaXRfbicKY29sbGVjdDIuZXhl OiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MzAyMzk6ICQ/ID0g MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2Rl ZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAi ZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNL QUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S VCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8v d3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAj ZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVf TUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwg I2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVm aW5lIF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmlu ZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYw NTU5X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9F WFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVm aW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENf V0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VY VDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmlu ZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAx CnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNk ZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0gg MQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBI QVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9X Q0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lT X1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTlRHVUkg MQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVmaW5lIFNZU1RFTV9NQUxM T0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBVU0VfTU1BUF9GT1Jf QlVGRkVSUyAxCnwgI2RlZmluZSBUSFJFQURTX0VOQUJMRUQgMQp8ICNkZWZpbmUgSEFWRV9SU1ZH IDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfSlNPTiAxCnwgI2RlZmlu ZSBIQVZFX1czMk5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUg VVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBI QVZFX0hBUkZCVVpaIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAx CnwgI2RlZmluZSBIQVZFX0xDTVMyIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBI QVZFX01PRFVMRVMgMQp8ICNkZWZpbmUgTU9EVUxFU19TVUZGSVggIi5kbGwiCnwgI2RlZmluZSBI QVZFX0xJQkdDQ0pJVCAxCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVF9IIDEKfCAjZGVmaW5lIEhB VkVfTkFUSVZFX0NPTVAgMQp8ICNkZWZpbmUgTkFUSVZFX0VMSVNQX1NVRkZJWCAiLmVsbiIKfCAj ZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJ RiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAx CnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUg SEFWRV9UUlVOQyAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBB R0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJ TUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04g MQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdO QUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8 ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAj ZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmlu ZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxJR05FRF9B TExPQyAwCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9GUkFNRV9BRERSRVNTIDEKfCAjZGVmaW5l IEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAj ZGVmaW5lIEhBVkVfU0JSSyAxCnwgI2RlZmluZSBIQVZFX0NBTk9OSUNBTElaRV9GSUxFX05BTUUg MQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LQVQgMQp8 ICNkZWZpbmUgSEFWRV9FWFBMSUNJVF9CWkVSTyAxCnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAx CnwgI2RlZmluZSBIQVZFX0ZDSE1PREFUIDEKfCAjZGVmaW5lIEhBVkVfTENITU9EIDEKfCAjZGVm aW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVf RlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RB VCAxCnwgI2RlZmluZSBIQVZFX1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2Rl ZmluZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9JU1dDVFlQRSAxCnwgI2RlZmluZSBI QVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9V VElNRU5TQVQgMQp8ICNkZWZpbmUgdmZvcmsgZm9yawp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAx CnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5G T19fTkxfUEFQRVJfV0lEVEggMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUg SEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICJOVUw6Igp8ICNkZWZpbmUgU0VQ Q0hBUiAnOycKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFN RSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19E RVZJQ0VfU0VQKF9jXykgKChfY18pID09ICc6JykKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAo X2NfKSAoKF9jXykgPT0gJy8nIHx8IChfY18pID09ICdcXCcpCnwgI2RlZmluZSBJU19BTllfU0VQ KF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykgfHwgSVNfREVWSUNFX1NFUChfY18pKQp8ICNk ZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgR0NfU0VUSk1Q X1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfU1RBQ0tfT1ZFUkZMT1dfSEFORExJTkcgMQp8ICNkZWZp bmUgRE9TX05UIC8qKi8KfCAjZGVmaW5lIFdJTkRPV1NOVCAxCnwgI2RlZmluZSBVU0FCTEVfRklP TlJFQUQgMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMjAgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInczMnRlcm0uaCIK fCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gIng4Nl82NC13NjQtbWluZ3czMiIKfCAjZGVm aW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZpeD0vaG9tZS9WV2luVXNlcjAvRG93bmxv YWRzL2VtYWNzL25hdGl2ZS1jb21wL2J1aWx0IC0td2l0aC1uYXRpdmVjb21wIgp8ICNkZWZpbmUg SEFWRV9TVFJVQ1RfQVRUUklCVVRFX0FMSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8 ICNkZWZpbmUgSEFWRV9TVEFURU1FTlRfRVhQUkVTU0lPTlMgMQp8ICNkZWZpbmUgSEFWRV9BTExP Q0EgMQp8ICNkZWZpbmUgRE9VQkxFX1NMQVNIX0lTX0RJU1RJTkNUX1JPT1QgMQp8ICNkZWZpbmUg RlVOQ19SRUFMUEFUSF9XT1JLUyAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2Rl ZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBMU1RBVF9GT0xMT1dTX1NMQVNIRURf U1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBIQVZFX0xP TkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9NRU1NRU0gMAp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8 ICNkZWZpbmUgVElNRV9UX0lTX1NJR05FRCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIE1BTExPQ18wX0lTX05PTk5VTEwgMQp8ICNk ZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJOTEVOIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgX1VTRV9TVERfU1RBVCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfQ0xFQVJFUlJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZF T0ZfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZFUlJPUl9VTkxPQ0tFRCAwCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfRkZMVVNIX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GR0VU U19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlBVVENfVU5MT0NLRUQgMAp8ICNkZWZp bmUgSEFWRV9ERUNMX0ZQVVRTX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUkVBRF9V TkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRldSSVRFX1VOTE9DS0VEIDAKfCAjZGVmaW5l IEhBVkVfREVDTF9HRVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRDSEFSX1VO TE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9QVVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhB VkVfREVDTF9QVVRDSEFSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEdFVEdST1VQU19UIGludAp8ICNk ZWZpbmUgSEFWRV9ERUNMX0dFVERUQUJMRVNJWkUgMAp8ICNkZWZpbmUgUFJPTU9URURfTU9ERV9U IGludAp8ICNkZWZpbmUgSEFWRV9TWVNfQUNMX0ggMQp8ICNkZWZpbmUgSEFWRV9BQ0xfR0VUX0ZJ TEUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfU0VUX0ZJTEUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfRlJF RSAxCnwgI2RlZmluZSBIQVZFX0FDTF9GUk9NX1RFWFQgMQp8ICNkZWZpbmUgVVNFX0FDTCAxCnwg I2RlZmluZSBIQVZFX19fQlVJTFRJTl9FWFBFQ1QgMQp8ICNkZWZpbmUgR05VTElCX0NBTk9OSUNB TElaRV9MR1BMIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgRE9V QkxFX1NMQVNIX0lTX0RJU1RJTkNUX1JPT1QgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDAKfCAjZGVmaW5lIEdOVUxJQl9GRE9QRU5E SVIgMQp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIF9fR0VU T1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0JDUllQVF9IIDEKfCAjZGVmaW5lIEdFVFRJ TUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBfR0xfUkVQTEFDRV9JRUVFNzU0X0ggMQp8 ICNkZWZpbmUgSEFWRV9fX0lOTElORSAxCnwgI2RlZmluZSBIQVZFX0dNUF9IIDEKfCAvKiBlbmQg Y29uZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5 cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0 Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJn dW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3Bs dXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBfX2dtcHpfcm9pbml0X24gKCk7CnwgaW50 CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gX19nbXB6X3JvaW5pdF9uICgpOwp8ICAgOwp8ICAgcmV0 dXJuIDA7CnwgfQpjb25maWd1cmU6MzAyMzk6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0 ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgICBjb25mdGVzdC5jIC1s Z21wICAgID4mNSAKY29uZmlndXJlOjMwMjM5OiAkPyA9IDAKY29uZmlndXJlOjMwMjU2OiByZXN1 bHQ6IC1sZ21wCmNvbmZpZ3VyZTozMDM1MDogY2hlY2tpbmcgZm9yIG1lbW1lbQpjb25maWd1cmU6 MzAzNTA6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1nZHdh cmYtMiAtbXR1bmU9Z2VuZXJpYyAgICBjb25mdGVzdC5jICAgPiY1IApDOi9tc3lzNjQvbWluZ3c2 NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvMTAuMi4wLy4uLy4uLy4uLy4uL3g4 Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBDOlxtc3lzNjRcdG1wXGNjTU9uVTg1Lm86IGlu IGZ1bmN0aW9uIGBtYWluJzoKQzpcbXN5czY0XGhvbWVcVldpblVzZXIwXERvd25sb2Fkc1xlbWFj c1xuYXRpdmUtY29tcFxidWlsZC9jb25mdGVzdC5jOjI0ODogdW5kZWZpbmVkIHJlZmVyZW5jZSB0 byBgbWVtbWVtJwpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVz CmNvbmZpZ3VyZTozMDM1MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8 IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNk ZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi MjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAj ZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmlu ZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2Rl ZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNU RENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1Nf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAj ZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZp bmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09Q RU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2Rl ZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NU RENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182 MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VY VF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2Rl ZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhf U1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVY X0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0Cnwg I2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIKfCAj ZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5l IEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmlu ZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf Q0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1J VFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK fCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0gg MQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9JTUFHRV9BUEkg MQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEK fCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxF RCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZp bmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9G SUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmlu ZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNkZWZpbmUgSEFWRV9YUE0g MQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENNUzIgMQp8ICNkZWZpbmUg SEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmluZSBNT0RVTEVTX1NV RkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAjZGVmaW5lIEhBVkVfTElC R0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwgI2RlZmluZSBOQVRJVkVf RUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9U SUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2Rl ZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5l IEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNU IDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUg MQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8 ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAx CnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwg I2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5l IEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZp bmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1FX05QIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDAKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX0ZS QU1FX0FERFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNk ZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9TQlJLIDEKfCAjZGVmaW5lIEhBVkVf Q0FOT05JQ0FMSVpFX0ZJTEVfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVm aW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0VYUExJQ0lUX0JaRVJPIDEKfCAj ZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EQVQgMQp8ICNkZWZp bmUgSEFWRV9MQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZT VEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRB WSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNkZWZp bmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2RlZmluZSBIQVZF X0lTV0NUWVBFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lN TElOSyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwgI2RlZmluZSB2Zm9yayBmb3JrCnwg I2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAx CnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX19OTF9QQVBFUl9XSURUSCAxCnwgI2RlZmluZSBIQVZF X01CU1RBVEVfVCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJ Q0UgIk5VTDoiCnwgI2RlZmluZSBTRVBDSEFSICc7Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEK fCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZ X1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAoKF9jXykgPT0gJzonKQp8ICNk ZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSAnLycgfHwgKF9jXykgPT0gJ1xc JykKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSB8fCBJ U19ERVZJQ0VfU0VQKF9jXykpCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9k c3AiCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9TVEFDS19PVkVS RkxPV19IQU5ETElORyAxCnwgI2RlZmluZSBET1NfTlQgLyoqLwp8ICNkZWZpbmUgV0lORE9XU05U IDEKfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHly aWdodCAoQykgMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBU RVJNX0hFQURFUiAidzMydGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAieDg2 XzY0LXc2NC1taW5ndzMyIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4 PS9ob21lL1ZXaW5Vc2VyMC9Eb3dubG9hZHMvZW1hY3MvbmF0aXZlLWNvbXAvYnVpbHQgLS13aXRo LW5hdGl2ZWNvbXAiCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BVFRSSUJVVEVfQUxJR05FRCAxCnwg I2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX1NUQVRFTUVOVF9FWFBSRVNTSU9O UyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBET1VCTEVfU0xBU0hfSVNfRElT VElOQ1RfUk9PVCAxCnwgI2RlZmluZSBGVU5DX1JFQUxQQVRIX1dPUktTIDEKfCAjZGVmaW5lIHJl c3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5l IExTVEFUX0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJN T0RFIDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lH TkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTU1FTSAwCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBUSU1FX1RfSVNfU0lHTkVEIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVm aW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgTUFM TE9DXzBfSVNfTk9OTlVMTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX1NUUk5MRU4gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmlu ZSBfVVNFX1NURF9TVEFUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9DTEVBUkVSUl9VTkxPQ0tFRCAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfRkVPRl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf RkVSUk9SX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRkxVU0hfVU5MT0NLRUQgMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX0ZHRVRTX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9G UFVUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlBVVFNfVU5MT0NLRUQgMAp8ICNk ZWZpbmUgSEFWRV9ERUNMX0ZSRUFEX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GV1JJ VEVfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVENfVU5MT0NLRUQgMAp8ICNkZWZp bmUgSEFWRV9ERUNMX0dFVENIQVJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1BVVENf VU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1BVVENIQVJfVU5MT0NLRUQgMAp8ICNkZWZp bmUgR0VUR1JPVVBTX1QgaW50CnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURFRBQkxFU0laRSAwCnwg I2RlZmluZSBQUk9NT1RFRF9NT0RFX1QgaW50CnwgI2RlZmluZSBIQVZFX1NZU19BQ0xfSCAxCnwg I2RlZmluZSBIQVZFX0FDTF9HRVRfRklMRSAxCnwgI2RlZmluZSBIQVZFX0FDTF9TRVRfRklMRSAx CnwgI2RlZmluZSBIQVZFX0FDTF9GUkVFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0ZST01fVEVYVCAx CnwgI2RlZmluZSBVU0VfQUNMIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX0VYUEVDVCAxCnwg I2RlZmluZSBHTlVMSUJfQ0FOT05JQ0FMSVpFX0xHUEwgMQp8ICNkZWZpbmUgR05VTElCX0NMT1NF X1NUUkVBTSAxCnwgI2RlZmluZSBET1VCTEVfU0xBU0hfSVNfRElTVElOQ1RfUk9PVCAxCnwgI2Rl ZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GRE9QRU5ESVIgMAp8 ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1C RVIgLyoqLwp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfQkNS WVBUX0ggMQp8ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHZvaWQKfCAjZGVmaW5lIF9H TF9SRVBMQUNFX0lFRUU3NTRfSCAxCnwgI2RlZmluZSBIQVZFX19fSU5MSU5FIDEKfCAjZGVmaW5l IEhBVkVfR01QX0ggMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgbWVtbWVt IHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgbWVt bWVtLgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0 aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgbWVtbWVtIGlubm9jdW91c19tZW1tZW0KfCAKfCAvKiBT eXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHBy b3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgbWVtbWVtICgpOyBi ZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBp cyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFu ZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGlt aXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRl ZiBtZW1tZW0KfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBh dm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUg cmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBw cm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4 dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIG1lbW1lbSAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFy eSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRv IGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5h bWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUg aXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9tZW1tZW0gfHwgZGVmaW5lZCBf X3N0dWJfX19tZW1tZW0KfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7 CnwgcmV0dXJuIG1lbW1lbSAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjMw MzUwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTozMDQ4NTogY2hlY2tpbmcgZm9yIG1lbXBjcHkKY29u ZmlndXJlOjMwNDg1OiBnY2MgLUkgLi4vc3JjL250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1P MiAtZ2R3YXJmLTIgLW10dW5lPWdlbmVyaWMgICAgY29uZnRlc3QuYyAgID4mNSAKY29uZnRlc3Qu YzoyMzc6Njogd2FybmluZzogY29uZmxpY3RpbmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9u ICdtZW1wY3B5JzsgZXhwZWN0ZWQgJ3ZvaWQgKih2b2lkICosIGNvbnN0IHZvaWQgKiwgbG9uZyBs b25nIHVuc2lnbmVkIGludCknIFstV2J1aWx0aW4tZGVjbGFyYXRpb24tbWlzbWF0Y2hdCiAgMjM3 IHwgY2hhciBtZW1wY3B5ICgpOwogICAgICB8ICAgICAgXn5+fn5+fgpjb25maWd1cmU6MzA0ODU6 ICQ/ID0gMApjb25maWd1cmU6MzA0ODU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMDUzNTogY2hl Y2tpbmcgZm9yIG1lbXJjaHIKY29uZmlndXJlOjMwNTM1OiBnY2MgLUkgLi4vc3JjL250L2luYyAt byBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5lPWdlbmVyaWMgICAgY29uZnRl c3QuYyAgID4mNSAKQzovbXN5czY0L21pbmd3NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1t aW5ndzMyLzEwLjIuMC8uLi8uLi8uLi8uLi94ODZfNjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTog QzpcbXN5czY0XHRtcFxjY3lkTDRaRS5vOiBpbiBmdW5jdGlvbiBgbWFpbic6CkM6XG1zeXM2NFxo b21lXFZXaW5Vc2VyMFxEb3dubG9hZHNcZW1hY3NcbmF0aXZlLWNvbXBcYnVpbGQvY29uZnRlc3Qu YzoyNDk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYG1lbXJjaHInCmNvbGxlY3QyLmV4ZTogZXJy b3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjMwNTM1OiAkPyA9IDEKY29u ZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUg UEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNz Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9T VFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1 Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5n bnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmlu ZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9S WV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8 ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZp bmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBf TkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BP U0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9B VFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18g MQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBf X1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRf SUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18g MQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RB TkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNk ZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5l IFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAj ZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF X1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9E SVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJf SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1F IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAj ZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEK fCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZF UlMgMQp8ICNkZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwg I2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFW RV9XMzJOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9U T09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9I QVJGQlVaWiAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNk ZWZpbmUgSEFWRV9MQ01TMiAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9N T0RVTEVTIDEKfCAjZGVmaW5lIE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9M SUJHQ0NKSVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05B VElWRV9DT01QIDEKfCAjZGVmaW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmlu ZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8 ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNk ZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVf VFJVTkMgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0la RSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAx CnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAj ZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEK fCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVm aW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFW RV9QVEhSRUFEX1NFVE5BTUVfTlAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURfQUxMT0Mg MAp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2RlZmluZSBIQVZF X19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmlu ZSBIQVZFX1NCUksgMQp8ICNkZWZpbmUgSEFWRV9DQU5PTklDQUxJWkVfRklMRV9OQU1FIDEKfCAj ZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVm aW5lIEhBVkVfRVhQTElDSVRfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNk ZWZpbmUgSEFWRV9GQ0hNT0RBVCAxCnwgI2RlZmluZSBIQVZFX0xDSE1PRCAxCnwgI2RlZmluZSBI QVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5D IDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8 ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUg SEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfSVNXQ1RZUEUgMQp8ICNkZWZpbmUgSEFWRV9T VFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVO U0FUIDEKfCAjZGVmaW5lIHZmb3JrIGZvcmsKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNk ZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fX05M X1BBUEVSX1dJRFRIIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIEhBVkVf U09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiTlVMOiIKfCAjZGVmaW5lIFNFUENIQVIg JzsnCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHct PnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNF X1NFUChfY18pICgoX2NfKSA9PSAnOicpCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykg KChfY18pID09ICcvJyB8fCAoX2NfKSA9PSAnXFwnKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18p IChJU19ESVJFQ1RPUllfU0VQIChfY18pIHx8IElTX0RFVklDRV9TRVAoX2NfKSkKfCAjZGVmaW5l IERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JL UyAxCnwgI2RlZmluZSBIQVZFX1NUQUNLX09WRVJGTE9XX0hBTkRMSU5HIDEKfCAjZGVmaW5lIERP U19OVCAvKiovCnwgI2RlZmluZSBXSU5ET1dTTlQgMQp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFE IDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDIwIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ3MzJ0ZXJtLmgiCnwgI2Rl ZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQtdzY0LW1pbmd3MzIiCnwgI2RlZmluZSBF TUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9L2hvbWUvVldpblVzZXIwL0Rvd25sb2Fkcy9l bWFjcy9uYXRpdmUtY29tcC9idWlsdCAtLXdpdGgtbmF0aXZlY29tcCIKfCAjZGVmaW5lIEhBVkVf U1RSVUNUX0FUVFJJQlVURV9BTElHTkVEIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVm aW5lIEhBVkVfU1RBVEVNRU5UX0VYUFJFU1NJT05TIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEK fCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEZVTkNf UkVBTFBBVEhfV09SS1MgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUg SEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJ TksgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xP TkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfTUVNTUVNIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVm aW5lIFRJTUVfVF9JU19TSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBNQUxMT0NfMF9JU19OT05OVUxMIDEKfCAjZGVmaW5l IEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTkxFTiAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIF9VU0VfU1REX1NUQVQgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX0NMRUFSRVJSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRU9GX1VO TE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRVJST1JfVU5MT0NLRUQgMAp8ICNkZWZpbmUg SEFWRV9ERUNMX0ZGTFVTSF9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkdFVFNfVU5M T0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZQVVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhB VkVfREVDTF9GUFVUU19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlJFQURfVU5MT0NL RUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZXUklURV9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZF X0RFQ0xfR0VUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VUQ0hBUl9VTkxPQ0tF RCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfUFVUQ0hBUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBHRVRHUk9VUFNfVCBpbnQKfCAjZGVmaW5l IEhBVkVfREVDTF9HRVREVEFCTEVTSVpFIDAKfCAjZGVmaW5lIFBST01PVEVEX01PREVfVCBpbnQK fCAjZGVmaW5lIEhBVkVfU1lTX0FDTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0dFVF9GSUxFIDEK fCAjZGVmaW5lIEhBVkVfQUNMX1NFVF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0ZSRUUgMQp8 ICNkZWZpbmUgSEFWRV9BQ0xfRlJPTV9URVhUIDEKfCAjZGVmaW5lIFVTRV9BQ0wgMQp8ICNkZWZp bmUgSEFWRV9fX0JVSUxUSU5fRVhQRUNUIDEKfCAjZGVmaW5lIEdOVUxJQl9DQU5PTklDQUxJWkVf TEdQTCAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIERPVUJMRV9T TEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEK fCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBfX0dFVE9QVF9Q UkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9CQ1JZUFRfSCAxCnwgI2RlZmluZSBHRVRUSU1FT0ZE QVlfVElNRVpPTkUgdm9pZAp8ICNkZWZpbmUgX0dMX1JFUExBQ0VfSUVFRTc1NF9IIDEKfCAjZGVm aW5lIEhBVkVfX19JTkxJTkUgMQp8ICNkZWZpbmUgSEFWRV9HTVBfSCAxCnwgI2RlZmluZSBIQVZF X01FTVBDUFkgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgbWVtcmNociB0 byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIG1lbXJj aHIuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRp bWVvZmRheS4gICovCnwgI2RlZmluZSBtZW1yY2hyIGlubm9jdW91c19tZW1yY2hyCnwgCnwgLyog U3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBw cm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIG1lbXJjaHIgKCk7 IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19f IGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0 YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxs aW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3Vu ZGVmIG1lbXJjaHIKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0 byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0 aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVu dCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8 IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIG1lbXJjaHIgKCk7CnwgLyogVGhlIEdOVSBDIGxp YnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAg ICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxs eSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBu YW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfbWVtcmNociB8fCBkZWZp bmVkIF9fc3R1Yl9fX21lbXJjaHIKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4g KCkKfCB7CnwgcmV0dXJuIG1lbXJjaHIgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZp Z3VyZTozMDUzNTogcmVzdWx0OiBubwpjb25maWd1cmU6MzA3MDI6IGNoZWNraW5nIHdoZXRoZXIg c2lnbmF0dXJlIG9mIHBzZWxlY3QgY29uZm9ybXMgdG8gUE9TSVgKY29uZmlndXJlOjMwNzMwOiBy ZXN1bHQ6IHllcwpjb25maWd1cmU6MzA3MzM6IGNoZWNraW5nIHdoZXRoZXIgcHNlbGVjdCBkZXRl Y3RzIGludmFsaWQgZmRzCmNvbmZpZ3VyZTozMDc5NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMw ODM0OiBjaGVja2luZyB3aGV0aGVyIHB0aHJlYWRfc2lnbWFzayBpcyBhIG1hY3JvCmNvbmZpZ3Vy ZTozMDg1ODogcmVzdWx0OiBubwpjb25maWd1cmU6MzA4ODc6IGNoZWNraW5nIHdoZXRoZXIgcHRo cmVhZF9zaWdtYXNrIHdvcmtzIHdpdGhvdXQgLWxwdGhyZWFkCmNvbmZpZ3VyZTozMDkxNjogZ2Nj IC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVu ZT1nZW5lcmljICAgIGNvbmZ0ZXN0LmMgICA+JjUgCmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdt YWluJzoKY29uZnRlc3QuYzoyMjQ6MjI6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnc2lnc2V0 X3QnOyBkaWQgeW91IG1lYW4gJ19zaWdzZXRfdCc/CiAgMjI0IHwgICAgICAgICAgICAgICAgICAg ICAgc2lnc2V0X3Qgc2V0OwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgX3NpZ3NldF90CmNvbmZ0ZXN0LmM6MjI1OjIyOiB3 YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnc2lnZW1wdHlzZXQnIFst V2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIDIyNSB8ICAgICAgICAgICAgICAgICAg ICAgIHNpZ2VtcHR5c2V0ICgmc2V0KTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICBefn5+ fn5+fn5+fgpjb25maWd1cmU6MzA5MTY6ICQ/ID0gMQpjb25maWd1cmU6IHByb2dyYW0gZXhpdGVk IHdpdGggc3RhdHVzIDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl ZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNL QUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8 ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFD S0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0Vf VVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxf VVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJT IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FM TF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NP VVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VS Q0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1RE Q19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lF Q182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9F WFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNk ZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1RE Q19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNT X18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVO X1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdD Q19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFW RV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxM T0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdE X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJf SCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0gg MQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAj ZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l IEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg VElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmlu ZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwgI2RlZmlu ZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUg VVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVm aW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0pT T04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZ IDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0g MQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmlu ZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwgI2RlZmluZSBIQVZFX1pMSUIg MQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1PRFVMRVNfU1VGRklYICIuZGxs Igp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAx CnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVmaW5lIE5BVElWRV9FTElTUF9TVUZG SVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNk ZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVf R0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5U IDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZp bmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBI QVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5l IEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhB VkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRT T0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0xP RzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX0FMSUdORURfQUxMT0MgMAp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRlJBTUVfQUREUkVT UyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZF X0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX1NCUksgMQp8ICNkZWZpbmUgSEFWRV9DQU5PTklDQUxJ WkVfRklMRV9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9S RUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRVhQTElDSVRfQlpFUk8gMQp8ICNkZWZpbmUgSEFW RV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0RBVCAxCnwgI2RlZmluZSBIQVZFX0xD SE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwg I2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVm aW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BT RUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfSVNXQ1RZUEUg MQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAj ZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIHZmb3JrIGZvcmsKfCAjZGVmaW5lIEhB VkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5l IEhBVkVfTEFOR0lORk9fX05MX1BBUEVSX1dJRFRIIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9U IDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiTlVMOiIK fCAjZGVmaW5lIFNFUENIQVIgJzsnCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUg VVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8 ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pICgoX2NfKSA9PSAnOicpCnwgI2RlZmluZSBJU19E SVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09ICcvJyB8fCAoX2NfKSA9PSAnXFwnKQp8ICNkZWZp bmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pIHx8IElTX0RFVklDRV9T RVAoX2NfKSkKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVm aW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX1NUQUNLX09WRVJGTE9XX0hBTkRM SU5HIDEKfCAjZGVmaW5lIERPU19OVCAvKiovCnwgI2RlZmluZSBXSU5ET1dTTlQgMQp8ICNkZWZp bmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAy MDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVS ICJ3MzJ0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQtdzY0LW1p bmd3MzIiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9L2hvbWUvVldp blVzZXIwL0Rvd25sb2Fkcy9lbWFjcy9uYXRpdmUtY29tcC9idWlsdCAtLXdpdGgtbmF0aXZlY29t cCIKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FUVFJJQlVURV9BTElHTkVEIDEKfCAjZGVmaW5lIEhB VkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEVNRU5UX0VYUFJFU1NJT05TIDEKfCAjZGVm aW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09U IDEKfCAjZGVmaW5lIEZVTkNfUkVBTFBBVEhfV09SS1MgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19y ZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgTFNUQVRfRk9M TE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNk ZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19M T05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNTUVNIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9NRU1SQ0hSIDAKfCAjZGVmaW5lIFRJTUVfVF9JU19TSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9U Wk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBNQUxMT0NfMF9JU19O T05OVUxMIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RS TkxFTiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIF9VU0VfU1RE X1NUQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0NMRUFSRVJSX1VOTE9DS0VEIDAKfCAjZGVmaW5l IEhBVkVfREVDTF9GRU9GX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRVJST1JfVU5M T0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZGTFVTSF9VTkxPQ0tFRCAwCnwgI2RlZmluZSBI QVZFX0RFQ0xfRkdFVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZQVVRDX1VOTE9D S0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUU19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZF X0RFQ0xfRlJFQURfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZXUklURV9VTkxPQ0tF RCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfR0VUQ0hBUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVUQ19VTkxPQ0tFRCAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVUQ0hBUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBHRVRHUk9V UFNfVCBpbnQKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVREVEFCTEVTSVpFIDAKfCAjZGVmaW5lIFBS T01PVEVEX01PREVfVCBpbnQKfCAjZGVmaW5lIEhBVkVfU1lTX0FDTF9IIDEKfCAjZGVmaW5lIEhB VkVfQUNMX0dFVF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX1NFVF9GSUxFIDEKfCAjZGVmaW5l IEhBVkVfQUNMX0ZSRUUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfRlJPTV9URVhUIDEKfCAjZGVmaW5l IFVTRV9BQ0wgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRVhQRUNUIDEKfCAjZGVmaW5lIEdO VUxJQl9DQU5PTklDQUxJWkVfTEdQTCAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEK fCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEdOVUxJ Ql9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAwCnwgI2RlZmluZSBH TlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwg I2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9CQ1JZUFRfSCAxCnwg I2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZpbmUgX0dMX1JFUExBQ0Vf SUVFRTc1NF9IIDEKfCAjZGVmaW5lIEhBVkVfX19JTkxJTkUgMQp8ICNkZWZpbmUgSEFWRV9HTVBf SCAxCnwgI2RlZmluZSBIQVZFX01FTVBDUFkgMQp8ICNkZWZpbmUgR05VTElCX01LT1NURU1QIDEK fCAjZGVmaW5lIE5FRURfTUtUSU1FX1dJTkRPV1MgMQp8ICNkZWZpbmUgbXlfc3RyZnRpbWUgbnN0 cmZ0aW1lCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8ICAgICAgICAgICAgICAgICAgICAj aW5jbHVkZSA8cHRocmVhZC5oPgp8ICAgICAgICAgICAgICAgICAgICAjaW5jbHVkZSA8c2lnbmFs Lmg+CnwgICAgICAgICAgICAgICAgICAgICNpbmNsdWRlIDxzdGRkZWYuaD4KfCAgICAgICAgICAg ICAgICAgICAgaW50IG1haW4gKCkKfCAgICAgICAgICAgICAgICAgICAgewp8ICAgICAgICAgICAg ICAgICAgICAgIHNpZ3NldF90IHNldDsKfCAgICAgICAgICAgICAgICAgICAgICBzaWdlbXB0eXNl dCAoJnNldCk7CnwgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHB0aHJlYWRfc2lnbWFzayAo MTcyOSwgJnNldCwgTlVMTCkgIT0gMDsKfCAgICAgICAgICAgICAgICAgICAgfQpjb25maWd1cmU6 MzA5Mjc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMDk0MDogY2hlY2tpbmcgd2hldGhlciBwdGhy ZWFkX3NpZ21hc2sgcmV0dXJucyBlcnJvciBudW1iZXJzCmNvbmZpZ3VyZTozMDk4NDogcmVzdWx0 OiB5ZXMKY29uZmlndXJlOjMwOTk1OiBjaGVja2luZyB3aGV0aGVyIHB0aHJlYWRfc2lnbWFzayB1 bmJsb2NrcyBzaWduYWxzIGNvcnJlY3RseQpjb25maWd1cmU6MzEwNjQ6IHJlc3VsdDogbm90IHJl bGV2YW50CmNvbmZpZ3VyZTozMTExMjogY2hlY2tpbmcgd2hldGhlciByZWFkbGluayBzaWduYXR1 cmUgaXMgY29ycmVjdApjb25maWd1cmU6MzExMzA6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1n MyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJl OjMxMTMwOiAkPyA9IDAKY29uZmlndXJlOjMxMTM3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzEx Mzk6IGNoZWNraW5nIHdoZXRoZXIgcmVhZGxpbmsgaGFuZGxlcyB0cmFpbGluZyBzbGFzaCBjb3Jy ZWN0bHkKY29uZmlndXJlOjMxMTgyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzEyMzM6IGNoZWNr aW5nIHdoZXRoZXIgcmVhZGxpbmthdCBzaWduYXR1cmUgaXMgY29ycmVjdApjb25maWd1cmU6MzEy NTE6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5l cmljICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjMxMjUxOiAkPyA9IDAKY29uZmlndXJlOjMx MjU4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzEzMTU6IGNoZWNraW5nIGZvciB3b3JraW5nIHJl X2NvbXBpbGVfcGF0dGVybgpjb25maWd1cmU6MzE1OTI6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1v IGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgICBjb25mdGVz dC5jICAgPiY1IApjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjQy OjQ1OiBlcnJvcjogc3RvcmFnZSBzaXplIG9mICdyZWdleCcgaXNuJ3Qga25vd24KICAyNDIgfCAg ICAgICAgICAgICBzdGF0aWMgc3RydWN0IHJlX3BhdHRlcm5fYnVmZmVyIHJlZ2V4OwogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn4KY29uZnRl c3QuYzoyNDY6MzM6IGVycm9yOiBzdG9yYWdlIHNpemUgb2YgJ3JlZ3MnIGlzbid0IGtub3duCiAg MjQ2IHwgICAgICAgICAgICAgc3RydWN0IHJlX3JlZ2lzdGVycyByZWdzOwogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fgpjb25mdGVzdC5jOjI1MjoyMTogZXJyb3I6 ICdTSUdBTFJNJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5 b3UgbWVhbiAnU0lHQUJSVCc/CiAgMjUyIHwgICAgICAgICAgICAgc2lnbmFsIChTSUdBTFJNLCBT SUdfREZMKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KICAgICAgfCAgICAg ICAgICAgICAgICAgICAgIFNJR0FCUlQKY29uZnRlc3QuYzoyNTI6MjE6IG5vdGU6IGVhY2ggdW5k ZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlv biBpdCBhcHBlYXJzIGluCmNvbmZ0ZXN0LmM6MjUzOjEzOiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNs YXJhdGlvbiBvZiBmdW5jdGlvbiAnYWxhcm0nIFstV2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0 aW9uXQogIDI1MyB8ICAgICAgICAgICAgIGFsYXJtICgyKTsKICAgICAgfCAgICAgICAgICAgICBe fn5+fgpjb25mdGVzdC5jOjI3MToxOTogd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2Yg ZnVuY3Rpb24gJ3JlX3NldF9zeW50YXgnIFstV2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9u XQogIDI3MSB8ICAgICAgICAgICAgICAgICAgIHJlX3NldF9zeW50YXggKFJFX1NZTlRBWF9HUkVQ IHwgUkVfSEFUX0xJU1RTX05PVF9ORVdMSU5FCiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn5+ fn5+fn5+fn5+fgpjb25mdGVzdC5jOjI3MTozNDogZXJyb3I6ICdSRV9TWU5UQVhfR1JFUCcgdW5k ZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgMjcxIHwgICAgICAgICAgICAg ICAgICAgcmVfc2V0X3N5bnRheCAoUkVfU1lOVEFYX0dSRVAgfCBSRV9IQVRfTElTVFNfTk9UX05F V0xJTkUKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+ fn5+fgpjb25mdGVzdC5jOjI3MTo1MTogZXJyb3I6ICdSRV9IQVRfTElTVFNfTk9UX05FV0xJTkUn IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIDI3MSB8ICAgICAgICAg ICAgICAgICAgIHJlX3NldF9zeW50YXggKFJFX1NZTlRBWF9HUkVQIHwgUkVfSEFUX0xJU1RTX05P VF9ORVdMSU5FCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KY29uZnRlc3QuYzoyNzI6MzY6IGVy cm9yOiAnUkVfSUNBU0UnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsg ZGlkIHlvdSBtZWFuICdSRUdfSUNBU0UnPwogIDI3MiB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgUkVfSUNBU0UpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFJFR19JQ0FTRQpjb25mdGVzdC5jOjI3NDoyMzogd2FybmluZzogaW1wbGljaXQgZGVjbGFy YXRpb24gb2YgZnVuY3Rpb24gJ3JlX2NvbXBpbGVfcGF0dGVybicgWy1XaW1wbGljaXQtZnVuY3Rp b24tZGVjbGFyYXRpb25dCiAgMjc0IHwgICAgICAgICAgICAgICAgICAgcyA9IHJlX2NvbXBpbGVf cGF0dGVybiAocGF0LCBzaXplb2YgcGF0IC0gMSwgJnJlZ2V4KTsKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+CmNvbmZ0ZXN0LmM6Mjc5OjI3OiB3YXJuaW5n OiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAncmVfc2VhcmNoJyBbLVdpbXBsaWNp dC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICAyNzkgfCAgICAgICAgICAgICAgICAgICAgICAgaWYg KHJlX3NlYXJjaCAoJnJlZ2V4LCBkYXRhLCBzaXplb2YgZGF0YSAtIDEsCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn4KY29uZnRlc3QuYzozMjQ6Mjg6IGVycm9yOiAn UkVfU1lOVEFYX0VHUkVQJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikK ICAzMjQgfCAgICAgICAgICAgICByZV9zZXRfc3ludGF4IChSRV9TWU5UQVhfRUdSRVAgfCBSRV9I QVRfTElTVFNfTk9UX05FV0xJTkUpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fgpjb25mdGVzdC5jOjMzOToyODogZXJyb3I6ICdSRV9TWU5UQVhfUE9T SVhfRUdSRVAnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIDMzOSB8 ICAgICAgICAgICAgIHJlX3NldF9zeW50YXggKFJFX1NZTlRBWF9QT1NJWF9FR1JFUCk7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+CmNvbmZ0 ZXN0LmM6MzU0OjUyOiBlcnJvcjogJ1JFX05PX0VNUFRZX1JBTkdFUycgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgMzU0IHwgICAgICAgICAgICAgcmVfc2V0X3N5bnRh eCAoUkVfU1lOVEFYX1BPU0lYX0VHUkVQIHwgUkVfTk9fRU1QVFlfUkFOR0VTKTsKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+ fn5+fn5+fn5+fn4KY29uZnRlc3QuYzozODA6MjE6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0 aW9uIG9mIGZ1bmN0aW9uICdyZV9tYXRjaCcgWy1XaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRp b25dCiAgMzgwIHwgICAgICAgICAgICAgICAgIGlmIChyZV9tYXRjaCAoJnJlZ2V4LCAiYW4iLCAy LCAwLCAmcmVncykgIT0gMikKICAgICAgfCAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+CmNv bmZ0ZXN0LmM6NDA5OjI4OiBlcnJvcjogJ1JFX1NZTlRBWF9FTUFDUycgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgNDA5IHwgICAgICAgICAgICAgcmVfc2V0X3N5bnRh eCAoUkVfU1lOVEFYX0VNQUNTIHwgUkVfSUNBU0UpOwogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fgpjb25mdGVzdC5jOjQyOToyODogZXJyb3I6ICdSRV9T WU5UQVhfUE9TSVhfQkFTSUMnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9u KQogIDQyOSB8ICAgICAgICAgICAgIHJlX3NldF9zeW50YXggKFJFX1NZTlRBWF9QT1NJWF9CQVNJ QwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+ fgpjb25mdGVzdC5jOjQzMDozMTogZXJyb3I6ICdSRV9DT05URVhUX0lOVkFMSURfRFVQJyB1bmRl Y2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICA0MzAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmIH5SRV9DT05URVhUX0lOVkFMSURfRFVQCiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpjb25mdGVzdC5jOjQ0 MToxOTogZXJyb3I6ICdSRUdfU1RBUlRFTkQnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKTsgZGlkIHlvdSBtZWFuICdSRUdfRVBBUkVOJz8KICA0NDEgfCAgICAgICAgICAg ICBpZiAoISBSRUdfU1RBUlRFTkQpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+ fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgUkVHX0VQQVJFTgpjb25maWd1cmU6MzE1OTI6 ICQ/ID0gMQpjb25maWd1cmU6IHByb2dyYW0gZXhpdGVkIHdpdGggc3RhdHVzIDEKY29uZmlndXJl OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FH RV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcg IkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUt ZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3Jn L3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZF X1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp bmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RB UldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNE X1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BU SFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJT X0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNk ZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENf V0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYw NTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNk ZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9T T1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUg X0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RF TV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5l IEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNU RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVf SCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwg I2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAj ZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5l IEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVm aW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8 ICNkZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmlu ZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9XMzJO T1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lU X1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVa WiAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUg SEFWRV9MQ01TMiAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVT IDEKfCAjZGVmaW5lIE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NK SVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9D T01QIDEKfCAjZGVmaW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBIQVZF X1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZp bmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUg SEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMg MQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwg I2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2Rl ZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5l IEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVm aW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhB VkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZF X0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhS RUFEX1NFVE5BTUVfTlAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURfQUxMT0MgMAp8ICNk ZWZpbmUgSEFWRV9fX0JVSUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2RlZmluZSBIQVZFX19fQlVJ TFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZF X1NCUksgMQp8ICNkZWZpbmUgSEFWRV9DQU5PTklDQUxJWkVfRklMRV9OQU1FIDEKfCAjZGVmaW5l IEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhB VkVfRVhQTElDSVRfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUg SEFWRV9GQ0hNT0RBVCAxCnwgI2RlZmluZSBIQVZFX0xDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZD TlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAj ZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZp bmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9J U0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfSVNXQ1RZUEUgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lN QVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEK fCAjZGVmaW5lIHZmb3JrIGZvcmsKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUg SEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fX05MX1BBUEVS X1dJRFRIIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VU UyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiTlVMOiIKfCAjZGVmaW5lIFNFUENIQVIgJzsnCnwg I2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dl Y29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChf Y18pICgoX2NfKSA9PSAnOicpCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18p ID09ICcvJyB8fCAoX2NfKSA9PSAnXFwnKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19E SVJFQ1RPUllfU0VQIChfY18pIHx8IElTX0RFVklDRV9TRVAoX2NfKSkKfCAjZGVmaW5lIERFRkFV TFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwg I2RlZmluZSBIQVZFX1NUQUNLX09WRVJGTE9XX0hBTkRMSU5HIDEKfCAjZGVmaW5lIERPU19OVCAv KiovCnwgI2RlZmluZSBXSU5ET1dTTlQgMQp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAj ZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ3MzJ0ZXJtLmgiCnwgI2RlZmluZSBF TUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQtdzY0LW1pbmd3MzIiCnwgI2RlZmluZSBFTUFDU19D T05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9L2hvbWUvVldpblVzZXIwL0Rvd25sb2Fkcy9lbWFjcy9u YXRpdmUtY29tcC9idWlsdCAtLXdpdGgtbmF0aXZlY29tcCIKfCAjZGVmaW5lIEhBVkVfU1RSVUNU X0FUVFJJQlVURV9BTElHTkVEIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhB VkVfU1RBVEVNRU5UX0VYUFJFU1NJT05TIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVm aW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEZVTkNfUkVBTFBB VEhfV09SS1MgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9F TlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJTksgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5U IDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfTUVNTUVNIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIFRJ TUVfVF9JU19TSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBNQUxMT0NfMF9JU19OT05OVUxMIDEKfCAjZGVmaW5lIEhBVkVf V0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTkxFTiAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIF9VU0VfU1REX1NUQVQgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX0NMRUFSRVJSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRU9GX1VOTE9DS0VE IDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRVJST1JfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9E RUNMX0ZGTFVTSF9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkdFVFNfVU5MT0NLRUQg MAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZQVVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9GUFVUU19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlJFQURfVU5MT0NLRUQgMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX0ZXUklURV9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf R0VUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VUQ0hBUl9VTkxPQ0tFRCAwCnwg I2RlZmluZSBIQVZFX0RFQ0xfUFVUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVU Q0hBUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBHRVRHUk9VUFNfVCBpbnQKfCAjZGVmaW5lIEhBVkVf REVDTF9HRVREVEFCTEVTSVpFIDAKfCAjZGVmaW5lIFBST01PVEVEX01PREVfVCBpbnQKfCAjZGVm aW5lIEhBVkVfU1lTX0FDTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0dFVF9GSUxFIDEKfCAjZGVm aW5lIEhBVkVfQUNMX1NFVF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0ZSRUUgMQp8ICNkZWZp bmUgSEFWRV9BQ0xfRlJPTV9URVhUIDEKfCAjZGVmaW5lIFVTRV9BQ0wgMQp8ICNkZWZpbmUgSEFW RV9fX0JVSUxUSU5fRVhQRUNUIDEKfCAjZGVmaW5lIEdOVUxJQl9DQU5PTklDQUxJWkVfTEdQTCAx CnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9J U19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX0ZET1BFTkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVm aW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVgg cnBsXwp8ICNkZWZpbmUgSEFWRV9CQ1JZUFRfSCAxCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElN RVpPTkUgdm9pZAp8ICNkZWZpbmUgX0dMX1JFUExBQ0VfSUVFRTc1NF9IIDEKfCAjZGVmaW5lIEhB VkVfX19JTkxJTkUgMQp8ICNkZWZpbmUgSEFWRV9HTVBfSCAxCnwgI2RlZmluZSBIQVZFX01FTVBD UFkgMQp8ICNkZWZpbmUgR05VTElCX01LT1NURU1QIDEKfCAjZGVmaW5lIE5FRURfTUtUSU1FX1dJ TkRPV1MgMQp8ICNkZWZpbmUgbXlfc3RyZnRpbWUgbnN0cmZ0aW1lCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLwp8ICNpbmNsdWRlIDxyZWdleC5oPgp8IAp8ICAgICAgICAgICAgICNpbmNsdWRlIDxs b2NhbGUuaD4KfCAgICAgICAgICAgICAjaW5jbHVkZSA8bGltaXRzLmg+CnwgICAgICAgICAgICAg I2luY2x1ZGUgPHN0cmluZy5oPgp8IAp8ICAgICAgICAgICAgICNpZiBkZWZpbmVkIE1fQ0hFQ0tf QUNUSU9OIHx8IEhBVkVfREVDTF9BTEFSTQp8ICAgICAgICAgICAgICMgaW5jbHVkZSA8c2lnbmFs Lmg+CnwgICAgICAgICAgICAgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAgICAgICAgICAgICAjZW5k aWYKfCAKfCAgICAgICAgICAgICAjaWYgSEFWRV9NQUxMT0NfSAp8ICAgICAgICAgICAgICMgaW5j bHVkZSA8bWFsbG9jLmg+CnwgICAgICAgICAgICAgI2VuZGlmCnwgCnwgICAgICAgICAgICAgI2lm ZGVmIE1fQ0hFQ0tfQUNUSU9OCnwgICAgICAgICAgICAgLyogRXhpdCB3aXRoIGRpc3Rpbmd1aXNo YWJsZSBleGl0IGNvZGUuICAqLwp8ICAgICAgICAgICAgIHN0YXRpYyB2b2lkIHNpZ2FicnRfbm9f Y29yZSAoaW50IHNpZykgeyByYWlzZSAoU0lHVEVSTSk7IH0KfCAgICAgICAgICAgICAjZW5kaWYK fCAKfCBpbnQKfCBtYWluICgpCnwgewp8IGludCByZXN1bHQgPSAwOwp8ICAgICAgICAgICAgIHN0 YXRpYyBzdHJ1Y3QgcmVfcGF0dGVybl9idWZmZXIgcmVnZXg7CnwgICAgICAgICAgICAgdW5zaWdu ZWQgY2hhciBmb2xkZWRfY2hhcnNbVUNIQVJfTUFYICsgMV07CnwgICAgICAgICAgICAgaW50IGk7 CnwgICAgICAgICAgICAgY29uc3QgY2hhciAqczsKfCAgICAgICAgICAgICBzdHJ1Y3QgcmVfcmVn aXN0ZXJzIHJlZ3M7CnwgCnwgICAgICAgICAgICAgLyogU29tZSBidWlsZHMgb2YgZ2xpYmMgZ28g aW50byBhbiBpbmZpbml0ZSBsb29wIG9uIHRoaXMKfCAgICAgICAgICAgICAgICB0ZXN0LiAgVXNl IGFsYXJtIHRvIGZvcmNlIGRlYXRoLCBhbmQgbWFsbG9wdCB0byBhdm9pZAp8ICAgICAgICAgICAg ICAgIG1hbGxvYyByZWN1cnNpb24gaW4gZGlhZ25vc2luZyB0aGUgY29ycnVwdGVkIGhlYXAuICov CnwgI2lmIEhBVkVfREVDTF9BTEFSTQp8ICAgICAgICAgICAgIHNpZ25hbCAoU0lHQUxSTSwgU0lH X0RGTCk7CnwgICAgICAgICAgICAgYWxhcm0gKDIpOwp8ICNlbmRpZgp8ICNpZmRlZiBNX0NIRUNL X0FDVElPTgp8ICAgICAgICAgICAgIHNpZ25hbCAoU0lHQUJSVCwgc2lnYWJydF9ub19jb3JlKTsK fCAgICAgICAgICAgICBtYWxsb3B0IChNX0NIRUNLX0FDVElPTiwgMik7CnwgI2VuZGlmCnwgCnwg ICAgICAgICAgICAgaWYgKHNldGxvY2FsZSAoTENfQUxMLCAiZW5fVVMuVVRGLTgiKSkKfCAgICAg ICAgICAgICAgIHsKfCAgICAgICAgICAgICAgICAgewp8ICAgICAgICAgICAgICAgICAgIC8qIGh0 dHBzOi8vc291cmNld2FyZS5vcmcvbWwvbGliYy1oYWNrZXIvMjAwNi0wOS9tc2cwMDAwOC5odG1s CnwgICAgICAgICAgICAgICAgICAgICAgVGhpcyB0ZXN0IG5lZWRzIHZhbGdyaW5kIHRvIGNhdGNo IHRoZSBidWcgb24gRGViaWFuCnwgICAgICAgICAgICAgICAgICAgICAgR05VL0xpbnV4IDMuMSB4 ODYsIGJ1dCBpdCBtaWdodCBjYXRjaCB0aGUgYnVnIGJldHRlcgp8ICAgICAgICAgICAgICAgICAg ICAgIG9uIG90aGVyIHBsYXRmb3JtcyBhbmQgaXQgc2hvdWxkbid0IGh1cnQgdG8gdHJ5IHRoZQp8 ICAgICAgICAgICAgICAgICAgICAgIHRlc3QgaGVyZS4gICovCnwgICAgICAgICAgICAgICAgICAg c3RhdGljIGNoYXIgY29uc3QgcGF0W10gPSAiaW5zZXJ0IGludG8iOwp8ICAgICAgICAgICAgICAg ICAgIHN0YXRpYyBjaGFyIGNvbnN0IGRhdGFbXSA9CnwgICAgICAgICAgICAgICAgICAgICAiXHhG RlwwXHgxMlx4QTJceEFBXHhDNFx4QjEsS1x4MTJceEM0XHhCMSpceEFDSyI7CnwgICAgICAgICAg ICAgICAgICAgcmVfc2V0X3N5bnRheCAoUkVfU1lOVEFYX0dSRVAgfCBSRV9IQVRfTElTVFNfTk9U X05FV0xJTkUKfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFJFX0lDQVNFKTsK fCAgICAgICAgICAgICAgICAgICBtZW1zZXQgKCZyZWdleCwgMCwgc2l6ZW9mIHJlZ2V4KTsKfCAg ICAgICAgICAgICAgICAgICBzID0gcmVfY29tcGlsZV9wYXR0ZXJuIChwYXQsIHNpemVvZiBwYXQg LSAxLCAmcmVnZXgpOwp8ICAgICAgICAgICAgICAgICAgIGlmIChzKQp8ICAgICAgICAgICAgICAg ICAgICAgcmVzdWx0IHw9IDE7CnwgICAgICAgICAgICAgICAgICAgZWxzZQp8ICAgICAgICAgICAg ICAgICAgICAgewp8ICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVfc2VhcmNoICgmcmVnZXgs IGRhdGEsIHNpemVvZiBkYXRhIC0gMSwKfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgMCwgc2l6ZW9mIGRhdGEgLSAxLCAmcmVncykKfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICE9IC0xKQp8ICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCB8PSAxOwp8ICAgICAg ICAgICAgICAgICAgICAgICByZWdmcmVlICgmcmVnZXgpOwp8ICAgICAgICAgICAgICAgICAgICAg fQp8ICAgICAgICAgICAgICAgICB9CnwgCnwgICAgICAgICAgICAgICAgIHsKfCAgICAgICAgICAg ICAgICAgICAvKiBUaGlzIHRlc3QgaXMgZnJvbSBnbGliYyBidWcgMTUwNzguCnwgICAgICAgICAg ICAgICAgICAgICAgVGhlIHRlc3QgY2FzZSBpcyBmcm9tIEFuZHJlYXMgU2Nod2FiIGluCnwgICAg ICAgICAgICAgICAgICAgICAgPGh0dHBzOi8vc291cmNld2FyZS5vcmcvbWwvbGliYy1hbHBoYS8y MDEzLTAxL21zZzAwOTY3Lmh0bWw+Lgp8ICAgICAgICAgICAgICAgICAgICAgICovCnwgICAgICAg ICAgICAgICAgICAgc3RhdGljIGNoYXIgY29uc3QgcGF0W10gPSAiW154XXgiOwp8ICAgICAgICAg ICAgICAgICAgIHN0YXRpYyBjaGFyIGNvbnN0IGRhdGFbXSA9CnwgICAgICAgICAgICAgICAgICAg ICAvKiA8VTEwMDA+PFUxMDNCPjxVMTAzRD48VTEwMTQ+PFUxMDNBPjxVMTAyRj48VTEwMTU+PFUx MDNBPiAqLwp8ICAgICAgICAgICAgICAgICAgICAgIlx4ZTFceDgwXHg4MCIKfCAgICAgICAgICAg ICAgICAgICAgICJceGUxXHg4MFx4YmIiCnwgICAgICAgICAgICAgICAgICAgICAiXHhlMVx4ODBc eGJkIgp8ICAgICAgICAgICAgICAgICAgICAgIlx4ZTFceDgwXHg5NCIKfCAgICAgICAgICAgICAg ICAgICAgICJceGUxXHg4MFx4YmEiCnwgICAgICAgICAgICAgICAgICAgICAiXHhlMVx4ODBceGFm Igp8ICAgICAgICAgICAgICAgICAgICAgIlx4ZTFceDgwXHg5NSIKfCAgICAgICAgICAgICAgICAg ICAgICJceGUxXHg4MFx4YmEiCnwgICAgICAgICAgICAgICAgICAgICAieCI7CnwgICAgICAgICAg ICAgICAgICAgcmVfc2V0X3N5bnRheCAoMCk7CnwgICAgICAgICAgICAgICAgICAgbWVtc2V0ICgm cmVnZXgsIDAsIHNpemVvZiByZWdleCk7CnwgICAgICAgICAgICAgICAgICAgcyA9IHJlX2NvbXBp bGVfcGF0dGVybiAocGF0LCBzaXplb2YgcGF0IC0gMSwgJnJlZ2V4KTsKfCAgICAgICAgICAgICAg ICAgICBpZiAocykKfCAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCB8PSAxOwp8ICAgICAgICAg ICAgICAgICAgIGVsc2UKfCAgICAgICAgICAgICAgICAgICAgIHsKfCAgICAgICAgICAgICAgICAg ICAgICAgaSA9IHJlX3NlYXJjaCAoJnJlZ2V4LCBkYXRhLCBzaXplb2YgZGF0YSAtIDEsCnwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIHNpemVvZiBkYXRhIC0gMSwgMCk7 CnwgICAgICAgICAgICAgICAgICAgICAgIGlmIChpICE9IDAgJiYgaSAhPSAyMSkKfCAgICAgICAg ICAgICAgICAgICAgICAgICByZXN1bHQgfD0gMTsKfCAgICAgICAgICAgICAgICAgICAgICAgcmVn ZnJlZSAoJnJlZ2V4KTsKfCAgICAgICAgICAgICAgICAgICAgIH0KfCAgICAgICAgICAgICAgICAg fQp8IAp8ICAgICAgICAgICAgICAgICBpZiAoISBzZXRsb2NhbGUgKExDX0FMTCwgIkMiKSkKfCAg ICAgICAgICAgICAgICAgICByZXR1cm4gMTsKfCAgICAgICAgICAgICAgIH0KfCAKfCAgICAgICAg ICAgICAvKiBUaGlzIHRlc3QgaXMgZnJvbSBnbGliYyBidWcgMzk1NywgcmVwb3J0ZWQgYnkgQW5k cmV3IE1hY2tleS4gICovCnwgICAgICAgICAgICAgcmVfc2V0X3N5bnRheCAoUkVfU1lOVEFYX0VH UkVQIHwgUkVfSEFUX0xJU1RTX05PVF9ORVdMSU5FKTsKfCAgICAgICAgICAgICBtZW1zZXQgKCZy ZWdleCwgMCwgc2l6ZW9mIHJlZ2V4KTsKfCAgICAgICAgICAgICBzID0gcmVfY29tcGlsZV9wYXR0 ZXJuICgiYVteeF1iIiwgNiwgJnJlZ2V4KTsKfCAgICAgICAgICAgICBpZiAocykKfCAgICAgICAg ICAgICAgIHJlc3VsdCB8PSAyOwp8ICAgICAgICAgICAgIGVsc2UKfCAgICAgICAgICAgICAgIHsK fCAgICAgICAgICAgICAgICAgLyogVGhpcyBzaG91bGQgZmFpbCwgYnV0IHN1Y2NlZWRzIGZvciBn bGliYy0yLjUuICAqLwp8ICAgICAgICAgICAgICAgICBpZiAocmVfc2VhcmNoICgmcmVnZXgsICJh XG5iIiwgMywgMCwgMywgJnJlZ3MpICE9IC0xKQp8ICAgICAgICAgICAgICAgICAgIHJlc3VsdCB8 PSAyOwp8ICAgICAgICAgICAgICAgICByZWdmcmVlICgmcmVnZXgpOwp8ICAgICAgICAgICAgICAg fQp8IAp8ICAgICAgICAgICAgIC8qIFRoaXMgcmVndWxhciBleHByZXNzaW9uIGlzIGZyb20gU3Bl bmNlciBlcmUgdGVzdCBudW1iZXIgNzUKfCAgICAgICAgICAgICAgICBpbiBncmVwLTIuMy4gICov CnwgICAgICAgICAgICAgcmVfc2V0X3N5bnRheCAoUkVfU1lOVEFYX1BPU0lYX0VHUkVQKTsKfCAg ICAgICAgICAgICBtZW1zZXQgKCZyZWdleCwgMCwgc2l6ZW9mIHJlZ2V4KTsKfCAgICAgICAgICAg ICBmb3IgKGkgPSAwOyBpIDw9IFVDSEFSX01BWDsgaSsrKQp8ICAgICAgICAgICAgICAgZm9sZGVk X2NoYXJzW2ldID0gaTsKfCAgICAgICAgICAgICByZWdleC50cmFuc2xhdGUgPSBmb2xkZWRfY2hh cnM7CnwgICAgICAgICAgICAgcyA9IHJlX2NvbXBpbGVfcGF0dGVybiAoImFbWzpdOl1dYlxuIiwg MTEsICZyZWdleCk7CnwgICAgICAgICAgICAgLyogVGhpcyBzaG91bGQgZmFpbCB3aXRoIF9JbnZh bGlkIGNoYXJhY3RlciBjbGFzcyBuYW1lXyBlcnJvci4gICovCnwgICAgICAgICAgICAgaWYgKCFz KQp8ICAgICAgICAgICAgICAgewp8ICAgICAgICAgICAgICAgICByZXN1bHQgfD0gNDsKfCAgICAg ICAgICAgICAgICAgcmVnZnJlZSAoJnJlZ2V4KTsKfCAgICAgICAgICAgICAgIH0KfCAKfCAgICAg ICAgICAgICAvKiBFbnN1cmUgdGhhdCBbYi1hXSBpcyBkaWFnbm9zZWQgYXMgaW52YWxpZCwgd2hl bgp8ICAgICAgICAgICAgICAgIHVzaW5nIFJFX05PX0VNUFRZX1JBTkdFUy4gKi8KfCAgICAgICAg ICAgICByZV9zZXRfc3ludGF4IChSRV9TWU5UQVhfUE9TSVhfRUdSRVAgfCBSRV9OT19FTVBUWV9S QU5HRVMpOwp8ICAgICAgICAgICAgIG1lbXNldCAoJnJlZ2V4LCAwLCBzaXplb2YgcmVnZXgpOwp8 ICAgICAgICAgICAgIHMgPSByZV9jb21waWxlX3BhdHRlcm4gKCJhW2ItYV0iLCA2LCAmcmVnZXgp Owp8ICAgICAgICAgICAgIGlmIChzID09IDApCnwgICAgICAgICAgICAgICB7CnwgICAgICAgICAg ICAgICAgIHJlc3VsdCB8PSA4Owp8ICAgICAgICAgICAgICAgICByZWdmcmVlICgmcmVnZXgpOwp8 ICAgICAgICAgICAgICAgfQp8IAp8ICAgICAgICAgICAgIC8qIFRoaXMgc2hvdWxkIHN1Y2NlZWQs IGJ1dCBkb2VzIG5vdCBmb3IgZ2xpYmMtMi4xLjMuICAqLwp8ICAgICAgICAgICAgIG1lbXNldCAo JnJlZ2V4LCAwLCBzaXplb2YgcmVnZXgpOwp8ICAgICAgICAgICAgIHMgPSByZV9jb21waWxlX3Bh dHRlcm4gKCJ7MSIsIDIsICZyZWdleCk7CnwgICAgICAgICAgICAgaWYgKHMpCnwgICAgICAgICAg ICAgICByZXN1bHQgfD0gODsKfCAgICAgICAgICAgICBlbHNlCnwgICAgICAgICAgICAgICByZWdm cmVlICgmcmVnZXgpOwp8IAp8ICAgICAgICAgICAgIC8qIFRoZSBmb2xsb3dpbmcgZXhhbXBsZSBp cyBkZXJpdmVkIGZyb20gYSBwcm9ibGVtIHJlcG9ydAp8ICAgICAgICAgICAgICAgIGFnYWluc3Qg Z2F3ayBmcm9tIEpvcmdlIFN0b2xmaSA8c3RvbGZpQGljLnVuaWNhbXAuYnI+LiAgKi8KfCAgICAg ICAgICAgICBtZW1zZXQgKCZyZWdleCwgMCwgc2l6ZW9mIHJlZ2V4KTsKfCAgICAgICAgICAgICBz ID0gcmVfY29tcGlsZV9wYXR0ZXJuICgiW2FuXDM3MV0qbiIsIDcsICZyZWdleCk7CnwgICAgICAg ICAgICAgaWYgKHMpCnwgICAgICAgICAgICAgICByZXN1bHQgfD0gODsKfCAgICAgICAgICAgICBl bHNlCnwgICAgICAgICAgICAgICB7CnwgICAgICAgICAgICAgICAgIC8qIFRoaXMgc2hvdWxkIG1h dGNoLCBidXQgZG9lcyBub3QgZm9yIGdsaWJjLTIuMi4xLiAgKi8KfCAgICAgICAgICAgICAgICAg aWYgKHJlX21hdGNoICgmcmVnZXgsICJhbiIsIDIsIDAsICZyZWdzKSAhPSAyKQp8ICAgICAgICAg ICAgICAgICAgIHJlc3VsdCB8PSA4Owp8ICAgICAgICAgICAgICAgICBlbHNlCnwgICAgICAgICAg ICAgICAgICAgewp8ICAgICAgICAgICAgICAgICAgICAgZnJlZSAocmVncy5zdGFydCk7CnwgICAg ICAgICAgICAgICAgICAgICBmcmVlIChyZWdzLmVuZCk7CnwgICAgICAgICAgICAgICAgICAgfQp8 ICAgICAgICAgICAgICAgICByZWdmcmVlICgmcmVnZXgpOwp8ICAgICAgICAgICAgICAgfQp8IAp8 ICAgICAgICAgICAgIG1lbXNldCAoJnJlZ2V4LCAwLCBzaXplb2YgcmVnZXgpOwp8ICAgICAgICAg ICAgIHMgPSByZV9jb21waWxlX3BhdHRlcm4gKCJ4IiwgMSwgJnJlZ2V4KTsKfCAgICAgICAgICAg ICBpZiAocykKfCAgICAgICAgICAgICAgIHJlc3VsdCB8PSA4Owp8ICAgICAgICAgICAgIGVsc2UK fCAgICAgICAgICAgICAgIHsKfCAgICAgICAgICAgICAgICAgLyogZ2xpYmMtMi4yLjkzIGRvZXMg bm90IHdvcmsgd2l0aCBhIG5lZ2F0aXZlIFJBTkdFIGFyZ3VtZW50LiAgKi8KfCAgICAgICAgICAg ICAgICAgaWYgKHJlX3NlYXJjaCAoJnJlZ2V4LCAid3h5IiwgMywgMiwgLTIsICZyZWdzKSAhPSAx KQp8ICAgICAgICAgICAgICAgICAgIHJlc3VsdCB8PSA4Owp8ICAgICAgICAgICAgICAgICBlbHNl CnwgICAgICAgICAgICAgICAgICAgewp8ICAgICAgICAgICAgICAgICAgICAgZnJlZSAocmVncy5z dGFydCk7CnwgICAgICAgICAgICAgICAgICAgICBmcmVlIChyZWdzLmVuZCk7CnwgICAgICAgICAg ICAgICAgICAgfQp8ICAgICAgICAgICAgICAgICByZWdmcmVlICgmcmVnZXgpOwp8ICAgICAgICAg ICAgICAgfQp8IAp8ICAgICAgICAgICAgIC8qIFRoZSB2ZXJzaW9uIG9mIHJlZ2V4LmMgaW4gb2xk ZXIgdmVyc2lvbnMgb2YgZ251bGliCnwgICAgICAgICAgICAgICAgaWdub3JlZCBSRV9JQ0FTRS4g IERldGVjdCB0aGF0IHByb2JsZW0gdG9vLiAgKi8KfCAgICAgICAgICAgICByZV9zZXRfc3ludGF4 IChSRV9TWU5UQVhfRU1BQ1MgfCBSRV9JQ0FTRSk7CnwgICAgICAgICAgICAgbWVtc2V0ICgmcmVn ZXgsIDAsIHNpemVvZiByZWdleCk7CnwgICAgICAgICAgICAgcyA9IHJlX2NvbXBpbGVfcGF0dGVy biAoIngiLCAxLCAmcmVnZXgpOwp8ICAgICAgICAgICAgIGlmIChzKQp8ICAgICAgICAgICAgICAg cmVzdWx0IHw9IDE2Owp8ICAgICAgICAgICAgIGVsc2UKfCAgICAgICAgICAgICAgIHsKfCAgICAg ICAgICAgICAgICAgaWYgKHJlX3NlYXJjaCAoJnJlZ2V4LCAiV1hZIiwgMywgMCwgMywgJnJlZ3Mp IDwgMCkKfCAgICAgICAgICAgICAgICAgICByZXN1bHQgfD0gMTY7CnwgICAgICAgICAgICAgICAg IGVsc2UKfCAgICAgICAgICAgICAgICAgICB7CnwgICAgICAgICAgICAgICAgICAgICBmcmVlIChy ZWdzLnN0YXJ0KTsKfCAgICAgICAgICAgICAgICAgICAgIGZyZWUgKHJlZ3MuZW5kKTsKfCAgICAg ICAgICAgICAgICAgICB9CnwgICAgICAgICAgICAgICAgIHJlZ2ZyZWUgKCZyZWdleCk7CnwgICAg ICAgICAgICAgICB9CnwgCnwgICAgICAgICAgICAgLyogQ2F0Y2ggYSBidWcgcmVwb3J0ZWQgYnkg VmluIFNoZWx0b24gaW4KfCAgICAgICAgICAgICAgICBodHRwczovL2xpc3RzLmdudS5vcmcvci9i dWctY29yZXV0aWxzLzIwMDctMDYvbXNnMDAwODkuaHRtbAp8ICAgICAgICAgICAgICAgICovCnwg ICAgICAgICAgICAgcmVfc2V0X3N5bnRheCAoUkVfU1lOVEFYX1BPU0lYX0JBU0lDCnwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJiB+UkVfQ09OVEVYVF9JTlZBTElEX0RVUAp8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICYgflJFX05PX0VNUFRZX1JBTkdFUyk7CnwgICAgICAgICAgICAg bWVtc2V0ICgmcmVnZXgsIDAsIHNpemVvZiByZWdleCk7CnwgICAgICAgICAgICAgcyA9IHJlX2Nv bXBpbGVfcGF0dGVybiAoIltbOmFsbnVtOl1fLV1cXCskIiwgMTYsICZyZWdleCk7CnwgICAgICAg ICAgICAgaWYgKHMpCnwgICAgICAgICAgICAgICByZXN1bHQgfD0gMzI7CnwgICAgICAgICAgICAg ZWxzZQp8ICAgICAgICAgICAgICAgcmVnZnJlZSAoJnJlZ2V4KTsKfCAKfCAgICAgICAgICAgICAv KiBSRUdfU1RBUlRFTkQgd2FzIGFkZGVkIHRvIGdsaWJjIG9uIDIwMDQtMDEtMTUuCnwgICAgICAg ICAgICAgICAgUmVqZWN0IG9sZGVyIHZlcnNpb25zLiAgKi8KfCAgICAgICAgICAgICBpZiAoISBS RUdfU1RBUlRFTkQpCnwgICAgICAgICAgICAgICByZXN1bHQgfD0gNjQ7CnwgCnwgICAgICAgICAg ICAgLyogTWF0Y2hpbmcgd2l0aCB0aGUgY29tcGlsZWQgZm9ybSBvZiB0aGlzIHJlZ2V4cCB3b3Vs ZCBwcm92b2tlCnwgICAgICAgICAgICAgICAgYW4gYXNzZXJ0aW9uIGZhaWx1cmUgcHJpb3IgdG8g Z2xpYmMtMi4yODoKfCAgICAgICAgICAgICAgICAgIHJlZ2V4ZWMuYzoxMzc1OiBwb3BfZmFpbF9z dGFjazogQXNzZXJ0aW9uICdudW0gPj0gMCcgZmFpbGVkCnwgICAgICAgICAgICAgICAgV2l0aCBn bGliYy0yLjI4LCBjb21waWxhdGlvbiBmYWlscyBhbmQgcmVwb3J0cyB0aGUgaW52YWxpZAp8ICAg ICAgICAgICAgICAgIGJhY2sgcmVmZXJlbmNlLiAgKi8KfCAgICAgICAgICAgICByZV9zZXRfc3lu dGF4IChSRV9TWU5UQVhfUE9TSVhfRUdSRVApOwp8ICAgICAgICAgICAgIG1lbXNldCAoJnJlZ2V4 LCAwLCBzaXplb2YgcmVnZXgpOwp8ICAgICAgICAgICAgIHMgPSByZV9jb21waWxlX3BhdHRlcm4g KCIwfCgpMHxcMXwwIiwgMTAsICZyZWdleCk7CnwgICAgICAgICAgICAgaWYgKCFzKQp8ICAgICAg ICAgICAgICAgcmVzdWx0IHw9IDY0Owp8ICAgICAgICAgICAgIGVsc2UKfCAgICAgICAgICAgICAg IHsKfCAgICAgICAgICAgICAgICAgaWYgKHN0cmNtcCAocywgIkludmFsaWQgYmFjayByZWZlcmVu Y2UiKSkKfCAgICAgICAgICAgICAgICAgICByZXN1bHQgfD0gNjQ7CnwgICAgICAgICAgICAgICAg IHJlZ2ZyZWUgKCZyZWdleCk7CnwgICAgICAgICAgICAgICB9CnwgCnwgI2lmIDAKfCAgICAgICAg ICAgICAvKiBJdCB3b3VsZCBiZSBuaWNlIHRvIHJlamVjdCBob3N0cyB3aG9zZSByZWdvZmZfdCB2 YWx1ZXMgYXJlIHRvbwp8ICAgICAgICAgICAgICAgIG5hcnJvdyAoaW5jbHVkaW5nIGdsaWJjIG9u IGhvc3RzIHdpdGggNjQtYml0IHB0cmRpZmZfdCBhbmQKfCAgICAgICAgICAgICAgICAzMi1iaXQg aW50KSwgYnV0IHdlIHNob3VsZCB3YWl0IHVudGlsIGdsaWJjIGltcGxlbWVudHMgdGhpcwp8ICAg ICAgICAgICAgICAgIGZlYXR1cmUuICBPdGhlcndpc2UsIHN1cHBvcnQgZm9yIGVxdWl2YWxlbmNl IGNsYXNzZXMgYW5kCnwgICAgICAgICAgICAgICAgbXVsdGlieXRlIGNvbGxhdGlvbiBzeW1ib2xz IHdvdWxkIGFsd2F5cyBiZSBicm9rZW4gZXhjZXB0CnwgICAgICAgICAgICAgICAgd2hlbiBjb21w aWxpbmcgLS13aXRob3V0LWluY2x1ZGVkLXJlZ2V4LiAgICovCnwgICAgICAgICAgICAgaWYgKHNp emVvZiAocmVnb2ZmX3QpIDwgc2l6ZW9mIChwdHJkaWZmX3QpCnwgICAgICAgICAgICAgICAgIHx8 IHNpemVvZiAocmVnb2ZmX3QpIDwgc2l6ZW9mIChzc2l6ZV90KSkKfCAgICAgICAgICAgICAgIHJl c3VsdCB8PSA2NDsKfCAjZW5kaWYKfCAKfCAgICAgICAgICAgICByZXR1cm4gcmVzdWx0Owp8IAp8 ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MzE2MDM6IHJlc3VsdDogbm8KY29uZmln dXJlOjMxNjg4OiBjaGVja2luZyBsaWJpbnRsLmggdXNhYmlsaXR5CmNvbmZpZ3VyZTozMTY4ODog Z2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5lPWdlbmVyaWMg ICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MzE2ODg6ICQ/ID0gMApjb25maWd1cmU6MzE2ODg6 IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMTY4ODogY2hlY2tpbmcgbGliaW50bC5oIHByZXNlbmNl CmNvbmZpZ3VyZTozMTY4ODogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLUUgLW10dW5lPWdlbmVyaWMg ICBjb25mdGVzdC5jCmNvbmZpZ3VyZTozMTY4ODogJD8gPSAwCmNvbmZpZ3VyZTozMTY4ODogcmVz dWx0OiB5ZXMKY29uZmlndXJlOjMxNjg4OiBjaGVja2luZyBmb3IgbGliaW50bC5oCmNvbmZpZ3Vy ZTozMTY4ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMxNjk5OiBjaGVja2luZyB3aGV0aGVyIGlz YmxhbmsgaXMgZGVjbGFyZWQKY29uZmlndXJlOjMxNjk5OiBnY2MgLUkgLi4vc3JjL250L2luYyAt YyAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZp Z3VyZTozMTY5OTogJD8gPSAwCmNvbmZpZ3VyZTozMTY5OTogcmVzdWx0OiB5ZXMKY29uZmlndXJl OjMxNzE2OiBjaGVja2luZyBmb3Igc2lnMnN0cgpjb25maWd1cmU6MzE3MTY6IGdjYyAtSSAuLi9z cmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJp YyAgICBjb25mdGVzdC5jICAgPiY1IApDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94 ODZfNjQtdzY0LW1pbmd3MzIvMTAuMi4wLy4uLy4uLy4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9i aW4vbGQuZXhlOiBDOlxtc3lzNjRcdG1wXGNjSXhzTHB4Lm86IGluIGZ1bmN0aW9uIGBtYWluJzoK QzpcbXN5czY0XGhvbWVcVldpblVzZXIwXERvd25sb2Fkc1xlbWFjc1xuYXRpdmUtY29tcFxidWls ZC9jb25mdGVzdC5jOjI3MTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgc2lnMnN0cicKY29sbGVj dDIuZXhlOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MzE3MTY6 ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICov CnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFS TkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmlu ZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JV R1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0 dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9Q IDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFW RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJD RSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEK fCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwg I2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRf SUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5 X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEK fCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBf X1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRf TElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwg I2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VU X0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQg MQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lT VEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2Rl ZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUg SEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9J TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBUSU1FX1dJ VEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVf TlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVmaW5lIFNZU1RF TV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBVU0VfTU1B UF9GT1JfQlVGRkVSUyAxCnwgI2RlZmluZSBUSFJFQURTX0VOQUJMRUQgMQp8ICNkZWZpbmUgSEFW RV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfSlNPTiAxCnwg I2RlZmluZSBIQVZFX1czMk5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNk ZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2Rl ZmluZSBIQVZFX0hBUkZCVVpaIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVf SlBFRyAxCnwgI2RlZmluZSBIQVZFX0xDTVMyIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2Rl ZmluZSBIQVZFX01PRFVMRVMgMQp8ICNkZWZpbmUgTU9EVUxFU19TVUZGSVggIi5kbGwiCnwgI2Rl ZmluZSBIQVZFX0xJQkdDQ0pJVCAxCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVF9IIDEKfCAjZGVm aW5lIEhBVkVfTkFUSVZFX0NPTVAgMQp8ICNkZWZpbmUgTkFUSVZFX0VMSVNQX1NVRkZJWCAiLmVs biIKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBI QVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NU TkFNRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNk ZWZpbmUgSEFWRV9UUlVOQyAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZF X0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVf R0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hV VERPV04gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9T VFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5E VE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1F IDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwg I2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxJ R05FRF9BTExPQyAwCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9GUkFNRV9BRERSRVNTIDEKfCAj ZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtP IDEKfCAjZGVmaW5lIEhBVkVfU0JSSyAxCnwgI2RlZmluZSBIQVZFX0NBTk9OSUNBTElaRV9GSUxF X05BTUUgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5L QVQgMQp8ICNkZWZpbmUgSEFWRV9FWFBMSUNJVF9CWkVSTyAxCnwgI2RlZmluZSBIQVZFX0ZBQ0NF U1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PREFUIDEKfCAjZGVmaW5lIEhBVkVfTENITU9EIDEK fCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5l IEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFW RV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAx CnwgI2RlZmluZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9JU1dDVFlQRSAxCnwgI2Rl ZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUg SEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUgdmZvcmsgZm9yawp8ICNkZWZpbmUgSEFWRV9TTlBS SU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9M QU5HSU5GT19fTkxfUEFQRVJfV0lEVEggMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNk ZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICJOVUw6Igp8ICNkZWZp bmUgU0VQQ0hBUiAnOycKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZV TExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmlu ZSBJU19ERVZJQ0VfU0VQKF9jXykgKChfY18pID09ICc6JykKfCAjZGVmaW5lIElTX0RJUkVDVE9S WV9TRVAoX2NfKSAoKF9jXykgPT0gJy8nIHx8IChfY18pID09ICdcXCcpCnwgI2RlZmluZSBJU19B TllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykgfHwgSVNfREVWSUNFX1NFUChfY18p KQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgR0Nf U0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfU1RBQ0tfT1ZFUkZMT1dfSEFORExJTkcgMQp8 ICNkZWZpbmUgRE9TX05UIC8qKi8KfCAjZGVmaW5lIFdJTkRPV1NOVCAxCnwgI2RlZmluZSBVU0FC TEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMjAgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInczMnRl cm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gIng4Nl82NC13NjQtbWluZ3czMiIK fCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZpeD0vaG9tZS9WV2luVXNlcjAv RG93bmxvYWRzL2VtYWNzL25hdGl2ZS1jb21wL2J1aWx0IC0td2l0aC1uYXRpdmVjb21wIgp8ICNk ZWZpbmUgSEFWRV9TVFJVQ1RfQVRUUklCVVRFX0FMSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9UWVBF T0YgMQp8ICNkZWZpbmUgSEFWRV9TVEFURU1FTlRfRVhQUkVTU0lPTlMgMQp8ICNkZWZpbmUgSEFW RV9BTExPQ0EgMQp8ICNkZWZpbmUgRE9VQkxFX1NMQVNIX0lTX0RJU1RJTkNUX1JPT1QgMQp8ICNk ZWZpbmUgRlVOQ19SRUFMUEFUSF9XT1JLUyAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0 CnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBMU1RBVF9GT0xMT1dTX1NM QVNIRURfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBI QVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5U IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1NRU0gMAp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJD SFIgMAp8ICNkZWZpbmUgVElNRV9UX0lTX1NJR05FRCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxB Uk0gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIE1BTExPQ18wX0lTX05PTk5VTEwg MQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJOTEVOIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgX1VTRV9TVERfU1RBVCAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfQ0xFQVJFUlJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9E RUNMX0ZFT0ZfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZFUlJPUl9VTkxPQ0tFRCAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfRkZMVVNIX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9GR0VUU19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlBVVENfVU5MT0NLRUQgMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX0ZQVVRTX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9G UkVBRF9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRldSSVRFX1VOTE9DS0VEIDAKfCAj ZGVmaW5lIEhBVkVfREVDTF9HRVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRD SEFSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9QVVRDX1VOTE9DS0VEIDAKfCAjZGVm aW5lIEhBVkVfREVDTF9QVVRDSEFSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEdFVEdST1VQU19UIGlu dAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVERUQUJMRVNJWkUgMAp8ICNkZWZpbmUgUFJPTU9URURf TU9ERV9UIGludAp8ICNkZWZpbmUgSEFWRV9TWVNfQUNMX0ggMQp8ICNkZWZpbmUgSEFWRV9BQ0xf R0VUX0ZJTEUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfU0VUX0ZJTEUgMQp8ICNkZWZpbmUgSEFWRV9B Q0xfRlJFRSAxCnwgI2RlZmluZSBIQVZFX0FDTF9GUk9NX1RFWFQgMQp8ICNkZWZpbmUgVVNFX0FD TCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9FWFBFQ1QgMQp8ICNkZWZpbmUgR05VTElCX0NB Tk9OSUNBTElaRV9MR1BMIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZp bmUgRE9VQkxFX1NMQVNIX0lTX0RJU1RJTkNUX1JPT1QgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NF U1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDAKfCAjZGVmaW5lIEdOVUxJQl9G RE9QRU5ESVIgMQp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5l IF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0JDUllQVF9IIDEKfCAjZGVmaW5l IEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBfR0xfUkVQTEFDRV9JRUVFNzU0 X0ggMQp8ICNkZWZpbmUgSEFWRV9fX0lOTElORSAxCnwgI2RlZmluZSBIQVZFX0dNUF9IIDEKfCAj ZGVmaW5lIEhBVkVfTUVNUENQWSAxCnwgI2RlZmluZSBHTlVMSUJfTUtPU1RFTVAgMQp8ICNkZWZp bmUgTkVFRF9NS1RJTUVfV0lORE9XUyAxCnwgI2RlZmluZSBteV9zdHJmdGltZSBuc3RyZnRpbWUK fCAjZGVmaW5lIF9SRUdFWF9JTkNMVURFX0xJTUlUU19IIDEKfCAjZGVmaW5lIF9SRUdFWF9MQVJH RV9PRkZTRVRTIDEKfCAjZGVmaW5lIHJlX3N5bnRheF9vcHRpb25zIHJwbF9yZV9zeW50YXhfb3B0 aW9ucwp8ICNkZWZpbmUgcmVfc2V0X3N5bnRheCBycGxfcmVfc2V0X3N5bnRheAp8ICNkZWZpbmUg cmVfY29tcGlsZV9wYXR0ZXJuIHJwbF9yZV9jb21waWxlX3BhdHRlcm4KfCAjZGVmaW5lIHJlX2Nv bXBpbGVfZmFzdG1hcCBycGxfcmVfY29tcGlsZV9mYXN0bWFwCnwgI2RlZmluZSByZV9zZWFyY2gg cnBsX3JlX3NlYXJjaAp8ICNkZWZpbmUgcmVfc2VhcmNoXzIgcnBsX3JlX3NlYXJjaF8yCnwgI2Rl ZmluZSByZV9tYXRjaCBycGxfcmVfbWF0Y2gKfCAjZGVmaW5lIHJlX21hdGNoXzIgcnBsX3JlX21h dGNoXzIKfCAjZGVmaW5lIHJlX3NldF9yZWdpc3RlcnMgcnBsX3JlX3NldF9yZWdpc3RlcnMKfCAj ZGVmaW5lIHJlX2NvbXAgcnBsX3JlX2NvbXAKfCAjZGVmaW5lIHJlX2V4ZWMgcnBsX3JlX2V4ZWMK fCAjZGVmaW5lIHJlZ2NvbXAgcnBsX3JlZ2NvbXAKfCAjZGVmaW5lIHJlZ2V4ZWMgcnBsX3JlZ2V4 ZWMKfCAjZGVmaW5lIHJlZ2Vycm9yIHJwbF9yZWdlcnJvcgp8ICNkZWZpbmUgcmVnZnJlZSBycGxf cmVnZnJlZQp8ICNkZWZpbmUgSEFWRV9MSUJJTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0lT QkxBTksgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgc2lnMnN0ciB0byBh biBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIHNpZzJzdHIu CnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVv ZmRheS4gICovCnwgI2RlZmluZSBzaWcyc3RyIGlubm9jdW91c19zaWcyc3RyCnwgCnwgLyogU3lz dGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90 b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIHNpZzJzdHIgKCk7IGJl bG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlz IGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5k aW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1p dHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVm IHNpZzJzdHIKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBh dm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUg cmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBw cm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4 dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIHNpZzJzdHIgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJh cnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0 byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBu YW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1l IGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfc2lnMnN0ciB8fCBkZWZpbmVk IF9fc3R1Yl9fX3NpZzJzdHIKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkK fCB7CnwgcmV0dXJuIHNpZzJzdHIgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3Vy ZTozMTcxNjogcmVzdWx0OiBubwpjb25maWd1cmU6MzE3NDc6IGNoZWNraW5nIGZvciBzaWdkZXNj cl9ucApjb25maWd1cmU6MzE3NDc6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4 ZSAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgICBjb25mdGVzdC5jICAgPiY1IApD Oi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvMTAuMi4w Ly4uLy4uLy4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBDOlxtc3lzNjRcdG1w XGNjNlBiU0s2Lm86IGluIGZ1bmN0aW9uIGBtYWluJzoKQzpcbXN5czY0XGhvbWVcVldpblVzZXIw XERvd25sb2Fkc1xlbWFjc1xuYXRpdmUtY29tcFxidWlsZC9jb25mdGVzdC5jOjI3MTogdW5kZWZp bmVkIHJlZmVyZW5jZSB0byBgc2lnZGVzY3JfbnAnCmNvbGxlY3QyLmV4ZTogZXJyb3I6IGxkIHJl dHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjMxNzQ3OiAkPyA9IDEKY29uZmlndXJlOiBm YWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9O QU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZp bmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdO VSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1h Y3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3Nv ZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BE VU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAj ZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg X19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJ Tl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NP VVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJF QURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VY VF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZp bmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FO VF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5 X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZp bmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VS Q0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJ TEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9U WVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhB VkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19S RVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09D S0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAx CnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhB VkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5l IEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNk ZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBI QVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJ RlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1ND Uk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAx CnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFW RV9MQ01TMiAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEK fCAjZGVmaW5lIE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQg MQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01Q IDEKfCAjZGVmaW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BO RyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUg SEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFW RV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8 ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2Rl ZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmlu ZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhB VkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5l IEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVf UkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dB SV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFE X1NFVE5BTUVfTlAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURfQUxMT0MgMAp8ICNkZWZp bmUgSEFWRV9fX0JVSUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJ Tl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX1NC UksgMQp8ICNkZWZpbmUgSEFWRV9DQU5PTklDQUxJWkVfRklMRV9OQU1FIDEKfCAjZGVmaW5lIEhB VkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVf RVhQTElDSVRfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFW RV9GQ0hNT0RBVCAxCnwgI2RlZmluZSBIQVZFX0xDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRM IDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVm aW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUg SEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9JU0JM QU5LIDEKfCAjZGVmaW5lIEhBVkVfSVNXQ1RZUEUgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVgg MQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAj ZGVmaW5lIHZmb3JrIGZvcmsKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFW RV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fX05MX1BBUEVSX1dJ RFRIIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAx CnwgI2RlZmluZSBOVUxMX0RFVklDRSAiTlVMOiIKfCAjZGVmaW5lIFNFUENIQVIgJzsnCnwgI2Rl ZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29z CnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18p ICgoX2NfKSA9PSAnOicpCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09 ICcvJyB8fCAoX2NfKSA9PSAnXFwnKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJF Q1RPUllfU0VQIChfY18pIHx8IElTX0RFVklDRV9TRVAoX2NfKSkKfCAjZGVmaW5lIERFRkFVTFRf U09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2Rl ZmluZSBIQVZFX1NUQUNLX09WRVJGTE9XX0hBTkRMSU5HIDEKfCAjZGVmaW5lIERPU19OVCAvKiov CnwgI2RlZmluZSBXSU5ET1dTTlQgMQp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVm aW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ3MzJ0ZXJtLmgiCnwgI2RlZmluZSBFTUFD U19DT05GSUdVUkFUSU9OICJ4ODZfNjQtdzY0LW1pbmd3MzIiCnwgI2RlZmluZSBFTUFDU19DT05G SUdfT1BUSU9OUyAiLS1wcmVmaXg9L2hvbWUvVldpblVzZXIwL0Rvd25sb2Fkcy9lbWFjcy9uYXRp dmUtY29tcC9idWlsdCAtLXdpdGgtbmF0aXZlY29tcCIKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FU VFJJQlVURV9BTElHTkVEIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVf U1RBVEVNRU5UX0VYUFJFU1NJT05TIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5l IERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEZVTkNfUkVBTFBBVEhf V09SS1MgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9FTlZJ Uk9OX0RFQ0wgMQp8ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEK fCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfTUVNTUVNIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIFRJTUVf VF9JU19TSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVERM SUJfSCAxCnwgI2RlZmluZSBNQUxMT0NfMF9JU19OT05OVUxMIDEKfCAjZGVmaW5lIEhBVkVfV0NI QVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTkxFTiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf U1RSVE9JTUFYIDEKfCAjZGVmaW5lIF9VU0VfU1REX1NUQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X0NMRUFSRVJSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRU9GX1VOTE9DS0VEIDAK fCAjZGVmaW5lIEhBVkVfREVDTF9GRVJST1JfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNM X0ZGTFVTSF9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkdFVFNfVU5MT0NLRUQgMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX0ZQVVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9G UFVUU19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlJFQURfVU5MT0NLRUQgMAp8ICNk ZWZpbmUgSEFWRV9ERUNMX0ZXUklURV9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VU Q19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VUQ0hBUl9VTkxPQ0tFRCAwCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfUFVUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVUQ0hB Ul9VTkxPQ0tFRCAwCnwgI2RlZmluZSBHRVRHUk9VUFNfVCBpbnQKfCAjZGVmaW5lIEhBVkVfREVD TF9HRVREVEFCTEVTSVpFIDAKfCAjZGVmaW5lIFBST01PVEVEX01PREVfVCBpbnQKfCAjZGVmaW5l IEhBVkVfU1lTX0FDTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0dFVF9GSUxFIDEKfCAjZGVmaW5l IEhBVkVfQUNMX1NFVF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0ZSRUUgMQp8ICNkZWZpbmUg SEFWRV9BQ0xfRlJPTV9URVhUIDEKfCAjZGVmaW5lIFVTRV9BQ0wgMQp8ICNkZWZpbmUgSEFWRV9f X0JVSUxUSU5fRVhQRUNUIDEKfCAjZGVmaW5lIEdOVUxJQl9DQU5PTklDQUxJWkVfTEdQTCAxCnwg I2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19E SVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX0ZET1BFTkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5l IEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBs Xwp8ICNkZWZpbmUgSEFWRV9CQ1JZUFRfSCAxCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpP TkUgdm9pZAp8ICNkZWZpbmUgX0dMX1JFUExBQ0VfSUVFRTc1NF9IIDEKfCAjZGVmaW5lIEhBVkVf X19JTkxJTkUgMQp8ICNkZWZpbmUgSEFWRV9HTVBfSCAxCnwgI2RlZmluZSBIQVZFX01FTVBDUFkg MQp8ICNkZWZpbmUgR05VTElCX01LT1NURU1QIDEKfCAjZGVmaW5lIE5FRURfTUtUSU1FX1dJTkRP V1MgMQp8ICNkZWZpbmUgbXlfc3RyZnRpbWUgbnN0cmZ0aW1lCnwgI2RlZmluZSBfUkVHRVhfSU5D TFVERV9MSU1JVFNfSCAxCnwgI2RlZmluZSBfUkVHRVhfTEFSR0VfT0ZGU0VUUyAxCnwgI2RlZmlu ZSByZV9zeW50YXhfb3B0aW9ucyBycGxfcmVfc3ludGF4X29wdGlvbnMKfCAjZGVmaW5lIHJlX3Nl dF9zeW50YXggcnBsX3JlX3NldF9zeW50YXgKfCAjZGVmaW5lIHJlX2NvbXBpbGVfcGF0dGVybiBy cGxfcmVfY29tcGlsZV9wYXR0ZXJuCnwgI2RlZmluZSByZV9jb21waWxlX2Zhc3RtYXAgcnBsX3Jl X2NvbXBpbGVfZmFzdG1hcAp8ICNkZWZpbmUgcmVfc2VhcmNoIHJwbF9yZV9zZWFyY2gKfCAjZGVm aW5lIHJlX3NlYXJjaF8yIHJwbF9yZV9zZWFyY2hfMgp8ICNkZWZpbmUgcmVfbWF0Y2ggcnBsX3Jl X21hdGNoCnwgI2RlZmluZSByZV9tYXRjaF8yIHJwbF9yZV9tYXRjaF8yCnwgI2RlZmluZSByZV9z ZXRfcmVnaXN0ZXJzIHJwbF9yZV9zZXRfcmVnaXN0ZXJzCnwgI2RlZmluZSByZV9jb21wIHJwbF9y ZV9jb21wCnwgI2RlZmluZSByZV9leGVjIHJwbF9yZV9leGVjCnwgI2RlZmluZSByZWdjb21wIHJw bF9yZWdjb21wCnwgI2RlZmluZSByZWdleGVjIHJwbF9yZWdleGVjCnwgI2RlZmluZSByZWdlcnJv ciBycGxfcmVnZXJyb3IKfCAjZGVmaW5lIHJlZ2ZyZWUgcnBsX3JlZ2ZyZWUKfCAjZGVmaW5lIEhB VkVfTElCSU5UTF9IIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9JU0JMQU5LIDEKfCAvKiBlbmQgY29u ZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIHNpZ2Rlc2NyX25wIHRvIGFuIGlubm9jdW91cyB2YXJp YW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgc2lnZGVzY3JfbnAuCnwgICAgRm9yIGV4 YW1wbGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwg I2RlZmluZSBzaWdkZXNjcl9ucCBpbm5vY3VvdXNfc2lnZGVzY3JfbnAKfCAKfCAvKiBTeXN0ZW0g aGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlw ZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgc2lnZGVzY3JfbnAgKCk7IGJl bG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlz IGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5k aW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1p dHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVm IHNpZ2Rlc2NyX25wCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUg dG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2gg dGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1l bnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMK fCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBzaWdkZXNjcl9ucCAoKTsKfCAvKiBUaGUgR05V IEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRz CnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFj dHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9y bWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9zaWdkZXNjcl9u cCB8fCBkZWZpbmVkIF9fc3R1Yl9fX3NpZ2Rlc2NyX25wCnwgY2hva2UgbWUKfCAjZW5kaWYKfCAK fCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBzaWdkZXNjcl9ucCAoKTsKfCAgIDsKfCAgIHJl dHVybiAwOwp8IH0KY29uZmlndXJlOjMxNzQ3OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTozMTg2MDog Y2hlY2tpbmcgZm9yIHZvbGF0aWxlIHNpZ19hdG9taWNfdApjb25maWd1cmU6MzE4NjA6IGdjYyAt SSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgY29u ZnRlc3QuYyA+JjUKY29uZmlndXJlOjMxODYwOiAkPyA9IDAKY29uZmlndXJlOjMxODYwOiBnY2Mg LUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgIGNv bmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoy NDQ6MzY6IGVycm9yOiBleHBlY3RlZCBleHByZXNzaW9uIGJlZm9yZSAnKScgdG9rZW4KICAyNDQg fCBpZiAoc2l6ZW9mICgodm9sYXRpbGUgc2lnX2F0b21pY190KSkpCiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNvbmZpZ3VyZTozMTg2MDogJD8gPSAxCmNvbmZp Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBB Q0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIK fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RS SU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWct Z251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251 Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUg SEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZ U19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NU RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllf SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAj ZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5l IF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05F VEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJ WF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRU UklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEK fCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19T VERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lF Q182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEK fCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5E RU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVm aW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBT WVNURU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2Rl ZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9V TklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElS RU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19U SU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAx CnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2Rl ZmluZSBIQVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwg I2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJT IDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNk ZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVf VzMyTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9P TEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFS RkJVWlogMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVm aW5lIEhBVkVfTENNUzIgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9E VUxFUyAxCnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElC R0NDSklUIDEKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJ VkVfQ09NUCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUg SEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAj ZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVm aW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RS VU5DIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUg MQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8 ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2Rl ZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwg I2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmlu ZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUg SEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVf UFRIUkVBRF9TRVROQU1FX05QIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDAK fCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX0ZSQU1FX0FERFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9f X0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUg SEFWRV9TQlJLIDEKfCAjZGVmaW5lIEhBVkVfQ0FOT05JQ0FMSVpFX0ZJTEVfTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmlu ZSBIQVZFX0VYUExJQ0lUX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVm aW5lIEhBVkVfRkNITU9EQVQgMQp8ICNkZWZpbmUgSEFWRV9MQ0hNT0QgMQp8ICNkZWZpbmUgSEFW RV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAx CnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAj ZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhB VkVfSVNCTEFOSyAxCnwgI2RlZmluZSBIQVZFX0lTV0NUWVBFIDEKfCAjZGVmaW5lIEhBVkVfU1RS VE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNB VCAxCnwgI2RlZmluZSB2Zm9yayBmb3JrCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVm aW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX19OTF9Q QVBFUl9XSURUSCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBIQVZFX1NP Q0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIk5VTDoiCnwgI2RlZmluZSBTRVBDSEFSICc7 Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5w d19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9T RVAoX2NfKSAoKF9jXykgPT0gJzonKQp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgo X2NfKSA9PSAnLycgfHwgKF9jXykgPT0gJ1xcJykKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAo SVNfRElSRUNUT1JZX1NFUCAoX2NfKSB8fCBJU19ERVZJQ0VfU0VQKF9jXykpCnwgI2RlZmluZSBE RUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1Mg MQp8ICNkZWZpbmUgSEFWRV9TVEFDS19PVkVSRkxPV19IQU5ETElORyAxCnwgI2RlZmluZSBET1Nf TlQgLyoqLwp8ICNkZWZpbmUgV0lORE9XU05UIDEKfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAx CnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAyMCBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAidzMydGVybS5oIgp8ICNkZWZp bmUgRU1BQ1NfQ09ORklHVVJBVElPTiAieDg2XzY0LXc2NC1taW5ndzMyIgp8ICNkZWZpbmUgRU1B Q1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PS9ob21lL1ZXaW5Vc2VyMC9Eb3dubG9hZHMvZW1h Y3MvbmF0aXZlLWNvbXAvYnVpbHQgLS13aXRoLW5hdGl2ZWNvbXAiCnwgI2RlZmluZSBIQVZFX1NU UlVDVF9BVFRSSUJVVEVfQUxJR05FRCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmlu ZSBIQVZFX1NUQVRFTUVOVF9FWFBSRVNTSU9OUyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwg I2RlZmluZSBET1VCTEVfU0xBU0hfSVNfRElTVElOQ1RfUk9PVCAxCnwgI2RlZmluZSBGVU5DX1JF QUxQQVRIX1dPUktTIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhB VkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIExTVEFUX0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5L IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05H X0lOVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX01FTU1FTSAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmlu ZSBUSU1FX1RfSVNfU0lHTkVEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgTUFMTE9DXzBfSVNfTk9OTlVMTCAxCnwgI2RlZmluZSBI QVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk5MRU4gMQp8ICNkZWZpbmUgSEFW RV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBfVVNFX1NURF9TVEFUIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9DTEVBUkVSUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkVPRl9VTkxP Q0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkVSUk9SX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhB VkVfREVDTF9GRkxVU0hfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZHRVRTX1VOTE9D S0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZF X0RFQ0xfRlBVVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZSRUFEX1VOTE9DS0VE IDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GV1JJVEVfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9E RUNMX0dFVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVENIQVJfVU5MT0NLRUQg MAp8ICNkZWZpbmUgSEFWRV9ERUNMX1BVVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNM X1BVVENIQVJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgaW50CnwgI2RlZmluZSBI QVZFX0RFQ0xfR0VURFRBQkxFU0laRSAwCnwgI2RlZmluZSBQUk9NT1RFRF9NT0RFX1QgaW50Cnwg I2RlZmluZSBIQVZFX1NZU19BQ0xfSCAxCnwgI2RlZmluZSBIQVZFX0FDTF9HRVRfRklMRSAxCnwg I2RlZmluZSBIQVZFX0FDTF9TRVRfRklMRSAxCnwgI2RlZmluZSBIQVZFX0FDTF9GUkVFIDEKfCAj ZGVmaW5lIEhBVkVfQUNMX0ZST01fVEVYVCAxCnwgI2RlZmluZSBVU0VfQUNMIDEKfCAjZGVmaW5l IEhBVkVfX19CVUlMVElOX0VYUEVDVCAxCnwgI2RlZmluZSBHTlVMSUJfQ0FOT05JQ0FMSVpFX0xH UEwgMQp8ICNkZWZpbmUgR05VTElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBET1VCTEVfU0xB U0hfSVNfRElTVElOQ1RfUk9PVCAxCnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9GRE9QRU5ESVIgMAp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwg I2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgX19HRVRPUFRfUFJF RklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfQkNSWVBUX0ggMQp8ICNkZWZpbmUgR0VUVElNRU9GREFZ X1RJTUVaT05FIHZvaWQKfCAjZGVmaW5lIF9HTF9SRVBMQUNFX0lFRUU3NTRfSCAxCnwgI2RlZmlu ZSBIQVZFX19fSU5MSU5FIDEKfCAjZGVmaW5lIEhBVkVfR01QX0ggMQp8ICNkZWZpbmUgSEFWRV9N RU1QQ1BZIDEKfCAjZGVmaW5lIEdOVUxJQl9NS09TVEVNUCAxCnwgI2RlZmluZSBORUVEX01LVElN RV9XSU5ET1dTIDEKfCAjZGVmaW5lIG15X3N0cmZ0aW1lIG5zdHJmdGltZQp8ICNkZWZpbmUgX1JF R0VYX0lOQ0xVREVfTElNSVRTX0ggMQp8ICNkZWZpbmUgX1JFR0VYX0xBUkdFX09GRlNFVFMgMQp8 ICNkZWZpbmUgcmVfc3ludGF4X29wdGlvbnMgcnBsX3JlX3N5bnRheF9vcHRpb25zCnwgI2RlZmlu ZSByZV9zZXRfc3ludGF4IHJwbF9yZV9zZXRfc3ludGF4CnwgI2RlZmluZSByZV9jb21waWxlX3Bh dHRlcm4gcnBsX3JlX2NvbXBpbGVfcGF0dGVybgp8ICNkZWZpbmUgcmVfY29tcGlsZV9mYXN0bWFw IHJwbF9yZV9jb21waWxlX2Zhc3RtYXAKfCAjZGVmaW5lIHJlX3NlYXJjaCBycGxfcmVfc2VhcmNo CnwgI2RlZmluZSByZV9zZWFyY2hfMiBycGxfcmVfc2VhcmNoXzIKfCAjZGVmaW5lIHJlX21hdGNo IHJwbF9yZV9tYXRjaAp8ICNkZWZpbmUgcmVfbWF0Y2hfMiBycGxfcmVfbWF0Y2hfMgp8ICNkZWZp bmUgcmVfc2V0X3JlZ2lzdGVycyBycGxfcmVfc2V0X3JlZ2lzdGVycwp8ICNkZWZpbmUgcmVfY29t cCBycGxfcmVfY29tcAp8ICNkZWZpbmUgcmVfZXhlYyBycGxfcmVfZXhlYwp8ICNkZWZpbmUgcmVn Y29tcCBycGxfcmVnY29tcAp8ICNkZWZpbmUgcmVnZXhlYyBycGxfcmVnZXhlYwp8ICNkZWZpbmUg cmVnZXJyb3IgcnBsX3JlZ2Vycm9yCnwgI2RlZmluZSByZWdmcmVlIHJwbF9yZWdmcmVlCnwgI2Rl ZmluZSBIQVZFX0xJQklOVExfSCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfSVNCTEFOSyAxCnwgLyog ZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8ICNpbmNsdWRlIDxzaWduYWwuaD4KfCAKfCAKfCBpbnQK fCBtYWluICgpCnwgewp8IGlmIChzaXplb2YgKCh2b2xhdGlsZSBzaWdfYXRvbWljX3QpKSkKfCAJ ICAgIHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MzE4NjA6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZTozMTg3NjogY2hlY2tpbmcgZm9yIHNpZ2hhbmRsZXJfdApjb25m aWd1cmU6MzE4NzY6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1t dHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21h aW4nOgpjb25mdGVzdC5jOjI0NDoxMzogZXJyb3I6ICdzaWdoYW5kbGVyX3QnIHVuZGVjbGFyZWQg KGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIDI0NCB8IGlmIChzaXplb2YgKHNpZ2hhbmRs ZXJfdCkpCiAgICAgIHwgICAgICAgICAgICAgXn5+fn5+fn5+fn5+CmNvbmZ0ZXN0LmM6MjQ0OjEz OiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2Ug Zm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgpjb25maWd1cmU6MzE4NzY6ICQ/ID0gMQpj b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmlu ZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdF X1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi YnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3 LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVm aW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFW RV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVN T1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2Rl ZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5l IF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBf UE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5 X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRf XyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5l IF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FO VF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJf XyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBf VEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwg I2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZp bmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8 ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZF X0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hB Ul9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJ TUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTlRHVUkgMQp8 ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0Mg MQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBVU0VfTU1BUF9GT1JfQlVG RkVSUyAxCnwgI2RlZmluZSBUSFJFQURTX0VOQUJMRUQgMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEK fCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfSlNPTiAxCnwgI2RlZmluZSBI QVZFX1czMk5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNF X1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZF X0hBUkZCVVpaIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwg I2RlZmluZSBIQVZFX0xDTVMyIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZF X01PRFVMRVMgMQp8ICNkZWZpbmUgTU9EVUxFU19TVUZGSVggIi5kbGwiCnwgI2RlZmluZSBIQVZF X0xJQkdDQ0pJVCAxCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVF9IIDEKfCAjZGVmaW5lIEhBVkVf TkFUSVZFX0NPTVAgMQp8ICNkZWZpbmUgTkFUSVZFX0VMSVNQX1NVRkZJWCAiLmVsbiIKfCAjZGVm aW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAx CnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwg I2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFW RV9UUlVOQyAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VT SVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlU IDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8 ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwg MQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNk ZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVm aW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxJR05FRF9BTExP QyAwCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9GUkFNRV9BRERSRVNTIDEKfCAjZGVmaW5lIEhB VkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVm aW5lIEhBVkVfU0JSSyAxCnwgI2RlZmluZSBIQVZFX0NBTk9OSUNBTElaRV9GSUxFX05BTUUgMQp8 ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LQVQgMQp8ICNk ZWZpbmUgSEFWRV9FWFBMSUNJVF9CWkVSTyAxCnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwg I2RlZmluZSBIQVZFX0ZDSE1PREFUIDEKfCAjZGVmaW5lIEhBVkVfTENITU9EIDEKfCAjZGVmaW5l IEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVfRlNZ TkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAx CnwgI2RlZmluZSBIQVZFX1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmlu ZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9JU1dDVFlQRSAxCnwgI2RlZmluZSBIQVZF X1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9VVElN RU5TQVQgMQp8ICNkZWZpbmUgdmZvcmsgZm9yawp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwg I2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19f TkxfUEFQRVJfV0lEVEggMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgSEFW RV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICJOVUw6Igp8ICNkZWZpbmUgU0VQQ0hB UiAnOycKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBw dy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJ Q0VfU0VQKF9jXykgKChfY18pID09ICc6JykKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2Nf KSAoKF9jXykgPT0gJy8nIHx8IChfY18pID09ICdcXCcpCnwgI2RlZmluZSBJU19BTllfU0VQKF9j XykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykgfHwgSVNfREVWSUNFX1NFUChfY18pKQp8ICNkZWZp bmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgR0NfU0VUSk1QX1dP UktTIDEKfCAjZGVmaW5lIEhBVkVfU1RBQ0tfT1ZFUkZMT1dfSEFORExJTkcgMQp8ICNkZWZpbmUg RE9TX05UIC8qKi8KfCAjZGVmaW5lIFdJTkRPV1NOVCAxCnwgI2RlZmluZSBVU0FCTEVfRklPTlJF QUQgMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMjAgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInczMnRlcm0uaCIKfCAj ZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gIng4Nl82NC13NjQtbWluZ3czMiIKfCAjZGVmaW5l IEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZpeD0vaG9tZS9WV2luVXNlcjAvRG93bmxvYWRz L2VtYWNzL25hdGl2ZS1jb21wL2J1aWx0IC0td2l0aC1uYXRpdmVjb21wIgp8ICNkZWZpbmUgSEFW RV9TVFJVQ1RfQVRUUklCVVRFX0FMSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNk ZWZpbmUgSEFWRV9TVEFURU1FTlRfRVhQUkVTU0lPTlMgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0Eg MQp8ICNkZWZpbmUgRE9VQkxFX1NMQVNIX0lTX0RJU1RJTkNUX1JPT1QgMQp8ICNkZWZpbmUgRlVO Q19SRUFMUEFUSF9XT1JLUyAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmlu ZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBMU1RBVF9GT0xMT1dTX1NMQVNIRURfU1lN TElOSyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBIQVZFX0xPTkdf TE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9NRU1NRU0gMAp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNk ZWZpbmUgVElNRV9UX0lTX1NJR05FRCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmlu ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIE1BTExPQ18wX0lTX05PTk5VTEwgMQp8ICNkZWZp bmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJOTEVOIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgX1VTRV9TVERfU1RBVCAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfQ0xFQVJFUlJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZFT0Zf VU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZFUlJPUl9VTkxPQ0tFRCAwCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfRkZMVVNIX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GR0VUU19V TkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlBVVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUg SEFWRV9ERUNMX0ZQVVRTX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUkVBRF9VTkxP Q0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRldSSVRFX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhB VkVfREVDTF9HRVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRDSEFSX1VOTE9D S0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9QVVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVf REVDTF9QVVRDSEFSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEdFVEdST1VQU19UIGludAp8ICNkZWZp bmUgSEFWRV9ERUNMX0dFVERUQUJMRVNJWkUgMAp8ICNkZWZpbmUgUFJPTU9URURfTU9ERV9UIGlu dAp8ICNkZWZpbmUgSEFWRV9TWVNfQUNMX0ggMQp8ICNkZWZpbmUgSEFWRV9BQ0xfR0VUX0ZJTEUg MQp8ICNkZWZpbmUgSEFWRV9BQ0xfU0VUX0ZJTEUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfRlJFRSAx CnwgI2RlZmluZSBIQVZFX0FDTF9GUk9NX1RFWFQgMQp8ICNkZWZpbmUgVVNFX0FDTCAxCnwgI2Rl ZmluZSBIQVZFX19fQlVJTFRJTl9FWFBFQ1QgMQp8ICNkZWZpbmUgR05VTElCX0NBTk9OSUNBTEla RV9MR1BMIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgRE9VQkxF X1NMQVNIX0lTX0RJU1RJTkNUX1JPT1QgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDAKfCAjZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIg MQp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIF9fR0VUT1BU X1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0JDUllQVF9IIDEKfCAjZGVmaW5lIEdFVFRJTUVP RkRBWV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBfR0xfUkVQTEFDRV9JRUVFNzU0X0ggMQp8ICNk ZWZpbmUgSEFWRV9fX0lOTElORSAxCnwgI2RlZmluZSBIQVZFX0dNUF9IIDEKfCAjZGVmaW5lIEhB VkVfTUVNUENQWSAxCnwgI2RlZmluZSBHTlVMSUJfTUtPU1RFTVAgMQp8ICNkZWZpbmUgTkVFRF9N S1RJTUVfV0lORE9XUyAxCnwgI2RlZmluZSBteV9zdHJmdGltZSBuc3RyZnRpbWUKfCAjZGVmaW5l IF9SRUdFWF9JTkNMVURFX0xJTUlUU19IIDEKfCAjZGVmaW5lIF9SRUdFWF9MQVJHRV9PRkZTRVRT IDEKfCAjZGVmaW5lIHJlX3N5bnRheF9vcHRpb25zIHJwbF9yZV9zeW50YXhfb3B0aW9ucwp8ICNk ZWZpbmUgcmVfc2V0X3N5bnRheCBycGxfcmVfc2V0X3N5bnRheAp8ICNkZWZpbmUgcmVfY29tcGls ZV9wYXR0ZXJuIHJwbF9yZV9jb21waWxlX3BhdHRlcm4KfCAjZGVmaW5lIHJlX2NvbXBpbGVfZmFz dG1hcCBycGxfcmVfY29tcGlsZV9mYXN0bWFwCnwgI2RlZmluZSByZV9zZWFyY2ggcnBsX3JlX3Nl YXJjaAp8ICNkZWZpbmUgcmVfc2VhcmNoXzIgcnBsX3JlX3NlYXJjaF8yCnwgI2RlZmluZSByZV9t YXRjaCBycGxfcmVfbWF0Y2gKfCAjZGVmaW5lIHJlX21hdGNoXzIgcnBsX3JlX21hdGNoXzIKfCAj ZGVmaW5lIHJlX3NldF9yZWdpc3RlcnMgcnBsX3JlX3NldF9yZWdpc3RlcnMKfCAjZGVmaW5lIHJl X2NvbXAgcnBsX3JlX2NvbXAKfCAjZGVmaW5lIHJlX2V4ZWMgcnBsX3JlX2V4ZWMKfCAjZGVmaW5l IHJlZ2NvbXAgcnBsX3JlZ2NvbXAKfCAjZGVmaW5lIHJlZ2V4ZWMgcnBsX3JlZ2V4ZWMKfCAjZGVm aW5lIHJlZ2Vycm9yIHJwbF9yZWdlcnJvcgp8ICNkZWZpbmUgcmVnZnJlZSBycGxfcmVnZnJlZQp8 ICNkZWZpbmUgSEFWRV9MSUJJTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0lTQkxBTksgMQp8 IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAjaW5jbHVkZSA8c2lnbmFsLmg+CnwgCnwgCnwg aW50CnwgbWFpbiAoKQp8IHsKfCBpZiAoc2l6ZW9mIChzaWdoYW5kbGVyX3QpKQp8IAkgcmV0dXJu IDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTozMTg3NjogcmVzdWx0OiBubwpj b25maWd1cmU6MzE4OTE6IGNoZWNraW5nIGZvciBzb2NrbGVuX3QKY29uZmlndXJlOjMxODkxOiBn Y2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAg IGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTozMTg5MTogJD8gPSAwCmNvbmZpZ3VyZTozMTg5MTog Z2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5lPWdlbmVyaWMg ICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0 LmM6MjUyOjI0OiBlcnJvcjogZXhwZWN0ZWQgZXhwcmVzc2lvbiBiZWZvcmUgJyknIHRva2VuCiAg MjUyIHwgaWYgKHNpemVvZiAoKHNvY2tsZW5fdCkpKQogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgXgpjb25maWd1cmU6MzE4OTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFj cyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZF UlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAu NTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8 ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3Mv Igp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2Rl ZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNf XyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEK fCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAjZGVm aW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1Mg MQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZp bmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FO VF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9G VU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18g MQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FO VF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmlu ZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklU UyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRvd3Mt bnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwg I2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8 ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2Rl ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhB VkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU QVRfSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNf V0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1B R0VfQVBJIDEKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdF U0laRSAxCnwgI2RlZmluZSBVU0VfTU1BUF9GT1JfQlVGRkVSUyAxCnwgI2RlZmluZSBUSFJFQURT X0VOQUJMRUQgMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEK fCAjZGVmaW5lIEhBVkVfSlNPTiAxCnwgI2RlZmluZSBIQVZFX1czMk5PVElGWSAxCnwgI2RlZmlu ZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8 ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0hBUkZCVVpaIDEKfCAjZGVmaW5lIEhB VkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0xDTVMyIDEKfCAj ZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX01PRFVMRVMgMQp8ICNkZWZpbmUgTU9E VUxFU19TVUZGSVggIi5kbGwiCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVCAxCnwgI2RlZmluZSBI QVZFX0xJQkdDQ0pJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0NPTVAgMQp8ICNkZWZpbmUg TkFUSVZFX0VMSVNQX1NVRkZJWCAiLmVsbiIKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5l IEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIg MQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwg I2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9UUlVOQyAxCnwgI2RlZmluZSBIQVZF X1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VU TE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJ TUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJ R01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElN RVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwg I2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEK fCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxJR05FRF9BTExPQyAwCnwgI2RlZmluZSBIQVZFX19fQlVJ TFRJTl9GUkFNRV9BRERSRVNTIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklU IDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfU0JSSyAxCnwgI2RlZmlu ZSBIQVZFX0NBTk9OSUNBTElaRV9GSUxFX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAx CnwgI2RlZmluZSBIQVZFX1JFQURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9FWFBMSUNJVF9CWkVS TyAxCnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PREFUIDEK fCAjZGVmaW5lIEhBVkVfTENITU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUg SEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRU SU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BJUEUyIDEK fCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZp bmUgSEFWRV9JU1dDVFlQRSAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBI QVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUgdmZvcmsg Zm9yawp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NP REVTRVQgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19fTkxfUEFQRVJfV0lEVEggMQp8ICNkZWZp bmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5V TExfREVWSUNFICJOVUw6Igp8ICNkZWZpbmUgU0VQQ0hBUiAnOycKfCAjZGVmaW5lIHN1YnByb2Nl c3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJ UkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgKChfY18pID09ICc6 JykKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gJy8nIHx8IChfY18p ID09ICdcXCcpCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9j XykgfHwgSVNfREVWSUNFX1NFUChfY18pKQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0Ug Ii9kZXYvZHNwIgp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfU1RB Q0tfT1ZFUkZMT1dfSEFORExJTkcgMQp8ICNkZWZpbmUgRE9TX05UIC8qKi8KfCAjZGVmaW5lIFdJ TkRPV1NOVCAxCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgQ09QWVJJR0hU ICJDb3B5cmlnaHQgKEMpIDIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNk ZWZpbmUgVEVSTV9IRUFERVIgInczMnRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJ T04gIng4Nl82NC13NjQtbWluZ3czMiIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICIt LXByZWZpeD0vaG9tZS9WV2luVXNlcjAvRG93bmxvYWRzL2VtYWNzL25hdGl2ZS1jb21wL2J1aWx0 IC0td2l0aC1uYXRpdmVjb21wIgp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQVRUUklCVVRFX0FMSUdO RUQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9TVEFURU1FTlRfRVhQ UkVTU0lPTlMgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgRE9VQkxFX1NMQVNI X0lTX0RJU1RJTkNUX1JPT1QgMQp8ICNkZWZpbmUgRlVOQ19SRUFMUEFUSF9XT1JLUyAxCnwgI2Rl ZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwg I2RlZmluZSBMU1RBVF9GT0xMT1dTX1NMQVNIRURfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfU1RSTU9ERSAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFW RV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1NRU0gMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgVElNRV9UX0lTX1NJR05FRCAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAx CnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm aW5lIE1BTExPQ18wX0lTX05PTk5VTEwgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9TVFJOTEVOIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8 ICNkZWZpbmUgX1VTRV9TVERfU1RBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQ0xFQVJFUlJfVU5M T0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZFT0ZfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFW RV9ERUNMX0ZFUlJPUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkZMVVNIX1VOTE9D S0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GR0VUU19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZF X0RFQ0xfRlBVVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZQVVRTX1VOTE9DS0VE IDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUkVBRF9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfRldSSVRFX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRDX1VOTE9DS0VEIDAK fCAjZGVmaW5lIEhBVkVfREVDTF9HRVRDSEFSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9QVVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9QVVRDSEFSX1VOTE9DS0VEIDAK fCAjZGVmaW5lIEdFVEdST1VQU19UIGludAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVERUQUJMRVNJ WkUgMAp8ICNkZWZpbmUgUFJPTU9URURfTU9ERV9UIGludAp8ICNkZWZpbmUgSEFWRV9TWVNfQUNM X0ggMQp8ICNkZWZpbmUgSEFWRV9BQ0xfR0VUX0ZJTEUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfU0VU X0ZJTEUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfRlJFRSAxCnwgI2RlZmluZSBIQVZFX0FDTF9GUk9N X1RFWFQgMQp8ICNkZWZpbmUgVVNFX0FDTCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9FWFBF Q1QgMQp8ICNkZWZpbmUgR05VTElCX0NBTk9OSUNBTElaRV9MR1BMIDEKfCAjZGVmaW5lIEdOVUxJ Ql9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgRE9VQkxFX1NMQVNIX0lTX0RJU1RJTkNUX1JPT1Qg MQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVO RElSIDAKfCAjZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgRkxFWElCTEVfQVJS QVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBI QVZFX0JDUllQVF9IIDEKfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgI2Rl ZmluZSBfR0xfUkVQTEFDRV9JRUVFNzU0X0ggMQp8ICNkZWZpbmUgSEFWRV9fX0lOTElORSAxCnwg I2RlZmluZSBIQVZFX0dNUF9IIDEKfCAjZGVmaW5lIEhBVkVfTUVNUENQWSAxCnwgI2RlZmluZSBH TlVMSUJfTUtPU1RFTVAgMQp8ICNkZWZpbmUgTkVFRF9NS1RJTUVfV0lORE9XUyAxCnwgI2RlZmlu ZSBteV9zdHJmdGltZSBuc3RyZnRpbWUKfCAjZGVmaW5lIF9SRUdFWF9JTkNMVURFX0xJTUlUU19I IDEKfCAjZGVmaW5lIF9SRUdFWF9MQVJHRV9PRkZTRVRTIDEKfCAjZGVmaW5lIHJlX3N5bnRheF9v cHRpb25zIHJwbF9yZV9zeW50YXhfb3B0aW9ucwp8ICNkZWZpbmUgcmVfc2V0X3N5bnRheCBycGxf cmVfc2V0X3N5bnRheAp8ICNkZWZpbmUgcmVfY29tcGlsZV9wYXR0ZXJuIHJwbF9yZV9jb21waWxl X3BhdHRlcm4KfCAjZGVmaW5lIHJlX2NvbXBpbGVfZmFzdG1hcCBycGxfcmVfY29tcGlsZV9mYXN0 bWFwCnwgI2RlZmluZSByZV9zZWFyY2ggcnBsX3JlX3NlYXJjaAp8ICNkZWZpbmUgcmVfc2VhcmNo XzIgcnBsX3JlX3NlYXJjaF8yCnwgI2RlZmluZSByZV9tYXRjaCBycGxfcmVfbWF0Y2gKfCAjZGVm aW5lIHJlX21hdGNoXzIgcnBsX3JlX21hdGNoXzIKfCAjZGVmaW5lIHJlX3NldF9yZWdpc3RlcnMg cnBsX3JlX3NldF9yZWdpc3RlcnMKfCAjZGVmaW5lIHJlX2NvbXAgcnBsX3JlX2NvbXAKfCAjZGVm aW5lIHJlX2V4ZWMgcnBsX3JlX2V4ZWMKfCAjZGVmaW5lIHJlZ2NvbXAgcnBsX3JlZ2NvbXAKfCAj ZGVmaW5lIHJlZ2V4ZWMgcnBsX3JlZ2V4ZWMKfCAjZGVmaW5lIHJlZ2Vycm9yIHJwbF9yZWdlcnJv cgp8ICNkZWZpbmUgcmVnZnJlZSBycGxfcmVnZnJlZQp8ICNkZWZpbmUgSEFWRV9MSUJJTlRMX0gg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX0lTQkxBTksgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K fCAKfCAvKiA8c3lzL3R5cGVzLmg+IGlzIG5vdCBuZWVkZWQgYWNjb3JkaW5nIHRvIFBPU0lYLCBi dXQgdGhlCnwgICAgPHN5cy9zb2NrZXQuaD4gaW4gaTM4Ni11bmtub3duLWZyZWVic2Q0LjEwIGFu ZAp8ICAgIHBvd2VycGMtYXBwbGUtZGFyd2luNS41IHJlcXVpcmVkIGl0LiAqLwp8ICNpbmNsdWRl IDxzeXMvdHlwZXMuaD4KfCAjaWYgSEFWRV9TWVNfU09DS0VUX0gKfCAjIGluY2x1ZGUgPHN5cy9z b2NrZXQuaD4KfCAjZWxpZiBIQVZFX1dTMlRDUElQX0gKfCAjIGluY2x1ZGUgPHdzMnRjcGlwLmg+ CnwgI2VuZGlmCnwgCnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBpZiAoc2l6ZW9mICgoc29ja2xl bl90KSkpCnwgCSAgICByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJl OjMxODkxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzE5NTQ6IGNoZWNraW5nIGZvciBzc2l6ZV90 CmNvbmZpZ3VyZTozMTk3MTogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJm LTIgLW10dW5lPWdlbmVyaWMgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MzE5NzE6ICQ/ID0g MApjb25maWd1cmU6MzE5Nzg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMTk5MDogY2hlY2tpbmcg Zm9yIHN0cnVjdCBzdGF0LnN0X2F0aW0udHZfbnNlYwpjb25maWd1cmU6MzE5OTA6IGdjYyAtSSAu Li9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgY29uZnRl c3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjI0NDox MzogZXJyb3I6ICdzdHJ1Y3Qgc3RhdCcgaGFzIG5vIG1lbWJlciBuYW1lZCAnc3RfYXRpbSc7IGRp ZCB5b3UgbWVhbiAnc3RfYXRpbWUnPwogIDI0NCB8IGlmIChhY19hZ2dyLnN0X2F0aW0udHZfbnNl YykKICAgICAgfCAgICAgICAgICAgICBefn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgc3RfYXRp bWUKY29uZmlndXJlOjMxOTkwOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwg I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O ICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8 ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVm aW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAj ZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUg U1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H U19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8 ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2Rl ZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBf T1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAj ZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9f U1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVD XzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1Nf RVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAj ZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFU SF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQ VVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQK fCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8 ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZp bmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVm aW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJ TUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg MQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRf SCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQ SSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUg MQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFEU19FTkFC TEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2Rl ZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZpbmUgVVNF X0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVm aW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmluZSBIQVZFX1hQ TSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwgI2RlZmlu ZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1PRFVMRVNf U1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUgSEFWRV9M SUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVmaW5lIE5BVElW RV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZF X1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAj ZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZp bmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFWRV9TRUxF Q1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FM RSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAx CnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNL IDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEK fCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZp bmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2Rl ZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX0FMSUdORURfQUxMT0MgMAp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5f RlJBTUVfQUREUkVTUyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwg I2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX1NCUksgMQp8ICNkZWZpbmUgSEFW RV9DQU5PTklDQUxJWkVfRklMRV9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNk ZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRVhQTElDSVRfQlpFUk8gMQp8 ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0RBVCAxCnwgI2Rl ZmluZSBIQVZFX0xDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVf RlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9G REFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2Rl ZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhB VkVfSVNXQ1RZUEUgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9T WU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIHZmb3JrIGZvcmsK fCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VU IDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fX05MX1BBUEVSX1dJRFRIIDEKfCAjZGVmaW5lIEhB VkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RF VklDRSAiTlVMOiIKfCAjZGVmaW5lIFNFUENIQVIgJzsnCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMg MQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RP UllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pICgoX2NfKSA9PSAnOicpCnwg I2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09ICcvJyB8fCAoX2NfKSA9PSAn XFwnKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pIHx8 IElTX0RFVklDRV9TRVAoX2NfKSkKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2 L2RzcCIKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX1NUQUNLX09W RVJGTE9XX0hBTkRMSU5HIDEKfCAjZGVmaW5lIERPU19OVCAvKiovCnwgI2RlZmluZSBXSU5ET1dT TlQgMQp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29w eXJpZ2h0IChDKSAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5l IFRFUk1fSEVBREVSICJ3MzJ0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4 ODZfNjQtdzY0LW1pbmd3MzIiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVm aXg9L2hvbWUvVldpblVzZXIwL0Rvd25sb2Fkcy9lbWFjcy9uYXRpdmUtY29tcC9idWlsdCAtLXdp dGgtbmF0aXZlY29tcCIKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FUVFJJQlVURV9BTElHTkVEIDEK fCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEVNRU5UX0VYUFJFU1NJ T05TIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19E SVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEZVTkNfUkVBTFBBVEhfV09SS1MgMQp8ICNkZWZpbmUg cmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZp bmUgTFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NU Uk1PREUgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfVU5T SUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNTUVNIDAKfCAjZGVm aW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIFRJTUVfVF9JU19TSUdORUQgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNk ZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBN QUxMT0NfMF9JU19OT05OVUxMIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfU1RSTkxFTiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVm aW5lIF9VU0VfU1REX1NUQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0NMRUFSRVJSX1VOTE9DS0VE IDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRU9GX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9GRVJST1JfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZGTFVTSF9VTkxPQ0tFRCAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfRkdFVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNM X0ZQVVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUU19VTkxPQ0tFRCAwCnwg I2RlZmluZSBIQVZFX0RFQ0xfRlJFQURfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZX UklURV9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VUQ19VTkxPQ0tFRCAwCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfR0VUQ0hBUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVU Q19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVUQ0hBUl9VTkxPQ0tFRCAwCnwgI2Rl ZmluZSBHRVRHUk9VUFNfVCBpbnQKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVREVEFCTEVTSVpFIDAK fCAjZGVmaW5lIFBST01PVEVEX01PREVfVCBpbnQKfCAjZGVmaW5lIEhBVkVfU1lTX0FDTF9IIDEK fCAjZGVmaW5lIEhBVkVfQUNMX0dFVF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX1NFVF9GSUxF IDEKfCAjZGVmaW5lIEhBVkVfQUNMX0ZSRUUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfRlJPTV9URVhU IDEKfCAjZGVmaW5lIFVTRV9BQ0wgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRVhQRUNUIDEK fCAjZGVmaW5lIEdOVUxJQl9DQU5PTklDQUxJWkVfTEdQTCAxCnwgI2RlZmluZSBHTlVMSUJfQ0xP U0VfU1RSRUFNIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAj ZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAw CnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01F TUJFUiAvKiovCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9C Q1JZUFRfSCAxCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZpbmUg X0dMX1JFUExBQ0VfSUVFRTc1NF9IIDEKfCAjZGVmaW5lIEhBVkVfX19JTkxJTkUgMQp8ICNkZWZp bmUgSEFWRV9HTVBfSCAxCnwgI2RlZmluZSBIQVZFX01FTVBDUFkgMQp8ICNkZWZpbmUgR05VTElC X01LT1NURU1QIDEKfCAjZGVmaW5lIE5FRURfTUtUSU1FX1dJTkRPV1MgMQp8ICNkZWZpbmUgbXlf c3RyZnRpbWUgbnN0cmZ0aW1lCnwgI2RlZmluZSBfUkVHRVhfSU5DTFVERV9MSU1JVFNfSCAxCnwg I2RlZmluZSBfUkVHRVhfTEFSR0VfT0ZGU0VUUyAxCnwgI2RlZmluZSByZV9zeW50YXhfb3B0aW9u cyBycGxfcmVfc3ludGF4X29wdGlvbnMKfCAjZGVmaW5lIHJlX3NldF9zeW50YXggcnBsX3JlX3Nl dF9zeW50YXgKfCAjZGVmaW5lIHJlX2NvbXBpbGVfcGF0dGVybiBycGxfcmVfY29tcGlsZV9wYXR0 ZXJuCnwgI2RlZmluZSByZV9jb21waWxlX2Zhc3RtYXAgcnBsX3JlX2NvbXBpbGVfZmFzdG1hcAp8 ICNkZWZpbmUgcmVfc2VhcmNoIHJwbF9yZV9zZWFyY2gKfCAjZGVmaW5lIHJlX3NlYXJjaF8yIHJw bF9yZV9zZWFyY2hfMgp8ICNkZWZpbmUgcmVfbWF0Y2ggcnBsX3JlX21hdGNoCnwgI2RlZmluZSBy ZV9tYXRjaF8yIHJwbF9yZV9tYXRjaF8yCnwgI2RlZmluZSByZV9zZXRfcmVnaXN0ZXJzIHJwbF9y ZV9zZXRfcmVnaXN0ZXJzCnwgI2RlZmluZSByZV9jb21wIHJwbF9yZV9jb21wCnwgI2RlZmluZSBy ZV9leGVjIHJwbF9yZV9leGVjCnwgI2RlZmluZSByZWdjb21wIHJwbF9yZWdjb21wCnwgI2RlZmlu ZSByZWdleGVjIHJwbF9yZWdleGVjCnwgI2RlZmluZSByZWdlcnJvciBycGxfcmVnZXJyb3IKfCAj ZGVmaW5lIHJlZ2ZyZWUgcnBsX3JlZ2ZyZWUKfCAjZGVmaW5lIEhBVkVfTElCSU5UTF9IIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9JU0JMQU5LIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2lu Y2x1ZGUgPHN5cy90eXBlcy5oPgp8ICAgICAgI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgCnwgaW50 CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IHN0YXQgYWNfYWdncjsKfCBpZiAoYWNfYWdn ci5zdF9hdGltLnR2X25zZWMpCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNv bmZpZ3VyZTozMTk5MDogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJmLTIg LW10dW5lPWdlbmVyaWMgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAn bWFpbic6CmNvbmZ0ZXN0LmM6MjQ0OjIwOiBlcnJvcjogJ3N0cnVjdCBzdGF0JyBoYXMgbm8gbWVt YmVyIG5hbWVkICdzdF9hdGltJzsgZGlkIHlvdSBtZWFuICdzdF9hdGltZSc/CiAgMjQ0IHwgaWYg KHNpemVvZiBhY19hZ2dyLnN0X2F0aW0udHZfbnNlYykKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICBzdF9hdGltZQpjb25maWd1cmU6 MzE5OTA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVm cy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNL QUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9V UkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9V U0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj ZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxM X1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09V UkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJD RSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVD XzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VY VF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2Rl ZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1Nf XyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5f U09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0ND X0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBIQVZF X01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX01BTExP Q19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0Rf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAx CnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNk ZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBU SU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5l IEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVmaW5l IFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBV U0VfTU1BUF9GT1JfQlVGRkVSUyAxCnwgI2RlZmluZSBUSFJFQURTX0VOQUJMRUQgMQp8ICNkZWZp bmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfSlNP TiAxCnwgI2RlZmluZSBIQVZFX1czMk5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkg MQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAx CnwgI2RlZmluZSBIQVZFX0hBUkZCVVpaIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5l IEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0xDTVMyIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAx CnwgI2RlZmluZSBIQVZFX01PRFVMRVMgMQp8ICNkZWZpbmUgTU9EVUxFU19TVUZGSVggIi5kbGwi CnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVCAxCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVF9IIDEK fCAjZGVmaW5lIEhBVkVfTkFUSVZFX0NPTVAgMQp8ICNkZWZpbmUgTkFUSVZFX0VMSVNQX1NVRkZJ WCAiLmVsbiIKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2Rl ZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9H RVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQg MQp8ICNkZWZpbmUgSEFWRV9UUlVOQyAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5l IEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhB VkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUg SEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFW RV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNP Q0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTE9H MiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfQUxJR05FRF9BTExPQyAwCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9GUkFNRV9BRERSRVNT IDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVf RlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfU0JSSyAxCnwgI2RlZmluZSBIQVZFX0NBTk9OSUNBTEla RV9GSUxFX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1JF QURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9FWFBMSUNJVF9CWkVSTyAxCnwgI2RlZmluZSBIQVZF X0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PREFUIDEKfCAjZGVmaW5lIEhBVkVfTENI TU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAj ZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZp bmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVfUFNF TEVDVCAxCnwgI2RlZmluZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9JU1dDVFlQRSAx CnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNk ZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUgdmZvcmsgZm9yawp8ICNkZWZpbmUgSEFW RV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUg SEFWRV9MQU5HSU5GT19fTkxfUEFQRVJfV0lEVEggMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1Qg MQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICJOVUw6Igp8 ICNkZWZpbmUgU0VQQ0hBUiAnOycKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBV U0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwg I2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgKChfY18pID09ICc6JykKfCAjZGVmaW5lIElTX0RJ UkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gJy8nIHx8IChfY18pID09ICdcXCcpCnwgI2RlZmlu ZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykgfHwgSVNfREVWSUNFX1NF UChfY18pKQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZp bmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfU1RBQ0tfT1ZFUkZMT1dfSEFORExJ TkcgMQp8ICNkZWZpbmUgRE9TX05UIC8qKi8KfCAjZGVmaW5lIFdJTkRPV1NOVCAxCnwgI2RlZmlu ZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIw MjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIg InczMnRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gIng4Nl82NC13NjQtbWlu Z3czMiIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZpeD0vaG9tZS9WV2lu VXNlcjAvRG93bmxvYWRzL2VtYWNzL25hdGl2ZS1jb21wL2J1aWx0IC0td2l0aC1uYXRpdmVjb21w Igp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQVRUUklCVVRFX0FMSUdORUQgMQp8ICNkZWZpbmUgSEFW RV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9TVEFURU1FTlRfRVhQUkVTU0lPTlMgMQp8ICNkZWZp bmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgRE9VQkxFX1NMQVNIX0lTX0RJU1RJTkNUX1JPT1Qg MQp8ICNkZWZpbmUgRlVOQ19SRUFMUEFUSF9XT1JLUyAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jl c3RyaWN0CnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBMU1RBVF9GT0xM T1dTX1NMQVNIRURfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2Rl ZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xP TkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1NRU0gMAp8ICNkZWZpbmUgSEFWRV9ERUNM X01FTVJDSFIgMAp8ICNkZWZpbmUgVElNRV9UX0lTX1NJR05FRCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1Ra TkFNRSAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIE1BTExPQ18wX0lTX05P Tk5VTEwgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJO TEVOIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgX1VTRV9TVERf U1RBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQ0xFQVJFUlJfVU5MT0NLRUQgMAp8ICNkZWZpbmUg SEFWRV9ERUNMX0ZFT0ZfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZFUlJPUl9VTkxP Q0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkZMVVNIX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhB VkVfREVDTF9GR0VUU19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlBVVENfVU5MT0NL RUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZQVVRTX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVf REVDTF9GUkVBRF9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRldSSVRFX1VOTE9DS0VE IDAKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9HRVRDSEFSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9QVVRDX1VOTE9DS0VEIDAK fCAjZGVmaW5lIEhBVkVfREVDTF9QVVRDSEFSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEdFVEdST1VQ U19UIGludAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVERUQUJMRVNJWkUgMAp8ICNkZWZpbmUgUFJP TU9URURfTU9ERV9UIGludAp8ICNkZWZpbmUgSEFWRV9TWVNfQUNMX0ggMQp8ICNkZWZpbmUgSEFW RV9BQ0xfR0VUX0ZJTEUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfU0VUX0ZJTEUgMQp8ICNkZWZpbmUg SEFWRV9BQ0xfRlJFRSAxCnwgI2RlZmluZSBIQVZFX0FDTF9GUk9NX1RFWFQgMQp8ICNkZWZpbmUg VVNFX0FDTCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9FWFBFQ1QgMQp8ICNkZWZpbmUgR05V TElCX0NBTk9OSUNBTElaRV9MR1BMIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8 ICNkZWZpbmUgRE9VQkxFX1NMQVNIX0lTX0RJU1RJTkNUX1JPT1QgMQp8ICNkZWZpbmUgR05VTElC X0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDAKfCAjZGVmaW5lIEdO VUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAj ZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0JDUllQVF9IIDEKfCAj ZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBfR0xfUkVQTEFDRV9J RUVFNzU0X0ggMQp8ICNkZWZpbmUgSEFWRV9fX0lOTElORSAxCnwgI2RlZmluZSBIQVZFX0dNUF9I IDEKfCAjZGVmaW5lIEhBVkVfTUVNUENQWSAxCnwgI2RlZmluZSBHTlVMSUJfTUtPU1RFTVAgMQp8 ICNkZWZpbmUgTkVFRF9NS1RJTUVfV0lORE9XUyAxCnwgI2RlZmluZSBteV9zdHJmdGltZSBuc3Ry ZnRpbWUKfCAjZGVmaW5lIF9SRUdFWF9JTkNMVURFX0xJTUlUU19IIDEKfCAjZGVmaW5lIF9SRUdF WF9MQVJHRV9PRkZTRVRTIDEKfCAjZGVmaW5lIHJlX3N5bnRheF9vcHRpb25zIHJwbF9yZV9zeW50 YXhfb3B0aW9ucwp8ICNkZWZpbmUgcmVfc2V0X3N5bnRheCBycGxfcmVfc2V0X3N5bnRheAp8ICNk ZWZpbmUgcmVfY29tcGlsZV9wYXR0ZXJuIHJwbF9yZV9jb21waWxlX3BhdHRlcm4KfCAjZGVmaW5l IHJlX2NvbXBpbGVfZmFzdG1hcCBycGxfcmVfY29tcGlsZV9mYXN0bWFwCnwgI2RlZmluZSByZV9z ZWFyY2ggcnBsX3JlX3NlYXJjaAp8ICNkZWZpbmUgcmVfc2VhcmNoXzIgcnBsX3JlX3NlYXJjaF8y CnwgI2RlZmluZSByZV9tYXRjaCBycGxfcmVfbWF0Y2gKfCAjZGVmaW5lIHJlX21hdGNoXzIgcnBs X3JlX21hdGNoXzIKfCAjZGVmaW5lIHJlX3NldF9yZWdpc3RlcnMgcnBsX3JlX3NldF9yZWdpc3Rl cnMKfCAjZGVmaW5lIHJlX2NvbXAgcnBsX3JlX2NvbXAKfCAjZGVmaW5lIHJlX2V4ZWMgcnBsX3Jl X2V4ZWMKfCAjZGVmaW5lIHJlZ2NvbXAgcnBsX3JlZ2NvbXAKfCAjZGVmaW5lIHJlZ2V4ZWMgcnBs X3JlZ2V4ZWMKfCAjZGVmaW5lIHJlZ2Vycm9yIHJwbF9yZWdlcnJvcgp8ICNkZWZpbmUgcmVnZnJl ZSBycGxfcmVnZnJlZQp8ICNkZWZpbmUgSEFWRV9MSUJJTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9E RUNMX0lTQkxBTksgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5 cGVzLmg+CnwgICAgICAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwg ewp8IHN0YXRpYyBzdHJ1Y3Qgc3RhdCBhY19hZ2dyOwp8IGlmIChzaXplb2YgYWNfYWdnci5zdF9h dGltLnR2X25zZWMpCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3Vy ZTozMTk5MDogcmVzdWx0OiBubwpjb25maWd1cmU6MzIwNDE6IGNoZWNraW5nIGZvciBzdHJ1Y3Qg c3RhdC5zdF9hdGltZXNwZWMudHZfbnNlYwpjb25maWd1cmU6MzIwNDE6IGdjYyAtSSAuLi9zcmMv bnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+ JjUKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjI0NDoxMzogZXJy b3I6ICdzdHJ1Y3Qgc3RhdCcgaGFzIG5vIG1lbWJlciBuYW1lZCAnc3RfYXRpbWVzcGVjJzsgZGlk IHlvdSBtZWFuICdzdF9hdGltZSc/CiAgMjQ0IHwgaWYgKGFjX2FnZ3Iuc3RfYXRpbWVzcGVjLnR2 X25zZWMpCiAgICAgIHwgICAgICAgICAgICAgXn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAg ICAgc3RfYXRpbWUKY29uZmlndXJlOjMyMDQxOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUg RW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAy OC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9y ZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2Vt YWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJ T05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJD RSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwg I2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5U SUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAj ZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1 NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VY VF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNk ZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VU X0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5k b3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQg MQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9I IDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZF X0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VU UEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhS RUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRM UyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNk ZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJT IDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmlu ZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAx CnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5l IE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZp bmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVm aW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2Rl ZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJY TUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00g MQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUg SEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZF X1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VU SVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00g MQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJP UiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVf TlAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURfQUxMT0MgMAp8ICNkZWZpbmUgSEFWRV9f X0JVSUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRf SU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX1NCUksgMQp8ICNk ZWZpbmUgSEFWRV9DQU5PTklDQUxJWkVfRklMRV9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJ TksgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRVhQTElDSVRf QlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0RB VCAxCnwgI2RlZmluZSBIQVZFX0xDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVm aW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVf R0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QSVBF MiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAj ZGVmaW5lIEhBVkVfSVNXQ1RZUEUgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZp bmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIHZm b3JrIGZvcmsKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5G T19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fX05MX1BBUEVSX1dJRFRIIDEKfCAj ZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmlu ZSBOVUxMX0RFVklDRSAiTlVMOiIKfCAjZGVmaW5lIFNFUENIQVIgJzsnCnwgI2RlZmluZSBzdWJw cm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmlu ZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pICgoX2NfKSA9 PSAnOicpCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09ICcvJyB8fCAo X2NfKSA9PSAnXFwnKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQ IChfY18pIHx8IElTX0RFVklDRV9TRVAoX2NfKSkKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVW SUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZF X1NUQUNLX09WRVJGTE9XX0hBTkRMSU5HIDEKfCAjZGVmaW5lIERPU19OVCAvKiovCnwgI2RlZmlu ZSBXSU5ET1dTTlQgMQp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIENPUFlS SUdIVCAiQ29weXJpZ2h0IChDKSAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIK fCAjZGVmaW5lIFRFUk1fSEVBREVSICJ3MzJ0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdV UkFUSU9OICJ4ODZfNjQtdzY0LW1pbmd3MzIiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9O UyAiLS1wcmVmaXg9L2hvbWUvVldpblVzZXIwL0Rvd25sb2Fkcy9lbWFjcy9uYXRpdmUtY29tcC9i dWlsdCAtLXdpdGgtbmF0aXZlY29tcCIKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FUVFJJQlVURV9B TElHTkVEIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEVNRU5U X0VYUFJFU1NJT05TIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIERPVUJMRV9T TEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEZVTkNfUkVBTFBBVEhfV09SS1MgMQp8 ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wg MQp8ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5l IEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNTUVN IDAKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIFRJTUVfVF9JU19TSUdO RUQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5B TUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBNQUxMT0NfMF9JU19OT05OVUxMIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfU1RSTkxFTiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFY IDEKfCAjZGVmaW5lIF9VU0VfU1REX1NUQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0NMRUFSRVJS X1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRU9GX1VOTE9DS0VEIDAKfCAjZGVmaW5l IEhBVkVfREVDTF9GRVJST1JfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZGTFVTSF9V TkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkdFVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUg SEFWRV9ERUNMX0ZQVVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUU19VTkxP Q0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlJFQURfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFW RV9ERUNMX0ZXUklURV9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VUQ19VTkxPQ0tF RCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VUQ0hBUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZF X0RFQ0xfUFVUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVUQ0hBUl9VTkxPQ0tF RCAwCnwgI2RlZmluZSBHRVRHUk9VUFNfVCBpbnQKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVREVEFC TEVTSVpFIDAKfCAjZGVmaW5lIFBST01PVEVEX01PREVfVCBpbnQKfCAjZGVmaW5lIEhBVkVfU1lT X0FDTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0dFVF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNM X1NFVF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0ZSRUUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xf RlJPTV9URVhUIDEKfCAjZGVmaW5lIFVTRV9BQ0wgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5f RVhQRUNUIDEKfCAjZGVmaW5lIEdOVUxJQl9DQU5PTklDQUxJWkVfTEdQTCAxCnwgI2RlZmluZSBH TlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9S T09UIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZE T1BFTkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIEZMRVhJQkxF X0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZp bmUgSEFWRV9CQ1JZUFRfSCAxCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8 ICNkZWZpbmUgX0dMX1JFUExBQ0VfSUVFRTc1NF9IIDEKfCAjZGVmaW5lIEhBVkVfX19JTkxJTkUg MQp8ICNkZWZpbmUgSEFWRV9HTVBfSCAxCnwgI2RlZmluZSBIQVZFX01FTVBDUFkgMQp8ICNkZWZp bmUgR05VTElCX01LT1NURU1QIDEKfCAjZGVmaW5lIE5FRURfTUtUSU1FX1dJTkRPV1MgMQp8ICNk ZWZpbmUgbXlfc3RyZnRpbWUgbnN0cmZ0aW1lCnwgI2RlZmluZSBfUkVHRVhfSU5DTFVERV9MSU1J VFNfSCAxCnwgI2RlZmluZSBfUkVHRVhfTEFSR0VfT0ZGU0VUUyAxCnwgI2RlZmluZSByZV9zeW50 YXhfb3B0aW9ucyBycGxfcmVfc3ludGF4X29wdGlvbnMKfCAjZGVmaW5lIHJlX3NldF9zeW50YXgg cnBsX3JlX3NldF9zeW50YXgKfCAjZGVmaW5lIHJlX2NvbXBpbGVfcGF0dGVybiBycGxfcmVfY29t cGlsZV9wYXR0ZXJuCnwgI2RlZmluZSByZV9jb21waWxlX2Zhc3RtYXAgcnBsX3JlX2NvbXBpbGVf ZmFzdG1hcAp8ICNkZWZpbmUgcmVfc2VhcmNoIHJwbF9yZV9zZWFyY2gKfCAjZGVmaW5lIHJlX3Nl YXJjaF8yIHJwbF9yZV9zZWFyY2hfMgp8ICNkZWZpbmUgcmVfbWF0Y2ggcnBsX3JlX21hdGNoCnwg I2RlZmluZSByZV9tYXRjaF8yIHJwbF9yZV9tYXRjaF8yCnwgI2RlZmluZSByZV9zZXRfcmVnaXN0 ZXJzIHJwbF9yZV9zZXRfcmVnaXN0ZXJzCnwgI2RlZmluZSByZV9jb21wIHJwbF9yZV9jb21wCnwg I2RlZmluZSByZV9leGVjIHJwbF9yZV9leGVjCnwgI2RlZmluZSByZWdjb21wIHJwbF9yZWdjb21w CnwgI2RlZmluZSByZWdleGVjIHJwbF9yZWdleGVjCnwgI2RlZmluZSByZWdlcnJvciBycGxfcmVn ZXJyb3IKfCAjZGVmaW5lIHJlZ2ZyZWUgcnBsX3JlZ2ZyZWUKfCAjZGVmaW5lIEhBVkVfTElCSU5U TF9IIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9JU0JMQU5LIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4g ICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICAgICAgICAgI2luY2x1ZGUgPHN5cy9zdGF0 Lmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IHN0YXQgYWNfYWdncjsK fCBpZiAoYWNfYWdnci5zdF9hdGltZXNwZWMudHZfbnNlYykKfCByZXR1cm4gMDsKfCAgIDsKfCAg IHJldHVybiAwOwp8IH0KY29uZmlndXJlOjMyMDQxOiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAt ZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0 LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoyNDQ6MjA6IGVycm9yOiAnc3RydWN0 IHN0YXQnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3N0X2F0aW1lc3BlYyc7IGRpZCB5b3UgbWVhbiAn c3RfYXRpbWUnPwogIDI0NCB8IGlmIChzaXplb2YgYWNfYWdnci5zdF9hdGltZXNwZWMudHZfbnNl YykKICAgICAgfCAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgIHN0X2F0aW1lCmNvbmZpZ3VyZTozMjA0MTogJD8gPSAxCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf TkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJH TlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVt YWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9z b2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9Q RFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJX SU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9T T1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhS RUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19F WFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVm aW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dB TlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1 OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVm aW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09V UkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9G SUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1f VFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBI QVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NP Q0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2Rl ZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBI QVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAj ZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUg SEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9U SUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9T Q1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlog MQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhB VkVfTENNUzIgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAx CnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklU IDEKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09N UCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9Q TkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5l IEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhB VkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEK fCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNk ZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZp bmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmlu ZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZF X1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9H QUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9TRVROQU1FX05QIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDAKfCAjZGVm aW5lIEhBVkVfX19CVUlMVElOX0ZSQU1FX0FERFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxU SU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9T QlJLIDEKfCAjZGVmaW5lIEhBVkVfQ0FOT05JQ0FMSVpFX0ZJTEVfTkFNRSAxCnwgI2RlZmluZSBI QVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZF X0VYUExJQ0lUX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhB VkVfRkNITU9EQVQgMQp8ICNkZWZpbmUgSEFWRV9MQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ05U TCAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2Rl ZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5l IEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfSVNC TEFOSyAxCnwgI2RlZmluZSBIQVZFX0lTV0NUWVBFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFY IDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwg I2RlZmluZSB2Zm9yayBmb3JrCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhB VkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX19OTF9QQVBFUl9X SURUSCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMg MQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIk5VTDoiCnwgI2RlZmluZSBTRVBDSEFSICc7Jwp8ICNk ZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNv cwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2Nf KSAoKF9jXykgPT0gJzonKQp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9 PSAnLycgfHwgKF9jXykgPT0gJ1xcJykKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElS RUNUT1JZX1NFUCAoX2NfKSB8fCBJU19ERVZJQ0VfU0VQKF9jXykpCnwgI2RlZmluZSBERUZBVUxU X1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNk ZWZpbmUgSEFWRV9TVEFDS19PVkVSRkxPV19IQU5ETElORyAxCnwgI2RlZmluZSBET1NfTlQgLyoq Lwp8ICNkZWZpbmUgV0lORE9XU05UIDEKfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2Rl ZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAidzMydGVybS5oIgp8ICNkZWZpbmUgRU1B Q1NfQ09ORklHVVJBVElPTiAieDg2XzY0LXc2NC1taW5ndzMyIgp8ICNkZWZpbmUgRU1BQ1NfQ09O RklHX09QVElPTlMgIi0tcHJlZml4PS9ob21lL1ZXaW5Vc2VyMC9Eb3dubG9hZHMvZW1hY3MvbmF0 aXZlLWNvbXAvYnVpbHQgLS13aXRoLW5hdGl2ZWNvbXAiCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9B VFRSSUJVVEVfQUxJR05FRCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZF X1NUQVRFTUVOVF9FWFBSRVNTSU9OUyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmlu ZSBET1VCTEVfU0xBU0hfSVNfRElTVElOQ1RfUk9PVCAxCnwgI2RlZmluZSBGVU5DX1JFQUxQQVRI X1dPUktTIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfRU5W SVJPTl9ERUNMIDEKfCAjZGVmaW5lIExTVEFUX0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5LIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAx CnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX01FTU1FTSAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBUSU1F X1RfSVNfU0lHTkVEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgTUFMTE9DXzBfSVNfTk9OTlVMTCAxCnwgI2RlZmluZSBIQVZFX1dD SEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk5MRU4gMQp8ICNkZWZpbmUgSEFWRV9ERUNM X1NUUlRPSU1BWCAxCnwgI2RlZmluZSBfVVNFX1NURF9TVEFUIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9DTEVBUkVSUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkVPRl9VTkxPQ0tFRCAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfRkVSUk9SX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9GRkxVU0hfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZHRVRTX1VOTE9DS0VEIDAK fCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf RlBVVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZSRUFEX1VOTE9DS0VEIDAKfCAj ZGVmaW5lIEhBVkVfREVDTF9GV1JJVEVfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dF VENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVENIQVJfVU5MT0NLRUQgMAp8ICNk ZWZpbmUgSEFWRV9ERUNMX1BVVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1BVVENI QVJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgaW50CnwgI2RlZmluZSBIQVZFX0RF Q0xfR0VURFRBQkxFU0laRSAwCnwgI2RlZmluZSBQUk9NT1RFRF9NT0RFX1QgaW50CnwgI2RlZmlu ZSBIQVZFX1NZU19BQ0xfSCAxCnwgI2RlZmluZSBIQVZFX0FDTF9HRVRfRklMRSAxCnwgI2RlZmlu ZSBIQVZFX0FDTF9TRVRfRklMRSAxCnwgI2RlZmluZSBIQVZFX0FDTF9GUkVFIDEKfCAjZGVmaW5l IEhBVkVfQUNMX0ZST01fVEVYVCAxCnwgI2RlZmluZSBVU0VfQUNMIDEKfCAjZGVmaW5lIEhBVkVf X19CVUlMVElOX0VYUEVDVCAxCnwgI2RlZmluZSBHTlVMSUJfQ0FOT05JQ0FMSVpFX0xHUEwgMQp8 ICNkZWZpbmUgR05VTElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBET1VCTEVfU0xBU0hfSVNf RElTVElOQ1RfUk9PVCAxCnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9GRE9QRU5ESVIgMAp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmlu ZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJw bF8KfCAjZGVmaW5lIEhBVkVfQkNSWVBUX0ggMQp8ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVa T05FIHZvaWQKfCAjZGVmaW5lIF9HTF9SRVBMQUNFX0lFRUU3NTRfSCAxCnwgI2RlZmluZSBIQVZF X19fSU5MSU5FIDEKfCAjZGVmaW5lIEhBVkVfR01QX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1QQ1BZ IDEKfCAjZGVmaW5lIEdOVUxJQl9NS09TVEVNUCAxCnwgI2RlZmluZSBORUVEX01LVElNRV9XSU5E T1dTIDEKfCAjZGVmaW5lIG15X3N0cmZ0aW1lIG5zdHJmdGltZQp8ICNkZWZpbmUgX1JFR0VYX0lO Q0xVREVfTElNSVRTX0ggMQp8ICNkZWZpbmUgX1JFR0VYX0xBUkdFX09GRlNFVFMgMQp8ICNkZWZp bmUgcmVfc3ludGF4X29wdGlvbnMgcnBsX3JlX3N5bnRheF9vcHRpb25zCnwgI2RlZmluZSByZV9z ZXRfc3ludGF4IHJwbF9yZV9zZXRfc3ludGF4CnwgI2RlZmluZSByZV9jb21waWxlX3BhdHRlcm4g cnBsX3JlX2NvbXBpbGVfcGF0dGVybgp8ICNkZWZpbmUgcmVfY29tcGlsZV9mYXN0bWFwIHJwbF9y ZV9jb21waWxlX2Zhc3RtYXAKfCAjZGVmaW5lIHJlX3NlYXJjaCBycGxfcmVfc2VhcmNoCnwgI2Rl ZmluZSByZV9zZWFyY2hfMiBycGxfcmVfc2VhcmNoXzIKfCAjZGVmaW5lIHJlX21hdGNoIHJwbF9y ZV9tYXRjaAp8ICNkZWZpbmUgcmVfbWF0Y2hfMiBycGxfcmVfbWF0Y2hfMgp8ICNkZWZpbmUgcmVf c2V0X3JlZ2lzdGVycyBycGxfcmVfc2V0X3JlZ2lzdGVycwp8ICNkZWZpbmUgcmVfY29tcCBycGxf cmVfY29tcAp8ICNkZWZpbmUgcmVfZXhlYyBycGxfcmVfZXhlYwp8ICNkZWZpbmUgcmVnY29tcCBy cGxfcmVnY29tcAp8ICNkZWZpbmUgcmVnZXhlYyBycGxfcmVnZXhlYwp8ICNkZWZpbmUgcmVnZXJy b3IgcnBsX3JlZ2Vycm9yCnwgI2RlZmluZSByZWdmcmVlIHJwbF9yZWdmcmVlCnwgI2RlZmluZSBI QVZFX0xJQklOVExfSCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfSVNCTEFOSyAxCnwgLyogZW5kIGNv bmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAgICAgICAgICNpbmNsdWRl IDxzeXMvc3RhdC5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3RhdGljIHN0cnVjdCBzdGF0 IGFjX2FnZ3I7CnwgaWYgKHNpemVvZiBhY19hZ2dyLnN0X2F0aW1lc3BlYy50dl9uc2VjKQp8IHJl dHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MzIwNDE6IHJlc3VsdDog bm8KY29uZmlndXJlOjMyMDUyOiBjaGVja2luZyBmb3Igc3RydWN0IHN0YXQuc3RfYXRpbWVuc2Vj CmNvbmZpZ3VyZTozMjA1MjogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJm LTIgLW10dW5lPWdlbmVyaWMgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlv biAnbWFpbic6CmNvbmZ0ZXN0LmM6MjQ0OjEzOiBlcnJvcjogJ3N0cnVjdCBzdGF0JyBoYXMgbm8g bWVtYmVyIG5hbWVkICdzdF9hdGltZW5zZWMnOyBkaWQgeW91IG1lYW4gJ3N0X2F0aW1lJz8KICAy NDQgfCBpZiAoYWNfYWdnci5zdF9hdGltZW5zZWMpCiAgICAgIHwgICAgICAgICAgICAgXn5+fn5+ fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgc3RfYXRpbWUKY29uZmlndXJlOjMyMDUyOiAkPyA9 IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNk ZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg ImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFD S0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBP UlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczov L3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwg I2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8 ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2Rl ZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZp bmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182 MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBf RVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2Rl ZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9F WFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZp bmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkg MQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAj ZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9I IDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2Rl ZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUg SEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVf V0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZ U19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJ IDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFM TE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9S X0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNW RyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZp bmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5l IFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUg SEFWRV9IQVJGQlVaWiAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcg MQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUg SEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUg SEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBI QVZFX05BVElWRV9DT01QIDEKfCAjZGVmaW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwg I2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9H SUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUg MQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5l IEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQ QUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJM SU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dO IDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lH TkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEK fCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwg I2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZp bmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURf QUxMT0MgMAp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2RlZmlu ZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwg I2RlZmluZSBIQVZFX1NCUksgMQp8ICNkZWZpbmUgSEFWRV9DQU5PTklDQUxJWkVfRklMRV9OQU1F IDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEK fCAjZGVmaW5lIEhBVkVfRVhQTElDSVRfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQg MQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0RBVCAxCnwgI2RlZmluZSBIQVZFX0xDSE1PRCAxCnwgI2Rl ZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZF X0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNU QVQgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNk ZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfSVNXQ1RZUEUgMQp8ICNkZWZpbmUg SEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVf VVRJTUVOU0FUIDEKfCAjZGVmaW5lIHZmb3JrIGZvcmsKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYg MQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lO Rk9fX05MX1BBUEVSX1dJRFRIIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5l IEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiTlVMOiIKfCAjZGVmaW5lIFNF UENIQVIgJzsnCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05B TUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNf REVWSUNFX1NFUChfY18pICgoX2NfKSA9PSAnOicpCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQ KF9jXykgKChfY18pID09ICcvJyB8fCAoX2NfKSA9PSAnXFwnKQp8ICNkZWZpbmUgSVNfQU5ZX1NF UChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pIHx8IElTX0RFVklDRV9TRVAoX2NfKSkKfCAj ZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIEdDX1NFVEpN UF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX1NUQUNLX09WRVJGTE9XX0hBTkRMSU5HIDEKfCAjZGVm aW5lIERPU19OVCAvKiovCnwgI2RlZmluZSBXSU5ET1dTTlQgMQp8ICNkZWZpbmUgVVNBQkxFX0ZJ T05SRUFEIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDIwIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ3MzJ0ZXJtLmgi CnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQtdzY0LW1pbmd3MzIiCnwgI2Rl ZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9L2hvbWUvVldpblVzZXIwL0Rvd25s b2Fkcy9lbWFjcy9uYXRpdmUtY29tcC9idWlsdCAtLXdpdGgtbmF0aXZlY29tcCIKfCAjZGVmaW5l IEhBVkVfU1RSVUNUX0FUVFJJQlVURV9BTElHTkVEIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEK fCAjZGVmaW5lIEhBVkVfU1RBVEVNRU5UX0VYUFJFU1NJT05TIDEKfCAjZGVmaW5lIEhBVkVfQUxM T0NBIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5l IEZVTkNfUkVBTFBBVEhfV09SS1MgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNk ZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFTSEVE X1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgSEFWRV9M T05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfTUVNTUVNIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAK fCAjZGVmaW5lIFRJTUVfVF9JU19TSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBNQUxMT0NfMF9JU19OT05OVUxMIDEKfCAj ZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTkxFTiAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIF9VU0VfU1REX1NUQVQgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX0NMRUFSRVJSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9G RU9GX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRVJST1JfVU5MT0NLRUQgMAp8ICNk ZWZpbmUgSEFWRV9ERUNMX0ZGTFVTSF9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkdF VFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZQVVRDX1VOTE9DS0VEIDAKfCAjZGVm aW5lIEhBVkVfREVDTF9GUFVUU19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlJFQURf VU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZXUklURV9VTkxPQ0tFRCAwCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfR0VUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VUQ0hBUl9V TkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBI QVZFX0RFQ0xfUFVUQ0hBUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBHRVRHUk9VUFNfVCBpbnQKfCAj ZGVmaW5lIEhBVkVfREVDTF9HRVREVEFCTEVTSVpFIDAKfCAjZGVmaW5lIFBST01PVEVEX01PREVf VCBpbnQKfCAjZGVmaW5lIEhBVkVfU1lTX0FDTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0dFVF9G SUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX1NFVF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0ZS RUUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfRlJPTV9URVhUIDEKfCAjZGVmaW5lIFVTRV9BQ0wgMQp8 ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRVhQRUNUIDEKfCAjZGVmaW5lIEdOVUxJQl9DQU5PTklD QUxJWkVfTEdQTCAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIERP VUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVO RElSIDEKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBfX0dF VE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9CQ1JZUFRfSCAxCnwgI2RlZmluZSBHRVRU SU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZpbmUgX0dMX1JFUExBQ0VfSUVFRTc1NF9IIDEK fCAjZGVmaW5lIEhBVkVfX19JTkxJTkUgMQp8ICNkZWZpbmUgSEFWRV9HTVBfSCAxCnwgI2RlZmlu ZSBIQVZFX01FTVBDUFkgMQp8ICNkZWZpbmUgR05VTElCX01LT1NURU1QIDEKfCAjZGVmaW5lIE5F RURfTUtUSU1FX1dJTkRPV1MgMQp8ICNkZWZpbmUgbXlfc3RyZnRpbWUgbnN0cmZ0aW1lCnwgI2Rl ZmluZSBfUkVHRVhfSU5DTFVERV9MSU1JVFNfSCAxCnwgI2RlZmluZSBfUkVHRVhfTEFSR0VfT0ZG U0VUUyAxCnwgI2RlZmluZSByZV9zeW50YXhfb3B0aW9ucyBycGxfcmVfc3ludGF4X29wdGlvbnMK fCAjZGVmaW5lIHJlX3NldF9zeW50YXggcnBsX3JlX3NldF9zeW50YXgKfCAjZGVmaW5lIHJlX2Nv bXBpbGVfcGF0dGVybiBycGxfcmVfY29tcGlsZV9wYXR0ZXJuCnwgI2RlZmluZSByZV9jb21waWxl X2Zhc3RtYXAgcnBsX3JlX2NvbXBpbGVfZmFzdG1hcAp8ICNkZWZpbmUgcmVfc2VhcmNoIHJwbF9y ZV9zZWFyY2gKfCAjZGVmaW5lIHJlX3NlYXJjaF8yIHJwbF9yZV9zZWFyY2hfMgp8ICNkZWZpbmUg cmVfbWF0Y2ggcnBsX3JlX21hdGNoCnwgI2RlZmluZSByZV9tYXRjaF8yIHJwbF9yZV9tYXRjaF8y CnwgI2RlZmluZSByZV9zZXRfcmVnaXN0ZXJzIHJwbF9yZV9zZXRfcmVnaXN0ZXJzCnwgI2RlZmlu ZSByZV9jb21wIHJwbF9yZV9jb21wCnwgI2RlZmluZSByZV9leGVjIHJwbF9yZV9leGVjCnwgI2Rl ZmluZSByZWdjb21wIHJwbF9yZWdjb21wCnwgI2RlZmluZSByZWdleGVjIHJwbF9yZWdleGVjCnwg I2RlZmluZSByZWdlcnJvciBycGxfcmVnZXJyb3IKfCAjZGVmaW5lIHJlZ2ZyZWUgcnBsX3JlZ2Zy ZWUKfCAjZGVmaW5lIEhBVkVfTElCSU5UTF9IIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9JU0JMQU5L IDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICAg ICAgICAgICAgI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBz dGF0aWMgc3RydWN0IHN0YXQgYWNfYWdncjsKfCBpZiAoYWNfYWdnci5zdF9hdGltZW5zZWMpCnwg cmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTozMjA1MjogZ2NjIC1J IC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5lPWdlbmVyaWMgICBjb25m dGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjQ0 OjIwOiBlcnJvcjogJ3N0cnVjdCBzdGF0JyBoYXMgbm8gbWVtYmVyIG5hbWVkICdzdF9hdGltZW5z ZWMnOyBkaWQgeW91IG1lYW4gJ3N0X2F0aW1lJz8KICAyNDQgfCBpZiAoc2l6ZW9mIGFjX2FnZ3Iu c3RfYXRpbWVuc2VjKQogICAgICB8ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn4KICAg ICAgfCAgICAgICAgICAgICAgICAgICAgc3RfYXRpbWUKY29uZmlndXJlOjMyMDUyOiAkPyA9IDEK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZp bmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg ImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3 dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2Rl ZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01F TU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNk ZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmlu ZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUg X1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1 OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhU X18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dB TlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQy X18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUg X1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8 ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVm aW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEK fCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFW RV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NI QVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19U SU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEK fCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9D IDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JV RkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAx CnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUg SEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVT RV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFW RV9IQVJGQlVaWiAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8 ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFW RV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFW RV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZF X05BVElWRV9DT01QIDEKfCAjZGVmaW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2Rl ZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYg MQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhB VkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdF U0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1J VCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEK fCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFM IDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAj ZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUg SEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURfQUxM T0MgMAp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2RlZmluZSBI QVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2Rl ZmluZSBIQVZFX1NCUksgMQp8ICNkZWZpbmUgSEFWRV9DQU5PTklDQUxJWkVfRklMRV9OQU1FIDEK fCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAj ZGVmaW5lIEhBVkVfRVhQTElDSVRfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8 ICNkZWZpbmUgSEFWRV9GQ0hNT0RBVCAxCnwgI2RlZmluZSBIQVZFX0xDSE1PRCAxCnwgI2RlZmlu ZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZT WU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQg MQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZp bmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfSVNXQ1RZUEUgMQp8ICNkZWZpbmUgSEFW RV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfVVRJ TUVOU0FUIDEKfCAjZGVmaW5lIHZmb3JrIGZvcmsKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8 ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9f X05MX1BBUEVSX1dJRFRIIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIEhB VkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiTlVMOiIKfCAjZGVmaW5lIFNFUENI QVIgJzsnCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUg cHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVW SUNFX1NFUChfY18pICgoX2NfKSA9PSAnOicpCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9j XykgKChfY18pID09ICcvJyB8fCAoX2NfKSA9PSAnXFwnKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChf Y18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pIHx8IElTX0RFVklDRV9TRVAoX2NfKSkKfCAjZGVm aW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIEdDX1NFVEpNUF9X T1JLUyAxCnwgI2RlZmluZSBIQVZFX1NUQUNLX09WRVJGTE9XX0hBTkRMSU5HIDEKfCAjZGVmaW5l IERPU19OVCAvKiovCnwgI2RlZmluZSBXSU5ET1dTTlQgMQp8ICNkZWZpbmUgVVNBQkxFX0ZJT05S RUFEIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDIwIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ3MzJ0ZXJtLmgiCnwg I2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQtdzY0LW1pbmd3MzIiCnwgI2RlZmlu ZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9L2hvbWUvVldpblVzZXIwL0Rvd25sb2Fk cy9lbWFjcy9uYXRpdmUtY29tcC9idWlsdCAtLXdpdGgtbmF0aXZlY29tcCIKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0FUVFJJQlVURV9BTElHTkVEIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAj ZGVmaW5lIEhBVkVfU1RBVEVNRU5UX0VYUFJFU1NJT05TIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NB IDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEZV TkNfUkVBTFBBVEhfV09SS1MgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZp bmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZ TUxJTksgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgSEFWRV9MT05H X0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfTUVNTUVNIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAj ZGVmaW5lIFRJTUVfVF9JU19TSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBNQUxMT0NfMF9JU19OT05OVUxMIDEKfCAjZGVm aW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTkxFTiAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIF9VU0VfU1REX1NUQVQgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX0NMRUFSRVJSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRU9G X1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRVJST1JfVU5MT0NLRUQgMAp8ICNkZWZp bmUgSEFWRV9ERUNMX0ZGTFVTSF9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkdFVFNf VU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZQVVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5l IEhBVkVfREVDTF9GUFVUU19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlJFQURfVU5M T0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZXUklURV9VTkxPQ0tFRCAwCnwgI2RlZmluZSBI QVZFX0RFQ0xfR0VUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VUQ0hBUl9VTkxP Q0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZF X0RFQ0xfUFVUQ0hBUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBHRVRHUk9VUFNfVCBpbnQKfCAjZGVm aW5lIEhBVkVfREVDTF9HRVREVEFCTEVTSVpFIDAKfCAjZGVmaW5lIFBST01PVEVEX01PREVfVCBp bnQKfCAjZGVmaW5lIEhBVkVfU1lTX0FDTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0dFVF9GSUxF IDEKfCAjZGVmaW5lIEhBVkVfQUNMX1NFVF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0ZSRUUg MQp8ICNkZWZpbmUgSEFWRV9BQ0xfRlJPTV9URVhUIDEKfCAjZGVmaW5lIFVTRV9BQ0wgMQp8ICNk ZWZpbmUgSEFWRV9fX0JVSUxUSU5fRVhQRUNUIDEKfCAjZGVmaW5lIEdOVUxJQl9DQU5PTklDQUxJ WkVfTEdQTCAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIERPVUJM RV9TTEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElS IDEKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBfX0dFVE9Q VF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9CQ1JZUFRfSCAxCnwgI2RlZmluZSBHRVRUSU1F T0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZpbmUgX0dMX1JFUExBQ0VfSUVFRTc1NF9IIDEKfCAj ZGVmaW5lIEhBVkVfX19JTkxJTkUgMQp8ICNkZWZpbmUgSEFWRV9HTVBfSCAxCnwgI2RlZmluZSBI QVZFX01FTVBDUFkgMQp8ICNkZWZpbmUgR05VTElCX01LT1NURU1QIDEKfCAjZGVmaW5lIE5FRURf TUtUSU1FX1dJTkRPV1MgMQp8ICNkZWZpbmUgbXlfc3RyZnRpbWUgbnN0cmZ0aW1lCnwgI2RlZmlu ZSBfUkVHRVhfSU5DTFVERV9MSU1JVFNfSCAxCnwgI2RlZmluZSBfUkVHRVhfTEFSR0VfT0ZGU0VU UyAxCnwgI2RlZmluZSByZV9zeW50YXhfb3B0aW9ucyBycGxfcmVfc3ludGF4X29wdGlvbnMKfCAj ZGVmaW5lIHJlX3NldF9zeW50YXggcnBsX3JlX3NldF9zeW50YXgKfCAjZGVmaW5lIHJlX2NvbXBp bGVfcGF0dGVybiBycGxfcmVfY29tcGlsZV9wYXR0ZXJuCnwgI2RlZmluZSByZV9jb21waWxlX2Zh c3RtYXAgcnBsX3JlX2NvbXBpbGVfZmFzdG1hcAp8ICNkZWZpbmUgcmVfc2VhcmNoIHJwbF9yZV9z ZWFyY2gKfCAjZGVmaW5lIHJlX3NlYXJjaF8yIHJwbF9yZV9zZWFyY2hfMgp8ICNkZWZpbmUgcmVf bWF0Y2ggcnBsX3JlX21hdGNoCnwgI2RlZmluZSByZV9tYXRjaF8yIHJwbF9yZV9tYXRjaF8yCnwg I2RlZmluZSByZV9zZXRfcmVnaXN0ZXJzIHJwbF9yZV9zZXRfcmVnaXN0ZXJzCnwgI2RlZmluZSBy ZV9jb21wIHJwbF9yZV9jb21wCnwgI2RlZmluZSByZV9leGVjIHJwbF9yZV9leGVjCnwgI2RlZmlu ZSByZWdjb21wIHJwbF9yZWdjb21wCnwgI2RlZmluZSByZWdleGVjIHJwbF9yZWdleGVjCnwgI2Rl ZmluZSByZWdlcnJvciBycGxfcmVnZXJyb3IKfCAjZGVmaW5lIHJlZ2ZyZWUgcnBsX3JlZ2ZyZWUK fCAjZGVmaW5lIEhBVkVfTElCSU5UTF9IIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9JU0JMQU5LIDEK fCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICAgICAg ICAgICAgI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0 aWMgc3RydWN0IHN0YXQgYWNfYWdncjsKfCBpZiAoc2l6ZW9mIGFjX2FnZ3Iuc3RfYXRpbWVuc2Vj KQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MzIwNTI6IHJl c3VsdDogbm8KY29uZmlndXJlOjMyMDYzOiBjaGVja2luZyBmb3Igc3RydWN0IHN0YXQuc3RfYXRp bS5zdF9fdGltLnR2X25zZWMKY29uZmlndXJlOjMyMDYzOiBnY2MgLUkgLi4vc3JjL250L2luYyAt YyAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0 ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoyNDQ6MTM6IGVycm9yOiAnc3Ry dWN0IHN0YXQnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3N0X2F0aW0nOyBkaWQgeW91IG1lYW4gJ3N0 X2F0aW1lJz8KICAyNDQgfCBpZiAoYWNfYWdnci5zdF9hdGltLnN0X190aW0udHZfbnNlYykKICAg ICAgfCAgICAgICAgICAgICBefn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgc3RfYXRpbWUKY29u ZmlndXJlOjMyMDYzOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog Y29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4w LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZp bmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBB Q0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5l IE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19I RUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdf SCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEK fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZp bmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBf R05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJT RF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5l IF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19X QU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5 X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18g MQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5l IF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVD X0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxU X1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVm aW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZp bmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFW RV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhB VkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BB UkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVG U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19I IDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwg I2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwg I2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNk ZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEK fCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBI QVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVf Tk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVT RV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwg I2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwgI2RlZmluZSBIQVZF X1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1PRFVMRVNfU1VGRklY ICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NK SVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVmaW5lIE5BVElWRV9FTElT UF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYg MQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5l IEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFW RV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwg I2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2Rl ZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAj ZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVm aW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFW RV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBI QVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX0FMSUdORURfQUxMT0MgMAp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRlJBTUVf QUREUkVTUyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmlu ZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX1NCUksgMQp8ICNkZWZpbmUgSEFWRV9DQU5P TklDQUxJWkVfRklMRV9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUg SEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRVhQTElDSVRfQlpFUk8gMQp8ICNkZWZp bmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0RBVCAxCnwgI2RlZmluZSBI QVZFX0xDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRB VCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEK fCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBI QVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfSVNX Q1RZUEUgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5L IDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIHZmb3JrIGZvcmsKfCAjZGVm aW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAj ZGVmaW5lIEhBVkVfTEFOR0lORk9fX05MX1BBUEVSX1dJRFRIIDEKfCAjZGVmaW5lIEhBVkVfTUJT VEFURV9UIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAi TlVMOiIKfCAjZGVmaW5lIFNFUENIQVIgJzsnCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNk ZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQ ICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pICgoX2NfKSA9PSAnOicpCnwgI2RlZmlu ZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09ICcvJyB8fCAoX2NfKSA9PSAnXFwnKQp8 ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pIHx8IElTX0RF VklDRV9TRVAoX2NfKSkKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIK fCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX1NUQUNLX09WRVJGTE9X X0hBTkRMSU5HIDEKfCAjZGVmaW5lIERPU19OVCAvKiovCnwgI2RlZmluZSBXSU5ET1dTTlQgMQp8 ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0 IChDKSAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1f SEVBREVSICJ3MzJ0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQt dzY0LW1pbmd3MzIiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9L2hv bWUvVldpblVzZXIwL0Rvd25sb2Fkcy9lbWFjcy9uYXRpdmUtY29tcC9idWlsdCAtLXdpdGgtbmF0 aXZlY29tcCIKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FUVFJJQlVURV9BTElHTkVEIDEKfCAjZGVm aW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEVNRU5UX0VYUFJFU1NJT05TIDEK fCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5D VF9ST09UIDEKfCAjZGVmaW5lIEZVTkNfUkVBTFBBVEhfV09SS1MgMQp8ICNkZWZpbmUgcmVzdHJp Y3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgTFNU QVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUg MAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURf TE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNTUVNIDAKfCAjZGVmaW5lIEhB VkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIFRJTUVfVF9JU19TSUdORUQgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUg SEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBNQUxMT0Nf MF9JU19OT05OVUxMIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfU1RSTkxFTiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIF9V U0VfU1REX1NUQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0NMRUFSRVJSX1VOTE9DS0VEIDAKfCAj ZGVmaW5lIEhBVkVfREVDTF9GRU9GX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRVJS T1JfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZGTFVTSF9VTkxPQ0tFRCAwCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfRkdFVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZQVVRD X1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUU19VTkxPQ0tFRCAwCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfRlJFQURfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZXUklURV9V TkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBI QVZFX0RFQ0xfR0VUQ0hBUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVUQ19VTkxP Q0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVUQ0hBUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBH RVRHUk9VUFNfVCBpbnQKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVREVEFCTEVTSVpFIDAKfCAjZGVm aW5lIFBST01PVEVEX01PREVfVCBpbnQKfCAjZGVmaW5lIEhBVkVfU1lTX0FDTF9IIDEKfCAjZGVm aW5lIEhBVkVfQUNMX0dFVF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX1NFVF9GSUxFIDEKfCAj ZGVmaW5lIEhBVkVfQUNMX0ZSRUUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfRlJPTV9URVhUIDEKfCAj ZGVmaW5lIFVTRV9BQ0wgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRVhQRUNUIDEKfCAjZGVm aW5lIEdOVUxJQl9DQU5PTklDQUxJWkVfTEdQTCAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RS RUFNIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5l IEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAwCnwgI2Rl ZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAv KiovCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9CQ1JZUFRf SCAxCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZpbmUgX0dMX1JF UExBQ0VfSUVFRTc1NF9IIDEKfCAjZGVmaW5lIEhBVkVfX19JTkxJTkUgMQp8ICNkZWZpbmUgSEFW RV9HTVBfSCAxCnwgI2RlZmluZSBIQVZFX01FTVBDUFkgMQp8ICNkZWZpbmUgR05VTElCX01LT1NU RU1QIDEKfCAjZGVmaW5lIE5FRURfTUtUSU1FX1dJTkRPV1MgMQp8ICNkZWZpbmUgbXlfc3RyZnRp bWUgbnN0cmZ0aW1lCnwgI2RlZmluZSBfUkVHRVhfSU5DTFVERV9MSU1JVFNfSCAxCnwgI2RlZmlu ZSBfUkVHRVhfTEFSR0VfT0ZGU0VUUyAxCnwgI2RlZmluZSByZV9zeW50YXhfb3B0aW9ucyBycGxf cmVfc3ludGF4X29wdGlvbnMKfCAjZGVmaW5lIHJlX3NldF9zeW50YXggcnBsX3JlX3NldF9zeW50 YXgKfCAjZGVmaW5lIHJlX2NvbXBpbGVfcGF0dGVybiBycGxfcmVfY29tcGlsZV9wYXR0ZXJuCnwg I2RlZmluZSByZV9jb21waWxlX2Zhc3RtYXAgcnBsX3JlX2NvbXBpbGVfZmFzdG1hcAp8ICNkZWZp bmUgcmVfc2VhcmNoIHJwbF9yZV9zZWFyY2gKfCAjZGVmaW5lIHJlX3NlYXJjaF8yIHJwbF9yZV9z ZWFyY2hfMgp8ICNkZWZpbmUgcmVfbWF0Y2ggcnBsX3JlX21hdGNoCnwgI2RlZmluZSByZV9tYXRj aF8yIHJwbF9yZV9tYXRjaF8yCnwgI2RlZmluZSByZV9zZXRfcmVnaXN0ZXJzIHJwbF9yZV9zZXRf cmVnaXN0ZXJzCnwgI2RlZmluZSByZV9jb21wIHJwbF9yZV9jb21wCnwgI2RlZmluZSByZV9leGVj IHJwbF9yZV9leGVjCnwgI2RlZmluZSByZWdjb21wIHJwbF9yZWdjb21wCnwgI2RlZmluZSByZWdl eGVjIHJwbF9yZWdleGVjCnwgI2RlZmluZSByZWdlcnJvciBycGxfcmVnZXJyb3IKfCAjZGVmaW5l IHJlZ2ZyZWUgcnBsX3JlZ2ZyZWUKfCAjZGVmaW5lIEhBVkVfTElCSU5UTF9IIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9JU0JMQU5LIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1ZGUg PHN5cy90eXBlcy5oPgp8ICAgICAgICAgICAgICAgI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CnwgCnwg aW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IHN0YXQgYWNfYWdncjsKfCBpZiAoYWNf YWdnci5zdF9hdGltLnN0X190aW0udHZfbnNlYykKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVy biAwOwp8IH0KY29uZmlndXJlOjMyMDYzOiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8y IC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IElu IGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoyNDQ6MjA6IGVycm9yOiAnc3RydWN0IHN0YXQn IGhhcyBubyBtZW1iZXIgbmFtZWQgJ3N0X2F0aW0nOyBkaWQgeW91IG1lYW4gJ3N0X2F0aW1lJz8K ICAyNDQgfCBpZiAoc2l6ZW9mIGFjX2FnZ3Iuc3RfYXRpbS5zdF9fdGltLnR2X25zZWMpCiAgICAg IHwgICAgICAgICAgICAgICAgICAgIF5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAg c3RfYXRpbWUKY29uZmlndXJlOjMyMDYzOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh bSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1h Y3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9W RVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4w LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIK fCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNz LyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNk ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVf U1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05T X18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAx CnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2Rl ZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNT IDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVm aW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dB TlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlf RlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9f IDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dB TlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZp bmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJ VFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dz LW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8 ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEK fCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBI QVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NU RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T VEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lN QUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFH RVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFE U19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAx CnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZp bmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEK fCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmluZSBI QVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwg I2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1P RFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUg SEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVmaW5l IE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmlu ZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwy IDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8 ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFW RV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NF VExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJM SU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9T SUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJ TUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8 ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAx CnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURfQUxMT0MgMAp8ICNkZWZpbmUgSEFWRV9fX0JV SUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5J VCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX1NCUksgMQp8ICNkZWZp bmUgSEFWRV9DQU5PTklDQUxJWkVfRklMRV9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksg MQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRVhQTElDSVRfQlpF Uk8gMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0RBVCAx CnwgI2RlZmluZSBIQVZFX0xDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5l IEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VU VElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAx CnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVm aW5lIEhBVkVfSVNXQ1RZUEUgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUg SEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIHZmb3Jr IGZvcmsKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19D T0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fX05MX1BBUEVSX1dJRFRIIDEKfCAjZGVm aW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBO VUxMX0RFVklDRSAiTlVMOiIKfCAjZGVmaW5lIFNFUENIQVIgJzsnCnwgI2RlZmluZSBzdWJwcm9j ZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBE SVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pICgoX2NfKSA9PSAn OicpCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09ICcvJyB8fCAoX2Nf KSA9PSAnXFwnKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChf Y18pIHx8IElTX0RFVklDRV9TRVAoX2NfKSkKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNF ICIvZGV2L2RzcCIKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX1NU QUNLX09WRVJGTE9XX0hBTkRMSU5HIDEKfCAjZGVmaW5lIERPU19OVCAvKiovCnwgI2RlZmluZSBX SU5ET1dTTlQgMQp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIENPUFlSSUdI VCAiQ29weXJpZ2h0IChDKSAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAj ZGVmaW5lIFRFUk1fSEVBREVSICJ3MzJ0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFU SU9OICJ4ODZfNjQtdzY0LW1pbmd3MzIiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAi LS1wcmVmaXg9L2hvbWUvVldpblVzZXIwL0Rvd25sb2Fkcy9lbWFjcy9uYXRpdmUtY29tcC9idWls dCAtLXdpdGgtbmF0aXZlY29tcCIKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FUVFJJQlVURV9BTElH TkVEIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEVNRU5UX0VY UFJFU1NJT05TIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFT SF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEZVTkNfUkVBTFBBVEhfV09SS1MgMQp8ICNk ZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8 ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhB VkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNTUVNIDAK fCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIFRJTUVfVF9JU19TSUdORUQg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUg MQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBNQUxMT0NfMF9JU19OT05OVUxMIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfU1RSTkxFTiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEK fCAjZGVmaW5lIF9VU0VfU1REX1NUQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0NMRUFSRVJSX1VO TE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRU9GX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhB VkVfREVDTF9GRVJST1JfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZGTFVTSF9VTkxP Q0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkdFVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFW RV9ERUNMX0ZQVVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUU19VTkxPQ0tF RCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlJFQURfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9E RUNMX0ZXUklURV9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VUQ19VTkxPQ0tFRCAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VUQ0hBUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfUFVUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVUQ0hBUl9VTkxPQ0tFRCAw CnwgI2RlZmluZSBHRVRHUk9VUFNfVCBpbnQKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVREVEFCTEVT SVpFIDAKfCAjZGVmaW5lIFBST01PVEVEX01PREVfVCBpbnQKfCAjZGVmaW5lIEhBVkVfU1lTX0FD TF9IIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0dFVF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX1NF VF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0ZSRUUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfRlJP TV9URVhUIDEKfCAjZGVmaW5lIFVTRV9BQ0wgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRVhQ RUNUIDEKfCAjZGVmaW5lIEdOVUxJQl9DQU5PTklDQUxJWkVfTEdQTCAxCnwgI2RlZmluZSBHTlVM SUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09U IDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BF TkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIEZMRVhJQkxFX0FS UkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUg SEFWRV9CQ1JZUFRfSCAxCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNk ZWZpbmUgX0dMX1JFUExBQ0VfSUVFRTc1NF9IIDEKfCAjZGVmaW5lIEhBVkVfX19JTkxJTkUgMQp8 ICNkZWZpbmUgSEFWRV9HTVBfSCAxCnwgI2RlZmluZSBIQVZFX01FTVBDUFkgMQp8ICNkZWZpbmUg R05VTElCX01LT1NURU1QIDEKfCAjZGVmaW5lIE5FRURfTUtUSU1FX1dJTkRPV1MgMQp8ICNkZWZp bmUgbXlfc3RyZnRpbWUgbnN0cmZ0aW1lCnwgI2RlZmluZSBfUkVHRVhfSU5DTFVERV9MSU1JVFNf SCAxCnwgI2RlZmluZSBfUkVHRVhfTEFSR0VfT0ZGU0VUUyAxCnwgI2RlZmluZSByZV9zeW50YXhf b3B0aW9ucyBycGxfcmVfc3ludGF4X29wdGlvbnMKfCAjZGVmaW5lIHJlX3NldF9zeW50YXggcnBs X3JlX3NldF9zeW50YXgKfCAjZGVmaW5lIHJlX2NvbXBpbGVfcGF0dGVybiBycGxfcmVfY29tcGls ZV9wYXR0ZXJuCnwgI2RlZmluZSByZV9jb21waWxlX2Zhc3RtYXAgcnBsX3JlX2NvbXBpbGVfZmFz dG1hcAp8ICNkZWZpbmUgcmVfc2VhcmNoIHJwbF9yZV9zZWFyY2gKfCAjZGVmaW5lIHJlX3NlYXJj aF8yIHJwbF9yZV9zZWFyY2hfMgp8ICNkZWZpbmUgcmVfbWF0Y2ggcnBsX3JlX21hdGNoCnwgI2Rl ZmluZSByZV9tYXRjaF8yIHJwbF9yZV9tYXRjaF8yCnwgI2RlZmluZSByZV9zZXRfcmVnaXN0ZXJz IHJwbF9yZV9zZXRfcmVnaXN0ZXJzCnwgI2RlZmluZSByZV9jb21wIHJwbF9yZV9jb21wCnwgI2Rl ZmluZSByZV9leGVjIHJwbF9yZV9leGVjCnwgI2RlZmluZSByZWdjb21wIHJwbF9yZWdjb21wCnwg I2RlZmluZSByZWdleGVjIHJwbF9yZWdleGVjCnwgI2RlZmluZSByZWdlcnJvciBycGxfcmVnZXJy b3IKfCAjZGVmaW5lIHJlZ2ZyZWUgcnBsX3JlZ2ZyZWUKfCAjZGVmaW5lIEhBVkVfTElCSU5UTF9I IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9JU0JMQU5LIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICov CnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICAgICAgICAgICAgICAgI2luY2x1ZGUgPHN5cy9z dGF0Lmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IHN0YXQgYWNfYWdn cjsKfCBpZiAoc2l6ZW9mIGFjX2FnZ3Iuc3RfYXRpbS5zdF9fdGltLnR2X25zZWMpCnwgcmV0dXJu IDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTozMjA2MzogcmVzdWx0OiBubwpj b25maWd1cmU6MzIwODU6IGNoZWNraW5nIGZvciBzdHJ1Y3Qgc3RhdC5zdF9iaXJ0aHRpbWVzcGVj LnR2X25zZWMKY29uZmlndXJlOjMyMDg1OiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8y IC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IElu IGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoyNDQ6MTI6IGVycm9yOiAnc3RydWN0IHN0YXQn IGhhcyBubyBtZW1iZXIgbmFtZWQgJ3N0X2JpcnRodGltZXNwZWMnCiAgMjQ0IHwgaWYgKGFjX2Fn Z3Iuc3RfYmlydGh0aW1lc3BlYy50dl9uc2VjKQogICAgICB8ICAgICAgICAgICAgXgpjb25maWd1 cmU6MzIwODU6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25m ZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBB Q0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAi CnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQ QUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FH RV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJ TF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURF UlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBf QUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVf U09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NP VVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19T VERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRf SUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQ X0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwg I2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19T VERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVO Q1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9Q RU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUg R0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBI QVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX01B TExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9Q V0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ Ql9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1f SCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8 ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmlu ZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVm aW5lIEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVm aW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmlu ZSBVU0VfTU1BUF9GT1JfQlVGRkVSUyAxCnwgI2RlZmluZSBUSFJFQURTX0VOQUJMRUQgMQp8ICNk ZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVf SlNPTiAxCnwgI2RlZmluZSBIQVZFX1czMk5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJ RlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJ TSAxCnwgI2RlZmluZSBIQVZFX0hBUkZCVVpaIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVm aW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0xDTVMyIDEKfCAjZGVmaW5lIEhBVkVfWkxJ QiAxCnwgI2RlZmluZSBIQVZFX01PRFVMRVMgMQp8ICNkZWZpbmUgTU9EVUxFU19TVUZGSVggIi5k bGwiCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVCAxCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVF9I IDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0NPTVAgMQp8ICNkZWZpbmUgTkFUSVZFX0VMSVNQX1NV RkZJWCAiLmVsbiIKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwg I2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFW RV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJ TlQgMQp8ICNkZWZpbmUgSEFWRV9UUlVOQyAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2Rl ZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVm aW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5l IEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZp bmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUg SEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dF VFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVf TE9HMiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfQUxJR05FRF9BTExPQyAwCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9GUkFNRV9BRERS RVNTIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhB VkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfU0JSSyAxCnwgI2RlZmluZSBIQVZFX0NBTk9OSUNB TElaRV9GSUxFX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZF X1JFQURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9FWFBMSUNJVF9CWkVSTyAxCnwgI2RlZmluZSBI QVZFX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PREFUIDEKfCAjZGVmaW5lIEhBVkVf TENITU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEK fCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNk ZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVf UFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9JU1dDVFlQ RSAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8 ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUgdmZvcmsgZm9yawp8ICNkZWZpbmUg SEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZp bmUgSEFWRV9MQU5HSU5GT19fTkxfUEFQRVJfV0lEVEggMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRF X1QgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICJOVUw6 Igp8ICNkZWZpbmUgU0VQQ0hBUiAnOycKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmlu ZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8n CnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgKChfY18pID09ICc6JykKfCAjZGVmaW5lIElT X0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gJy8nIHx8IChfY18pID09ICdcXCcpCnwgI2Rl ZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykgfHwgSVNfREVWSUNF X1NFUChfY18pKQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNk ZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfU1RBQ0tfT1ZFUkZMT1dfSEFO RExJTkcgMQp8ICNkZWZpbmUgRE9TX05UIC8qKi8KfCAjZGVmaW5lIFdJTkRPV1NOVCAxCnwgI2Rl ZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMp IDIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFE RVIgInczMnRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gIng4Nl82NC13NjQt bWluZ3czMiIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZpeD0vaG9tZS9W V2luVXNlcjAvRG93bmxvYWRzL2VtYWNzL25hdGl2ZS1jb21wL2J1aWx0IC0td2l0aC1uYXRpdmVj b21wIgp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQVRUUklCVVRFX0FMSUdORUQgMQp8ICNkZWZpbmUg SEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9TVEFURU1FTlRfRVhQUkVTU0lPTlMgMQp8ICNk ZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgRE9VQkxFX1NMQVNIX0lTX0RJU1RJTkNUX1JP T1QgMQp8ICNkZWZpbmUgRlVOQ19SRUFMUEFUSF9XT1JLUyAxCnwgI2RlZmluZSByZXN0cmljdCBf X3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBMU1RBVF9G T0xMT1dTX1NMQVNIRURfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwg I2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05H X0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1NRU0gMAp8ICNkZWZpbmUgSEFWRV9E RUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgVElNRV9UX0lTX1NJR05FRCAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZF X1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIE1BTExPQ18wX0lT X05PTk5VTEwgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9T VFJOTEVOIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgX1VTRV9T VERfU1RBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQ0xFQVJFUlJfVU5MT0NLRUQgMAp8ICNkZWZp bmUgSEFWRV9ERUNMX0ZFT0ZfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZFUlJPUl9V TkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkZMVVNIX1VOTE9DS0VEIDAKfCAjZGVmaW5l IEhBVkVfREVDTF9GR0VUU19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlBVVENfVU5M T0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZQVVRTX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhB VkVfREVDTF9GUkVBRF9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRldSSVRFX1VOTE9D S0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVf REVDTF9HRVRDSEFSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9QVVRDX1VOTE9DS0VE IDAKfCAjZGVmaW5lIEhBVkVfREVDTF9QVVRDSEFSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEdFVEdS T1VQU19UIGludAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVERUQUJMRVNJWkUgMAp8ICNkZWZpbmUg UFJPTU9URURfTU9ERV9UIGludAp8ICNkZWZpbmUgSEFWRV9TWVNfQUNMX0ggMQp8ICNkZWZpbmUg SEFWRV9BQ0xfR0VUX0ZJTEUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfU0VUX0ZJTEUgMQp8ICNkZWZp bmUgSEFWRV9BQ0xfRlJFRSAxCnwgI2RlZmluZSBIQVZFX0FDTF9GUk9NX1RFWFQgMQp8ICNkZWZp bmUgVVNFX0FDTCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9FWFBFQ1QgMQp8ICNkZWZpbmUg R05VTElCX0NBTk9OSUNBTElaRV9MR1BMIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0g MQp8ICNkZWZpbmUgRE9VQkxFX1NMQVNIX0lTX0RJU1RJTkNUX1JPT1QgMQp8ICNkZWZpbmUgR05V TElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDAKfCAjZGVmaW5l IEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8K fCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0JDUllQVF9IIDEK fCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBfR0xfUkVQTEFD RV9JRUVFNzU0X0ggMQp8ICNkZWZpbmUgSEFWRV9fX0lOTElORSAxCnwgI2RlZmluZSBIQVZFX0dN UF9IIDEKfCAjZGVmaW5lIEhBVkVfTUVNUENQWSAxCnwgI2RlZmluZSBHTlVMSUJfTUtPU1RFTVAg MQp8ICNkZWZpbmUgTkVFRF9NS1RJTUVfV0lORE9XUyAxCnwgI2RlZmluZSBteV9zdHJmdGltZSBu c3RyZnRpbWUKfCAjZGVmaW5lIF9SRUdFWF9JTkNMVURFX0xJTUlUU19IIDEKfCAjZGVmaW5lIF9S RUdFWF9MQVJHRV9PRkZTRVRTIDEKfCAjZGVmaW5lIHJlX3N5bnRheF9vcHRpb25zIHJwbF9yZV9z eW50YXhfb3B0aW9ucwp8ICNkZWZpbmUgcmVfc2V0X3N5bnRheCBycGxfcmVfc2V0X3N5bnRheAp8 ICNkZWZpbmUgcmVfY29tcGlsZV9wYXR0ZXJuIHJwbF9yZV9jb21waWxlX3BhdHRlcm4KfCAjZGVm aW5lIHJlX2NvbXBpbGVfZmFzdG1hcCBycGxfcmVfY29tcGlsZV9mYXN0bWFwCnwgI2RlZmluZSBy ZV9zZWFyY2ggcnBsX3JlX3NlYXJjaAp8ICNkZWZpbmUgcmVfc2VhcmNoXzIgcnBsX3JlX3NlYXJj aF8yCnwgI2RlZmluZSByZV9tYXRjaCBycGxfcmVfbWF0Y2gKfCAjZGVmaW5lIHJlX21hdGNoXzIg cnBsX3JlX21hdGNoXzIKfCAjZGVmaW5lIHJlX3NldF9yZWdpc3RlcnMgcnBsX3JlX3NldF9yZWdp c3RlcnMKfCAjZGVmaW5lIHJlX2NvbXAgcnBsX3JlX2NvbXAKfCAjZGVmaW5lIHJlX2V4ZWMgcnBs X3JlX2V4ZWMKfCAjZGVmaW5lIHJlZ2NvbXAgcnBsX3JlZ2NvbXAKfCAjZGVmaW5lIHJlZ2V4ZWMg cnBsX3JlZ2V4ZWMKfCAjZGVmaW5lIHJlZ2Vycm9yIHJwbF9yZWdlcnJvcgp8ICNkZWZpbmUgcmVn ZnJlZSBycGxfcmVnZnJlZQp8ICNkZWZpbmUgSEFWRV9MSUJJTlRMX0ggMQp8ICNkZWZpbmUgSEFW RV9ERUNMX0lTQkxBTksgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lz L3R5cGVzLmg+CnwgICAgICAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAKfCBpbnQKfCBtYWluICgp Cnwgewp8IHN0YXRpYyBzdHJ1Y3Qgc3RhdCBhY19hZ2dyOwp8IGlmIChhY19hZ2dyLnN0X2JpcnRo dGltZXNwZWMudHZfbnNlYykKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29u ZmlndXJlOjMyMDg1OiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAt bXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdt YWluJzoKY29uZnRlc3QuYzoyNDQ6MTk6IGVycm9yOiAnc3RydWN0IHN0YXQnIGhhcyBubyBtZW1i ZXIgbmFtZWQgJ3N0X2JpcnRodGltZXNwZWMnCiAgMjQ0IHwgaWYgKHNpemVvZiBhY19hZ2dyLnN0 X2JpcnRodGltZXNwZWMudHZfbnNlYykKICAgICAgfCAgICAgICAgICAgICAgICAgICBeCmNvbmZp Z3VyZTozMjA4NTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNv bmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUg UEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41 MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5l IFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNL QUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBN QUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVB REVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU QVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0gg MQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwg I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5l IF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dO VV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0Rf U09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBf X1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FO VF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9E RlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEK fCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBf X1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19G VU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9Y T1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmlu ZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5l IEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVf TUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZF X1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJB TV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAx CnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNk ZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNk ZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVm aW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwg I2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFW RV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05P VElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0Vf WElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNk ZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENNUzIgMQp8ICNkZWZpbmUgSEFWRV9a TElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJWCAi LmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklU X0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJU1Bf U1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEK fCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBI QVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVf UklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNk ZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZp bmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2Rl ZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmlu ZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVf R0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFW RV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1FX05QIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9BTElHTkVEX0FMTE9DIDAKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX0ZSQU1FX0FE RFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUg SEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9TQlJLIDEKfCAjZGVmaW5lIEhBVkVfQ0FOT05J Q0FMSVpFX0ZJTEVfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhB VkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0VYUExJQ0lUX0JaRVJPIDEKfCAjZGVmaW5l IEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EQVQgMQp8ICNkZWZpbmUgSEFW RV9MQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQg MQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwg I2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFW RV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2RlZmluZSBIQVZFX0lTV0NU WVBFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAx CnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwgI2RlZmluZSB2Zm9yayBmb3JrCnwgI2RlZmlu ZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2Rl ZmluZSBIQVZFX0xBTkdJTkZPX19OTF9QQVBFUl9XSURUSCAxCnwgI2RlZmluZSBIQVZFX01CU1RB VEVfVCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIk5V TDoiCnwgI2RlZmluZSBTRVBDSEFSICc7Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVm aW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAn LycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAoKF9jXykgPT0gJzonKQp8ICNkZWZpbmUg SVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSAnLycgfHwgKF9jXykgPT0gJ1xcJykKfCAj ZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSB8fCBJU19ERVZJ Q0VfU0VQKF9jXykpCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwg I2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9TVEFDS19PVkVSRkxPV19I QU5ETElORyAxCnwgI2RlZmluZSBET1NfTlQgLyoqLwp8ICNkZWZpbmUgV0lORE9XU05UIDEKfCAj ZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAo QykgMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hF QURFUiAidzMydGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAieDg2XzY0LXc2 NC1taW5ndzMyIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PS9ob21l L1ZXaW5Vc2VyMC9Eb3dubG9hZHMvZW1hY3MvbmF0aXZlLWNvbXAvYnVpbHQgLS13aXRoLW5hdGl2 ZWNvbXAiCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BVFRSSUJVVEVfQUxJR05FRCAxCnwgI2RlZmlu ZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX1NUQVRFTUVOVF9FWFBSRVNTSU9OUyAxCnwg I2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBET1VCTEVfU0xBU0hfSVNfRElTVElOQ1Rf Uk9PVCAxCnwgI2RlZmluZSBGVU5DX1JFQUxQQVRIX1dPUktTIDEKfCAjZGVmaW5lIHJlc3RyaWN0 IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIExTVEFU X0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAK fCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xP TkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTU1FTSAwCnwgI2RlZmluZSBIQVZF X0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBUSU1FX1RfSVNfU0lHTkVEIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhB VkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgTUFMTE9DXzBf SVNfTk9OTlVMTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X1NUUk5MRU4gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBfVVNF X1NURF9TVEFUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9DTEVBUkVSUl9VTkxPQ0tFRCAwCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfRkVPRl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkVSUk9S X1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRkxVU0hfVU5MT0NLRUQgMAp8ICNkZWZp bmUgSEFWRV9ERUNMX0ZHRVRTX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUQ19V TkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlBVVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUg SEFWRV9ERUNMX0ZSRUFEX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GV1JJVEVfVU5M T0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFW RV9ERUNMX0dFVENIQVJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1BVVENfVU5MT0NL RUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1BVVENIQVJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgR0VU R1JPVVBTX1QgaW50CnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURFRBQkxFU0laRSAwCnwgI2RlZmlu ZSBQUk9NT1RFRF9NT0RFX1QgaW50CnwgI2RlZmluZSBIQVZFX1NZU19BQ0xfSCAxCnwgI2RlZmlu ZSBIQVZFX0FDTF9HRVRfRklMRSAxCnwgI2RlZmluZSBIQVZFX0FDTF9TRVRfRklMRSAxCnwgI2Rl ZmluZSBIQVZFX0FDTF9GUkVFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0ZST01fVEVYVCAxCnwgI2Rl ZmluZSBVU0VfQUNMIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX0VYUEVDVCAxCnwgI2RlZmlu ZSBHTlVMSUJfQ0FOT05JQ0FMSVpFX0xHUEwgMQp8ICNkZWZpbmUgR05VTElCX0NMT1NFX1NUUkVB TSAxCnwgI2RlZmluZSBET1VCTEVfU0xBU0hfSVNfRElTVElOQ1RfUk9PVCAxCnwgI2RlZmluZSBH TlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GRE9QRU5ESVIgMAp8ICNkZWZp bmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoq Lwp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfQkNSWVBUX0gg MQp8ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHZvaWQKfCAjZGVmaW5lIF9HTF9SRVBM QUNFX0lFRUU3NTRfSCAxCnwgI2RlZmluZSBIQVZFX19fSU5MSU5FIDEKfCAjZGVmaW5lIEhBVkVf R01QX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1QQ1BZIDEKfCAjZGVmaW5lIEdOVUxJQl9NS09TVEVN UCAxCnwgI2RlZmluZSBORUVEX01LVElNRV9XSU5ET1dTIDEKfCAjZGVmaW5lIG15X3N0cmZ0aW1l IG5zdHJmdGltZQp8ICNkZWZpbmUgX1JFR0VYX0lOQ0xVREVfTElNSVRTX0ggMQp8ICNkZWZpbmUg X1JFR0VYX0xBUkdFX09GRlNFVFMgMQp8ICNkZWZpbmUgcmVfc3ludGF4X29wdGlvbnMgcnBsX3Jl X3N5bnRheF9vcHRpb25zCnwgI2RlZmluZSByZV9zZXRfc3ludGF4IHJwbF9yZV9zZXRfc3ludGF4 CnwgI2RlZmluZSByZV9jb21waWxlX3BhdHRlcm4gcnBsX3JlX2NvbXBpbGVfcGF0dGVybgp8ICNk ZWZpbmUgcmVfY29tcGlsZV9mYXN0bWFwIHJwbF9yZV9jb21waWxlX2Zhc3RtYXAKfCAjZGVmaW5l IHJlX3NlYXJjaCBycGxfcmVfc2VhcmNoCnwgI2RlZmluZSByZV9zZWFyY2hfMiBycGxfcmVfc2Vh cmNoXzIKfCAjZGVmaW5lIHJlX21hdGNoIHJwbF9yZV9tYXRjaAp8ICNkZWZpbmUgcmVfbWF0Y2hf MiBycGxfcmVfbWF0Y2hfMgp8ICNkZWZpbmUgcmVfc2V0X3JlZ2lzdGVycyBycGxfcmVfc2V0X3Jl Z2lzdGVycwp8ICNkZWZpbmUgcmVfY29tcCBycGxfcmVfY29tcAp8ICNkZWZpbmUgcmVfZXhlYyBy cGxfcmVfZXhlYwp8ICNkZWZpbmUgcmVnY29tcCBycGxfcmVnY29tcAp8ICNkZWZpbmUgcmVnZXhl YyBycGxfcmVnZXhlYwp8ICNkZWZpbmUgcmVnZXJyb3IgcnBsX3JlZ2Vycm9yCnwgI2RlZmluZSBy ZWdmcmVlIHJwbF9yZWdmcmVlCnwgI2RlZmluZSBIQVZFX0xJQklOVExfSCAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfSVNCTEFOSyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxz eXMvdHlwZXMuaD4KfCAgICAgICNpbmNsdWRlIDxzeXMvc3RhdC5oPgp8IAp8IGludAp8IG1haW4g KCkKfCB7Cnwgc3RhdGljIHN0cnVjdCBzdGF0IGFjX2FnZ3I7CnwgaWYgKHNpemVvZiBhY19hZ2dy LnN0X2JpcnRodGltZXNwZWMudHZfbnNlYykKfCByZXR1cm4gMDsKfCAgIDsKfCAgIHJldHVybiAw Owp8IH0KY29uZmlndXJlOjMyMDg1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTozMjA5NjogY2hlY2tp bmcgZm9yIHN0cnVjdCBzdGF0LnN0X2JpcnRodGltZW5zZWMKY29uZmlndXJlOjMyMDk2OiBnY2Mg LUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgIGNv bmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoy NDQ6MTI6IGVycm9yOiAnc3RydWN0IHN0YXQnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3N0X2JpcnRo dGltZW5zZWMnCiAgMjQ0IHwgaWYgKGFjX2FnZ3Iuc3RfYmlydGh0aW1lbnNlYykKICAgICAgfCAg ICAgICAgICAgIF4KY29uZmlndXJlOjMyMDk2OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJv Z3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUg RW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FH RV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAy OC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9y ZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2Vt YWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8 ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJ T05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJD RSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwg I2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5U SUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAj ZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1 NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VY VF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNk ZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VU X0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5k b3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQg MQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9I IDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmlu ZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZF X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZF X0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VU UEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhS RUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRM UyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNk ZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJT IDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmlu ZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAx CnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5l IE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZp bmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVm aW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2Rl ZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJY TUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00g MQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUg SEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZF X1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VU SVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00g MQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJP UiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVf TlAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURfQUxMT0MgMAp8ICNkZWZpbmUgSEFWRV9f X0JVSUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRf SU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX1NCUksgMQp8ICNk ZWZpbmUgSEFWRV9DQU5PTklDQUxJWkVfRklMRV9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJ TksgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRVhQTElDSVRf QlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0RB VCAxCnwgI2RlZmluZSBIQVZFX0xDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVm aW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVf R0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QSVBF MiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAj ZGVmaW5lIEhBVkVfSVNXQ1RZUEUgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZp bmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIHZm b3JrIGZvcmsKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5G T19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fX05MX1BBUEVSX1dJRFRIIDEKfCAj ZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmlu ZSBOVUxMX0RFVklDRSAiTlVMOiIKfCAjZGVmaW5lIFNFUENIQVIgJzsnCnwgI2RlZmluZSBzdWJw cm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmlu ZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pICgoX2NfKSA9 PSAnOicpCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09ICcvJyB8fCAo X2NfKSA9PSAnXFwnKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQ IChfY18pIHx8IElTX0RFVklDRV9TRVAoX2NfKSkKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVW SUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZF X1NUQUNLX09WRVJGTE9XX0hBTkRMSU5HIDEKfCAjZGVmaW5lIERPU19OVCAvKiovCnwgI2RlZmlu ZSBXSU5ET1dTTlQgMQp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIENPUFlS SUdIVCAiQ29weXJpZ2h0IChDKSAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIK fCAjZGVmaW5lIFRFUk1fSEVBREVSICJ3MzJ0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdV UkFUSU9OICJ4ODZfNjQtdzY0LW1pbmd3MzIiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9O UyAiLS1wcmVmaXg9L2hvbWUvVldpblVzZXIwL0Rvd25sb2Fkcy9lbWFjcy9uYXRpdmUtY29tcC9i dWlsdCAtLXdpdGgtbmF0aXZlY29tcCIKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FUVFJJQlVURV9B TElHTkVEIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEVNRU5U X0VYUFJFU1NJT05TIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIERPVUJMRV9T TEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEZVTkNfUkVBTFBBVEhfV09SS1MgMQp8 ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wg MQp8ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5l IEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNTUVN IDAKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIFRJTUVfVF9JU19TSUdO RUQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5B TUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwg I2RlZmluZSBNQUxMT0NfMF9JU19OT05OVUxMIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfU1RSTkxFTiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFY IDEKfCAjZGVmaW5lIF9VU0VfU1REX1NUQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0NMRUFSRVJS X1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRU9GX1VOTE9DS0VEIDAKfCAjZGVmaW5l IEhBVkVfREVDTF9GRVJST1JfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZGTFVTSF9V TkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkdFVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUg SEFWRV9ERUNMX0ZQVVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUU19VTkxP Q0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlJFQURfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFW RV9ERUNMX0ZXUklURV9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VUQ19VTkxPQ0tF RCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VUQ0hBUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZF X0RFQ0xfUFVUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVUQ0hBUl9VTkxPQ0tF RCAwCnwgI2RlZmluZSBHRVRHUk9VUFNfVCBpbnQKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVREVEFC TEVTSVpFIDAKfCAjZGVmaW5lIFBST01PVEVEX01PREVfVCBpbnQKfCAjZGVmaW5lIEhBVkVfU1lT X0FDTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0dFVF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNM X1NFVF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0ZSRUUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xf RlJPTV9URVhUIDEKfCAjZGVmaW5lIFVTRV9BQ0wgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5f RVhQRUNUIDEKfCAjZGVmaW5lIEdOVUxJQl9DQU5PTklDQUxJWkVfTEdQTCAxCnwgI2RlZmluZSBH TlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9S T09UIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZE T1BFTkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIEZMRVhJQkxF X0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZp bmUgSEFWRV9CQ1JZUFRfSCAxCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8 ICNkZWZpbmUgX0dMX1JFUExBQ0VfSUVFRTc1NF9IIDEKfCAjZGVmaW5lIEhBVkVfX19JTkxJTkUg MQp8ICNkZWZpbmUgSEFWRV9HTVBfSCAxCnwgI2RlZmluZSBIQVZFX01FTVBDUFkgMQp8ICNkZWZp bmUgR05VTElCX01LT1NURU1QIDEKfCAjZGVmaW5lIE5FRURfTUtUSU1FX1dJTkRPV1MgMQp8ICNk ZWZpbmUgbXlfc3RyZnRpbWUgbnN0cmZ0aW1lCnwgI2RlZmluZSBfUkVHRVhfSU5DTFVERV9MSU1J VFNfSCAxCnwgI2RlZmluZSBfUkVHRVhfTEFSR0VfT0ZGU0VUUyAxCnwgI2RlZmluZSByZV9zeW50 YXhfb3B0aW9ucyBycGxfcmVfc3ludGF4X29wdGlvbnMKfCAjZGVmaW5lIHJlX3NldF9zeW50YXgg cnBsX3JlX3NldF9zeW50YXgKfCAjZGVmaW5lIHJlX2NvbXBpbGVfcGF0dGVybiBycGxfcmVfY29t cGlsZV9wYXR0ZXJuCnwgI2RlZmluZSByZV9jb21waWxlX2Zhc3RtYXAgcnBsX3JlX2NvbXBpbGVf ZmFzdG1hcAp8ICNkZWZpbmUgcmVfc2VhcmNoIHJwbF9yZV9zZWFyY2gKfCAjZGVmaW5lIHJlX3Nl YXJjaF8yIHJwbF9yZV9zZWFyY2hfMgp8ICNkZWZpbmUgcmVfbWF0Y2ggcnBsX3JlX21hdGNoCnwg I2RlZmluZSByZV9tYXRjaF8yIHJwbF9yZV9tYXRjaF8yCnwgI2RlZmluZSByZV9zZXRfcmVnaXN0 ZXJzIHJwbF9yZV9zZXRfcmVnaXN0ZXJzCnwgI2RlZmluZSByZV9jb21wIHJwbF9yZV9jb21wCnwg I2RlZmluZSByZV9leGVjIHJwbF9yZV9leGVjCnwgI2RlZmluZSByZWdjb21wIHJwbF9yZWdjb21w CnwgI2RlZmluZSByZWdleGVjIHJwbF9yZWdleGVjCnwgI2RlZmluZSByZWdlcnJvciBycGxfcmVn ZXJyb3IKfCAjZGVmaW5lIHJlZ2ZyZWUgcnBsX3JlZ2ZyZWUKfCAjZGVmaW5lIEhBVkVfTElCSU5U TF9IIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9JU0JMQU5LIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4g ICovCnwgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICAgICAgICAgI2luY2x1ZGUgPHN5cy9zdGF0 Lmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCBzdGF0aWMgc3RydWN0IHN0YXQgYWNfYWdncjsK fCBpZiAoYWNfYWdnci5zdF9iaXJ0aHRpbWVuc2VjKQp8IHJldHVybiAwOwp8ICAgOwp8ICAgcmV0 dXJuIDA7CnwgfQpjb25maWd1cmU6MzIwOTY6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAt TzIgLWdkd2FyZi0yIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzog SW4gZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjI0NDoxOTogZXJyb3I6ICdzdHJ1Y3Qgc3Rh dCcgaGFzIG5vIG1lbWJlciBuYW1lZCAnc3RfYmlydGh0aW1lbnNlYycKICAyNDQgfCBpZiAoc2l6 ZW9mIGFjX2FnZ3Iuc3RfYmlydGh0aW1lbnNlYykKICAgICAgfCAgICAgICAgICAgICAgICAgICBe CmNvbmZpZ3VyZTozMjA5NjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8 IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNk ZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi MjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAj ZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmlu ZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2Rl ZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNU RENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1Nf SCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAj ZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZp bmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09Q RU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2Rl ZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NU RENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182 MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VY VF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2Rl ZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhf U1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVY X0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0Cnwg I2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIKfCAj ZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5l IEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmlu ZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf Q0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1J VFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEK fCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0gg MQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9JTUFHRV9BUEkg MQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEK fCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxF RCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZp bmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9G SUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmlu ZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNkZWZpbmUgSEFWRV9YUE0g MQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENNUzIgMQp8ICNkZWZpbmUg SEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmluZSBNT0RVTEVTX1NV RkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAjZGVmaW5lIEhBVkVfTElC R0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwgI2RlZmluZSBOQVRJVkVf RUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9U SUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2Rl ZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5l IEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNU IDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUg MQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8 ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAx CnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwg I2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5l IEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZp bmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1FX05QIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDAKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX0ZS QU1FX0FERFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNk ZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9TQlJLIDEKfCAjZGVmaW5lIEhBVkVf Q0FOT05JQ0FMSVpFX0ZJTEVfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVm aW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0VYUExJQ0lUX0JaRVJPIDEKfCAj ZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EQVQgMQp8ICNkZWZp bmUgSEFWRV9MQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZT VEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRB WSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNkZWZp bmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2RlZmluZSBIQVZF X0lTV0NUWVBFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lN TElOSyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwgI2RlZmluZSB2Zm9yayBmb3JrCnwg I2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAx CnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX19OTF9QQVBFUl9XSURUSCAxCnwgI2RlZmluZSBIQVZF X01CU1RBVEVfVCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJ Q0UgIk5VTDoiCnwgI2RlZmluZSBTRVBDSEFSICc7Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEK fCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZ X1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAoKF9jXykgPT0gJzonKQp8ICNk ZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSAnLycgfHwgKF9jXykgPT0gJ1xc JykKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSB8fCBJ U19ERVZJQ0VfU0VQKF9jXykpCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9k c3AiCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9TVEFDS19PVkVS RkxPV19IQU5ETElORyAxCnwgI2RlZmluZSBET1NfTlQgLyoqLwp8ICNkZWZpbmUgV0lORE9XU05U IDEKfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHly aWdodCAoQykgMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBU RVJNX0hFQURFUiAidzMydGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAieDg2 XzY0LXc2NC1taW5ndzMyIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4 PS9ob21lL1ZXaW5Vc2VyMC9Eb3dubG9hZHMvZW1hY3MvbmF0aXZlLWNvbXAvYnVpbHQgLS13aXRo LW5hdGl2ZWNvbXAiCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BVFRSSUJVVEVfQUxJR05FRCAxCnwg I2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX1NUQVRFTUVOVF9FWFBSRVNTSU9O UyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBET1VCTEVfU0xBU0hfSVNfRElT VElOQ1RfUk9PVCAxCnwgI2RlZmluZSBGVU5DX1JFQUxQQVRIX1dPUktTIDEKfCAjZGVmaW5lIHJl c3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5l IExTVEFUX0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJN T0RFIDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lH TkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTU1FTSAwCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBUSU1FX1RfSVNfU0lHTkVEIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVm aW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgTUFM TE9DXzBfSVNfTk9OTlVMTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX1NUUk5MRU4gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmlu ZSBfVVNFX1NURF9TVEFUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9DTEVBUkVSUl9VTkxPQ0tFRCAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfRkVPRl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf RkVSUk9SX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRkxVU0hfVU5MT0NLRUQgMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX0ZHRVRTX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9G UFVUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlBVVFNfVU5MT0NLRUQgMAp8ICNk ZWZpbmUgSEFWRV9ERUNMX0ZSRUFEX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GV1JJ VEVfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVENfVU5MT0NLRUQgMAp8ICNkZWZp bmUgSEFWRV9ERUNMX0dFVENIQVJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1BVVENf VU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1BVVENIQVJfVU5MT0NLRUQgMAp8ICNkZWZp bmUgR0VUR1JPVVBTX1QgaW50CnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURFRBQkxFU0laRSAwCnwg I2RlZmluZSBQUk9NT1RFRF9NT0RFX1QgaW50CnwgI2RlZmluZSBIQVZFX1NZU19BQ0xfSCAxCnwg I2RlZmluZSBIQVZFX0FDTF9HRVRfRklMRSAxCnwgI2RlZmluZSBIQVZFX0FDTF9TRVRfRklMRSAx CnwgI2RlZmluZSBIQVZFX0FDTF9GUkVFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0ZST01fVEVYVCAx CnwgI2RlZmluZSBVU0VfQUNMIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX0VYUEVDVCAxCnwg I2RlZmluZSBHTlVMSUJfQ0FOT05JQ0FMSVpFX0xHUEwgMQp8ICNkZWZpbmUgR05VTElCX0NMT1NF X1NUUkVBTSAxCnwgI2RlZmluZSBET1VCTEVfU0xBU0hfSVNfRElTVElOQ1RfUk9PVCAxCnwgI2Rl ZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GRE9QRU5ESVIgMAp8 ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1C RVIgLyoqLwp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfQkNS WVBUX0ggMQp8ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHZvaWQKfCAjZGVmaW5lIF9H TF9SRVBMQUNFX0lFRUU3NTRfSCAxCnwgI2RlZmluZSBIQVZFX19fSU5MSU5FIDEKfCAjZGVmaW5l IEhBVkVfR01QX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1QQ1BZIDEKfCAjZGVmaW5lIEdOVUxJQl9N S09TVEVNUCAxCnwgI2RlZmluZSBORUVEX01LVElNRV9XSU5ET1dTIDEKfCAjZGVmaW5lIG15X3N0 cmZ0aW1lIG5zdHJmdGltZQp8ICNkZWZpbmUgX1JFR0VYX0lOQ0xVREVfTElNSVRTX0ggMQp8ICNk ZWZpbmUgX1JFR0VYX0xBUkdFX09GRlNFVFMgMQp8ICNkZWZpbmUgcmVfc3ludGF4X29wdGlvbnMg cnBsX3JlX3N5bnRheF9vcHRpb25zCnwgI2RlZmluZSByZV9zZXRfc3ludGF4IHJwbF9yZV9zZXRf c3ludGF4CnwgI2RlZmluZSByZV9jb21waWxlX3BhdHRlcm4gcnBsX3JlX2NvbXBpbGVfcGF0dGVy bgp8ICNkZWZpbmUgcmVfY29tcGlsZV9mYXN0bWFwIHJwbF9yZV9jb21waWxlX2Zhc3RtYXAKfCAj ZGVmaW5lIHJlX3NlYXJjaCBycGxfcmVfc2VhcmNoCnwgI2RlZmluZSByZV9zZWFyY2hfMiBycGxf cmVfc2VhcmNoXzIKfCAjZGVmaW5lIHJlX21hdGNoIHJwbF9yZV9tYXRjaAp8ICNkZWZpbmUgcmVf bWF0Y2hfMiBycGxfcmVfbWF0Y2hfMgp8ICNkZWZpbmUgcmVfc2V0X3JlZ2lzdGVycyBycGxfcmVf c2V0X3JlZ2lzdGVycwp8ICNkZWZpbmUgcmVfY29tcCBycGxfcmVfY29tcAp8ICNkZWZpbmUgcmVf ZXhlYyBycGxfcmVfZXhlYwp8ICNkZWZpbmUgcmVnY29tcCBycGxfcmVnY29tcAp8ICNkZWZpbmUg cmVnZXhlYyBycGxfcmVnZXhlYwp8ICNkZWZpbmUgcmVnZXJyb3IgcnBsX3JlZ2Vycm9yCnwgI2Rl ZmluZSByZWdmcmVlIHJwbF9yZWdmcmVlCnwgI2RlZmluZSBIQVZFX0xJQklOVExfSCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfSVNCTEFOSyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNs dWRlIDxzeXMvdHlwZXMuaD4KfCAgICAgICAgICNpbmNsdWRlIDxzeXMvc3RhdC5oPgp8IAp8IGlu dAp8IG1haW4gKCkKfCB7Cnwgc3RhdGljIHN0cnVjdCBzdGF0IGFjX2FnZ3I7CnwgaWYgKHNpemVv ZiBhY19hZ2dyLnN0X2JpcnRodGltZW5zZWMpCnwgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4g MDsKfCB9CmNvbmZpZ3VyZTozMjA5NjogcmVzdWx0OiBubwpjb25maWd1cmU6MzIxMDc6IGNoZWNr aW5nIGZvciBzdHJ1Y3Qgc3RhdC5zdF9iaXJ0aHRpbS50dl9uc2VjCmNvbmZpZ3VyZTozMjEwNzog Z2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5lPWdlbmVyaWMg ICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0 LmM6MjQ0OjEyOiBlcnJvcjogJ3N0cnVjdCBzdGF0JyBoYXMgbm8gbWVtYmVyIG5hbWVkICdzdF9i aXJ0aHRpbScKICAyNDQgfCBpZiAoYWNfYWdnci5zdF9iaXJ0aHRpbS50dl9uc2VjKQogICAgICB8 ICAgICAgICAgICAgXgpjb25maWd1cmU6MzIxMDc6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdO VSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNz IDI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUu b3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUv ZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAx CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUg SEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVO U0lPTlNfXyAxCnwgI2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09V UkNFIDEKfCAjZGVmaW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEK fCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1B TlRJQ1MgMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8 ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NU RENfV0FOVF9JRUNfNjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182 MDU1OV9GVU5DU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNf RVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NU RENfV0FOVF9NQVRIX1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwg I2RlZmluZSBfSFBVWF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZT RVRfQklUUyA2NAp8ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndp bmRvd3MtbnQiCnwgI2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VO RCAxCnwgI2RlZmluZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNF X0ggMQp8ICNkZWZpbmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAx CnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVm aW5lIEhBVkVfTElNSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFW RV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9OQVRJ VkVfSU1BR0VfQVBJIDEKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9H RVRQQUdFU0laRSAxCnwgI2RlZmluZSBVU0VfTU1BUF9GT1JfQlVGRkVSUyAxCnwgI2RlZmluZSBU SFJFQURTX0VOQUJMRUQgMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfR05V VExTIDEKfCAjZGVmaW5lIEhBVkVfSlNPTiAxCnwgI2RlZmluZSBIQVZFX1czMk5PVElGWSAxCnwg I2RlZmluZSBVU0VfRklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JB UlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0hBUkZCVVpaIDEKfCAjZGVm aW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0xDTVMy IDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX01PRFVMRVMgMQp8ICNkZWZp bmUgTU9EVUxFU19TVUZGSVggIi5kbGwiCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVCAxCnwgI2Rl ZmluZSBIQVZFX0xJQkdDQ0pJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0NPTVAgMQp8ICNk ZWZpbmUgTkFUSVZFX0VMSVNQX1NVRkZJWCAiLmVsbiIKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAj ZGVmaW5lIEhBVkVfVElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX0xJ QlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRP TSAxCnwgI2RlZmluZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9UUlVOQyAxCnwgI2RlZmlu ZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhB VkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVf U0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9QVEhS RUFEX1NJR01BU0sgMQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9T RVRJVElNRVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJP TSAxCnwgI2RlZmluZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVS Uk9SIDEKfCAjZGVmaW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFN RV9OUCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxJR05FRF9BTExPQyAwCnwgI2RlZmluZSBIQVZF X19fQlVJTFRJTl9GUkFNRV9BRERSRVNTIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lO RF9JTklUIDEKfCAjZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfU0JSSyAxCnwg I2RlZmluZSBIQVZFX0NBTk9OSUNBTElaRV9GSUxFX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9SRUFE TElOSyAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9FWFBMSUNJ VF9CWkVSTyAxCnwgI2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZDSE1P REFUIDEKfCAjZGVmaW5lIEhBVkVfTENITU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNk ZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFW RV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BJ UEUyIDEKfCAjZGVmaW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0lTQkxBTksgMQp8 ICNkZWZpbmUgSEFWRV9JU1dDVFlQRSAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2Rl ZmluZSBIQVZFX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUg dmZvcmsgZm9yawp8ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJ TkZPX0NPREVTRVQgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19fTkxfUEFQRVJfV0lEVEggMQp8 ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVm aW5lIE5VTExfREVWSUNFICJOVUw6Igp8ICNkZWZpbmUgU0VQQ0hBUiAnOycKfCAjZGVmaW5lIHN1 YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVm aW5lIERJUkVDVE9SWV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgKChfY18p ID09ICc6JykKfCAjZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gJy8nIHx8 IChfY18pID09ICdcXCcpCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9T RVAgKF9jXykgfHwgSVNfREVWSUNFX1NFUChfY18pKQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9E RVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhB VkVfU1RBQ0tfT1ZFUkZMT1dfSEFORExJTkcgMQp8ICNkZWZpbmUgRE9TX05UIC8qKi8KfCAjZGVm aW5lIFdJTkRPV1NOVCAxCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgQ09Q WVJJR0hUICJDb3B5cmlnaHQgKEMpIDIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu Igp8ICNkZWZpbmUgVEVSTV9IRUFERVIgInczMnRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJ R1VSQVRJT04gIng4Nl82NC13NjQtbWluZ3czMiIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJ T05TICItLXByZWZpeD0vaG9tZS9WV2luVXNlcjAvRG93bmxvYWRzL2VtYWNzL25hdGl2ZS1jb21w L2J1aWx0IC0td2l0aC1uYXRpdmVjb21wIgp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQVRUUklCVVRF X0FMSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9TVEFURU1F TlRfRVhQUkVTU0lPTlMgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgRE9VQkxF X1NMQVNIX0lTX0RJU1RJTkNUX1JPT1QgMQp8ICNkZWZpbmUgRlVOQ19SRUFMUEFUSF9XT1JLUyAx CnwgI2RlZmluZSByZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0VOVklST05fREVD TCAxCnwgI2RlZmluZSBMU1RBVF9GT0xMT1dTX1NMQVNIRURfU1lNTElOSyAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZp bmUgSEFWRV9VTlNJR05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1N RU0gMAp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgVElNRV9UX0lTX1NJ R05FRCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1Ra TkFNRSAxCnwgI2RlZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIE1BTExPQ18wX0lTX05PTk5VTEwgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9TVFJOTEVOIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lN QVggMQp8ICNkZWZpbmUgX1VTRV9TVERfU1RBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQ0xFQVJF UlJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZFT0ZfVU5MT0NLRUQgMAp8ICNkZWZp bmUgSEFWRV9ERUNMX0ZFUlJPUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkZMVVNI X1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GR0VUU19VTkxPQ0tFRCAwCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfRlBVVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZQVVRTX1VO TE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUkVBRF9VTkxPQ0tFRCAwCnwgI2RlZmluZSBI QVZFX0RFQ0xfRldSSVRFX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRDX1VOTE9D S0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRDSEFSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhB VkVfREVDTF9QVVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9QVVRDSEFSX1VOTE9D S0VEIDAKfCAjZGVmaW5lIEdFVEdST1VQU19UIGludAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVERU QUJMRVNJWkUgMAp8ICNkZWZpbmUgUFJPTU9URURfTU9ERV9UIGludAp8ICNkZWZpbmUgSEFWRV9T WVNfQUNMX0ggMQp8ICNkZWZpbmUgSEFWRV9BQ0xfR0VUX0ZJTEUgMQp8ICNkZWZpbmUgSEFWRV9B Q0xfU0VUX0ZJTEUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfRlJFRSAxCnwgI2RlZmluZSBIQVZFX0FD TF9GUk9NX1RFWFQgMQp8ICNkZWZpbmUgVVNFX0FDTCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJ Tl9FWFBFQ1QgMQp8ICNkZWZpbmUgR05VTElCX0NBTk9OSUNBTElaRV9MR1BMIDEKfCAjZGVmaW5l IEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8ICNkZWZpbmUgRE9VQkxFX1NMQVNIX0lTX0RJU1RJTkNU X1JPT1QgMQp8ICNkZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xf RkRPUEVORElSIDAKfCAjZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgRkxFWElC TEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2Rl ZmluZSBIQVZFX0JDUllQVF9IIDEKfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2b2lk CnwgI2RlZmluZSBfR0xfUkVQTEFDRV9JRUVFNzU0X0ggMQp8ICNkZWZpbmUgSEFWRV9fX0lOTElO RSAxCnwgI2RlZmluZSBIQVZFX0dNUF9IIDEKfCAjZGVmaW5lIEhBVkVfTUVNUENQWSAxCnwgI2Rl ZmluZSBHTlVMSUJfTUtPU1RFTVAgMQp8ICNkZWZpbmUgTkVFRF9NS1RJTUVfV0lORE9XUyAxCnwg I2RlZmluZSBteV9zdHJmdGltZSBuc3RyZnRpbWUKfCAjZGVmaW5lIF9SRUdFWF9JTkNMVURFX0xJ TUlUU19IIDEKfCAjZGVmaW5lIF9SRUdFWF9MQVJHRV9PRkZTRVRTIDEKfCAjZGVmaW5lIHJlX3N5 bnRheF9vcHRpb25zIHJwbF9yZV9zeW50YXhfb3B0aW9ucwp8ICNkZWZpbmUgcmVfc2V0X3N5bnRh eCBycGxfcmVfc2V0X3N5bnRheAp8ICNkZWZpbmUgcmVfY29tcGlsZV9wYXR0ZXJuIHJwbF9yZV9j b21waWxlX3BhdHRlcm4KfCAjZGVmaW5lIHJlX2NvbXBpbGVfZmFzdG1hcCBycGxfcmVfY29tcGls ZV9mYXN0bWFwCnwgI2RlZmluZSByZV9zZWFyY2ggcnBsX3JlX3NlYXJjaAp8ICNkZWZpbmUgcmVf c2VhcmNoXzIgcnBsX3JlX3NlYXJjaF8yCnwgI2RlZmluZSByZV9tYXRjaCBycGxfcmVfbWF0Y2gK fCAjZGVmaW5lIHJlX21hdGNoXzIgcnBsX3JlX21hdGNoXzIKfCAjZGVmaW5lIHJlX3NldF9yZWdp c3RlcnMgcnBsX3JlX3NldF9yZWdpc3RlcnMKfCAjZGVmaW5lIHJlX2NvbXAgcnBsX3JlX2NvbXAK fCAjZGVmaW5lIHJlX2V4ZWMgcnBsX3JlX2V4ZWMKfCAjZGVmaW5lIHJlZ2NvbXAgcnBsX3JlZ2Nv bXAKfCAjZGVmaW5lIHJlZ2V4ZWMgcnBsX3JlZ2V4ZWMKfCAjZGVmaW5lIHJlZ2Vycm9yIHJwbF9y ZWdlcnJvcgp8ICNkZWZpbmUgcmVnZnJlZSBycGxfcmVnZnJlZQp8ICNkZWZpbmUgSEFWRV9MSUJJ TlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0lTQkxBTksgMQp8IC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgICAgICAgICAgICNpbmNsdWRlIDxzeXMv c3RhdC5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7Cnwgc3RhdGljIHN0cnVjdCBzdGF0IGFjX2Fn Z3I7CnwgaWYgKGFjX2FnZ3Iuc3RfYmlydGh0aW0udHZfbnNlYykKfCByZXR1cm4gMDsKfCAgIDsK fCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjMyMTA3OiBnY2MgLUkgLi4vc3JjL250L2luYyAt YyAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0 ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoyNDQ6MTk6IGVycm9yOiAnc3Ry dWN0IHN0YXQnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3N0X2JpcnRodGltJwogIDI0NCB8IGlmIChz aXplb2YgYWNfYWdnci5zdF9iaXJ0aHRpbS50dl9uc2VjKQogICAgICB8ICAgICAgICAgICAgICAg ICAgIF4KY29uZmlndXJlOjMyMTA3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3 YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3Mi CnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJT SU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUw Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIK fCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZp bmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFW RV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS SU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO VF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18g MQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwg I2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmlu ZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEK fCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5l IF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRf SUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVO Q1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEK fCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRf TUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUg X0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMg NjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50 Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNk ZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAj ZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZF X0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElO VF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU X0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dB SVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdF X0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJ WkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFEU19F TkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwg I2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZpbmUg VVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAj ZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmluZSBIQVZF X1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwgI2Rl ZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1PRFVM RVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUgSEFW RV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVmaW5lIE5B VElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBI QVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEK fCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNk ZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFWRV9T RUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExP Q0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1J VCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdN QVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVS IDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNk ZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwg I2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURfQUxMT0MgMAp8ICNkZWZpbmUgSEFWRV9fX0JVSUxU SU5fRlJBTUVfQUREUkVTUyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAx CnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX1NCUksgMQp8ICNkZWZpbmUg SEFWRV9DQU5PTklDQUxJWkVfRklMRV9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8 ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRVhQTElDSVRfQlpFUk8g MQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0RBVCAxCnwg I2RlZmluZSBIQVZFX0xDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhB VkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElN RU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwg I2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5l IEhBVkVfSVNXQ1RZUEUgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFW RV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIHZmb3JrIGZv cmsKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RF U0VUIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fX05MX1BBUEVSX1dJRFRIIDEKfCAjZGVmaW5l IEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxM X0RFVklDRSAiTlVMOiIKfCAjZGVmaW5lIFNFUENIQVIgJzsnCnwgI2RlZmluZSBzdWJwcm9jZXNz ZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJF Q1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pICgoX2NfKSA9PSAnOicp CnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09ICcvJyB8fCAoX2NfKSA9 PSAnXFwnKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18p IHx8IElTX0RFVklDRV9TRVAoX2NfKSkKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIv ZGV2L2RzcCIKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX1NUQUNL X09WRVJGTE9XX0hBTkRMSU5HIDEKfCAjZGVmaW5lIERPU19OVCAvKiovCnwgI2RlZmluZSBXSU5E T1dTTlQgMQp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAi Q29weXJpZ2h0IChDKSAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVm aW5lIFRFUk1fSEVBREVSICJ3MzJ0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9O ICJ4ODZfNjQtdzY0LW1pbmd3MzIiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1w cmVmaXg9L2hvbWUvVldpblVzZXIwL0Rvd25sb2Fkcy9lbWFjcy9uYXRpdmUtY29tcC9idWlsdCAt LXdpdGgtbmF0aXZlY29tcCIKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FUVFJJQlVURV9BTElHTkVE IDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEVNRU5UX0VYUFJF U1NJT05TIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9J U19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEZVTkNfUkVBTFBBVEhfV09SS1MgMQp8ICNkZWZp bmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNk ZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X1NUUk1PREUgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVf VU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNTUVNIDAKfCAj ZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIFRJTUVfVF9JU19TSUdORUQgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu ZSBNQUxMT0NfMF9JU19OT05OVUxMIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfU1RSTkxFTiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAj ZGVmaW5lIF9VU0VfU1REX1NUQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0NMRUFSRVJSX1VOTE9D S0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRU9GX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVf REVDTF9GRVJST1JfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZGTFVTSF9VTkxPQ0tF RCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkdFVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9E RUNMX0ZQVVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUU19VTkxPQ0tFRCAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfRlJFQURfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNM X0ZXUklURV9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VUQ19VTkxPQ0tFRCAwCnwg I2RlZmluZSBIQVZFX0RFQ0xfR0VUQ0hBUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf UFVUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVUQ0hBUl9VTkxPQ0tFRCAwCnwg I2RlZmluZSBHRVRHUk9VUFNfVCBpbnQKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVREVEFCTEVTSVpF IDAKfCAjZGVmaW5lIFBST01PVEVEX01PREVfVCBpbnQKfCAjZGVmaW5lIEhBVkVfU1lTX0FDTF9I IDEKfCAjZGVmaW5lIEhBVkVfQUNMX0dFVF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX1NFVF9G SUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0ZSRUUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfRlJPTV9U RVhUIDEKfCAjZGVmaW5lIFVTRV9BQ0wgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRVhQRUNU IDEKfCAjZGVmaW5lIEdOVUxJQl9DQU5PTklDQUxJWkVfTEdQTCAxCnwgI2RlZmluZSBHTlVMSUJf Q0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09UIDEK fCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJ UiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZ X01FTUJFUiAvKiovCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFW RV9CQ1JZUFRfSCAxCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZp bmUgX0dMX1JFUExBQ0VfSUVFRTc1NF9IIDEKfCAjZGVmaW5lIEhBVkVfX19JTkxJTkUgMQp8ICNk ZWZpbmUgSEFWRV9HTVBfSCAxCnwgI2RlZmluZSBIQVZFX01FTVBDUFkgMQp8ICNkZWZpbmUgR05V TElCX01LT1NURU1QIDEKfCAjZGVmaW5lIE5FRURfTUtUSU1FX1dJTkRPV1MgMQp8ICNkZWZpbmUg bXlfc3RyZnRpbWUgbnN0cmZ0aW1lCnwgI2RlZmluZSBfUkVHRVhfSU5DTFVERV9MSU1JVFNfSCAx CnwgI2RlZmluZSBfUkVHRVhfTEFSR0VfT0ZGU0VUUyAxCnwgI2RlZmluZSByZV9zeW50YXhfb3B0 aW9ucyBycGxfcmVfc3ludGF4X29wdGlvbnMKfCAjZGVmaW5lIHJlX3NldF9zeW50YXggcnBsX3Jl X3NldF9zeW50YXgKfCAjZGVmaW5lIHJlX2NvbXBpbGVfcGF0dGVybiBycGxfcmVfY29tcGlsZV9w YXR0ZXJuCnwgI2RlZmluZSByZV9jb21waWxlX2Zhc3RtYXAgcnBsX3JlX2NvbXBpbGVfZmFzdG1h cAp8ICNkZWZpbmUgcmVfc2VhcmNoIHJwbF9yZV9zZWFyY2gKfCAjZGVmaW5lIHJlX3NlYXJjaF8y IHJwbF9yZV9zZWFyY2hfMgp8ICNkZWZpbmUgcmVfbWF0Y2ggcnBsX3JlX21hdGNoCnwgI2RlZmlu ZSByZV9tYXRjaF8yIHJwbF9yZV9tYXRjaF8yCnwgI2RlZmluZSByZV9zZXRfcmVnaXN0ZXJzIHJw bF9yZV9zZXRfcmVnaXN0ZXJzCnwgI2RlZmluZSByZV9jb21wIHJwbF9yZV9jb21wCnwgI2RlZmlu ZSByZV9leGVjIHJwbF9yZV9leGVjCnwgI2RlZmluZSByZWdjb21wIHJwbF9yZWdjb21wCnwgI2Rl ZmluZSByZWdleGVjIHJwbF9yZWdleGVjCnwgI2RlZmluZSByZWdlcnJvciBycGxfcmVnZXJyb3IK fCAjZGVmaW5lIHJlZ2ZyZWUgcnBsX3JlZ2ZyZWUKfCAjZGVmaW5lIEhBVkVfTElCSU5UTF9IIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9JU0JMQU5LIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwg I2luY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICAgICAgICAgICAjaW5jbHVkZSA8c3lzL3N0YXQuaD4K fCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHN0YXRpYyBzdHJ1Y3Qgc3RhdCBhY19hZ2dyOwp8IGlm IChzaXplb2YgYWNfYWdnci5zdF9iaXJ0aHRpbS50dl9uc2VjKQp8IHJldHVybiAwOwp8ICAgOwp8 ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MzIxMDc6IHJlc3VsdDogbm8KY29uZmlndXJlOjMy MTI1OiBjaGVja2luZyBmb3Igd29ya2luZyBzdGRhbGlnbi5oCmNvbmZpZ3VyZTozMjE3MDogZ2Nj IC1JIC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5lPWdlbmVyaWMgICBj b25mdGVzdC5jID4mNQpjb25maWd1cmU6MzIxNzA6ICQ/ID0gMApjb25maWd1cmU6MzIxNzc6IHJl c3VsdDogeWVzCmNvbmZpZ3VyZTozMjE5NTogY2hlY2tpbmcgZm9yIGdvb2QgbWF4X2FsaWduX3QK Y29uZmlndXJlOjMyMjE3OiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYt MiAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTozMjIxNzogJD8gPSAw CmNvbmZpZ3VyZTozMjIyNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMyMjM3OiBjaGVja2luZyB3 aGV0aGVyIE5VTEwgY2FuIGJlIHVzZWQgaW4gYXJiaXRyYXJ5IGV4cHJlc3Npb25zCmNvbmZpZ3Vy ZTozMjI1NTogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5l PWdlbmVyaWMgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MzIyNTU6ICQ/ID0gMApjb25maWd1 cmU6MzIyNjI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMjQyNDogY2hlY2tpbmcgd2hpY2ggZmxh dm9yIG9mIHByaW50ZiBhdHRyaWJ1dGUgbWF0Y2hlcyBpbnR0eXBlcyBtYWNyb3MKY29uZmlndXJl OjMyNDUxOiBnY2MgLUkgLi4vc3JjL250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9 Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6MjQ2OjIwOiBlcnJvcjogc2l6ZSBv ZiBhcnJheSAnUFJJZE1BWF9wcm9iZScgaXMgbmVnYXRpdmUKICAyNDYgfCAgICAgICAgZXh0ZXJu IGNoYXIgUFJJZE1BWF9wcm9iZVtzaXplb2YgUFJJZE1BWCA9PSBzaXplb2YgIkk2NGQiID8gMSA6 IC0xXTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fgpjb25maWd1cmU6 MzI0NTE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVm cy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAjZGVmaW5lIFBBQ0tB R0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCnwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwgI2RlZmluZSBQQUNL QUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9V UkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNkZWZpbmUgTUFJTF9V U0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMg MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAj ZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZp bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwgI2RlZmluZSBfQUxM X1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVmaW5lIF9HTlVfU09V UkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9PUEVOQlNEX1NPVVJD RSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVD XzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfREZQX0VY VF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19FWFRfXyAxCnwgI2Rl ZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNkZWZpbmUgX19TVERD X1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRIX1NQRUNfRlVOQ1Nf XyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBVWF9BTFRfWE9QRU5f U09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8ICNkZWZpbmUgR0ND X0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwgI2RlZmluZSBIQVZF X01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmluZSBIQVZFX01BTExP Q19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZpbmUgSEFWRV9QV0Rf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUEFSQU1fSCAx CnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElNSVRTX0ggMQp8ICNk ZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBU SU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9IIDEKfCAjZGVmaW5l IEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0VfQVBJIDEKfCAjZGVmaW5l IFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBV U0VfTU1BUF9GT1JfQlVGRkVSUyAxCnwgI2RlZmluZSBUSFJFQURTX0VOQUJMRUQgMQp8ICNkZWZp bmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVmaW5lIEhBVkVfSlNP TiAxCnwgI2RlZmluZSBIQVZFX1czMk5PVElGWSAxCnwgI2RlZmluZSBVU0VfRklMRV9OT1RJRlkg MQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZpbmUgVVNFX1hJTSAx CnwgI2RlZmluZSBIQVZFX0hBUkZCVVpaIDEKfCAjZGVmaW5lIEhBVkVfWFBNIDEKfCAjZGVmaW5l IEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0xDTVMyIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAx CnwgI2RlZmluZSBIQVZFX01PRFVMRVMgMQp8ICNkZWZpbmUgTU9EVUxFU19TVUZGSVggIi5kbGwi CnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVCAxCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVF9IIDEK fCAjZGVmaW5lIEhBVkVfTkFUSVZFX0NPTVAgMQp8ICNkZWZpbmUgTkFUSVZFX0VMSVNQX1NVRkZJ WCAiLmVsbiIKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVfVElGRiAxCnwgI2Rl ZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNkZWZpbmUgSEFWRV9H RVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmluZSBIQVZFX1JJTlQg MQp8ICNkZWZpbmUgSEFWRV9UUlVOQyAxCnwgI2RlZmluZSBIQVZFX1NFTEVDVCAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxFIDEKfCAjZGVmaW5l IEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhB VkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sgMQp8ICNkZWZpbmUg SEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8ICNkZWZpbmUgSEFW RV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmluZSBIQVZFX0dFVFNP Q0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVmaW5lIEhBVkVfTE9H MiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfQUxJR05FRF9BTExPQyAwCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9GUkFNRV9BRERSRVNT IDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAjZGVmaW5lIEhBVkVf RlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfU0JSSyAxCnwgI2RlZmluZSBIQVZFX0NBTk9OSUNBTEla RV9GSUxFX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2RlZmluZSBIQVZFX1JF QURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9FWFBMSUNJVF9CWkVSTyAxCnwgI2RlZmluZSBIQVZF X0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PREFUIDEKfCAjZGVmaW5lIEhBVkVfTENI TU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKfCAj ZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQp8ICNkZWZp bmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BJUEUyIDEKfCAjZGVmaW5lIEhBVkVfUFNF TEVDVCAxCnwgI2RlZmluZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZpbmUgSEFWRV9JU1dDVFlQRSAx CnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZTUxJTksgMQp8ICNk ZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUgdmZvcmsgZm9yawp8ICNkZWZpbmUgSEFW RV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQgMQp8ICNkZWZpbmUg SEFWRV9MQU5HSU5GT19fTkxfUEFQRVJfV0lEVEggMQp8ICNkZWZpbmUgSEFWRV9NQlNUQVRFX1Qg MQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVWSUNFICJOVUw6Igp8 ICNkZWZpbmUgU0VQQ0hBUiAnOycKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAxCnwgI2RlZmluZSBV U0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCnwg I2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgKChfY18pID09ICc6JykKfCAjZGVmaW5lIElTX0RJ UkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gJy8nIHx8IChfY18pID09ICdcXCcpCnwgI2RlZmlu ZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykgfHwgSVNfREVWSUNFX1NF UChfY18pKQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYvZHNwIgp8ICNkZWZp bmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfU1RBQ0tfT1ZFUkZMT1dfSEFORExJ TkcgMQp8ICNkZWZpbmUgRE9TX05UIC8qKi8KfCAjZGVmaW5lIFdJTkRPV1NOVCAxCnwgI2RlZmlu ZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5cmlnaHQgKEMpIDIw MjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUgVEVSTV9IRUFERVIg InczMnRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gIng4Nl82NC13NjQtbWlu Z3czMiIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZpeD0vaG9tZS9WV2lu VXNlcjAvRG93bmxvYWRzL2VtYWNzL25hdGl2ZS1jb21wL2J1aWx0IC0td2l0aC1uYXRpdmVjb21w Igp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQVRUUklCVVRFX0FMSUdORUQgMQp8ICNkZWZpbmUgSEFW RV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9TVEFURU1FTlRfRVhQUkVTU0lPTlMgMQp8ICNkZWZp bmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgRE9VQkxFX1NMQVNIX0lTX0RJU1RJTkNUX1JPT1Qg MQp8ICNkZWZpbmUgRlVOQ19SRUFMUEFUSF9XT1JLUyAxCnwgI2RlZmluZSByZXN0cmljdCBfX3Jl c3RyaWN0CnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmluZSBMU1RBVF9GT0xM T1dTX1NMQVNIRURfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTU9ERSAwCnwgI2Rl ZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9VTlNJR05FRF9MT05HX0xP TkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1NRU0gMAp8ICNkZWZpbmUgSEFWRV9ERUNM X01FTVJDSFIgMAp8ICNkZWZpbmUgVElNRV9UX0lTX1NJR05FRCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1Ra TkFNRSAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIE1BTExPQ18wX0lTX05P Tk5VTEwgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJO TEVOIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZpbmUgX1VTRV9TVERf U1RBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQ0xFQVJFUlJfVU5MT0NLRUQgMAp8ICNkZWZpbmUg SEFWRV9ERUNMX0ZFT0ZfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZFUlJPUl9VTkxP Q0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkZMVVNIX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhB VkVfREVDTF9GR0VUU19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlBVVENfVU5MT0NL RUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZQVVRTX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVf REVDTF9GUkVBRF9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRldSSVRFX1VOTE9DS0VE IDAKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9HRVRDSEFSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9QVVRDX1VOTE9DS0VEIDAK fCAjZGVmaW5lIEhBVkVfREVDTF9QVVRDSEFSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEdFVEdST1VQ U19UIGludAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVERUQUJMRVNJWkUgMAp8ICNkZWZpbmUgUFJP TU9URURfTU9ERV9UIGludAp8ICNkZWZpbmUgSEFWRV9TWVNfQUNMX0ggMQp8ICNkZWZpbmUgSEFW RV9BQ0xfR0VUX0ZJTEUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfU0VUX0ZJTEUgMQp8ICNkZWZpbmUg SEFWRV9BQ0xfRlJFRSAxCnwgI2RlZmluZSBIQVZFX0FDTF9GUk9NX1RFWFQgMQp8ICNkZWZpbmUg VVNFX0FDTCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9FWFBFQ1QgMQp8ICNkZWZpbmUgR05V TElCX0NBTk9OSUNBTElaRV9MR1BMIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9TRV9TVFJFQU0gMQp8 ICNkZWZpbmUgRE9VQkxFX1NMQVNIX0lTX0RJU1RJTkNUX1JPT1QgMQp8ICNkZWZpbmUgR05VTElC X0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDAKfCAjZGVmaW5lIEdO VUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVNQkVSIC8qKi8KfCAj ZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0JDUllQVF9IIDEKfCAj ZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBfR0xfUkVQTEFDRV9J RUVFNzU0X0ggMQp8ICNkZWZpbmUgSEFWRV9fX0lOTElORSAxCnwgI2RlZmluZSBIQVZFX0dNUF9I IDEKfCAjZGVmaW5lIEhBVkVfTUVNUENQWSAxCnwgI2RlZmluZSBHTlVMSUJfTUtPU1RFTVAgMQp8 ICNkZWZpbmUgTkVFRF9NS1RJTUVfV0lORE9XUyAxCnwgI2RlZmluZSBteV9zdHJmdGltZSBuc3Ry ZnRpbWUKfCAjZGVmaW5lIF9SRUdFWF9JTkNMVURFX0xJTUlUU19IIDEKfCAjZGVmaW5lIF9SRUdF WF9MQVJHRV9PRkZTRVRTIDEKfCAjZGVmaW5lIHJlX3N5bnRheF9vcHRpb25zIHJwbF9yZV9zeW50 YXhfb3B0aW9ucwp8ICNkZWZpbmUgcmVfc2V0X3N5bnRheCBycGxfcmVfc2V0X3N5bnRheAp8ICNk ZWZpbmUgcmVfY29tcGlsZV9wYXR0ZXJuIHJwbF9yZV9jb21waWxlX3BhdHRlcm4KfCAjZGVmaW5l IHJlX2NvbXBpbGVfZmFzdG1hcCBycGxfcmVfY29tcGlsZV9mYXN0bWFwCnwgI2RlZmluZSByZV9z ZWFyY2ggcnBsX3JlX3NlYXJjaAp8ICNkZWZpbmUgcmVfc2VhcmNoXzIgcnBsX3JlX3NlYXJjaF8y CnwgI2RlZmluZSByZV9tYXRjaCBycGxfcmVfbWF0Y2gKfCAjZGVmaW5lIHJlX21hdGNoXzIgcnBs X3JlX21hdGNoXzIKfCAjZGVmaW5lIHJlX3NldF9yZWdpc3RlcnMgcnBsX3JlX3NldF9yZWdpc3Rl cnMKfCAjZGVmaW5lIHJlX2NvbXAgcnBsX3JlX2NvbXAKfCAjZGVmaW5lIHJlX2V4ZWMgcnBsX3Jl X2V4ZWMKfCAjZGVmaW5lIHJlZ2NvbXAgcnBsX3JlZ2NvbXAKfCAjZGVmaW5lIHJlZ2V4ZWMgcnBs X3JlZ2V4ZWMKfCAjZGVmaW5lIHJlZ2Vycm9yIHJwbF9yZWdlcnJvcgp8ICNkZWZpbmUgcmVnZnJl ZSBycGxfcmVnZnJlZQp8ICNkZWZpbmUgSEFWRV9MSUJJTlRMX0ggMQp8ICNkZWZpbmUgSEFWRV9E RUNMX0lTQkxBTksgMQp8ICNkZWZpbmUgX19VU0VfTUlOR1dfQU5TSV9TVERJTyAxCnwgLyogZW5k IGNvbmZkZWZzLmguICAqLwp8IAp8ICAgICAgICAjZGVmaW5lIF9fU1REQ19GT1JNQVRfTUFDUk9T IDEKfCAgICAgICAgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgICAgICAgICNpbmNsdWRlIDxpbnR0eXBl cy5oPgp8ICAgICAgICAvKiBGb3Igbm9uLW1pbmd3IHN5c3RlbXMsIGNvbXBpbGF0aW9uIHdpbGwg dHJpdmlhbGx5IHN1Y2NlZWQuCnwgICAgICAgICAgIEZvciBtaW5ndywgY29tcGlsYXRpb24gd2ls bCBzdWNjZWVkIGZvciBvbGRlciBtaW5ndyAoc3lzdGVtCnwgICAgICAgICAgIHByaW50ZiwgIkk2 NGQiKSBhbmQgZmFpbCBmb3IgbmV3ZXIgbWluZ3cgKGdudSBwcmludGYsICJsbGQiKS4gKi8KfCAg ICAgICAgI2lmIChkZWZpbmVkIF9XSU4zMiAmJiAhIGRlZmluZWQgX19DWUdXSU5fXykgJiYgICAg ICAgICAgKF9fR05VQ19fID4gNCB8fCAoX19HTlVDX18gPT0gNCAmJiBfX0dOVUNfTUlOT1JfXyA+ PSA0KSkKfCAgICAgICAgZXh0ZXJuIGNoYXIgUFJJZE1BWF9wcm9iZVtzaXplb2YgUFJJZE1BWCA9 PSBzaXplb2YgIkk2NGQiID8gMSA6IC0xXTsKfCAgICAgICAgI2VuZGlmCnwgCnwgaW50CnwgbWFp biAoKQp8IHsKfCAKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjMyNDU4OiByZXN1 bHQ6IGdudQpjb25maWd1cmU6MzI1OTI6IGNoZWNraW5nIGZvciBzdHBjcHkKY29uZmlndXJlOjMy NTkyOiBnY2MgLUkgLi4vc3JjL250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJm LTIgLW10dW5lPWdlbmVyaWMgICAgY29uZnRlc3QuYyAgID4mNSAKY29uZnRlc3QuYzoyNjQ6Njog d2FybmluZzogY29uZmxpY3RpbmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0aW9uICdzdHBjcHkn OyBleHBlY3RlZCAnY2hhciAqKGNoYXIgKiwgY29uc3QgY2hhciAqKScgWy1XYnVpbHRpbi1kZWNs YXJhdGlvbi1taXNtYXRjaF0KICAyNjQgfCBjaGFyIHN0cGNweSAoKTsKICAgICAgfCAgICAgIF5+ fn5+fgpDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIv MTAuMi4wLy4uLy4uLy4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBDOlxtc3lz NjRcdG1wXGNjS0hVa3VtLm86IGluIGZ1bmN0aW9uIGBtYWluJzoKQzpcbXN5czY0XGhvbWVcVldp blVzZXIwXERvd25sb2Fkc1xlbWFjc1xuYXRpdmUtY29tcFxidWlsZC9jb25mdGVzdC5jOjI3NTog dW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgc3RwY3B5Jwpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCBy ZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZTozMjU5MjogJD8gPSAxCmNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0Vf TkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVm aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJH TlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVt YWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9z b2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9Q RFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBF U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwg I2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l IF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJX SU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9T T1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhS RUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19F WFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVm aW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dB TlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1 OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVm aW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09V UkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9G SUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1f VFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBI QVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf UkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NP Q0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0gg MQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNk ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2Rl ZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBI QVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmlu ZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAj ZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUg SEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9U SUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9T Q1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlog MQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhB VkVfTENNUzIgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAx CnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklU IDEKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09N UCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9Q TkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5l IEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhB VkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEK fCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNk ZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZp bmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBI QVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmlu ZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZF X1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9H QUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVB RF9TRVROQU1FX05QIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDAKfCAjZGVm aW5lIEhBVkVfX19CVUlMVElOX0ZSQU1FX0FERFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxU SU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9T QlJLIDEKfCAjZGVmaW5lIEhBVkVfQ0FOT05JQ0FMSVpFX0ZJTEVfTkFNRSAxCnwgI2RlZmluZSBI QVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZF X0VYUExJQ0lUX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhB VkVfRkNITU9EQVQgMQp8ICNkZWZpbmUgSEFWRV9MQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ05U TCAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2Rl ZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5l IEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfSVNC TEFOSyAxCnwgI2RlZmluZSBIQVZFX0lTV0NUWVBFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFY IDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwg I2RlZmluZSB2Zm9yayBmb3JrCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhB VkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX19OTF9QQVBFUl9X SURUSCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMg MQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIk5VTDoiCnwgI2RlZmluZSBTRVBDSEFSICc7Jwp8ICNk ZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNv cwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2Nf KSAoKF9jXykgPT0gJzonKQp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9 PSAnLycgfHwgKF9jXykgPT0gJ1xcJykKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElS RUNUT1JZX1NFUCAoX2NfKSB8fCBJU19ERVZJQ0VfU0VQKF9jXykpCnwgI2RlZmluZSBERUZBVUxU X1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNk ZWZpbmUgSEFWRV9TVEFDS19PVkVSRkxPV19IQU5ETElORyAxCnwgI2RlZmluZSBET1NfTlQgLyoq Lwp8ICNkZWZpbmUgV0lORE9XU05UIDEKfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2Rl ZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAidzMydGVybS5oIgp8ICNkZWZpbmUgRU1B Q1NfQ09ORklHVVJBVElPTiAieDg2XzY0LXc2NC1taW5ndzMyIgp8ICNkZWZpbmUgRU1BQ1NfQ09O RklHX09QVElPTlMgIi0tcHJlZml4PS9ob21lL1ZXaW5Vc2VyMC9Eb3dubG9hZHMvZW1hY3MvbmF0 aXZlLWNvbXAvYnVpbHQgLS13aXRoLW5hdGl2ZWNvbXAiCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9B VFRSSUJVVEVfQUxJR05FRCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZF X1NUQVRFTUVOVF9FWFBSRVNTSU9OUyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmlu ZSBET1VCTEVfU0xBU0hfSVNfRElTVElOQ1RfUk9PVCAxCnwgI2RlZmluZSBGVU5DX1JFQUxQQVRI X1dPUktTIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfRU5W SVJPTl9ERUNMIDEKfCAjZGVmaW5lIExTVEFUX0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5LIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAx CnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9E RUNMX01FTU1FTSAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBUSU1F X1RfSVNfU0lHTkVEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgTUFMTE9DXzBfSVNfTk9OTlVMTCAxCnwgI2RlZmluZSBIQVZFX1dD SEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk5MRU4gMQp8ICNkZWZpbmUgSEFWRV9ERUNM X1NUUlRPSU1BWCAxCnwgI2RlZmluZSBfVVNFX1NURF9TVEFUIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9DTEVBUkVSUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkVPRl9VTkxPQ0tFRCAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfRkVSUk9SX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9GRkxVU0hfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZHRVRTX1VOTE9DS0VEIDAK fCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf RlBVVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZSRUFEX1VOTE9DS0VEIDAKfCAj ZGVmaW5lIEhBVkVfREVDTF9GV1JJVEVfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dF VENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVENIQVJfVU5MT0NLRUQgMAp8ICNk ZWZpbmUgSEFWRV9ERUNMX1BVVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1BVVENI QVJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgaW50CnwgI2RlZmluZSBIQVZFX0RF Q0xfR0VURFRBQkxFU0laRSAwCnwgI2RlZmluZSBQUk9NT1RFRF9NT0RFX1QgaW50CnwgI2RlZmlu ZSBIQVZFX1NZU19BQ0xfSCAxCnwgI2RlZmluZSBIQVZFX0FDTF9HRVRfRklMRSAxCnwgI2RlZmlu ZSBIQVZFX0FDTF9TRVRfRklMRSAxCnwgI2RlZmluZSBIQVZFX0FDTF9GUkVFIDEKfCAjZGVmaW5l IEhBVkVfQUNMX0ZST01fVEVYVCAxCnwgI2RlZmluZSBVU0VfQUNMIDEKfCAjZGVmaW5lIEhBVkVf X19CVUlMVElOX0VYUEVDVCAxCnwgI2RlZmluZSBHTlVMSUJfQ0FOT05JQ0FMSVpFX0xHUEwgMQp8 ICNkZWZpbmUgR05VTElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBET1VCTEVfU0xBU0hfSVNf RElTVElOQ1RfUk9PVCAxCnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9GRE9QRU5ESVIgMAp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmlu ZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJw bF8KfCAjZGVmaW5lIEhBVkVfQkNSWVBUX0ggMQp8ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVa T05FIHZvaWQKfCAjZGVmaW5lIF9HTF9SRVBMQUNFX0lFRUU3NTRfSCAxCnwgI2RlZmluZSBIQVZF X19fSU5MSU5FIDEKfCAjZGVmaW5lIEhBVkVfR01QX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1QQ1BZ IDEKfCAjZGVmaW5lIEdOVUxJQl9NS09TVEVNUCAxCnwgI2RlZmluZSBORUVEX01LVElNRV9XSU5E T1dTIDEKfCAjZGVmaW5lIG15X3N0cmZ0aW1lIG5zdHJmdGltZQp8ICNkZWZpbmUgX1JFR0VYX0lO Q0xVREVfTElNSVRTX0ggMQp8ICNkZWZpbmUgX1JFR0VYX0xBUkdFX09GRlNFVFMgMQp8ICNkZWZp bmUgcmVfc3ludGF4X29wdGlvbnMgcnBsX3JlX3N5bnRheF9vcHRpb25zCnwgI2RlZmluZSByZV9z ZXRfc3ludGF4IHJwbF9yZV9zZXRfc3ludGF4CnwgI2RlZmluZSByZV9jb21waWxlX3BhdHRlcm4g cnBsX3JlX2NvbXBpbGVfcGF0dGVybgp8ICNkZWZpbmUgcmVfY29tcGlsZV9mYXN0bWFwIHJwbF9y ZV9jb21waWxlX2Zhc3RtYXAKfCAjZGVmaW5lIHJlX3NlYXJjaCBycGxfcmVfc2VhcmNoCnwgI2Rl ZmluZSByZV9zZWFyY2hfMiBycGxfcmVfc2VhcmNoXzIKfCAjZGVmaW5lIHJlX21hdGNoIHJwbF9y ZV9tYXRjaAp8ICNkZWZpbmUgcmVfbWF0Y2hfMiBycGxfcmVfbWF0Y2hfMgp8ICNkZWZpbmUgcmVf c2V0X3JlZ2lzdGVycyBycGxfcmVfc2V0X3JlZ2lzdGVycwp8ICNkZWZpbmUgcmVfY29tcCBycGxf cmVfY29tcAp8ICNkZWZpbmUgcmVfZXhlYyBycGxfcmVfZXhlYwp8ICNkZWZpbmUgcmVnY29tcCBy cGxfcmVnY29tcAp8ICNkZWZpbmUgcmVnZXhlYyBycGxfcmVnZXhlYwp8ICNkZWZpbmUgcmVnZXJy b3IgcnBsX3JlZ2Vycm9yCnwgI2RlZmluZSByZWdmcmVlIHJwbF9yZWdmcmVlCnwgI2RlZmluZSBI QVZFX0xJQklOVExfSCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfSVNCTEFOSyAxCnwgI2RlZmluZSBf X1VTRV9NSU5HV19BTlNJX1NURElPIDEKfCAjZGVmaW5lIEdOVUxJQl9QUklOVEZfQVRUUklCVVRF X0ZMQVZPUl9HTlUgMQp8ICNkZWZpbmUgR05VTElCX0ZTQ0FORiAxCnwgI2RlZmluZSBHTlVMSUJf U0NBTkYgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgc3RwY3B5IHRvIGFu IGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgc3RwY3B5Lgp8 ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2Zk YXkuICAqLwp8ICNkZWZpbmUgc3RwY3B5IGlubm9jdW91c19zdHBjcHkKfCAKfCAvKiBTeXN0ZW0g aGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlw ZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgc3RwY3B5ICgpOyBiZWxvdy4K fCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZp bmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBj b21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+ CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBzdHBj cHkKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBh biBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJu IHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5 cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAi QyIKfCAjZW5kaWYKfCBjaGFyIHN0cGNweSAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZp bmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5 cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwg ICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4g YWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9zdHBjcHkgfHwgZGVmaW5lZCBfX3N0dWJf X19zdHBjcHkKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0 dXJuIHN0cGNweSAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjMyNTkyOiBy ZXN1bHQ6IG5vCmNvbmZpZ3VyZTozMjY0NDogY2hlY2tpbmcgZm9yIHdvcmtpbmcgc3Rybmxlbgpj b25maWd1cmU6MzI2ODI6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMg LU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgICBjb25mdGVzdC5jICAgPiY1IApjb25maWd1 cmU6MzI2ODI6ICQ/ID0gMApjb25maWd1cmU6MzI2ODI6IC4vY29uZnRlc3QuZXhlCmNvbmZpZ3Vy ZTozMjY4MjogJD8gPSAwCmNvbmZpZ3VyZTozMjY5MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMy NzM3OiBjaGVja2luZyB3aGV0aGVyIHN0cnRvaW1heCB3b3Jrcwpjb25maWd1cmU6MzI3OTM6IGdj YyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1 bmU9Z2VuZXJpYyAgICBjb25mdGVzdC5jICAgPiY1IApjb25maWd1cmU6MzI3OTM6ICQ/ID0gMApj b25maWd1cmU6MzI3OTM6IC4vY29uZnRlc3QuZXhlCmNvbmZpZ3VyZTozMjc5MzogJD8gPSAwCmNv bmZpZ3VyZTozMjgwNDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMyODU4OiBjaGVja2luZyB3aGV0 aGVyIHN5bWxpbmsgaGFuZGxlcyB0cmFpbGluZyBzbGFzaCBjb3JyZWN0bHkKY29uZmlndXJlOjMy OTA1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzMxMzE6IGNoZWNraW5nIGZvciBubGlua190CmNv bmZpZ3VyZTozMzEzMTogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLWMgLWczIC1PMiAtZ2R3YXJmLTIg LW10dW5lPWdlbmVyaWMgICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAn bWFpbic6CmNvbmZ0ZXN0LmM6MjQ3OjEzOiBlcnJvcjogJ25saW5rX3QnIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIDI0NyB8IGlmIChzaXplb2YgKG5saW5rX3QpKQog ICAgICB8ICAgICAgICAgICAgIF5+fn5+fn4KY29uZnRlc3QuYzoyNDc6MTM6IG5vdGU6IGVhY2gg dW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5j dGlvbiBpdCBhcHBlYXJzIGluCmNvbmZpZ3VyZTozMzEzMTogJD8gPSAxCmNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN RSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5l IFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUg RW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNz QGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0 d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVN UEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK fCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9f RVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5f Q19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VS Q0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFE X1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRf XyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5l IF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRf SUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9U WVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5l IF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNF IDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxF X09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQ RSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZF X1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVT T1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tF VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8 ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8 ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZp bmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmlu ZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZF X05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBI QVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVm aW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFW RV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZ IDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JP TExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8 ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVf TENNUzIgMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwg I2RlZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEK fCAjZGVmaW5lIEhBVkVfTElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAx CnwgI2RlZmluZSBOQVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcg MQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhB VkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVf UkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEKfCAj ZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZp bmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUg SEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZF X1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBI QVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JF Q1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlf U1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9T RVROQU1FX05QIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDAKfCAjZGVmaW5l IEhBVkVfX19CVUlMVElOX0ZSQU1FX0FERFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5f VU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9TQlJL IDEKfCAjZGVmaW5lIEhBVkVfQ0FOT05JQ0FMSVpFX0ZJTEVfTkFNRSAxCnwgI2RlZmluZSBIQVZF X1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0VY UExJQ0lUX0JaRVJPIDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVf RkNITU9EQVQgMQp8ICNkZWZpbmUgSEFWRV9MQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAx CnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmlu ZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhB VkVfUElQRTIgMQp8ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFO SyAxCnwgI2RlZmluZSBIQVZFX0lTV0NUWVBFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEK fCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwgI2Rl ZmluZSB2Zm9yayBmb3JrCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVf TEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX19OTF9QQVBFUl9XSURU SCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8 ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIk5VTDoiCnwgI2RlZmluZSBTRVBDSEFSICc7Jwp8ICNkZWZp bmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8 ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAo KF9jXykgPT0gJzonKQp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSAn LycgfHwgKF9jXykgPT0gJ1xcJykKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNU T1JZX1NFUCAoX2NfKSB8fCBJU19ERVZJQ0VfU0VQKF9jXykpCnwgI2RlZmluZSBERUZBVUxUX1NP VU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZp bmUgSEFWRV9TVEFDS19PVkVSRkxPV19IQU5ETElORyAxCnwgI2RlZmluZSBET1NfTlQgLyoqLwp8 ICNkZWZpbmUgV0lORE9XU05UIDEKfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmlu ZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykgMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURFUiAidzMydGVybS5oIgp8ICNkZWZpbmUgRU1BQ1Nf Q09ORklHVVJBVElPTiAieDg2XzY0LXc2NC1taW5ndzMyIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklH X09QVElPTlMgIi0tcHJlZml4PS9ob21lL1ZXaW5Vc2VyMC9Eb3dubG9hZHMvZW1hY3MvbmF0aXZl LWNvbXAvYnVpbHQgLS13aXRoLW5hdGl2ZWNvbXAiCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BVFRS SUJVVEVfQUxJR05FRCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX1NU QVRFTUVOVF9FWFBSRVNTSU9OUyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBE T1VCTEVfU0xBU0hfSVNfRElTVElOQ1RfUk9PVCAxCnwgI2RlZmluZSBGVU5DX1JFQUxQQVRIX1dP UktTIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfRU5WSVJP Tl9ERUNMIDEKfCAjZGVmaW5lIExTVEFUX0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5LIDEKfCAjZGVm aW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwg I2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X01FTU1FTSAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBUSU1FX1Rf SVNfU0lHTkVEIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgTUFMTE9DXzBfSVNfTk9OTlVMTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFS X1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk5MRU4gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NU UlRPSU1BWCAxCnwgI2RlZmluZSBfVVNFX1NURF9TVEFUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9D TEVBUkVSUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkVPRl9VTkxPQ0tFRCAwCnwg I2RlZmluZSBIQVZFX0RFQ0xfRkVSUk9SX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9G RkxVU0hfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZHRVRTX1VOTE9DS0VEIDAKfCAj ZGVmaW5lIEhBVkVfREVDTF9GUFVUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlBV VFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZSRUFEX1VOTE9DS0VEIDAKfCAjZGVm aW5lIEhBVkVfREVDTF9GV1JJVEVfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVENf VU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVENIQVJfVU5MT0NLRUQgMAp8ICNkZWZp bmUgSEFWRV9ERUNMX1BVVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1BVVENIQVJf VU5MT0NLRUQgMAp8ICNkZWZpbmUgR0VUR1JPVVBTX1QgaW50CnwgI2RlZmluZSBIQVZFX0RFQ0xf R0VURFRBQkxFU0laRSAwCnwgI2RlZmluZSBQUk9NT1RFRF9NT0RFX1QgaW50CnwgI2RlZmluZSBI QVZFX1NZU19BQ0xfSCAxCnwgI2RlZmluZSBIQVZFX0FDTF9HRVRfRklMRSAxCnwgI2RlZmluZSBI QVZFX0FDTF9TRVRfRklMRSAxCnwgI2RlZmluZSBIQVZFX0FDTF9GUkVFIDEKfCAjZGVmaW5lIEhB VkVfQUNMX0ZST01fVEVYVCAxCnwgI2RlZmluZSBVU0VfQUNMIDEKfCAjZGVmaW5lIEhBVkVfX19C VUlMVElOX0VYUEVDVCAxCnwgI2RlZmluZSBHTlVMSUJfQ0FOT05JQ0FMSVpFX0xHUEwgMQp8ICNk ZWZpbmUgR05VTElCX0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBET1VCTEVfU0xBU0hfSVNfRElT VElOQ1RfUk9PVCAxCnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9GRE9QRU5ESVIgMAp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBG TEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8K fCAjZGVmaW5lIEhBVkVfQkNSWVBUX0ggMQp8ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05F IHZvaWQKfCAjZGVmaW5lIF9HTF9SRVBMQUNFX0lFRUU3NTRfSCAxCnwgI2RlZmluZSBIQVZFX19f SU5MSU5FIDEKfCAjZGVmaW5lIEhBVkVfR01QX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1QQ1BZIDEK fCAjZGVmaW5lIEdOVUxJQl9NS09TVEVNUCAxCnwgI2RlZmluZSBORUVEX01LVElNRV9XSU5ET1dT IDEKfCAjZGVmaW5lIG15X3N0cmZ0aW1lIG5zdHJmdGltZQp8ICNkZWZpbmUgX1JFR0VYX0lOQ0xV REVfTElNSVRTX0ggMQp8ICNkZWZpbmUgX1JFR0VYX0xBUkdFX09GRlNFVFMgMQp8ICNkZWZpbmUg cmVfc3ludGF4X29wdGlvbnMgcnBsX3JlX3N5bnRheF9vcHRpb25zCnwgI2RlZmluZSByZV9zZXRf c3ludGF4IHJwbF9yZV9zZXRfc3ludGF4CnwgI2RlZmluZSByZV9jb21waWxlX3BhdHRlcm4gcnBs X3JlX2NvbXBpbGVfcGF0dGVybgp8ICNkZWZpbmUgcmVfY29tcGlsZV9mYXN0bWFwIHJwbF9yZV9j b21waWxlX2Zhc3RtYXAKfCAjZGVmaW5lIHJlX3NlYXJjaCBycGxfcmVfc2VhcmNoCnwgI2RlZmlu ZSByZV9zZWFyY2hfMiBycGxfcmVfc2VhcmNoXzIKfCAjZGVmaW5lIHJlX21hdGNoIHJwbF9yZV9t YXRjaAp8ICNkZWZpbmUgcmVfbWF0Y2hfMiBycGxfcmVfbWF0Y2hfMgp8ICNkZWZpbmUgcmVfc2V0 X3JlZ2lzdGVycyBycGxfcmVfc2V0X3JlZ2lzdGVycwp8ICNkZWZpbmUgcmVfY29tcCBycGxfcmVf Y29tcAp8ICNkZWZpbmUgcmVfZXhlYyBycGxfcmVfZXhlYwp8ICNkZWZpbmUgcmVnY29tcCBycGxf cmVnY29tcAp8ICNkZWZpbmUgcmVnZXhlYyBycGxfcmVnZXhlYwp8ICNkZWZpbmUgcmVnZXJyb3Ig cnBsX3JlZ2Vycm9yCnwgI2RlZmluZSByZWdmcmVlIHJwbF9yZWdmcmVlCnwgI2RlZmluZSBIQVZF X0xJQklOVExfSCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfSVNCTEFOSyAxCnwgI2RlZmluZSBfX1VT RV9NSU5HV19BTlNJX1NURElPIDEKfCAjZGVmaW5lIEdOVUxJQl9QUklOVEZfQVRUUklCVVRFX0ZM QVZPUl9HTlUgMQp8ICNkZWZpbmUgR05VTElCX0ZTQ0FORiAxCnwgI2RlZmluZSBHTlVMSUJfU0NB TkYgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Cnwg ICAgICAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IGlmIChz aXplb2YgKG5saW5rX3QpKQp8IAkgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNv bmZpZ3VyZTozMzEzMTogcmVzdWx0OiBubwpjb25maWd1cmU6MzMxNzU6IGNoZWNraW5nIHdoZXRo ZXIgbG9jYWx0aW1lX3IgaXMgZGVjbGFyZWQKY29uZmlndXJlOjMzMTc1OiBnY2MgLUkgLi4vc3Jj L250L2luYyAtYyAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgIGNvbmZ0ZXN0LmMg PiY1CmNvbmZ0ZXN0LmM6IEluIGZ1bmN0aW9uICdtYWluJzoKY29uZnRlc3QuYzoyNTk6MTA6IGVy cm9yOiAnbG9jYWx0aW1lX3InIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9u KTsgZGlkIHlvdSBtZWFuICdsb2NhbHRpbWVfcyc/CiAgMjU5IHwgICAodm9pZCkgbG9jYWx0aW1l X3I7CiAgICAgIHwgICAgICAgICAgXn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICBsb2NhbHRp bWVfcwpjb25mdGVzdC5jOjI1OToxMDogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIg aXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KY29u ZmlndXJlOjMzMTc1OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog Y29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmlu ZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4w LjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZp bmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBB Q0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5l IE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19I RUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf U1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdf SCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEK fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZp bmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBf R05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJT RF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5l IF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19X QU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5 X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18g MQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5l IF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVD X0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxU X1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVm aW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZp bmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFW RV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhB VkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BB UkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVG U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19I IDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAj ZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk ZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwg I2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwg I2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNk ZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEK fCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBI QVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVf Tk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVT RV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwg I2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwgI2RlZmluZSBIQVZF X1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1PRFVMRVNfU1VGRklY ICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NK SVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVmaW5lIE5BVElWRV9FTElT UF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYg MQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5l IEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFW RV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8 ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwg I2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2Rl ZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAj ZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVm aW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFW RV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBI QVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX0FMSUdORURfQUxMT0MgMAp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRlJBTUVf QUREUkVTUyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmlu ZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX1NCUksgMQp8ICNkZWZpbmUgSEFWRV9DQU5P TklDQUxJWkVfRklMRV9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUg SEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRVhQTElDSVRfQlpFUk8gMQp8ICNkZWZp bmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0RBVCAxCnwgI2RlZmluZSBI QVZFX0xDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRB VCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEK fCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBI QVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfSVNX Q1RZUEUgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5L IDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIHZmb3JrIGZvcmsKfCAjZGVm aW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAj ZGVmaW5lIEhBVkVfTEFOR0lORk9fX05MX1BBUEVSX1dJRFRIIDEKfCAjZGVmaW5lIEhBVkVfTUJT VEFURV9UIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAi TlVMOiIKfCAjZGVmaW5lIFNFUENIQVIgJzsnCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNk ZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQ ICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pICgoX2NfKSA9PSAnOicpCnwgI2RlZmlu ZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09ICcvJyB8fCAoX2NfKSA9PSAnXFwnKQp8 ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pIHx8IElTX0RF VklDRV9TRVAoX2NfKSkKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIK fCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX1NUQUNLX09WRVJGTE9X X0hBTkRMSU5HIDEKfCAjZGVmaW5lIERPU19OVCAvKiovCnwgI2RlZmluZSBXSU5ET1dTTlQgMQp8 ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0 IChDKSAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1f SEVBREVSICJ3MzJ0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQt dzY0LW1pbmd3MzIiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9L2hv bWUvVldpblVzZXIwL0Rvd25sb2Fkcy9lbWFjcy9uYXRpdmUtY29tcC9idWlsdCAtLXdpdGgtbmF0 aXZlY29tcCIKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FUVFJJQlVURV9BTElHTkVEIDEKfCAjZGVm aW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEVNRU5UX0VYUFJFU1NJT05TIDEK fCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5D VF9ST09UIDEKfCAjZGVmaW5lIEZVTkNfUkVBTFBBVEhfV09SS1MgMQp8ICNkZWZpbmUgcmVzdHJp Y3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgTFNU QVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUg MAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURf TE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNTUVNIDAKfCAjZGVmaW5lIEhB VkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIFRJTUVfVF9JU19TSUdORUQgMQp8ICNkZWZpbmUg SEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUg SEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBNQUxMT0Nf MF9JU19OT05OVUxMIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RF Q0xfU1RSTkxFTiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIF9V U0VfU1REX1NUQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0NMRUFSRVJSX1VOTE9DS0VEIDAKfCAj ZGVmaW5lIEhBVkVfREVDTF9GRU9GX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRVJS T1JfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZGTFVTSF9VTkxPQ0tFRCAwCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfRkdFVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZQVVRD X1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUU19VTkxPQ0tFRCAwCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfRlJFQURfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZXUklURV9V TkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBI QVZFX0RFQ0xfR0VUQ0hBUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVUQ19VTkxP Q0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVUQ0hBUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBH RVRHUk9VUFNfVCBpbnQKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVREVEFCTEVTSVpFIDAKfCAjZGVm aW5lIFBST01PVEVEX01PREVfVCBpbnQKfCAjZGVmaW5lIEhBVkVfU1lTX0FDTF9IIDEKfCAjZGVm aW5lIEhBVkVfQUNMX0dFVF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX1NFVF9GSUxFIDEKfCAj ZGVmaW5lIEhBVkVfQUNMX0ZSRUUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfRlJPTV9URVhUIDEKfCAj ZGVmaW5lIFVTRV9BQ0wgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRVhQRUNUIDEKfCAjZGVm aW5lIEdOVUxJQl9DQU5PTklDQUxJWkVfTEdQTCAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RS RUFNIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5l IEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAwCnwgI2Rl ZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAv KiovCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9CQ1JZUFRf SCAxCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZpbmUgX0dMX1JF UExBQ0VfSUVFRTc1NF9IIDEKfCAjZGVmaW5lIEhBVkVfX19JTkxJTkUgMQp8ICNkZWZpbmUgSEFW RV9HTVBfSCAxCnwgI2RlZmluZSBIQVZFX01FTVBDUFkgMQp8ICNkZWZpbmUgR05VTElCX01LT1NU RU1QIDEKfCAjZGVmaW5lIE5FRURfTUtUSU1FX1dJTkRPV1MgMQp8ICNkZWZpbmUgbXlfc3RyZnRp bWUgbnN0cmZ0aW1lCnwgI2RlZmluZSBfUkVHRVhfSU5DTFVERV9MSU1JVFNfSCAxCnwgI2RlZmlu ZSBfUkVHRVhfTEFSR0VfT0ZGU0VUUyAxCnwgI2RlZmluZSByZV9zeW50YXhfb3B0aW9ucyBycGxf cmVfc3ludGF4X29wdGlvbnMKfCAjZGVmaW5lIHJlX3NldF9zeW50YXggcnBsX3JlX3NldF9zeW50 YXgKfCAjZGVmaW5lIHJlX2NvbXBpbGVfcGF0dGVybiBycGxfcmVfY29tcGlsZV9wYXR0ZXJuCnwg I2RlZmluZSByZV9jb21waWxlX2Zhc3RtYXAgcnBsX3JlX2NvbXBpbGVfZmFzdG1hcAp8ICNkZWZp bmUgcmVfc2VhcmNoIHJwbF9yZV9zZWFyY2gKfCAjZGVmaW5lIHJlX3NlYXJjaF8yIHJwbF9yZV9z ZWFyY2hfMgp8ICNkZWZpbmUgcmVfbWF0Y2ggcnBsX3JlX21hdGNoCnwgI2RlZmluZSByZV9tYXRj aF8yIHJwbF9yZV9tYXRjaF8yCnwgI2RlZmluZSByZV9zZXRfcmVnaXN0ZXJzIHJwbF9yZV9zZXRf cmVnaXN0ZXJzCnwgI2RlZmluZSByZV9jb21wIHJwbF9yZV9jb21wCnwgI2RlZmluZSByZV9leGVj IHJwbF9yZV9leGVjCnwgI2RlZmluZSByZWdjb21wIHJwbF9yZWdjb21wCnwgI2RlZmluZSByZWdl eGVjIHJwbF9yZWdleGVjCnwgI2RlZmluZSByZWdlcnJvciBycGxfcmVnZXJyb3IKfCAjZGVmaW5l IHJlZ2ZyZWUgcnBsX3JlZ2ZyZWUKfCAjZGVmaW5lIEhBVkVfTElCSU5UTF9IIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9JU0JMQU5LIDEKfCAjZGVmaW5lIF9fVVNFX01JTkdXX0FOU0lfU1RESU8gMQp8 ICNkZWZpbmUgR05VTElCX1BSSU5URl9BVFRSSUJVVEVfRkxBVk9SX0dOVSAxCnwgI2RlZmluZSBH TlVMSUJfRlNDQU5GIDEKfCAjZGVmaW5lIEdOVUxJQl9TQ0FORiAxCnwgI2RlZmluZSBubGlua190 IGludAp8ICNkZWZpbmUgR05VTElCX1RFTVBOQU1FIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICov CnwgLyogbWluZ3cncyA8dGltZS5oPiBwcm92aWRlcyB0aGUgZnVuY3Rpb25zIGFzY3RpbWVfciwg Y3RpbWVfciwKfCAgICAgICAgICBnbXRpbWVfciwgbG9jYWx0aW1lX3Igb25seSBpZiA8dW5pc3Rk Lmg+IG9yIDxwdGhyZWFkLmg+IGhhcwp8ICAgICAgICAgIGJlZW4gaW5jbHVkZWQgYmVmb3JlLiAg Ki8KfCAgICAgICAjaWYgZGVmaW5lZCBfX01JTkdXMzJfXwp8ICAgICAgICMgaW5jbHVkZSA8dW5p c3RkLmg+CnwgICAgICAgI2VuZGlmCnwgICAgICAgI2luY2x1ZGUgPHRpbWUuaD4KfCAKfCAKfCBp bnQKfCBtYWluICgpCnwgewp8ICNpZm5kZWYgbG9jYWx0aW1lX3IKfCAjaWZkZWYgX19jcGx1c3Bs dXMKfCAgICh2b2lkKSBsb2NhbHRpbWVfcjsKfCAjZWxzZQp8ICAgKHZvaWQpIGxvY2FsdGltZV9y Owp8ICNlbmRpZgp8ICNlbmRpZgp8IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6 MzMxNzU6IHJlc3VsdDogbm8KY29uZmlndXJlOjMzMjQ5OiBjaGVja2luZyB3aGV0aGVyIGxvY2Fs dGltZV9yIGV4aXN0cyBhcyBhbiBpbmxpbmUgZnVuY3Rpb24KY29uZmlndXJlOjMzMjc2OiBnY2Mg LUkgLi4vc3JjL250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIgLW10dW5l PWdlbmVyaWMgICAgY29uZnRlc3QuYyAgID4mNSAKY29uZnRlc3QuYzogSW4gZnVuY3Rpb24gJ21h aW4nOgpjb25mdGVzdC5jOjI1NzoxNTogd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2Yg ZnVuY3Rpb24gJ2xvY2FsdGltZV9yJzsgZGlkIHlvdSBtZWFuICdsb2NhbHRpbWVfcyc/IFstV2lt cGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIDI1NyB8ICAgICAgICAgICAgICAgbG9jYWx0 aW1lX3IgKCZhLCAmcik7CiAgICAgIHwgICAgICAgICAgICAgICBefn5+fn5+fn5+fgogICAgICB8 ICAgICAgICAgICAgICAgbG9jYWx0aW1lX3MKQzovbXN5czY0L21pbmd3NjQvYmluLy4uL2xpYi9n Y2MveDg2XzY0LXc2NC1taW5ndzMyLzEwLjIuMC8uLi8uLi8uLi8uLi94ODZfNjQtdzY0LW1pbmd3 MzIvYmluL2xkLmV4ZTogQzpcbXN5czY0XHRtcFxjY3dQMUFUZS5vOiBpbiBmdW5jdGlvbiBgbWFp bic6CkM6XG1zeXM2NFxob21lXFZXaW5Vc2VyMFxEb3dubG9hZHNcZW1hY3NcbmF0aXZlLWNvbXBc YnVpbGQvY29uZnRlc3QuYzoyNTc6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGxvY2FsdGltZV9y Jwpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3Vy ZTozMzI3NjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk ZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNzIgp8ICNkZWZpbmUgUEFD S0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMjguMC41MCIK fCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41MCIKfCAjZGVmaW5lIFBB Q0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdF X1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8iCnwgI2RlZmluZSBNQUlM X1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVmaW5lIFNURENfSEVBREVS UyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8 ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19fIDEKfCAjZGVmaW5lIF9B TExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8ICNkZWZpbmUgX0dOVV9T T1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX09QRU5CU0RfU09V UkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAxCnwgI2RlZmluZSBfX1NU RENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9J RUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9ERlBf RVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKfCAj ZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAxCnwgI2RlZmluZSBfX1NU RENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5D U19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5lIF9IUFVYX0FMVF9YT1BF Tl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRTIDY0CnwgI2RlZmluZSBH Q0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1udCIKfCAjZGVmaW5lIEhB VkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAjZGVmaW5lIEhBVkVfTUFM TE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwgI2RlZmluZSBIQVZFX1BX RF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC X0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19QQVJBTV9I IDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfQ0RFRlNfSCAx CnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCnwg I2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu ZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l IFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQp8ICNkZWZp bmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9JTUFHRV9BUEkgMQp8ICNkZWZp bmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5l IFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCnwgI2Rl ZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8ICNkZWZpbmUgSEFWRV9K U09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9GSUxFX05PVElG WSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwgI2RlZmluZSBVU0VfWElN IDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNkZWZpbmUgSEFWRV9YUE0gMQp8ICNkZWZp bmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENNUzIgMQp8ICNkZWZpbmUgSEFWRV9aTElC IDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmluZSBNT0RVTEVTX1NVRkZJWCAiLmRs bCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUX0gg MQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwgI2RlZmluZSBOQVRJVkVfRUxJU1BfU1VG RklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUgSEFWRV9USUZGIDEKfCAj ZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAxCnwgI2RlZmluZSBIQVZF X0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAjZGVmaW5lIEhBVkVfUklO VCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEKfCAjZGVmaW5lIEhBVkVfU0VMRUNUIDEKfCAjZGVm aW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRMT0NBTEUgMQp8ICNkZWZp bmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElNSVQgMQp8ICNkZWZpbmUg SEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lHTUFTSyAxCnwgI2RlZmlu ZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1FUiAxCnwgI2RlZmluZSBI QVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAjZGVmaW5lIEhBVkVfR0VU U09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8ICNkZWZpbmUgSEFWRV9M T0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1FX05QIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9BTElHTkVEX0FMTE9DIDAKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX0ZSQU1FX0FERFJF U1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQgMQp8ICNkZWZpbmUgSEFW RV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9TQlJLIDEKfCAjZGVmaW5lIEhBVkVfQ0FOT05JQ0FM SVpFX0ZJTEVfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKfCAjZGVmaW5lIEhBVkVf UkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0VYUExJQ0lUX0JaRVJPIDEKfCAjZGVmaW5lIEhB VkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EQVQgMQp8ICNkZWZpbmUgSEFWRV9M Q0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQp8 ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCnwgI2Rl ZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIgMQp8ICNkZWZpbmUgSEFWRV9Q U0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2RlZmluZSBIQVZFX0lTV0NUWVBF IDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhBVkVfU1lNTElOSyAxCnwg I2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwgI2RlZmluZSB2Zm9yayBmb3JrCnwgI2RlZmluZSBI QVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09ERVNFVCAxCnwgI2RlZmlu ZSBIQVZFX0xBTkdJTkZPX19OTF9QQVBFUl9XSURUSCAxCnwgI2RlZmluZSBIQVZFX01CU1RBVEVf VCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVMTF9ERVZJQ0UgIk5VTDoi CnwgI2RlZmluZSBTRVBDSEFSICc7Jwp8ICNkZWZpbmUgc3VicHJvY2Vzc2VzIDEKfCAjZGVmaW5l IFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElSRUNUT1JZX1NFUCAnLycK fCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAoKF9jXykgPT0gJzonKQp8ICNkZWZpbmUgSVNf RElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSAnLycgfHwgKF9jXykgPT0gJ1xcJykKfCAjZGVm aW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2NfKSB8fCBJU19ERVZJQ0Vf U0VQKF9jXykpCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAiL2Rldi9kc3AiCnwgI2Rl ZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9TVEFDS19PVkVSRkxPV19IQU5E TElORyAxCnwgI2RlZmluZSBET1NfTlQgLyoqLwp8ICNkZWZpbmUgV0lORE9XU05UIDEKfCAjZGVm aW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBDT1BZUklHSFQgIkNvcHlyaWdodCAoQykg MjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2RlZmluZSBURVJNX0hFQURF UiAidzMydGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElPTiAieDg2XzY0LXc2NC1t aW5ndzMyIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0tcHJlZml4PS9ob21lL1ZX aW5Vc2VyMC9Eb3dubG9hZHMvZW1hY3MvbmF0aXZlLWNvbXAvYnVpbHQgLS13aXRoLW5hdGl2ZWNv bXAiCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BVFRSSUJVVEVfQUxJR05FRCAxCnwgI2RlZmluZSBI QVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX1NUQVRFTUVOVF9FWFBSRVNTSU9OUyAxCnwgI2Rl ZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBET1VCTEVfU0xBU0hfSVNfRElTVElOQ1RfUk9P VCAxCnwgI2RlZmluZSBGVU5DX1JFQUxQQVRIX1dPUktTIDEKfCAjZGVmaW5lIHJlc3RyaWN0IF9f cmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAjZGVmaW5lIExTVEFUX0ZP TExPV1NfU0xBU0hFRF9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RFIDAKfCAj ZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX1VOU0lHTkVEX0xPTkdf TE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTU1FTSAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfTUVNUkNIUiAwCnwgI2RlZmluZSBUSU1FX1RfSVNfU0lHTkVEIDEKfCAjZGVmaW5lIEhBVkVf REVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVf VFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgTUFMTE9DXzBfSVNf Tk9OTlVMTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NU Uk5MRU4gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBfVVNFX1NU RF9TVEFUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9DTEVBUkVSUl9VTkxPQ0tFRCAwCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfRkVPRl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkVSUk9SX1VO TE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRkxVU0hfVU5MT0NLRUQgMAp8ICNkZWZpbmUg SEFWRV9ERUNMX0ZHRVRTX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUQ19VTkxP Q0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlBVVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFW RV9ERUNMX0ZSRUFEX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GV1JJVEVfVU5MT0NL RUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9E RUNMX0dFVENIQVJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1BVVENfVU5MT0NLRUQg MAp8ICNkZWZpbmUgSEFWRV9ERUNMX1BVVENIQVJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgR0VUR1JP VVBTX1QgaW50CnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURFRBQkxFU0laRSAwCnwgI2RlZmluZSBQ Uk9NT1RFRF9NT0RFX1QgaW50CnwgI2RlZmluZSBIQVZFX1NZU19BQ0xfSCAxCnwgI2RlZmluZSBI QVZFX0FDTF9HRVRfRklMRSAxCnwgI2RlZmluZSBIQVZFX0FDTF9TRVRfRklMRSAxCnwgI2RlZmlu ZSBIQVZFX0FDTF9GUkVFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0ZST01fVEVYVCAxCnwgI2RlZmlu ZSBVU0VfQUNMIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX0VYUEVDVCAxCnwgI2RlZmluZSBH TlVMSUJfQ0FOT05JQ0FMSVpFX0xHUEwgMQp8ICNkZWZpbmUgR05VTElCX0NMT1NFX1NUUkVBTSAx CnwgI2RlZmluZSBET1VCTEVfU0xBU0hfSVNfRElTVElOQ1RfUk9PVCAxCnwgI2RlZmluZSBHTlVM SUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GRE9QRU5ESVIgMAp8ICNkZWZpbmUg R05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJBWV9NRU1CRVIgLyoqLwp8 ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhBVkVfQkNSWVBUX0ggMQp8 ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHZvaWQKfCAjZGVmaW5lIF9HTF9SRVBMQUNF X0lFRUU3NTRfSCAxCnwgI2RlZmluZSBIQVZFX19fSU5MSU5FIDEKfCAjZGVmaW5lIEhBVkVfR01Q X0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1QQ1BZIDEKfCAjZGVmaW5lIEdOVUxJQl9NS09TVEVNUCAx CnwgI2RlZmluZSBORUVEX01LVElNRV9XSU5ET1dTIDEKfCAjZGVmaW5lIG15X3N0cmZ0aW1lIG5z dHJmdGltZQp8ICNkZWZpbmUgX1JFR0VYX0lOQ0xVREVfTElNSVRTX0ggMQp8ICNkZWZpbmUgX1JF R0VYX0xBUkdFX09GRlNFVFMgMQp8ICNkZWZpbmUgcmVfc3ludGF4X29wdGlvbnMgcnBsX3JlX3N5 bnRheF9vcHRpb25zCnwgI2RlZmluZSByZV9zZXRfc3ludGF4IHJwbF9yZV9zZXRfc3ludGF4Cnwg I2RlZmluZSByZV9jb21waWxlX3BhdHRlcm4gcnBsX3JlX2NvbXBpbGVfcGF0dGVybgp8ICNkZWZp bmUgcmVfY29tcGlsZV9mYXN0bWFwIHJwbF9yZV9jb21waWxlX2Zhc3RtYXAKfCAjZGVmaW5lIHJl X3NlYXJjaCBycGxfcmVfc2VhcmNoCnwgI2RlZmluZSByZV9zZWFyY2hfMiBycGxfcmVfc2VhcmNo XzIKfCAjZGVmaW5lIHJlX21hdGNoIHJwbF9yZV9tYXRjaAp8ICNkZWZpbmUgcmVfbWF0Y2hfMiBy cGxfcmVfbWF0Y2hfMgp8ICNkZWZpbmUgcmVfc2V0X3JlZ2lzdGVycyBycGxfcmVfc2V0X3JlZ2lz dGVycwp8ICNkZWZpbmUgcmVfY29tcCBycGxfcmVfY29tcAp8ICNkZWZpbmUgcmVfZXhlYyBycGxf cmVfZXhlYwp8ICNkZWZpbmUgcmVnY29tcCBycGxfcmVnY29tcAp8ICNkZWZpbmUgcmVnZXhlYyBy cGxfcmVnZXhlYwp8ICNkZWZpbmUgcmVnZXJyb3IgcnBsX3JlZ2Vycm9yCnwgI2RlZmluZSByZWdm cmVlIHJwbF9yZWdmcmVlCnwgI2RlZmluZSBIQVZFX0xJQklOVExfSCAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfSVNCTEFOSyAxCnwgI2RlZmluZSBfX1VTRV9NSU5HV19BTlNJX1NURElPIDEKfCAjZGVm aW5lIEdOVUxJQl9QUklOVEZfQVRUUklCVVRFX0ZMQVZPUl9HTlUgMQp8ICNkZWZpbmUgR05VTElC X0ZTQ0FORiAxCnwgI2RlZmluZSBHTlVMSUJfU0NBTkYgMQp8ICNkZWZpbmUgbmxpbmtfdCBpbnQK fCAjZGVmaW5lIEdOVUxJQl9URU1QTkFNRSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTE9DQUxUSU1F X1IgMAp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBtaW5ndydzIDx0aW1lLmg+IHByb3Zp ZGVzIHRoZSBmdW5jdGlvbnMgYXNjdGltZV9yLCBjdGltZV9yLAp8ICAgICAgICAgICAgICAgICAg Z210aW1lX3IsIGxvY2FsdGltZV9yIG9ubHkgaWYgPHVuaXN0ZC5oPiBvciA8cHRocmVhZC5oPiBo YXMKfCAgICAgICAgICAgICAgICAgIGJlZW4gaW5jbHVkZWQgYmVmb3JlLiAgKi8KfCAgICAgICAg ICAgICAgICNpZiBkZWZpbmVkIF9fTUlOR1czMl9fCnwgICAgICAgICAgICAgICAjIGluY2x1ZGUg PHVuaXN0ZC5oPgp8ICAgICAgICAgICAgICAgI2VuZGlmCnwgICAgICAgICAgICAgICAjaW5jbHVk ZSA8dGltZS5oPgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgdGltZV90IGE7CnwgICAgICAgICAg ICAgICBzdHJ1Y3QgdG0gcjsKfCAgICAgICAgICAgICAgIGxvY2FsdGltZV9yICgmYSwgJnIpOwp8 IAp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQp8IApjb25maWd1cmU6MzMyODU6IHJlc3VsdDogbm8K Y29uZmlndXJlOjMzMzI2OiBjaGVja2luZyB3aGV0aGVyIGxvY2FsdGltZSB3b3JrcyBldmVuIG5l YXIgZXh0cmVtYQpjb25maWd1cmU6MzMzNjA6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0 ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgICBjb25mdGVzdC5jICAg PiY1IApjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6CmNvbmZ0ZXN0LmM6MjU4OjEzOiB3 YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnYWxhcm0nIFstV2ltcGxp Y2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIDI1OCB8ICAgICAgICAgICAgIGFsYXJtICgyKTsK ICAgICAgfCAgICAgICAgICAgICBefn5+fgpjb25maWd1cmU6MzMzNjA6ICQ/ID0gMApjb25maWd1 cmU6MzMzNjA6IC4vY29uZnRlc3QuZXhlCmNvbmZpZ3VyZTozMzM2MDogJD8gPSAwCmNvbmZpZ3Vy ZTozMzM2OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMzMzc3OiBjaGVja2luZyBmb3IgdGltZXpv bmVfdApjb25maWd1cmU6MzMzNzc6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdk d2FyZi0yIC1tdHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4gZnVu Y3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjI0OToxMzogZXJyb3I6ICd0aW1lem9uZV90JyB1bmRl Y2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiAndGltZXpv bmUnPwogIDI0OSB8IGlmIChzaXplb2YgKHRpbWV6b25lX3QpKQogICAgICB8ICAgICAgICAgICAg IF5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICB0aW1lem9uZQpjb25mdGVzdC5jOjI0OTox Mzogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNl IGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KY29uZmlndXJlOjMzMzc3OiAkPyA9IDEK Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZp bmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVt YWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FH RV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg ImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3 dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2Rl ZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhB VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01F TU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0gg MQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNk ZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmlu ZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUg X1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1 OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhU X18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dB TlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQy X18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUg X1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8 ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVm aW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEK fCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmlu ZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUg SEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI QVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFW RV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NI QVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19U SU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEK fCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9D IDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JV RkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAx CnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUg SEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVT RV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFW RV9IQVJGQlVaWiAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8 ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFW RV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFW RV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZF X05BVElWRV9DT01QIDEKfCAjZGVmaW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2Rl ZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYg MQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhB VkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdF U0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1J VCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEK fCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFM IDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAj ZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUg SEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURfQUxM T0MgMAp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2RlZmluZSBI QVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2Rl ZmluZSBIQVZFX1NCUksgMQp8ICNkZWZpbmUgSEFWRV9DQU5PTklDQUxJWkVfRklMRV9OQU1FIDEK fCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAj ZGVmaW5lIEhBVkVfRVhQTElDSVRfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8 ICNkZWZpbmUgSEFWRV9GQ0hNT0RBVCAxCnwgI2RlZmluZSBIQVZFX0xDSE1PRCAxCnwgI2RlZmlu ZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZT WU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQg MQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZp bmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfSVNXQ1RZUEUgMQp8ICNkZWZpbmUgSEFW RV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfVVRJ TUVOU0FUIDEKfCAjZGVmaW5lIHZmb3JrIGZvcmsKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8 ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9f X05MX1BBUEVSX1dJRFRIIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIEhB VkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiTlVMOiIKfCAjZGVmaW5lIFNFUENI QVIgJzsnCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUg cHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVW SUNFX1NFUChfY18pICgoX2NfKSA9PSAnOicpCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9j XykgKChfY18pID09ICcvJyB8fCAoX2NfKSA9PSAnXFwnKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChf Y18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pIHx8IElTX0RFVklDRV9TRVAoX2NfKSkKfCAjZGVm aW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIEdDX1NFVEpNUF9X T1JLUyAxCnwgI2RlZmluZSBIQVZFX1NUQUNLX09WRVJGTE9XX0hBTkRMSU5HIDEKfCAjZGVmaW5l IERPU19OVCAvKiovCnwgI2RlZmluZSBXSU5ET1dTTlQgMQp8ICNkZWZpbmUgVVNBQkxFX0ZJT05S RUFEIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDIwIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ3MzJ0ZXJtLmgiCnwg I2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQtdzY0LW1pbmd3MzIiCnwgI2RlZmlu ZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9L2hvbWUvVldpblVzZXIwL0Rvd25sb2Fk cy9lbWFjcy9uYXRpdmUtY29tcC9idWlsdCAtLXdpdGgtbmF0aXZlY29tcCIKfCAjZGVmaW5lIEhB VkVfU1RSVUNUX0FUVFJJQlVURV9BTElHTkVEIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAj ZGVmaW5lIEhBVkVfU1RBVEVNRU5UX0VYUFJFU1NJT05TIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NB IDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEZV TkNfUkVBTFBBVEhfV09SS1MgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZp bmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZ TUxJTksgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgSEFWRV9MT05H X0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfTUVNTUVNIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAj ZGVmaW5lIFRJTUVfVF9JU19TSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZp bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBNQUxMT0NfMF9JU19OT05OVUxMIDEKfCAjZGVm aW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTkxFTiAxCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIF9VU0VfU1REX1NUQVQgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX0NMRUFSRVJSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRU9G X1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRVJST1JfVU5MT0NLRUQgMAp8ICNkZWZp bmUgSEFWRV9ERUNMX0ZGTFVTSF9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkdFVFNf VU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZQVVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5l IEhBVkVfREVDTF9GUFVUU19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlJFQURfVU5M T0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZXUklURV9VTkxPQ0tFRCAwCnwgI2RlZmluZSBI QVZFX0RFQ0xfR0VUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VUQ0hBUl9VTkxP Q0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZF X0RFQ0xfUFVUQ0hBUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBHRVRHUk9VUFNfVCBpbnQKfCAjZGVm aW5lIEhBVkVfREVDTF9HRVREVEFCTEVTSVpFIDAKfCAjZGVmaW5lIFBST01PVEVEX01PREVfVCBp bnQKfCAjZGVmaW5lIEhBVkVfU1lTX0FDTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0dFVF9GSUxF IDEKfCAjZGVmaW5lIEhBVkVfQUNMX1NFVF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0ZSRUUg MQp8ICNkZWZpbmUgSEFWRV9BQ0xfRlJPTV9URVhUIDEKfCAjZGVmaW5lIFVTRV9BQ0wgMQp8ICNk ZWZpbmUgSEFWRV9fX0JVSUxUSU5fRVhQRUNUIDEKfCAjZGVmaW5lIEdOVUxJQl9DQU5PTklDQUxJ WkVfTEdQTCAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIERPVUJM RV9TTEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElS IDEKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBfX0dFVE9Q VF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9CQ1JZUFRfSCAxCnwgI2RlZmluZSBHRVRUSU1F T0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZpbmUgX0dMX1JFUExBQ0VfSUVFRTc1NF9IIDEKfCAj ZGVmaW5lIEhBVkVfX19JTkxJTkUgMQp8ICNkZWZpbmUgSEFWRV9HTVBfSCAxCnwgI2RlZmluZSBI QVZFX01FTVBDUFkgMQp8ICNkZWZpbmUgR05VTElCX01LT1NURU1QIDEKfCAjZGVmaW5lIE5FRURf TUtUSU1FX1dJTkRPV1MgMQp8ICNkZWZpbmUgbXlfc3RyZnRpbWUgbnN0cmZ0aW1lCnwgI2RlZmlu ZSBfUkVHRVhfSU5DTFVERV9MSU1JVFNfSCAxCnwgI2RlZmluZSBfUkVHRVhfTEFSR0VfT0ZGU0VU UyAxCnwgI2RlZmluZSByZV9zeW50YXhfb3B0aW9ucyBycGxfcmVfc3ludGF4X29wdGlvbnMKfCAj ZGVmaW5lIHJlX3NldF9zeW50YXggcnBsX3JlX3NldF9zeW50YXgKfCAjZGVmaW5lIHJlX2NvbXBp bGVfcGF0dGVybiBycGxfcmVfY29tcGlsZV9wYXR0ZXJuCnwgI2RlZmluZSByZV9jb21waWxlX2Zh c3RtYXAgcnBsX3JlX2NvbXBpbGVfZmFzdG1hcAp8ICNkZWZpbmUgcmVfc2VhcmNoIHJwbF9yZV9z ZWFyY2gKfCAjZGVmaW5lIHJlX3NlYXJjaF8yIHJwbF9yZV9zZWFyY2hfMgp8ICNkZWZpbmUgcmVf bWF0Y2ggcnBsX3JlX21hdGNoCnwgI2RlZmluZSByZV9tYXRjaF8yIHJwbF9yZV9tYXRjaF8yCnwg I2RlZmluZSByZV9zZXRfcmVnaXN0ZXJzIHJwbF9yZV9zZXRfcmVnaXN0ZXJzCnwgI2RlZmluZSBy ZV9jb21wIHJwbF9yZV9jb21wCnwgI2RlZmluZSByZV9leGVjIHJwbF9yZV9leGVjCnwgI2RlZmlu ZSByZWdjb21wIHJwbF9yZWdjb21wCnwgI2RlZmluZSByZWdleGVjIHJwbF9yZWdleGVjCnwgI2Rl ZmluZSByZWdlcnJvciBycGxfcmVnZXJyb3IKfCAjZGVmaW5lIHJlZ2ZyZWUgcnBsX3JlZ2ZyZWUK fCAjZGVmaW5lIEhBVkVfTElCSU5UTF9IIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9JU0JMQU5LIDEK fCAjZGVmaW5lIF9fVVNFX01JTkdXX0FOU0lfU1RESU8gMQp8ICNkZWZpbmUgR05VTElCX1BSSU5U Rl9BVFRSSUJVVEVfRkxBVk9SX0dOVSAxCnwgI2RlZmluZSBHTlVMSUJfRlNDQU5GIDEKfCAjZGVm aW5lIEdOVUxJQl9TQ0FORiAxCnwgI2RlZmluZSBubGlua190IGludAp8ICNkZWZpbmUgR05VTElC X1RFTVBOQU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9MT0NBTFRJTUVfUiAwCnwgLyogZW5kIGNv bmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDx0aW1lLmg+CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsK fCBpZiAoc2l6ZW9mICh0aW1lem9uZV90KSkKfCAJIHJldHVybiAwOwp8ICAgOwp8ICAgcmV0dXJu IDA7CnwgfQpjb25maWd1cmU6MzMzNzc6IHJlc3VsdDogbm8KY29uZmlndXJlOjMzNDY0OiBjaGVj a2luZyBmb3IgbGlicmFyeSBjb250YWluaW5nIHRpbWVyX3NldHRpbWUKY29uZmlndXJlOjMzNDk1 OiBnY2MgLUkgLi4vc3JjL250L2luYyAtbyBjb25mdGVzdC5leGUgLWczIC1PMiAtZ2R3YXJmLTIg LW10dW5lPWdlbmVyaWMgICAgY29uZnRlc3QuYyAgID4mNSAKQzovbXN5czY0L21pbmd3NjQvYmlu Ly4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5ndzMyLzEwLjIuMC8uLi8uLi8uLi8uLi94ODZfNjQt dzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogQzpcbXN5czY0XHRtcFxjY1VNaTRUTi5vOiBpbiBmdW5j dGlvbiBgbWFpbic6CkM6XG1zeXM2NFxob21lXFZXaW5Vc2VyMFxEb3dubG9hZHNcZW1hY3NcbmF0 aXZlLWNvbXBcYnVpbGQvY29uZnRlc3QuYzoyNTU6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHRp bWVyX3NldHRpbWUnCmNvbGxlY3QyLmV4ZTogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0 dXMKY29uZmlndXJlOjMzNDk1OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6 CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwg I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O ICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8 ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVm aW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAj ZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUg U1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H U19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8 ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2Rl ZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBf T1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAj ZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9f U1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVD XzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1Nf RVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAj ZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFU SF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQ VVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQK fCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8 ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZp bmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVm aW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUg SEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf U1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZ U19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJ TUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg MQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRf SCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQ SSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUg MQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFEU19FTkFC TEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2Rl ZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZpbmUgVVNF X0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVm aW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmluZSBIQVZFX1hQ TSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwgI2RlZmlu ZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1PRFVMRVNf U1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUgSEFWRV9M SUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVmaW5lIE5BVElW RV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZF X1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAj ZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZp bmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFWRV9TRUxF Q1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FM RSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAx CnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNL IDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEK fCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZp bmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2Rl ZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX0FMSUdORURfQUxMT0MgMAp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5f RlJBTUVfQUREUkVTUyAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwg I2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBIQVZFX1NCUksgMQp8ICNkZWZpbmUgSEFW RV9DQU5PTklDQUxJWkVfRklMRV9OQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNk ZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5lIEhBVkVfRVhQTElDSVRfQlpFUk8gMQp8 ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0RBVCAxCnwgI2Rl ZmluZSBIQVZFX0xDSE1PRCAxCnwgI2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVf RlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9G REFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2Rl ZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhB VkVfSVNXQ1RZUEUgMQp8ICNkZWZpbmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9T WU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIHZmb3JrIGZvcmsK fCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VU IDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fX05MX1BBUEVSX1dJRFRIIDEKfCAjZGVmaW5lIEhB VkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RF VklDRSAiTlVMOiIKfCAjZGVmaW5lIFNFUENIQVIgJzsnCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMg MQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RP UllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NFUChfY18pICgoX2NfKSA9PSAnOicpCnwg I2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChfY18pID09ICcvJyB8fCAoX2NfKSA9PSAn XFwnKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pIHx8 IElTX0RFVklDRV9TRVAoX2NfKSkKfCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2 L2RzcCIKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX1NUQUNLX09W RVJGTE9XX0hBTkRMSU5HIDEKfCAjZGVmaW5lIERPU19OVCAvKiovCnwgI2RlZmluZSBXSU5ET1dT TlQgMQp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29w eXJpZ2h0IChDKSAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5l IFRFUk1fSEVBREVSICJ3MzJ0ZXJtLmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4 ODZfNjQtdzY0LW1pbmd3MzIiCnwgI2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVm aXg9L2hvbWUvVldpblVzZXIwL0Rvd25sb2Fkcy9lbWFjcy9uYXRpdmUtY29tcC9idWlsdCAtLXdp dGgtbmF0aXZlY29tcCIKfCAjZGVmaW5lIEhBVkVfU1RSVUNUX0FUVFJJQlVURV9BTElHTkVEIDEK fCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5lIEhBVkVfU1RBVEVNRU5UX0VYUFJFU1NJ T05TIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19E SVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEZVTkNfUkVBTFBBVEhfV09SS1MgMQp8ICNkZWZpbmUg cmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZp bmUgTFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NU Uk1PREUgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfVU5T SUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNTUVNIDAKfCAjZGVm aW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5lIFRJTUVfVF9JU19TSUdORUQgMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNk ZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBN QUxMT0NfMF9JU19OT05OVUxMIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfU1RSTkxFTiAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVm aW5lIF9VU0VfU1REX1NUQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0NMRUFSRVJSX1VOTE9DS0VE IDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRU9GX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9GRVJST1JfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZGTFVTSF9VTkxPQ0tFRCAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfRkdFVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNM X0ZQVVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GUFVUU19VTkxPQ0tFRCAwCnwg I2RlZmluZSBIQVZFX0RFQ0xfRlJFQURfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZX UklURV9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VUQ19VTkxPQ0tFRCAwCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfR0VUQ0hBUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVU Q19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVUQ0hBUl9VTkxPQ0tFRCAwCnwgI2Rl ZmluZSBHRVRHUk9VUFNfVCBpbnQKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVREVEFCTEVTSVpFIDAK fCAjZGVmaW5lIFBST01PVEVEX01PREVfVCBpbnQKfCAjZGVmaW5lIEhBVkVfU1lTX0FDTF9IIDEK fCAjZGVmaW5lIEhBVkVfQUNMX0dFVF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX1NFVF9GSUxF IDEKfCAjZGVmaW5lIEhBVkVfQUNMX0ZSRUUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfRlJPTV9URVhU IDEKfCAjZGVmaW5lIFVTRV9BQ0wgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRVhQRUNUIDEK fCAjZGVmaW5lIEdOVUxJQl9DQU5PTklDQUxJWkVfTEdQTCAxCnwgI2RlZmluZSBHTlVMSUJfQ0xP U0VfU1RSRUFNIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAj ZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAw CnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01F TUJFUiAvKiovCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9C Q1JZUFRfSCAxCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZpbmUg X0dMX1JFUExBQ0VfSUVFRTc1NF9IIDEKfCAjZGVmaW5lIEhBVkVfX19JTkxJTkUgMQp8ICNkZWZp bmUgSEFWRV9HTVBfSCAxCnwgI2RlZmluZSBIQVZFX01FTVBDUFkgMQp8ICNkZWZpbmUgR05VTElC X01LT1NURU1QIDEKfCAjZGVmaW5lIE5FRURfTUtUSU1FX1dJTkRPV1MgMQp8ICNkZWZpbmUgbXlf c3RyZnRpbWUgbnN0cmZ0aW1lCnwgI2RlZmluZSBfUkVHRVhfSU5DTFVERV9MSU1JVFNfSCAxCnwg I2RlZmluZSBfUkVHRVhfTEFSR0VfT0ZGU0VUUyAxCnwgI2RlZmluZSByZV9zeW50YXhfb3B0aW9u cyBycGxfcmVfc3ludGF4X29wdGlvbnMKfCAjZGVmaW5lIHJlX3NldF9zeW50YXggcnBsX3JlX3Nl dF9zeW50YXgKfCAjZGVmaW5lIHJlX2NvbXBpbGVfcGF0dGVybiBycGxfcmVfY29tcGlsZV9wYXR0 ZXJuCnwgI2RlZmluZSByZV9jb21waWxlX2Zhc3RtYXAgcnBsX3JlX2NvbXBpbGVfZmFzdG1hcAp8 ICNkZWZpbmUgcmVfc2VhcmNoIHJwbF9yZV9zZWFyY2gKfCAjZGVmaW5lIHJlX3NlYXJjaF8yIHJw bF9yZV9zZWFyY2hfMgp8ICNkZWZpbmUgcmVfbWF0Y2ggcnBsX3JlX21hdGNoCnwgI2RlZmluZSBy ZV9tYXRjaF8yIHJwbF9yZV9tYXRjaF8yCnwgI2RlZmluZSByZV9zZXRfcmVnaXN0ZXJzIHJwbF9y ZV9zZXRfcmVnaXN0ZXJzCnwgI2RlZmluZSByZV9jb21wIHJwbF9yZV9jb21wCnwgI2RlZmluZSBy ZV9leGVjIHJwbF9yZV9leGVjCnwgI2RlZmluZSByZWdjb21wIHJwbF9yZWdjb21wCnwgI2RlZmlu ZSByZWdleGVjIHJwbF9yZWdleGVjCnwgI2RlZmluZSByZWdlcnJvciBycGxfcmVnZXJyb3IKfCAj ZGVmaW5lIHJlZ2ZyZWUgcnBsX3JlZ2ZyZWUKfCAjZGVmaW5lIEhBVkVfTElCSU5UTF9IIDEKfCAj ZGVmaW5lIEhBVkVfREVDTF9JU0JMQU5LIDEKfCAjZGVmaW5lIF9fVVNFX01JTkdXX0FOU0lfU1RE SU8gMQp8ICNkZWZpbmUgR05VTElCX1BSSU5URl9BVFRSSUJVVEVfRkxBVk9SX0dOVSAxCnwgI2Rl ZmluZSBHTlVMSUJfRlNDQU5GIDEKfCAjZGVmaW5lIEdOVUxJQl9TQ0FORiAxCnwgI2RlZmluZSBu bGlua190IGludAp8ICNkZWZpbmUgR05VTElCX1RFTVBOQU1FIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9MT0NBTFRJTUVfUiAwCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8IAp8IC8qIE92ZXJyaWRl IGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBj aGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAg IGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBs eS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIg dGltZXJfc2V0dGltZSAoKTsKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiB0aW1lcl9zZXR0 aW1lICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MzM0OTU6IGdjYyAtSSAu Li9zcmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2Vu ZXJpYyAgICBjb25mdGVzdC5jIC1scnQgICAgPiY1IApDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4v bGliL2djYy94ODZfNjQtdzY0LW1pbmd3MzIvMTAuMi4wLy4uLy4uLy4uLy4uL3g4Nl82NC13NjQt bWluZ3czMi9iaW4vbGQuZXhlOiBjYW5ub3QgZmluZCAtbHJ0CmNvbGxlY3QyLmV4ZTogZXJyb3I6 IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjMzNDk1OiAkPyA9IDEKY29uZmln dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFD S0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImVtYWNzIgp8 ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1n bnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwczovL3d3dy5nbnUu b3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAxCnwgI2RlZmluZSBI QVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RE TElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9I IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk ZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0UgMQp8ICNkZWZpbmUg X0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwgI2RlZmluZSBfTkVU QlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNkZWZpbmUgX1BPU0lY X1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9BVFRS SUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9CRlBfRVhUX18gMQp8 ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NU RENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVD XzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18gMQp8 ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNkZWZpbmUgX1RBTkRF TV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQp8ICNkZWZp bmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEKfCAjZGVmaW5lIFNZ U1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RFTV9IIDEKfCAjZGVm aW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1VO SVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJF TlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJ TUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhBVkVfV0NIQVJfSCAx CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRIX1NZU19USU1FIDEK fCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05UR1VJIDEKfCAjZGVm aW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1fTUFMTE9DIDEKfCAj ZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMg MQp8ICNkZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVfUlNWRyAxCnwgI2Rl ZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNkZWZpbmUgSEFWRV9X MzJOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVmaW5lIFVTRV9UT09M S0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZpbmUgSEFWRV9IQVJG QlVaWiAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQRUcgMQp8ICNkZWZp bmUgSEFWRV9MQ01TMiAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9NT0RV TEVTIDEKfCAjZGVmaW5lIE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZpbmUgSEFWRV9MSUJH Q0NKSVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmluZSBIQVZFX05BVElW RV9DT01QIDEKfCAjZGVmaW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4iCnwgI2RlZmluZSBI QVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFWRV9HSUYgMQp8ICNk ZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUgMQp8ICNkZWZp bmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVmaW5lIEhBVkVfVFJV TkMgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAx CnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dFVFJMSU1JVCAxCnwg I2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKfCAjZGVm aW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RSU0lHTkFMIDEKfCAj ZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRPIDEKfCAjZGVmaW5l IEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCnwgI2RlZmluZSBI QVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNkZWZpbmUgSEFWRV9Q VEhSRUFEX1NFVE5BTUVfTlAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdORURfQUxMT0MgMAp8 ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2RlZmluZSBIQVZFX19f QlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAxCnwgI2RlZmluZSBI QVZFX1NCUksgMQp8ICNkZWZpbmUgSEFWRV9DQU5PTklDQUxJWkVfRklMRV9OQU1FIDEKfCAjZGVm aW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FUIDEKfCAjZGVmaW5l IEhBVkVfRVhQTElDSVRfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNTQVQgMQp8ICNkZWZp bmUgSEFWRV9GQ0hNT0RBVCAxCnwgI2RlZmluZSBIQVZFX0xDSE1PRCAxCnwgI2RlZmluZSBIQVZF X0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBIQVZFX0ZTWU5DIDEK fCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVfTFNUQVQgMQp8ICNk ZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8ICNkZWZpbmUgSEFW RV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfSVNXQ1RZUEUgMQp8ICNkZWZpbmUgSEFWRV9TVFJU T0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfVVRJTUVOU0FU IDEKfCAjZGVmaW5lIHZmb3JrIGZvcmsKfCAjZGVmaW5lIEhBVkVfU05QUklOVEYgMQp8ICNkZWZp bmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fX05MX1BB UEVSX1dJRFRIIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVmaW5lIEhBVkVfU09D S0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiTlVMOiIKfCAjZGVmaW5lIFNFUENIQVIgJzsn CnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxMX05BTUUgcHctPnB3 X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUgSVNfREVWSUNFX1NF UChfY18pICgoX2NfKSA9PSAnOicpCnwgI2RlZmluZSBJU19ESVJFQ1RPUllfU0VQKF9jXykgKChf Y18pID09ICcvJyB8fCAoX2NfKSA9PSAnXFwnKQp8ICNkZWZpbmUgSVNfQU5ZX1NFUChfY18pIChJ U19ESVJFQ1RPUllfU0VQIChfY18pIHx8IElTX0RFVklDRV9TRVAoX2NfKSkKfCAjZGVmaW5lIERF RkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIEdDX1NFVEpNUF9XT1JLUyAx CnwgI2RlZmluZSBIQVZFX1NUQUNLX09WRVJGTE9XX0hBTkRMSU5HIDEKfCAjZGVmaW5lIERPU19O VCAvKiovCnwgI2RlZmluZSBXSU5ET1dTTlQgMQp8ICNkZWZpbmUgVVNBQkxFX0ZJT05SRUFEIDEK fCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDIwIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ3MzJ0ZXJtLmgiCnwgI2RlZmlu ZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQtdzY0LW1pbmd3MzIiCnwgI2RlZmluZSBFTUFD U19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9L2hvbWUvVldpblVzZXIwL0Rvd25sb2Fkcy9lbWFj cy9uYXRpdmUtY29tcC9idWlsdCAtLXdpdGgtbmF0aXZlY29tcCIKfCAjZGVmaW5lIEhBVkVfU1RS VUNUX0FUVFJJQlVURV9BTElHTkVEIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9GIDEKfCAjZGVmaW5l IEhBVkVfU1RBVEVNRU5UX0VYUFJFU1NJT05TIDEKfCAjZGVmaW5lIEhBVkVfQUxMT0NBIDEKfCAj ZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEZVTkNfUkVB TFBBVEhfV09SS1MgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8ICNkZWZpbmUgSEFW RV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJTksg MQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgSEFWRV9MT05HX0xPTkdf SU5UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBI QVZFX0RFQ0xfTUVNTUVNIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hSIDAKfCAjZGVmaW5l IFRJTUVfVF9JU19TSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJNIDEKfCAjZGVmaW5l IEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCnwgI2RlZmluZSBNQUxMT0NfMF9JU19OT05OVUxMIDEKfCAjZGVmaW5lIEhB VkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTkxFTiAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIF9VU0VfU1REX1NUQVQgMQp8ICNkZWZpbmUgSEFW RV9ERUNMX0NMRUFSRVJSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRU9GX1VOTE9D S0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRVJST1JfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFW RV9ERUNMX0ZGTFVTSF9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkdFVFNfVU5MT0NL RUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZQVVRDX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVf REVDTF9GUFVUU19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlJFQURfVU5MT0NLRUQg MAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZXUklURV9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RF Q0xfR0VUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VUQ0hBUl9VTkxPQ0tFRCAw CnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf UFVUQ0hBUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBHRVRHUk9VUFNfVCBpbnQKfCAjZGVmaW5lIEhB VkVfREVDTF9HRVREVEFCTEVTSVpFIDAKfCAjZGVmaW5lIFBST01PVEVEX01PREVfVCBpbnQKfCAj ZGVmaW5lIEhBVkVfU1lTX0FDTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0dFVF9GSUxFIDEKfCAj ZGVmaW5lIEhBVkVfQUNMX1NFVF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0ZSRUUgMQp8ICNk ZWZpbmUgSEFWRV9BQ0xfRlJPTV9URVhUIDEKfCAjZGVmaW5lIFVTRV9BQ0wgMQp8ICNkZWZpbmUg SEFWRV9fX0JVSUxUSU5fRVhQRUNUIDEKfCAjZGVmaW5lIEdOVUxJQl9DQU5PTklDQUxJWkVfTEdQ TCAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFT SF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRPUEVORElSIDEKfCAj ZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBfX0dFVE9QVF9QUkVG SVggcnBsXwp8ICNkZWZpbmUgSEFWRV9CQ1JZUFRfSCAxCnwgI2RlZmluZSBHRVRUSU1FT0ZEQVlf VElNRVpPTkUgdm9pZAp8ICNkZWZpbmUgX0dMX1JFUExBQ0VfSUVFRTc1NF9IIDEKfCAjZGVmaW5l IEhBVkVfX19JTkxJTkUgMQp8ICNkZWZpbmUgSEFWRV9HTVBfSCAxCnwgI2RlZmluZSBIQVZFX01F TVBDUFkgMQp8ICNkZWZpbmUgR05VTElCX01LT1NURU1QIDEKfCAjZGVmaW5lIE5FRURfTUtUSU1F X1dJTkRPV1MgMQp8ICNkZWZpbmUgbXlfc3RyZnRpbWUgbnN0cmZ0aW1lCnwgI2RlZmluZSBfUkVH RVhfSU5DTFVERV9MSU1JVFNfSCAxCnwgI2RlZmluZSBfUkVHRVhfTEFSR0VfT0ZGU0VUUyAxCnwg I2RlZmluZSByZV9zeW50YXhfb3B0aW9ucyBycGxfcmVfc3ludGF4X29wdGlvbnMKfCAjZGVmaW5l IHJlX3NldF9zeW50YXggcnBsX3JlX3NldF9zeW50YXgKfCAjZGVmaW5lIHJlX2NvbXBpbGVfcGF0 dGVybiBycGxfcmVfY29tcGlsZV9wYXR0ZXJuCnwgI2RlZmluZSByZV9jb21waWxlX2Zhc3RtYXAg cnBsX3JlX2NvbXBpbGVfZmFzdG1hcAp8ICNkZWZpbmUgcmVfc2VhcmNoIHJwbF9yZV9zZWFyY2gK fCAjZGVmaW5lIHJlX3NlYXJjaF8yIHJwbF9yZV9zZWFyY2hfMgp8ICNkZWZpbmUgcmVfbWF0Y2gg cnBsX3JlX21hdGNoCnwgI2RlZmluZSByZV9tYXRjaF8yIHJwbF9yZV9tYXRjaF8yCnwgI2RlZmlu ZSByZV9zZXRfcmVnaXN0ZXJzIHJwbF9yZV9zZXRfcmVnaXN0ZXJzCnwgI2RlZmluZSByZV9jb21w IHJwbF9yZV9jb21wCnwgI2RlZmluZSByZV9leGVjIHJwbF9yZV9leGVjCnwgI2RlZmluZSByZWdj b21wIHJwbF9yZWdjb21wCnwgI2RlZmluZSByZWdleGVjIHJwbF9yZWdleGVjCnwgI2RlZmluZSBy ZWdlcnJvciBycGxfcmVnZXJyb3IKfCAjZGVmaW5lIHJlZ2ZyZWUgcnBsX3JlZ2ZyZWUKfCAjZGVm aW5lIEhBVkVfTElCSU5UTF9IIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9JU0JMQU5LIDEKfCAjZGVm aW5lIF9fVVNFX01JTkdXX0FOU0lfU1RESU8gMQp8ICNkZWZpbmUgR05VTElCX1BSSU5URl9BVFRS SUJVVEVfRkxBVk9SX0dOVSAxCnwgI2RlZmluZSBHTlVMSUJfRlNDQU5GIDEKfCAjZGVmaW5lIEdO VUxJQl9TQ0FORiAxCnwgI2RlZmluZSBubGlua190IGludAp8ICNkZWZpbmUgR05VTElCX1RFTVBO QU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9MT0NBTFRJTUVfUiAwCnwgLyogZW5kIGNvbmZkZWZz LmguICAqLwp8IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2 b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSBy ZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHBy b3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0 ZXJuICJDIgp8ICNlbmRpZgp8IGNoYXIgdGltZXJfc2V0dGltZSAoKTsKfCBpbnQKfCBtYWluICgp Cnwgewp8IHJldHVybiB0aW1lcl9zZXR0aW1lICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpj b25maWd1cmU6MzM0OTU6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1vIGNvbmZ0ZXN0LmV4ZSAtZzMg LU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgICBjb25mdGVzdC5jIC1scG9zaXg0ICAgID4m NSAKQzovbXN5czY0L21pbmd3NjQvYmluLy4uL2xpYi9nY2MveDg2XzY0LXc2NC1taW5ndzMyLzEw LjIuMC8uLi8uLi8uLi8uLi94ODZfNjQtdzY0LW1pbmd3MzIvYmluL2xkLmV4ZTogY2Fubm90IGZp bmQgLWxwb3NpeDQKY29sbGVjdDIuZXhlOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1 cwpjb25maWd1cmU6MzM0OTU6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK fCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBFbWFjcyIKfCAj ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04g IjI4LjAuNTAiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIEVtYWNzIDI4LjAuNTAiCnwg I2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWdudS1lbWFjc0BnbnUub3JnIgp8ICNkZWZp bmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvIgp8ICNk ZWZpbmUgTUFJTF9VU0VfUE9QIDEKfCAjZGVmaW5lIEhBVkVfUERVTVBFUiAxCnwgI2RlZmluZSBT VERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdT X0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBfX0VYVEVOU0lPTlNfXyAxCnwg I2RlZmluZSBfQUxMX1NPVVJDRSAxCnwgI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKfCAjZGVm aW5lIF9HTlVfU09VUkNFIDEKfCAjZGVmaW5lIF9ORVRCU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9P UEVOQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MgMQp8ICNk ZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0FUVFJJQlNfRVhUX18gMQp8ICNkZWZpbmUgX19T VERDX1dBTlRfSUVDXzYwNTU5X0JGUF9FWFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNf NjA1NTlfREZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9GVU5DU19F WFRfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQp8ICNk ZWZpbmUgX19TVERDX1dBTlRfTElCX0VYVDJfXyAxCnwgI2RlZmluZSBfX1NURENfV0FOVF9NQVRI X1NQRUNfRlVOQ1NfXyAxCnwgI2RlZmluZSBfVEFOREVNX1NPVVJDRSAxCnwgI2RlZmluZSBfSFBV WF9BTFRfWE9QRU5fU09DS0VUX0FQSSAxCnwgI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAp8 ICNkZWZpbmUgR0NDX0xJTlQgMQp8ICNkZWZpbmUgU1lTVEVNX1RZUEUgIndpbmRvd3MtbnQiCnwg I2RlZmluZSBIQVZFX01NU1lTVEVNX0ggMQp8ICNkZWZpbmUgSEFWRV9TT1VORCAxCnwgI2RlZmlu ZSBIQVZFX01BTExPQ19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1JFU09VUkNFX0ggMQp8ICNkZWZp bmUgSEFWRV9QV0RfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9T WVNfUEFSQU1fSCAxCnwgI2RlZmluZSBIQVZFX0RJUkVOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT X0NERUZTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElN SVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0gg MQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAx CnwgI2RlZmluZSBUSU1FX1dJVEhfU1lTX1RJTUUgMQp8ICNkZWZpbmUgSEFWRV9TWVNfV0FJVF9I IDEKfCAjZGVmaW5lIEhBVkVfTlRHVUkgMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfSU1BR0VfQVBJ IDEKfCAjZGVmaW5lIFNZU1RFTV9NQUxMT0MgMQp8ICNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAx CnwgI2RlZmluZSBVU0VfTU1BUF9GT1JfQlVGRkVSUyAxCnwgI2RlZmluZSBUSFJFQURTX0VOQUJM RUQgMQp8ICNkZWZpbmUgSEFWRV9SU1ZHIDEKfCAjZGVmaW5lIEhBVkVfR05VVExTIDEKfCAjZGVm aW5lIEhBVkVfSlNPTiAxCnwgI2RlZmluZSBIQVZFX1czMk5PVElGWSAxCnwgI2RlZmluZSBVU0Vf RklMRV9OT1RJRlkgMQp8ICNkZWZpbmUgVVNFX1RPT0xLSVRfU0NST0xMX0JBUlMgMQp8ICNkZWZp bmUgVVNFX1hJTSAxCnwgI2RlZmluZSBIQVZFX0hBUkZCVVpaIDEKfCAjZGVmaW5lIEhBVkVfWFBN IDEKfCAjZGVmaW5lIEhBVkVfSlBFRyAxCnwgI2RlZmluZSBIQVZFX0xDTVMyIDEKfCAjZGVmaW5l IEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX01PRFVMRVMgMQp8ICNkZWZpbmUgTU9EVUxFU19T VUZGSVggIi5kbGwiCnwgI2RlZmluZSBIQVZFX0xJQkdDQ0pJVCAxCnwgI2RlZmluZSBIQVZFX0xJ QkdDQ0pJVF9IIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0NPTVAgMQp8ICNkZWZpbmUgTkFUSVZF X0VMSVNQX1NVRkZJWCAiLmVsbiIKfCAjZGVmaW5lIEhBVkVfUE5HIDEKfCAjZGVmaW5lIEhBVkVf VElGRiAxCnwgI2RlZmluZSBIQVZFX0dJRiAxCnwgI2RlZmluZSBIQVZFX0xJQlhNTDIgMQp8ICNk ZWZpbmUgSEFWRV9HRVRIT1NUTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JBTkRPTSAxCnwgI2RlZmlu ZSBIQVZFX1JJTlQgMQp8ICNkZWZpbmUgSEFWRV9UUlVOQyAxCnwgI2RlZmluZSBIQVZFX1NFTEVD VCAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKfCAjZGVmaW5lIEhBVkVfU0VUTE9DQUxF IDEKfCAjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKfCAjZGVmaW5lIEhBVkVfU0VUUkxJTUlUIDEK fCAjZGVmaW5lIEhBVkVfU0hVVERPV04gMQp8ICNkZWZpbmUgSEFWRV9QVEhSRUFEX1NJR01BU0sg MQp8ICNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQp8ICNkZWZpbmUgSEFWRV9TRVRJVElNRVIgMQp8 ICNkZWZpbmUgSEFWRV9TRU5EVE8gMQp8ICNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCnwgI2RlZmlu ZSBIQVZFX0dFVFNPQ0tOQU1FIDEKfCAjZGVmaW5lIEhBVkVfR0FJX1NUUkVSUk9SIDEKfCAjZGVm aW5lIEhBVkVfTE9HMiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0VUTkFNRV9OUCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfQUxJR05FRF9BTExPQyAwCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9G UkFNRV9BRERSRVNTIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX1VOV0lORF9JTklUIDEKfCAj ZGVmaW5lIEhBVkVfRlNFRUtPIDEKfCAjZGVmaW5lIEhBVkVfU0JSSyAxCnwgI2RlZmluZSBIQVZF X0NBTk9OSUNBTElaRV9GSUxFX05BTUUgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOSyAxCnwgI2Rl ZmluZSBIQVZFX1JFQURMSU5LQVQgMQp8ICNkZWZpbmUgSEFWRV9FWFBMSUNJVF9CWkVSTyAxCnwg I2RlZmluZSBIQVZFX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0ZDSE1PREFUIDEKfCAjZGVm aW5lIEhBVkVfTENITU9EIDEKfCAjZGVmaW5lIEhBVkVfRkNOVEwgMQp8ICNkZWZpbmUgSEFWRV9G U1RBVEFUIDEKfCAjZGVmaW5lIEhBVkVfRlNZTkMgMQp8ICNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZE QVkgMQp8ICNkZWZpbmUgSEFWRV9MU1RBVCAxCnwgI2RlZmluZSBIQVZFX1BJUEUyIDEKfCAjZGVm aW5lIEhBVkVfUFNFTEVDVCAxCnwgI2RlZmluZSBIQVZFX0lTQkxBTksgMQp8ICNkZWZpbmUgSEFW RV9JU1dDVFlQRSAxCnwgI2RlZmluZSBIQVZFX1NUUlRPSU1BWCAxCnwgI2RlZmluZSBIQVZFX1NZ TUxJTksgMQp8ICNkZWZpbmUgSEFWRV9VVElNRU5TQVQgMQp8ICNkZWZpbmUgdmZvcmsgZm9yawp8 ICNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX0NPREVTRVQg MQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19fTkxfUEFQRVJfV0lEVEggMQp8ICNkZWZpbmUgSEFW RV9NQlNUQVRFX1QgMQp8ICNkZWZpbmUgSEFWRV9TT0NLRVRTIDEKfCAjZGVmaW5lIE5VTExfREVW SUNFICJOVUw6Igp8ICNkZWZpbmUgU0VQQ0hBUiAnOycKfCAjZGVmaW5lIHN1YnByb2Nlc3NlcyAx CnwgI2RlZmluZSBVU0VSX0ZVTExfTkFNRSBwdy0+cHdfZ2Vjb3MKfCAjZGVmaW5lIERJUkVDVE9S WV9TRVAgJy8nCnwgI2RlZmluZSBJU19ERVZJQ0VfU0VQKF9jXykgKChfY18pID09ICc6JykKfCAj ZGVmaW5lIElTX0RJUkVDVE9SWV9TRVAoX2NfKSAoKF9jXykgPT0gJy8nIHx8IChfY18pID09ICdc XCcpCnwgI2RlZmluZSBJU19BTllfU0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykgfHwg SVNfREVWSUNFX1NFUChfY18pKQp8ICNkZWZpbmUgREVGQVVMVF9TT1VORF9ERVZJQ0UgIi9kZXYv ZHNwIgp8ICNkZWZpbmUgR0NfU0VUSk1QX1dPUktTIDEKfCAjZGVmaW5lIEhBVkVfU1RBQ0tfT1ZF UkZMT1dfSEFORExJTkcgMQp8ICNkZWZpbmUgRE9TX05UIC8qKi8KfCAjZGVmaW5lIFdJTkRPV1NO VCAxCnwgI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQp8ICNkZWZpbmUgQ09QWVJJR0hUICJDb3B5 cmlnaHQgKEMpIDIwMjAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgp8ICNkZWZpbmUg VEVSTV9IRUFERVIgInczMnRlcm0uaCIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR1VSQVRJT04gIng4 Nl82NC13NjQtbWluZ3czMiIKfCAjZGVmaW5lIEVNQUNTX0NPTkZJR19PUFRJT05TICItLXByZWZp eD0vaG9tZS9WV2luVXNlcjAvRG93bmxvYWRzL2VtYWNzL25hdGl2ZS1jb21wL2J1aWx0IC0td2l0 aC1uYXRpdmVjb21wIgp8ICNkZWZpbmUgSEFWRV9TVFJVQ1RfQVRUUklCVVRFX0FMSUdORUQgMQp8 ICNkZWZpbmUgSEFWRV9UWVBFT0YgMQp8ICNkZWZpbmUgSEFWRV9TVEFURU1FTlRfRVhQUkVTU0lP TlMgMQp8ICNkZWZpbmUgSEFWRV9BTExPQ0EgMQp8ICNkZWZpbmUgRE9VQkxFX1NMQVNIX0lTX0RJ U1RJTkNUX1JPT1QgMQp8ICNkZWZpbmUgRlVOQ19SRUFMUEFUSF9XT1JLUyAxCnwgI2RlZmluZSBy ZXN0cmljdCBfX3Jlc3RyaWN0CnwgI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCnwgI2RlZmlu ZSBMU1RBVF9GT0xMT1dTX1NMQVNIRURfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RS TU9ERSAwCnwgI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9VTlNJ R05FRF9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1NRU0gMAp8ICNkZWZp bmUgSEFWRV9ERUNMX01FTVJDSFIgMAp8ICNkZWZpbmUgVElNRV9UX0lTX1NJR05FRCAxCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfQUxBUk0gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCnwgI2Rl ZmluZSBIQVZFX1RaTkFNRSAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIE1B TExPQ18wX0lTX05PTk5VTEwgMQp8ICNkZWZpbmUgSEFWRV9XQ0hBUl9UIDEKfCAjZGVmaW5lIEhB VkVfREVDTF9TVFJOTEVOIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9TVFJUT0lNQVggMQp8ICNkZWZp bmUgX1VTRV9TVERfU1RBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfQ0xFQVJFUlJfVU5MT0NLRUQg MAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZFT0ZfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNM X0ZFUlJPUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkZMVVNIX1VOTE9DS0VEIDAK fCAjZGVmaW5lIEhBVkVfREVDTF9GR0VUU19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf RlBVVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZQVVRTX1VOTE9DS0VEIDAKfCAj ZGVmaW5lIEhBVkVfREVDTF9GUkVBRF9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRldS SVRFX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9HRVRDX1VOTE9DS0VEIDAKfCAjZGVm aW5lIEhBVkVfREVDTF9HRVRDSEFSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9QVVRD X1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9QVVRDSEFSX1VOTE9DS0VEIDAKfCAjZGVm aW5lIEdFVEdST1VQU19UIGludAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVERUQUJMRVNJWkUgMAp8 ICNkZWZpbmUgUFJPTU9URURfTU9ERV9UIGludAp8ICNkZWZpbmUgSEFWRV9TWVNfQUNMX0ggMQp8 ICNkZWZpbmUgSEFWRV9BQ0xfR0VUX0ZJTEUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfU0VUX0ZJTEUg MQp8ICNkZWZpbmUgSEFWRV9BQ0xfRlJFRSAxCnwgI2RlZmluZSBIQVZFX0FDTF9GUk9NX1RFWFQg MQp8ICNkZWZpbmUgVVNFX0FDTCAxCnwgI2RlZmluZSBIQVZFX19fQlVJTFRJTl9FWFBFQ1QgMQp8 ICNkZWZpbmUgR05VTElCX0NBTk9OSUNBTElaRV9MR1BMIDEKfCAjZGVmaW5lIEdOVUxJQl9DTE9T RV9TVFJFQU0gMQp8ICNkZWZpbmUgRE9VQkxFX1NMQVNIX0lTX0RJU1RJTkNUX1JPT1QgMQp8ICNk ZWZpbmUgR05VTElCX0ZBQ0NFU1NBVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkRPUEVORElSIDAK fCAjZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIgMQp8ICNkZWZpbmUgRkxFWElCTEVfQVJSQVlfTUVN QkVSIC8qKi8KfCAjZGVmaW5lIF9fR0VUT1BUX1BSRUZJWCBycGxfCnwgI2RlZmluZSBIQVZFX0JD UllQVF9IIDEKfCAjZGVmaW5lIEdFVFRJTUVPRkRBWV9USU1FWk9ORSB2b2lkCnwgI2RlZmluZSBf R0xfUkVQTEFDRV9JRUVFNzU0X0ggMQp8ICNkZWZpbmUgSEFWRV9fX0lOTElORSAxCnwgI2RlZmlu ZSBIQVZFX0dNUF9IIDEKfCAjZGVmaW5lIEhBVkVfTUVNUENQWSAxCnwgI2RlZmluZSBHTlVMSUJf TUtPU1RFTVAgMQp8ICNkZWZpbmUgTkVFRF9NS1RJTUVfV0lORE9XUyAxCnwgI2RlZmluZSBteV9z dHJmdGltZSBuc3RyZnRpbWUKfCAjZGVmaW5lIF9SRUdFWF9JTkNMVURFX0xJTUlUU19IIDEKfCAj ZGVmaW5lIF9SRUdFWF9MQVJHRV9PRkZTRVRTIDEKfCAjZGVmaW5lIHJlX3N5bnRheF9vcHRpb25z IHJwbF9yZV9zeW50YXhfb3B0aW9ucwp8ICNkZWZpbmUgcmVfc2V0X3N5bnRheCBycGxfcmVfc2V0 X3N5bnRheAp8ICNkZWZpbmUgcmVfY29tcGlsZV9wYXR0ZXJuIHJwbF9yZV9jb21waWxlX3BhdHRl cm4KfCAjZGVmaW5lIHJlX2NvbXBpbGVfZmFzdG1hcCBycGxfcmVfY29tcGlsZV9mYXN0bWFwCnwg I2RlZmluZSByZV9zZWFyY2ggcnBsX3JlX3NlYXJjaAp8ICNkZWZpbmUgcmVfc2VhcmNoXzIgcnBs X3JlX3NlYXJjaF8yCnwgI2RlZmluZSByZV9tYXRjaCBycGxfcmVfbWF0Y2gKfCAjZGVmaW5lIHJl X21hdGNoXzIgcnBsX3JlX21hdGNoXzIKfCAjZGVmaW5lIHJlX3NldF9yZWdpc3RlcnMgcnBsX3Jl X3NldF9yZWdpc3RlcnMKfCAjZGVmaW5lIHJlX2NvbXAgcnBsX3JlX2NvbXAKfCAjZGVmaW5lIHJl X2V4ZWMgcnBsX3JlX2V4ZWMKfCAjZGVmaW5lIHJlZ2NvbXAgcnBsX3JlZ2NvbXAKfCAjZGVmaW5l IHJlZ2V4ZWMgcnBsX3JlZ2V4ZWMKfCAjZGVmaW5lIHJlZ2Vycm9yIHJwbF9yZWdlcnJvcgp8ICNk ZWZpbmUgcmVnZnJlZSBycGxfcmVnZnJlZQp8ICNkZWZpbmUgSEFWRV9MSUJJTlRMX0ggMQp8ICNk ZWZpbmUgSEFWRV9ERUNMX0lTQkxBTksgMQp8ICNkZWZpbmUgX19VU0VfTUlOR1dfQU5TSV9TVERJ TyAxCnwgI2RlZmluZSBHTlVMSUJfUFJJTlRGX0FUVFJJQlVURV9GTEFWT1JfR05VIDEKfCAjZGVm aW5lIEdOVUxJQl9GU0NBTkYgMQp8ICNkZWZpbmUgR05VTElCX1NDQU5GIDEKfCAjZGVmaW5lIG5s aW5rX3QgaW50CnwgI2RlZmluZSBHTlVMSUJfVEVNUE5BTUUgMQp8ICNkZWZpbmUgSEFWRV9ERUNM X0xPQ0FMVElNRV9SIDAKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUg YW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNo YXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAg YnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5 LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciB0 aW1lcl9zZXR0aW1lICgpOwp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIHRpbWVyX3NldHRp bWUgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTozMzUxMjogcmVzdWx0OiBu bwpjb25maWd1cmU6MzM1MjQ6IGNoZWNraW5nIGZvciB0aW1lcl9zZXR0aW1lCmNvbmZpZ3VyZToz MzUyNDogZ2NjIC1JIC4uL3NyYy9udC9pbmMgLW8gY29uZnRlc3QuZXhlIC1nMyAtTzIgLWdkd2Fy Zi0yIC1tdHVuZT1nZW5lcmljICAgIGNvbmZ0ZXN0LmMgICA+JjUgCkM6L21zeXM2NC9taW5ndzY0 L2Jpbi8uLi9saWIvZ2NjL3g4Nl82NC13NjQtbWluZ3czMi8xMC4yLjAvLi4vLi4vLi4vLi4veDg2 XzY0LXc2NC1taW5ndzMyL2Jpbi9sZC5leGU6IEM6XG1zeXM2NFx0bXBcY2NJSU82YVEubzogaW4g ZnVuY3Rpb24gYG1haW4nOgpDOlxtc3lzNjRcaG9tZVxWV2luVXNlcjBcRG93bmxvYWRzXGVtYWNz XG5hdGl2ZS1jb21wXGJ1aWxkL2NvbmZ0ZXN0LmM6Mjc4OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRv IGB0aW1lcl9zZXR0aW1lJwpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQg c3RhdHVzCmNvbmZpZ3VyZTozMzUyNDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g d2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIEVtYWNz Igp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFjcyIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVS U0lPTiAiMjguMC41MCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgRW1hY3MgMjguMC41 MCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251LWVtYWNzQGdudS5vcmciCnwg I2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cHM6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy8i CnwgI2RlZmluZSBNQUlMX1VTRV9QT1AgMQp8ICNkZWZpbmUgSEFWRV9QRFVNUEVSIDEKfCAjZGVm aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NU UklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIF9fRVhURU5TSU9OU19f IDEKfCAjZGVmaW5lIF9BTExfU09VUkNFIDEKfCAjZGVmaW5lIF9EQVJXSU5fQ19TT1VSQ0UgMQp8 ICNkZWZpbmUgX0dOVV9TT1VSQ0UgMQp8ICNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQp8ICNkZWZp bmUgX09QRU5CU0RfU09VUkNFIDEKfCAjZGVmaW5lIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUyAx CnwgI2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCnwgI2RlZmlu ZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfQkZQX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5U X0lFQ182MDU1OV9ERlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZV TkNTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9UWVBFU19FWFRfXyAx CnwgI2RlZmluZSBfX1NURENfV0FOVF9MSUJfRVhUMl9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5U X01BVEhfU1BFQ19GVU5DU19fIDEKfCAjZGVmaW5lIF9UQU5ERU1fU09VUkNFIDEKfCAjZGVmaW5l IF9IUFVYX0FMVF9YT1BFTl9TT0NLRVRfQVBJIDEKfCAjZGVmaW5lIF9GSUxFX09GRlNFVF9CSVRT IDY0CnwgI2RlZmluZSBHQ0NfTElOVCAxCnwgI2RlZmluZSBTWVNURU1fVFlQRSAid2luZG93cy1u dCIKfCAjZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCnwgI2RlZmluZSBIQVZFX1NPVU5EIDEKfCAj ZGVmaW5lIEhBVkVfTUFMTE9DX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCnwg I2RlZmluZSBIQVZFX1BXRF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBI QVZFX1NZU19QQVJBTV9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0ggMQp8ICNkZWZpbmUgSEFW RV9TWVNfQ0RFRlNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZpbmUgSEFW RV9MSU1JVFNfSCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RB VF9IIDEKfCAjZGVmaW5lIFRJTUVfV0lUSF9TWVNfVElNRSAxCnwgI2RlZmluZSBIQVZFX1NZU19X QUlUX0ggMQp8ICNkZWZpbmUgSEFWRV9OVEdVSSAxCnwgI2RlZmluZSBIQVZFX05BVElWRV9JTUFH RV9BUEkgMQp8ICNkZWZpbmUgU1lTVEVNX01BTExPQyAxCnwgI2RlZmluZSBIQVZFX0dFVFBBR0VT SVpFIDEKfCAjZGVmaW5lIFVTRV9NTUFQX0ZPUl9CVUZGRVJTIDEKfCAjZGVmaW5lIFRIUkVBRFNf RU5BQkxFRCAxCnwgI2RlZmluZSBIQVZFX1JTVkcgMQp8ICNkZWZpbmUgSEFWRV9HTlVUTFMgMQp8 ICNkZWZpbmUgSEFWRV9KU09OIDEKfCAjZGVmaW5lIEhBVkVfVzMyTk9USUZZIDEKfCAjZGVmaW5l IFVTRV9GSUxFX05PVElGWSAxCnwgI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFSUyAxCnwg I2RlZmluZSBVU0VfWElNIDEKfCAjZGVmaW5lIEhBVkVfSEFSRkJVWlogMQp8ICNkZWZpbmUgSEFW RV9YUE0gMQp8ICNkZWZpbmUgSEFWRV9KUEVHIDEKfCAjZGVmaW5lIEhBVkVfTENNUzIgMQp8ICNk ZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfTU9EVUxFUyAxCnwgI2RlZmluZSBNT0RV TEVTX1NVRkZJWCAiLmRsbCIKfCAjZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKfCAjZGVmaW5lIEhB VkVfTElCR0NDSklUX0ggMQp8ICNkZWZpbmUgSEFWRV9OQVRJVkVfQ09NUCAxCnwgI2RlZmluZSBO QVRJVkVfRUxJU1BfU1VGRklYICIuZWxuIgp8ICNkZWZpbmUgSEFWRV9QTkcgMQp8ICNkZWZpbmUg SEFWRV9USUZGIDEKfCAjZGVmaW5lIEhBVkVfR0lGIDEKfCAjZGVmaW5lIEhBVkVfTElCWE1MMiAx CnwgI2RlZmluZSBIQVZFX0dFVEhPU1ROQU1FIDEKfCAjZGVmaW5lIEhBVkVfUkFORE9NIDEKfCAj ZGVmaW5lIEhBVkVfUklOVCAxCnwgI2RlZmluZSBIQVZFX1RSVU5DIDEKfCAjZGVmaW5lIEhBVkVf U0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgSEFWRV9TRVRM T0NBTEUgMQp8ICNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQp8ICNkZWZpbmUgSEFWRV9TRVRSTElN SVQgMQp8ICNkZWZpbmUgSEFWRV9TSFVURE9XTiAxCnwgI2RlZmluZSBIQVZFX1BUSFJFQURfU0lH TUFTSyAxCnwgI2RlZmluZSBIQVZFX1NUUlNJR05BTCAxCnwgI2RlZmluZSBIQVZFX1NFVElUSU1F UiAxCnwgI2RlZmluZSBIQVZFX1NFTkRUTyAxCnwgI2RlZmluZSBIQVZFX1JFQ1ZGUk9NIDEKfCAj ZGVmaW5lIEhBVkVfR0VUU09DS05BTUUgMQp8ICNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQp8 ICNkZWZpbmUgSEFWRV9MT0cyIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TRVROQU1FX05QIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDAKfCAjZGVmaW5lIEhBVkVfX19CVUlM VElOX0ZSQU1FX0FERFJFU1MgMQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fVU5XSU5EX0lOSVQg MQp8ICNkZWZpbmUgSEFWRV9GU0VFS08gMQp8ICNkZWZpbmUgSEFWRV9TQlJLIDEKfCAjZGVmaW5l IEhBVkVfQ0FOT05JQ0FMSVpFX0ZJTEVfTkFNRSAxCnwgI2RlZmluZSBIQVZFX1JFQURMSU5LIDEK fCAjZGVmaW5lIEhBVkVfUkVBRExJTktBVCAxCnwgI2RlZmluZSBIQVZFX0VYUExJQ0lUX0JaRVJP IDEKfCAjZGVmaW5lIEhBVkVfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfRkNITU9EQVQgMQp8 ICNkZWZpbmUgSEFWRV9MQ0hNT0QgMQp8ICNkZWZpbmUgSEFWRV9GQ05UTCAxCnwgI2RlZmluZSBI QVZFX0ZTVEFUQVQgMQp8ICNkZWZpbmUgSEFWRV9GU1lOQyAxCnwgI2RlZmluZSBIQVZFX0dFVFRJ TUVPRkRBWSAxCnwgI2RlZmluZSBIQVZFX0xTVEFUIDEKfCAjZGVmaW5lIEhBVkVfUElQRTIgMQp8 ICNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKfCAjZGVmaW5lIEhBVkVfSVNCTEFOSyAxCnwgI2RlZmlu ZSBIQVZFX0lTV0NUWVBFIDEKfCAjZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIEhB VkVfU1lNTElOSyAxCnwgI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCnwgI2RlZmluZSB2Zm9yayBm b3JrCnwgI2RlZmluZSBIQVZFX1NOUFJJTlRGIDEKfCAjZGVmaW5lIEhBVkVfTEFOR0lORk9fQ09E RVNFVCAxCnwgI2RlZmluZSBIQVZFX0xBTkdJTkZPX19OTF9QQVBFUl9XSURUSCAxCnwgI2RlZmlu ZSBIQVZFX01CU1RBVEVfVCAxCnwgI2RlZmluZSBIQVZFX1NPQ0tFVFMgMQp8ICNkZWZpbmUgTlVM TF9ERVZJQ0UgIk5VTDoiCnwgI2RlZmluZSBTRVBDSEFSICc7Jwp8ICNkZWZpbmUgc3VicHJvY2Vz c2VzIDEKfCAjZGVmaW5lIFVTRVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwp8ICNkZWZpbmUgRElS RUNUT1JZX1NFUCAnLycKfCAjZGVmaW5lIElTX0RFVklDRV9TRVAoX2NfKSAoKF9jXykgPT0gJzon KQp8ICNkZWZpbmUgSVNfRElSRUNUT1JZX1NFUChfY18pICgoX2NfKSA9PSAnLycgfHwgKF9jXykg PT0gJ1xcJykKfCAjZGVmaW5lIElTX0FOWV9TRVAoX2NfKSAoSVNfRElSRUNUT1JZX1NFUCAoX2Nf KSB8fCBJU19ERVZJQ0VfU0VQKF9jXykpCnwgI2RlZmluZSBERUZBVUxUX1NPVU5EX0RFVklDRSAi L2Rldi9kc3AiCnwgI2RlZmluZSBHQ19TRVRKTVBfV09SS1MgMQp8ICNkZWZpbmUgSEFWRV9TVEFD S19PVkVSRkxPV19IQU5ETElORyAxCnwgI2RlZmluZSBET1NfTlQgLyoqLwp8ICNkZWZpbmUgV0lO RE9XU05UIDEKfCAjZGVmaW5lIFVTQUJMRV9GSU9OUkVBRCAxCnwgI2RlZmluZSBDT1BZUklHSFQg IkNvcHlyaWdodCAoQykgMjAyMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCnwgI2Rl ZmluZSBURVJNX0hFQURFUiAidzMydGVybS5oIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHVVJBVElP TiAieDg2XzY0LXc2NC1taW5ndzMyIgp8ICNkZWZpbmUgRU1BQ1NfQ09ORklHX09QVElPTlMgIi0t cHJlZml4PS9ob21lL1ZXaW5Vc2VyMC9Eb3dubG9hZHMvZW1hY3MvbmF0aXZlLWNvbXAvYnVpbHQg LS13aXRoLW5hdGl2ZWNvbXAiCnwgI2RlZmluZSBIQVZFX1NUUlVDVF9BVFRSSUJVVEVfQUxJR05F RCAxCnwgI2RlZmluZSBIQVZFX1RZUEVPRiAxCnwgI2RlZmluZSBIQVZFX1NUQVRFTUVOVF9FWFBS RVNTSU9OUyAxCnwgI2RlZmluZSBIQVZFX0FMTE9DQSAxCnwgI2RlZmluZSBET1VCTEVfU0xBU0hf SVNfRElTVElOQ1RfUk9PVCAxCnwgI2RlZmluZSBGVU5DX1JFQUxQQVRIX1dPUktTIDEKfCAjZGVm aW5lIHJlc3RyaWN0IF9fcmVzdHJpY3QKfCAjZGVmaW5lIEhBVkVfRU5WSVJPTl9ERUNMIDEKfCAj ZGVmaW5lIExTVEFUX0ZPTExPV1NfU0xBU0hFRF9TWU1MSU5LIDEKfCAjZGVmaW5lIEhBVkVfREVD TF9TVFJNT0RFIDAKfCAjZGVmaW5lIEhBVkVfTE9OR19MT05HX0lOVCAxCnwgI2RlZmluZSBIQVZF X1VOU0lHTkVEX0xPTkdfTE9OR19JTlQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX01FTU1FTSAwCnwg I2RlZmluZSBIQVZFX0RFQ0xfTUVNUkNIUiAwCnwgI2RlZmluZSBUSU1FX1RfSVNfU0lHTkVEIDEK fCAjZGVmaW5lIEhBVkVfREVDTF9BTEFSTSAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfVFpOQU1FIDEK fCAjZGVmaW5lIEhBVkVfVFpOQU1FIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp bmUgTUFMTE9DXzBfSVNfTk9OTlVMTCAxCnwgI2RlZmluZSBIQVZFX1dDSEFSX1QgMQp8ICNkZWZp bmUgSEFWRV9ERUNMX1NUUk5MRU4gMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUlRPSU1BWCAxCnwg I2RlZmluZSBfVVNFX1NURF9TVEFUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9DTEVBUkVSUl9VTkxP Q0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRkVPRl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZF X0RFQ0xfRkVSUk9SX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRkxVU0hfVU5MT0NL RUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZHRVRTX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVf REVDTF9GUFVUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlBVVFNfVU5MT0NLRUQg MAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZSRUFEX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9GV1JJVEVfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0dFVENfVU5MT0NLRUQgMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX0dFVENIQVJfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNM X1BVVENfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX1BVVENIQVJfVU5MT0NLRUQgMAp8 ICNkZWZpbmUgR0VUR1JPVVBTX1QgaW50CnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VURFRBQkxFU0la RSAwCnwgI2RlZmluZSBQUk9NT1RFRF9NT0RFX1QgaW50CnwgI2RlZmluZSBIQVZFX1NZU19BQ0xf SCAxCnwgI2RlZmluZSBIQVZFX0FDTF9HRVRfRklMRSAxCnwgI2RlZmluZSBIQVZFX0FDTF9TRVRf RklMRSAxCnwgI2RlZmluZSBIQVZFX0FDTF9GUkVFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0ZST01f VEVYVCAxCnwgI2RlZmluZSBVU0VfQUNMIDEKfCAjZGVmaW5lIEhBVkVfX19CVUlMVElOX0VYUEVD VCAxCnwgI2RlZmluZSBHTlVMSUJfQ0FOT05JQ0FMSVpFX0xHUEwgMQp8ICNkZWZpbmUgR05VTElC X0NMT1NFX1NUUkVBTSAxCnwgI2RlZmluZSBET1VCTEVfU0xBU0hfSVNfRElTVElOQ1RfUk9PVCAx CnwgI2RlZmluZSBHTlVMSUJfRkFDQ0VTU0FUIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9GRE9QRU5E SVIgMAp8ICNkZWZpbmUgR05VTElCX0ZET1BFTkRJUiAxCnwgI2RlZmluZSBGTEVYSUJMRV9BUlJB WV9NRU1CRVIgLyoqLwp8ICNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJwbF8KfCAjZGVmaW5lIEhB VkVfQkNSWVBUX0ggMQp8ICNkZWZpbmUgR0VUVElNRU9GREFZX1RJTUVaT05FIHZvaWQKfCAjZGVm aW5lIF9HTF9SRVBMQUNFX0lFRUU3NTRfSCAxCnwgI2RlZmluZSBIQVZFX19fSU5MSU5FIDEKfCAj ZGVmaW5lIEhBVkVfR01QX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1QQ1BZIDEKfCAjZGVmaW5lIEdO VUxJQl9NS09TVEVNUCAxCnwgI2RlZmluZSBORUVEX01LVElNRV9XSU5ET1dTIDEKfCAjZGVmaW5l IG15X3N0cmZ0aW1lIG5zdHJmdGltZQp8ICNkZWZpbmUgX1JFR0VYX0lOQ0xVREVfTElNSVRTX0gg MQp8ICNkZWZpbmUgX1JFR0VYX0xBUkdFX09GRlNFVFMgMQp8ICNkZWZpbmUgcmVfc3ludGF4X29w dGlvbnMgcnBsX3JlX3N5bnRheF9vcHRpb25zCnwgI2RlZmluZSByZV9zZXRfc3ludGF4IHJwbF9y ZV9zZXRfc3ludGF4CnwgI2RlZmluZSByZV9jb21waWxlX3BhdHRlcm4gcnBsX3JlX2NvbXBpbGVf cGF0dGVybgp8ICNkZWZpbmUgcmVfY29tcGlsZV9mYXN0bWFwIHJwbF9yZV9jb21waWxlX2Zhc3Rt YXAKfCAjZGVmaW5lIHJlX3NlYXJjaCBycGxfcmVfc2VhcmNoCnwgI2RlZmluZSByZV9zZWFyY2hf MiBycGxfcmVfc2VhcmNoXzIKfCAjZGVmaW5lIHJlX21hdGNoIHJwbF9yZV9tYXRjaAp8ICNkZWZp bmUgcmVfbWF0Y2hfMiBycGxfcmVfbWF0Y2hfMgp8ICNkZWZpbmUgcmVfc2V0X3JlZ2lzdGVycyBy cGxfcmVfc2V0X3JlZ2lzdGVycwp8ICNkZWZpbmUgcmVfY29tcCBycGxfcmVfY29tcAp8ICNkZWZp bmUgcmVfZXhlYyBycGxfcmVfZXhlYwp8ICNkZWZpbmUgcmVnY29tcCBycGxfcmVnY29tcAp8ICNk ZWZpbmUgcmVnZXhlYyBycGxfcmVnZXhlYwp8ICNkZWZpbmUgcmVnZXJyb3IgcnBsX3JlZ2Vycm9y CnwgI2RlZmluZSByZWdmcmVlIHJwbF9yZWdmcmVlCnwgI2RlZmluZSBIQVZFX0xJQklOVExfSCAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfSVNCTEFOSyAxCnwgI2RlZmluZSBfX1VTRV9NSU5HV19BTlNJ X1NURElPIDEKfCAjZGVmaW5lIEdOVUxJQl9QUklOVEZfQVRUUklCVVRFX0ZMQVZPUl9HTlUgMQp8 ICNkZWZpbmUgR05VTElCX0ZTQ0FORiAxCnwgI2RlZmluZSBHTlVMSUJfU0NBTkYgMQp8ICNkZWZp bmUgbmxpbmtfdCBpbnQKfCAjZGVmaW5lIEdOVUxJQl9URU1QTkFNRSAxCnwgI2RlZmluZSBIQVZF X0RFQ0xfTE9DQUxUSU1FX1IgMAp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUg dGltZXJfc2V0dGltZSB0byBhbiBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+ IGRlY2xhcmVzIHRpbWVyX3NldHRpbWUuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8bGlt aXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmluZSB0aW1lcl9zZXR0aW1l IGlubm9jdW91c190aW1lcl9zZXR0aW1lCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUg X19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBj YW4gY29uZmxpY3Qgd2l0aCBjaGFyIHRpbWVyX3NldHRpbWUgKCk7IGJlbG93Lgp8ICAgICBQcmVm ZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNl CnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4g ICovCnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8 ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIHRpbWVyX3NldHRpbWUK fCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBl cnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5 cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUg d291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIK fCAjZW5kaWYKfCBjaGFyIHRpbWVyX3NldHRpbWUgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkg ZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBh bHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1l ZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlz IGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfdGltZXJfc2V0dGltZSB8fCBkZWZp bmVkIF9fc3R1Yl9fX3RpbWVyX3NldHRpbWUKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8 IG1haW4gKCkKfCB7CnwgcmV0dXJuIHRpbWVyX3NldHRpbWUgKCk7CnwgICA7CnwgICByZXR1cm4g MDsKfCB9CmNvbmZpZ3VyZTozMzUyNDogcmVzdWx0OiBubwpjb25maWd1cmU6MzM2NjA6IGNoZWNr aW5nIHdoZXRoZXIgdXRpbWVuc2F0IHdvcmtzCmNvbmZpZ3VyZTozMzczMTogcmVzdWx0OiB5ZXMK Y29uZmlndXJlOjMzNzYyOiBjaGVja2luZyBmb3IgdmFyaWFibGUtbGVuZ3RoIGFycmF5cwpjb25m aWd1cmU6MzM4MTg6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1jIC1nMyAtTzIgLWdkd2FyZi0yIC1t dHVuZT1nZW5lcmljICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjMzODE4OiAkPyA9IDAKY29u ZmlndXJlOjMzODI4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzQ3MDU6IGNoZWNraW5nIGZvciBf X21rdGltZV9pbnRlcm5hbApjb25maWd1cmU6MzQ3MDU6IGdjYyAtSSAuLi9zcmMvbnQvaW5jIC1v IGNvbmZ0ZXN0LmV4ZSAtZzMgLU8yIC1nZHdhcmYtMiAtbXR1bmU9Z2VuZXJpYyAgICBjb25mdGVz dC5jICAgPiY1IApDOi9tc3lzNjQvbWluZ3c2NC9iaW4vLi4vbGliL2djYy94ODZfNjQtdzY0LW1p bmd3MzIvMTAuMi4wLy4uLy4uLy4uLy4uL3g4Nl82NC13NjQtbWluZ3czMi9iaW4vbGQuZXhlOiBD Olxtc3lzNjRcdG1wXGNjODJXVGJnLm86IGluIGZ1bmN0aW9uIGBtYWluJzoKQzpcbXN5czY0XGhv bWVcVldpblVzZXIwXERvd25sb2Fkc1xlbWFjc1xuYXRpdmUtY29tcFxidWlsZC9jb25mdGVzdC5j OjI4MDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19ta3RpbWVfaW50ZXJuYWwnCmNvbGxlY3Qy LmV4ZTogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjM0NzA1OiAk PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8 ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgImVtYWNzIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyOC4wLjUwIgp8ICNkZWZpbmUg UEFDS0FHRV9TVFJJTkcgIkdOVSBFbWFjcyAyOC4wLjUwIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS RVBPUlQgImJ1Zy1nbnUtZW1hY3NAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRw czovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2VtYWNzLyIKfCAjZGVmaW5lIE1BSUxfVVNFX1BPUCAx CnwgI2RlZmluZSBIQVZFX1BEVU1QRVIgMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVm aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBI QVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVf SU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J U1REX0ggMQp8ICNkZWZpbmUgX19FWFRFTlNJT05TX18gMQp8ICNkZWZpbmUgX0FMTF9TT1VSQ0Ug MQp8ICNkZWZpbmUgX0RBUldJTl9DX1NPVVJDRSAxCnwgI2RlZmluZSBfR05VX1NPVVJDRSAxCnwg I2RlZmluZSBfTkVUQlNEX1NPVVJDRSAxCnwgI2RlZmluZSBfT1BFTkJTRF9TT1VSQ0UgMQp8ICNk ZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lF Q182MDU1OV9BVFRSSUJTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0lFQ182MDU1OV9C RlBfRVhUX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCnwg I2RlZmluZSBfX1NURENfV0FOVF9JRUNfNjA1NTlfRlVOQ1NfRVhUX18gMQp8ICNkZWZpbmUgX19T VERDX1dBTlRfSUVDXzYwNTU5X1RZUEVTX0VYVF9fIDEKfCAjZGVmaW5lIF9fU1REQ19XQU5UX0xJ Ql9FWFQyX18gMQp8ICNkZWZpbmUgX19TVERDX1dBTlRfTUFUSF9TUEVDX0ZVTkNTX18gMQp8ICNk ZWZpbmUgX1RBTkRFTV9TT1VSQ0UgMQp8ICNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9B UEkgMQp8ICNkZWZpbmUgX0ZJTEVfT0ZGU0VUX0JJVFMgNjQKfCAjZGVmaW5lIEdDQ19MSU5UIDEK fCAjZGVmaW5lIFNZU1RFTV9UWVBFICJ3aW5kb3dzLW50Igp8ICNkZWZpbmUgSEFWRV9NTVNZU1RF TV9IIDEKfCAjZGVmaW5lIEhBVkVfU09VTkQgMQp8ICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCnwg I2RlZmluZSBIQVZFX1NZU19SRVNPVVJDRV9IIDEKfCAjZGVmaW5lIEhBVkVfUFdEX0ggMQp8ICNk ZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1BBUkFNX0ggMQp8ICNkZWZp bmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19DREVGU19IIDEKfCAjZGVmaW5l IEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKfCAjZGVmaW5lIEhB VkVfV0NIQVJfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgVElNRV9XSVRI X1NZU19USU1FIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1dBSVRfSCAxCnwgI2RlZmluZSBIQVZFX05U R1VJIDEKfCAjZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCnwgI2RlZmluZSBTWVNURU1f TUFMTE9DIDEKfCAjZGVmaW5lIEhBVkVfR0VUUEFHRVNJWkUgMQp8ICNkZWZpbmUgVVNFX01NQVBf Rk9SX0JVRkZFUlMgMQp8ICNkZWZpbmUgVEhSRUFEU19FTkFCTEVEIDEKfCAjZGVmaW5lIEhBVkVf UlNWRyAxCnwgI2RlZmluZSBIQVZFX0dOVVRMUyAxCnwgI2RlZmluZSBIQVZFX0pTT04gMQp8ICNk ZWZpbmUgSEFWRV9XMzJOT1RJRlkgMQp8ICNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKfCAjZGVm aW5lIFVTRV9UT09MS0lUX1NDUk9MTF9CQVJTIDEKfCAjZGVmaW5lIFVTRV9YSU0gMQp8ICNkZWZp bmUgSEFWRV9IQVJGQlVaWiAxCnwgI2RlZmluZSBIQVZFX1hQTSAxCnwgI2RlZmluZSBIQVZFX0pQ RUcgMQp8ICNkZWZpbmUgSEFWRV9MQ01TMiAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZp bmUgSEFWRV9NT0RVTEVTIDEKfCAjZGVmaW5lIE1PRFVMRVNfU1VGRklYICIuZGxsIgp8ICNkZWZp bmUgSEFWRV9MSUJHQ0NKSVQgMQp8ICNkZWZpbmUgSEFWRV9MSUJHQ0NKSVRfSCAxCnwgI2RlZmlu ZSBIQVZFX05BVElWRV9DT01QIDEKfCAjZGVmaW5lIE5BVElWRV9FTElTUF9TVUZGSVggIi5lbG4i CnwgI2RlZmluZSBIQVZFX1BORyAxCnwgI2RlZmluZSBIQVZFX1RJRkYgMQp8ICNkZWZpbmUgSEFW RV9HSUYgMQp8ICNkZWZpbmUgSEFWRV9MSUJYTUwyIDEKfCAjZGVmaW5lIEhBVkVfR0VUSE9TVE5B TUUgMQp8ICNkZWZpbmUgSEFWRV9SQU5ET00gMQp8ICNkZWZpbmUgSEFWRV9SSU5UIDEKfCAjZGVm aW5lIEhBVkVfVFJVTkMgMQp8ICNkZWZpbmUgSEFWRV9TRUxFQ1QgMQp8ICNkZWZpbmUgSEFWRV9H RVRQQUdFU0laRSAxCnwgI2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCnwgI2RlZmluZSBIQVZFX0dF VFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NFVFJMSU1JVCAxCnwgI2RlZmluZSBIQVZFX1NIVVRE T1dOIDEKfCAjZGVmaW5lIEhBVkVfUFRIUkVBRF9TSUdNQVNLIDEKfCAjZGVmaW5lIEhBVkVfU1RS U0lHTkFMIDEKfCAjZGVmaW5lIEhBVkVfU0VUSVRJTUVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORFRP IDEKfCAjZGVmaW5lIEhBVkVfUkVDVkZST00gMQp8ICNkZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAx CnwgI2RlZmluZSBIQVZFX0dBSV9TVFJFUlJPUiAxCnwgI2RlZmluZSBIQVZFX0xPRzIgMQp8ICNk ZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMSUdO RURfQUxMT0MgMAp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRlJBTUVfQUREUkVTUyAxCnwgI2Rl ZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCnwgI2RlZmluZSBIQVZFX0ZTRUVLTyAx CnwgI2RlZmluZSBIQVZFX1NCUksgMQp8ICNkZWZpbmUgSEFWRV9DQU5PTklDQUxJWkVfRklMRV9O QU1FIDEKfCAjZGVmaW5lIEhBVkVfUkVBRExJTksgMQp8ICNkZWZpbmUgSEFWRV9SRUFETElOS0FU IDEKfCAjZGVmaW5lIEhBVkVfRVhQTElDSVRfQlpFUk8gMQp8ICNkZWZpbmUgSEFWRV9GQUNDRVNT QVQgMQp8ICNkZWZpbmUgSEFWRV9GQ0hNT0RBVCAxCnwgI2RlZmluZSBIQVZFX0xDSE1PRCAxCnwg I2RlZmluZSBIQVZFX0ZDTlRMIDEKfCAjZGVmaW5lIEhBVkVfRlNUQVRBVCAxCnwgI2RlZmluZSBI QVZFX0ZTWU5DIDEKfCAjZGVmaW5lIEhBVkVfR0VUVElNRU9GREFZIDEKfCAjZGVmaW5lIEhBVkVf TFNUQVQgMQp8ICNkZWZpbmUgSEFWRV9QSVBFMiAxCnwgI2RlZmluZSBIQVZFX1BTRUxFQ1QgMQp8 ICNkZWZpbmUgSEFWRV9JU0JMQU5LIDEKfCAjZGVmaW5lIEhBVkVfSVNXQ1RZUEUgMQp8ICNkZWZp bmUgSEFWRV9TVFJUT0lNQVggMQp8ICNkZWZpbmUgSEFWRV9TWU1MSU5LIDEKfCAjZGVmaW5lIEhB VkVfVVRJTUVOU0FUIDEKfCAjZGVmaW5lIHZmb3JrIGZvcmsKfCAjZGVmaW5lIEhBVkVfU05QUklO VEYgMQp8ICNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VUIDEKfCAjZGVmaW5lIEhBVkVfTEFO R0lORk9fX05MX1BBUEVSX1dJRFRIIDEKfCAjZGVmaW5lIEhBVkVfTUJTVEFURV9UIDEKfCAjZGVm aW5lIEhBVkVfU09DS0VUUyAxCnwgI2RlZmluZSBOVUxMX0RFVklDRSAiTlVMOiIKfCAjZGVmaW5l IFNFUENIQVIgJzsnCnwgI2RlZmluZSBzdWJwcm9jZXNzZXMgMQp8ICNkZWZpbmUgVVNFUl9GVUxM X05BTUUgcHctPnB3X2dlY29zCnwgI2RlZmluZSBESVJFQ1RPUllfU0VQICcvJwp8ICNkZWZpbmUg SVNfREVWSUNFX1NFUChfY18pICgoX2NfKSA9PSAnOicpCnwgI2RlZmluZSBJU19ESVJFQ1RPUllf U0VQKF9jXykgKChfY18pID09ICcvJyB8fCAoX2NfKSA9PSAnXFwnKQp8ICNkZWZpbmUgSVNfQU5Z X1NFUChfY18pIChJU19ESVJFQ1RPUllfU0VQIChfY18pIHx8IElTX0RFVklDRV9TRVAoX2NfKSkK fCAjZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKfCAjZGVmaW5lIEdDX1NF VEpNUF9XT1JLUyAxCnwgI2RlZmluZSBIQVZFX1NUQUNLX09WRVJGTE9XX0hBTkRMSU5HIDEKfCAj ZGVmaW5lIERPU19OVCAvKiovCnwgI2RlZmluZSBXSU5ET1dTTlQgMQp8ICNkZWZpbmUgVVNBQkxF X0ZJT05SRUFEIDEKfCAjZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDIwIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKfCAjZGVmaW5lIFRFUk1fSEVBREVSICJ3MzJ0ZXJt LmgiCnwgI2RlZmluZSBFTUFDU19DT05GSUdVUkFUSU9OICJ4ODZfNjQtdzY0LW1pbmd3MzIiCnwg I2RlZmluZSBFTUFDU19DT05GSUdfT1BUSU9OUyAiLS1wcmVmaXg9L2hvbWUvVldpblVzZXIwL0Rv d25sb2Fkcy9lbWFjcy9uYXRpdmUtY29tcC9idWlsdCAtLXdpdGgtbmF0aXZlY29tcCIKfCAjZGVm aW5lIEhBVkVfU1RSVUNUX0FUVFJJQlVURV9BTElHTkVEIDEKfCAjZGVmaW5lIEhBVkVfVFlQRU9G IDEKfCAjZGVmaW5lIEhBVkVfU1RBVEVNRU5UX0VYUFJFU1NJT05TIDEKfCAjZGVmaW5lIEhBVkVf QUxMT0NBIDEKfCAjZGVmaW5lIERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVm aW5lIEZVTkNfUkVBTFBBVEhfV09SS1MgMQp8ICNkZWZpbmUgcmVzdHJpY3QgX19yZXN0cmljdAp8 ICNkZWZpbmUgSEFWRV9FTlZJUk9OX0RFQ0wgMQp8ICNkZWZpbmUgTFNUQVRfRk9MTE9XU19TTEFT SEVEX1NZTUxJTksgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX1NUUk1PREUgMAp8ICNkZWZpbmUgSEFW RV9MT05HX0xPTkdfSU5UIDEKfCAjZGVmaW5lIEhBVkVfVU5TSUdORURfTE9OR19MT05HX0lOVCAx CnwgI2RlZmluZSBIQVZFX0RFQ0xfTUVNTUVNIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9NRU1SQ0hS IDAKfCAjZGVmaW5lIFRJTUVfVF9JU19TSUdORUQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0FMQVJN IDEKfCAjZGVmaW5lIEhBVkVfREVDTF9UWk5BTUUgMQp8ICNkZWZpbmUgSEFWRV9UWk5BTUUgMQp8 ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBNQUxMT0NfMF9JU19OT05OVUxMIDEK fCAjZGVmaW5lIEhBVkVfV0NIQVJfVCAxCnwgI2RlZmluZSBIQVZFX0RFQ0xfU1RSTkxFTiAxCnwg I2RlZmluZSBIQVZFX0RFQ0xfU1RSVE9JTUFYIDEKfCAjZGVmaW5lIF9VU0VfU1REX1NUQVQgMQp8 ICNkZWZpbmUgSEFWRV9ERUNMX0NMRUFSRVJSX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVD TF9GRU9GX1VOTE9DS0VEIDAKfCAjZGVmaW5lIEhBVkVfREVDTF9GRVJST1JfVU5MT0NLRUQgMAp8 ICNkZWZpbmUgSEFWRV9ERUNMX0ZGTFVTSF9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xf RkdFVFNfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZQVVRDX1VOTE9DS0VEIDAKfCAj ZGVmaW5lIEhBVkVfREVDTF9GUFVUU19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfRlJF QURfVU5MT0NLRUQgMAp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZXUklURV9VTkxPQ0tFRCAwCnwgI2Rl ZmluZSBIQVZFX0RFQ0xfR0VUQ19VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfR0VUQ0hB Ul9VTkxPQ0tFRCAwCnwgI2RlZmluZSBIQVZFX0RFQ0xfUFVUQ19VTkxPQ0tFRCAwCnwgI2RlZmlu ZSBIQVZFX0RFQ0xfUFVUQ0hBUl9VTkxPQ0tFRCAwCnwgI2RlZmluZSBHRVRHUk9VUFNfVCBpbnQK fCAjZGVmaW5lIEhBVkVfREVDTF9HRVREVEFCTEVTSVpFIDAKfCAjZGVmaW5lIFBST01PVEVEX01P REVfVCBpbnQKfCAjZGVmaW5lIEhBVkVfU1lTX0FDTF9IIDEKfCAjZGVmaW5lIEhBVkVfQUNMX0dF VF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNMX1NFVF9GSUxFIDEKfCAjZGVmaW5lIEhBVkVfQUNM X0ZSRUUgMQp8ICNkZWZpbmUgSEFWRV9BQ0xfRlJPTV9URVhUIDEKfCAjZGVmaW5lIFVTRV9BQ0wg MQp8ICNkZWZpbmUgSEFWRV9fX0JVSUxUSU5fRVhQRUNUIDEKfCAjZGVmaW5lIEdOVUxJQl9DQU5P TklDQUxJWkVfTEdQTCAxCnwgI2RlZmluZSBHTlVMSUJfQ0xPU0VfU1RSRUFNIDEKfCAjZGVmaW5l IERPVUJMRV9TTEFTSF9JU19ESVNUSU5DVF9ST09UIDEKfCAjZGVmaW5lIEdOVUxJQl9GQUNDRVNT QVQgMQp8ICNkZWZpbmUgSEFWRV9ERUNMX0ZET1BFTkRJUiAwCnwgI2RlZmluZSBHTlVMSUJfRkRP UEVORElSIDEKfCAjZGVmaW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCnwgI2RlZmluZSBf X0dFVE9QVF9QUkVGSVggcnBsXwp8ICNkZWZpbmUgSEFWRV9CQ1JZUFRfSCAxCnwgI2RlZmluZSBH RVRUSU1FT0ZEQVlfVElNRVpPTkUgdm9pZAp8ICNkZWZpbmUgX0dMX1JFUExBQ0VfSUVFRTc1NF9I IDEKfCAjZGVmaW5lIEhBVkVfX19JTkxJTkUgMQp8ICNkZWZpbmUgSEFWRV9HTVBfSCAxCnwgI2Rl ZmluZSBIQVZFX01FTVBDUFkgMQp8ICNkZWZpbmUgR05VTElCX01LT1NURU1QIDEKfCAjZGVmaW5l IE5FRURfTUtUSU1FX1dJTkRPV1MgMQp8ICNkZWZpbmUgbXlfc3RyZnRpbWUgbnN0cmZ0aW1lCnwg I2RlZmluZSBfUkVHRVhfSU5DTFVERV9MSU1JVFNfSCAxCnwgI2RlZmluZSBfUkVHRVhfTEFSR0Vf T0ZGU0VUUyAxCnwgI2RlZmluZSByZV9zeW50YXhfb3B0aW9ucyBycGxfcmVfc3ludGF4X29wdGlv bnMKfCAjZGVmaW5lIHJlX3NldF9zeW50YXggcnBsX3JlX3NldF9zeW50YXgKfCAjZGVmaW5lIHJl X2NvbXBpbGVfcGF0dGVybiBycGxfcmVfY29tcGlsZV9wYXR0ZXJuCnwgI2RlZmluZSByZV9jb21w aWxlX2Zhc3RtYXAgcnBsX3JlX2NvbXBpbGVfZmFzdG1hcAp8ICNkZWZpbmUgcmVfc2VhcmNoIHJw bF9yZV9zZWFyY2gKfCAjZGVmaW5lIHJlX3NlYXJjaF8yIHJwbF9yZV9zZWFyY2hfMgp8ICNkZWZp bmUgcmVfbWF0Y2ggcnBsX3JlX21hdGNoCnwgI2RlZmluZSByZV9tYXRjaF8yIHJwbF9yZV9tYXRj aF8yCnwgI2RlZmluZSByZV9zZXRfcmVnaXN0ZXJzIHJwbF9yZV9zZXRfcmVnaXN0ZXJzCnwgI2Rl ZmluZSByZV9jb21wIHJwbF9yZV9jb21wCnwgI2RlZmluZSByZV9leGVjIHJwbF9yZV9leGVjCnwg I2RlZmluZSByZWdjb21wIHJwbF9yZWdjb21wCnwgI2RlZmluZSByZWdleGVjIHJwbF9yZWdleGVj CnwgI2RlZmluZSByZWdlcnJvciBycGxfcmVnZXJyb3IKfCAjZGVmaW5lIHJlZ2ZyZWUgcnBsX3Jl Z2ZyZWUKfCAjZGVmaW5lIEhBVkVfTElCSU5UTF9IIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9JU0JM QU5LIDEKfCAjZGVmaW5lIF9fVVNFX01JTkdXX0FOU0lfU1RESU8gMQp8ICNkZWZpbmUgR05VTElC X1BSSU5URl9BVFRSSUJVVEVfRkxBVk9SX0dOVSAxCnwgI2RlZmluZSBHTlVMSUJfRlNDQU5GIDEK fCAjZGVmaW5lIEdOVUxJQl9TQ0FORiAxCnwgI2RlZmluZSBubGlua190IGludAp8ICNkZWZpbmUg R05VTElCX1RFTVBOQU1FIDEKfCAjZGVmaW5lIEhBVkVfREVDTF9MT0NBTFRJTUVfUiAwCnwgI2Rl ZmluZSBVU0VfVU5MT0NLRURfSU8gMQp8ICNkZWZpbmUgSEFWRV9DX1ZBUkFSUkFZUyAxCnwgLyog ZW5kIGNvbmZkZWZzLmguICAqLwp8IC8qIERlZmluZSBfX21rdGltZV9pbnRlcm5hbCB0byBhbiBp bm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIF9fbWt0aW1lX2lu dGVybmFsLgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBn ZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgX19ta3RpbWVfaW50ZXJuYWwgaW5ub2N1b3VzX19f bWt0aW1lX2ludGVybmFsCnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1h Y3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxp Y3Qgd2l0aCBjaGFyIF9fbWt0aW1lX2ludGVybmFsICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxs aW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAg ICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8 IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGlu Y2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBfX21rdGltZV9pbnRlcm5hbAp8 IAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVy cm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlw ZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3 b3VsZCBzdGlsbCBhcHBseS4gICovCnwgI2lmZGVmIF9fY3BsdXNwbHVzCnwgZXh0ZXJuICJDIgp8 ICNlbmRpZgp8IGNoYXIgX19ta3RpbWVfaW50ZXJuYWwgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJh cnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0 byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBu YW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1l IGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfX19ta3RpbWVfaW50ZXJuYWwg fHwgZGVmaW5lZCBfX3N0dWJfX19fX21rdGltZV9pbnRlcm5hbAp8IGNob2tlIG1lCnwgI2VuZGlm CnwgCnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gX19ta3RpbWVfaW50ZXJuYWwgKCk7Cnwg ICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTozNDcwNTogcmVzdWx0OiBubwpjb25maWd1 cmU6MzUyMTc6IGNoZWNraW5nIGZvciBnY2MgIG9wdGlvbiB0byBkaXNhYmxlIHBvc2l0aW9uIGlu ZGVwZW5kZW50IGV4ZWN1dGFibGVzCmNvbmZpZ3VyZTozNTI1MjogcmVzdWx0OiBub3QgbmVlZGVk CmNvbmZpZ3VyZTozNTcwNDogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCgojIyAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tICMjCiMjIFJ1bm5pbmcgY29uZmlnLnN0YXR1cy4gIyMKIyMgLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSAjIwoKVGhpcyBmaWxlIHdhcyBleHRlbmRlZCBieSBHTlUgRW1hY3MgY29u ZmlnLnN0YXR1cyAyOC4wLjUwLCB3aGljaCB3YXMKZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAy LjY5LiAgSW52b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCgogIENPTkZJR19GSUxFUyAgICA9IAog IENPTkZJR19IRUFERVJTICA9IAogIENPTkZJR19MSU5LUyAgICA9IAogIENPTkZJR19DT01NQU5E UyA9IAogICQgLi9jb25maWcuc3RhdHVzIAoKb24gVldpbjQKCmNvbmZpZy5zdGF0dXM6MjA2NTog Y3JlYXRpbmcgbnQvZW1hY3MucmMKY29uZmlnLnN0YXR1czoyMDY1OiBjcmVhdGluZyBudC9lbWFj c2NsaWVudC5yYwpjb25maWcuc3RhdHVzOjIwNjU6IGNyZWF0aW5nIHNyYy9lbWFjcy1tb2R1bGUu aApjb25maWcuc3RhdHVzOjIwNjU6IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MjA2 NTogY3JlYXRpbmcgbGliL2dudWxpYi5tawpjb25maWcuc3RhdHVzOjIwNjU6IGNyZWF0aW5nIC4u L3NyYy9kb2MvbWFuL2VtYWNzLjEKY29uZmlnLnN0YXR1czoyMDY1OiBjcmVhdGluZyBsaWIvTWFr ZWZpbGUKY29uZmlnLnN0YXR1czoyMDY1OiBjcmVhdGluZyBsaWItc3JjL01ha2VmaWxlCmNvbmZp Zy5zdGF0dXM6MjA2NTogY3JlYXRpbmcgb2xkWE1lbnUvTWFrZWZpbGUKY29uZmlnLnN0YXR1czoy MDY1OiBjcmVhdGluZyBkb2MvZW1hY3MvTWFrZWZpbGUKY29uZmlnLnN0YXR1czoyMDY1OiBjcmVh dGluZyBkb2MvbWlzYy9NYWtlZmlsZQpjb25maWcuc3RhdHVzOjIwNjU6IGNyZWF0aW5nIGRvYy9s aXNwaW50cm8vTWFrZWZpbGUKY29uZmlnLnN0YXR1czoyMDY1OiBjcmVhdGluZyBkb2MvbGlzcHJl Zi9NYWtlZmlsZQpjb25maWcuc3RhdHVzOjIwNjU6IGNyZWF0aW5nIHNyYy9NYWtlZmlsZQpjb25m aWcuc3RhdHVzOjIwNjU6IGNyZWF0aW5nIGx3bGliL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MjA2 NTogY3JlYXRpbmcgbGlzcC9NYWtlZmlsZQpjb25maWcuc3RhdHVzOjIwNjU6IGNyZWF0aW5nIGxl aW0vTWFrZWZpbGUKY29uZmlnLnN0YXR1czoyMDY1OiBjcmVhdGluZyBuZXh0c3RlcC9NYWtlZmls ZQpjb25maWcuc3RhdHVzOjIwNjU6IGNyZWF0aW5nIG50L01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6 MjA2NTogY3JlYXRpbmcgdGVzdC9NYWtlZmlsZQpjb25maWcuc3RhdHVzOjIwNjU6IGNyZWF0aW5n IGFkbWluL2NoYXJzZXRzL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MjA2NTogY3JlYXRpbmcgYWRt aW4vdW5pZGF0YS9NYWtlZmlsZQpjb25maWcuc3RhdHVzOjIwNjU6IGNyZWF0aW5nIGFkbWluL2dy YW1tYXJzL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6MjA2NTogY3JlYXRpbmcgc3JjL2NvbmZpZy5o CmNvbmZpZy5zdGF0dXM6MjI1MDogZXhlY3V0aW5nIHNyYy9lcGF0aHMuaCBjb21tYW5kcwpjb25m aWcuc3RhdHVzOjIyNTA6IGV4ZWN1dGluZyBzcmMvLmdkYmluaXQgY29tbWFuZHMKY29uZmlnLnN0 YXR1czoyMjUwOiBleGVjdXRpbmcgZG9jL2VtYWNzL2VtYWNzdmVyLnRleGkgY29tbWFuZHMKY29u ZmlnLnN0YXR1czoyMjUwOiBleGVjdXRpbmcgZXRjLXJlZmNhcmRzLWVtYWNzdmVyLnRleCBjb21t YW5kcwpjb25maWd1cmU6MzY5ODg6IFdBUk5JTkc6IFRoaXMgY29uZmlndXJhdGlvbiBpbnN0YWxs cyBhICdtb3ZlbWFpbCcgcHJvZ3JhbQp0aGF0IHJldHJpZXZlcyBQT1AzIGVtYWlsIHZpYSBvbmx5 IGluc2VjdXJlIGNoYW5uZWxzLgpUbyBvbWl0IGluc2VjdXJlIFBPUDMsIHlvdSBjYW4gdXNlICcu Li9zcmMvY29uZmlndXJlIC0td2l0aG91dC1wb3AnLgoKIyMgLS0tLS0tLS0tLS0tLS0tLSAjIwoj IyBDYWNoZSB2YXJpYWJsZXMuICMjCiMjIC0tLS0tLS0tLS0tLS0tLS0gIyMKCmFjX2N2X2J1aWxk PXg4Nl82NC13NjQtbWluZ3czMgphY19jdl9jX2JpZ2VuZGlhbj1ubwphY19jdl9jX2NvbXBpbGVy X2dudT15ZXMKYWNfY3ZfY19mbGV4bWVtYmVyPXllcwphY19jdl9jX2lubGluZT1pbmxpbmUKYWNf Y3ZfY19yZXN0cmljdD1fX3Jlc3RyaWN0CmFjX2N2X2NfdHlwZW9mPXR5cGVvZgphY19jdl9jX3Zh cmFycmF5cz15ZXMKYWNfY3ZfZW52X0FMU0FfQ0ZMQUdTX3NldD0KYWNfY3ZfZW52X0FMU0FfQ0ZM QUdTX3ZhbHVlPQphY19jdl9lbnZfQUxTQV9MSUJTX3NldD0KYWNfY3ZfZW52X0FMU0FfTElCU192 YWx1ZT0KYWNfY3ZfZW52X0NBSVJPX0NGTEFHU19zZXQ9CmFjX2N2X2Vudl9DQUlST19DRkxBR1Nf dmFsdWU9CmFjX2N2X2Vudl9DQUlST19MSUJTX3NldD0KYWNfY3ZfZW52X0NBSVJPX0xJQlNfdmFs dWU9CmFjX2N2X2Vudl9DQ19zZXQ9CmFjX2N2X2Vudl9DQ192YWx1ZT0KYWNfY3ZfZW52X0NGTEFH U19zZXQ9CmFjX2N2X2Vudl9DRkxBR1NfdmFsdWU9CmFjX2N2X2Vudl9DUFBGTEFHU19zZXQ9CmFj X2N2X2Vudl9DUFBGTEFHU192YWx1ZT0KYWNfY3ZfZW52X0NQUF9zZXQ9CmFjX2N2X2Vudl9DUFBf dmFsdWU9CmFjX2N2X2Vudl9EQlVTX0NGTEFHU19zZXQ9CmFjX2N2X2Vudl9EQlVTX0NGTEFHU192 YWx1ZT0KYWNfY3ZfZW52X0RCVVNfTElCU19zZXQ9CmFjX2N2X2Vudl9EQlVTX0xJQlNfdmFsdWU9 CmFjX2N2X2Vudl9GT05UQ09ORklHX0NGTEFHU19zZXQ9CmFjX2N2X2Vudl9GT05UQ09ORklHX0NG TEFHU192YWx1ZT0KYWNfY3ZfZW52X0ZPTlRDT05GSUdfTElCU19zZXQ9CmFjX2N2X2Vudl9GT05U Q09ORklHX0xJQlNfdmFsdWU9CmFjX2N2X2Vudl9GUkVFVFlQRV9DRkxBR1Nfc2V0PQphY19jdl9l bnZfRlJFRVRZUEVfQ0ZMQUdTX3ZhbHVlPQphY19jdl9lbnZfRlJFRVRZUEVfTElCU19zZXQ9CmFj X2N2X2Vudl9GUkVFVFlQRV9MSUJTX3ZhbHVlPQphY19jdl9lbnZfR0NPTkZfQ0ZMQUdTX3NldD0K YWNfY3ZfZW52X0dDT05GX0NGTEFHU192YWx1ZT0KYWNfY3ZfZW52X0dDT05GX0xJQlNfc2V0PQph Y19jdl9lbnZfR0NPTkZfTElCU192YWx1ZT0KYWNfY3ZfZW52X0dGSUxFTk9USUZZX0NGTEFHU19z ZXQ9CmFjX2N2X2Vudl9HRklMRU5PVElGWV9DRkxBR1NfdmFsdWU9CmFjX2N2X2Vudl9HRklMRU5P VElGWV9MSUJTX3NldD0KYWNfY3ZfZW52X0dGSUxFTk9USUZZX0xJQlNfdmFsdWU9CmFjX2N2X2Vu dl9HT0JKRUNUX0NGTEFHU19zZXQ9CmFjX2N2X2Vudl9HT0JKRUNUX0NGTEFHU192YWx1ZT0KYWNf Y3ZfZW52X0dPQkpFQ1RfTElCU19zZXQ9CmFjX2N2X2Vudl9HT0JKRUNUX0xJQlNfdmFsdWU9CmFj X2N2X2Vudl9HU0VUVElOR1NfQ0ZMQUdTX3NldD0KYWNfY3ZfZW52X0dTRVRUSU5HU19DRkxBR1Nf dmFsdWU9CmFjX2N2X2Vudl9HU0VUVElOR1NfTElCU19zZXQ9CmFjX2N2X2Vudl9HU0VUVElOR1Nf TElCU192YWx1ZT0KYWNfY3ZfZW52X0dUS19DRkxBR1Nfc2V0PQphY19jdl9lbnZfR1RLX0NGTEFH U192YWx1ZT0KYWNfY3ZfZW52X0dUS19MSUJTX3NldD0KYWNfY3ZfZW52X0dUS19MSUJTX3ZhbHVl PQphY19jdl9lbnZfSEFSRkJVWlpfQ0ZMQUdTX3NldD0KYWNfY3ZfZW52X0hBUkZCVVpaX0NGTEFH U192YWx1ZT0KYWNfY3ZfZW52X0hBUkZCVVpaX0xJQlNfc2V0PQphY19jdl9lbnZfSEFSRkJVWlpf TElCU192YWx1ZT0KYWNfY3ZfZW52X0lNQUdFTUFHSUNLX0NGTEFHU19zZXQ9CmFjX2N2X2Vudl9J TUFHRU1BR0lDS19DRkxBR1NfdmFsdWU9CmFjX2N2X2Vudl9JTUFHRU1BR0lDS19MSUJTX3NldD0K YWNfY3ZfZW52X0lNQUdFTUFHSUNLX0xJQlNfdmFsdWU9CmFjX2N2X2Vudl9KU09OX0NGTEFHU19z ZXQ9CmFjX2N2X2Vudl9KU09OX0NGTEFHU192YWx1ZT0KYWNfY3ZfZW52X0pTT05fTElCU19zZXQ9 CmFjX2N2X2Vudl9KU09OX0xJQlNfdmFsdWU9CmFjX2N2X2Vudl9LUVVFVUVfQ0ZMQUdTX3NldD0K YWNfY3ZfZW52X0tRVUVVRV9DRkxBR1NfdmFsdWU9CmFjX2N2X2Vudl9LUVVFVUVfTElCU19zZXQ9 CmFjX2N2X2Vudl9LUVVFVUVfTElCU192YWx1ZT0KYWNfY3ZfZW52X0xDTVMyX0NGTEFHU19zZXQ9 CmFjX2N2X2Vudl9MQ01TMl9DRkxBR1NfdmFsdWU9CmFjX2N2X2Vudl9MQ01TMl9MSUJTX3NldD0K YWNfY3ZfZW52X0xDTVMyX0xJQlNfdmFsdWU9CmFjX2N2X2Vudl9MREZMQUdTX3NldD0KYWNfY3Zf ZW52X0xERkxBR1NfdmFsdWU9CmFjX2N2X2Vudl9MSUJHTlVUTFNfQ0ZMQUdTX3NldD0KYWNfY3Zf ZW52X0xJQkdOVVRMU19DRkxBR1NfdmFsdWU9CmFjX2N2X2Vudl9MSUJHTlVUTFNfTElCU19zZXQ9 CmFjX2N2X2Vudl9MSUJHTlVUTFNfTElCU192YWx1ZT0KYWNfY3ZfZW52X0xJQk9URl9DRkxBR1Nf c2V0PQphY19jdl9lbnZfTElCT1RGX0NGTEFHU192YWx1ZT0KYWNfY3ZfZW52X0xJQk9URl9MSUJT X3NldD0KYWNfY3ZfZW52X0xJQk9URl9MSUJTX3ZhbHVlPQphY19jdl9lbnZfTElCU1lTVEVNRF9D RkxBR1Nfc2V0PQphY19jdl9lbnZfTElCU1lTVEVNRF9DRkxBR1NfdmFsdWU9CmFjX2N2X2Vudl9M SUJTWVNURU1EX0xJQlNfc2V0PQphY19jdl9lbnZfTElCU1lTVEVNRF9MSUJTX3ZhbHVlPQphY19j dl9lbnZfTElCU19zZXQ9CmFjX2N2X2Vudl9MSUJTX3ZhbHVlPQphY19jdl9lbnZfTElCWE1MMl9D RkxBR1Nfc2V0PQphY19jdl9lbnZfTElCWE1MMl9DRkxBR1NfdmFsdWU9CmFjX2N2X2Vudl9MSUJY TUwyX0xJQlNfc2V0PQphY19jdl9lbnZfTElCWE1MMl9MSUJTX3ZhbHVlPQphY19jdl9lbnZfTTE3 Tl9GTFRfQ0ZMQUdTX3NldD0KYWNfY3ZfZW52X00xN05fRkxUX0NGTEFHU192YWx1ZT0KYWNfY3Zf ZW52X00xN05fRkxUX0xJQlNfc2V0PQphY19jdl9lbnZfTTE3Tl9GTFRfTElCU192YWx1ZT0KYWNf Y3ZfZW52X09CSkNGTEFHU19zZXQ9CmFjX2N2X2Vudl9PQkpDRkxBR1NfdmFsdWU9CmFjX2N2X2Vu dl9PQkpDX3NldD0KYWNfY3ZfZW52X09CSkNfdmFsdWU9CmFjX2N2X2Vudl9QS0dfQ09ORklHX0xJ QkRJUl9zZXQ9CmFjX2N2X2Vudl9QS0dfQ09ORklHX0xJQkRJUl92YWx1ZT0KYWNfY3ZfZW52X1BL R19DT05GSUdfUEFUSF9zZXQ9c2V0CmFjX2N2X2Vudl9QS0dfQ09ORklHX1BBVEhfdmFsdWU9L21p bmd3NjQvbGliL3BrZ2NvbmZpZzovbWluZ3c2NC9zaGFyZS9wa2djb25maWcKYWNfY3ZfZW52X1BL R19DT05GSUdfc2V0PQphY19jdl9lbnZfUEtHX0NPTkZJR192YWx1ZT0KYWNfY3ZfZW52X1BOR19D RkxBR1Nfc2V0PQphY19jdl9lbnZfUE5HX0NGTEFHU192YWx1ZT0KYWNfY3ZfZW52X1BOR19MSUJT X3NldD0KYWNfY3ZfZW52X1BOR19MSUJTX3ZhbHVlPQphY19jdl9lbnZfUlNWR19DRkxBR1Nfc2V0 PQphY19jdl9lbnZfUlNWR19DRkxBR1NfdmFsdWU9CmFjX2N2X2Vudl9SU1ZHX0xJQlNfc2V0PQph Y19jdl9lbnZfUlNWR19MSUJTX3ZhbHVlPQphY19jdl9lbnZfV0VCS0lUX0NGTEFHU19zZXQ9CmFj X2N2X2Vudl9XRUJLSVRfQ0ZMQUdTX3ZhbHVlPQphY19jdl9lbnZfV0VCS0lUX0xJQlNfc2V0PQph Y19jdl9lbnZfV0VCS0lUX0xJQlNfdmFsdWU9CmFjX2N2X2Vudl9YRklYRVNfQ0ZMQUdTX3NldD0K YWNfY3ZfZW52X1hGSVhFU19DRkxBR1NfdmFsdWU9CmFjX2N2X2Vudl9YRklYRVNfTElCU19zZXQ9 CmFjX2N2X2Vudl9YRklYRVNfTElCU192YWx1ZT0KYWNfY3ZfZW52X1hGVF9DRkxBR1Nfc2V0PQph Y19jdl9lbnZfWEZUX0NGTEFHU192YWx1ZT0KYWNfY3ZfZW52X1hGVF9MSUJTX3NldD0KYWNfY3Zf ZW52X1hGVF9MSUJTX3ZhbHVlPQphY19jdl9lbnZfWElORVJBTUFfQ0ZMQUdTX3NldD0KYWNfY3Zf ZW52X1hJTkVSQU1BX0NGTEFHU192YWx1ZT0KYWNfY3ZfZW52X1hJTkVSQU1BX0xJQlNfc2V0PQph Y19jdl9lbnZfWElORVJBTUFfTElCU192YWx1ZT0KYWNfY3ZfZW52X1hNS01GX3NldD0KYWNfY3Zf ZW52X1hNS01GX3ZhbHVlPQphY19jdl9lbnZfWFJBTkRSX0NGTEFHU19zZXQ9CmFjX2N2X2Vudl9Y UkFORFJfQ0ZMQUdTX3ZhbHVlPQphY19jdl9lbnZfWFJBTkRSX0xJQlNfc2V0PQphY19jdl9lbnZf WFJBTkRSX0xJQlNfdmFsdWU9CmFjX2N2X2Vudl9idWlsZF9hbGlhc19zZXQ9CmFjX2N2X2Vudl9i dWlsZF9hbGlhc192YWx1ZT0KYWNfY3ZfZW52X2hvc3RfYWxpYXNfc2V0PQphY19jdl9lbnZfaG9z dF9hbGlhc192YWx1ZT0KYWNfY3ZfZW52X3RhcmdldF9hbGlhc19zZXQ9CmFjX2N2X2Vudl90YXJn ZXRfYWxpYXNfdmFsdWU9CmFjX2N2X2V4ZWV4dD0uZXhlCmFjX2N2X2Z1bmNfX19leGVjdXRhYmxl X3N0YXJ0PW5vCmFjX2N2X2Z1bmNfX19sc2FuX2lnbm9yZV9vYmplY3Q9bm8KYWNfY3ZfZnVuY19f X21rdGltZV9pbnRlcm5hbD1ubwphY19jdl9mdW5jX2FjY2VwdDQ9bm8KYWNfY3ZfZnVuY19hY2xf Y29weV9leHRfbmF0aXZlPW5vCmFjX2N2X2Z1bmNfYWNsX2NyZWF0ZV9lbnRyeV9ucD1ubwphY19j dl9mdW5jX2FjbF9kZWxldGVfZGVmX2ZpbGU9bm8KYWNfY3ZfZnVuY19hY2xfZGVsZXRlX2ZkX25w PW5vCmFjX2N2X2Z1bmNfYWNsX2RlbGV0ZV9maWxlX25wPW5vCmFjX2N2X2Z1bmNfYWNsX2VudHJp ZXM9bm8KYWNfY3ZfZnVuY19hY2xfZXh0ZW5kZWRfZmlsZT1ubwphY19jdl9mdW5jX2FjbF9mcmVl PXllcwphY19jdl9mdW5jX2FjbF9mcmVlX3RleHQ9bm8KYWNfY3ZfZnVuY19hY2xfZnJvbV9tb2Rl PW5vCmFjX2N2X2Z1bmNfYWNsX2Zyb21fdGV4dD15ZXMKYWNfY3ZfZnVuY19hY2xfZ2V0X2ZkPW5v CmFjX2N2X2Z1bmNfYWNsX2dldF9maWxlPXllcwphY19jdl9mdW5jX2FjbF9zZXRfZmQ9bm8KYWNf Y3ZfZnVuY19hY2xfc2V0X2ZpbGU9eWVzCmFjX2N2X2Z1bmNfYWNsX3RvX3Nob3J0X3RleHQ9bm8K YWNfY3ZfZnVuY19hbGlnbmVkX2FsbG9jPW5vCmFjX2N2X2Z1bmNfYWxsb2NhX3dvcmtzPXllcwph Y19jdl9mdW5jX2Nhbm9uaWNhbGl6ZV9maWxlX25hbWU9eWVzCmFjX2N2X2Z1bmNfY2ZtYWtlcmF3 PW5vCmFjX2N2X2Z1bmNfY2ZzZXRzcGVlZD1ubwphY19jdl9mdW5jX2Nsb2NrX2dldHRpbWU9bm8K YWNfY3ZfZnVuY19jbG9ja19zZXR0aW1lPW5vCmFjX2N2X2Z1bmNfZGxhZGRyPW5vCmFjX2N2X2Z1 bmNfZGxmdW5jPW5vCmFjX2N2X2Z1bmNfZW5kZ3JlbnQ9bm8KYWNfY3ZfZnVuY19lbmRwd2VudD1u bwphY19jdl9mdW5jX2V4cGxpY2l0X2J6ZXJvPXllcwphY19jdl9mdW5jX2ZhY2Nlc3NhdD15ZXMK YWNfY3ZfZnVuY19mY2hkaXI9bm8KYWNfY3ZfZnVuY19mY2htb2Q9bm8KYWNfY3ZfZnVuY19mY2ht b2RhdD15ZXMKYWNfY3ZfZnVuY19mY250bD15ZXMKYWNfY3ZfZnVuY19mZGF0YXN5bmM9eWVzCmFj X2N2X2Z1bmNfZmRvcGVuZGlyPW5vdC1uZWVkZWQKYWNfY3ZfZnVuY19mb3JrPW5vCmFjX2N2X2Z1 bmNfZm9ya193b3Jrcz1ubwphY19jdl9mdW5jX2ZyZWVpZmFkZHJzPW5vCmFjX2N2X2Z1bmNfZnN0 YXRhdD15ZXMKYWNfY3ZfZnVuY19mc3luYz15ZXMKYWNfY3ZfZnVuY19mdXRpbWVucz1ub3QtbmVl ZGVkCmFjX2N2X2Z1bmNfZnV0aW1lcz1ubwphY19jdl9mdW5jX2Z1dGltZXNhdD1ubwphY19jdl9m dW5jX2dhaV9zdHJlcnJvcj15ZXMKYWNfY3ZfZnVuY19nZXRfY3VycmVudF9kaXJfbmFtZT1ubwph Y19jdl9mdW5jX2dldGFkZHJpbmZvPXllcwphY19jdl9mdW5jX2dldGR0YWJsZXNpemU9bm8KYWNf Y3ZfZnVuY19nZXRncmVudD1ubwphY19jdl9mdW5jX2dldGhvc3RuYW1lPXllcwphY19jdl9mdW5j X2dldGlmYWRkcnM9bm8KYWNfY3ZfZnVuY19nZXRsb2FkYXZnPXllcwphY19jdl9mdW5jX2dldHBh Z2VzaXplPXllcwphY19jdl9mdW5jX2dldHBlZXJuYW1lPXllcwphY19jdl9mdW5jX2dldHB0PW5v CmFjX2N2X2Z1bmNfZ2V0cHdlbnQ9bm8KYWNfY3ZfZnVuY19nZXRyYW5kb209bm8KYWNfY3ZfZnVu Y19nZXRybGltaXQ9eWVzCmFjX2N2X2Z1bmNfZ2V0cnVzYWdlPW5vCmFjX2N2X2Z1bmNfZ2V0c29j a25hbWU9eWVzCmFjX2N2X2Z1bmNfZ2V0dGltZW9mZGF5PXllcwphY19jdl9mdW5jX2dyYW50cHQ9 bm8KYWNfY3ZfZnVuY19pc2JsYW5rPXllcwphY19jdl9mdW5jX2lzd2N0eXBlPXllcwphY19jdl9m dW5jX2xjaG1vZD15ZXMKYWNfY3ZfZnVuY19sb2NhbHRpbWVfcj1ubwphY19jdl9mdW5jX2xvZzI9 eWVzCmFjX2N2X2Z1bmNfbHJhbmQ0OD1ubwphY19jdl9mdW5jX2xzdGF0PXllcwphY19jdl9mdW5j X2x1dGltZXM9bm8KYWNfY3ZfZnVuY19tYWxsb2NfMF9ub25udWxsPXllcwphY19jdl9mdW5jX21l bW1lbT1ubwphY19jdl9mdW5jX21lbXBjcHk9eWVzCmFjX2N2X2Z1bmNfbWVtcmNocj1ubwphY19j dl9mdW5jX21lbXNldF9zPW5vCmFjX2N2X2Z1bmNfbWtvc3RlbXA9bm8KYWNfY3ZfZnVuY19tbWFw X2ZpeGVkX21hcHBlZD1ubwphY19jdl9mdW5jX25ld2xvY2FsZT1ubwphY19jdl9mdW5jX3BpcGUy PXllcwphY19jdl9mdW5jX3Bvc2l4X21hZHZpc2U9bm8KYWNfY3ZfZnVuY19wb3NpeF9tZW1hbGln bj1ubwphY19jdl9mdW5jX3Bvc2l4X29wZW5wdD1ubwphY19jdl9mdW5jX3BzZWxlY3Q9eWVzCmFj X2N2X2Z1bmNfcHRocmVhZF9zZXRfbmFtZV9ucD1ubwphY19jdl9mdW5jX3B0aHJlYWRfc2V0bmFt ZV9ucD15ZXMKYWNfY3ZfZnVuY19wdGhyZWFkX3NpZ21hc2s9eWVzCmFjX2N2X2Z1bmNfcmFuZG9t PXllcwphY19jdl9mdW5jX3JlYWRsaW5rPXllcwphY19jdl9mdW5jX3JlYWRsaW5rYXQ9eWVzCmFj X2N2X2Z1bmNfcmVhbHBhdGg9bm90LW5lZWRlZAphY19jdl9mdW5jX3JlY3Zmcm9tPXllcwphY19j dl9mdW5jX3JpbnQ9eWVzCmFjX2N2X2Z1bmNfc2Jyaz15ZXMKYWNfY3ZfZnVuY19zZWxlY3Q9eWVz CmFjX2N2X2Z1bmNfc2VuZHRvPXllcwphY19jdl9mdW5jX3NldGl0aW1lcj15ZXMKYWNfY3ZfZnVu Y19zZXRsb2NhbGU9eWVzCmFjX2N2X2Z1bmNfc2V0cmxpbWl0PXllcwphY19jdl9mdW5jX3NodXRk b3duPXllcwphY19jdl9mdW5jX3NpZzJzdHI9bm8KYWNfY3ZfZnVuY19zaWdkZXNjcl9ucD1ubwph Y19jdl9mdW5jX3NucHJpbnRmPXllcwphY19jdl9mdW5jX3NvY2tldD15ZXMKYWNfY3ZfZnVuY19z dHBjcHk9bm8KYWNfY3ZfZnVuY19zdHJubGVuX3dvcmtpbmc9eWVzCmFjX2N2X2Z1bmNfc3Ryc2ln bmFsPXllcwphY19jdl9mdW5jX3N0cnRvaW1heD15ZXMKYWNfY3ZfZnVuY19zeW1saW5rPXllcwph Y19jdl9mdW5jX3N5bmM9bm8KYWNfY3ZfZnVuY190aW1lZ209bm8KYWNfY3ZfZnVuY190aW1lcl9n ZXRvdmVycnVuPW5vCmFjX2N2X2Z1bmNfdGltZXJfc2V0dGltZT1ubwphY19jdl9mdW5jX3RydW5j PXllcwphY19jdl9mdW5jX3Vuc2V0ZW52PXllcwphY19jdl9mdW5jX3V0aW1lbnNhdD15ZXMKYWNf Y3ZfZnVuY192Zm9yaz1ubwphY19jdl9mdW5jX3Zmb3JrX3dvcmtzPW5vCmFjX2N2X2dudV9saWJy YXJ5XzJfMT1ubwphY19jdl9oYXZlX2RlY2xfYWxhcm09eWVzCmFjX2N2X2hhdmVfZGVjbF9hbGln bmVkX2FsbG9jPW5vCmFjX2N2X2hhdmVfZGVjbF9jbGVhcmVycl91bmxvY2tlZD1ubwphY19jdl9o YXZlX2RlY2xfZmRvcGVuZGlyPW5vCmFjX2N2X2hhdmVfZGVjbF9mZW9mX3VubG9ja2VkPW5vCmFj X2N2X2hhdmVfZGVjbF9mZXJyb3JfdW5sb2NrZWQ9bm8KYWNfY3ZfaGF2ZV9kZWNsX2ZmbHVzaF91 bmxvY2tlZD1ubwphY19jdl9oYXZlX2RlY2xfZmdldHNfdW5sb2NrZWQ9bm8KYWNfY3ZfaGF2ZV9k ZWNsX2ZwdXRjX3VubG9ja2VkPW5vCmFjX2N2X2hhdmVfZGVjbF9mcHV0c191bmxvY2tlZD1ubwph Y19jdl9oYXZlX2RlY2xfZnJlYWRfdW5sb2NrZWQ9bm8KYWNfY3ZfaGF2ZV9kZWNsX2Z3cml0ZV91 bmxvY2tlZD1ubwphY19jdl9oYXZlX2RlY2xfZ2V0Y191bmxvY2tlZD1ubwphY19jdl9oYXZlX2Rl Y2xfZ2V0Y2hhcl91bmxvY2tlZD1ubwphY19jdl9oYXZlX2RlY2xfZ2V0ZHRhYmxlc2l6ZT1ubwph Y19jdl9oYXZlX2RlY2xfZ2V0bG9hZGF2Zz1ubwphY19jdl9oYXZlX2RlY2xfaXNibGFuaz15ZXMK YWNfY3ZfaGF2ZV9kZWNsX2xvY2FsdGltZV9yPW5vCmFjX2N2X2hhdmVfZGVjbF9tZW1tZW09bm8K YWNfY3ZfaGF2ZV9kZWNsX21lbXJjaHI9bm8KYWNfY3ZfaGF2ZV9kZWNsX3BuZ19sb25nam1wPXll cwphY19jdl9oYXZlX2RlY2xfcHV0Y191bmxvY2tlZD1ubwphY19jdl9oYXZlX2RlY2xfcHV0Y2hh cl91bmxvY2tlZD1ubwphY19jdl9oYXZlX2RlY2xfc3RybW9kZT1ubwphY19jdl9oYXZlX2RlY2xf c3Rybmxlbj15ZXMKYWNfY3ZfaGF2ZV9kZWNsX3N0cnRvaW1heD15ZXMKYWNfY3ZfaGF2ZV9kZWNs X3R6bmFtZT15ZXMKYWNfY3ZfaGF2ZV9kZWNsX3Vuc2V0ZW52PXllcwphY19jdl9oYXZlX3g9aGF2 ZV94PW5vCmFjX2N2X2hlYWRlcl9YMTFfeHBtX2g9eWVzCmFjX2N2X2hlYWRlcl9hY2xfbGliYWNs X2g9bm8KYWNfY3ZfaGVhZGVyX2JjcnlwdF9oPXllcwphY19jdl9oZWFkZXJfYnl0ZXN3YXBfaD1u bwphY19jdl9oZWFkZXJfY29mZl9oPW5vCmFjX2N2X2hlYWRlcl9kaXJlbnRfaD15ZXMKYWNfY3Zf aGVhZGVyX2V4ZWNpbmZvX2g9bm8KYWNfY3ZfaGVhZGVyX2dldG9wdF9oPW5vCmFjX2N2X2hlYWRl cl9naWZfbGliX2g9eWVzCmFjX2N2X2hlYWRlcl9nbXBfaD15ZXMKYWNfY3ZfaGVhZGVyX2dwbV9o PW5vCmFjX2N2X2hlYWRlcl9pZWVlNzU0X2g9bm8KYWNfY3ZfaGVhZGVyX2lmYWRkcnNfaD1ubwph Y19jdl9oZWFkZXJfaW50dHlwZXNfaD15ZXMKYWNfY3ZfaGVhZGVyX2xpYmdjY2ppdF9oPXllcwph Y19jdl9oZWFkZXJfbGliaW50bF9oPXllcwphY19jdl9oZWFkZXJfbGltaXRzX2g9eWVzCmFjX2N2 X2hlYWRlcl9saW51eF9mc19oPW5vCmFjX2N2X2hlYWRlcl9tYWNoaW5lX3NvdW5kY2FyZF9oPW5v CmFjX2N2X2hlYWRlcl9tYWlsbG9ja19oPW5vCmFjX2N2X2hlYWRlcl9tYWxsb2NfaD15ZXMKYWNf Y3ZfaGVhZGVyX21hbGxvY19tYWxsb2NfaD1ubwphY19jdl9oZWFkZXJfbWVtb3J5X2g9eWVzCmFj X2N2X2hlYWRlcl9taW5peF9jb25maWdfaD1ubwphY19jdl9oZWFkZXJfbW1zeXN0ZW1faD15ZXMK YWNfY3ZfaGVhZGVyX25ldF9pZl9kbF9oPW5vCmFjX2N2X2hlYWRlcl9uZXRfaWZfaD1ubwphY19j dl9oZWFkZXJfcG5nX2g9eWVzCmFjX2N2X2hlYWRlcl9wdGhyZWFkX2g9bm8KYWNfY3ZfaGVhZGVy X3B0eV9oPW5vCmFjX2N2X2hlYWRlcl9wd2RfaD15ZXMKYWNfY3ZfaGVhZGVyX3Nhbml0aXplcl9s c2FuX2ludGVyZmFjZV9oPW5vCmFjX2N2X2hlYWRlcl9zb3VuZGNhcmRfaD1ubwphY19jdl9oZWFk ZXJfc3RhdF9icm9rZW49bm8KYWNfY3ZfaGVhZGVyX3N0ZGM9eWVzCmFjX2N2X2hlYWRlcl9zdGRp bnRfaD15ZXMKYWNfY3ZfaGVhZGVyX3N0ZGlvX2V4dF9oPW5vCmFjX2N2X2hlYWRlcl9zdGRsaWJf aD15ZXMKYWNfY3ZfaGVhZGVyX3N0cmluZ19oPXllcwphY19jdl9oZWFkZXJfc3RyaW5nc19oPXll cwphY19jdl9oZWFkZXJfc3lzX2FjbF9oPXllcwphY19jdl9oZWFkZXJfc3lzX2NkZWZzX2g9eWVz CmFjX2N2X2hlYWRlcl9zeXNfZnNfdHlwZXNfaD1ubwphY19jdl9oZWFkZXJfc3lzX2xvYWRhdmdf aD1ubwphY19jdl9oZWFkZXJfc3lzX21vdW50X2g9bm8KYWNfY3ZfaGVhZGVyX3N5c19wYXJhbV9o PXllcwphY19jdl9oZWFkZXJfc3lzX3JhbmRvbV9oPW5vCmFjX2N2X2hlYWRlcl9zeXNfcmVzb3Vy Y2VfaD15ZXMKYWNfY3ZfaGVhZGVyX3N5c19zZWxlY3RfaD1ubwphY19jdl9oZWFkZXJfc3lzX3Nv Y2tldF9oPXllcwphY19jdl9oZWFkZXJfc3lzX3NvdW5kY2FyZF9oPW5vCmFjX2N2X2hlYWRlcl9z eXNfc3RhdF9oPXllcwphY19jdl9oZWFkZXJfc3lzX3N5c2luZm9faD1ubwphY19jdl9oZWFkZXJf c3lzX3N5c3RlbWluZm9faD1ubwphY19jdl9oZWFkZXJfc3lzX3RpbWVfaD15ZXMKYWNfY3ZfaGVh ZGVyX3N5c190eXBlc19oPXllcwphY19jdl9oZWFkZXJfc3lzX3VuX2g9bm8KYWNfY3ZfaGVhZGVy X3N5c191dHNuYW1lX2g9bm8KYWNfY3ZfaGVhZGVyX3N5c192ZnNfaD1ubwphY19jdl9oZWFkZXJf c3lzX3dhaXRfaD15ZXMKYWNfY3ZfaGVhZGVyX3Rlcm1faD1ubwphY19jdl9oZWFkZXJfdGlmZmlv X2g9eWVzCmFjX2N2X2hlYWRlcl90aW1lPXllcwphY19jdl9oZWFkZXJfdW5pc3RkX2g9eWVzCmFj X2N2X2hlYWRlcl91dGlsX2g9bm8KYWNfY3ZfaGVhZGVyX3V0bXBfaD1ubwphY19jdl9oZWFkZXJf dmFsZ3JpbmRfdmFsZ3JpbmRfaD1ubwphY19jdl9oZWFkZXJfdmZvcmtfaD1ubwphY19jdl9oZWFk ZXJfd2NoYXJfaD15ZXMKYWNfY3ZfaGVhZGVyX3dpbmRvd3NfaD15ZXMKYWNfY3ZfaG9zdD14ODZf NjQtdzY0LW1pbmd3MzIKYWNfY3ZfbGliX1hic2RfbWFpbj1ubwphY19jdl9saWJfYW5sX2dldGFk ZHJpbmZvX2E9bm8KYWNfY3ZfbGliX2djY2ppdF9nY2Nfaml0X2NvbnRleHRfYWNxdWlyZT15ZXMK YWNfY3ZfbGliX2xvY2tmaWxlX21haWxsb2NrPW5vCmFjX2N2X2xpYl9tYWlsX21haWxsb2NrPW5v CmFjX2N2X2xpYl9vc3NhdWRpb19fb3NzX2lvY3RsPW5vCmFjX2N2X2xpYl9zZWxpbnV4X2xnZXRm aWxlY29uPW5vCmFjX2N2X21lbWJlcl9zdHJ1Y3RfaWZyZXFfaWZyX2FkZHI9bm8KYWNfY3ZfbWVt YmVyX3N0cnVjdF9pZnJlcV9pZnJfYWRkcl9zYV9sZW49bm8KYWNfY3ZfbWVtYmVyX3N0cnVjdF9p ZnJlcV9pZnJfYnJvYWRhZGRyPW5vCmFjX2N2X21lbWJlcl9zdHJ1Y3RfaWZyZXFfaWZyX2ZsYWdz PW5vCmFjX2N2X21lbWJlcl9zdHJ1Y3RfaWZyZXFfaWZyX2h3YWRkcj1ubwphY19jdl9tZW1iZXJf c3RydWN0X2lmcmVxX2lmcl9uZXRtYXNrPW5vCmFjX2N2X21lbWJlcl9zdHJ1Y3Rfc3RhdF9zdF9h dGltX3N0X190aW1fdHZfbnNlYz1ubwphY19jdl9tZW1iZXJfc3RydWN0X3N0YXRfc3RfYXRpbV90 dl9uc2VjPW5vCmFjX2N2X21lbWJlcl9zdHJ1Y3Rfc3RhdF9zdF9hdGltZW5zZWM9bm8KYWNfY3Zf bWVtYmVyX3N0cnVjdF9zdGF0X3N0X2F0aW1lc3BlY190dl9uc2VjPW5vCmFjX2N2X21lbWJlcl9z dHJ1Y3Rfc3RhdF9zdF9iaXJ0aHRpbV90dl9uc2VjPW5vCmFjX2N2X21lbWJlcl9zdHJ1Y3Rfc3Rh dF9zdF9iaXJ0aHRpbWVuc2VjPW5vCmFjX2N2X21lbWJlcl9zdHJ1Y3Rfc3RhdF9zdF9iaXJ0aHRp bWVzcGVjX3R2X25zZWM9bm8KYWNfY3ZfbWVtYmVyX3N0cnVjdF90bV90bV9nbXRvZmY9bm8KYWNf Y3ZfbWVtYmVyX3N0cnVjdF90bV90bV96b25lPW5vCmFjX2N2X21lbWJlcl9zdHJ1Y3RfdW5pcGFp cl91bmljb2RlPW5vCmFjX2N2X29iamV4dD1vCmFjX2N2X3BhdGhfRUdSRVA9Jy91c3IvYmluL2dy ZXAgLUUnCmFjX2N2X3BhdGhfR1JFUD0vdXNyL2Jpbi9ncmVwCmFjX2N2X3BhdGhfR1pJUF9QUk9H PS91c3IvYmluL2d6aXAKYWNfY3ZfcGF0aF9JTlNUQUxMX0lORk89L3Vzci9iaW4vaW5zdGFsbC1p bmZvCmFjX2N2X3BhdGhfTUFLRT1tYWtlCmFjX2N2X3BhdGhfYWNfcHRfUEtHX0NPTkZJRz0vbWlu Z3c2NC9iaW4vcGtnLWNvbmZpZwphY19jdl9wYXRoX2luc3RhbGw9Jy91c3IvYmluL2luc3RhbGwg LWMnCmFjX2N2X3BhdGhfbWtkaXI9L3Vzci9iaW4vbWtkaXIKYWNfY3ZfcHJvZ19BV0s9Z2F3awph Y19jdl9wcm9nX0NQUD0nZ2NjIC1JIC4uL3NyYy9udC9pbmMgLUUnCmFjX2N2X3Byb2dfYWNfY3Rf QVI9YXIKYWNfY3ZfcHJvZ19hY19jdF9DQz1nY2MKYWNfY3ZfcHJvZ19hY19jdF9SQU5MSUI9cmFu bGliCmFjX2N2X3Byb2dfYWNfY3RfV0lORFJFUz13aW5kcmVzCmFjX2N2X3Byb2dfY2NfYzExPQph Y19jdl9wcm9nX2NjX2c9eWVzCmFjX2N2X3Byb2dfY2NfZ2NjX2Nfbz15ZXMKYWNfY3ZfcHJvZ19j Y19zdGRjPQphY19jdl9wcm9nX2xpYmxvY2tmaWxlPW5vCmFjX2N2X3NhZmVfdG9fZGVmaW5lX19f ZXh0ZW5zaW9uc19fPXllcwphY19jdl9zZWFyY2hfX19nbXB6X3JvaW5pdF9uPS1sZ21wCmFjX2N2 X3NlYXJjaF9hY2xfZ2V0X2ZpbGU9J25vbmUgcmVxdWlyZWQnCmFjX2N2X3NlYXJjaF9jbG9ja19n ZXR0aW1lPSdub25lIHJlcXVpcmVkJwphY19jdl9zZWFyY2hfaW5mbGF0ZUVuZD0tbHoKYWNfY3Zf c2VhcmNoX3NxcnQ9J25vbmUgcmVxdWlyZWQnCmFjX2N2X3NlYXJjaF90aW1lcl9zZXR0aW1lPW5v CmFjX2N2X3Nob3VsZF9kZWZpbmVfX3hvcGVuX3NvdXJjZT1ubwphY19jdl9zdHJ1Y3Rfc3RfZG1f bW9kZT1ubwphY19jdl9zdHJ1Y3RfdG09dGltZS5oCmFjX2N2X3N5c19maWxlX29mZnNldF9iaXRz PTY0CmFjX2N2X3N5c19sYXJnZWZpbGVfQ0M9bm8KYWNfY3Zfc3lzX2xhcmdlZmlsZV9zb3VyY2U9 bm8KYWNfY3ZfdHlwZV9nZXRncm91cHM9aW50CmFjX2N2X3R5cGVfbWJzdGF0ZV90PXllcwphY19j dl90eXBlX21vZGVfdD15ZXMKYWNfY3ZfdHlwZV9ubGlua190PW5vCmFjX2N2X3R5cGVfcGlkX3Q9 eWVzCmFjX2N2X3R5cGVfc2lnaGFuZGxlcl90PW5vCmFjX2N2X3R5cGVfc2lnc2V0X3Q9bm8KYWNf Y3ZfdHlwZV9zb2NrbGVuX3Q9eWVzCmFjX2N2X3R5cGVfdGltZXpvbmVfdD1ubwphY19jdl90eXBl X3ZvbGF0aWxlX3NpZ19hdG9taWNfdD15ZXMKYWNfY3ZfdmFyX3R6bmFtZT15ZXMKYWNfY3Zfd29y a2luZ19hbGxvY2FfaD1ubwplbWFjc19jdl9hbHRlcm5hdGVfc3RhY2s9bm8KZW1hY3NfY3ZfYXV0 b2RlcGVuZD15ZXMKZW1hY3NfY3ZfY2xhbmc9bm8KZW1hY3NfY3ZfZmluZF9kZWxldGU9LWRlbGV0 ZQplbWFjc19jdl9mdW5jX19fYnVpbHRpbl9mcmFtZV9hZGRyZXNzPXllcwplbWFjc19jdl9mdW5j X19fYnVpbHRpbl91bndpbmRfaW5pdD15ZXMKZW1hY3NfY3ZfZnVuY19fc2V0am1wPW5vCmVtYWNz X2N2X2Z1bmNfc2lnc2V0am1wPW5vCmVtYWNzX2N2X2hhdmVfdGltZXJmZD1ubwplbWFjc19jdl9q cGVnbGliPS1sanBlZwplbWFjc19jdl9sYW5naW5mb19fbmxfcGFwZXJfd2lkdGg9eWVzCmVtYWNz X2N2X2xhbmdpbmZvX2NvZGVzZXQ9eWVzCmVtYWNzX2N2X2xpbmtzX2dsaWI9bm8KZW1hY3NfY3Zf bG5fc19maWxlb25seT0vYmluL2xuCmVtYWNzX2N2X3BlcnNvbmFsaXR5X2FkZHJfbm9fcmFuZG9t aXplPW5vCmVtYWNzX2N2X3Byb2dfY2NfZzM9eWVzCmVtYWNzX2N2X3Byb2dfY2Nfbm9fcGllPSdu b3QgbmVlZGVkJwplbWFjc19jdl9wdGhyZWFkX3NldG5hbWVfbnBfMWFyZz1ubwplbWFjc19jdl9w dGhyZWFkX3NldG5hbWVfbnBfM2FyZz1ubwplbWFjc19jdl9zYW5pdGl6ZV9hZGRyZXNzPW5vCmVt YWNzX2N2X3N0YXRlbWVudF9leHByZXNzaW9ucz15ZXMKZW1hY3NfY3Zfc3RydWN0X2FsaWdubWVu dD15ZXMKZW1hY3NfY3ZfdHB1dHNfbGliPSdub25lIHJlcXVpcmVkJwplbWFjc19jdl91c2FibGVf RklPTlJFQUQ9eWVzCmVtYWNzX2N2X3VzYWJsZV9TSUdJTz1ubwplbWFjc19jdl92YXJfZG91Z19s ZWFfbWFsbG9jPW5vCmVtYWNzX2N2X3czMmFwaT15ZXMKZW1hY3NfY3Zfem5vY29tYnJlbG9jPSdu b3QgbmVlZGVkJwpmdV9jdl9zeXNfc3RhdF9zdGF0ZnMyX2JzaXplPW5vCmZ1X2N2X3N5c19zdGF0 X3N0YXRmczJfZnJzaXplPW5vCmZ1X2N2X3N5c19zdGF0X3N0YXRmczJfZnNpemU9bm8KZnVfY3Zf c3lzX3N0YXRfc3RhdGZzM19vc2YxPW5vCmZ1X2N2X3N5c19zdGF0X3N0YXRmczQ9bm8KZnVfY3Zf c3lzX3N0YXRfc3RhdHZmcz1ubwpnbF9jdl9fX2J1aWx0aW5fZXhwZWN0PXllcwpnbF9jdl9hY2xf QUNMX0ZJUlNUX0VOVFJZPW5vCmdsX2N2X2FjbF9BQ0xfVFlQRV9FWFRFTkRFRD1ubwpnbF9jdl9j X19faW5saW5lPXllcwpnbF9jdl9jX2Ftc3RlcmRhbV9jb21waWxlcj1ubwpnbF9jdl9jX211bHRp YXJjaD1ubwpnbF9jdl9jY19ub21maV9uZWVkZWQ9bm8KZ2xfY3ZfY2Nfbm9tZmlfc3VwcG9ydGVk PXllcwpnbF9jdl9jY191bmluaXRpYWxpemVkX3N1cHBvcnRlZD15ZXMKZ2xfY3ZfY29tcGlsZXJf Y2hlY2tfZGVjbF9vcHRpb249bm9uZQpnbF9jdl9jb21waWxlcl9jbGFuZz1ubwpnbF9jdl9kZWNs X251bGxfd29ya3M9eWVzCmdsX2N2X2RlY2xfcmVhZGxpbmtfd29ya3M9eWVzCmdsX2N2X2RlY2xf cmVhZGxpbmthdF93b3Jrcz15ZXMKZ2xfY3ZfZG91YmxlX3NsYXNoX3Jvb3Q9eWVzCmdsX2N2X2Zz X3NwYWNlPW5vCmdsX2N2X2Z1bmNfX19mcGVuZGluZz1ubwpnbF9jdl9mdW5jX2NvcHlfZmlsZV9y YW5nZT15ZXMKZ2xfY3ZfZnVuY19kdXAyX3dvcmtzPXllcwpnbF9jdl9mdW5jX2ZjaG1vZGF0X3dv cmtzPW5vdC1uZWVkZWQtc28teWVzCmdsX2N2X2Z1bmNfZmNudGxfZl9kdXBmZF9jbG9leGVjPXll cwpnbF9jdl9mdW5jX2ZjbnRsX2ZfZHVwZmRfd29ya3M9eWVzCmdsX2N2X2Z1bmNfZmRvcGVuZGly X3dvcmtzPW5vLWJ1dC1ub3QtbmVlZGVkLXNvLXllcwpnbF9jdl9mdW5jX2ZzdGF0YXRfemVyb19m bGFnPXllcwpnbF9jdl9mdW5jX2Z1dGltZW5zX3dvcmtzPW5vdC1uZWVkZWQtc28teWVzCmdsX2N2 X2Z1bmNfZ2V0dGltZW9mZGF5X3Bvc2l4X3NpZ25hdHVyZT15ZXMKZ2xfY3ZfZnVuY19sb2NhbHRp bWVfcl9pbmxpbmU9bm8KZ2xfY3ZfZnVuY19sb2NhbHRpbWVfd29ya3M9eWVzCmdsX2N2X2Z1bmNf bHN0YXRfZGVyZWZlcmVuY2VzX3NsYXNoZWRfc3ltbGluaz15ZXMKZ2xfY3ZfZnVuY19tYWxsb2Nf MF9ub25udWxsPTEKZ2xfY3ZfZnVuY19wcmludGZfYXR0cmlidXRlX2ZsYXZvcj1nbnUKZ2xfY3Zf ZnVuY19wc2VsZWN0X2RldGVjdHNfZWJhZGY9eWVzCmdsX2N2X2Z1bmNfcHRocmVhZF9zaWdtYXNr X2luX2xpYmNfd29ya3M9eWVzCmdsX2N2X2Z1bmNfcHRocmVhZF9zaWdtYXNrX21hY3JvPW5vCmds X2N2X2Z1bmNfcHRocmVhZF9zaWdtYXNrX3JldHVybl93b3Jrcz15ZXMKZ2xfY3ZfZnVuY19wdGhy ZWFkX3NpZ21hc2tfdW5ibG9ja193b3Jrcz0nbm90IHJlbGV2YW50JwpnbF9jdl9mdW5jX3JlX2Nv bXBpbGVfcGF0dGVybl93b3JraW5nPW5vCmdsX2N2X2Z1bmNfcmVhZGxpbmtfd29ya3M9eWVzCmds X2N2X2Z1bmNfcmVhbHBhdGhfd29ya3M9bm8tYnV0LW5vdC1uZWVkZWQtc28teWVzCmdsX2N2X2Z1 bmNfc3RhdF9kaXJfc2xhc2g9eWVzCmdsX2N2X2Z1bmNfc3RhdF9maWxlX3NsYXNoPXllcwpnbF9j dl9mdW5jX3N0cnRvaW1heD15ZXMKZ2xfY3ZfZnVuY19zdmlkX3B1dGVudj15ZXMKZ2xfY3ZfZnVu Y19zeW1saW5rX3dvcmtzPXllcwpnbF9jdl9mdW5jX3Vuc2V0ZW52X3dvcmtzPXllcwpnbF9jdl9m dW5jX3V0aW1lbnNhdF93b3Jrcz15ZXMKZ2xfY3ZfZnVuY193b3JraW5nX2FjbF9nZXRfZmlsZT15 ZXMKZ2xfY3ZfZnVuY193b3JraW5nX21rdGltZT15ZXMKZ2xfY3ZfZnVuY193b3JraW5nX3V0aW1l cz1ubwpnbF9jdl9oYXZlX2luY2x1ZGVfbmV4dD15ZXMKZ2xfY3ZfaGVhZGVyX2Vycm5vX2hfRU1V TFRJSE9QPW5vCmdsX2N2X2hlYWRlcl9lcnJub19oX0VOT0xJTks9eWVzCmdsX2N2X2hlYWRlcl9l cnJub19oX0VPVkVSRkxPVz15ZXMKZ2xfY3ZfaGVhZGVyX2Vycm5vX2hfY29tcGxldGU9bm8KZ2xf Y3ZfaGVhZGVyX2xpbWl0c193aWR0aD1ubwpnbF9jdl9oZWFkZXJfc3RkaW50X3dpZHRoPW5vCmds X2N2X2hlYWRlcl9zdGRpbnRfd2l0aG91dF9TVERDX21hY3Jvcz15ZXMKZ2xfY3ZfaGVhZGVyX3N5 c19zZWxlY3RfaF9zZWxmY29udGFpbmVkPW5vCmdsX2N2X2hlYWRlcl93b3JraW5nX3N0ZGFsaWdu X2g9eWVzCmdsX2N2X2hlYWRlcl93b3JraW5nX3N0ZGludF9oPXllcwpnbF9jdl9saWJfYXNzdW1l X2JjcnlwdD1ubwpnbF9jdl9tYWNyb19PX0NMT0VYRUM9bm8KZ2xfY3ZfbWVtYmVyX3N0X3NpemVf NjQ9bm8KZ2xfY3ZfbWlubWF4X2luX2xpbWl0c19oPW5vCmdsX2N2X21pbm1heF9pbl9zeXNfcGFy YW1faD1ubwpnbF9jdl9uZXh0X2RpcmVudF9oPSc8ZGlyZW50Lmg+JwpnbF9jdl9uZXh0X2Vycm5v X2g9JzxlcnJuby5oPicKZ2xfY3ZfbmV4dF9mY250bF9oPSc8ZmNudGwuaD4nCmdsX2N2X25leHRf Z2V0b3B0X2g9JzxnZXRvcHQuaD4nCmdsX2N2X25leHRfaW50dHlwZXNfaD0nPGludHR5cGVzLmg+ JwpnbF9jdl9uZXh0X2xpbWl0c19oPSc8bGltaXRzLmg+JwpnbF9jdl9uZXh0X3NpZ25hbF9oPSc8 c2lnbmFsLmg+JwpnbF9jdl9uZXh0X3N0ZGludF9oPSc8c3RkaW50Lmg+JwpnbF9jdl9uZXh0X3N0 ZGlvX2g9JzxzdGRpby5oPicKZ2xfY3ZfbmV4dF9zdGRsaWJfaD0nPHN0ZGxpYi5oPicKZ2xfY3Zf bmV4dF9zdHJpbmdfaD0nPHN0cmluZy5oPicKZ2xfY3ZfbmV4dF9zeXNfcmFuZG9tX2g9JzxzeXMv cmFuZG9tLmg+JwpnbF9jdl9uZXh0X3N5c19zZWxlY3RfaD0nPHN5cy9zZWxlY3QuaD4nCmdsX2N2 X25leHRfc3lzX3N0YXRfaD0nPHN5cy9zdGF0Lmg+JwpnbF9jdl9uZXh0X3N5c190aW1lX2g9Jzxz eXMvdGltZS5oPicKZ2xfY3ZfbmV4dF9zeXNfdHlwZXNfaD0nPHN5cy90eXBlcy5oPicKZ2xfY3Zf bmV4dF90aW1lX2g9Jzx0aW1lLmg+JwpnbF9jdl9uZXh0X3VuaXN0ZF9oPSc8dW5pc3RkLmg+Jwpn bF9jdl9wcm9tb3RlZF9tb2RlX3Q9aW50CmdsX2N2X3NpZ19wc2VsZWN0PXllcwpnbF9jdl9zb3Vy Y2VfbGluZV9sZW5ndGhfdW5saW1pdGVkPXllcwpnbF9jdl9zdHJ1Y3RfZGlyZW50X2RfdHlwZT1u bwpnbF9jdl9zeXNfc3RydWN0X3RpbWVzcGVjX2luX3B0aHJlYWRfaD1ubwpnbF9jdl9zeXNfc3Ry dWN0X3RpbWVzcGVjX2luX3RpbWVfaD15ZXMKZ2xfY3Zfc3lzX3N0cnVjdF90aW1ldmFsPXllcwpn bF9jdl9zeXNfc3RydWN0X3RpbWV2YWxfdHZfc2VjPXllcwpnbF9jdl90aW1lX3RfaXNfc2lnbmVk PXllcwpnbF9jdl90eXBlX21heF9hbGlnbl90PXllcwpnbF9jdl90eXBlX29mZl90XzY0PXllcwpn bF9jdl90eXBlX3NpZ3NldF90PW5vCmdsX2N2X3dhcm5fY19fV2FsbD15ZXMKZ2xfY3Zfd2Fybl9j X19XYXJpdGhfY29udmVyc2lvbj15ZXMKZ2xfY3Zfd2Fybl9jX19XYXJyYXlfYm91bmRzXzI9eWVz CmdsX2N2X3dhcm5fY19fV2F0dHJpYnV0ZV9hbGlhc18yPXllcwpnbF9jdl93YXJuX2NfX1dkYXRl X3RpbWU9eWVzCmdsX2N2X3dhcm5fY19fV2Rpc2FibGVkX29wdGltaXphdGlvbj15ZXMKZ2xfY3Zf d2Fybl9jX19XZG91YmxlX3Byb21vdGlvbj15ZXMKZ2xfY3Zfd2Fybl9jX19XZHVwbGljYXRlZF9j b25kPXllcwpnbF9jdl93YXJuX2NfX1dlcnJvcl9fV3Vua25vd25fd2FybmluZ19vcHRpb249bm8K Z2xfY3Zfd2Fybl9jX19XZXh0cmE9eWVzCmdsX2N2X3dhcm5fY19fV2Zvcm1hdF8yPXllcwpnbF9j dl93YXJuX2NfX1dmb3JtYXRfc2lnbmVkbmVzcz15ZXMKZ2xfY3Zfd2Fybl9jX19XZm9ybWF0X3Ry dW5jYXRpb25fMj15ZXMKZ2xfY3Zfd2Fybl9jX19XaW1wbGljaXRfZmFsbHRocm91Z2hfNT15ZXMK Z2xfY3Zfd2Fybl9jX19XaW5pdF9zZWxmPXllcwpnbF9jdl93YXJuX2NfX1dpbnZhbGlkX3BjaD15 ZXMKZ2xfY3Zfd2Fybl9jX19XbG9naWNhbF9vcD15ZXMKZ2xfY3Zfd2Fybl9jX19XbWlzc2luZ19k ZWNsYXJhdGlvbnM9eWVzCmdsX2N2X3dhcm5fY19fV21pc3NpbmdfaW5jbHVkZV9kaXJzPXllcwpn bF9jdl93YXJuX2NfX1dtaXNzaW5nX3Byb3RvdHlwZXM9eWVzCmdsX2N2X3dhcm5fY19fV25lc3Rl ZF9leHRlcm5zPXllcwpnbF9jdl93YXJuX2NfX1dub19mb3JtYXRfbm9ubGl0ZXJhbD15ZXMKZ2xf Y3Zfd2Fybl9jX19Xbm9fbWlzc2luZ19maWVsZF9pbml0aWFsaXplcnM9eWVzCmdsX2N2X3dhcm5f Y19fV25vX292ZXJyaWRlX2luaXQ9eWVzCmdsX2N2X3dhcm5fY19fV25vX3BvaW50ZXJfc2lnbj15 ZXMKZ2xfY3Zfd2Fybl9jX19Xbm9fc2lnbl9jb21wYXJlPXllcwpnbF9jdl93YXJuX2NfX1dub190 eXBlX2xpbWl0cz15ZXMKZ2xfY3Zfd2Fybl9jX19Xbm9fdW51c2VkX3BhcmFtZXRlcj15ZXMKZ2xf Y3Zfd2Fybl9jX19XbnVsbF9kZXJlZmVyZW5jZT15ZXMKZ2xfY3Zfd2Fybl9jX19Xb2xkX3N0eWxl X2RlZmluaXRpb249eWVzCmdsX2N2X3dhcm5fY19fV29wZW5tcF9zaW1kPXllcwpnbF9jdl93YXJu X2NfX1dwYWNrZWQ9eWVzCmdsX2N2X3dhcm5fY19fV3BvaW50ZXJfYXJpdGg9eWVzCmdsX2N2X3dh cm5fY19fV3JlZHVuZGFudF9kZWNscz1ubwpnbF9jdl93YXJuX2NfX1dzaGlmdF9vdmVyZmxvd18y PXllcwpnbF9jdl93YXJuX2NfX1dzdHJpY3RfcHJvdG90eXBlcz15ZXMKZ2xfY3Zfd2Fybl9jX19X c3VnZ2VzdF9hdHRyaWJ1dGVfbm9yZXR1cm49eWVzCmdsX2N2X3dhcm5fY19fV3N1Z2dlc3RfZmlu YWxfbWV0aG9kcz15ZXMKZ2xfY3Zfd2Fybl9jX19Xc3VnZ2VzdF9maW5hbF90eXBlcz15ZXMKZ2xf Y3Zfd2Fybl9jX19XdHJhbXBvbGluZXM9eWVzCmdsX2N2X3dhcm5fY19fV3VuaW5pdGlhbGl6ZWQ9 eWVzCmdsX2N2X3dhcm5fY19fV3Vua25vd25fcHJhZ21hcz15ZXMKZ2xfY3Zfd2Fybl9jX19XdW51 c2VkX21hY3Jvcz15ZXMKZ2xfY3Zfd2Fybl9jX19XdmFyaWFkaWNfbWFjcm9zPXllcwpnbF9jdl93 YXJuX2NfX1d2ZWN0b3Jfb3BlcmF0aW9uX3BlcmZvcm1hbmNlPXllcwpnbF9jdl93YXJuX2NfX1d2 bGFfbGFyZ2VyX3RoYW5fNDAzMT15ZXMKZ2xfY3Zfd2Fybl9jX19Xd3JpdGVfc3RyaW5ncz15ZXMK Z2xfY3Zfd2Fybl9jX19mbm9fY29tbW9uPXllcwpndF9jdl9jX3djaGFyX3Q9eWVzCmd0X2N2X2Z1 bmNfdW5zZXRlbnZfcmV0PWludApndF9jdl9zc2l6ZV90PXllcwpndF9jdl92YXJfZW52aXJvbl9k ZWNsYXJhdGlvbj15ZXMKcGtnX2N2X0hBUkZCVVpaX0NGTEFHUz0nLUlDOi9tc3lzNjQvbWluZ3c2 NC9pbmNsdWRlL2hhcmZidXp6IC1JQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9mcmVldHlwZTIg LUlDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlIC1JQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9s aWJwbmcxNiAtSUM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2xpYi0yLjAgLUlDOi9tc3lzNjQv bWluZ3c2NC9saWIvZ2xpYi0yLjAvaW5jbHVkZSAtbW1zLWJpdGZpZWxkcyAnCnBrZ19jdl9IQVJG QlVaWl9MSUJTPSctTEM6L21zeXM2NC9taW5ndzY0L2xpYiAtbGhhcmZidXp6ICcKcGtnX2N2X0pT T05fQ0ZMQUdTPSctSUM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUgJwpwa2dfY3ZfSlNPTl9MSUJT PSctTEM6L21zeXM2NC9taW5ndzY0L2xpYiAtbGphbnNzb24gJwpwa2dfY3ZfTENNUzJfQ0ZMQUdT PSctSUM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUgJwpwa2dfY3ZfTENNUzJfTElCUz0nLUxDOi9t c3lzNjQvbWluZ3c2NC9saWIgLWxsY21zMiAnCnBrZ19jdl9MSUJHTlVUTFNfQ0ZMQUdTPSctSUM6 L21zeXM2NC9taW5ndzY0L2luY2x1ZGUgLUlDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL3AxMS1r aXQtMSAnCnBrZ19jdl9MSUJHTlVUTFNfTElCUz0nLUxDOi9tc3lzNjQvbWluZ3c2NC9saWIgLWxn bnV0bHMgJwpwa2dfY3ZfTElCWE1MMl9DRkxBR1M9Jy1JQzovbXN5czY0L21pbmd3NjQvaW5jbHVk ZS9saWJ4bWwyICcKcGtnX2N2X0xJQlhNTDJfTElCUz0nLUxDOi9tc3lzNjQvbWluZ3c2NC9saWIg LWx4bWwyICcKcGtnX2N2X1JTVkdfQ0ZMQUdTPSctSUM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUv bGlicnN2Zy0yLjAgLUlDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2dsaWItMi4wIC1JQzovbXN5 czY0L21pbmd3NjQvbGliL2dsaWItMi4wL2luY2x1ZGUgLUlDOi9tc3lzNjQvbWluZ3c2NC9pbmNs dWRlIC1tbXMtYml0ZmllbGRzIC1JQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9nZGstcGl4YnVm LTIuMCAtSUM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicG5nMTYgLW1tcy1iaXRmaWVsZHMg LXB0aHJlYWQgLW1tcy1iaXRmaWVsZHMgLUlDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2NhaXJv IC1JQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9sem8gLUlDOi9tc3lzNjQvbWluZ3c2NC9pbmNs dWRlL2ZyZWV0eXBlMiAtSUM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvaGFyZmJ1enogLW1tcy1i aXRmaWVsZHMgLUlDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL3BpeG1hbi0xICcKcGtnX2N2X1JT VkdfTElCUz0nLUxDOi9tc3lzNjQvbWluZ3c2NC9saWIgLWxyc3ZnLTIgLWxtIC1sZ2lvLTIuMCAt bGdka19waXhidWYtMi4wIC1sZ29iamVjdC0yLjAgLWxnbGliLTIuMCAtbGludGwgLWxjYWlybyAn CgojIyAtLS0tLS0tLS0tLS0tLS0tLSAjIwojIyBPdXRwdXQgdmFyaWFibGVzLiAjIwojIyAtLS0t LS0tLS0tLS0tLS0tLSAjIwoKQUxMT0NBPScnCkFMTE9DQV9IPSdhbGxvY2EuaCcKQUxTQV9DRkxB R1M9JycKQUxTQV9MSUJTPScnCkFNX0RFRkFVTFRfVj0nJChBTV9ERUZBVUxUX1ZFUkJPU0lUWSkn CkFNX0RFRkFVTFRfVkVSQk9TSVRZPScwJwpBTV9WPSckKFYpJwpBUFBMRV9VTklWRVJTQUxfQlVJ TEQ9JzAnCkFSPSdhcicKQVJGTEFHUz0nY3InCkFVVE9fREVQRU5EPSd5ZXMnCkFXSz0nZ2F3aycK QklUU0laRU9GX1BUUkRJRkZfVD0nJwpCSVRTSVpFT0ZfU0lHX0FUT01JQ19UPScnCkJJVFNJWkVP Rl9TSVpFX1Q9JycKQklUU0laRU9GX1dDSEFSX1Q9JycKQklUU0laRU9GX1dJTlRfVD0nJwpCTEVT U01BSUxfVEFSR0VUPScnCkJSRVc9JycKQlVJTERfREVUQUlMUz0nJwpCWVRFU1dBUF9IPSdieXRl c3dhcC5oJwpDQUlST19DRkxBR1M9JycKQ0FJUk9fTElCUz0nJwpDQz0nZ2NjICcKQ0ZMQUdTPSct ZzMgLU8yIC1nZHdhcmYtMicKQ0ZMQUdTX1NPVU5EPScnCkNIRUNLX1NUUlVDVFM9J2ZhbHNlJwpD TElFTlRSRVM9J2VtYWNzY2xpZW50LnJlcycKQ0xJRU5UVz0nZW1hY3NjbGllbnR3JChFWEVFWFQp JwpDTV9PQko9JycKQ09NX0VSUkxJQj0nJwpDUFA9J2djYyAtSSAuLi9zcmMvbnQvaW5jIC1FJwpD UFBGTEFHUz0nLW10dW5lPWdlbmVyaWMgICAtRFVTRV9DUlRfRExMPTEgLUkgJHthYnNfdG9wX3Ny Y2Rpcn0vbnQvaW5jJwpDUllQVE9MSUI9JycKQ1lHV0lOX09CSj0nJwpDX1NXSVRDSF9NQUNISU5F PScnCkNfU1dJVENIX1NZU1RFTT0nLW10dW5lPWdlbmVyaWMnCkNfU1dJVENIX1hfU0lURT0nJwpE QlVTX0NGTEFHUz0nJwpEQlVTX0xJQlM9JycKREJVU19PQko9JycKREVGUz0nLURIQVZFX0NPTkZJ R19IJwpERVNMSUI9JycKRE9DTUlTQ19XMzI9J2VmYXEtdzMyJwpEVU1QSU5HPSdwZHVtcGVyJwpE WU5MSUJfT0JKPSdkeW5saWIubycKRUNIT19DPScnCkVDSE9fTj0nLW4nCkVDSE9fVD0nJwpFR1JF UD0nL3Vzci9iaW4vZ3JlcCAtRScKRU1BQ1NSRVM9J2VtYWNzLnJlcycKRU1BQ1NfTUFOSUZFU1Q9 J2VtYWNzLXg2NC5tYW5pZmVzdCcKRU1VTFRJSE9QX0hJRERFTj0nMCcKRU1VTFRJSE9QX1ZBTFVF PScnCkVOT0xJTktfSElEREVOPScwJwpFTk9MSU5LX1ZBTFVFPScnCkVPVkVSRkxPV19ISURERU49 JzAnCkVPVkVSRkxPV19WQUxVRT0nJwpFUlJOT19IPSdlcnJuby5oJwpFWEVDSU5GT19IPSdleGVj aW5mby5oJwpFWEVFWFQ9Jy5leGUnCkZJTkRfREVMRVRFPSctZGVsZXRlJwpGSVJTVEZJTEVfT0JK PSdmaXJzdGZpbGUubycKRk9OVENPTkZJR19DRkxBR1M9JycKRk9OVENPTkZJR19MSUJTPScnCkZP TlRfT0JKPScgaGJmb250Lm8nCkZSRUVUWVBFX0NGTEFHUz0nJwpGUkVFVFlQRV9MSUJTPScnCkdD T05GX0NGTEFHUz0nJwpHQ09ORl9MSUJTPScnCkdFVEFERFJJTkZPX0FfTElCUz0nJwpHRVRMT0FE QVZHX0xJQlM9JycKR0VUT1BUX0NERUZTX0g9J2dldG9wdC1jZGVmcy5oJwpHRVRPUFRfSD0nZ2V0 b3B0LmgnCkdGSUxFTk9USUZZX0NGTEFHUz0nJwpHRklMRU5PVElGWV9MSUJTPScnCkdMSUJDMjE9 J25vJwpHTF9DT05EX0xJQlRPT0w9JycKR0xfR0VORVJBVEVfQUxMT0NBX0g9JzEnCkdMX0dFTkVS QVRFX0JZVEVTV0FQX0g9JzEnCkdMX0dFTkVSQVRFX0VSUk5PX0g9JzEnCkdMX0dFTkVSQVRFX0VY RUNJTkZPX0g9JzEnCkdMX0dFTkVSQVRFX0dNUF9HTVBfSD0nJwpHTF9HRU5FUkFURV9JRUVFNzU0 X0g9JzEnCkdMX0dFTkVSQVRFX0xJTUlUU19IPScxJwpHTF9HRU5FUkFURV9NSU5JX0dNUF9IPScn CkdMX0dFTkVSQVRFX1NUREFMSUdOX0g9JycKR0xfR0VORVJBVEVfU1REREVGX0g9JycKR0xfR0VO RVJBVEVfU1RESU5UX0g9JzEnCkdNQUxMT0NfT0JKPScnCkdNUF9IPScnCkdOVUxJQl9BQ0NFU1M9 JzAnCkdOVUxJQl9BTFBIQVNPUlQ9JzAnCkdOVUxJQl9BVE9MTD0nMCcKR05VTElCX0NBTExPQ19Q T1NJWD0nMCcKR05VTElCX0NBTk9OSUNBTElaRV9GSUxFX05BTUU9JzEnCkdOVUxJQl9DSERJUj0n MCcKR05VTElCX0NIT1dOPScwJwpHTlVMSUJfQ0xPU0U9JzAnCkdOVUxJQl9DTE9TRURJUj0nMCcK R05VTElCX0NPUFlfRklMRV9SQU5HRT0nMScKR05VTElCX0NSRUFUPScwJwpHTlVMSUJfQ1RJTUU9 JzAnCkdOVUxJQl9ESVJGRD0nMCcKR05VTElCX0RQUklOVEY9JzAnCkdOVUxJQl9EVVAyPScxJwpH TlVMSUJfRFVQMz0nMCcKR05VTElCX0RVUD0nMCcKR05VTElCX0VOVklST049JzEnCkdOVUxJQl9F VUlEQUNDRVNTPScwJwpHTlVMSUJfRVhQTElDSVRfQlpFUk89JzEnCkdOVUxJQl9GQUNDRVNTQVQ9 JzEnCkdOVUxJQl9GQ0hESVI9JzAnCkdOVUxJQl9GQ0hNT0RBVD0nMScKR05VTElCX0ZDSE9XTkFU PScwJwpHTlVMSUJfRkNMT1NFPScwJwpHTlVMSUJfRkNOVEw9JzEnCkdOVUxJQl9GREFUQVNZTkM9 JzAnCkdOVUxJQl9GRE9QRU49JzAnCkdOVUxJQl9GRE9QRU5ESVI9JzEnCkdOVUxJQl9GRkxVU0g9 JzAnCkdOVUxJQl9GRlNMPScwJwpHTlVMSUJfRkZTTEw9JzAnCkdOVUxJQl9GR0VUQz0nMScKR05V TElCX0ZHRVRTPScxJwpHTlVMSUJfRk9QRU49JzAnCkdOVUxJQl9GUFJJTlRGPScxJwpHTlVMSUJf RlBSSU5URl9QT1NJWD0nMCcKR05VTElCX0ZQVVJHRT0nMCcKR05VTElCX0ZQVVRDPScxJwpHTlVM SUJfRlBVVFM9JzEnCkdOVUxJQl9GUkVBRD0nMScKR05VTElCX0ZSRU9QRU49JzAnCkdOVUxJQl9G U0NBTkY9JzEnCkdOVUxJQl9GU0VFSz0nMCcKR05VTElCX0ZTRUVLTz0nMCcKR05VTElCX0ZTVEFU PScwJwpHTlVMSUJfRlNUQVRBVD0nMScKR05VTElCX0ZTWU5DPScxJwpHTlVMSUJfRlRFTEw9JzAn CkdOVUxJQl9GVEVMTE89JzAnCkdOVUxJQl9GVFJVTkNBVEU9JzAnCkdOVUxJQl9GVVRJTUVOUz0n MScKR05VTElCX0ZXUklURT0nMScKR05VTElCX0dFVEM9JzEnCkdOVUxJQl9HRVRDSEFSPScxJwpH TlVMSUJfR0VUQ1dEPScwJwpHTlVMSUJfR0VUREVMSU09JzAnCkdOVUxJQl9HRVRET01BSU5OQU1F PScwJwpHTlVMSUJfR0VURFRBQkxFU0laRT0nMCcKR05VTElCX0dFVEVOVFJPUFk9JzAnCkdOVUxJ Ql9HRVRHUk9VUFM9JzAnCkdOVUxJQl9HRVRIT1NUTkFNRT0nMCcKR05VTElCX0dFVExJTkU9JzAn CkdOVUxJQl9HRVRMT0FEQVZHPScxJwpHTlVMSUJfR0VUTE9HSU49JzAnCkdOVUxJQl9HRVRMT0dJ Tl9SPScwJwpHTlVMSUJfR0VUT1BUX1BPU0lYPScxJwpHTlVMSUJfR0VUUEFHRVNJWkU9JzAnCkdO VUxJQl9HRVRQQVNTPScwJwpHTlVMSUJfR0VUUkFORE9NPScxJwpHTlVMSUJfR0VUU1VCT1BUPScw JwpHTlVMSUJfR0VUVElNRU9GREFZPScxJwpHTlVMSUJfR0VUVU1BU0s9JzAnCkdOVUxJQl9HRVRV U0VSU0hFTEw9JzAnCkdOVUxJQl9HTF9VTklTVERfSF9HRVRPUFQ9JzEnCkdOVUxJQl9HUkFOVFBU PScwJwpHTlVMSUJfR1JPVVBfTUVNQkVSPScwJwpHTlVMSUJfSU1BWEFCUz0nMCcKR05VTElCX0lN QVhESVY9JzAnCkdOVUxJQl9JU0FUVFk9JzAnCkdOVUxJQl9MQ0hNT0Q9JzAnCkdOVUxJQl9MQ0hP V049JzAnCkdOVUxJQl9MSU5LPScwJwpHTlVMSUJfTElOS0FUPScwJwpHTlVMSUJfTE9DQUxUSU1F PScwJwpHTlVMSUJfTFNFRUs9JzAnCkdOVUxJQl9MU1RBVD0nMScKR05VTElCX01BTExPQ19QT1NJ WD0nMCcKR05VTElCX01CU0NBU0VDTVA9JzAnCkdOVUxJQl9NQlNDQVNFU1RSPScwJwpHTlVMSUJf TUJTQ0hSPScwJwpHTlVMSUJfTUJTQ1NQTj0nMCcKR05VTElCX01CU0xFTj0nMCcKR05VTElCX01C U05DQVNFQ01QPScwJwpHTlVMSUJfTUJTTkxFTj0nMCcKR05VTElCX01CU1BCUks9JzAnCkdOVUxJ Ql9NQlNQQ0FTRUNNUD0nMCcKR05VTElCX01CU1JDSFI9JzAnCkdOVUxJQl9NQlNTRVA9JzAnCkdO VUxJQl9NQlNTUE49JzAnCkdOVUxJQl9NQlNTVFI9JzAnCkdOVUxJQl9NQlNUT0tfUj0nMCcKR05V TElCX01CVE9XQz0nMCcKR05VTElCX01FTUNIUj0nMCcKR05VTElCX01FTU1FTT0nMScKR05VTElC X01FTVBDUFk9JzEnCkdOVUxJQl9NRU1SQ0hSPScxJwpHTlVMSUJfTUtESVJBVD0nMCcKR05VTElC X01LRFRFTVA9JzAnCkdOVUxJQl9NS0ZJRk89JzAnCkdOVUxJQl9NS0ZJRk9BVD0nMCcKR05VTElC X01LTk9EPScwJwpHTlVMSUJfTUtOT0RBVD0nMCcKR05VTElCX01LT1NURU1QPScxJwpHTlVMSUJf TUtPU1RFTVBTPScwJwpHTlVMSUJfTUtTVEVNUD0nMCcKR05VTElCX01LU1RFTVBTPScwJwpHTlVM SUJfTUtUSU1FPScxJwpHTlVMSUJfTkFOT1NMRUVQPScwJwpHTlVMSUJfTk9OQkxPQ0tJTkc9JzAn CkdOVUxJQl9PQlNUQUNLX1BSSU5URj0nMCcKR05VTElCX09CU1RBQ0tfUFJJTlRGX1BPU0lYPScw JwpHTlVMSUJfT1BFTj0nMCcKR05VTElCX09QRU5BVD0nMCcKR05VTElCX09QRU5ESVI9JzAnCkdO VUxJQl9PVkVSUklERVNfU1RSVUNUX1NUQVQ9JzAnCkdOVUxJQl9PVkVSUklERVNfV0lOVF9UPScw JwpHTlVMSUJfUENMT1NFPScwJwpHTlVMSUJfUEVSUk9SPScwJwpHTlVMSUJfUElQRTI9JzEnCkdO VUxJQl9QSVBFPScwJwpHTlVMSUJfUE9QRU49JzAnCkdOVUxJQl9QT1NJWF9PUEVOUFQ9JzAnCkdO VUxJQl9QUkVBRD0nMCcKR05VTElCX1BSSU5URj0nMScKR05VTElCX1BSSU5URl9QT1NJWD0nMCcK R05VTElCX1BTRUxFQ1Q9JzEnCkdOVUxJQl9QVEhSRUFEX1NJR01BU0s9JzEnCkdOVUxJQl9QVFNO QU1FPScwJwpHTlVMSUJfUFRTTkFNRV9SPScwJwpHTlVMSUJfUFVUQz0nMScKR05VTElCX1BVVENI QVI9JzEnCkdOVUxJQl9QVVRFTlY9JzAnCkdOVUxJQl9QVVRTPScxJwpHTlVMSUJfUFdSSVRFPScw JwpHTlVMSUJfUVNPUlRfUj0nMCcKR05VTElCX1JBSVNFPScwJwpHTlVMSUJfUkFORE9NPScwJwpH TlVMSUJfUkFORE9NX1I9JzAnCkdOVUxJQl9SQVdNRU1DSFI9JzAnCkdOVUxJQl9SRUFEPScwJwpH TlVMSUJfUkVBRERJUj0nMCcKR05VTElCX1JFQURMSU5LPScxJwpHTlVMSUJfUkVBRExJTktBVD0n MScKR05VTElCX1JFQUxMT0NBUlJBWT0nMCcKR05VTElCX1JFQUxMT0NfUE9TSVg9JzAnCkdOVUxJ Ql9SRUFMUEFUSD0nMScKR05VTElCX1JFTU9WRT0nMCcKR05VTElCX1JFTkFNRT0nMCcKR05VTElC X1JFTkFNRUFUPScwJwpHTlVMSUJfUkVXSU5ERElSPScwJwpHTlVMSUJfUk1ESVI9JzAnCkdOVUxJ Ql9SUE1BVENIPScwJwpHTlVMSUJfU0NBTkRJUj0nMCcKR05VTElCX1NDQU5GPScxJwpHTlVMSUJf U0VDVVJFX0dFVEVOVj0nMCcKR05VTElCX1NFTEVDVD0nMCcKR05VTElCX1NFVEVOVj0nMCcKR05V TElCX1NFVEhPU1ROQU1FPScwJwpHTlVMSUJfU0lHQUJCUkVWX05QPScwJwpHTlVMSUJfU0lHQUNU SU9OPScwJwpHTlVMSUJfU0lHREVTQ1JfTlA9JzEnCkdOVUxJQl9TSUdOQUxfSF9TSUdQSVBFPScw JwpHTlVMSUJfU0lHUFJPQ01BU0s9JzAnCkdOVUxJQl9TTEVFUD0nMCcKR05VTElCX1NOUFJJTlRG PScwJwpHTlVMSUJfU1BSSU5URl9QT1NJWD0nMCcKR05VTElCX1NUQVQ9JzAnCkdOVUxJQl9TVERJ T19IX05PTkJMT0NLSU5HPScwJwpHTlVMSUJfU1RESU9fSF9TSUdQSVBFPScwJwpHTlVMSUJfU1RQ Q1BZPScxJwpHTlVMSUJfU1RQTkNQWT0nMCcKR05VTElCX1NUUkNBU0VTVFI9JzAnCkdOVUxJQl9T VFJDSFJOVUw9JzAnCkdOVUxJQl9TVFJEVVA9JzAnCkdOVUxJQl9TVFJFUlJPUj0nMCcKR05VTElC X1NUUkVSUk9STkFNRV9OUD0nMCcKR05VTElCX1NUUkVSUk9SX1I9JzAnCkdOVUxJQl9TVFJGVElN RT0nMCcKR05VTElCX1NUUk5DQVQ9JzAnCkdOVUxJQl9TVFJORFVQPScwJwpHTlVMSUJfU1RSTkxF Tj0nMScKR05VTElCX1NUUlBCUks9JzAnCkdOVUxJQl9TVFJQVElNRT0nMCcKR05VTElCX1NUUlNF UD0nMCcKR05VTElCX1NUUlNJR05BTD0nMCcKR05VTElCX1NUUlNUUj0nMCcKR05VTElCX1NUUlRP RD0nMCcKR05VTElCX1NUUlRPSU1BWD0nMScKR05VTElCX1NUUlRPS19SPScwJwpHTlVMSUJfU1RS VE9MRD0nMCcKR05VTElCX1NUUlRPTEw9JzAnCkdOVUxJQl9TVFJUT1VMTD0nMCcKR05VTElCX1NU UlRPVU1BWD0nMCcKR05VTElCX1NUUlZFUlNDTVA9JzAnCkdOVUxJQl9TWU1MSU5LPScxJwpHTlVM SUJfU1lNTElOS0FUPScwJwpHTlVMSUJfU1lTVEVNX1BPU0lYPScwJwpHTlVMSUJfVElNRUdNPScx JwpHTlVMSUJfVElNRV9SPScxJwpHTlVMSUJfVElNRV9SWj0nMScKR05VTElCX1RNUEZJTEU9JzAn CkdOVUxJQl9UUlVOQ0FURT0nMCcKR05VTElCX1RUWU5BTUVfUj0nMCcKR05VTElCX1RaU0VUPScw JwpHTlVMSUJfVU5JU1REX0hfTk9OQkxPQ0tJTkc9JzAnCkdOVUxJQl9VTklTVERfSF9TSUdQSVBF PScwJwpHTlVMSUJfVU5MSU5LPScwJwpHTlVMSUJfVU5MSU5LQVQ9JzAnCkdOVUxJQl9VTkxPQ0tQ VD0nMCcKR05VTElCX1VOU0VURU5WPScwJwpHTlVMSUJfVVNMRUVQPScwJwpHTlVMSUJfVVRJTUVO U0FUPScxJwpHTlVMSUJfVkFTUFJJTlRGPScwJwpHTlVMSUJfVkRQUklOVEY9JzAnCkdOVUxJQl9W RlBSSU5URj0nMScKR05VTElCX1ZGUFJJTlRGX1BPU0lYPScwJwpHTlVMSUJfVkZTQ0FORj0nMCcK R05VTElCX1ZQUklOVEY9JzEnCkdOVUxJQl9WUFJJTlRGX1BPU0lYPScwJwpHTlVMSUJfVlNDQU5G PScwJwpHTlVMSUJfVlNOUFJJTlRGPScwJwpHTlVMSUJfVlNQUklOVEZfUE9TSVg9JzAnCkdOVUxJ Ql9XQVJOX0NGTEFHUz0nIC1mbm8tY29tbW9uIC1XYWxsIC1XYXJpdGgtY29udmVyc2lvbiAtV2Rh dGUtdGltZSAtV2Rpc2FibGVkLW9wdGltaXphdGlvbiAtV2RvdWJsZS1wcm9tb3Rpb24gLVdkdXBs aWNhdGVkLWNvbmQgLVdleHRyYSAtV2Zvcm1hdC1zaWduZWRuZXNzIC1XaW5pdC1zZWxmIC1XaW52 YWxpZC1wY2ggLVdsb2dpY2FsLW9wIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLWlu Y2x1ZGUtZGlycyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1XbnVsbC1k ZXJlZmVyZW5jZSAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1Xb3Blbm1wLXNpbWQgLVdwYWNrZWQg LVdwb2ludGVyLWFyaXRoIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVdzdWdnZXN0LWF0dHJpYnV0ZT1u b3JldHVybiAtV3N1Z2dlc3QtZmluYWwtbWV0aG9kcyAtV3N1Z2dlc3QtZmluYWwtdHlwZXMgLVd0 cmFtcG9saW5lcyAtV3VuaW5pdGlhbGl6ZWQgLVd1bmtub3duLXByYWdtYXMgLVd2YXJpYWRpYy1t YWNyb3MgLVd2ZWN0b3Itb3BlcmF0aW9uLXBlcmZvcm1hbmNlIC1Xd3JpdGUtc3RyaW5ncyAtV2Fy cmF5LWJvdW5kcz0yIC1XYXR0cmlidXRlLWFsaWFzPTIgLVdmb3JtYXQ9MiAtV2Zvcm1hdC10cnVu Y2F0aW9uPTIgLVdpbXBsaWNpdC1mYWxsdGhyb3VnaD01IC1Xc2hpZnQtb3ZlcmZsb3c9MiAtV3Zs YS1sYXJnZXItdGhhbj00MDMxIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLVduby1v dmVycmlkZS1pbml0IC1Xbm8tc2lnbi1jb21wYXJlIC1Xbm8tdHlwZS1saW1pdHMgLVduby11bnVz ZWQtcGFyYW1ldGVyIC1Xbm8tZm9ybWF0LW5vbmxpdGVyYWwgLVduby1wb2ludGVyLXNpZ24nCkdO VUxJQl9XQ1RPTUI9JzAnCkdOVUxJQl9XUklURT0nMCcKR05VTElCX19FWElUPScwJwpHTlVTVEVQ X0NGTEFHUz0nJwpHTlVfT0JKQ19DRkxBR1M9JycKR09CSkVDVF9DRkxBR1M9JycKR09CSkVDVF9M SUJTPScnCkdSRVA9Jy91c3IvYmluL2dyZXAnCkdTRVRUSU5HU19DRkxBR1M9JycKR1NFVFRJTkdT X0xJQlM9JycKR1RLX0NGTEFHUz0nJwpHVEtfTElCUz0nJwpHVEtfT0JKPScnCkdaSVBfUFJPRz0n L3Vzci9iaW4vZ3ppcCcKSEFSRkJVWlpfQ0ZMQUdTPSctaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2 NC9pbmNsdWRlL2hhcmZidXp6IC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZnJl ZXR5cGUyIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUgLWlzeXN0ZW0gQzovbXN5 czY0L21pbmd3NjQvaW5jbHVkZS9saWJwbmcxNiAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9p bmNsdWRlL2dsaWItMi4wIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2xpYi9nbGliLTIuMC9p bmNsdWRlIC1tbXMtYml0ZmllbGRzICcKSEFSRkJVWlpfTElCUz0nJwpIQVZFX0FMTE9DQV9IPScw JwpIQVZFX0FMUEhBU09SVD0nMScKSEFWRV9BVE9MTD0nMScKSEFWRV9DOTlfU1RESU5UX0g9JzEn CkhBVkVfQ0FOT05JQ0FMSVpFX0ZJTEVfTkFNRT0nMScKSEFWRV9DSE9XTj0nMScKSEFWRV9DTE9T RURJUj0nMScKSEFWRV9DT1BZX0ZJTEVfUkFOR0U9JzEnCkhBVkVfREVDTF9ESVJGRD0nMScKSEFW RV9ERUNMX0VOVklST049JzEnCkhBVkVfREVDTF9GQ0hESVI9JzEnCkhBVkVfREVDTF9GREFUQVNZ TkM9JzEnCkhBVkVfREVDTF9GRE9QRU5ESVI9JzAnCkhBVkVfREVDTF9GUFVSR0U9JzEnCkhBVkVf REVDTF9GU0VFS089JzEnCkhBVkVfREVDTF9GVEVMTE89JzEnCkhBVkVfREVDTF9HRVRERUxJTT0n MScKSEFWRV9ERUNMX0dFVERPTUFJTk5BTUU9JzEnCkhBVkVfREVDTF9HRVRMSU5FPScxJwpIQVZF X0RFQ0xfR0VUTE9BREFWRz0nMCcKSEFWRV9ERUNMX0dFVExPR0lOPScxJwpIQVZFX0RFQ0xfR0VU TE9HSU5fUj0nMScKSEFWRV9ERUNMX0dFVFBBR0VTSVpFPScxJwpIQVZFX0RFQ0xfR0VUVVNFUlNI RUxMPScxJwpIQVZFX0RFQ0xfSU1BWEFCUz0nMScKSEFWRV9ERUNMX0lNQVhESVY9JzEnCkhBVkVf REVDTF9JTklUU1RBVEU9JzEnCkhBVkVfREVDTF9MT0NBTFRJTUVfUj0nMCcKSEFWRV9ERUNMX01F TU1FTT0nMCcKSEFWRV9ERUNMX01FTVJDSFI9JzAnCkhBVkVfREVDTF9PQlNUQUNLX1BSSU5URj0n MScKSEFWRV9ERUNMX1NFVEVOVj0nMScKSEFWRV9ERUNMX1NFVEhPU1ROQU1FPScxJwpIQVZFX0RF Q0xfU0VUU1RBVEU9JzEnCkhBVkVfREVDTF9TTlBSSU5URj0nMScKSEFWRV9ERUNMX1NUUkRVUD0n MScKSEFWRV9ERUNMX1NUUkVSUk9SX1I9JzEnCkhBVkVfREVDTF9TVFJORFVQPScxJwpIQVZFX0RF Q0xfU1RSTkxFTj0nMScKSEFWRV9ERUNMX1NUUlNJR05BTD0nMScKSEFWRV9ERUNMX1NUUlRPSU1B WD0nMScKSEFWRV9ERUNMX1NUUlRPS19SPScxJwpIQVZFX0RFQ0xfU1RSVE9VTUFYPScxJwpIQVZF X0RFQ0xfVFJVTkNBVEU9JzEnCkhBVkVfREVDTF9UVFlOQU1FX1I9JzEnCkhBVkVfREVDTF9VTlNF VEVOVj0nMScKSEFWRV9ERUNMX1ZTTlBSSU5URj0nMScKSEFWRV9ESVJFTlRfSD0nMScKSEFWRV9E UFJJTlRGPScxJwpIQVZFX0RVUDM9JzEnCkhBVkVfRVVJREFDQ0VTUz0nMScKSEFWRV9FWFBMSUNJ VF9CWkVSTz0nMScKSEFWRV9GQUNDRVNTQVQ9JzEnCkhBVkVfRkNIRElSPScxJwpIQVZFX0ZDSE1P REFUPScxJwpIQVZFX0ZDSE9XTkFUPScxJwpIQVZFX0ZDTlRMPScxJwpIQVZFX0ZEQVRBU1lOQz0n MScKSEFWRV9GRE9QRU5ESVI9JzEnCkhBVkVfRkZTTD0nMScKSEFWRV9GRlNMTD0nMScKSEFWRV9G U0VFS089JzEnCkhBVkVfRlNUQVRBVD0nMScKSEFWRV9GU1lOQz0nMScKSEFWRV9GVEVMTE89JzEn CkhBVkVfRlRSVU5DQVRFPScxJwpIQVZFX0ZVVElNRU5TPScxJwpIQVZFX0dFVERUQUJMRVNJWkU9 JzEnCkhBVkVfR0VURU5UUk9QWT0nMScKSEFWRV9HRVRHUk9VUFM9JzEnCkhBVkVfR0VUSE9TVE5B TUU9JzEnCkhBVkVfR0VUTE9HSU49JzEnCkhBVkVfR0VUT1BUX0g9JzAnCkhBVkVfR0VUUEFHRVNJ WkU9JzEnCkhBVkVfR0VUUEFTUz0nMScKSEFWRV9HRVRSQU5ET009JzAnCkhBVkVfR0VUU1VCT1BU PScxJwpIQVZFX0dFVFRJTUVPRkRBWT0nMScKSEFWRV9HRVRVTUFTSz0nMScKSEFWRV9HUkFOVFBU PScxJwpIQVZFX0dST1VQX01FTUJFUj0nMScKSEFWRV9JTUFYRElWX1Q9JzEnCkhBVkVfSU5JVFNU QVRFPScxJwpIQVZFX0lOVFRZUEVTX0g9JzEnCkhBVkVfTENITU9EPScxJwpIQVZFX0xDSE9XTj0n MScKSEFWRV9MSUJHTVA9J3llcycKSEFWRV9MSU5LPScxJwpIQVZFX0xJTktBVD0nMScKSEFWRV9M U1RBVD0nMScKSEFWRV9NQUtFSU5GTz0neWVzJwpIQVZFX01BWF9BTElHTl9UPScxJwpIQVZFX01C U0xFTj0nMCcKSEFWRV9NQlRPV0M9JzEnCkhBVkVfTUVNUENQWT0nMScKSEFWRV9NS0RJUkFUPScx JwpIQVZFX01LRFRFTVA9JzEnCkhBVkVfTUtGSUZPPScxJwpIQVZFX01LRklGT0FUPScxJwpIQVZF X01LTk9EPScxJwpIQVZFX01LTk9EQVQ9JzEnCkhBVkVfTUtPU1RFTVA9JzAnCkhBVkVfTUtPU1RF TVBTPScxJwpIQVZFX01LU1RFTVA9JzEnCkhBVkVfTUtTVEVNUFM9JzEnCkhBVkVfTU9EVUxFUz0n eWVzJwpIQVZFX05BTk9TTEVFUD0nMScKSEFWRV9OQVRJVkVfQ09NUD0neWVzJwpIQVZFX09QRU5B VD0nMScKSEFWRV9PUEVORElSPScxJwpIQVZFX09TX0g9JzAnCkhBVkVfUENMT1NFPScxJwpIQVZF X1BEVU1QRVI9J3llcycKSEFWRV9QSVBFMj0nMScKSEFWRV9QSVBFPScxJwpIQVZFX1BPUEVOPScx JwpIQVZFX1BPU0lYX09QRU5QVD0nMScKSEFWRV9QT1NJWF9TSUdOQUxCTE9DS0lORz0nMScKSEFW RV9QUkVBRD0nMScKSEFWRV9QU0VMRUNUPScxJwpIQVZFX1BUSFJFQURfU0lHTUFTSz0nMScKSEFW RV9QVFNOQU1FPScxJwpIQVZFX1BUU05BTUVfUj0nMScKSEFWRV9QV1JJVEU9JzEnCkhBVkVfUVNP UlRfUj0nMScKSEFWRV9SQUlTRT0nMScKSEFWRV9SQU5ET009JzEnCkhBVkVfUkFORE9NX0g9JzEn CkhBVkVfUkFORE9NX1I9JzEnCkhBVkVfUkFXTUVNQ0hSPScxJwpIQVZFX1JFQURESVI9JzEnCkhB VkVfUkVBRExJTks9JzEnCkhBVkVfUkVBRExJTktBVD0nMScKSEFWRV9SRUFMTE9DQVJSQVk9JzEn CkhBVkVfUkVBTFBBVEg9JzEnCkhBVkVfUkVOQU1FQVQ9JzEnCkhBVkVfUkVXSU5ERElSPScxJwpI QVZFX1JQTUFUQ0g9JzEnCkhBVkVfU0NBTkRJUj0nMScKSEFWRV9TRUNVUkVfR0VURU5WPScxJwpI QVZFX1NFVEVOVj0nMScKSEFWRV9TRVRIT1NUTkFNRT0nMScKSEFWRV9TRVRTVEFURT0nMScKSEFW RV9TSUdBQkJSRVZfTlA9JzEnCkhBVkVfU0lHQUNUSU9OPScxJwpIQVZFX1NJR0RFU0NSX05QPScw JwpIQVZFX1NJR0hBTkRMRVJfVD0nMCcKSEFWRV9TSUdJTkZPX1Q9JzEnCkhBVkVfU0lHTkVEX1NJ R19BVE9NSUNfVD0nJwpIQVZFX1NJR05FRF9XQ0hBUl9UPScnCkhBVkVfU0lHTkVEX1dJTlRfVD0n JwpIQVZFX1NJR1NFVF9UPScwJwpIQVZFX1NMRUVQPScxJwpIQVZFX1NURElOVF9IPScxJwpIQVZF X1NUUENQWT0nMCcKSEFWRV9TVFBOQ1BZPScxJwpIQVZFX1NUUkNBU0VTVFI9JzEnCkhBVkVfU1RS Q0hSTlVMPScxJwpIQVZFX1NUUkVSUk9STkFNRV9OUD0nMScKSEFWRV9TVFJQQlJLPScxJwpIQVZF X1NUUlBUSU1FPScxJwpIQVZFX1NUUlNFUD0nMScKSEFWRV9TVFJUT0Q9JzEnCkhBVkVfU1RSVE9M RD0nMScKSEFWRV9TVFJUT0xMPScxJwpIQVZFX1NUUlRPVUxMPScxJwpIQVZFX1NUUlVDVF9SQU5E T01fREFUQT0nMScKSEFWRV9TVFJVQ1RfU0lHQUNUSU9OX1NBX1NJR0FDVElPTj0nMScKSEFWRV9T VFJVQ1RfVElNRVZBTD0nMScKSEFWRV9TVFJWRVJTQ01QPScxJwpIQVZFX1NZTUxJTks9JzEnCkhB VkVfU1lNTElOS0FUPScxJwpIQVZFX1NZU19CSVRZUEVTX0g9JzAnCkhBVkVfU1lTX0NERUZTX0g9 JzEnCkhBVkVfU1lTX0lOVFRZUEVTX0g9JzAnCkhBVkVfU1lTX0xPQURBVkdfSD0nMCcKSEFWRV9T WVNfUEFSQU1fSD0nMCcKSEFWRV9TWVNfUkFORE9NX0g9JzAnCkhBVkVfU1lTX1NFTEVDVF9IPScw JwpIQVZFX1NZU19USU1FX0g9JzEnCkhBVkVfU1lTX1RZUEVTX0g9JzEnCkhBVkVfVElNRUdNPScw JwpIQVZFX1RJTUVaT05FX1Q9JzAnCkhBVkVfVFlQRV9WT0xBVElMRV9TSUdfQVRPTUlDX1Q9JzEn CkhBVkVfVU5JU1REX0g9JzEnCkhBVkVfVU5MSU5LQVQ9JzEnCkhBVkVfVU5MT0NLUFQ9JzEnCkhB VkVfVVNMRUVQPScxJwpIQVZFX1VUSU1FTlNBVD0nMScKSEFWRV9WQVNQUklOVEY9JzEnCkhBVkVf VkRQUklOVEY9JzEnCkhBVkVfV0NIQVJfSD0nMScKSEFWRV9XQ0hBUl9UPScxJwpIQVZFX1dJTlNP Q0syX0g9JzAnCkhBVkVfWFNFUlZFUj0nJwpIQVZFX19FWElUPScxJwpIWUJSSURfTUFMTE9DPScn CklFRUU3NTRfSD0naWVlZTc1NC5oJwpJTUFHRU1BR0lDS19DRkxBR1M9JycKSU1BR0VNQUdJQ0tf TElCUz0nJwpJTkNMVURFX05FWFQ9J2luY2x1ZGVfbmV4dCcKSU5DTFVERV9ORVhUX0FTX0ZJUlNU X0RJUkVDVElWRT0naW5jbHVkZV9uZXh0JwpJTlNUQUxMX0FSQ0hfSU5ERVBfRVhUUkE9J2luc3Rh bGwtZXRjJwpJTlNUQUxMX0RBVEE9JyR7SU5TVEFMTH0gLW0gNjQ0JwpJTlNUQUxMX0lORk89Jy91 c3IvYmluL2luc3RhbGwtaW5mbycKSU5TVEFMTF9QUk9HUkFNPScke0lOU1RBTEx9JwpJTlNUQUxM X1NDUklQVD0nJHtJTlNUQUxMfScKSU5UMzJfTUFYX0xUX0lOVE1BWF9NQVg9JzEnCklOVDY0X01B WF9FUV9MT05HX01BWD0nZGVmaW5lZCBfTFA2NCcKSlNPTl9DRkxBR1M9Jy1pc3lzdGVtIEM6L21z eXM2NC9taW5ndzY0L2luY2x1ZGUgJwpKU09OX0xJQlM9JycKSlNPTl9PQko9J2pzb24ubycKS1FV RVVFX0NGTEFHUz0nJwpLUVVFVUVfTElCUz0nJwpLUkI0TElCPScnCktSQjVMSUI9JycKTENNUzJf Q0ZMQUdTPSctaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlICcKTENNUzJfTElCUz0n JwpMREZMQUdTPScnCkxEX1NXSVRDSF9TWVNURU09JycKTERfU1dJVENIX1NZU1RFTV9URU1BQ1M9 JyAtV2wsLXN0YWNrLDB4MDA4MDAwMDAgLVdsLC1oZWFwLDB4MDAxMDAwMDAgLVdsLC1pbWFnZS1i YXNlLDB4NDAwMDAwMDAwIC1XbCwtZW50cnksX19zdGFydCAtV2wsLU1hcCwuL3RlbWFjcy5tYXAn CkxEX1NXSVRDSF9YX1NJVEU9JycKTERfU1dJVENIX1hfU0lURV9SUEFUSD0nJwpMSUJHQ0NKSVRf TElCPScnCkxJQkdJRj0nJwpMSUJHTVA9Jy1sZ21wJwpMSUJHTlVUTFNfQ0ZMQUdTPSctaXN5c3Rl bSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2lu Y2x1ZGUvcDExLWtpdC0xICcKTElCR05VVExTX0xJQlM9JycKTElCR05VX0xJQkRFUFM9JycKTElC R05VX0xUTElCREVQUz0nJwpMSUJHUE09JycKTElCSEVTSU9EPScnCkxJQklOVEw9JycKTElCSlBF Rz0nJwpMSUJNT0RVTEVTPScnCkxJQk9CSlM9JycKTElCT1RGX0NGTEFHUz0nJwpMSUJPVEZfTElC Uz0nJwpMSUJQTkc9JycKTElCUkVTT0xWPScnCkxJQlM9JyAnCkxJQlNFTElOVVhfTElCUz0nJwpM SUJTT1VORD0nJwpMSUJTWVNURU1EX0NGTEFHUz0nJwpMSUJTWVNURU1EX0xJQlM9JycKTElCU19F Q0xJRU5UPSctbGNvbWN0bDMyJwpMSUJTX0dOVVNURVA9JycKTElCU19NQUlMPScnCkxJQlNfU1lT VEVNPScnCkxJQlNfVEVSTUNBUD0nJwpMSUJUSUZGPScnCkxJQlhNRU5VPScnCkxJQlhNTDJfQ0ZM QUdTPSctaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRlL2xpYnhtbDIgJwpMSUJYTUwy X0xJQlM9JycKTElCWE1VPScnCkxJQlhQTT0nJwpMSUJYU009JycKTElCWFRSNj0nJwpMSUJYVF9P VEhFUj0nJwpMSUJYX09USEVSPScnCkxJQlo9JycKTElCX0FDTD0nJwpMSUJfQ0xPQ0tfR0VUVElN RT0nJwpMSUJfRUFDQ0VTUz0nJwpMSUJfRVhFQ0lORk89JycKTElCX0dFVFJBTkRPTT0nLWxhZHZh cGkzMicKTElCX01BVEg9JycKTElCX1BUSFJFQUQ9JycKTElCX1BUSFJFQURfU0lHTUFTSz0nJwpM SUJfVElNRVJfVElNRT0nJwpMSUJfV1NPQ0szMj0nLWx3c29jazMyJwpMSU1JVFNfSD0nbGltaXRz LmgnCkxOX1NfRklMRU9OTFk9Jy9iaW4vbG4nCkxUTElCR01QPSctbGdtcCcKTFRMSUJJTlRMPScn CkxUTElCT0JKUz0nJwpNMTdOX0ZMVF9DRkxBR1M9JycKTTE3Tl9GTFRfTElCUz0nJwpNQUtFSU5G Tz0nbWFrZWluZm8nCk1BS0VfUFJPRz0nJwpNS0RJUl9QPScvdXNyL2Jpbi9ta2RpciAtcCcKTU9E VUxFU19PQko9J2VtYWNzLW1vZHVsZS5vJwpNT0RVTEVTX1NFQ09OREFSWV9TVUZGSVg9JycKTU9E VUxFU19TVUZGSVg9Jy5kbGwnCk5FWFRfQVNfRklSU1RfRElSRUNUSVZFX0RJUkVOVF9IPSc8ZGly ZW50Lmg+JwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9FUlJOT19IPSc8ZXJybm8uaD4nCk5FWFRf QVNfRklSU1RfRElSRUNUSVZFX0ZDTlRMX0g9JzxmY250bC5oPicKTkVYVF9BU19GSVJTVF9ESVJF Q1RJVkVfR0VUT1BUX0g9JzxnZXRvcHQuaD4nCk5FWFRfQVNfRklSU1RfRElSRUNUSVZFX0lOVFRZ UEVTX0g9JzxpbnR0eXBlcy5oPicKTkVYVF9BU19GSVJTVF9ESVJFQ1RJVkVfTElNSVRTX0g9Jzxs aW1pdHMuaD4nCk5FWFRfQVNfRklSU1RfRElSRUNUSVZFX1NJR05BTF9IPSc8c2lnbmFsLmg+JwpO RVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9TVERERUZfSD0nJwpORVhUX0FTX0ZJUlNUX0RJUkVDVElW RV9TVERJTlRfSD0nPHN0ZGludC5oPicKTkVYVF9BU19GSVJTVF9ESVJFQ1RJVkVfU1RESU9fSD0n PHN0ZGlvLmg+JwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9TVERMSUJfSD0nPHN0ZGxpYi5oPicK TkVYVF9BU19GSVJTVF9ESVJFQ1RJVkVfU1RSSU5HX0g9JzxzdHJpbmcuaD4nCk5FWFRfQVNfRklS U1RfRElSRUNUSVZFX1NZU19SQU5ET01fSD0nPHN5cy9yYW5kb20uaD4nCk5FWFRfQVNfRklSU1Rf RElSRUNUSVZFX1NZU19TRUxFQ1RfSD0nPHN5cy9zZWxlY3QuaD4nCk5FWFRfQVNfRklSU1RfRElS RUNUSVZFX1NZU19TVEFUX0g9JzxzeXMvc3RhdC5oPicKTkVYVF9BU19GSVJTVF9ESVJFQ1RJVkVf U1lTX1RJTUVfSD0nPHN5cy90aW1lLmg+JwpORVhUX0FTX0ZJUlNUX0RJUkVDVElWRV9TWVNfVFlQ RVNfSD0nPHN5cy90eXBlcy5oPicKTkVYVF9BU19GSVJTVF9ESVJFQ1RJVkVfVElNRV9IPSc8dGlt ZS5oPicKTkVYVF9BU19GSVJTVF9ESVJFQ1RJVkVfVU5JU1REX0g9Jzx1bmlzdGQuaD4nCk5FWFRf RElSRU5UX0g9JzxkaXJlbnQuaD4nCk5FWFRfRVJSTk9fSD0nPGVycm5vLmg+JwpORVhUX0ZDTlRM X0g9JzxmY250bC5oPicKTkVYVF9HRVRPUFRfSD0nPGdldG9wdC5oPicKTkVYVF9JTlRUWVBFU19I PSc8aW50dHlwZXMuaD4nCk5FWFRfTElNSVRTX0g9JzxsaW1pdHMuaD4nCk5FWFRfU0lHTkFMX0g9 JzxzaWduYWwuaD4nCk5FWFRfU1REREVGX0g9JycKTkVYVF9TVERJTlRfSD0nPHN0ZGludC5oPicK TkVYVF9TVERJT19IPSc8c3RkaW8uaD4nCk5FWFRfU1RETElCX0g9JzxzdGRsaWIuaD4nCk5FWFRf U1RSSU5HX0g9JzxzdHJpbmcuaD4nCk5FWFRfU1lTX1JBTkRPTV9IPSc8c3lzL3JhbmRvbS5oPicK TkVYVF9TWVNfU0VMRUNUX0g9JzxzeXMvc2VsZWN0Lmg+JwpORVhUX1NZU19TVEFUX0g9JzxzeXMv c3RhdC5oPicKTkVYVF9TWVNfVElNRV9IPSc8c3lzL3RpbWUuaD4nCk5FWFRfU1lTX1RZUEVTX0g9 JzxzeXMvdHlwZXMuaD4nCk5FWFRfVElNRV9IPSc8dGltZS5oPicKTkVYVF9VTklTVERfSD0nPHVu aXN0ZC5oPicKTk9USUZZX0NGTEFHUz0nJwpOT1RJRllfTElCUz0nJwpOT1RJRllfT0JKPSd3MzJu b3RpZnkubycKTlNfT0JKPScnCk5TX09CSkNfT0JKPScnCk5URElSPSdudCcKTlRMSUI9J250bGli Lm8nCk9CSkM9JycKT0JKQ0ZMQUdTPScnCk9CSkVYVD0nbycKT1RIRVJfRklMRVM9JycKUEFDS0FH RV9CVUdSRVBPUlQ9J2J1Zy1nbnUtZW1hY3NAZ251Lm9yZycKUEFDS0FHRV9OQU1FPSdHTlUgRW1h Y3MnClBBQ0tBR0VfU1RSSU5HPSdHTlUgRW1hY3MgMjguMC41MCcKUEFDS0FHRV9UQVJOQU1FPSdl bWFjcycKUEFDS0FHRV9VUkw9J2h0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZW1hY3MvJwpQ QUNLQUdFX1ZFUlNJT049JzI4LjAuNTAnClBBVEhfU0VQQVJBVE9SPSc6JwpQQVhDVEw9JycKUEFY Q1RMX2R1bXBlZD0nJwpQQVhDVExfbm90ZHVtcGVkPScnClBLR19DT05GSUc9Jy9taW5ndzY0L2Jp bi9wa2ctY29uZmlnJwpQS0dfQ09ORklHX0xJQkRJUj0nJwpQS0dfQ09ORklHX1BBVEg9Jy9taW5n dzY0L2xpYi9wa2djb25maWc6L21pbmd3NjQvc2hhcmUvcGtnY29uZmlnJwpQTkdfQ0ZMQUdTPScn ClBOR19MSUJTPScnClBPU1RfQUxMT0NfT0JKPSdsYXN0ZmlsZS5vJwpQUkFHTUFfQ09MVU1OUz0n JwpQUkFHTUFfU1lTVEVNX0hFQURFUj0nI3ByYWdtYSBHQ0Mgc3lzdGVtX2hlYWRlcicKUFJFX0FM TE9DX09CSj0nJwpQUklQVFJfUFJFRklYPSdfX1BSSVBUUl9QUkVGSVgnClBST0ZJTElOR19DRkxB R1M9JycKUFRIUkVBRF9IX0RFRklORVNfU1RSVUNUX1RJTUVTUEVDPScwJwpQVFJESUZGX1RfU1VG RklYPScnClJBTExPQ19PQko9JycKUkFOTElCPSdyYW5saWInClJFUExBQ0VfQUNDRVNTPScwJwpS RVBMQUNFX0NBTExPQz0nMCcKUkVQTEFDRV9DQU5PTklDQUxJWkVfRklMRV9OQU1FPScwJwpSRVBM QUNFX0NIT1dOPScwJwpSRVBMQUNFX0NMT1NFPScwJwpSRVBMQUNFX0NMT1NFRElSPScwJwpSRVBM QUNFX0NSRUFUPScwJwpSRVBMQUNFX0NUSU1FPSdHTlVMSUJfUE9SVENIRUNLJwpSRVBMQUNFX0RJ UkZEPScwJwpSRVBMQUNFX0RQUklOVEY9JzAnClJFUExBQ0VfRFVQMj0nMCcKUkVQTEFDRV9EVVA9 JzAnClJFUExBQ0VfRkFDQ0VTU0FUPScwJwpSRVBMQUNFX0ZDSE1PREFUPScwJwpSRVBMQUNFX0ZD SE9XTkFUPScwJwpSRVBMQUNFX0ZDTE9TRT0nMCcKUkVQTEFDRV9GQ05UTD0nMCcKUkVQTEFDRV9G RE9QRU49JzAnClJFUExBQ0VfRkRPUEVORElSPScwJwpSRVBMQUNFX0ZGTFVTSD0nMCcKUkVQTEFD RV9GT1BFTj0nMCcKUkVQTEFDRV9GUFJJTlRGPScwJwpSRVBMQUNFX0ZQVVJHRT0nMCcKUkVQTEFD RV9GUkVPUEVOPScwJwpSRVBMQUNFX0ZTRUVLPScwJwpSRVBMQUNFX0ZTRUVLTz0nMCcKUkVQTEFD RV9GU1RBVD0nMCcKUkVQTEFDRV9GU1RBVEFUPScwJwpSRVBMQUNFX0ZURUxMPScwJwpSRVBMQUNF X0ZURUxMTz0nMCcKUkVQTEFDRV9GVFJVTkNBVEU9JzAnClJFUExBQ0VfRlVUSU1FTlM9JzAnClJF UExBQ0VfR0VUQ1dEPScwJwpSRVBMQUNFX0dFVERFTElNPScwJwpSRVBMQUNFX0dFVERPTUFJTk5B TUU9JzAnClJFUExBQ0VfR0VURFRBQkxFU0laRT0nMCcKUkVQTEFDRV9HRVRHUk9VUFM9JzAnClJF UExBQ0VfR0VUTElORT0nMCcKUkVQTEFDRV9HRVRMT0dJTl9SPScwJwpSRVBMQUNFX0dFVFBBR0VT SVpFPScwJwpSRVBMQUNFX0dFVFBBU1M9JzAnClJFUExBQ0VfR0VUUkFORE9NPScwJwpSRVBMQUNF X0dFVFRJTUVPRkRBWT0nMScKUkVQTEFDRV9HTVRJTUU9JzAnClJFUExBQ0VfSU5JVFNUQVRFPScw JwpSRVBMQUNFX0lTQVRUWT0nMCcKUkVQTEFDRV9MQ0hPV049JzAnClJFUExBQ0VfTElOSz0nMCcK UkVQTEFDRV9MSU5LQVQ9JzAnClJFUExBQ0VfTE9DQUxUSU1FPScwJwpSRVBMQUNFX0xPQ0FMVElN RV9SPSdHTlVMSUJfUE9SVENIRUNLJwpSRVBMQUNFX0xTRUVLPScwJwpSRVBMQUNFX0xTVEFUPScw JwpSRVBMQUNFX01BTExPQz0nMCcKUkVQTEFDRV9NQlRPV0M9JzAnClJFUExBQ0VfTUVNQ0hSPScw JwpSRVBMQUNFX01FTU1FTT0nMCcKUkVQTEFDRV9NS0RJUj0nMCcKUkVQTEFDRV9NS0ZJRk89JzAn ClJFUExBQ0VfTUtOT0Q9JzAnClJFUExBQ0VfTUtTVEVNUD0nMCcKUkVQTEFDRV9NS1RJTUU9JzEn ClJFUExBQ0VfTkFOT1NMRUVQPSdHTlVMSUJfUE9SVENIRUNLJwpSRVBMQUNFX05VTEw9JzAnClJF UExBQ0VfT0JTVEFDS19QUklOVEY9JzAnClJFUExBQ0VfT1BFTj0nMCcKUkVQTEFDRV9PUEVOQVQ9 JzAnClJFUExBQ0VfT1BFTkRJUj0nMCcKUkVQTEFDRV9QRVJST1I9JzAnClJFUExBQ0VfUE9QRU49 JzAnClJFUExBQ0VfUFJFQUQ9JzAnClJFUExBQ0VfUFJJTlRGPScwJwpSRVBMQUNFX1BTRUxFQ1Q9 JzAnClJFUExBQ0VfUFRIUkVBRF9TSUdNQVNLPScwJwpSRVBMQUNFX1BUU05BTUU9JzAnClJFUExB Q0VfUFRTTkFNRV9SPScwJwpSRVBMQUNFX1BVVEVOVj0nMCcKUkVQTEFDRV9QV1JJVEU9JzAnClJF UExBQ0VfUVNPUlRfUj0nMCcKUkVQTEFDRV9SQUlTRT0nMCcKUkVQTEFDRV9SQU5ET009JzAnClJF UExBQ0VfUkFORE9NX1I9JzAnClJFUExBQ0VfUkVBRD0nMCcKUkVQTEFDRV9SRUFETElOSz0nMCcK UkVQTEFDRV9SRUFETElOS0FUPScwJwpSRVBMQUNFX1JFQUxMT0M9JzAnClJFUExBQ0VfUkVBTFBB VEg9JzAnClJFUExBQ0VfUkVNT1ZFPScwJwpSRVBMQUNFX1JFTkFNRT0nMCcKUkVQTEFDRV9SRU5B TUVBVD0nMCcKUkVQTEFDRV9STURJUj0nMCcKUkVQTEFDRV9TRUxFQ1Q9JzAnClJFUExBQ0VfU0VU RU5WPScwJwpSRVBMQUNFX1NFVFNUQVRFPScwJwpSRVBMQUNFX1NMRUVQPScwJwpSRVBMQUNFX1NO UFJJTlRGPScwJwpSRVBMQUNFX1NQUklOVEY9JzAnClJFUExBQ0VfU1RBVD0nMCcKUkVQTEFDRV9T VERJT19SRUFEX0ZVTkNTPScwJwpSRVBMQUNFX1NURElPX1dSSVRFX0ZVTkNTPScwJwpSRVBMQUNF X1NUUE5DUFk9JzAnClJFUExBQ0VfU1RSQ0FTRVNUUj0nMCcKUkVQTEFDRV9TVFJDSFJOVUw9JzAn ClJFUExBQ0VfU1RSRFVQPScwJwpSRVBMQUNFX1NUUkVSUk9SPScwJwpSRVBMQUNFX1NUUkVSUk9S TkFNRV9OUD0nMCcKUkVQTEFDRV9TVFJFUlJPUl9SPScwJwpSRVBMQUNFX1NUUkZUSU1FPSdHTlVM SUJfUE9SVENIRUNLJwpSRVBMQUNFX1NUUk5DQVQ9JzAnClJFUExBQ0VfU1RSTkRVUD0nMCcKUkVQ TEFDRV9TVFJOTEVOPScwJwpSRVBMQUNFX1NUUlNJR05BTD0nMCcKUkVQTEFDRV9TVFJTVFI9JzAn ClJFUExBQ0VfU1RSVE9EPScwJwpSRVBMQUNFX1NUUlRPSU1BWD0nMCcKUkVQTEFDRV9TVFJUT0tf Uj0nMCcKUkVQTEFDRV9TVFJUT0xEPScwJwpSRVBMQUNFX1NUUlRPVU1BWD0nMCcKUkVQTEFDRV9T VFJVQ1RfVElNRVZBTD0nMCcKUkVQTEFDRV9TWU1MSU5LPScwJwpSRVBMQUNFX1NZTUxJTktBVD0n MCcKUkVQTEFDRV9USU1FR009JzAnClJFUExBQ0VfVE1QRklMRT0nMCcKUkVQTEFDRV9UUlVOQ0FU RT0nMCcKUkVQTEFDRV9UVFlOQU1FX1I9JzAnClJFUExBQ0VfVFpTRVQ9J0dOVUxJQl9QT1JUQ0hF Q0snClJFUExBQ0VfVU5MSU5LPScwJwpSRVBMQUNFX1VOTElOS0FUPScwJwpSRVBMQUNFX1VOU0VU RU5WPScwJwpSRVBMQUNFX1VTTEVFUD0nMCcKUkVQTEFDRV9VVElNRU5TQVQ9JzAnClJFUExBQ0Vf VkFTUFJJTlRGPScwJwpSRVBMQUNFX1ZEUFJJTlRGPScwJwpSRVBMQUNFX1ZGUFJJTlRGPScwJwpS RVBMQUNFX1ZQUklOVEY9JzAnClJFUExBQ0VfVlNOUFJJTlRGPScwJwpSRVBMQUNFX1ZTUFJJTlRG PScwJwpSRVBMQUNFX1dDVE9NQj0nMCcKUkVQTEFDRV9XUklURT0nMCcKUlNWR19DRkxBR1M9Jy1p c3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbGlicnN2Zy0yLjAgLWlzeXN0ZW0gQzov bXN5czY0L21pbmd3NjQvaW5jbHVkZS9nbGliLTIuMCAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2 NC9saWIvZ2xpYi0yLjAvaW5jbHVkZSAtaXN5c3RlbSBDOi9tc3lzNjQvbWluZ3c2NC9pbmNsdWRl IC1tbXMtYml0ZmllbGRzIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZ2RrLXBp eGJ1Zi0yLjAgLWlzeXN0ZW0gQzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9saWJwbmcxNiAtbW1z LWJpdGZpZWxkcyAtcHRocmVhZCAtbW1zLWJpdGZpZWxkcyAtaXN5c3RlbSBDOi9tc3lzNjQvbWlu Z3c2NC9pbmNsdWRlL2NhaXJvIC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvbHpv IC1pc3lzdGVtIEM6L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvZnJlZXR5cGUyIC1pc3lzdGVtIEM6 L21zeXM2NC9taW5ndzY0L2luY2x1ZGUvaGFyZmJ1enogLW1tcy1iaXRmaWVsZHMgLWlzeXN0ZW0g QzovbXN5czY0L21pbmd3NjQvaW5jbHVkZS9waXhtYW4tMSAnClJTVkdfTElCUz0nJwpTRVBDSEFS PSc7JwpTRVRGQVRUUj0nJwpTRVRUSU5HU19DRkxBR1M9JycKU0VUVElOR1NfTElCUz0nJwpTSEVM TD0nL2Jpbi9zaCcKU0lHX0FUT01JQ19UX1NVRkZJWD0nJwpTSVpFX1RfU1VGRklYPScnClNUREFM SUdOX0g9JycKU1REREVGX0g9JycKU1RESU5UX0g9J3N0ZGludC5oJwpTVUJESVJfTUFLRUZJTEVT X0lOPScgJChzcmNkaXIpL2xpYi9NYWtlZmlsZS5pbiAkKHNyY2RpcikvbGliLXNyYy9NYWtlZmls ZS5pbiAkKHNyY2Rpcikvb2xkWE1lbnUvTWFrZWZpbGUuaW4gJChzcmNkaXIpL2RvYy9lbWFjcy9N YWtlZmlsZS5pbiAkKHNyY2RpcikvZG9jL21pc2MvTWFrZWZpbGUuaW4gJChzcmNkaXIpL2RvYy9s aXNwaW50cm8vTWFrZWZpbGUuaW4gJChzcmNkaXIpL2RvYy9saXNwcmVmL01ha2VmaWxlLmluICQo c3JjZGlyKS9zcmMvTWFrZWZpbGUuaW4gJChzcmNkaXIpL2x3bGliL01ha2VmaWxlLmluICQoc3Jj ZGlyKS9saXNwL01ha2VmaWxlLmluICQoc3JjZGlyKS9sZWltL01ha2VmaWxlLmluICQoc3JjZGly KS9uZXh0c3RlcC9NYWtlZmlsZS5pbiAkKHNyY2RpcikvbnQvTWFrZWZpbGUuaW4gJChzcmNkaXIp L3Rlc3QvTWFrZWZpbGUuaW4gJChzcmNkaXIpL2FkbWluL2NoYXJzZXRzL01ha2VmaWxlLmluICQo c3JjZGlyKS9hZG1pbi91bmlkYXRhL01ha2VmaWxlLmluICQoc3JjZGlyKS9hZG1pbi9ncmFtbWFy cy9NYWtlZmlsZS5pbicKU1lTVEVNX1RZUEU9J3dpbmRvd3MtbnQnClNZU19USU1FX0hfREVGSU5F U19TVFJVQ1RfVElNRVNQRUM9JzAnClRFUk1DQVBfT0JKPSd0cGFyYW0ubycKVElNRV9IX0RFRklO RVNfU1RSVUNUX1RJTUVTUEVDPScxJwpUT09MS0lUX0xJQlc9JycKVUlOVDMyX01BWF9MVF9VSU5U TUFYX01BWD0nMScKVUlOVDY0X01BWF9FUV9VTE9OR19NQVg9J2RlZmluZWQgX0xQNjQnClVOREVG SU5FX1NUUlRPS19SPScwJwpVTkVYRUNfT0JKPScnClVOSVNURF9IX0RFRklORVNfU1RSVUNUX1RJ TUVTUEVDPScwJwpVTklTVERfSF9IQVZFX1NZU19SQU5ET01fSD0nMCcKVU5JU1REX0hfSEFWRV9X SU5TT0NLMl9IPScwJwpVTklTVERfSF9IQVZFX1dJTlNPQ0syX0hfQU5EX1VTRV9TT0NLRVRTPScw JwpVU0VfQUNMPScxJwpWTUxJTUlUX09CSj0nJwpXMzJfTElCUz0nIC1sd2lubW0gLWx1c3AxMCAt bGdkaTMyIC1sY29tZGxnMzIgLWxtcHIgLWx3aW5zcG9vbCAtbG9sZTMyIC1sY29tY3RsMzInClcz Ml9PQko9J3czMmZucy5vIHczMm1lbnUubyB3MzJyZWcubyB3MzJmb250Lm8gdzMydGVybS5vIHcz MnhmbnMubyB3MzJzZWxlY3QubyB3MzJ1bmlzY3JpYmUubyB3MzJjeWd3aW54Lm8gdzMyLm8gdzMy Y29uc29sZS5vIHczMmhlYXAubyB3MzJpbmV2dC5vIHczMnByb2MubyB3MzJpbWFnZS5vJwpXMzJf UkVTX0xJTks9JyQoRU1BQ1NSRVMpJwpXQVJOX0NGTEFHUz0nIC1mbm8tY29tbW9uIC1XYWxsIC1X YXJpdGgtY29udmVyc2lvbiAtV2RhdGUtdGltZSAtV2Rpc2FibGVkLW9wdGltaXphdGlvbiAtV2Rv dWJsZS1wcm9tb3Rpb24gLVdkdXBsaWNhdGVkLWNvbmQgLVdleHRyYSAtV2Zvcm1hdC1zaWduZWRu ZXNzIC1XaW5pdC1zZWxmIC1XaW52YWxpZC1wY2ggLVdsb2dpY2FsLW9wIC1XbWlzc2luZy1kZWNs YXJhdGlvbnMgLVdtaXNzaW5nLWluY2x1ZGUtZGlycyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25l c3RlZC1leHRlcm5zIC1XbnVsbC1kZXJlZmVyZW5jZSAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1X b3Blbm1wLXNpbWQgLVdwYWNrZWQgLVdwb2ludGVyLWFyaXRoIC1Xc3RyaWN0LXByb3RvdHlwZXMg LVdzdWdnZXN0LWF0dHJpYnV0ZT1ub3JldHVybiAtV3N1Z2dlc3QtZmluYWwtbWV0aG9kcyAtV3N1 Z2dlc3QtZmluYWwtdHlwZXMgLVd0cmFtcG9saW5lcyAtV3VuaW5pdGlhbGl6ZWQgLVd1bmtub3du LXByYWdtYXMgLVd1bnVzZWQtbWFjcm9zIC1XdmFyaWFkaWMtbWFjcm9zIC1XdmVjdG9yLW9wZXJh dGlvbi1wZXJmb3JtYW5jZSAtV3dyaXRlLXN0cmluZ3MgLVdhcnJheS1ib3VuZHM9MiAtV2F0dHJp YnV0ZS1hbGlhcz0yIC1XZm9ybWF0PTIgLVdmb3JtYXQtdHJ1bmNhdGlvbj0yIC1XaW1wbGljaXQt ZmFsbHRocm91Z2g9NSAtV3NoaWZ0LW92ZXJmbG93PTIgLVd2bGEtbGFyZ2VyLXRoYW49NDAzMSAt V25vLW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzIC1Xbm8tb3ZlcnJpZGUtaW5pdCAtV25vLXNp Z24tY29tcGFyZSAtV25vLXR5cGUtbGltaXRzIC1Xbm8tdW51c2VkLXBhcmFtZXRlciAtV25vLWZv cm1hdC1ub25saXRlcmFsIC1Xbm8tcG9pbnRlci1zaWduJwpXQ0hBUl9UX1NVRkZJWD0nJwpXRUJL SVRfQ0ZMQUdTPScnCldFQktJVF9MSUJTPScnCldFUlJPUl9DRkxBR1M9JycKV0lER0VUX09CSj0n JwpXSU5ET1dTXzY0X0JJVF9PRkZfVD0nMCcKV0lORE9XU182NF9CSVRfU1RfU0laRT0nMScKV0lO RE9XU19TVEFUX0lOT0RFUz0nMCcKV0lORE9XU19TVEFUX1RJTUVTUEVDPScwJwpXSU5ET1dfU1lT VEVNX09CSj0nZm9udHNldC5vIGZyaW5nZS5vIGltYWdlLm8nCldJTkRSRVM9J3dpbmRyZXMnCldJ TlRfVF9TVUZGSVg9JycKWEFSR1NfTElNSVQ9Jy1zIDEwMDAwJwpYQ0JfTElCUz0nJwpYQ1JVTj0n JwpYREJFX0NGTEFHUz0nJwpYREJFX0xJQlM9JycKWEZJWEVTX0NGTEFHUz0nJwpYRklYRVNfTElC Uz0nJwpYRlRfQ0ZMQUdTPScnClhGVF9MSUJTPScnClhHU0VMT0JKPScnClhJTkVSQU1BX0NGTEFH Uz0nJwpYSU5FUkFNQV9MSUJTPScnClhNRU5VX09CSj0nJwpYTUtNRj0nJwpYT0JKPScnClhSQU5E Ul9DRkxBR1M9JycKWFJBTkRSX0xJQlM9JycKWFJFTkRFUl9MSUJTPScnClhXSURHRVRTX09CSj0n JwpYX1RPT0xLSVRfVFlQRT0nbm9uZScKYWNfY3RfQ0M9J2djYycKYWNfY3RfT0JKQz0nJwphcmNo bGliZGlyPScke2xpYmV4ZWNkaXJ9L2VtYWNzLyR7dmVyc2lvbn0vJHtjb25maWd1cmF0aW9ufScK YmluZGlyPScke2V4ZWNfcHJlZml4fS9iaW4nCmJpdG1hcGRpcj0nJwpidWlsZD0neDg2XzY0LXc2 NC1taW5ndzMyJwpidWlsZF9hbGlhcz0neDg2XzY0LXc2NC1taW5ndzMyJwpidWlsZF9jcHU9J3g4 Nl82NCcKYnVpbGRfb3M9J21pbmd3MzInCmJ1aWxkX3ZlbmRvcj0ndzY0JwpjYWNoZV9maWxlPScv ZGV2L251bGwnCmNhbm9uaWNhbD0neDg2XzY0LXc2NC1taW5ndzMyJwpjb21tYV9zcGFjZV92ZXJz aW9uPScyOCwgMCwgNTAsIDAnCmNvbW1hX3ZlcnNpb249JzI4LDAsNTAsMCcKY29uZmlndXJhdGlv bj0neDg2XzY0LXc2NC1taW5ndzMyJwpjb3B5cmlnaHQ9J0NvcHlyaWdodCAoQykgMjAyMCBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4nCmRhdGFkaXI9JyR7ZGF0YXJvb3RkaXJ9JwpkYXRh cm9vdGRpcj0nJHtwcmVmaXh9L3NoYXJlJwpkb2NkaXI9JyR7ZGF0YXJvb3RkaXJ9L2RvYy8ke1BB Q0tBR0VfVEFSTkFNRX0nCmR2aWRpcj0nJHtkb2NkaXJ9JwplbWFjc19tYWpvcl92ZXJzaW9uPScy OCcKZXRjZGlyPScke2RhdGFkaXJ9L2VtYWNzLyR7dmVyc2lvbn0vZXRjJwpldGNkb2NkaXI9JyR7 ZGF0YWRpcn0vZW1hY3MvJHt2ZXJzaW9ufS9ldGMnCmV4ZWNfcHJlZml4PScke3ByZWZpeH0nCmdh bWVkaXI9JyR7bG9jYWxzdGF0ZWRpcn0vZ2FtZXMvZW1hY3MnCmdhbWVncm91cD0nJwpnYW1ldXNl cj0nJwpnbF9HTlVMSUJfRU5BQkxFRF8wM2UwYWFhZDRjYjg5Y2E3NTc2NTNiZDM2N2E2Y2NiNz0n JwpnbF9HTlVMSUJfRU5BQkxFRF8yNjA5NDFjMGU1ZGM2N2VjOWU4N2QxZmIzMjFjMzAwYj0nJwpn bF9HTlVMSUJfRU5BQkxFRF81MjY0Mjk0YWEwYTU1NTc1NDFiNTNjOGM3NDFmN2YzMT0nMScKZ2xf R05VTElCX0VOQUJMRURfNjA5OWU5NzM3Zjc1N2RiMzZjNDdmYTlkOWYwMmU4OGM9JycKZ2xfR05V TElCX0VOQUJMRURfNjgyZTYwOTYwNGNjYWFjNmJlMzgyZTRlZTNhNGVhZWM9JycKZ2xfR05VTElC X0VOQUJMRURfYTk3ODY4NTBlOTk5YWU2NWE4MzZhNjA0MWU4ZTVlZDE9JycKZ2xfR05VTElCX0VO QUJMRURfYmU0NTNjZWM1ZWVjZjU3MzFhMjc0ZjJkZTdmMmRiMzY9JzEnCmdsX0dOVUxJQl9FTkFC TEVEX2Nsb2V4ZWM9JycKZ2xfR05VTElCX0VOQUJMRURfZGlyZmQ9JycKZ2xfR05VTElCX0VOQUJM RURfZXVpZGFjY2Vzcz0nJwpnbF9HTlVMSUJfRU5BQkxFRF9nZXRkdGFibGVzaXplPScnCmdsX0dO VUxJQl9FTkFCTEVEX2dldGdyb3Vwcz0nJwpnbF9HTlVMSUJfRU5BQkxFRF9sY2htb2Q9JycKZ2xf R05VTElCX0VOQUJMRURfbWFsbG9jYT0nJwpnbF9HTlVMSUJfRU5BQkxFRF9vcGVuPScnCmdsX0dO VUxJQl9FTkFCTEVEX3N0cnRvbGw9JycKZ2xfR05VTElCX0VOQUJMRURfdXRpbWVucz0nJwpnbF9M SUJPQkpTPScgYWNsX2VudHJpZXMubyBleGVjaW5mby5vIGZwZW5kaW5nLm8gZ2V0b3B0Lm8gZ2V0 b3B0MS5vIGdldHJhbmRvbS5vIGdldHRpbWVvZmRheS5vIG1lbW1lbS5vIG1lbXJjaHIubyBta29z dGVtcC5vIG1rdGltZS5vIHJlZ2V4Lm8gc2lnMnN0ci5vIHNpZ2Rlc2NyX25wLm8gc3RwY3B5Lm8g dGltZV9yLm8gdGltZV9yei5vIHRpbWVnbS5vJwpnbF9MVExJQk9CSlM9JyBhY2xfZW50cmllcy5s byBleGVjaW5mby5sbyBmcGVuZGluZy5sbyBnZXRvcHQubG8gZ2V0b3B0MS5sbyBnZXRyYW5kb20u bG8gZ2V0dGltZW9mZGF5LmxvIG1lbW1lbS5sbyBtZW1yY2hyLmxvIG1rb3N0ZW1wLmxvIG1rdGlt ZS5sbyByZWdleC5sbyBzaWcyc3RyLmxvIHNpZ2Rlc2NyX25wLmxvIHN0cGNweS5sbyB0aW1lX3Iu bG8gdGltZV9yei5sbyB0aW1lZ20ubG8nCmdsdGVzdHNfTElCT0JKUz0nJwpnbHRlc3RzX0xUTElC T0JKUz0nJwpnbHRlc3RzX1dJVE5FU1M9J0lOX0VNQUNTX0dOVUxJQl9URVNUUycKaG9zdD0neDg2 XzY0LXc2NC1taW5ndzMyJwpob3N0X2FsaWFzPScnCmhvc3RfY3B1PSd4ODZfNjQnCmhvc3Rfb3M9 J21pbmd3MzInCmhvc3RfdmVuZG9yPSd3NjQnCmh0bWxkaXI9JyR7ZG9jZGlyfScKaW5jbHVkZWRp cj0nJHtwcmVmaXh9L2luY2x1ZGUnCmluZm9kaXI9JyR7ZGF0YXJvb3RkaXJ9L2luZm8nCmxpYmRp cj0nJHtleGVjX3ByZWZpeH0vbGliJwpsaWJleGVjZGlyPScke2V4ZWNfcHJlZml4fS9saWJleGVj JwpsaWJsb2NrZmlsZT0nbm8nCmxpc3BkaXI9JyR7ZGF0YWRpcn0vZW1hY3MvJHt2ZXJzaW9ufS9s aXNwJwpsaXNwZGlycmVsPScke3ZlcnNpb259L2xpc3AnCmxpc3BwYXRoPScke2xvY2FsbGlzcHBh dGh9OiR7c3RhbmRhcmRsaXNwcGF0aH0nCmxvY2FsZWRpcj0nJHtkYXRhcm9vdGRpcn0vbG9jYWxl Jwpsb2NhbGxpc3BwYXRoPScke2RhdGFkaXJ9L2VtYWNzLyR7dmVyc2lvbn0vc2l0ZS1saXNwOiR7 ZGF0YWRpcn0vZW1hY3Mvc2l0ZS1saXNwJwpsb2NhbHN0YXRlZGlyPScke3ByZWZpeH0vdmFyJwpt YW5kaXI9JyR7ZGF0YXJvb3RkaXJ9L21hbicKbnNfYXBwYmluZGlyPScnCm5zX2FwcGRpcj0nJwpu c19hcHByZXNkaXI9JycKbnNfYXBwc3JjPScnCm5zX2NoZWNrX2ZpbGU9JycKbnNfc2VsZl9jb250 YWluZWQ9J25vJwpvbGRpbmNsdWRlZGlyPScvdXNyL2luY2x1ZGUnCnBkZmRpcj0nJHtkb2NkaXJ9 JwpwcmVmaXg9Jy9ob21lL1ZXaW5Vc2VyMC9Eb3dubG9hZHMvZW1hY3MvbmF0aXZlLWNvbXAvYnVp bHQnCnByb2dyYW1fdHJhbnNmb3JtX25hbWU9J3MseCx4LCcKcHNkaXI9JyR7ZG9jZGlyfScKc2Jp bmRpcj0nJHtleGVjX3ByZWZpeH0vc2JpbicKc2hhcmVkc3RhdGVkaXI9JyR7cHJlZml4fS9jb20n CnNyY2Rpcj0nLi4vc3JjJwpzdGFuZGFyZGxpc3BwYXRoPScke2xpc3BkaXJ9JwpzeXNjb25mZGly PScke3ByZWZpeH0vZXRjJwp0YXJnZXRfYWxpYXM9JycKdmVyc2lvbj0nMjguMC41MCcKd2l0aF9t YWlsdXRpbHM9JycKeF9kZWZhdWx0X3NlYXJjaF9wYXRoPScnCgojIyAtLS0tLS0tLS0tLS0tLS0t LS0tICMjCiMjIEZpbGUgc3Vic3RpdHV0aW9ucy4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLSAj IwoKbW9kdWxlX2Vudl9zbmlwcGV0XzI1PScuLi9zcmMvc3JjL21vZHVsZS1lbnYtMjUuaCcKbW9k dWxlX2Vudl9zbmlwcGV0XzI2PScuLi9zcmMvc3JjL21vZHVsZS1lbnYtMjYuaCcKbW9kdWxlX2Vu dl9zbmlwcGV0XzI3PScuLi9zcmMvc3JjL21vZHVsZS1lbnYtMjcuaCcKbW9kdWxlX2Vudl9zbmlw cGV0XzI4PScuLi9zcmMvc3JjL21vZHVsZS1lbnYtMjguaCcKCiMjIC0tLS0tLS0tLS0tICMjCiMj IGNvbmZkZWZzLmguICMjCiMjIC0tLS0tLS0tLS0tICMjCgovKiBjb25mZGVmcy5oICovCiNkZWZp bmUgUEFDS0FHRV9OQU1FICJHTlUgRW1hY3MiCiNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJlbWFj cyIKI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjI4LjAuNTAiCiNkZWZpbmUgUEFDS0FHRV9TVFJJ TkcgIkdOVSBFbWFjcyAyOC4wLjUwIgojZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctZ251 LWVtYWNzQGdudS5vcmciCiNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHBzOi8vd3d3LmdudS5vcmcv c29mdHdhcmUvZW1hY3MvIgojZGVmaW5lIE1BSUxfVVNFX1BPUCAxCiNkZWZpbmUgSEFWRV9QRFVN UEVSIDEKI2RlZmluZSBTVERDX0hFQURFUlMgMQojZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQoj ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCiNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCiNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCiNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCiNkZWZpbmUgSEFWRV9TVFJJ TkdTX0ggMQojZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCiNkZWZpbmUgSEFWRV9TVERJTlRfSCAx CiNkZWZpbmUgSEFWRV9VTklTVERfSCAxCiNkZWZpbmUgX19FWFRFTlNJT05TX18gMQojZGVmaW5l IF9BTExfU09VUkNFIDEKI2RlZmluZSBfREFSV0lOX0NfU09VUkNFIDEKI2RlZmluZSBfR05VX1NP VVJDRSAxCiNkZWZpbmUgX05FVEJTRF9TT1VSQ0UgMQojZGVmaW5lIF9PUEVOQlNEX1NPVVJDRSAx CiNkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKI2RlZmluZSBfX1NURENfV0FOVF9J RUNfNjA1NTlfQVRUUklCU19FWFRfXyAxCiNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0JG UF9FWFRfXyAxCiNkZWZpbmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0RGUF9FWFRfXyAxCiNkZWZp bmUgX19TVERDX1dBTlRfSUVDXzYwNTU5X0ZVTkNTX0VYVF9fIDEKI2RlZmluZSBfX1NURENfV0FO VF9JRUNfNjA1NTlfVFlQRVNfRVhUX18gMQojZGVmaW5lIF9fU1REQ19XQU5UX0xJQl9FWFQyX18g MQojZGVmaW5lIF9fU1REQ19XQU5UX01BVEhfU1BFQ19GVU5DU19fIDEKI2RlZmluZSBfVEFOREVN X1NPVVJDRSAxCiNkZWZpbmUgX0hQVVhfQUxUX1hPUEVOX1NPQ0tFVF9BUEkgMQojZGVmaW5lIF9G SUxFX09GRlNFVF9CSVRTIDY0CiNkZWZpbmUgR0NDX0xJTlQgMQojZGVmaW5lIFNZU1RFTV9UWVBF ICJ3aW5kb3dzLW50IgojZGVmaW5lIEhBVkVfTU1TWVNURU1fSCAxCiNkZWZpbmUgSEFWRV9TT1VO RCAxCiNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCiNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAx CiNkZWZpbmUgSEFWRV9QV0RfSCAxCiNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQojZGVmaW5l IEhBVkVfU1RETElCX0ggMQojZGVmaW5lIEhBVkVfVU5JU1REX0ggMQojZGVmaW5lIEhBVkVfU1lT X1BBUkFNX0ggMQojZGVmaW5lIEhBVkVfRElSRU5UX0ggMQojZGVmaW5lIEhBVkVfU1lTX0NERUZT X0ggMQojZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCiNkZWZpbmUgSEFWRV9MSU1JVFNfSCAxCiNk ZWZpbmUgSEFWRV9XQ0hBUl9IIDEKI2RlZmluZSBIQVZFX1NURElOVF9IIDEKI2RlZmluZSBIQVZF X0lOVFRZUEVTX0ggMQojZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCiNkZWZpbmUgVElNRV9XSVRI X1NZU19USU1FIDEKI2RlZmluZSBIQVZFX1NZU19XQUlUX0ggMQojZGVmaW5lIEhBVkVfTlRHVUkg MQojZGVmaW5lIEhBVkVfTkFUSVZFX0lNQUdFX0FQSSAxCiNkZWZpbmUgU1lTVEVNX01BTExPQyAx CiNkZWZpbmUgSEFWRV9HRVRQQUdFU0laRSAxCiNkZWZpbmUgVVNFX01NQVBfRk9SX0JVRkZFUlMg MQojZGVmaW5lIFRIUkVBRFNfRU5BQkxFRCAxCiNkZWZpbmUgSEFWRV9SU1ZHIDEKI2RlZmluZSBI QVZFX0dOVVRMUyAxCiNkZWZpbmUgSEFWRV9KU09OIDEKI2RlZmluZSBIQVZFX1czMk5PVElGWSAx CiNkZWZpbmUgVVNFX0ZJTEVfTk9USUZZIDEKI2RlZmluZSBVU0VfVE9PTEtJVF9TQ1JPTExfQkFS UyAxCiNkZWZpbmUgVVNFX1hJTSAxCiNkZWZpbmUgSEFWRV9IQVJGQlVaWiAxCiNkZWZpbmUgSEFW RV9YUE0gMQojZGVmaW5lIEhBVkVfSlBFRyAxCiNkZWZpbmUgSEFWRV9MQ01TMiAxCiNkZWZpbmUg SEFWRV9aTElCIDEKI2RlZmluZSBIQVZFX01PRFVMRVMgMQojZGVmaW5lIE1PRFVMRVNfU1VGRklY ICIuZGxsIgojZGVmaW5lIEhBVkVfTElCR0NDSklUIDEKI2RlZmluZSBIQVZFX0xJQkdDQ0pJVF9I IDEKI2RlZmluZSBIQVZFX05BVElWRV9DT01QIDEKI2RlZmluZSBOQVRJVkVfRUxJU1BfU1VGRklY ICIuZWxuIgojZGVmaW5lIEhBVkVfUE5HIDEKI2RlZmluZSBIQVZFX1RJRkYgMQojZGVmaW5lIEhB VkVfR0lGIDEKI2RlZmluZSBIQVZFX0xJQlhNTDIgMQojZGVmaW5lIEhBVkVfR0VUSE9TVE5BTUUg MQojZGVmaW5lIEhBVkVfUkFORE9NIDEKI2RlZmluZSBIQVZFX1JJTlQgMQojZGVmaW5lIEhBVkVf VFJVTkMgMQojZGVmaW5lIEhBVkVfU0VMRUNUIDEKI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEK I2RlZmluZSBIQVZFX1NFVExPQ0FMRSAxCiNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQojZGVmaW5l IEhBVkVfU0VUUkxJTUlUIDEKI2RlZmluZSBIQVZFX1NIVVRET1dOIDEKI2RlZmluZSBIQVZFX1BU SFJFQURfU0lHTUFTSyAxCiNkZWZpbmUgSEFWRV9TVFJTSUdOQUwgMQojZGVmaW5lIEhBVkVfU0VU SVRJTUVSIDEKI2RlZmluZSBIQVZFX1NFTkRUTyAxCiNkZWZpbmUgSEFWRV9SRUNWRlJPTSAxCiNk ZWZpbmUgSEFWRV9HRVRTT0NLTkFNRSAxCiNkZWZpbmUgSEFWRV9HQUlfU1RSRVJST1IgMQojZGVm aW5lIEhBVkVfTE9HMiAxCiNkZWZpbmUgSEFWRV9QVEhSRUFEX1NFVE5BTUVfTlAgMQojZGVmaW5l IEhBVkVfREVDTF9BTElHTkVEX0FMTE9DIDAKI2RlZmluZSBIQVZFX19fQlVJTFRJTl9GUkFNRV9B RERSRVNTIDEKI2RlZmluZSBIQVZFX19fQlVJTFRJTl9VTldJTkRfSU5JVCAxCiNkZWZpbmUgSEFW RV9GU0VFS08gMQojZGVmaW5lIEhBVkVfU0JSSyAxCiNkZWZpbmUgSEFWRV9DQU5PTklDQUxJWkVf RklMRV9OQU1FIDEKI2RlZmluZSBIQVZFX1JFQURMSU5LIDEKI2RlZmluZSBIQVZFX1JFQURMSU5L QVQgMQojZGVmaW5lIEhBVkVfRVhQTElDSVRfQlpFUk8gMQojZGVmaW5lIEhBVkVfRkFDQ0VTU0FU IDEKI2RlZmluZSBIQVZFX0ZDSE1PREFUIDEKI2RlZmluZSBIQVZFX0xDSE1PRCAxCiNkZWZpbmUg SEFWRV9GQ05UTCAxCiNkZWZpbmUgSEFWRV9GU1RBVEFUIDEKI2RlZmluZSBIQVZFX0ZTWU5DIDEK I2RlZmluZSBIQVZFX0dFVFRJTUVPRkRBWSAxCiNkZWZpbmUgSEFWRV9MU1RBVCAxCiNkZWZpbmUg SEFWRV9QSVBFMiAxCiNkZWZpbmUgSEFWRV9QU0VMRUNUIDEKI2RlZmluZSBIQVZFX0lTQkxBTksg MQojZGVmaW5lIEhBVkVfSVNXQ1RZUEUgMQojZGVmaW5lIEhBVkVfU1RSVE9JTUFYIDEKI2RlZmlu ZSBIQVZFX1NZTUxJTksgMQojZGVmaW5lIEhBVkVfVVRJTUVOU0FUIDEKI2RlZmluZSB2Zm9yayBm b3JrCiNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCiNkZWZpbmUgSEFWRV9MQU5HSU5GT19DT0RFU0VU IDEKI2RlZmluZSBIQVZFX0xBTkdJTkZPX19OTF9QQVBFUl9XSURUSCAxCiNkZWZpbmUgSEFWRV9N QlNUQVRFX1QgMQojZGVmaW5lIEhBVkVfU09DS0VUUyAxCiNkZWZpbmUgTlVMTF9ERVZJQ0UgIk5V TDoiCiNkZWZpbmUgU0VQQ0hBUiAnOycKI2RlZmluZSBzdWJwcm9jZXNzZXMgMQojZGVmaW5lIFVT RVJfRlVMTF9OQU1FIHB3LT5wd19nZWNvcwojZGVmaW5lIERJUkVDVE9SWV9TRVAgJy8nCiNkZWZp bmUgSVNfREVWSUNFX1NFUChfY18pICgoX2NfKSA9PSAnOicpCiNkZWZpbmUgSVNfRElSRUNUT1JZ X1NFUChfY18pICgoX2NfKSA9PSAnLycgfHwgKF9jXykgPT0gJ1xcJykKI2RlZmluZSBJU19BTllf U0VQKF9jXykgKElTX0RJUkVDVE9SWV9TRVAgKF9jXykgfHwgSVNfREVWSUNFX1NFUChfY18pKQoj ZGVmaW5lIERFRkFVTFRfU09VTkRfREVWSUNFICIvZGV2L2RzcCIKI2RlZmluZSBHQ19TRVRKTVBf V09SS1MgMQojZGVmaW5lIEhBVkVfU1RBQ0tfT1ZFUkZMT1dfSEFORExJTkcgMQojZGVmaW5lIERP U19OVCAvKiovCiNkZWZpbmUgV0lORE9XU05UIDEKI2RlZmluZSBVU0FCTEVfRklPTlJFQUQgMQoj ZGVmaW5lIENPUFlSSUdIVCAiQ29weXJpZ2h0IChDKSAyMDIwIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLiIKI2RlZmluZSBURVJNX0hFQURFUiAidzMydGVybS5oIgojZGVmaW5lIEVNQUNT X0NPTkZJR1VSQVRJT04gIng4Nl82NC13NjQtbWluZ3czMiIKI2RlZmluZSBFTUFDU19DT05GSUdf T1BUSU9OUyAiLS1wcmVmaXg9L2hvbWUvVldpblVzZXIwL0Rvd25sb2Fkcy9lbWFjcy9uYXRpdmUt Y29tcC9idWlsdCAtLXdpdGgtbmF0aXZlY29tcCIKI2RlZmluZSBIQVZFX1NUUlVDVF9BVFRSSUJV VEVfQUxJR05FRCAxCiNkZWZpbmUgSEFWRV9UWVBFT0YgMQojZGVmaW5lIEhBVkVfU1RBVEVNRU5U X0VYUFJFU1NJT05TIDEKI2RlZmluZSBIQVZFX0FMTE9DQSAxCiNkZWZpbmUgRE9VQkxFX1NMQVNI X0lTX0RJU1RJTkNUX1JPT1QgMQojZGVmaW5lIEZVTkNfUkVBTFBBVEhfV09SS1MgMQojZGVmaW5l IHJlc3RyaWN0IF9fcmVzdHJpY3QKI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCiNkZWZpbmUg TFNUQVRfRk9MTE9XU19TTEFTSEVEX1NZTUxJTksgMQojZGVmaW5lIEhBVkVfREVDTF9TVFJNT0RF IDAKI2RlZmluZSBIQVZFX0xPTkdfTE9OR19JTlQgMQojZGVmaW5lIEhBVkVfVU5TSUdORURfTE9O R19MT05HX0lOVCAxCiNkZWZpbmUgSEFWRV9ERUNMX01FTU1FTSAwCiNkZWZpbmUgSEFWRV9ERUNM X01FTVJDSFIgMAojZGVmaW5lIFRJTUVfVF9JU19TSUdORUQgMQojZGVmaW5lIEhBVkVfREVDTF9B TEFSTSAxCiNkZWZpbmUgSEFWRV9ERUNMX1RaTkFNRSAxCiNkZWZpbmUgSEFWRV9UWk5BTUUgMQoj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQojZGVmaW5lIE1BTExPQ18wX0lTX05PTk5VTEwgMQojZGVm aW5lIEhBVkVfV0NIQVJfVCAxCiNkZWZpbmUgSEFWRV9ERUNMX1NUUk5MRU4gMQojZGVmaW5lIEhB VkVfREVDTF9TVFJUT0lNQVggMQojZGVmaW5lIF9VU0VfU1REX1NUQVQgMQojZGVmaW5lIEhBVkVf REVDTF9DTEVBUkVSUl9VTkxPQ0tFRCAwCiNkZWZpbmUgSEFWRV9ERUNMX0ZFT0ZfVU5MT0NLRUQg MAojZGVmaW5lIEhBVkVfREVDTF9GRVJST1JfVU5MT0NLRUQgMAojZGVmaW5lIEhBVkVfREVDTF9G RkxVU0hfVU5MT0NLRUQgMAojZGVmaW5lIEhBVkVfREVDTF9GR0VUU19VTkxPQ0tFRCAwCiNkZWZp bmUgSEFWRV9ERUNMX0ZQVVRDX1VOTE9DS0VEIDAKI2RlZmluZSBIQVZFX0RFQ0xfRlBVVFNfVU5M T0NLRUQgMAojZGVmaW5lIEhBVkVfREVDTF9GUkVBRF9VTkxPQ0tFRCAwCiNkZWZpbmUgSEFWRV9E RUNMX0ZXUklURV9VTkxPQ0tFRCAwCiNkZWZpbmUgSEFWRV9ERUNMX0dFVENfVU5MT0NLRUQgMAoj ZGVmaW5lIEhBVkVfREVDTF9HRVRDSEFSX1VOTE9DS0VEIDAKI2RlZmluZSBIQVZFX0RFQ0xfUFVU Q19VTkxPQ0tFRCAwCiNkZWZpbmUgSEFWRV9ERUNMX1BVVENIQVJfVU5MT0NLRUQgMAojZGVmaW5l IEdFVEdST1VQU19UIGludAojZGVmaW5lIEhBVkVfREVDTF9HRVREVEFCTEVTSVpFIDAKI2RlZmlu ZSBQUk9NT1RFRF9NT0RFX1QgaW50CiNkZWZpbmUgSEFWRV9TWVNfQUNMX0ggMQojZGVmaW5lIEhB VkVfQUNMX0dFVF9GSUxFIDEKI2RlZmluZSBIQVZFX0FDTF9TRVRfRklMRSAxCiNkZWZpbmUgSEFW RV9BQ0xfRlJFRSAxCiNkZWZpbmUgSEFWRV9BQ0xfRlJPTV9URVhUIDEKI2RlZmluZSBVU0VfQUNM IDEKI2RlZmluZSBIQVZFX19fQlVJTFRJTl9FWFBFQ1QgMQojZGVmaW5lIEdOVUxJQl9DQU5PTklD QUxJWkVfTEdQTCAxCiNkZWZpbmUgR05VTElCX0NMT1NFX1NUUkVBTSAxCiNkZWZpbmUgRE9VQkxF X1NMQVNIX0lTX0RJU1RJTkNUX1JPT1QgMQojZGVmaW5lIEdOVUxJQl9GQUNDRVNTQVQgMQojZGVm aW5lIEhBVkVfREVDTF9GRE9QRU5ESVIgMAojZGVmaW5lIEdOVUxJQl9GRE9QRU5ESVIgMQojZGVm aW5lIEZMRVhJQkxFX0FSUkFZX01FTUJFUiAvKiovCiNkZWZpbmUgX19HRVRPUFRfUFJFRklYIHJw bF8KI2RlZmluZSBIQVZFX0JDUllQVF9IIDEKI2RlZmluZSBHRVRUSU1FT0ZEQVlfVElNRVpPTkUg dm9pZAojZGVmaW5lIF9HTF9SRVBMQUNFX0lFRUU3NTRfSCAxCiNkZWZpbmUgSEFWRV9fX0lOTElO RSAxCiNkZWZpbmUgSEFWRV9HTVBfSCAxCiNkZWZpbmUgSEFWRV9NRU1QQ1BZIDEKI2RlZmluZSBH TlVMSUJfTUtPU1RFTVAgMQojZGVmaW5lIE5FRURfTUtUSU1FX1dJTkRPV1MgMQojZGVmaW5lIG15 X3N0cmZ0aW1lIG5zdHJmdGltZQojZGVmaW5lIF9SRUdFWF9JTkNMVURFX0xJTUlUU19IIDEKI2Rl ZmluZSBfUkVHRVhfTEFSR0VfT0ZGU0VUUyAxCiNkZWZpbmUgcmVfc3ludGF4X29wdGlvbnMgcnBs X3JlX3N5bnRheF9vcHRpb25zCiNkZWZpbmUgcmVfc2V0X3N5bnRheCBycGxfcmVfc2V0X3N5bnRh eAojZGVmaW5lIHJlX2NvbXBpbGVfcGF0dGVybiBycGxfcmVfY29tcGlsZV9wYXR0ZXJuCiNkZWZp bmUgcmVfY29tcGlsZV9mYXN0bWFwIHJwbF9yZV9jb21waWxlX2Zhc3RtYXAKI2RlZmluZSByZV9z ZWFyY2ggcnBsX3JlX3NlYXJjaAojZGVmaW5lIHJlX3NlYXJjaF8yIHJwbF9yZV9zZWFyY2hfMgoj ZGVmaW5lIHJlX21hdGNoIHJwbF9yZV9tYXRjaAojZGVmaW5lIHJlX21hdGNoXzIgcnBsX3JlX21h dGNoXzIKI2RlZmluZSByZV9zZXRfcmVnaXN0ZXJzIHJwbF9yZV9zZXRfcmVnaXN0ZXJzCiNkZWZp bmUgcmVfY29tcCBycGxfcmVfY29tcAojZGVmaW5lIHJlX2V4ZWMgcnBsX3JlX2V4ZWMKI2RlZmlu ZSByZWdjb21wIHJwbF9yZWdjb21wCiNkZWZpbmUgcmVnZXhlYyBycGxfcmVnZXhlYwojZGVmaW5l IHJlZ2Vycm9yIHJwbF9yZWdlcnJvcgojZGVmaW5lIHJlZ2ZyZWUgcnBsX3JlZ2ZyZWUKI2RlZmlu ZSBIQVZFX0xJQklOVExfSCAxCiNkZWZpbmUgSEFWRV9ERUNMX0lTQkxBTksgMQojZGVmaW5lIF9f VVNFX01JTkdXX0FOU0lfU1RESU8gMQojZGVmaW5lIEdOVUxJQl9QUklOVEZfQVRUUklCVVRFX0ZM QVZPUl9HTlUgMQojZGVmaW5lIEdOVUxJQl9GU0NBTkYgMQojZGVmaW5lIEdOVUxJQl9TQ0FORiAx CiNkZWZpbmUgbmxpbmtfdCBpbnQKI2RlZmluZSBHTlVMSUJfVEVNUE5BTUUgMQojZGVmaW5lIEhB VkVfREVDTF9MT0NBTFRJTUVfUiAwCiNkZWZpbmUgVVNFX1VOTE9DS0VEX0lPIDEKI2RlZmluZSBI QVZFX0NfVkFSQVJSQVlTIDEKI2RlZmluZSBORUVEX01LVElNRV9JTlRFUk5BTCAxCiNkZWZpbmUg SEFWRV9XSU5ET1dfU1lTVEVNIDEKI2RlZmluZSBQT0xMX0ZPUl9JTlBVVCAxCiNkZWZpbmUgRU1B Q1NfQ09ORklHX0ZFQVRVUkVTICJYUE0gSlBFRyBUSUZGIEdJRiBQTkcgUlNWRyBTT1VORCBOT1RJ RlkgVzMyTk9USUZZIEFDTCBHTlVUTFMgTElCWE1MMiBIQVJGQlVaWiBaTElCIFRPT0xLSVRfU0NS T0xMX0JBUlMgTU9EVUxFUyBOQVRJVkVfQ09NUCBUSFJFQURTIEpTT04gUERVTVBFUiBMQ01TMiIK CmNvbmZpZ3VyZTogZXhpdCAwCg== --0000000000002bd70905b6af05ab--