Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1smxMM-0004Jt-Dg for pgsql-hackers@arkaria.postgresql.org; Sat, 07 Sep 2024 15:28:23 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1smxLM-000Emf-K8 for pgsql-hackers@arkaria.postgresql.org; Sat, 07 Sep 2024 15:27:20 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1smxLL-000Ebw-MY for pgsql-hackers@lists.postgresql.org; Sat, 07 Sep 2024 15:27:20 +0000 Received: from relay8-d.mail.gandi.net ([2001:4b98:dc4:8::228]) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1smxLC-0000af-2E for pgsql-hackers@lists.postgresql.org; Sat, 07 Sep 2024 15:27:18 +0000 Received: by mail.gandi.net (Postfix) with ESMTPSA id AAE9F1BF203; Sat, 7 Sep 2024 15:27:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vondra.me; s=gm1; t=1725722828; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=bAgCFHOHWlRZ7/ksGMRTecyVoEleYXmuMlNa3SOiK2I=; b=cpRyoS9C/whceH0JB6d4Sq3Rv41Q9WluWKbZkyVNX9i++oK2TagQ3R3awslLCXsv0m08F6 /q6MIVQmaGyDci0yEHpy8zvnujY63N1l/DDfInOV7o+dSa4VAx/7/MUvMXn1ZTP8pc4FhD sitPNqNGuxj108voyF2h5yAV7bTy30sC5is/Y9GJwsz/rJjzdEIzoNA+1XeHkjy0s3MNl0 2CO7W/wHaef5dVpnrrhxtZwhg6NtRjAGsFM0OBE4n8teCQVDnAA5y5nrtIl4weusuPtewb iywXXYINCaAA0qF4/yVs0aPOuO18GK6I4HyeWv9ArtImhSvAAyg6qv1mZbSG9w== Content-Type: multipart/mixed; boundary="------------0bJFuAuL0RjHt5QphYHtEv33" Message-ID: Date: Sat, 7 Sep 2024 17:27:05 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Adding skip scan (including MDAM style range skip scan) to nbtree To: Peter Geoghegan , Masahiro.Ikeda@nttdata.com Cc: pgsql-hackers@lists.postgresql.org, Masao.Fujii@nttdata.com References: Content-Language: en-US From: Tomas Vondra In-Reply-To: X-GND-Sasl: tomas@vondra.me List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------0bJFuAuL0RjHt5QphYHtEv33 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Hi, I started looking at this patch today. The first thing I usually do for new patches is a stress test, so I did a simple script that generates random table and runs a random query with IN() clause with various configs (parallel query, index-only scans, ...). And it got stuck on a parallel query pretty quick. I've seen a bunch of those cases, so it's not a particularly unlikely issue. The backtraces look pretty much the same in all cases - the processes are stuck either waiting on the conditional variable in _bt_parallel_seize, or trying to send data in shm_mq_send_bytes. Attached is the script I use for stress testing (pretty dumb, just a bunch of loops generating tables + queries), and backtraces for two lockups (one is EXPLAIN ANALYZE, but otherwise exactly the same). I haven't investigated why this is happening, but I wonder if this might be similar to the parallel hashjoin issues, with trying to send data, but the receiver being unable to proceed and effectively working on the sender. But that's just a wild guess. regards -- Tomas Vondra --------------0bJFuAuL0RjHt5QphYHtEv33 Content-Type: text/x-log; charset=UTF-8; name="lockup2.log" Content-Disposition: attachment; filename="lockup2.log" Content-Transfer-Encoding: base64 IDI5MjY4OCA/ICAgICAgICBTcyAgICAgMDowMCBwb3N0Z3JlczogdG9tYXMgdGVzdCBbbG9j YWxdIEVYUExBSU4KIDI5MjY4OSA/ICAgICAgICBTcyAgICAgMDowMCBwb3N0Z3JlczogcGFy YWxsZWwgd29ya2VyIGZvciBQSUQgMjkyNjg4IAogMjkyNjkwID8gICAgICAgIFNzICAgICAw OjAwIHBvc3RncmVzOiBwYXJhbGxlbCB3b3JrZXIgZm9yIFBJRCAyOTI2ODggCiAyOTI2OTEg PyAgICAgICAgU3MgICAgIDA6MDAgcG9zdGdyZXM6IHBhcmFsbGVsIHdvcmtlciBmb3IgUElE IDI5MjY4OCAKIAogCiBVc2luZyBob3N0IGxpYnRocmVhZF9kYiBsaWJyYXJ5ICIvbGliL3g4 Nl82NC1saW51eC1nbnUvbGlidGhyZWFkX2RiLnNvLjEiLgoweDAwMDA3ZmViMGUzMjlkZTMg aW4gZXBvbGxfd2FpdCAoZXBmZD01LCBldmVudHM9MHg1NjE4NjAxODAxNzAsIG1heGV2ZW50 cz0xLCB0aW1lb3V0PXRpbWVvdXRAZW50cnk9LTEpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2 L2xpbnV4L2Vwb2xsX3dhaXQuYzozMAozMAkuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9l cG9sbF93YWl0LmM6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkuCihnZGIpIGIKQnJlYWtw b2ludCAxIGF0IDB4N2ZlYjBlMzI5ZGUzOiBmaWxlIC4uL3N5c2RlcHMvdW5peC9zeXN2L2xp bnV4L2Vwb2xsX3dhaXQuYywgbGluZSAzMC4KKGdkYikgYnQKIzAgIDB4MDAwMDdmZWIwZTMy OWRlMyBpbiBlcG9sbF93YWl0IChlcGZkPTUsIGV2ZW50cz0weDU2MTg2MDE4MDE3MCwgbWF4 ZXZlbnRzPTEsIHRpbWVvdXQ9dGltZW91dEBlbnRyeT0tMSkgYXQgLi4vc3lzZGVwcy91bml4 L3N5c3YvbGludXgvZXBvbGxfd2FpdC5jOjMwCiMxICAweDAwMDA1NjE4NWUwMzQ2YjkgaW4g V2FpdEV2ZW50U2V0V2FpdEJsb2NrIChuZXZlbnRzPTEsIG9jY3VycmVkX2V2ZW50cz0weDdm ZmY1YmZhMDg4MCwgY3VyX3RpbWVvdXQ9LTEsIHNldD0weDU2MTg2MDE4MDEwOCkgYXQgbGF0 Y2guYzoxNTcwCiMyICBXYWl0RXZlbnRTZXRXYWl0IChzZXQ9MHg1NjE4NjAxODAxMDgsIHRp bWVvdXQ9dGltZW91dEBlbnRyeT0tMSwgb2NjdXJyZWRfZXZlbnRzPW9jY3VycmVkX2V2ZW50 c0BlbnRyeT0weDdmZmY1YmZhMDhjMCwgbmV2ZW50cz1uZXZlbnRzQGVudHJ5PTEsIHdhaXRf ZXZlbnRfaW5mbz13YWl0X2V2ZW50X2luZm9AZW50cnk9MTM0MjE3NzM1KSBhdCBsYXRjaC5j OjE1MTYKIzMgIDB4MDAwMDU2MTg1ZTAzNDlhMiBpbiBXYWl0TGF0Y2ggKGxhdGNoPTxvcHRp bWl6ZWQgb3V0Piwgd2FrZUV2ZW50cz13YWtlRXZlbnRzQGVudHJ5PTMzLCB0aW1lb3V0PXRp bWVvdXRAZW50cnk9LTEsIHdhaXRfZXZlbnRfaW5mbz13YWl0X2V2ZW50X2luZm9AZW50cnk9 MTM0MjE3NzM1KSBhdCBsYXRjaC5jOjUzOAojNCAgMHgwMDAwNTYxODVlMDNmYTZmIGluIENv bmRpdGlvblZhcmlhYmxlVGltZWRTbGVlcCAoY3Y9Y3ZAZW50cnk9MHg3ZmViMGMwZmQyMTgs IHRpbWVvdXQ9dGltZW91dEBlbnRyeT0tMSwgd2FpdF9ldmVudF9pbmZvPXdhaXRfZXZlbnRf aW5mb0BlbnRyeT0xMzQyMTc3MzUpIGF0IGNvbmRpdGlvbl92YXJpYWJsZS5jOjE2MwojNSAg MHgwMDAwNTYxODVlMDNmYmZlIGluIENvbmRpdGlvblZhcmlhYmxlU2xlZXAgKGN2PWN2QGVu dHJ5PTB4N2ZlYjBjMGZkMjE4LCB3YWl0X2V2ZW50X2luZm89d2FpdF9ldmVudF9pbmZvQGVu dHJ5PTEzNDIxNzczNSkgYXQgY29uZGl0aW9uX3ZhcmlhYmxlLmM6OTgKIzYgIDB4MDAwMDU2 MTg1ZGQ4NWY5YyBpbiBfYnRfcGFyYWxsZWxfc2VpemUgKHNjYW49c2NhbkBlbnRyeT0weDU2 MTg2MDI5ZTQzOCwgcGFnZW5vPXBhZ2Vub0BlbnRyeT0weDdmZmY1YmZhMDljYywgZmlyc3Q9 Zmlyc3RAZW50cnk9ZmFsc2UpIGF0IG5idHJlZS5jOjg1OAojNyAgMHgwMDAwNTYxODVkZDg3 NDBmIGluIF9idF9zdGVwcGFnZSAoc2Nhbj1zY2FuQGVudHJ5PTB4NTYxODYwMjllNDM4LCBk aXI9Rm9yd2FyZFNjYW5EaXJlY3Rpb24pIGF0IG5idHNlYXJjaC5jOjIyMTQKIzggIDB4MDAw MDU2MTg1ZGQ4N2Y4MSBpbiBfYnRfbmV4dCAoc2Nhbj1zY2FuQGVudHJ5PTB4NTYxODYwMjll NDM4LCBkaXI9ZGlyQGVudHJ5PUZvcndhcmRTY2FuRGlyZWN0aW9uKSBhdCBuYnRzZWFyY2gu YzoxNTkyCiM5ICAweDAwMDA1NjE4NWRkODRhOTggaW4gYnRnZXR0dXBsZSAoc2Nhbj0weDU2 MTg2MDI5ZTQzOCwgZGlyPUZvcndhcmRTY2FuRGlyZWN0aW9uKSBhdCBuYnRyZWUuYzoyNjIK IzEwIDB4MDAwMDU2MTg1ZGQ3Yzg5MSBpbiBpbmRleF9nZXRuZXh0X3RpZCAoc2Nhbj1zY2Fu QGVudHJ5PTB4NTYxODYwMjllNDM4LCBkaXJlY3Rpb249ZGlyZWN0aW9uQGVudHJ5PUZvcndh cmRTY2FuRGlyZWN0aW9uKSBhdCBpbmRleGFtLmM6NTkxCiMxMSAweDAwMDA1NjE4NWRkN2M5 ZGIgaW4gaW5kZXhfZ2V0bmV4dF9zbG90IChzY2FuPXNjYW5AZW50cnk9MHg1NjE4NjAyOWU0 MzgsIGRpcmVjdGlvbj1kaXJlY3Rpb25AZW50cnk9Rm9yd2FyZFNjYW5EaXJlY3Rpb24sIHNs b3Q9c2xvdEBlbnRyeT0weDU2MTg2MDI5MmJlMCkgYXQgaW5kZXhhbS5jOjY4MwojMTIgMHgw MDAwNTYxODVkZWU2NWFiIGluIEluZGV4TmV4dCAobm9kZT0weDU2MTg2MDI5Mjk1MCkgYXQg bm9kZUluZGV4c2Nhbi5jOjEzMAojMTMgMHgwMDAwNTYxODVkZWNiNjQ4IGluIEV4ZWNQcm9j Tm9kZUluc3RyIChub2RlPTB4NTYxODYwMjkyOTUwKSBhdCBleGVjUHJvY25vZGUuYzo0ODUK IzE0IDB4MDAwMDU2MTg1ZGVkZGUxMSBpbiBFeGVjUHJvY05vZGUgKG5vZGU9MHg1NjE4NjAy OTI5NTApIGF0IC4uLy4uLy4uL3NyYy9pbmNsdWRlL2V4ZWN1dG9yL2V4ZWN1dG9yLmg6Mjc4 CiMxNSBnYXRoZXJfZ2V0bmV4dCAoZ2F0aGVyc3RhdGU9MHg1NjE4NjAyOTI3NzgpIGF0IG5v ZGVHYXRoZXIuYzoyODcKIzE2IEV4ZWNHYXRoZXIgKHBzdGF0ZT0weDU2MTg2MDI5Mjc3OCkg YXQgbm9kZUdhdGhlci5jOjIyMgojMTcgMHgwMDAwNTYxODVkZWNiNjQ4IGluIEV4ZWNQcm9j Tm9kZUluc3RyIChub2RlPTB4NTYxODYwMjkyNzc4KSBhdCBleGVjUHJvY25vZGUuYzo0ODUK IzE4IDB4MDAwMDU2MTg1ZGVjNGU1YSBpbiBFeGVjUHJvY05vZGUgKG5vZGU9MHg1NjE4NjAy OTI3NzgpIGF0IC4uLy4uLy4uL3NyYy9pbmNsdWRlL2V4ZWN1dG9yL2V4ZWN1dG9yLmg6Mjc4 CiMxOSBFeGVjdXRlUGxhbiAoZXhlY3V0ZV9vbmNlPTxvcHRpbWl6ZWQgb3V0PiwgZGVzdD0w eDU2MTg1ZTRkZmRlMCA8ZG9ub3RoaW5nRFI+LCBkaXJlY3Rpb249PG9wdGltaXplZCBvdXQ+ LCBudW1iZXJUdXBsZXM9MCwgc2VuZFR1cGxlcz10cnVlLCBvcGVyYXRpb249Q01EX1NFTEVD VCwgdXNlX3BhcmFsbGVsX21vZGU9PG9wdGltaXplZCBvdXQ+LCBwbGFuc3RhdGU9MHg1NjE4 NjAyOTI3NzgsIGVzdGF0ZT0weDU2MTg2MDI5MjUzOCkKICAgIGF0IGV4ZWNNYWluLmM6MTY0 MQojMjAgc3RhbmRhcmRfRXhlY3V0b3JSdW4gKHF1ZXJ5RGVzYz0weDU2MTg2MDFiOTk0MCwg ZGlyZWN0aW9uPTxvcHRpbWl6ZWQgb3V0PiwgY291bnQ9MCwgZXhlY3V0ZV9vbmNlPTxvcHRp bWl6ZWQgb3V0PikgYXQgZXhlY01haW4uYzozNTgKIzIxIDB4MDAwMDU2MTg1ZGU2NmU3ZSBp biBFeHBsYWluT25lUGxhbiAocGxhbm5lZHN0bXQ9cGxhbm5lZHN0bXRAZW50cnk9MHg1NjE4 NjAyN2U4NDAsIGludG89aW50b0BlbnRyeT0weDAsIGVzPWVzQGVudHJ5PTB4NTYxODYwMWIy ZjE4LCAKICAgIHF1ZXJ5U3RyaW5nPXF1ZXJ5U3RyaW5nQGVudHJ5PTB4NTYxODYwMTg1MTk4 ICJleHBsYWluIChhbmFseXplLCB0aW1pbmcgb2ZmKSBzZWxlY3QgKiBmcm9tIHRfMSB3aGVy ZSBpZCBpbiAoIDQ3LCA4MCwgMTMsIDQ2LCA3OSwgMTIsIDQ1LCA3OCwgMTEsIDQ0LCA3Nywg MTAsIDQzLCA3NiwgOSwgNDIsIDc1LCA4LCA0MSwgNzQsIDcsIDQwLCA3MywgNiwgMzksIDcy LCA1LCAzOCwgNzEsIDQsIDM3LCA3MCwgMywgMzYsIDY5LCAyLCAzNSIuLi4sIHBhcmFtcz1w YXJhbXNAZW50cnk9MHgwLCBxdWVyeUVudj1xdWVyeUVudkBlbnRyeT0weDAsIHBsYW5kdXJh dGlvbj0weDdmZmY1YmZhMGU2OCwgYnVmdXNhZ2U9MHgwLCBtZW1fY291bnRlcnM9MHgwKSBh dCBleHBsYWluLmM6NzA1CiMyMiAweDAwMDA1NjE4NWRlNjc2ZTcgaW4gc3RhbmRhcmRfRXhw bGFpbk9uZVF1ZXJ5IChxdWVyeT08b3B0aW1pemVkIG91dD4sIGN1cnNvck9wdGlvbnM9MjA0 OCwgaW50bz0weDAsIGVzPTB4NTYxODYwMWIyZjE4LCAKICAgIHF1ZXJ5U3RyaW5nPTB4NTYx ODYwMTg1MTk4ICJleHBsYWluIChhbmFseXplLCB0aW1pbmcgb2ZmKSBzZWxlY3QgKiBmcm9t IHRfMSB3aGVyZSBpZCBpbiAoIDQ3LCA4MCwgMTMsIDQ2LCA3OSwgMTIsIDQ1LCA3OCwgMTEs IDQ0LCA3NywgMTAsIDQzLCA3NiwgOSwgNDIsIDc1LCA4LCA0MSwgNzQsIDcsIDQwLCA3Mywg NiwgMzksIDcyLCA1LCAzOCwgNzEsIDQsIDM3LCA3MCwgMywgMzYsIDY5LCAyLCAzNSIuLi4s IHBhcmFtcz0weDAsIAogICAgcXVlcnlFbnY9MHgwKSBhdCBleHBsYWluLmM6NTEyCiMyMyAw eDAwMDA1NjE4NWRlNjdlYTYgaW4gRXhwbGFpblF1ZXJ5IChwc3RhdGU9PG9wdGltaXplZCBv dXQ+LCBzdG10PTB4NTYxODYwMTg2ZjA4LCBwYXJhbXM9MHgwLCBkZXN0PTxvcHRpbWl6ZWQg b3V0PikgYXQgZXhwbGFpbi5jOjM0NQojMjQgMHgwMDAwNTYxODVlMDVkMDk0IGluIHN0YW5k YXJkX1Byb2Nlc3NVdGlsaXR5IChwc3RtdD0weDU2MTg2MDE4NmZhMCwgCiAgICBxdWVyeVN0 cmluZz0weDU2MTg2MDE4NTE5OCAiZXhwbGFpbiAoYW5hbHl6ZSwgdGltaW5nIG9mZikgc2Vs ZWN0ICogZnJvbSB0XzEgd2hlcmUgaWQgaW4gKCA0NywgODAsIDEzLCA0NiwgNzksIDEyLCA0 NSwgNzgsIDExLCA0NCwgNzcsIDEwLCA0MywgNzYsIDksIDQyLCA3NSwgOCwgNDEsIDc0LCA3 LCA0MCwgNzMsIDYsIDM5LCA3MiwgNSwgMzgsIDcxLCA0LCAzNywgNzAsIDMsIDM2LCA2OSwg MiwgMzUiLi4uLCAKICAgIHJlYWRPbmx5VHJlZT08b3B0aW1pemVkIG91dD4sIGNvbnRleHQ9 UFJPQ0VTU19VVElMSVRZX1RPUExFVkVMLCBwYXJhbXM9MHgwLCBxdWVyeUVudj0weDAsIGRl c3Q9MHg1NjE4NjAxYjJlNzgsIHFjPTB4N2ZmZjViZmExMTMwKSBhdCB1dGlsaXR5LmM6ODYz CiMyNSAweDAwMDA1NjE4NWUwNWI3MmMgaW4gUG9ydGFsUnVuVXRpbGl0eSAocG9ydGFsPXBv cnRhbEBlbnRyeT0weDU2MTg2MDIwMjY4OCwgcHN0bXQ9MHg1NjE4NjAxODZmYTAsIGlzVG9w TGV2ZWw9aXNUb3BMZXZlbEBlbnRyeT10cnVlLCBzZXRIb2xkU25hcHNob3Q9c2V0SG9sZFNu YXBzaG90QGVudHJ5PXRydWUsIGRlc3Q9ZGVzdEBlbnRyeT0weDU2MTg2MDFiMmU3OCwgcWM9 cWNAZW50cnk9MHg3ZmZmNWJmYTExMzApCiAgICBhdCBwcXVlcnkuYzoxMTU4CiMyNiAweDAw MDA1NjE4NWUwNWJhYzcgaW4gRmlsbFBvcnRhbFN0b3JlIChwb3J0YWw9cG9ydGFsQGVudHJ5 PTB4NTYxODYwMjAyNjg4LCBpc1RvcExldmVsPWlzVG9wTGV2ZWxAZW50cnk9dHJ1ZSkgYXQg cHF1ZXJ5LmM6MTAzMQojMjcgMHgwMDAwNTYxODVlMDViZDhkIGluIFBvcnRhbFJ1biAocG9y dGFsPXBvcnRhbEBlbnRyeT0weDU2MTg2MDIwMjY4OCwgY291bnQ9Y291bnRAZW50cnk9OTIy MzM3MjAzNjg1NDc3NTgwNywgaXNUb3BMZXZlbD1pc1RvcExldmVsQGVudHJ5PXRydWUsIHJ1 bl9vbmNlPXJ1bl9vbmNlQGVudHJ5PXRydWUsIGRlc3Q9ZGVzdEBlbnRyeT0weDU2MTg2MDI2 MTY4OCwgYWx0ZGVzdD1hbHRkZXN0QGVudHJ5PTB4NTYxODYwMjYxNjg4LCAKICAgIHFjPTB4 N2ZmZjViZmExMzIwKSBhdCBwcXVlcnkuYzo3NjMKIzI4IDB4MDAwMDU2MTg1ZTA1ODA5YyBp biBleGVjX3NpbXBsZV9xdWVyeSAoCiAgICBxdWVyeV9zdHJpbmc9MHg1NjE4NjAxODUxOTgg ImV4cGxhaW4gKGFuYWx5emUsIHRpbWluZyBvZmYpIHNlbGVjdCAqIGZyb20gdF8xIHdoZXJl IGlkIGluICggNDcsIDgwLCAxMywgNDYsIDc5LCAxMiwgNDUsIDc4LCAxMSwgNDQsIDc3LCAx MCwgNDMsIDc2LCA5LCA0MiwgNzUsIDgsIDQxLCA3NCwgNywgNDAsIDczLCA2LCAzOSwgNzIs IDUsIDM4LCA3MSwgNCwgMzcsIDcwLCAzLCAzNiwgNjksIDIsIDM1Ii4uLikKICAgIGF0IHBv c3RncmVzLmM6MTI4NAojMjkgMHgwMDAwNTYxODVlMDU5YjE2IGluIFBvc3RncmVzTWFpbiAo ZGJuYW1lPTxvcHRpbWl6ZWQgb3V0PiwgdXNlcm5hbWU9PG9wdGltaXplZCBvdXQ+KSBhdCBw b3N0Z3Jlcy5jOjQ3NjYKIzMwIDB4MDAwMDU2MTg1ZTA1NDlkZiBpbiBCYWNrZW5kTWFpbiAo c3RhcnR1cF9kYXRhPTxvcHRpbWl6ZWQgb3V0Piwgc3RhcnR1cF9kYXRhX2xlbj08b3B0aW1p emVkIG91dD4pIGF0IGJhY2tlbmRfc3RhcnR1cC5jOjEwNwojMzEgMHgwMDAwNTYxODVkZmNi ODZiIGluIHBvc3RtYXN0ZXJfY2hpbGRfbGF1bmNoIChjaGlsZF90eXBlPWNoaWxkX3R5cGVA ZW50cnk9Ql9CQUNLRU5ELCBzdGFydHVwX2RhdGE9c3RhcnR1cF9kYXRhQGVudHJ5PTB4N2Zm ZjViZmExN2FjICIiLCBzdGFydHVwX2RhdGFfbGVuPXN0YXJ0dXBfZGF0YV9sZW5AZW50cnk9 NCwgY2xpZW50X3NvY2s9Y2xpZW50X3NvY2tAZW50cnk9MHg3ZmZmNWJmYTE3YjApIGF0IGxh dW5jaF9iYWNrZW5kLmM6Mjc0CiMzMiAweDAwMDA1NjE4NWRmY2VhNTMgaW4gQmFja2VuZFN0 YXJ0dXAgKGNsaWVudF9zb2NrPTB4N2ZmZjViZmExN2IwKSBhdCBwb3N0bWFzdGVyLmM6MzQx NQojMzMgU2VydmVyTG9vcCAoKSBhdCBwb3N0bWFzdGVyLmM6MTY0OAojMzQgMHgwMDAwNTYx ODVkZmQwNjEwIGluIFBvc3RtYXN0ZXJNYWluIChhcmdjPWFyZ2NAZW50cnk9MywgYXJndj1h cmd2QGVudHJ5PTB4NTYxODYwMTdmOTEwKSBhdCBwb3N0bWFzdGVyLmM6MTM0NgojMzUgMHgw MDAwNTYxODVkZDI2NDEzIGluIG1haW4gKGFyZ2M9MywgYXJndj0weDU2MTg2MDE3ZjkxMCkg YXQgbWFpbi5jOjE5NwoKCgoKVXNpbmcgaG9zdCBsaWJ0aHJlYWRfZGIgbGlicmFyeSAiL2xp Yi94ODZfNjQtbGludXgtZ251L2xpYnRocmVhZF9kYi5zby4xIi4KMHgwMDAwN2ZlYjBlMzI5 ZGUzIGluIGVwb2xsX3dhaXQgKGVwZmQ9NSwgZXZlbnRzPTB4NTYxODYwMTgwMTcwLCBtYXhl dmVudHM9MSwgdGltZW91dD10aW1lb3V0QGVudHJ5PS0xKSBhdCAuLi9zeXNkZXBzL3VuaXgv c3lzdi9saW51eC9lcG9sbF93YWl0LmM6MzAKMzAJLi4vc3lzZGVwcy91bml4L3N5c3YvbGlu dXgvZXBvbGxfd2FpdC5jOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5LgooZ2RiKSBidAoj MCAgMHgwMDAwN2ZlYjBlMzI5ZGUzIGluIGVwb2xsX3dhaXQgKGVwZmQ9NSwgZXZlbnRzPTB4 NTYxODYwMTgwMTcwLCBtYXhldmVudHM9MSwgdGltZW91dD10aW1lb3V0QGVudHJ5PS0xKSBh dCAuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9lcG9sbF93YWl0LmM6MzAKIzEgIDB4MDAw MDU2MTg1ZTAzNDZiOSBpbiBXYWl0RXZlbnRTZXRXYWl0QmxvY2sgKG5ldmVudHM9MSwgb2Nj dXJyZWRfZXZlbnRzPTB4N2ZmZjViZmExMzAwLCBjdXJfdGltZW91dD0tMSwgc2V0PTB4NTYx ODYwMTgwMTA4KSBhdCBsYXRjaC5jOjE1NzAKIzIgIFdhaXRFdmVudFNldFdhaXQgKHNldD0w eDU2MTg2MDE4MDEwOCwgdGltZW91dD10aW1lb3V0QGVudHJ5PS0xLCBvY2N1cnJlZF9ldmVu dHM9b2NjdXJyZWRfZXZlbnRzQGVudHJ5PTB4N2ZmZjViZmExMzQwLCBuZXZlbnRzPW5ldmVu dHNAZW50cnk9MSwgd2FpdF9ldmVudF9pbmZvPXdhaXRfZXZlbnRfaW5mb0BlbnRyeT0xMzQy MTc3NjQpIGF0IGxhdGNoLmM6MTUxNgojMyAgMHgwMDAwNTYxODVlMDM0OWEyIGluIFdhaXRM YXRjaCAobGF0Y2g9PG9wdGltaXplZCBvdXQ+LCB3YWtlRXZlbnRzPXdha2VFdmVudHNAZW50 cnk9MzMsIHRpbWVvdXQ9dGltZW91dEBlbnRyeT0wLCB3YWl0X2V2ZW50X2luZm89d2FpdF9l dmVudF9pbmZvQGVudHJ5PTEzNDIxNzc2NCkgYXQgbGF0Y2guYzo1MzgKIzQgIDB4MDAwMDU2 MTg1ZTAzYWUxMSBpbiBzaG1fbXFfc2VuZF9ieXRlcyAobXFoPW1xaEBlbnRyeT0weDU2MTg2 MDIxMGZiMCwgbmJ5dGVzPTU3LCBkYXRhPTB4NTYxODYwMjVjNTQwLCBub3dhaXQ9bm93YWl0 QGVudHJ5PWZhbHNlLCBieXRlc193cml0dGVuPWJ5dGVzX3dyaXR0ZW5AZW50cnk9MHg3ZmZm NWJmYTE0MjApIGF0IHNobV9tcS5jOjEwMTgKIzUgIDB4MDAwMDU2MTg1ZTAzYjJiNCBpbiBz aG1fbXFfc2VuZHYgKG1xaD0weDU2MTg2MDIxMGZiMCwgaW92PWlvdkBlbnRyeT0weDdmZmY1 YmZhMTQ3MCwgaW92Y250PWlvdmNudEBlbnRyeT0xLCBub3dhaXQ9bm93YWl0QGVudHJ5PWZh bHNlLCBmb3JjZV9mbHVzaD1mb3JjZV9mbHVzaEBlbnRyeT1mYWxzZSkgYXQgc2htX21xLmM6 NDkzCiM2ICAweDAwMDA1NjE4NWUwM2I0YTEgaW4gc2htX21xX3NlbmQgKG1xaD08b3B0aW1p emVkIG91dD4sIG5ieXRlcz08b3B0aW1pemVkIG91dD4sIGRhdGE9ZGF0YUBlbnRyeT0weDU2 MTg2MDI1YzU0MCwgbm93YWl0PW5vd2FpdEBlbnRyeT1mYWxzZSwgZm9yY2VfZmx1c2g9Zm9y Y2VfZmx1c2hAZW50cnk9ZmFsc2UpIGF0IHNobV9tcS5jOjMzNwojNyAgMHgwMDAwNTYxODVk ZWZmNGI5IGluIHRxdWV1ZVJlY2VpdmVTbG90IChzbG90PTxvcHRpbWl6ZWQgb3V0Piwgc2Vs Zj0weDU2MTg2MDIwZmNhOCkgYXQgdHF1ZXVlLmM6NjMKIzggIDB4MDAwMDU2MTg1ZGVjNGU4 YyBpbiBFeGVjdXRlUGxhbiAoZXhlY3V0ZV9vbmNlPTxvcHRpbWl6ZWQgb3V0PiwgZGVzdD0w eDU2MTg2MDIwZmNhOCwgZGlyZWN0aW9uPTxvcHRpbWl6ZWQgb3V0PiwgbnVtYmVyVHVwbGVz PTAsIHNlbmRUdXBsZXM9dHJ1ZSwgb3BlcmF0aW9uPUNNRF9TRUxFQ1QsIHVzZV9wYXJhbGxl bF9tb2RlPTxvcHRpbWl6ZWQgb3V0PiwgcGxhbnN0YXRlPTB4NTYxODYwMjViM2YwLCAKICAg IGVzdGF0ZT0weDU2MTg2MDI1YjE3OCkgYXQgZXhlY01haW4uYzoxNjcyCiM5ICBzdGFuZGFy ZF9FeGVjdXRvclJ1biAocXVlcnlEZXNjPTB4NTYxODYwMjU5MGEwLCBkaXJlY3Rpb249PG9w dGltaXplZCBvdXQ+LCBjb3VudD0wLCBleGVjdXRlX29uY2U9PG9wdGltaXplZCBvdXQ+KSBh dCBleGVjTWFpbi5jOjM1OAojMTAgMHgwMDAwNTYxODVkZWM5MTg3IGluIFBhcmFsbGVsUXVl cnlNYWluIChzZWc9MHg1NjE4NjAxYjg0ZTgsIHRvYz0weDdmZWIwZWE0OTAwMCkgYXQgZXhl Y1BhcmFsbGVsLmM6MTQ3MgojMTEgMHgwMDAwNTYxODVkZGFjMzliIGluIFBhcmFsbGVsV29y a2VyTWFpbiAobWFpbl9hcmc9PG9wdGltaXplZCBvdXQ+KSBhdCBwYXJhbGxlbC5jOjE1MjQK IzEyIDB4MDAwMDU2MTg1ZGZjOTc0ZSBpbiBCYWNrZ3JvdW5kV29ya2VyTWFpbiAoc3RhcnR1 cF9kYXRhPTxvcHRpbWl6ZWQgb3V0Piwgc3RhcnR1cF9kYXRhX2xlbj08b3B0aW1pemVkIG91 dD4pIGF0IGJnd29ya2VyLmM6ODQyCiMxMyAweDAwMDA1NjE4NWRmY2I4NmIgaW4gcG9zdG1h c3Rlcl9jaGlsZF9sYXVuY2ggKGNoaWxkX3R5cGU9Y2hpbGRfdHlwZUBlbnRyeT1CX0JHX1dP UktFUiwgc3RhcnR1cF9kYXRhPXN0YXJ0dXBfZGF0YUBlbnRyeT0weDU2MTg2MDFiYjUxMCAi cGFyYWxsZWwgd29ya2VyIGZvciBQSUQgMjkyNjg4Iiwgc3RhcnR1cF9kYXRhX2xlbj1zdGFy dHVwX2RhdGFfbGVuQGVudHJ5PTE0NzIsIGNsaWVudF9zb2NrPWNsaWVudF9zb2NrQGVudHJ5 PTB4MCkKICAgIGF0IGxhdW5jaF9iYWNrZW5kLmM6Mjc0CiMxNCAweDAwMDA1NjE4NWRmY2Qz ZWUgaW4gZG9fc3RhcnRfYmd3b3JrZXIgKHJ3PTB4NTYxODYwMWJiNTEwKSBhdCBwb3N0bWFz dGVyLmM6MzkxNgojMTUgbWF5YmVfc3RhcnRfYmd3b3JrZXJzICgpIGF0IHBvc3RtYXN0ZXIu Yzo0MTIzCiMxNiAweDAwMDA1NjE4NWRmY2UyMDcgaW4gTGF1bmNoTWlzc2luZ0JhY2tncm91 bmRQcm9jZXNzZXMgKCkgYXQgcG9zdG1hc3Rlci5jOjMyMzcKIzE3IFNlcnZlckxvb3AgKCkg YXQgcG9zdG1hc3Rlci5jOjE2NjMKIzE4IDB4MDAwMDU2MTg1ZGZkMDYxMCBpbiBQb3N0bWFz dGVyTWFpbiAoYXJnYz1hcmdjQGVudHJ5PTMsIGFyZ3Y9YXJndkBlbnRyeT0weDU2MTg2MDE3 ZjkxMCkgYXQgcG9zdG1hc3Rlci5jOjEzNDYKIzE5IDB4MDAwMDU2MTg1ZGQyNjQxMyBpbiBt YWluIChhcmdjPTMsIGFyZ3Y9MHg1NjE4NjAxN2Y5MTApIGF0IG1haW4uYzoxOTcKCgpVc2lu ZyBob3N0IGxpYnRocmVhZF9kYiBsaWJyYXJ5ICIvbGliL3g4Nl82NC1saW51eC1nbnUvbGli dGhyZWFkX2RiLnNvLjEiLgoweDAwMDA3ZmViMGUzMjlkZTMgaW4gZXBvbGxfd2FpdCAoZXBm ZD01LCBldmVudHM9MHg1NjE4NjAxODAxNzAsIG1heGV2ZW50cz0xLCB0aW1lb3V0PXRpbWVv dXRAZW50cnk9LTEpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2Vwb2xsX3dhaXQu YzozMAozMAkuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9lcG9sbF93YWl0LmM6IE5vIHN1 Y2ggZmlsZSBvciBkaXJlY3RvcnkuCihnZGIpIGJ0CiMwICAweDAwMDA3ZmViMGUzMjlkZTMg aW4gZXBvbGxfd2FpdCAoZXBmZD01LCBldmVudHM9MHg1NjE4NjAxODAxNzAsIG1heGV2ZW50 cz0xLCB0aW1lb3V0PXRpbWVvdXRAZW50cnk9LTEpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2 L2xpbnV4L2Vwb2xsX3dhaXQuYzozMAojMSAgMHgwMDAwNTYxODVlMDM0NmI5IGluIFdhaXRF dmVudFNldFdhaXRCbG9jayAobmV2ZW50cz0xLCBvY2N1cnJlZF9ldmVudHM9MHg3ZmZmNWJm YTEyMzAsIGN1cl90aW1lb3V0PS0xLCBzZXQ9MHg1NjE4NjAxODAxMDgpIGF0IGxhdGNoLmM6 MTU3MAojMiAgV2FpdEV2ZW50U2V0V2FpdCAoc2V0PTB4NTYxODYwMTgwMTA4LCB0aW1lb3V0 PXRpbWVvdXRAZW50cnk9LTEsIG9jY3VycmVkX2V2ZW50cz1vY2N1cnJlZF9ldmVudHNAZW50 cnk9MHg3ZmZmNWJmYTEyNzAsIG5ldmVudHM9bmV2ZW50c0BlbnRyeT0xLCB3YWl0X2V2ZW50 X2luZm89d2FpdF9ldmVudF9pbmZvQGVudHJ5PTEzNDIxNzczNSkgYXQgbGF0Y2guYzoxNTE2 CiMzICAweDAwMDA1NjE4NWUwMzQ5YTIgaW4gV2FpdExhdGNoIChsYXRjaD08b3B0aW1pemVk IG91dD4sIHdha2VFdmVudHM9d2FrZUV2ZW50c0BlbnRyeT0zMywgdGltZW91dD10aW1lb3V0 QGVudHJ5PS0xLCB3YWl0X2V2ZW50X2luZm89d2FpdF9ldmVudF9pbmZvQGVudHJ5PTEzNDIx NzczNSkgYXQgbGF0Y2guYzo1MzgKIzQgIDB4MDAwMDU2MTg1ZTAzZmE2ZiBpbiBDb25kaXRp b25WYXJpYWJsZVRpbWVkU2xlZXAgKGN2PWN2QGVudHJ5PTB4N2ZlYjBlYTQ5MjE4LCB0aW1l b3V0PXRpbWVvdXRAZW50cnk9LTEsIHdhaXRfZXZlbnRfaW5mbz13YWl0X2V2ZW50X2luZm9A ZW50cnk9MTM0MjE3NzM1KSBhdCBjb25kaXRpb25fdmFyaWFibGUuYzoxNjMKIzUgIDB4MDAw MDU2MTg1ZTAzZmJmZSBpbiBDb25kaXRpb25WYXJpYWJsZVNsZWVwIChjdj1jdkBlbnRyeT0w eDdmZWIwZWE0OTIxOCwgd2FpdF9ldmVudF9pbmZvPXdhaXRfZXZlbnRfaW5mb0BlbnRyeT0x MzQyMTc3MzUpIGF0IGNvbmRpdGlvbl92YXJpYWJsZS5jOjk4CiM2ICAweDAwMDA1NjE4NWRk ODVmOWMgaW4gX2J0X3BhcmFsbGVsX3NlaXplIChzY2FuPXNjYW5AZW50cnk9MHg1NjE4NjAy MTA5YTgsIHBhZ2Vubz1wYWdlbm9AZW50cnk9MHg3ZmZmNWJmYTEzN2MsIGZpcnN0PWZpcnN0 QGVudHJ5PWZhbHNlKSBhdCBuYnRyZWUuYzo4NTgKIzcgIDB4MDAwMDU2MTg1ZGQ4NzQwZiBp biBfYnRfc3RlcHBhZ2UgKHNjYW49c2NhbkBlbnRyeT0weDU2MTg2MDIxMDlhOCwgZGlyPUZv cndhcmRTY2FuRGlyZWN0aW9uKSBhdCBuYnRzZWFyY2guYzoyMjE0CiM4ICAweDAwMDA1NjE4 NWRkODdmODEgaW4gX2J0X25leHQgKHNjYW49c2NhbkBlbnRyeT0weDU2MTg2MDIxMDlhOCwg ZGlyPWRpckBlbnRyeT1Gb3J3YXJkU2NhbkRpcmVjdGlvbikgYXQgbmJ0c2VhcmNoLmM6MTU5 MgojOSAgMHgwMDAwNTYxODVkZDg0YTk4IGluIGJ0Z2V0dHVwbGUgKHNjYW49MHg1NjE4NjAy MTA5YTgsIGRpcj1Gb3J3YXJkU2NhbkRpcmVjdGlvbikgYXQgbmJ0cmVlLmM6MjYyCiMxMCAw eDAwMDA1NjE4NWRkN2M4OTEgaW4gaW5kZXhfZ2V0bmV4dF90aWQgKHNjYW49c2NhbkBlbnRy eT0weDU2MTg2MDIxMDlhOCwgZGlyZWN0aW9uPWRpcmVjdGlvbkBlbnRyeT1Gb3J3YXJkU2Nh bkRpcmVjdGlvbikgYXQgaW5kZXhhbS5jOjU5MQojMTEgMHgwMDAwNTYxODVkZDdjOWRiIGlu IGluZGV4X2dldG5leHRfc2xvdCAoc2Nhbj1zY2FuQGVudHJ5PTB4NTYxODYwMjEwOWE4LCBk aXJlY3Rpb249ZGlyZWN0aW9uQGVudHJ5PUZvcndhcmRTY2FuRGlyZWN0aW9uLCBzbG90PXNs b3RAZW50cnk9MHg1NjE4NjAyNWJiMjgpIGF0IGluZGV4YW0uYzo2ODMKIzEyIDB4MDAwMDU2 MTg1ZGVlNjVhYiBpbiBJbmRleE5leHQgKG5vZGU9MHg1NjE4NjAyNWIzZjApIGF0IG5vZGVJ bmRleHNjYW4uYzoxMzAKIzEzIDB4MDAwMDU2MTg1ZGVjYjY0OCBpbiBFeGVjUHJvY05vZGVJ bnN0ciAobm9kZT0weDU2MTg2MDI1YjNmMCkgYXQgZXhlY1Byb2Nub2RlLmM6NDg1CiMxNCAw eDAwMDA1NjE4NWRlYzRlNWEgaW4gRXhlY1Byb2NOb2RlIChub2RlPTB4NTYxODYwMjViM2Yw KSBhdCAuLi8uLi8uLi9zcmMvaW5jbHVkZS9leGVjdXRvci9leGVjdXRvci5oOjI3OAojMTUg RXhlY3V0ZVBsYW4gKGV4ZWN1dGVfb25jZT08b3B0aW1pemVkIG91dD4sIGRlc3Q9MHg1NjE4 NjAyMGZjYTgsIGRpcmVjdGlvbj08b3B0aW1pemVkIG91dD4sIG51bWJlclR1cGxlcz0wLCBz ZW5kVHVwbGVzPXRydWUsIG9wZXJhdGlvbj1DTURfU0VMRUNULCB1c2VfcGFyYWxsZWxfbW9k ZT08b3B0aW1pemVkIG91dD4sIHBsYW5zdGF0ZT0weDU2MTg2MDI1YjNmMCwgZXN0YXRlPTB4 NTYxODYwMjViMTc4KSBhdCBleGVjTWFpbi5jOjE2NDEKIzE2IHN0YW5kYXJkX0V4ZWN1dG9y UnVuIChxdWVyeURlc2M9MHg1NjE4NjAyNTkwYTAsIGRpcmVjdGlvbj08b3B0aW1pemVkIG91 dD4sIGNvdW50PTAsIGV4ZWN1dGVfb25jZT08b3B0aW1pemVkIG91dD4pIGF0IGV4ZWNNYWlu LmM6MzU4CiMxNyAweDAwMDA1NjE4NWRlYzkxODcgaW4gUGFyYWxsZWxRdWVyeU1haW4gKHNl Zz0weDU2MTg2MDFiODRlOCwgdG9jPTB4N2ZlYjBlYTQ5MDAwKSBhdCBleGVjUGFyYWxsZWwu YzoxNDcyCiMxOCAweDAwMDA1NjE4NWRkYWMzOWIgaW4gUGFyYWxsZWxXb3JrZXJNYWluICht YWluX2FyZz08b3B0aW1pemVkIG91dD4pIGF0IHBhcmFsbGVsLmM6MTUyNAojMTkgMHgwMDAw NTYxODVkZmM5NzRlIGluIEJhY2tncm91bmRXb3JrZXJNYWluIChzdGFydHVwX2RhdGE9PG9w dGltaXplZCBvdXQ+LCBzdGFydHVwX2RhdGFfbGVuPTxvcHRpbWl6ZWQgb3V0PikgYXQgYmd3 b3JrZXIuYzo4NDIKIzIwIDB4MDAwMDU2MTg1ZGZjYjg2YiBpbiBwb3N0bWFzdGVyX2NoaWxk X2xhdW5jaCAoY2hpbGRfdHlwZT1jaGlsZF90eXBlQGVudHJ5PUJfQkdfV09SS0VSLCBzdGFy dHVwX2RhdGE9c3RhcnR1cF9kYXRhQGVudHJ5PTB4NTYxODYwMWJhZDA4ICJwYXJhbGxlbCB3 b3JrZXIgZm9yIFBJRCAyOTI2ODgiLCBzdGFydHVwX2RhdGFfbGVuPXN0YXJ0dXBfZGF0YV9s ZW5AZW50cnk9MTQ3MiwgY2xpZW50X3NvY2s9Y2xpZW50X3NvY2tAZW50cnk9MHgwKQogICAg YXQgbGF1bmNoX2JhY2tlbmQuYzoyNzQKIzIxIDB4MDAwMDU2MTg1ZGZjZDNlZSBpbiBkb19z dGFydF9iZ3dvcmtlciAocnc9MHg1NjE4NjAxYmFkMDgpIGF0IHBvc3RtYXN0ZXIuYzozOTE2 CiMyMiBtYXliZV9zdGFydF9iZ3dvcmtlcnMgKCkgYXQgcG9zdG1hc3Rlci5jOjQxMjMKIzIz IDB4MDAwMDU2MTg1ZGZjZTIwNyBpbiBMYXVuY2hNaXNzaW5nQmFja2dyb3VuZFByb2Nlc3Nl cyAoKSBhdCBwb3N0bWFzdGVyLmM6MzIzNwojMjQgU2VydmVyTG9vcCAoKSBhdCBwb3N0bWFz dGVyLmM6MTY2MwojMjUgMHgwMDAwNTYxODVkZmQwNjEwIGluIFBvc3RtYXN0ZXJNYWluIChh cmdjPWFyZ2NAZW50cnk9MywgYXJndj1hcmd2QGVudHJ5PTB4NTYxODYwMTdmOTEwKSBhdCBw b3N0bWFzdGVyLmM6MTM0NgojMjYgMHgwMDAwNTYxODVkZDI2NDEzIGluIG1haW4gKGFyZ2M9 MywgYXJndj0weDU2MTg2MDE3ZjkxMCkgYXQgbWFpbi5jOjE5NwoKClVzaW5nIGhvc3QgbGli dGhyZWFkX2RiIGxpYnJhcnkgIi9saWIveDg2XzY0LWxpbnV4LWdudS9saWJ0aHJlYWRfZGIu c28uMSIuCjB4MDAwMDdmZWIwZTMyOWRlMyBpbiBlcG9sbF93YWl0IChlcGZkPTUsIGV2ZW50 cz0weDU2MTg2MDE4MDE3MCwgbWF4ZXZlbnRzPTEsIHRpbWVvdXQ9dGltZW91dEBlbnRyeT0t MSkgYXQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvZXBvbGxfd2FpdC5jOjMwCjMwCS4u L3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2Vwb2xsX3dhaXQuYzogTm8gc3VjaCBmaWxlIG9y IGRpcmVjdG9yeS4KKGdkYikgYnQKIzAgIDB4MDAwMDdmZWIwZTMyOWRlMyBpbiBlcG9sbF93 YWl0IChlcGZkPTUsIGV2ZW50cz0weDU2MTg2MDE4MDE3MCwgbWF4ZXZlbnRzPTEsIHRpbWVv dXQ9dGltZW91dEBlbnRyeT0tMSkgYXQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvZXBv bGxfd2FpdC5jOjMwCiMxICAweDAwMDA1NjE4NWUwMzQ2YjkgaW4gV2FpdEV2ZW50U2V0V2Fp dEJsb2NrIChuZXZlbnRzPTEsIG9jY3VycmVkX2V2ZW50cz0weDdmZmY1YmZhMTIzMCwgY3Vy X3RpbWVvdXQ9LTEsIHNldD0weDU2MTg2MDE4MDEwOCkgYXQgbGF0Y2guYzoxNTcwCiMyICBX YWl0RXZlbnRTZXRXYWl0IChzZXQ9MHg1NjE4NjAxODAxMDgsIHRpbWVvdXQ9dGltZW91dEBl bnRyeT0tMSwgb2NjdXJyZWRfZXZlbnRzPW9jY3VycmVkX2V2ZW50c0BlbnRyeT0weDdmZmY1 YmZhMTI3MCwgbmV2ZW50cz1uZXZlbnRzQGVudHJ5PTEsIHdhaXRfZXZlbnRfaW5mbz13YWl0 X2V2ZW50X2luZm9AZW50cnk9MTM0MjE3NzM1KSBhdCBsYXRjaC5jOjE1MTYKIzMgIDB4MDAw MDU2MTg1ZTAzNDlhMiBpbiBXYWl0TGF0Y2ggKGxhdGNoPTxvcHRpbWl6ZWQgb3V0Piwgd2Fr ZUV2ZW50cz13YWtlRXZlbnRzQGVudHJ5PTMzLCB0aW1lb3V0PXRpbWVvdXRAZW50cnk9LTEs IHdhaXRfZXZlbnRfaW5mbz13YWl0X2V2ZW50X2luZm9AZW50cnk9MTM0MjE3NzM1KSBhdCBs YXRjaC5jOjUzOAojNCAgMHgwMDAwNTYxODVlMDNmYTZmIGluIENvbmRpdGlvblZhcmlhYmxl VGltZWRTbGVlcCAoY3Y9Y3ZAZW50cnk9MHg3ZmViMGVhNDkyMTgsIHRpbWVvdXQ9dGltZW91 dEBlbnRyeT0tMSwgd2FpdF9ldmVudF9pbmZvPXdhaXRfZXZlbnRfaW5mb0BlbnRyeT0xMzQy MTc3MzUpIGF0IGNvbmRpdGlvbl92YXJpYWJsZS5jOjE2MwojNSAgMHgwMDAwNTYxODVlMDNm YmZlIGluIENvbmRpdGlvblZhcmlhYmxlU2xlZXAgKGN2PWN2QGVudHJ5PTB4N2ZlYjBlYTQ5 MjE4LCB3YWl0X2V2ZW50X2luZm89d2FpdF9ldmVudF9pbmZvQGVudHJ5PTEzNDIxNzczNSkg YXQgY29uZGl0aW9uX3ZhcmlhYmxlLmM6OTgKIzYgIDB4MDAwMDU2MTg1ZGQ4NWY5YyBpbiBf YnRfcGFyYWxsZWxfc2VpemUgKHNjYW49c2NhbkBlbnRyeT0weDU2MTg2MDIxMDlhOCwgcGFn ZW5vPXBhZ2Vub0BlbnRyeT0weDdmZmY1YmZhMTM3YywgZmlyc3Q9Zmlyc3RAZW50cnk9ZmFs c2UpIGF0IG5idHJlZS5jOjg1OAojNyAgMHgwMDAwNTYxODVkZDg3NDBmIGluIF9idF9zdGVw cGFnZSAoc2Nhbj1zY2FuQGVudHJ5PTB4NTYxODYwMjEwOWE4LCBkaXI9Rm9yd2FyZFNjYW5E aXJlY3Rpb24pIGF0IG5idHNlYXJjaC5jOjIyMTQKIzggIDB4MDAwMDU2MTg1ZGQ4N2Y4MSBp biBfYnRfbmV4dCAoc2Nhbj1zY2FuQGVudHJ5PTB4NTYxODYwMjEwOWE4LCBkaXI9ZGlyQGVu dHJ5PUZvcndhcmRTY2FuRGlyZWN0aW9uKSBhdCBuYnRzZWFyY2guYzoxNTkyCiM5ICAweDAw MDA1NjE4NWRkODRhOTggaW4gYnRnZXR0dXBsZSAoc2Nhbj0weDU2MTg2MDIxMDlhOCwgZGly PUZvcndhcmRTY2FuRGlyZWN0aW9uKSBhdCBuYnRyZWUuYzoyNjIKIzEwIDB4MDAwMDU2MTg1 ZGQ3Yzg5MSBpbiBpbmRleF9nZXRuZXh0X3RpZCAoc2Nhbj1zY2FuQGVudHJ5PTB4NTYxODYw MjEwOWE4LCBkaXJlY3Rpb249ZGlyZWN0aW9uQGVudHJ5PUZvcndhcmRTY2FuRGlyZWN0aW9u KSBhdCBpbmRleGFtLmM6NTkxCiMxMSAweDAwMDA1NjE4NWRkN2M5ZGIgaW4gaW5kZXhfZ2V0 bmV4dF9zbG90IChzY2FuPXNjYW5AZW50cnk9MHg1NjE4NjAyMTA5YTgsIGRpcmVjdGlvbj1k aXJlY3Rpb25AZW50cnk9Rm9yd2FyZFNjYW5EaXJlY3Rpb24sIHNsb3Q9c2xvdEBlbnRyeT0w eDU2MTg2MDI1YmIyOCkgYXQgaW5kZXhhbS5jOjY4MwojMTIgMHgwMDAwNTYxODVkZWU2NWFi IGluIEluZGV4TmV4dCAobm9kZT0weDU2MTg2MDI1YjNmMCkgYXQgbm9kZUluZGV4c2Nhbi5j OjEzMAojMTMgMHgwMDAwNTYxODVkZWNiNjQ4IGluIEV4ZWNQcm9jTm9kZUluc3RyIChub2Rl PTB4NTYxODYwMjViM2YwKSBhdCBleGVjUHJvY25vZGUuYzo0ODUKIzE0IDB4MDAwMDU2MTg1 ZGVjNGU1YSBpbiBFeGVjUHJvY05vZGUgKG5vZGU9MHg1NjE4NjAyNWIzZjApIGF0IC4uLy4u Ly4uL3NyYy9pbmNsdWRlL2V4ZWN1dG9yL2V4ZWN1dG9yLmg6Mjc4CiMxNSBFeGVjdXRlUGxh biAoZXhlY3V0ZV9vbmNlPTxvcHRpbWl6ZWQgb3V0PiwgZGVzdD0weDU2MTg2MDIwZmNhOCwg ZGlyZWN0aW9uPTxvcHRpbWl6ZWQgb3V0PiwgbnVtYmVyVHVwbGVzPTAsIHNlbmRUdXBsZXM9 dHJ1ZSwgb3BlcmF0aW9uPUNNRF9TRUxFQ1QsIHVzZV9wYXJhbGxlbF9tb2RlPTxvcHRpbWl6 ZWQgb3V0PiwgcGxhbnN0YXRlPTB4NTYxODYwMjViM2YwLCBlc3RhdGU9MHg1NjE4NjAyNWIx NzgpIGF0IGV4ZWNNYWluLmM6MTY0MQojMTYgc3RhbmRhcmRfRXhlY3V0b3JSdW4gKHF1ZXJ5 RGVzYz0weDU2MTg2MDI1OTBhMCwgZGlyZWN0aW9uPTxvcHRpbWl6ZWQgb3V0PiwgY291bnQ9 MCwgZXhlY3V0ZV9vbmNlPTxvcHRpbWl6ZWQgb3V0PikgYXQgZXhlY01haW4uYzozNTgKIzE3 IDB4MDAwMDU2MTg1ZGVjOTE4NyBpbiBQYXJhbGxlbFF1ZXJ5TWFpbiAoc2VnPTB4NTYxODYw MWI4NGU4LCB0b2M9MHg3ZmViMGVhNDkwMDApIGF0IGV4ZWNQYXJhbGxlbC5jOjE0NzIKIzE4 IDB4MDAwMDU2MTg1ZGRhYzM5YiBpbiBQYXJhbGxlbFdvcmtlck1haW4gKG1haW5fYXJnPTxv cHRpbWl6ZWQgb3V0PikgYXQgcGFyYWxsZWwuYzoxNTI0CiMxOSAweDAwMDA1NjE4NWRmYzk3 NGUgaW4gQmFja2dyb3VuZFdvcmtlck1haW4gKHN0YXJ0dXBfZGF0YT08b3B0aW1pemVkIG91 dD4sIHN0YXJ0dXBfZGF0YV9sZW49PG9wdGltaXplZCBvdXQ+KSBhdCBiZ3dvcmtlci5jOjg0 MgojMjAgMHgwMDAwNTYxODVkZmNiODZiIGluIHBvc3RtYXN0ZXJfY2hpbGRfbGF1bmNoIChj aGlsZF90eXBlPWNoaWxkX3R5cGVAZW50cnk9Ql9CR19XT1JLRVIsIHN0YXJ0dXBfZGF0YT1z dGFydHVwX2RhdGFAZW50cnk9MHg1NjE4NjAxYmE1MDAgInBhcmFsbGVsIHdvcmtlciBmb3Ig UElEIDI5MjY4OCIsIHN0YXJ0dXBfZGF0YV9sZW49c3RhcnR1cF9kYXRhX2xlbkBlbnRyeT0x NDcyLCBjbGllbnRfc29jaz1jbGllbnRfc29ja0BlbnRyeT0weDApCiAgICBhdCBsYXVuY2hf YmFja2VuZC5jOjI3NAojMjEgMHgwMDAwNTYxODVkZmNkM2VlIGluIGRvX3N0YXJ0X2Jnd29y a2VyIChydz0weDU2MTg2MDFiYTUwMCkgYXQgcG9zdG1hc3Rlci5jOjM5MTYKIzIyIG1heWJl X3N0YXJ0X2Jnd29ya2VycyAoKSBhdCBwb3N0bWFzdGVyLmM6NDEyMwojMjMgMHgwMDAwNTYx ODVkZmNlMjA3IGluIExhdW5jaE1pc3NpbmdCYWNrZ3JvdW5kUHJvY2Vzc2VzICgpIGF0IHBv c3RtYXN0ZXIuYzozMjM3CiMyNCBTZXJ2ZXJMb29wICgpIGF0IHBvc3RtYXN0ZXIuYzoxNjYz CiMyNSAweDAwMDA1NjE4NWRmZDA2MTAgaW4gUG9zdG1hc3Rlck1haW4gKGFyZ2M9YXJnY0Bl bnRyeT0zLCBhcmd2PWFyZ3ZAZW50cnk9MHg1NjE4NjAxN2Y5MTApIGF0IHBvc3RtYXN0ZXIu YzoxMzQ2CiMyNiAweDAwMDA1NjE4NWRkMjY0MTMgaW4gbWFpbiAoYXJnYz0zLCBhcmd2PTB4 NTYxODYwMTdmOTEwKSBhdCBtYWluLmM6MTk3Cg== --------------0bJFuAuL0RjHt5QphYHtEv33 Content-Type: text/x-log; charset=UTF-8; name="lockup.log" Content-Disposition: attachment; filename="lockup.log" Content-Transfer-Encoding: base64 IDM4OTk5OCA/ICAgICAgICBTcyAgICAgMDowMCBwb3N0Z3JlczogdG9tYXMgdGVzdCBbbG9j YWxdIFNFTEVDVAogMzg5OTk5ID8gICAgICAgIFNzICAgICAwOjAwIHBvc3RncmVzOiBwYXJh bGxlbCB3b3JrZXIgZm9yIFBJRCAzODk5OTggCiAzOTAwMDAgPyAgICAgICAgU3MgICAgIDA6 MDAgcG9zdGdyZXM6IHBhcmFsbGVsIHdvcmtlciBmb3IgUElEIDM4OTk5OCAKIDM5MDAwMSA/ ICAgICAgICBTcyAgICAgMDowMCBwb3N0Z3JlczogcGFyYWxsZWwgd29ya2VyIGZvciBQSUQg Mzg5OTk4IAoKbGVhZGVyCgpVc2luZyBob3N0IGxpYnRocmVhZF9kYiBsaWJyYXJ5ICIvbGli L3g4Nl82NC1saW51eC1nbnUvbGlidGhyZWFkX2RiLnNvLjEiLgoweDAwMDA3ZmQyNTNkMjlk ZTMgaW4gZXBvbGxfd2FpdCAoZXBmZD01LCBldmVudHM9MHg1NjU0OTExZDkxNjAsIG1heGV2 ZW50cz0xLCB0aW1lb3V0PXRpbWVvdXRAZW50cnk9LTEpIGF0IC4uL3N5c2RlcHMvdW5peC9z eXN2L2xpbnV4L2Vwb2xsX3dhaXQuYzozMAozMAkuLi9zeXNkZXBzL3VuaXgvc3lzdi9saW51 eC9lcG9sbF93YWl0LmM6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkuCihnZGIpIGJ0CiMw ICAweDAwMDA3ZmQyNTNkMjlkZTMgaW4gZXBvbGxfd2FpdCAoZXBmZD01LCBldmVudHM9MHg1 NjU0OTExZDkxNjAsIG1heGV2ZW50cz0xLCB0aW1lb3V0PXRpbWVvdXRAZW50cnk9LTEpIGF0 IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2Vwb2xsX3dhaXQuYzozMAojMSAgMHgwMDAw NTY1NDkwMDIwNmI5IGluIFdhaXRFdmVudFNldFdhaXRCbG9jayAobmV2ZW50cz0xLCBvY2N1 cnJlZF9ldmVudHM9MHg3ZmZmYWRiZjkzNjAsIGN1cl90aW1lb3V0PS0xLCBzZXQ9MHg1NjU0 OTExZDkwZjgpIGF0IGxhdGNoLmM6MTU3MAojMiAgV2FpdEV2ZW50U2V0V2FpdCAoc2V0PTB4 NTY1NDkxMWQ5MGY4LCB0aW1lb3V0PXRpbWVvdXRAZW50cnk9LTEsIG9jY3VycmVkX2V2ZW50 cz1vY2N1cnJlZF9ldmVudHNAZW50cnk9MHg3ZmZmYWRiZjkzYTAsIG5ldmVudHM9bmV2ZW50 c0BlbnRyeT0xLCB3YWl0X2V2ZW50X2luZm89d2FpdF9ldmVudF9pbmZvQGVudHJ5PTEzNDIx NzczNSkgYXQgbGF0Y2guYzoxNTE2CiMzICAweDAwMDA1NjU0OTAwMjA5YTIgaW4gV2FpdExh dGNoIChsYXRjaD08b3B0aW1pemVkIG91dD4sIHdha2VFdmVudHM9d2FrZUV2ZW50c0BlbnRy eT0zMywgdGltZW91dD10aW1lb3V0QGVudHJ5PS0xLCB3YWl0X2V2ZW50X2luZm89d2FpdF9l dmVudF9pbmZvQGVudHJ5PTEzNDIxNzczNSkgYXQgbGF0Y2guYzo1MzgKIzQgIDB4MDAwMDU2 NTQ5MDAyYmE2ZiBpbiBDb25kaXRpb25WYXJpYWJsZVRpbWVkU2xlZXAgKGN2PWN2QGVudHJ5 PTB4N2ZkMTQ4MjUwMjE4LCB0aW1lb3V0PXRpbWVvdXRAZW50cnk9LTEsIHdhaXRfZXZlbnRf aW5mbz13YWl0X2V2ZW50X2luZm9AZW50cnk9MTM0MjE3NzM1KSBhdCBjb25kaXRpb25fdmFy aWFibGUuYzoxNjMKIzUgIDB4MDAwMDU2NTQ5MDAyYmJmZSBpbiBDb25kaXRpb25WYXJpYWJs ZVNsZWVwIChjdj1jdkBlbnRyeT0weDdmZDE0ODI1MDIxOCwgd2FpdF9ldmVudF9pbmZvPXdh aXRfZXZlbnRfaW5mb0BlbnRyeT0xMzQyMTc3MzUpIGF0IGNvbmRpdGlvbl92YXJpYWJsZS5j Ojk4CiM2ICAweDAwMDA1NjU0OGZkNzFmOWMgaW4gX2J0X3BhcmFsbGVsX3NlaXplIChzY2Fu PXNjYW5AZW50cnk9MHg1NjU0OTEyZTM5ZjgsIHBhZ2Vubz1wYWdlbm9AZW50cnk9MHg3ZmZm YWRiZjk0YWMsIGZpcnN0PWZpcnN0QGVudHJ5PWZhbHNlKSBhdCBuYnRyZWUuYzo4NTgKIzcg IDB4MDAwMDU2NTQ4ZmQ3MzQwZiBpbiBfYnRfc3RlcHBhZ2UgKHNjYW49c2NhbkBlbnRyeT0w eDU2NTQ5MTJlMzlmOCwgZGlyPUZvcndhcmRTY2FuRGlyZWN0aW9uKSBhdCBuYnRzZWFyY2gu YzoyMjE0CiM4ICAweDAwMDA1NjU0OGZkNzNmODEgaW4gX2J0X25leHQgKHNjYW49c2NhbkBl bnRyeT0weDU2NTQ5MTJlMzlmOCwgZGlyPWRpckBlbnRyeT1Gb3J3YXJkU2NhbkRpcmVjdGlv bikgYXQgbmJ0c2VhcmNoLmM6MTU5MgojOSAgMHgwMDAwNTY1NDhmZDcwYTk4IGluIGJ0Z2V0 dHVwbGUgKHNjYW49MHg1NjU0OTEyZTM5ZjgsIGRpcj1Gb3J3YXJkU2NhbkRpcmVjdGlvbikg YXQgbmJ0cmVlLmM6MjYyCiMxMCAweDAwMDA1NjU0OGZkNjg4OTEgaW4gaW5kZXhfZ2V0bmV4 dF90aWQgKHNjYW49c2NhbkBlbnRyeT0weDU2NTQ5MTJlMzlmOCwgZGlyZWN0aW9uPWRpcmVj dGlvbkBlbnRyeT1Gb3J3YXJkU2NhbkRpcmVjdGlvbikgYXQgaW5kZXhhbS5jOjU5MQojMTEg MHgwMDAwNTY1NDhmZDY4OWRiIGluIGluZGV4X2dldG5leHRfc2xvdCAoc2Nhbj1zY2FuQGVu dHJ5PTB4NTY1NDkxMmUzOWY4LCBkaXJlY3Rpb249ZGlyZWN0aW9uQGVudHJ5PUZvcndhcmRT Y2FuRGlyZWN0aW9uLCBzbG90PXNsb3RAZW50cnk9MHg1NjU0OTEyZDM3ZDApIGF0IGluZGV4 YW0uYzo2ODMKIzEyIDB4MDAwMDU2NTQ4ZmVkMjVhYiBpbiBJbmRleE5leHQgKG5vZGU9MHg1 NjU0OTEyZDM1NDApIGF0IG5vZGVJbmRleHNjYW4uYzoxMzAKIzEzIDB4MDAwMDU2NTQ4ZmVj OWUxMSBpbiBFeGVjUHJvY05vZGUgKG5vZGU9MHg1NjU0OTEyZDM1NDApIGF0IC4uLy4uLy4u L3NyYy9pbmNsdWRlL2V4ZWN1dG9yL2V4ZWN1dG9yLmg6Mjc4CiMxNCBnYXRoZXJfZ2V0bmV4 dCAoZ2F0aGVyc3RhdGU9MHg1NjU0OTEyZDMzNjgpIGF0IG5vZGVHYXRoZXIuYzoyODcKIzE1 IEV4ZWNHYXRoZXIgKHBzdGF0ZT0weDU2NTQ5MTJkMzM2OCkgYXQgbm9kZUdhdGhlci5jOjIy MgojMTYgMHgwMDAwNTY1NDhmZWIwZTVhIGluIEV4ZWNQcm9jTm9kZSAobm9kZT0weDU2NTQ5 MTJkMzM2OCkgYXQgLi4vLi4vLi4vc3JjL2luY2x1ZGUvZXhlY3V0b3IvZXhlY3V0b3IuaDoy NzgKIzE3IEV4ZWN1dGVQbGFuIChleGVjdXRlX29uY2U9PG9wdGltaXplZCBvdXQ+LCBkZXN0 PTB4NTY1NDkxMmRjZDcwLCBkaXJlY3Rpb249PG9wdGltaXplZCBvdXQ+LCBudW1iZXJUdXBs ZXM9MCwgc2VuZFR1cGxlcz10cnVlLCBvcGVyYXRpb249Q01EX1NFTEVDVCwgdXNlX3BhcmFs bGVsX21vZGU9PG9wdGltaXplZCBvdXQ+LCBwbGFuc3RhdGU9MHg1NjU0OTEyZDMzNjgsIGVz dGF0ZT0weDU2NTQ5MTJkMzEyOCkgYXQgZXhlY01haW4uYzoxNjQxCiMxOCBzdGFuZGFyZF9F eGVjdXRvclJ1biAocXVlcnlEZXNjPTB4NTY1NDkxMmNmMTY4LCBkaXJlY3Rpb249PG9wdGlt aXplZCBvdXQ+LCBjb3VudD0wLCBleGVjdXRlX29uY2U9PG9wdGltaXplZCBvdXQ+KSBhdCBl eGVjTWFpbi5jOjM1OAojMTkgMHgwMDAwNTY1NDkwMDQ2OTJmIGluIFBvcnRhbFJ1blNlbGVj dCAocG9ydGFsPXBvcnRhbEBlbnRyeT0weDU2NTQ5MTI1YmE3OCwgZm9yd2FyZD1mb3J3YXJk QGVudHJ5PXRydWUsIGNvdW50PTAsIGNvdW50QGVudHJ5PTkyMjMzNzIwMzY4NTQ3NzU4MDcs IGRlc3Q9ZGVzdEBlbnRyeT0weDU2NTQ5MTJkY2Q3MCkgYXQgcHF1ZXJ5LmM6OTI0CiMyMCAw eDAwMDA1NjU0OTAwNDdjMjcgaW4gUG9ydGFsUnVuIChwb3J0YWw9cG9ydGFsQGVudHJ5PTB4 NTY1NDkxMjViYTc4LCBjb3VudD1jb3VudEBlbnRyeT05MjIzMzcyMDM2ODU0Nzc1ODA3LCBp c1RvcExldmVsPWlzVG9wTGV2ZWxAZW50cnk9dHJ1ZSwgcnVuX29uY2U9cnVuX29uY2VAZW50 cnk9dHJ1ZSwgZGVzdD1kZXN0QGVudHJ5PTB4NTY1NDkxMmRjZDcwLCBhbHRkZXN0PWFsdGRl c3RAZW50cnk9MHg1NjU0OTEyZGNkNzAsIAogICAgcWM9MHg3ZmZmYWRiZjk4NzApIGF0IHBx dWVyeS5jOjc2OAojMjEgMHgwMDAwNTY1NDkwMDQ0MDljIGluIGV4ZWNfc2ltcGxlX3F1ZXJ5 IChxdWVyeV9zdHJpbmc9MHg1NjU0OTExZGUxODggInNlbGVjdCAqIGZyb20gdF8xIHdoZXJl IGlkIGluICggNDEsIDc0LCA3LCA0MCk7IikgYXQgcG9zdGdyZXMuYzoxMjg0CiMyMiAweDAw MDA1NjU0OTAwNDViMTYgaW4gUG9zdGdyZXNNYWluIChkYm5hbWU9PG9wdGltaXplZCBvdXQ+ LCB1c2VybmFtZT08b3B0aW1pemVkIG91dD4pIGF0IHBvc3RncmVzLmM6NDc2NgojMjMgMHgw MDAwNTY1NDkwMDQwOWRmIGluIEJhY2tlbmRNYWluIChzdGFydHVwX2RhdGE9PG9wdGltaXpl ZCBvdXQ+LCBzdGFydHVwX2RhdGFfbGVuPTxvcHRpbWl6ZWQgb3V0PikgYXQgYmFja2VuZF9z dGFydHVwLmM6MTA3CiMyNCAweDAwMDA1NjU0OGZmYjc4NmIgaW4gcG9zdG1hc3Rlcl9jaGls ZF9sYXVuY2ggKGNoaWxkX3R5cGU9Y2hpbGRfdHlwZUBlbnRyeT1CX0JBQ0tFTkQsIHN0YXJ0 dXBfZGF0YT1zdGFydHVwX2RhdGFAZW50cnk9MHg3ZmZmYWRiZjljZmMgIiIsIHN0YXJ0dXBf ZGF0YV9sZW49c3RhcnR1cF9kYXRhX2xlbkBlbnRyeT00LCBjbGllbnRfc29jaz1jbGllbnRf c29ja0BlbnRyeT0weDdmZmZhZGJmOWQwMCkgYXQgbGF1bmNoX2JhY2tlbmQuYzoyNzQKIzI1 IDB4MDAwMDU2NTQ4ZmZiYWE1MyBpbiBCYWNrZW5kU3RhcnR1cCAoY2xpZW50X3NvY2s9MHg3 ZmZmYWRiZjlkMDApIGF0IHBvc3RtYXN0ZXIuYzozNDE1CiMyNiBTZXJ2ZXJMb29wICgpIGF0 IHBvc3RtYXN0ZXIuYzoxNjQ4CiMyNyAweDAwMDA1NjU0OGZmYmM2MTAgaW4gUG9zdG1hc3Rl ck1haW4gKGFyZ2M9YXJnY0BlbnRyeT0zLCBhcmd2PWFyZ3ZAZW50cnk9MHg1NjU0OTExZDg5 MTApIGF0IHBvc3RtYXN0ZXIuYzoxMzQ2CiMyOCAweDAwMDA1NjU0OGZkMTI0MTMgaW4gbWFp biAoYXJnYz0zLCBhcmd2PTB4NTY1NDkxMWQ4OTEwKSBhdCBtYWluLmM6MTk3CihnZGIpIHEK CndvcmtlcnMKCjB4MDAwMDdmZDI1M2QyOWRlMyBpbiBlcG9sbF93YWl0IChlcGZkPTUsIGV2 ZW50cz0weDU2NTQ5MTFkOTE2MCwgbWF4ZXZlbnRzPTEsIHRpbWVvdXQ9dGltZW91dEBlbnRy eT0tMSkgYXQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgvZXBvbGxfd2FpdC5jOjMwCjMw CS4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2Vwb2xsX3dhaXQuYzogTm8gc3VjaCBmaWxl IG9yIGRpcmVjdG9yeS4KKGdkYikgYnQKIzAgIDB4MDAwMDdmZDI1M2QyOWRlMyBpbiBlcG9s bF93YWl0IChlcGZkPTUsIGV2ZW50cz0weDU2NTQ5MTFkOTE2MCwgbWF4ZXZlbnRzPTEsIHRp bWVvdXQ9dGltZW91dEBlbnRyeT0tMSkgYXQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgv ZXBvbGxfd2FpdC5jOjMwCiMxICAweDAwMDA1NjU0OTAwMjA2YjkgaW4gV2FpdEV2ZW50U2V0 V2FpdEJsb2NrIChuZXZlbnRzPTEsIG9jY3VycmVkX2V2ZW50cz0weDdmZmZhZGJmOTg1MCwg Y3VyX3RpbWVvdXQ9LTEsIHNldD0weDU2NTQ5MTFkOTBmOCkgYXQgbGF0Y2guYzoxNTcwCiMy ICBXYWl0RXZlbnRTZXRXYWl0IChzZXQ9MHg1NjU0OTExZDkwZjgsIHRpbWVvdXQ9dGltZW91 dEBlbnRyeT0tMSwgb2NjdXJyZWRfZXZlbnRzPW9jY3VycmVkX2V2ZW50c0BlbnRyeT0weDdm ZmZhZGJmOTg5MCwgbmV2ZW50cz1uZXZlbnRzQGVudHJ5PTEsIHdhaXRfZXZlbnRfaW5mbz13 YWl0X2V2ZW50X2luZm9AZW50cnk9MTM0MjE3NzY0KSBhdCBsYXRjaC5jOjE1MTYKIzMgIDB4 MDAwMDU2NTQ5MDAyMDlhMiBpbiBXYWl0TGF0Y2ggKGxhdGNoPTxvcHRpbWl6ZWQgb3V0Piwg d2FrZUV2ZW50cz13YWtlRXZlbnRzQGVudHJ5PTMzLCB0aW1lb3V0PXRpbWVvdXRAZW50cnk9 MCwgd2FpdF9ldmVudF9pbmZvPXdhaXRfZXZlbnRfaW5mb0BlbnRyeT0xMzQyMTc3NjQpIGF0 IGxhdGNoLmM6NTM4CiM0ICAweDAwMDA1NjU0OTAwMjZlMTEgaW4gc2htX21xX3NlbmRfYnl0 ZXMgKG1xaD1tcWhAZW50cnk9MHg1NjU0OTEyNmEzYTAsIG5ieXRlcz01NywgZGF0YT0weDU2 NTQ5MTJiMzkyMCwgbm93YWl0PW5vd2FpdEBlbnRyeT1mYWxzZSwgYnl0ZXNfd3JpdHRlbj1i eXRlc193cml0dGVuQGVudHJ5PTB4N2ZmZmFkYmY5OTcwKSBhdCBzaG1fbXEuYzoxMDE4CiM1 ICAweDAwMDA1NjU0OTAwMjcyYjQgaW4gc2htX21xX3NlbmR2IChtcWg9MHg1NjU0OTEyNmEz YTAsIGlvdj1pb3ZAZW50cnk9MHg3ZmZmYWRiZjk5YzAsIGlvdmNudD1pb3ZjbnRAZW50cnk9 MSwgbm93YWl0PW5vd2FpdEBlbnRyeT1mYWxzZSwgZm9yY2VfZmx1c2g9Zm9yY2VfZmx1c2hA ZW50cnk9ZmFsc2UpIGF0IHNobV9tcS5jOjQ5MwojNiAgMHgwMDAwNTY1NDkwMDI3NGExIGlu IHNobV9tcV9zZW5kIChtcWg9PG9wdGltaXplZCBvdXQ+LCBuYnl0ZXM9PG9wdGltaXplZCBv dXQ+LCBkYXRhPWRhdGFAZW50cnk9MHg1NjU0OTEyYjM5MjAsIG5vd2FpdD1ub3dhaXRAZW50 cnk9ZmFsc2UsIGZvcmNlX2ZsdXNoPWZvcmNlX2ZsdXNoQGVudHJ5PWZhbHNlKSBhdCBzaG1f bXEuYzozMzcKIzcgIDB4MDAwMDU2NTQ4ZmVlYjRiOSBpbiB0cXVldWVSZWNlaXZlU2xvdCAo c2xvdD08b3B0aW1pemVkIG91dD4sIHNlbGY9MHg1NjU0OTEyNjkwOTgpIGF0IHRxdWV1ZS5j OjYzCiM4ICAweDAwMDA1NjU0OGZlYjBlOGMgaW4gRXhlY3V0ZVBsYW4gKGV4ZWN1dGVfb25j ZT08b3B0aW1pemVkIG91dD4sIGRlc3Q9MHg1NjU0OTEyNjkwOTgsIGRpcmVjdGlvbj08b3B0 aW1pemVkIG91dD4sIG51bWJlclR1cGxlcz0wLCBzZW5kVHVwbGVzPXRydWUsIG9wZXJhdGlv bj1DTURfU0VMRUNULCB1c2VfcGFyYWxsZWxfbW9kZT08b3B0aW1pemVkIG91dD4sIHBsYW5z dGF0ZT0weDU2NTQ5MTJiMjdkMCwgCiAgICBlc3RhdGU9MHg1NjU0OTEyYjI1NTgpIGF0IGV4 ZWNNYWluLmM6MTY3MgojOSAgc3RhbmRhcmRfRXhlY3V0b3JSdW4gKHF1ZXJ5RGVzYz0weDU2 NTQ5MTI2YWIxOCwgZGlyZWN0aW9uPTxvcHRpbWl6ZWQgb3V0PiwgY291bnQ9MCwgZXhlY3V0 ZV9vbmNlPTxvcHRpbWl6ZWQgb3V0PikgYXQgZXhlY01haW4uYzozNTgKIzEwIDB4MDAwMDU2 NTQ4ZmViNTE4NyBpbiBQYXJhbGxlbFF1ZXJ5TWFpbiAoc2VnPTB4NTY1NDkxMjExOGQ4LCB0 b2M9MHg3ZmQyNTQzYWUwMDApIGF0IGV4ZWNQYXJhbGxlbC5jOjE0NzIKIzExIDB4MDAwMDU2 NTQ4ZmQ5ODM5YiBpbiBQYXJhbGxlbFdvcmtlck1haW4gKG1haW5fYXJnPTxvcHRpbWl6ZWQg b3V0PikgYXQgcGFyYWxsZWwuYzoxNTI0CiMxMiAweDAwMDA1NjU0OGZmYjU3NGUgaW4gQmFj a2dyb3VuZFdvcmtlck1haW4gKHN0YXJ0dXBfZGF0YT08b3B0aW1pemVkIG91dD4sIHN0YXJ0 dXBfZGF0YV9sZW49PG9wdGltaXplZCBvdXQ+KSBhdCBiZ3dvcmtlci5jOjg0MgojMTMgMHgw MDAwNTY1NDhmZmI3ODZiIGluIHBvc3RtYXN0ZXJfY2hpbGRfbGF1bmNoIChjaGlsZF90eXBl PWNoaWxkX3R5cGVAZW50cnk9Ql9CR19XT1JLRVIsIHN0YXJ0dXBfZGF0YT1zdGFydHVwX2Rh dGFAZW50cnk9MHg1NjU0OTEyMGI0YTAgInBhcmFsbGVsIHdvcmtlciBmb3IgUElEIDM4OTk5 OCIsIHN0YXJ0dXBfZGF0YV9sZW49c3RhcnR1cF9kYXRhX2xlbkBlbnRyeT0xNDcyLCBjbGll bnRfc29jaz1jbGllbnRfc29ja0BlbnRyeT0weDApCiAgICBhdCBsYXVuY2hfYmFja2VuZC5j OjI3NAojMTQgMHgwMDAwNTY1NDhmZmI5M2VlIGluIGRvX3N0YXJ0X2Jnd29ya2VyIChydz0w eDU2NTQ5MTIwYjRhMCkgYXQgcG9zdG1hc3Rlci5jOjM5MTYKIzE1IG1heWJlX3N0YXJ0X2Jn d29ya2VycyAoKSBhdCBwb3N0bWFzdGVyLmM6NDEyMwojMTYgMHgwMDAwNTY1NDhmZmJhMjA3 IGluIExhdW5jaE1pc3NpbmdCYWNrZ3JvdW5kUHJvY2Vzc2VzICgpIGF0IHBvc3RtYXN0ZXIu YzozMjM3CiMxNyBTZXJ2ZXJMb29wICgpIGF0IHBvc3RtYXN0ZXIuYzoxNjYzCiMxOCAweDAw MDA1NjU0OGZmYmM2MTAgaW4gUG9zdG1hc3Rlck1haW4gKGFyZ2M9YXJnY0BlbnRyeT0zLCBh cmd2PWFyZ3ZAZW50cnk9MHg1NjU0OTExZDg5MTApIGF0IHBvc3RtYXN0ZXIuYzoxMzQ2CiMx OSAweDAwMDA1NjU0OGZkMTI0MTMgaW4gbWFpbiAoYXJnYz0zLCBhcmd2PTB4NTY1NDkxMWQ4 OTEwKSBhdCBtYWluLmM6MTk3CgpVc2luZyBob3N0IGxpYnRocmVhZF9kYiBsaWJyYXJ5ICIv bGliL3g4Nl82NC1saW51eC1nbnUvbGlidGhyZWFkX2RiLnNvLjEiLgoweDAwMDA3ZmQyNTNk MjlkZTMgaW4gZXBvbGxfd2FpdCAoZXBmZD01LCBldmVudHM9MHg1NjU0OTExZDkxNjAsIG1h eGV2ZW50cz0xLCB0aW1lb3V0PXRpbWVvdXRAZW50cnk9LTEpIGF0IC4uL3N5c2RlcHMvdW5p eC9zeXN2L2xpbnV4L2Vwb2xsX3dhaXQuYzozMAozMAkuLi9zeXNkZXBzL3VuaXgvc3lzdi9s aW51eC9lcG9sbF93YWl0LmM6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkuCihnZGIpIGJ0 CiMwICAweDAwMDA3ZmQyNTNkMjlkZTMgaW4gZXBvbGxfd2FpdCAoZXBmZD01LCBldmVudHM9 MHg1NjU0OTExZDkxNjAsIG1heGV2ZW50cz0xLCB0aW1lb3V0PXRpbWVvdXRAZW50cnk9LTEp IGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2Vwb2xsX3dhaXQuYzozMAojMSAgMHgw MDAwNTY1NDkwMDIwNmI5IGluIFdhaXRFdmVudFNldFdhaXRCbG9jayAobmV2ZW50cz0xLCBv Y2N1cnJlZF9ldmVudHM9MHg3ZmZmYWRiZjk3YTAsIGN1cl90aW1lb3V0PS0xLCBzZXQ9MHg1 NjU0OTExZDkwZjgpIGF0IGxhdGNoLmM6MTU3MAojMiAgV2FpdEV2ZW50U2V0V2FpdCAoc2V0 PTB4NTY1NDkxMWQ5MGY4LCB0aW1lb3V0PXRpbWVvdXRAZW50cnk9LTEsIG9jY3VycmVkX2V2 ZW50cz1vY2N1cnJlZF9ldmVudHNAZW50cnk9MHg3ZmZmYWRiZjk3ZTAsIG5ldmVudHM9bmV2 ZW50c0BlbnRyeT0xLCB3YWl0X2V2ZW50X2luZm89d2FpdF9ldmVudF9pbmZvQGVudHJ5PTEz NDIxNzczNSkgYXQgbGF0Y2guYzoxNTE2CiMzICAweDAwMDA1NjU0OTAwMjA5YTIgaW4gV2Fp dExhdGNoIChsYXRjaD08b3B0aW1pemVkIG91dD4sIHdha2VFdmVudHM9d2FrZUV2ZW50c0Bl bnRyeT0zMywgdGltZW91dD10aW1lb3V0QGVudHJ5PS0xLCB3YWl0X2V2ZW50X2luZm89d2Fp dF9ldmVudF9pbmZvQGVudHJ5PTEzNDIxNzczNSkgYXQgbGF0Y2guYzo1MzgKIzQgIDB4MDAw MDU2NTQ5MDAyYmE2ZiBpbiBDb25kaXRpb25WYXJpYWJsZVRpbWVkU2xlZXAgKGN2PWN2QGVu dHJ5PTB4N2ZkMjU0M2FlMjE4LCB0aW1lb3V0PXRpbWVvdXRAZW50cnk9LTEsIHdhaXRfZXZl bnRfaW5mbz13YWl0X2V2ZW50X2luZm9AZW50cnk9MTM0MjE3NzM1KSBhdCBjb25kaXRpb25f dmFyaWFibGUuYzoxNjMKIzUgIDB4MDAwMDU2NTQ5MDAyYmJmZSBpbiBDb25kaXRpb25WYXJp YWJsZVNsZWVwIChjdj1jdkBlbnRyeT0weDdmZDI1NDNhZTIxOCwgd2FpdF9ldmVudF9pbmZv PXdhaXRfZXZlbnRfaW5mb0BlbnRyeT0xMzQyMTc3MzUpIGF0IGNvbmRpdGlvbl92YXJpYWJs ZS5jOjk4CiM2ICAweDAwMDA1NjU0OGZkNzFmOWMgaW4gX2J0X3BhcmFsbGVsX3NlaXplIChz Y2FuPXNjYW5AZW50cnk9MHg1NjU0OTEyNjlkOTgsIHBhZ2Vubz1wYWdlbm9AZW50cnk9MHg3 ZmZmYWRiZjk4ZWMsIGZpcnN0PWZpcnN0QGVudHJ5PWZhbHNlKSBhdCBuYnRyZWUuYzo4NTgK IzcgIDB4MDAwMDU2NTQ4ZmQ3MzQwZiBpbiBfYnRfc3RlcHBhZ2UgKHNjYW49c2NhbkBlbnRy eT0weDU2NTQ5MTI2OWQ5OCwgZGlyPUZvcndhcmRTY2FuRGlyZWN0aW9uKSBhdCBuYnRzZWFy Y2guYzoyMjE0CiM4ICAweDAwMDA1NjU0OGZkNzNmODEgaW4gX2J0X25leHQgKHNjYW49c2Nh bkBlbnRyeT0weDU2NTQ5MTI2OWQ5OCwgZGlyPWRpckBlbnRyeT1Gb3J3YXJkU2NhbkRpcmVj dGlvbikgYXQgbmJ0c2VhcmNoLmM6MTU5MgojOSAgMHgwMDAwNTY1NDhmZDcwYTk4IGluIGJ0 Z2V0dHVwbGUgKHNjYW49MHg1NjU0OTEyNjlkOTgsIGRpcj1Gb3J3YXJkU2NhbkRpcmVjdGlv bikgYXQgbmJ0cmVlLmM6MjYyCiMxMCAweDAwMDA1NjU0OGZkNjg4OTEgaW4gaW5kZXhfZ2V0 bmV4dF90aWQgKHNjYW49c2NhbkBlbnRyeT0weDU2NTQ5MTI2OWQ5OCwgZGlyZWN0aW9uPWRp cmVjdGlvbkBlbnRyeT1Gb3J3YXJkU2NhbkRpcmVjdGlvbikgYXQgaW5kZXhhbS5jOjU5MQoj MTEgMHgwMDAwNTY1NDhmZDY4OWRiIGluIGluZGV4X2dldG5leHRfc2xvdCAoc2Nhbj1zY2Fu QGVudHJ5PTB4NTY1NDkxMjY5ZDk4LCBkaXJlY3Rpb249ZGlyZWN0aW9uQGVudHJ5PUZvcndh cmRTY2FuRGlyZWN0aW9uLCBzbG90PXNsb3RAZW50cnk9MHg1NjU0OTEyYjJmMDgpIGF0IGlu ZGV4YW0uYzo2ODMKIzEyIDB4MDAwMDU2NTQ4ZmVkMjVhYiBpbiBJbmRleE5leHQgKG5vZGU9 MHg1NjU0OTEyYjI3ZDApIGF0IG5vZGVJbmRleHNjYW4uYzoxMzAKIzEzIDB4MDAwMDU2NTQ4 ZmViMGU1YSBpbiBFeGVjUHJvY05vZGUgKG5vZGU9MHg1NjU0OTEyYjI3ZDApIGF0IC4uLy4u Ly4uL3NyYy9pbmNsdWRlL2V4ZWN1dG9yL2V4ZWN1dG9yLmg6Mjc4CiMxNCBFeGVjdXRlUGxh biAoZXhlY3V0ZV9vbmNlPTxvcHRpbWl6ZWQgb3V0PiwgZGVzdD0weDU2NTQ5MTI2OTA5OCwg ZGlyZWN0aW9uPTxvcHRpbWl6ZWQgb3V0PiwgbnVtYmVyVHVwbGVzPTAsIHNlbmRUdXBsZXM9 dHJ1ZSwgb3BlcmF0aW9uPUNNRF9TRUxFQ1QsIHVzZV9wYXJhbGxlbF9tb2RlPTxvcHRpbWl6 ZWQgb3V0PiwgcGxhbnN0YXRlPTB4NTY1NDkxMmIyN2QwLCBlc3RhdGU9MHg1NjU0OTEyYjI1 NTgpIGF0IGV4ZWNNYWluLmM6MTY0MQojMTUgc3RhbmRhcmRfRXhlY3V0b3JSdW4gKHF1ZXJ5 RGVzYz0weDU2NTQ5MTI2YWIxOCwgZGlyZWN0aW9uPTxvcHRpbWl6ZWQgb3V0PiwgY291bnQ9 MCwgZXhlY3V0ZV9vbmNlPTxvcHRpbWl6ZWQgb3V0PikgYXQgZXhlY01haW4uYzozNTgKIzE2 IDB4MDAwMDU2NTQ4ZmViNTE4NyBpbiBQYXJhbGxlbFF1ZXJ5TWFpbiAoc2VnPTB4NTY1NDkx MjExOGQ4LCB0b2M9MHg3ZmQyNTQzYWUwMDApIGF0IGV4ZWNQYXJhbGxlbC5jOjE0NzIKIzE3 IDB4MDAwMDU2NTQ4ZmQ5ODM5YiBpbiBQYXJhbGxlbFdvcmtlck1haW4gKG1haW5fYXJnPTxv cHRpbWl6ZWQgb3V0PikgYXQgcGFyYWxsZWwuYzoxNTI0CiMxOCAweDAwMDA1NjU0OGZmYjU3 NGUgaW4gQmFja2dyb3VuZFdvcmtlck1haW4gKHN0YXJ0dXBfZGF0YT08b3B0aW1pemVkIG91 dD4sIHN0YXJ0dXBfZGF0YV9sZW49PG9wdGltaXplZCBvdXQ+KSBhdCBiZ3dvcmtlci5jOjg0 MgojMTkgMHgwMDAwNTY1NDhmZmI3ODZiIGluIHBvc3RtYXN0ZXJfY2hpbGRfbGF1bmNoIChj aGlsZF90eXBlPWNoaWxkX3R5cGVAZW50cnk9Ql9CR19XT1JLRVIsIHN0YXJ0dXBfZGF0YT1z dGFydHVwX2RhdGFAZW50cnk9MHg1NjU0OTEyMGFjOTggInBhcmFsbGVsIHdvcmtlciBmb3Ig UElEIDM4OTk5OCIsIHN0YXJ0dXBfZGF0YV9sZW49c3RhcnR1cF9kYXRhX2xlbkBlbnRyeT0x NDcyLCBjbGllbnRfc29jaz1jbGllbnRfc29ja0BlbnRyeT0weDApCiAgICBhdCBsYXVuY2hf YmFja2VuZC5jOjI3NAojMjAgMHgwMDAwNTY1NDhmZmI5M2VlIGluIGRvX3N0YXJ0X2Jnd29y a2VyIChydz0weDU2NTQ5MTIwYWM5OCkgYXQgcG9zdG1hc3Rlci5jOjM5MTYKIzIxIG1heWJl X3N0YXJ0X2Jnd29ya2VycyAoKSBhdCBwb3N0bWFzdGVyLmM6NDEyMwojMjIgMHgwMDAwNTY1 NDhmZmJhMjA3IGluIExhdW5jaE1pc3NpbmdCYWNrZ3JvdW5kUHJvY2Vzc2VzICgpIGF0IHBv c3RtYXN0ZXIuYzozMjM3CiMyMyBTZXJ2ZXJMb29wICgpIGF0IHBvc3RtYXN0ZXIuYzoxNjYz CiMyNCAweDAwMDA1NjU0OGZmYmM2MTAgaW4gUG9zdG1hc3Rlck1haW4gKGFyZ2M9YXJnY0Bl bnRyeT0zLCBhcmd2PWFyZ3ZAZW50cnk9MHg1NjU0OTExZDg5MTApIGF0IHBvc3RtYXN0ZXIu YzoxMzQ2CiMyNSAweDAwMDA1NjU0OGZkMTI0MTMgaW4gbWFpbiAoYXJnYz0zLCBhcmd2PTB4 NTY1NDkxMWQ4OTEwKSBhdCBtYWluLmM6MTk3CgpVc2luZyBob3N0IGxpYnRocmVhZF9kYiBs aWJyYXJ5ICIvbGliL3g4Nl82NC1saW51eC1nbnUvbGlidGhyZWFkX2RiLnNvLjEiLgoweDAw MDA3ZmQyNTNkMjlkZTMgaW4gZXBvbGxfd2FpdCAoZXBmZD01LCBldmVudHM9MHg1NjU0OTEx ZDkxNjAsIG1heGV2ZW50cz0xLCB0aW1lb3V0PXRpbWVvdXRAZW50cnk9LTEpIGF0IC4uL3N5 c2RlcHMvdW5peC9zeXN2L2xpbnV4L2Vwb2xsX3dhaXQuYzozMAozMAkuLi9zeXNkZXBzL3Vu aXgvc3lzdi9saW51eC9lcG9sbF93YWl0LmM6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3Rvcnku CihnZGIpIGJ0CiMwICAweDAwMDA3ZmQyNTNkMjlkZTMgaW4gZXBvbGxfd2FpdCAoZXBmZD01 LCBldmVudHM9MHg1NjU0OTExZDkxNjAsIG1heGV2ZW50cz0xLCB0aW1lb3V0PXRpbWVvdXRA ZW50cnk9LTEpIGF0IC4uL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2Vwb2xsX3dhaXQuYzoz MAojMSAgMHgwMDAwNTY1NDkwMDIwNmI5IGluIFdhaXRFdmVudFNldFdhaXRCbG9jayAobmV2 ZW50cz0xLCBvY2N1cnJlZF9ldmVudHM9MHg3ZmZmYWRiZjk4NTAsIGN1cl90aW1lb3V0PS0x LCBzZXQ9MHg1NjU0OTExZDkwZjgpIGF0IGxhdGNoLmM6MTU3MAojMiAgV2FpdEV2ZW50U2V0 V2FpdCAoc2V0PTB4NTY1NDkxMWQ5MGY4LCB0aW1lb3V0PXRpbWVvdXRAZW50cnk9LTEsIG9j Y3VycmVkX2V2ZW50cz1vY2N1cnJlZF9ldmVudHNAZW50cnk9MHg3ZmZmYWRiZjk4OTAsIG5l dmVudHM9bmV2ZW50c0BlbnRyeT0xLCB3YWl0X2V2ZW50X2luZm89d2FpdF9ldmVudF9pbmZv QGVudHJ5PTEzNDIxNzc2NCkgYXQgbGF0Y2guYzoxNTE2CiMzICAweDAwMDA1NjU0OTAwMjA5 YTIgaW4gV2FpdExhdGNoIChsYXRjaD08b3B0aW1pemVkIG91dD4sIHdha2VFdmVudHM9d2Fr ZUV2ZW50c0BlbnRyeT0zMywgdGltZW91dD10aW1lb3V0QGVudHJ5PTAsIHdhaXRfZXZlbnRf aW5mbz13YWl0X2V2ZW50X2luZm9AZW50cnk9MTM0MjE3NzY0KSBhdCBsYXRjaC5jOjUzOAoj NCAgMHgwMDAwNTY1NDkwMDI2ZTExIGluIHNobV9tcV9zZW5kX2J5dGVzIChtcWg9bXFoQGVu dHJ5PTB4NTY1NDkxMjZhM2EwLCBuYnl0ZXM9NTcsIGRhdGE9MHg1NjU0OTEyYjM5MjAsIG5v d2FpdD1ub3dhaXRAZW50cnk9ZmFsc2UsIGJ5dGVzX3dyaXR0ZW49Ynl0ZXNfd3JpdHRlbkBl bnRyeT0weDdmZmZhZGJmOTk3MCkgYXQgc2htX21xLmM6MTAxOAojNSAgMHgwMDAwNTY1NDkw MDI3MmI0IGluIHNobV9tcV9zZW5kdiAobXFoPTB4NTY1NDkxMjZhM2EwLCBpb3Y9aW92QGVu dHJ5PTB4N2ZmZmFkYmY5OWMwLCBpb3ZjbnQ9aW92Y250QGVudHJ5PTEsIG5vd2FpdD1ub3dh aXRAZW50cnk9ZmFsc2UsIGZvcmNlX2ZsdXNoPWZvcmNlX2ZsdXNoQGVudHJ5PWZhbHNlKSBh dCBzaG1fbXEuYzo0OTMKIzYgIDB4MDAwMDU2NTQ5MDAyNzRhMSBpbiBzaG1fbXFfc2VuZCAo bXFoPTxvcHRpbWl6ZWQgb3V0PiwgbmJ5dGVzPTxvcHRpbWl6ZWQgb3V0PiwgZGF0YT1kYXRh QGVudHJ5PTB4NTY1NDkxMmIzOTIwLCBub3dhaXQ9bm93YWl0QGVudHJ5PWZhbHNlLCBmb3Jj ZV9mbHVzaD1mb3JjZV9mbHVzaEBlbnRyeT1mYWxzZSkgYXQgc2htX21xLmM6MzM3CiM3ICAw eDAwMDA1NjU0OGZlZWI0YjkgaW4gdHF1ZXVlUmVjZWl2ZVNsb3QgKHNsb3Q9PG9wdGltaXpl ZCBvdXQ+LCBzZWxmPTB4NTY1NDkxMjY5MDk4KSBhdCB0cXVldWUuYzo2MwojOCAgMHgwMDAw NTY1NDhmZWIwZThjIGluIEV4ZWN1dGVQbGFuIChleGVjdXRlX29uY2U9PG9wdGltaXplZCBv dXQ+LCBkZXN0PTB4NTY1NDkxMjY5MDk4LCBkaXJlY3Rpb249PG9wdGltaXplZCBvdXQ+LCBu dW1iZXJUdXBsZXM9MCwgc2VuZFR1cGxlcz10cnVlLCBvcGVyYXRpb249Q01EX1NFTEVDVCwg dXNlX3BhcmFsbGVsX21vZGU9PG9wdGltaXplZCBvdXQ+LCBwbGFuc3RhdGU9MHg1NjU0OTEy YjI3ZDAsIAogICAgZXN0YXRlPTB4NTY1NDkxMmIyNTU4KSBhdCBleGVjTWFpbi5jOjE2NzIK IzkgIHN0YW5kYXJkX0V4ZWN1dG9yUnVuIChxdWVyeURlc2M9MHg1NjU0OTEyNmFiMTgsIGRp cmVjdGlvbj08b3B0aW1pemVkIG91dD4sIGNvdW50PTAsIGV4ZWN1dGVfb25jZT08b3B0aW1p emVkIG91dD4pIGF0IGV4ZWNNYWluLmM6MzU4CiMxMCAweDAwMDA1NjU0OGZlYjUxODcgaW4g UGFyYWxsZWxRdWVyeU1haW4gKHNlZz0weDU2NTQ5MTIxMThkOCwgdG9jPTB4N2ZkMjU0M2Fl MDAwKSBhdCBleGVjUGFyYWxsZWwuYzoxNDcyCiMxMSAweDAwMDA1NjU0OGZkOTgzOWIgaW4g UGFyYWxsZWxXb3JrZXJNYWluIChtYWluX2FyZz08b3B0aW1pemVkIG91dD4pIGF0IHBhcmFs bGVsLmM6MTUyNAojMTIgMHgwMDAwNTY1NDhmZmI1NzRlIGluIEJhY2tncm91bmRXb3JrZXJN YWluIChzdGFydHVwX2RhdGE9PG9wdGltaXplZCBvdXQ+LCBzdGFydHVwX2RhdGFfbGVuPTxv cHRpbWl6ZWQgb3V0PikgYXQgYmd3b3JrZXIuYzo4NDIKIzEzIDB4MDAwMDU2NTQ4ZmZiNzg2 YiBpbiBwb3N0bWFzdGVyX2NoaWxkX2xhdW5jaCAoY2hpbGRfdHlwZT1jaGlsZF90eXBlQGVu dHJ5PUJfQkdfV09SS0VSLCBzdGFydHVwX2RhdGE9c3RhcnR1cF9kYXRhQGVudHJ5PTB4NTY1 NDkxMjBhNDkwICJwYXJhbGxlbCB3b3JrZXIgZm9yIFBJRCAzODk5OTgiLCBzdGFydHVwX2Rh dGFfbGVuPXN0YXJ0dXBfZGF0YV9sZW5AZW50cnk9MTQ3MiwgY2xpZW50X3NvY2s9Y2xpZW50 X3NvY2tAZW50cnk9MHgwKQogICAgYXQgbGF1bmNoX2JhY2tlbmQuYzoyNzQKIzE0IDB4MDAw MDU2NTQ4ZmZiOTNlZSBpbiBkb19zdGFydF9iZ3dvcmtlciAocnc9MHg1NjU0OTEyMGE0OTAp IGF0IHBvc3RtYXN0ZXIuYzozOTE2CiMxNSBtYXliZV9zdGFydF9iZ3dvcmtlcnMgKCkgYXQg cG9zdG1hc3Rlci5jOjQxMjMKIzE2IDB4MDAwMDU2NTQ4ZmZiYTIwNyBpbiBMYXVuY2hNaXNz aW5nQmFja2dyb3VuZFByb2Nlc3NlcyAoKSBhdCBwb3N0bWFzdGVyLmM6MzIzNwojMTcgU2Vy dmVyTG9vcCAoKSBhdCBwb3N0bWFzdGVyLmM6MTY2MwojMTggMHgwMDAwNTY1NDhmZmJjNjEw IGluIFBvc3RtYXN0ZXJNYWluIChhcmdjPWFyZ2NAZW50cnk9MywgYXJndj1hcmd2QGVudHJ5 PTB4NTY1NDkxMWQ4OTEwKSBhdCBwb3N0bWFzdGVyLmM6MTM0NgojMTkgMHgwMDAwNTY1NDhm ZDEyNDEzIGluIG1haW4gKGFyZ2M9MywgYXJndj0weDU2NTQ5MTFkODkxMCkgYXQgbWFpbi5j OjE5Nwo= --------------0bJFuAuL0RjHt5QphYHtEv33 Content-Type: application/x-shellscript; name="run.sh" Content-Disposition: attachment; filename="run.sh" Content-Transfer-Encoding: base64 IyEvdXNyL2Jpbi9iYXNoIC14CgojIGV4aXQgb24gZXJyb3IKc2V0IC1lCgpEQVRBRElSPS9t bnQvcGdkYXRhL2RhdGEtc2tpcC1zY2FuCgojIG51bWJlciBvZiByb3dzIHRvIGdlbmVyYXRl ClJPV1M9IjEwMDAwMDAgMTAwMDAwMDAiCgojIG51bWJlciBvZiBkaXN0aW5jdCB2YWx1ZXMK RElTVElOQ1Q9IjEwMCAxMDAwIDEwMDAwIDEwMDAwMCAxMDAwMDAwIDEwMDAwMDAwIgoKIyBo b3cgc2tld2VkIHNob3VsZCB0aGUgZGF0YXNldCBiZT8KIyAxIG1lYW5zIG5vIHNrZXcgKHVu aWZvcm0gZGlzdHJpYnV0aW9uKSwgPjEgbWVhbnMgc2tldwpTS0VXPSIxIDIgNCA4IgoKIyBu dW1iZXIgb2YgcmFuZG9tIHF1ZXJpZXMgdG8gcnVuIGZvciBlYWNoIGNvbWJpbmF0aW9uIG9m IHBhcmFtZXRlcnMKUVVFUklFUz0xMAoKIyBudW1iZXIgb2YgcnVucyBmb3IgZWFjaCBxdWVy eQpSVU5TPTMKCiMgbnVtYmVyIG9mIHZhbHVlcyBpbiB0aGUgSU4oKSBjbGF1c2UKVkFMVUVT PSIxIDIgNCA4IDE2IDMyIDY0IDEyOCAyNTYgNTEyIDEwMjQiCgpSRVNVTFRTPXJlc3VsdHMt JChkYXRlICslcykuY3N2CgojIHNpbXBsZSBkZXRlcm1pbmlzdGljIHBzZXVkb3JhbmRvbSBn ZW5lcmF0b3IgLSBzZWVkIGFuZCBtYXggYXJlIGVub3VnaAojIHRvIGZ1bGx5IGRldGVybWlu ZSB0aGUgcmVzdWx0IGZvciBhIHBhcnRpY3VsYXIgdmFsdWUKZnVuY3Rpb24gcHJuZygpIHsK CXNlZWQ9JDEKCW1heD0kMgoJdmFsdWU9JDMKCgllY2hvICQoKChzZWVkICsgNzg2NDMzICog dmFsdWUpICUgbWF4KSkKfQoKU0VRPTAKCmZvciByIGluICRST1dTOyBkbwoKCWZvciBkIGlu ICRESVNUSU5DVDsgZG8KCgkJIyB0b28gbWFueSBkaXN0aW5jdCB2YWx1ZXMgKG1vcmUgdGhh biByb3dzKQoJCWlmIFtbICRkIC1ndCAkciBdXTsgdGhlbgoJCQljb250aW51ZQoJCWZpCgoJ CWZvciBzIGluICRTS0VXOyBkbwoKCQkJZWNobyAiPT09PT09PT09PSByb3dzICRyIGRpc3Rp bmN0ICRkIHNrZXcgJHMgPT09PT09PT09PSIgPj4gZGVidWcubG9nIDI+JjEKCgkJCXRhYmxl PSJ0XyRyXyRkXyRzIgoKCQkJYz0kKHBzcWwgdGVzdCAtdCAtQSAtYyAic2VsZWN0IGNvdW50 KCopIGZyb20gcGdfY2xhc3Mgd2hlcmUgcmVsbmFtZSA9ICckdGFibGUnIikKCgkJCWlmIFsg IiRjIiA9PSAiMCIgXTsgdGhlbgoJCQkJcHNxbCB0ZXN0IC1jICJjcmVhdGUgdGFibGUgJHRh YmxlIChpZCBiaWdpbnQsIHZhbCB0ZXh0KSIgPj4gZGVidWcubG9nIDI+JjEKCQkJCXBzcWwg dGVzdCAtYyAiaW5zZXJ0IGludG8gJHRhYmxlIHNlbGVjdCBwb3cocmFuZG9tKCksICRzKSAq ICRkLCBtZDUoaTo6dGV4dCkgZnJvbSBnZW5lcmF0ZV9zZXJpZXMoMSwkcikgcyhpKSIgPj4g ZGVidWcubG9nIDI+JjEKCQkJCXBzcWwgdGVzdCAtYyAiY3JlYXRlIGluZGV4IG9uICR0YWJs ZSAoaWQpIiA+PiBkZWJ1Zy5sb2cgMj4mMQoJCQkJcHNxbCB0ZXN0IC1jICJ2YWN1dW0gYW5h bHl6ZSIgPj4gZGVidWcubG9nIDI+JjEKCQkJCXBzcWwgdGVzdCAtYyAiY2hlY2twb2ludCIg Pj4gZGVidWcubG9nIDI+JjEKCQkJZmkKCgkJCWZvciB2IGluICRWQUxVRVM7IGRvCgoJCQkJ IyB0b28gbWFueSB2YWx1ZXMgKG1vcmUgdGhhbiBkaXN0aW5jdCB2YWx1ZXMpCgkJCQlpZiBb WyAkdiAtZ3QgJGQgXV07IHRoZW4KCQkJCQljb250aW51ZQoJCQkJZmkKCgkJCQlmb3IgcSBp biAkKHNlcSAxICRRVUVSSUVTKTsgZG8KCgoJCQkJCSMgbWF4IHBhcmFsbGVsIHdvcmtlcnMK CQkJCQlmb3IgdyBpbiAwIDQ7IGRvCgoJCQkJCQkjIHNlZWQgZm9yIHRoaXMgcGFydGljdWxh ciBjb21iaW5hdGlvbiBvZiBwYXJhbWV0ZXJzCgkJCQkJCXNlZWQ9JCgoKDM4OSAqIHIpICsg KDI0NTkzICogZCkgKyAocyAqIDc2OSkgKyAodiAqIDMwNzkpICsgKHEgKiA5ODMxNykgKyAo dyAqIDE1NDMpKSkKCgkJCQkJCSMgZ2VuZXJhdGUgdGhlIHJpZ2h0IG51bWJlciBvZiByYW5k b20gdmFsdWVzIGZvciB0aGUgSU4gY2xhdXNlCgkJCQkJCXZhbHM9IiIKCQkJCQkJZm9yIGkg aW4gJChzZXEgMSAkdik7IGRvCgoJCQkJCQkJaWYgWyAiJHZhbHMiICE9ICIiIF07IHRoZW4K CQkJCQkJCQl2YWxzPSIkdmFscywiCgkJCQkJCQlmaQoKCQkJCQkJCXg9JChwcm5nICRzZWVk ICRkICRpKQoKCQkJCQkJCXZhbHM9IiR2YWxzICR4IgoJCQkJCQlkb25lCgoJCQkJCQlmb3Ig eiBpbiAkKHNlcSAxICRSVU5TKTsgZG8KCgkJCQkJCQkjIGluZGV4IHNjYW4KCQkJCQkJCXNx bD0ic2VsZWN0ICogZnJvbSAkdGFibGUgd2hlcmUgaWQgaW4gKCR2YWxzKSIKCgkJCQkJCQlw c3FsIHRlc3QgPiBleHBsYWluLmxvZyA8PEVPRgotLSB0byBtYWtlIHBhcmFsbGVsIHF1ZXJp ZXMgbGlrZWx5IChpZiBlbmFibGVkKQpTRVQgcGFyYWxsZWxfc2V0dXBfY29zdCA9IDA7ClNF VCBwYXJhbGxlbF90dXBsZV9jb3N0ID0gMDsKU0VUIG1pbl9wYXJhbGxlbF90YWJsZV9zY2Fu X3NpemUgPSAwOwpTRVQgbWluX3BhcmFsbGVsX2luZGV4X3NjYW5fc2l6ZSA9IDA7Ci0tIGZv cmNlIGluZGV4IHNjYW4KU0VUIG1heF9wYXJhbGxlbF93b3JrZXJzX3Blcl9nYXRoZXIgPSAk dzsKU0VUIGVuYWJsZV9iaXRtYXBzY2FuID0gb2ZmOwpTRVQgZW5hYmxlX3NlcXNjYW4gPSBv ZmY7CmV4cGxhaW4gJHNxbDsKRU9GCgoJCQkJCQkJIyBjb3VudCBkaWZmZXJlbnQgcGxhbiB0 eXBlcwoJCQkJCQkJaXM9JChncmVwICdJbmRleCBTY2FuJyBleHBsYWluLmxvZyB8IHdjIC1s KQoJCQkJCQkJaW9zPSQoZ3JlcCAnSW5kZXggT25seSBTY2FuJyBleHBsYWluLmxvZyB8IHdj IC1sKQoJCQkJCQkJZ2F0aGVyPSQoZ3JlcCAnR2F0aGVyJyBleHBsYWluLmxvZyB8IHdjIC1s KQoKCQkJCQkJCWVjaG8gIj09PT09ICRzcWwgcnVuICRyIGluZGV4LXNjYW4gPT09PT0iID4+ IGV4cGxhaW5zLmxvZyAyPiYxCgkJCQkJCQljYXQgZXhwbGFpbi5sb2cgID4+IGV4cGxhaW5z LmxvZyAyPiYxCgoJCQkJCQkJIyBoYXNoIG9mIHJlc3VsdHMKCgkJCQkJCQlwc3FsIC10IC1B IHRlc3QgPiBvdXRwdXQgPDxFT0YKLS0gdG8gbWFrZSBwYXJhbGxlbCBxdWVyaWVzIGxpa2Vs eSAoaWYgZW5hYmxlZCkKU0VUIHBhcmFsbGVsX3NldHVwX2Nvc3QgPSAwOwpTRVQgcGFyYWxs ZWxfdHVwbGVfY29zdCA9IDA7ClNFVCBtaW5fcGFyYWxsZWxfdGFibGVfc2Nhbl9zaXplID0g MDsKU0VUIG1pbl9wYXJhbGxlbF9pbmRleF9zY2FuX3NpemUgPSAwOwotLSBmb3JjZSBpbmRl eCBzY2FuClNFVCBtYXhfcGFyYWxsZWxfd29ya2Vyc19wZXJfZ2F0aGVyID0gJHc7ClNFVCBl bmFibGVfYml0bWFwc2NhbiA9IG9mZjsKU0VUIGVuYWJsZV9zZXFzY2FuID0gb2ZmOwokc3Fs OwpFT0YKCgkJCQkJCQloPSQobWQ1c3VtIG91dHB1dCB8IGF3ayAne3ByaW50ICQxfScpCgoK CQkJCQkJCSMgdW5jYWNoZWQKCgkJCQkJCQlwZ19jdGwgLUQgJERBVEFESVIgLWwgcGcubG9n IHJlc3RhcnQgPj4gZGVidWcubG9nIDI+JjEKCQkJCQkJCXN1ZG8gLi9kcm9wLWNhY2hlcy5z aCA+PiBkZWJ1Zy5sb2cgMj4mMQoKCQkJCQkJCXBzcWwgdGVzdCA+IGV4cGxhaW4tYW5hbHl6 ZS5sb2cgPDxFT0YKXHRpbWluZyBvbgotLSB0byBtYWtlIHBhcmFsbGVsIHF1ZXJpZXMgbGlr ZWx5IChpZiBlbmFibGVkKQpTRVQgcGFyYWxsZWxfc2V0dXBfY29zdCA9IDA7ClNFVCBwYXJh bGxlbF90dXBsZV9jb3N0ID0gMDsKU0VUIG1pbl9wYXJhbGxlbF90YWJsZV9zY2FuX3NpemUg PSAwOwpTRVQgbWluX3BhcmFsbGVsX2luZGV4X3NjYW5fc2l6ZSA9IDA7Ci0tIGZvcmNlIGlu ZGV4IHNjYW4KU0VUIG1heF9wYXJhbGxlbF93b3JrZXJzX3Blcl9nYXRoZXIgPSAkdzsKU0VU IGVuYWJsZV9iaXRtYXBzY2FuID0gb2ZmOwpTRVQgZW5hYmxlX3NlcXNjYW4gPSBvZmY7CmV4 cGxhaW4gKGFuYWx5emUsIHRpbWluZyBvZmYpICRzcWw7CkVPRgoKCQkJCQkJCXdvcmtlcnM9 JChncmVwICdXb3JrZXJzIExhdW5jaGVkJyBleHBsYWluLWFuYWx5emUubG9nIHwgYXdrICd7 cHJpbnQgJDN9JykKCQkJCQkJCWlmIFsgIiR3b3JrZXJzIiA9PSAiIiBdOyB0aGVuIHdvcmtl cnM9IjAiOyBmaQoKCQkJCQkJCWVjaG8gIj09PT09ICRzcWwgcnVuICRyIGluZGV4LXNjYW4g bm90LW5jYWNoZWQgPT09PT0iID4+IGV4cGxhaW5zLWFuYWx5emUubG9nIDI+JjEKCQkJCQkJ CWNhdCBleHBsYWluLWFuYWx5emUubG9nICA+PiBleHBsYWlucy1hbmFseXplLmxvZyAyPiYx CgoJCQkJCQkJdD0kKGdyZXAgJ15UaW1lOicgZXhwbGFpbi1hbmFseXplLmxvZyB8IGF3ayAn e3ByaW50ICQyfScgfCB0YWlsIC1uIDEpCgoJCQkJCQkJU0VRPSQoKFNFUSsxKSkKCQkJCQkJ CWVjaG8gJFNFUSAkKGRhdGUgKyVzKSAkciAkZCAkcyAkdiAkcSAkc2VlZCAkdyAkeiBpbmRl eC1zY2FuIG5vdC1jYWNoZWQgJGggJHQgJGlzICRpb3MgJGdhdGhlciAkd29ya2VycyA+PiAk UkVTVUxUUwoKCQkJCQkJCSMgY2FjaGVkCgoJCQkJCQkJcHNxbCB0ZXN0ID4gZXhwbGFpbi1h bmFseXplLmxvZyA8PEVPRgpcdGltaW5nIG9uCi0tIHRvIG1ha2UgcGFyYWxsZWwgcXVlcmll cyBsaWtlbHkgKGlmIGVuYWJsZWQpClNFVCBwYXJhbGxlbF9zZXR1cF9jb3N0ID0gMDsKU0VU IHBhcmFsbGVsX3R1cGxlX2Nvc3QgPSAwOwpTRVQgbWluX3BhcmFsbGVsX3RhYmxlX3NjYW5f c2l6ZSA9IDA7ClNFVCBtaW5fcGFyYWxsZWxfaW5kZXhfc2Nhbl9zaXplID0gMDsKLS0gZm9y Y2UgaW5kZXggc2NhbgpTRVQgbWF4X3BhcmFsbGVsX3dvcmtlcnNfcGVyX2dhdGhlciA9ICR3 OwpTRVQgZW5hYmxlX2JpdG1hcHNjYW4gPSBvZmY7ClNFVCBlbmFibGVfc2Vxc2NhbiA9IG9m ZjsKZXhwbGFpbiAoYW5hbHl6ZSwgdGltaW5nIG9mZikgJHNxbDsKRU9GCgoJCQkJCQkJd29y a2Vycz0kKGdyZXAgJ1dvcmtlcnMgTGF1bmNoZWQnIGV4cGxhaW4tYW5hbHl6ZS5sb2cgfCBh d2sgJ3twcmludCAkM30nKQoJCQkJCQkJaWYgWyAiJHdvcmtlcnMiID09ICIiIF07IHRoZW4g d29ya2Vycz0iMCI7IGZpCgoJCQkJCQkJZWNobyAiPT09PT0gJHNxbCBydW4gJHIgaW5kZXgt c2NhbiBjYWNoZWQgPT09PT0iID4+IGV4cGxhaW5zLWFuYWx5emUubG9nIDI+JjEKCQkJCQkJ CWNhdCBleHBsYWluLWFuYWx5emUubG9nICA+PiBleHBsYWlucy1hbmFseXplLmxvZyAyPiYx CgoJCQkJCQkJdD0kKGdyZXAgJ15UaW1lOicgZXhwbGFpbi1hbmFseXplLmxvZyB8IGF3ayAn e3ByaW50ICQyfScgfCB0YWlsIC1uIDEpCgoJCQkJCQkJU0VRPSQoKFNFUSsxKSkKCQkJCQkJ CWVjaG8gJFNFUSAkKGRhdGUgKyVzKSAkciAkZCAkcyAkdiAkcSAkc2VlZCAkdyAkeiBpbmRl eC1zY2FuIGNhY2hlZCAkaCAkdCAkaXMgJGlvcyAkZ2F0aGVyICR3b3JrZXJzID4+ICRSRVNV TFRTCgoJCQkJCQkJIyBpbmRleC1vbmx5IHNjYW4KCgkJCQkJCQlzcWw9InNlbGVjdCBpZCBm cm9tICR0YWJsZSB3aGVyZSBpZCBpbiAoJHZhbHMpIgoKCQkJCQkJCXBzcWwgdGVzdCA+IGV4 cGxhaW4ubG9nIDw8RU9GCi0tIHRvIG1ha2UgcGFyYWxsZWwgcXVlcmllcyBsaWtlbHkgKGlm IGVuYWJsZWQpClNFVCBwYXJhbGxlbF9zZXR1cF9jb3N0ID0gMDsKU0VUIHBhcmFsbGVsX3R1 cGxlX2Nvc3QgPSAwOwpTRVQgbWluX3BhcmFsbGVsX3RhYmxlX3NjYW5fc2l6ZSA9IDA7ClNF VCBtaW5fcGFyYWxsZWxfaW5kZXhfc2Nhbl9zaXplID0gMDsKLS0gZm9yY2UgaW5kZXggc2Nh bgpTRVQgbWF4X3BhcmFsbGVsX3dvcmtlcnNfcGVyX2dhdGhlciA9ICR3OwpTRVQgZW5hYmxl X2JpdG1hcHNjYW4gPSBvZmY7ClNFVCBlbmFibGVfc2Vxc2NhbiA9IG9mZjsKZXhwbGFpbiAk c3FsOwpFT0YKCgkJCQkJCQkjIGNvdW50IGRpZmZlcmVudCBwbGFuIHR5cGVzCgkJCQkJCQlp cz0kKGdyZXAgJ0luZGV4IFNjYW4nIGV4cGxhaW4ubG9nIHwgd2MgLWwpCgkJCQkJCQlpb3M9 JChncmVwICdJbmRleCBPbmx5IFNjYW4nIGV4cGxhaW4ubG9nIHwgd2MgLWwpCgkJCQkJCQln YXRoZXI9JChncmVwICdHYXRoZXInIGV4cGxhaW4ubG9nIHwgd2MgLWwpCgoJCQkJCQkJIyBo YXNoIG9mIHJlc3VsdHMKCgkJCQkJCQlwc3FsIC10IC1BIHRlc3QgPiBvdXRwdXQgPDxFT0YK LS0gdG8gbWFrZSBwYXJhbGxlbCBxdWVyaWVzIGxpa2VseSAoaWYgZW5hYmxlZCkKU0VUIHBh cmFsbGVsX3NldHVwX2Nvc3QgPSAwOwpTRVQgcGFyYWxsZWxfdHVwbGVfY29zdCA9IDA7ClNF VCBtaW5fcGFyYWxsZWxfdGFibGVfc2Nhbl9zaXplID0gMDsKU0VUIG1pbl9wYXJhbGxlbF9p bmRleF9zY2FuX3NpemUgPSAwOwotLSBmb3JjZSBpbmRleCBzY2FuClNFVCBtYXhfcGFyYWxs ZWxfd29ya2Vyc19wZXJfZ2F0aGVyID0gJHc7ClNFVCBlbmFibGVfYml0bWFwc2NhbiA9IG9m ZjsKU0VUIGVuYWJsZV9zZXFzY2FuID0gb2ZmOwokc3FsOwpFT0YKCgkJCQkJCQloPSQobWQ1 c3VtIG91dHB1dCB8IGF3ayAne3ByaW50ICQxfScpCgoJCQkJCQkJZWNobyAiPT09PT0gJHNx bCBydW4gJHIgaW5kZXgtb25seS1zY2FuID09PT09IiA+PiBleHBsYWlucy5sb2cgMj4mMQoJ CQkJCQkJY2F0IGV4cGxhaW4ubG9nICA+PiBleHBsYWlucy5sb2cgMj4mMQoKCQkJCQkJCSMg dW5jYWNoZWQKCgkJCQkJCQlwZ19jdGwgLUQgJERBVEFESVIgLWwgcGcubG9nIHJlc3RhcnQg Pj4gZGVidWcubG9nIDI+JjEKCQkJCQkJCXN1ZG8gLi9kcm9wLWNhY2hlcy5zaCA+PiBkZWJ1 Zy5sb2cgMj4mMQoKCQkJCQkJCXBzcWwgdGVzdCA+IGV4cGxhaW4tYW5hbHl6ZS5sb2cgPDxF T0YKXHRpbWluZyBvbgotLSB0byBtYWtlIHBhcmFsbGVsIHF1ZXJpZXMgbGlrZWx5IChpZiBl bmFibGVkKQpTRVQgcGFyYWxsZWxfc2V0dXBfY29zdCA9IDA7ClNFVCBwYXJhbGxlbF90dXBs ZV9jb3N0ID0gMDsKU0VUIG1pbl9wYXJhbGxlbF90YWJsZV9zY2FuX3NpemUgPSAwOwpTRVQg bWluX3BhcmFsbGVsX2luZGV4X3NjYW5fc2l6ZSA9IDA7Ci0tIGZvcmNlIGluZGV4IHNjYW4K U0VUIG1heF9wYXJhbGxlbF93b3JrZXJzX3Blcl9nYXRoZXIgPSAkdzsKU0VUIGVuYWJsZV9i aXRtYXBzY2FuID0gb2ZmOwpTRVQgZW5hYmxlX3NlcXNjYW4gPSBvZmY7CmV4cGxhaW4gKGFu YWx5emUsIHRpbWluZyBvZmYpICRzcWw7CkVPRgoKCQkJCQkJCXdvcmtlcnM9JChncmVwICdX b3JrZXJzIExhdW5jaGVkJyBleHBsYWluLWFuYWx5emUubG9nIHwgYXdrICd7cHJpbnQgJDN9 JykKCQkJCQkJCWlmIFsgIiR3b3JrZXJzIiA9PSAiIiBdOyB0aGVuIHdvcmtlcnM9IjAiOyBm aQoKCQkJCQkJCWVjaG8gIj09PT09ICRzcWwgcnVuICRyIGluZGV4LW9ubHktc2NhbiBub3Qt Y2FjaGVkID09PT09IiA+PiBleHBsYWlucy1hbmFseXplLmxvZyAyPiYxCgkJCQkJCQljYXQg ZXhwbGFpbi1hbmFseXplLmxvZyAgPj4gZXhwbGFpbnMtYW5hbHl6ZS5sb2cgMj4mMQoKCQkJ CQkJCXQ9JChncmVwICdeVGltZTonIGV4cGxhaW4tYW5hbHl6ZS5sb2cgfCBhd2sgJ3twcmlu dCAkMn0nIHwgdGFpbCAtbiAxKQoKCQkJCQkJCVNFUT0kKChTRVErMSkpCgkJCQkJCQllY2hv ICRTRVEgJChkYXRlICslcykgJHIgJGQgJHMgJHYgJHEgJHNlZWQgJHcgJHogaW5kZXgtb25s eS1zY2FuIG5vdC1jYWNoZWQgJGggJHQgJGlzICRpb3MgJGdhdGhlciAkd29ya2VycyA+PiAk UkVTVUxUUwoKCQkJCQkJCSMgY2FjaGVkCgoJCQkJCQkJcGdfY3RsIC1EICREQVRBRElSIC1s IHBnLmxvZyByZXN0YXJ0ID4+IGRlYnVnLmxvZyAyPiYxCgkJCQkJCQlzdWRvIC4vZHJvcC1j YWNoZXMuc2ggPj4gZGVidWcubG9nIDI+JjEKCgkJCQkJCQlwc3FsIHRlc3QgPiBleHBsYWlu LWFuYWx5emUubG9nIDw8RU9GClx0aW1pbmcgb24KLS0gdG8gbWFrZSBwYXJhbGxlbCBxdWVy aWVzIGxpa2VseSAoaWYgZW5hYmxlZCkKU0VUIHBhcmFsbGVsX3NldHVwX2Nvc3QgPSAwOwpT RVQgcGFyYWxsZWxfdHVwbGVfY29zdCA9IDA7ClNFVCBtaW5fcGFyYWxsZWxfdGFibGVfc2Nh bl9zaXplID0gMDsKU0VUIG1pbl9wYXJhbGxlbF9pbmRleF9zY2FuX3NpemUgPSAwOwotLSBm b3JjZSBpbmRleCBzY2FuClNFVCBtYXhfcGFyYWxsZWxfd29ya2Vyc19wZXJfZ2F0aGVyID0g JHc7ClNFVCBlbmFibGVfYml0bWFwc2NhbiA9IG9mZjsKU0VUIGVuYWJsZV9zZXFzY2FuID0g b2ZmOwpleHBsYWluIChhbmFseXplLCB0aW1pbmcgb2ZmKSAkc3FsOwpFT0YKCgkJCQkJCQl3 b3JrZXJzPSQoZ3JlcCAnV29ya2VycyBMYXVuY2hlZCcgZXhwbGFpbi1hbmFseXplLmxvZyB8 IGF3ayAne3ByaW50ICQzfScpCgkJCQkJCQlpZiBbICIkd29ya2VycyIgPT0gIiIgXTsgdGhl biB3b3JrZXJzPSIwIjsgZmkKCgkJCQkJCQllY2hvICI9PT09PSAkc3FsIHJ1biAkciBpbmRl eC1vbmx5LXNjYW4gY2FjaGVkID09PT09IiA+PiBleHBsYWlucy1hbmFseXplLmxvZyAyPiYx CgkJCQkJCQljYXQgZXhwbGFpbi1hbmFseXplLmxvZyAgPj4gZXhwbGFpbnMtYW5hbHl6ZS5s b2cgMj4mMQoKCQkJCQkJCXQ9JChncmVwICdeVGltZTonIGV4cGxhaW4tYW5hbHl6ZS5sb2cg fCBhd2sgJ3twcmludCAkMn0nIHwgdGFpbCAtbiAxKQoKCQkJCQkJCVNFUT0kKChTRVErMSkp CgkJCQkJCQllY2hvICRTRVEgJChkYXRlICslcykgJHIgJGQgJHMgJHYgJHEgJHNlZWQgJHcg JHogaW5kZXgtb25seS1zY2FuIGNhY2hlZCAkaCAkdCAkaXMgJGlvcyAkZ2F0aGVyICR3b3Jr ZXJzID4+ICRSRVNVTFRTCgoJCQkJCQlkb25lCgoJCQkJCWRvbmUKCgkJCQlkb25lCgoJCQlk b25lCgoJCWRvbmUKCglkb25lCgpkb25lCg== --------------0bJFuAuL0RjHt5QphYHtEv33--