From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 123412 invoked by alias); 20 Jul 2015 07:53:26 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 123398 invoked by uid 89); 20 Jul 2015 07:53:25 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=1.1 required=5.0 tests=AWL,BAYES_50,KAM_LAZY_DOMAIN_SECURITY,MIME_BASE64_BLANKS,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS autolearn=no version=3.3.2 X-HELO: na01-by2-obe.outbound.protection.outlook.com Received: from mail-by2on0117.outbound.protection.outlook.com (HELO na01-by2-obe.outbound.protection.outlook.com) (207.46.100.117) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA256 encrypted) ESMTPS; Mon, 20 Jul 2015 07:53:23 +0000 Received: from BY2PR02CA0041.namprd02.prod.outlook.com (10.141.216.31) by BY1PR02MB1148.namprd02.prod.outlook.com (10.162.108.15) with Microsoft SMTP Server (TLS) id 15.1.219.17; Mon, 20 Jul 2015 07:53:20 +0000 Received: from BY2FFO11FD053.protection.gbl (2a01:111:f400:7c0c::190) by BY2PR02CA0041.outlook.office365.com (2a01:111:e400:2c40::31) with Microsoft SMTP Server (TLS) id 15.1.219.17 via Frontend Transport; Mon, 20 Jul 2015 07:53:14 +0000 Authentication-Results: spf=none (sender IP is 165.204.84.222) smtp.mailfrom=amd.com; arm.com; dkim=none (message not signed) header.d=none; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) Received: from atltwp02.amd.com (165.204.84.222) by BY2FFO11FD053.mail.protection.outlook.com (10.1.15.190) with Microsoft SMTP Server id 15.1.213.8 via Frontend Transport; Mon, 20 Jul 2015 07:53:13 +0000 X-M-MSG: Received: from satlvexedge02.amd.com (satlvexedge02.amd.com [10.177.96.29]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by atltwp02.amd.com (Axway MailGate 5.3.1) with ESMTPS id 21F91D1602C; Mon, 20 Jul 2015 03:53:10 -0400 (EDT) Received: from SATLEXDAG04.amd.com (10.181.40.9) by SATLVEXEDGE02.amd.com (10.177.96.29) with Microsoft SMTP Server (TLS) id 14.3.195.1; Mon, 20 Jul 2015 02:53:22 -0500 Received: from SATLEXDAG06.amd.com ([fe80::1557:d877:7f65:c17]) by satlexdag04.amd.com ([fe80::75a7:6e1c:3fca:9723%23]) with mapi id 14.03.0195.001; Mon, 20 Jul 2015 03:53:10 -0400 From: "Kumar, Venkataramanan" To: Evandro Menezes , "pinskia@gmail.com" , "'Dr. Philipp Tomsich'" CC: 'James Greenhalgh' , 'Benedikt Huber' , "gcc-patches@gcc.gnu.org" , 'Marcus Shawcroft' , 'Ramana Radhakrishnan' , 'Richard Earnshaw' Subject: RE: [PATCH] [aarch64] Implemented reciprocal square root (rsqrt) estimation in -ffast-math Date: Mon, 20 Jul 2015 09:46:00 -0000 Message-ID: <7794A52CE4D579448B959EED7DD0A4723DD1E464@satlexdag06.amd.com> References: <1434629045-24650-1-git-send-email-benedikt.huber@theobroma-systems.com> <8B73CF78-11D4-4963-A60A-E1C2A3B219E2@gmail.com> <7794A52CE4D579448B959EED7DD0A4723DD10430@satlexdag06.amd.com> <1E4680F0-02C8-4999-958C-8B531BC850DA@theobroma-systems.com> <7794A52CE4D579448B959EED7DD0A4723DD104AF@satlexdag06.amd.com> <08D3EBD5-B67B-4D97-9940-3CAE6D020DC6@gmail.com> <7794A52CE4D579448B959EED7DD0A4723DD109D3@satlexdag06.amd.com> <1FEA8C0A-15E0-4309-B10D-B45032A68306@theobroma-systems.com> <7794A52CE4D579448B959EED7DD0A4723DD10A1C@satlexdag06.amd.com> <20150629113635.GA14400@arm.com> <00DB569E-D1C5-4CC5-AA2A-7572DCFEDB11@theobroma-systems.com> <326A6111-183B-4F72-BEF9-4FE1AA708DE4@gmail.com> <7794A52CE4D579448B959EED7DD0A4723DD10BF7@satlexdag06.amd.com> <07ef01d0be82$7593f0c0$60bbd240$@samsung.com> In-Reply-To: <07ef01d0be82$7593f0c0$60bbd240$@samsung.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11FD053;1:KegrdmqPYQIddt8MboP0paEDkwGvAeRLWreUr3aZBiIaEjlO5s9CnuFwZOB7KeH2K198CbjrnQaQIoRahel37yNxaLxjcfprbZfdrkv2MCKthgsaZ3pYA5QIjWVEgZCXcb2mrc+qVDc+Pfd76KXNcrvVZlrk7wKfJqWw5trbUiGBxb5Doq5tm+GeM+7wmzwUW0DPtDNycJuP8q8MVwUGTKAhSzwW9TJs902u787i94Dn7ThhRmak7VusQbM3GLmtVCoNeGY+s+0jk6B/0oijsmtI3+xZ3JY2y+3iA6zAMWD35XHHVDimfmIn20l95imq9xmcbjPahptRcnOzqVs5pwxDxAfdluzRvCaH2XMqmQcVFdI4/7iu+E3HvChfVnCdjMZPfqm4zQTkjOIR/oPg+jQF/JWIbSIf5vG/wk/65FU= X-Forefront-Antispam-Report: CIP:165.204.84.222;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(428002)(377454003)(189002)(164054003)(199003)(13464003)(24454002)(46102003)(5003600100002)(189998001)(19580395003)(62966003)(5001770100001)(19580405001)(77156002)(87936001)(55846006)(102836002)(5250100002)(2920100001)(2900100001)(15975445007)(2950100001)(86362001)(2656002)(2501003)(106466001)(93886004)(101416001)(47776003)(53416004)(105586002)(23676002)(50466002)(106116001)(50986999)(33656002)(76176999)(92566002)(54356999);DIR:OUT;SFP:1102;SCL:1;SRVR:BY1PR02MB1148;H:atltwp02.amd.com;FPR:;SPF:None;MLV:sfv;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BY1PR02MB1148;2:h+RbaEFjhgW8emzLCNkVV4zowhbmxUVuQcoK2BNzijtdRqJ2wWbV1omcmmyYMqDN;3:5bvhEB7UJckvCIbDuhDnHOHZN/X1UFX4k73vGHMWp+a3VrcUt572KxmsMljuW/qT+OmawAuRx3zGa4HW6Ip0+0BKGHSL2oxT0eEnJaGJtuTWkiVqk7nb1RnKqFoI4TCW91Pq7rQuoa/RnXmQsdMqDWqT0wWOiQCQz8E6VEzlNj2EuFPlNObucZoeKegGnTBQMJ7gD9lo+YJp0lpWCJ204+X2F6h7YpN6he5eN8N0eM/46WPVwqSLvodHfhsa41fT;25:XBeRtmYs2AsZ0re9xwCy5/UnZrqaebc82XwTbXzC3xmyUug2NqE05ZL/YrDRHwYoHOgA2lvj98HaO0n39wmYdiBq4pntBxLNdZw3s0byEm3E28wwNbhq1020GUQ1L6QWlQ14npFpSPwPg40Xv7A5nOcXE9OzEZ+sOn5rg1BsGJXgROqav0SIMZ8cZBeSEMuRk140TnloJ+h5SqomRdFiz0LJoJ3QESyqB8N6JPO8XG+A6CWZZTWUK1gwARXbLMos X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR02MB1148; X-Microsoft-Exchange-Diagnostics: 1;BY1PR02MB1148;20:1QT/uK7V3Ul1AQ8u2e9s3DNJQloAaU6WZRJYDNsodBIsGRtdakyBq+5nDx7df9WKTBncIuISNJhoXRHxG/62AfldciNUvwWHvd/ZLFESY+ZcQCmdqiIYcBAA1sMxNLz6SeMMtcoxIiE8b58QGKKBGcI3y6I7xG6DC4sNXayy4hJbLl4MxgQa+j7gMwLnuZRupCa8CLEIl6PAnBUdB64uF1a3gXtMKJr+fHVylof+NYaDtSVy4J+ZNr9Txqbi9Zzo2YdI7+KvCBiVNjlmgk5iJ/46huuqmMYgPaB1A4Uu1ppTbxyi4Jc0O3XtsYjXu+eNTkmFYu3XhkmZjJILiB4RXH5nEmhklbqxefK0i9DWFS95pjjaaeJfR4XYuxAlE/KzPUM5v/h9+2kavvUJDxuHMZ1RcIxWXrVtyJ5jYmOK1e0lkHcsvR3O27ytDV2mmusXN45Um71hN1WlCgwLcaUN7/jyED4VTyGHUEaNbvMa+pGIMw0LqNWA+Q3O+eIgaTWv;4:jdkeCNJrQRFBYvTE64AGLaqtmjweSelg55ehkh9wU3AbF6j1V2Uq9N0m4KjAhSpXQRa5VOc0DJ64BXtUz/DmZtI7XuckpWXYnfqYEA69eRCKF8NGN+27B3v/oZI0/RaRnmkDafsYZZLqHnu3D8HabGE1PS+sL1vAy9R/T/V3YE8O8KTaYLxyrAFkhiGYZ9/Xfcn/6b8nJrygkpOrNMZjkdXxMzWvh2YgKMFB7LwmWBieKYK2yYQ9/sytIrPxHvG3qVDlgdA9m1FtgdGcAlOWNasMI0TaJfV4wBSBAfv+yX8= BY1PR02MB1148: X-MS-Exchange-Organization-RulesExecuted X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5005006)(3002001);SRVR:BY1PR02MB1148;BCL:0;PCL:0;RULEID:;SRVR:BY1PR02MB1148; X-Forefront-PRVS: 0643BDA83C X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTFQUjAyTUIxMTQ4OzIzOlozOWFGVEhQYXZFZWwrcURYMUJWcEFFazRq?= =?utf-8?B?bzAyaFpaUUFqa1JlWkhCdzQvaGtvMjVTUjN6cUVYWjNhQmRSb0laTmQydDBU?= =?utf-8?B?Q3pZMUY5YW9yY3ZlVlpsb2dHY1VycUw3YlZBMWN6Um9KUzZUcVVMTktlSTAy?= =?utf-8?B?L290TWRodjdIbkh3OFNPWng5RlN4bUhmdC91L241SzhLVmxvenFxUnJITUZM?= =?utf-8?B?TTRMV3doVTFmazZHWUhwNk1QSlN6NXBJU1dUMkIzejJVUmFLaU1WMlJhc0dM?= =?utf-8?B?RUZ3bGNVbWRJcFVtWmkyd3JxWUJETzJERyswRTVzU2Y3R3lXWHdGQWdZK1hK?= =?utf-8?B?RU94RWFCSlloR0xBRXNHYXozYVlDcGR4a2dwR2V4WGlCMGxHajdPT2pWb0N5?= =?utf-8?B?T3BWcncyVllSay9Xek5FNm12UU1RRy9WeHhkeGtJb0EwYk44U2pkczkzZ0Zp?= =?utf-8?B?WFFzKzRPdGxVUWoySnl4dld0Mlo0a1RPQ1h1ZXI1TCtwdCtiWnVvOUticjdF?= =?utf-8?B?KzZxbGlKN0Q4dzU3YmFNVlVjRGFSRjFtWHhwUW9hM1dPQXVYeHhNejRjbDhZ?= =?utf-8?B?ellUMUtuWTUzeFVESkRSVlhsZnUwMnNtY0FjVWk4QklWN29hUlhWSUcwOXhV?= =?utf-8?B?dDgwb1ZhVlNOTnlMem5ZYWFlV3N1TENDT1lIK3ZxU2tFaFRkbkhSZWxBVG90?= =?utf-8?B?aWdZRXEyeUN3T0tOWlhBR2dURk1NZFlqZk9nYTVQbERSZkVQT0cvUExIYTJP?= =?utf-8?B?TTExcVBUTjhoaGd1NkJqeEROakhZUFhxaW5aYldLWTNOQVZrNHg0a2d6SlF6?= =?utf-8?B?UnpFMzhnSzBRTFhGLzVpV2JzSUlUNE5QS2tRbDJJQVNTM0N4VGl0NDdTcWhx?= =?utf-8?B?RjFJY1lZeW5xUVpQS3RnSzVmQndFSzYzY3hrcGpsZUJOcUZBZzJLWnJGK1VL?= =?utf-8?B?NkpPSFhjUGxsRzN4dDVtL01qSWZnNHV2eVM0UkQxclZxZzVValp4WEJ0bHR2?= =?utf-8?B?NEcyOU1IWVozUXJJc0RQMXFLNnlDL0hrbjRlc0JNbXkydkhscC9Ya0xtNW9F?= =?utf-8?B?UDZkcTRMTTBsR1hwMTJjY2VoemJsTXJQaDVEWG5xdG1KZlBVMFJpRmRaN0Mx?= =?utf-8?B?MFdFSEdwQ1huaS9zeDFxTm1TYTVqWkdOZGNnNVVUbXpoRllFSGpIMElMZzNI?= =?utf-8?B?V1NPWWUyWGFmUndFN3YrR3ZOVEtRUlMvRUtKWVp2SlN0Q3FLdU1nejdORFRw?= =?utf-8?B?cjlVMkRCdVY0WjN3NWZ3THZ4UndnbFdUTUlaNHNGMVM3cDQ4VlJKQ3JkR3Zk?= =?utf-8?B?Y005ZlRsSXVqbzFQTHJSS09hZzhlMlNxcUJWajl1c0dDRDF0RWRDcVJ2RW0v?= =?utf-8?B?N2FHZGh4ZFM3ek9rWUQyakV1K25LalhhenpkMDNUdW82YThEcjNPSW12QXRE?= =?utf-8?B?bUF1Qk00WGM3eTlZUjF6NzdSZXB6RFR5TkplcDhPcWtZZnpuT3JmOVVsUEt2?= =?utf-8?B?ZkMrZz09?= X-Microsoft-Exchange-Diagnostics: 1;BY1PR02MB1148;5:DC+pbWgMPLDMds3Fsyqg7pTveMFjxfAGKrb2t6CXloiLh5DX8slsUUmCYeCHSdFpKWBzgkPVO10x96CE0I7rYz4VTsHuNoggGI/8Pby4k8V++xbEb6vOuylW3UCLPb27CphUq9UjynXDfovZKYFzwQ==;24:twFxmFSd0QNP3mUJ8bD1xbQoAnwdueNktB4sXmMWxDCL4kbzxkwjXcUP+QIqyIQJObpVKtuf5oTcHWvw69zLOFIG01clEV7aLGVIYlu8gRU=;20:hXw6nVFYhL3wwfbD86dTum1QaxzTtDrDzUY6bhbsTHQTkoV4sS31gKONwQHJ7YNQEQTsLeEZ+40GuJ+KapEiRQ== X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jul 2015 07:53:13.6149 (UTC) X-MS-Exchange-CrossTenant-Id: fde4dada-be84-483f-92cc-e026cbee8e96 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=fde4dada-be84-483f-92cc-e026cbee8e96;Ip=[165.204.84.222];Helo=[atltwp02.amd.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR02MB1148 X-IsSubscribed: yes X-SW-Source: 2015-07/txt/msg01634.txt.bz2 SGksIA0KDQpJIG1pc3NlZCB5b3VyIGVtYWlsIGFuZCBub3RpY2VkIGl0IHRo aXMgd2Vlay4NCg0KV2hhdCBkb2VzIGNvbHVtbiAyICB0ZXN0cz8gIEFyZSB5 b3UgdHJ5aW5nIHRvIGltcGxlbWVudCBzcXVhcmUgcm9vdHMgIHVzaW5nIHJl Y2lwcm9jYWwgZXN0aW1hdGUgYW5kIHN0ZXA/IA0KDQpCdXQgcmVjaXByb2Nh bCBzcXVhcmUgcm9vdCAgdXNpbmcgcmVjaXByb2NhbCBlc3RpbWF0ZSBhbmQg KDIgZm9yIGZwIDMgZm9yIGRwKSBzdGVwIHNlZW1zICB0byBiZSBiZXR0ZXIg dGhhdCB1c2luZyBmZGl2IGFuZCBmc3FydCBpbiB5b3VyIGNhc2UuICAgDQoN ClJlZ2FyZHMsDQpWZW5rYXQuDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0NCj4gRnJvbTogRXZhbmRybyBNZW5lemVzIFttYWlsdG86ZS5tZW5l emVzQHNhbXN1bmcuY29tXQ0KPiBTZW50OiBXZWRuZXNkYXksIEp1bHkgMTUs IDIwMTUgMzo0NSBBTQ0KPiBUbzogS3VtYXIsIFZlbmthdGFyYW1hbmFuOyBw aW5za2lhQGdtYWlsLmNvbTsgJ0RyLiBQaGlsaXBwIFRvbXNpY2gnDQo+IENj OiAnSmFtZXMgR3JlZW5oYWxnaCc7ICdCZW5lZGlrdCBIdWJlcic7IGdjYy1w YXRjaGVzQGdjYy5nbnUub3JnOyAnTWFyY3VzDQo+IFNoYXdjcm9mdCc7ICdS YW1hbmEgUmFkaGFrcmlzaG5hbic7ICdSaWNoYXJkIEVhcm5zaGF3Jw0KPiBT dWJqZWN0OiBSRTogW1BBVENIXSBbYWFyY2g2NF0gSW1wbGVtZW50ZWQgcmVj aXByb2NhbCBzcXVhcmUgcm9vdCAocnNxcnQpDQo+IGVzdGltYXRpb24gaW4g LWZmYXN0LW1hdGgNCj4gDQo+IEkgcmFuIGEgc2ltcGxlIHRlc3Qgb24gQTU3 IHJldi4gMCwgbG9vcGluZyBhIG1pbGxpb24gdGltZXMgYXJvdW5kIHNxcnR7 LGZ9IGFuZA0KPiB0aGUgcmVzcGVjdGl2ZSBzZXJpZXMgaXRlcmF0aW9ucyB3 aXRoIHRoZSB2YWx1ZXMgaW4gdGhlIHNlcXVlbmNlIDEuLjEwMDAwMDANCj4g YW5kIGdvdCB0aGVzZSByZXN1bHRzOg0KPiANCj4gc3FydCh4KTogICAgICAg IDM2NTkzODQ0L3MgICAgICAxL3NxcnQoeCk6ICAgICAgMTgyODM4NzUvcw0K PiAzIFN0ZXBzOiAgICAgICAgNDc5MjI1NTcvcyAgICAgIDMgU3RlcHM6ICAg ICAgICA0OTAwNTE5NC9zDQo+IA0KPiBzcXJ0Zih4KTogICAgICAgMTQzOTg4 NDgwL3MgICAgIDEvc3FydGYoeCk6ICAgICA2OTUxNjg1Ny9zDQo+IDIgU3Rl cHM6ICAgICAgICA3ODc0MDE1Ny9zICAgICAgMiBTdGVwczogICAgICAgIDgw Mzg1ODUyL3MNCj4gDQo+IEknbSBhIGJpdCBzdXJwcmlzZWQgdGhhdCB0aGUg My1pdGVyYXRpb24gc2VyaWVzIGZvciBEUCBpcyBmYXN0ZXIgdGhhbiBzcXJ0 KCksIGJ1dA0KPiBub3QgdGhhdCBpdCdzIG11Y2ggZmFzdGVyIGZvciB0aGUg cmVjaXByb2NhbCBvZiBzcXJ0KCkuICBBcyBmb3IgU1AsIHRoZSAyLWl0ZXJh dGlvbg0KPiBzZXJpZXMgaXMgZmFzdGVyIG9ubHkgZm9yIHRoZSByZWNpcHJv Y2FsIGZvciBzcXJ0ZigpLg0KPiANCj4gVGhlcmUgbWlnaHQgc3RpbGwgYmUg c29tZSBsZWcgZm9yIHRoaXMgcGF0Y2ggaW4gcmVhbC13b3JsZCBjYXNlcyB3 aGljaCBJJ2QgbGlrZSB0bw0KPiBpbnZlc3RpZ2F0ZS4NCj4gDQo+IC0tDQo+ IEV2YW5kcm8gTWVuZXplcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEF1c3RpbiwgVFgNCj4gDQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQo+ID4gRnJvbTogZ2NjLXBhdGNoZXMtb3duZXJAZ2NjLmdudS5v cmcNCj4gPiBbbWFpbHRvOmdjYy1wYXRjaGVzLW93bmVyQGdjYy5nbnUub3Jn XSBPbiBCZWhhbGYgT2YgS3VtYXIsDQo+ID4gVmVua2F0YXJhbWFuYW4NCj4g PiBTZW50OiBNb25kYXksIEp1bmUgMjksIDIwMTUgMTM6NTANCj4gPiBUbzog cGluc2tpYUBnbWFpbC5jb207IERyLiBQaGlsaXBwIFRvbXNpY2gNCj4gPiBD YzogSmFtZXMgR3JlZW5oYWxnaDsgQmVuZWRpa3QgSHViZXI7IGdjYy1wYXRj aGVzQGdjYy5nbnUub3JnOyBNYXJjdXMNCj4gPiBTaGF3Y3JvZnQ7IFJhbWFu YSBSYWRoYWtyaXNobmFuOyBSaWNoYXJkIEVhcm5zaGF3DQo+ID4gU3ViamVj dDogUkU6IFtQQVRDSF0gW2FhcmNoNjRdIEltcGxlbWVudGVkIHJlY2lwcm9j YWwgc3F1YXJlIHJvb3QNCj4gPiAocnNxcnQpIGVzdGltYXRpb24gaW4gLWZm YXN0LW1hdGgNCj4gPg0KPiA+IEhpLA0KPiA+DQo+ID4gPiAtLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogcGluc2tpYUBnbWFpbC5j b20gW21haWx0bzpwaW5za2lhQGdtYWlsLmNvbV0NCj4gPiA+IFNlbnQ6IE1v bmRheSwgSnVuZSAyOSwgMjAxNSAxMDoyMyBQTQ0KPiA+ID4gVG86IERyLiBQ aGlsaXBwIFRvbXNpY2gNCj4gPiA+IENjOiBKYW1lcyBHcmVlbmhhbGdoOyBL dW1hciwgVmVua2F0YXJhbWFuYW47IEJlbmVkaWt0IEh1YmVyOyBnY2MtDQo+ ID4gPiBwYXRjaGVzQGdjYy5nbnUub3JnOyBNYXJjdXMgU2hhd2Nyb2Z0OyBS YW1hbmEgUmFkaGFrcmlzaG5hbjsNCj4gUmljaGFyZA0KPiA+ID4gRWFybnNo YXcNCj4gPiA+IFN1YmplY3Q6IFJlOiBbUEFUQ0hdIFthYXJjaDY0XSBJbXBs ZW1lbnRlZCByZWNpcHJvY2FsIHNxdWFyZSByb290DQo+ID4gPiAocnNxcnQp IGVzdGltYXRpb24gaW4gLWZmYXN0LW1hdGgNCj4gPiA+DQo+ID4gPg0KPiA+ ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4gPiBPbiBKdW4gMjksIDIwMTUsIGF0 IDQ6NDQgQU0sIERyLiBQaGlsaXBwIFRvbXNpY2gNCj4gPiA+IDxwaGlsaXBw LnRvbXNpY2hAdGhlb2Jyb21hLXN5c3RlbXMuY29tPiB3cm90ZToNCj4gPiA+ ID4NCj4gPiA+ID4gSmFtZXMsDQo+ID4gPiA+DQo+ID4gPiA+PiBPbiAyOSBK dW4gMjAxNSwgYXQgMTM6MzYsIEphbWVzIEdyZWVuaGFsZ2gNCj4gPiA+IDxq YW1lcy5ncmVlbmhhbGdoQGFybS5jb20+IHdyb3RlOg0KPiA+ID4gPj4NCj4g PiA+ID4+PiBPbiBNb24sIEp1biAyOSwgMjAxNSBhdCAxMDoxODoyM0FNICsw MTAwLCBLdW1hciwgVmVua2F0YXJhbWFuYW4NCj4gPiA+IHdyb3RlOg0KPiA+ ID4gPj4+DQo+ID4gPiA+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQo+ID4gPiA+Pj4+IEZyb206IERyLiBQaGlsaXBwIFRvbXNpY2gNCj4gPiA+ ID4+Pj4gW21haWx0bzpwaGlsaXBwLnRvbXNpY2hAdGhlb2Jyb21hLXN5c3Rl bXMuY29tXQ0KPiA+ID4gPj4+PiBTZW50OiBNb25kYXksIEp1bmUgMjksIDIw MTUgMjoxNyBQTQ0KPiA+ID4gPj4+PiBUbzogS3VtYXIsIFZlbmthdGFyYW1h bmFuDQo+ID4gPiA+Pj4+IENjOiBwaW5za2lhQGdtYWlsLmNvbTsgQmVuZWRp a3QgSHViZXI7IGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnDQo+ID4gPiA+Pj4+ IFN1YmplY3Q6IFJlOiBbUEFUQ0hdIFthYXJjaDY0XSBJbXBsZW1lbnRlZCBy ZWNpcHJvY2FsIHNxdWFyZQ0KPiA+ID4gPj4+PiByb290DQo+ID4gPiA+Pj4+ IChyc3FydCkgZXN0aW1hdGlvbiBpbiAtZmZhc3QtbWF0aA0KPiA+ID4gPj4+ Pg0KPiA+ID4gPj4+PiBLdW1hciwNCj4gPiA+ID4+Pj4NCj4gPiA+ID4+Pj4g VGhpcyBkb2VzIG5vdCBjb21lIHVuZXhwZWN0ZWQsIGFzIHRoZSBpbml0aWFs IGVzdGltYXRpb24gYW5kDQo+ID4gPiA+Pj4+IGVhY2ggaXRlcmF0aW9uIHdp bGwgYWRkIGFuIGFyY2hpdGVjdHVyYWxseS1kZWZpbmVkIG51bWJlciBvZg0K PiA+ID4gPj4+PiBiaXRzIG9mIHByZWNpc2lvbiAoQVJNdjggZ3VhcmFudHVl ZXMgb25seSBhIG1pbmltdW0gbnVtYmVyIG9mDQo+ID4gPiA+Pj4+IGJpdHMN Cj4gPiA+IHByb3ZpZGVkDQo+ID4gPiA+Pj4+IHBlciBvcGVyYXRpb27igKYg dGhlIGV4YWN0IG51bWJlciBpcyBzcGVjaWZpYyB0byBlYWNoIG1pY3JvLWFy Y2gsDQo+ID4gPiB0aG91Z2gpLg0KPiA+ID4gPj4+PiBEZXBlbmRpbmcgb24g eW91ciBhcmNoaXRlY3R1cmUgYW5kIG9uIHRoZSByZXF1aXJlZCBudW1iZXIg b2YNCj4gPiA+ID4+Pj4gcHJlY2lzZSBiaXRzIGJ5IGFueSBnaXZlbiBiZW5j aG1hcmssIG9uZSBtYXkgc2VlIG1pc2NvbXBhcmVzLg0KPiA+ID4gPj4+DQo+ ID4gPiA+Pj4gVHJ1ZS4NCj4gPiA+ID4+DQo+ID4gPiA+PiBJIHdvdWxkIGJl IHZlcnkgdW5jb21mb3J0YWJsZSB3aXRoIHRoaXMgYXBwcm9hY2guDQo+ID4g PiA+DQo+ID4gPiA+IFNhbWUgaGVyZS4gVGhlIGRlZmF1bHQgbXVzdCBiZSBz YWZlLiBBbHdheXMuDQo+ID4gPiA+IFVubGlrZSBvdGhlciBhcmNoaXRlY3R1 cmVzLCB3ZSBkb27igJl0IGhhdmUgYSBwcm9ibGVtIHdpdGggbWFraW5nDQo+ ID4gPiA+IHRoZSBwcm9wZXIgZGVmYXVsdHMgZm9yIOKAnHNhZmV0eeKAnSwg YXMgdGhlIEFSTXY4IElTQSBndWFyYW50ZWVzIGENCj4gPiA+ID4gbWluaW11 bSBudW1iZXIgb2YgcHJlY2lzZSBiaXRzIHBlciBpdGVyYXRpb24uDQo+ID4g PiA+DQo+ID4gPiA+PiBGcm9tIFJpY2hhcmQgQmllbmVyJ3MgcG9zdCBpbiB0 aGUgdGhyZWFkIE1pY2hhZWwgTWF0eiBsaW5rZWQNCj4gPiA+ID4+IGVhcmxp ZXIgaW4gdGhlIHRocmVhZDoNCj4gPiA+ID4+DQo+ID4gPiA+PiAgIEl0IHdv dWxkIGZvbGxvdyBleGlzdGluZyBwcmFjdGljZSBvZiB0aGluZ3Mgd2UgYWxs b3cgaW4NCj4gPiA+ID4+ICAgLWZ1bnNhZmUtbWF0aC1vcHRpbWl6YXRpb25z LiAgRXhpc3RpbmcgcHJhY3RpY2UgaW4gdGhhdCB3ZQ0KPiA+ID4gPj4gICB3 YW50IHRvIGFsbG93IC1mZmFzdC1tYXRoIHVzZSB3aXRoIGNvbW1vbiBiZW5j aG1hcmtzIHdlIGNhcmUNCj4gPiA+ID4+ICAgYWJvdXQuDQo+ID4gPiA+Pg0K PiA+ID4gPj4gICBodHRwczovL2djYy5nbnUub3JnL21sL2djYy1wYXRjaGVz LzIwMDktMTEvbXNnMDAxMDAuaHRtbA0KPiA+ID4gPj4NCj4gPiA+ID4+IFdp dGggdGhlIHNvbHV0aW9uIHlvdSBzZWVtIHRvIGJlIGNvbnZlcmdpbmcgb24g KDItc3RlcHMgZm9yIHNvbWUNCj4gPiA+ID4+IG1pY3JvYXJjaGl0ZWN0dXJl cywgMyBmb3Igb3RoZXJzKSwgYSBiaW5hcnkgZ2VuZXJhdGVkIGZvciBvbmUN Cj4gPiA+ID4+IG1pY3JvLWFyY2ggbWF5IGRyb3AgYmVsb3cgYSBtaW5pbXVt IGd1YXJhbnRlZSBvZiBwcmVjaXNpb24gd2hlbg0KPiA+ID4gPj4gcnVuIG9u IGFub3RoZXIuIFRoaXMgc2VlbXMgdG8gZ28gYWdhaW5zdCB0aGUgc3Bpcml0 IG9mIHRoZQ0KPiA+ID4gPj4gcHJhY3RpY2UgYWJvdmUuIEkgd291bGQgb25s eSBzdXBwb3J0IGFkZGluZyB0aGlzIG9wdGltaXphdGlvbiB0bw0KPiA+ID4g Pj4gLU9mYXN0IGlmIHdlIGNvdWxkIGtlZXAgdG8gYXJjaGl0ZWN0dXJhbCBn dWFyYW50ZWVzIG9mIHByZWNpc2lvbg0KPiA+ID4gPj4gaW4gdGhlIGdlbmVy YXRlZCBjb2RlDQo+ID4gPiAoaS5lLiAzLXN0ZXBzIGV2ZXJ5d2hlcmUpLg0K PiA+ID4gPj4NCj4gPiA+ID4+IEkgZG9uJ3Qgb2JqZWN0IHRvIGFkZGluZyBh ICItbWxvdy1wcmVjaXNpb24tcmVjaXAtc3FydCIgc3R5bGUNCj4gPiA+ID4+ IG9wdGlvbiwgd2hpY2ggd291bGQgYmUgb2ZmIGJ5IGRlZmF1bHQsIHdvdWxk IGVuYWJsZSB0aGUgMi1zdGVwDQo+ID4gPiA+PiBtb2RlLCBhbmQgd291bGQg bmVlZCB0byBiZSBleHBsaWNpdGx5IGVuYWJsZWQgKGkuZS4gbm90IGltcGxp ZWQNCj4gPiA+ID4+IGJ5DQo+ID4gPiA+PiAtbWNwdT1mb28pIGJ1dCBJIGRv bid0IHNlZSB3aGF0IHRoaXMgYnV5cyB5b3UgYmV5b25kIHRoZSBHcm9tYWNz DQo+ID4gPiA+PiBib29zdCAoYW5kIGV2ZW4gdGhlcmUgeW91IHdvdWxkIGJl IGNyZWF0aW5nIGFuIEludmFsaWQgUnVuIGFzDQo+ID4gPiA+PiBvcHRpbWl6 YXRpb24gZmxhZ3MgbXVzdCBiZSBhcHBsaWVkIGFjcm9zcyBhbGwgd29ya2xv YWRzKS4NCj4gPiA+ID4NCj4gPiA+ID4gQW55IGZsYWcgdGhhdCByZWR1Y2Vz IHByZWNpc2lvbiAoYW5kIHRodXMgYnJlYWtzIElFRUUNCj4gPiA+ID4gZmxv YXRpbmctcG9pbnQNCj4gPiA+ID4gc2VtYW50aWNzKSBuZWVkcyB0byBiZSBn YXRlZCB3aXRoIGFuIOKAnHVuc2FmZeKAnSBmbGFnIChpLmUuIG9uZSB0aGF0 DQo+ID4gPiA+IGlzIG5ldmVyDQo+ID4gPiBvbiBieSBkZWZhdWx0KS4NCj4g PiA+ID4gQXMgYSBjb25zZXF1ZW5jZSwgdGhlIOKAnHBlYWvigJ0tdHVuaW5n IGZvciBTUEVDIHdpbGwgdHVybiB0aGlzIG9u4oCmDQo+ID4gPiA+IGJ1dCBi YXJlbHkgYW55b25lIGVsc2Ugd291bGQuDQo+ID4gPiA+DQo+ID4gPiA+PiBG b3IgdGhlIDMtc3RlcCBvcHRpbWl6YXRpb24sIGl0IGlzIGNsZWFyIHRvIG1l IHRoYXQgZm9yICJnZW5lcmljIg0KPiA+ID4gPj4gdHVuaW5nIHdlIGRvbid0 IHdhbnQgdGhpcyB0byBiZSBlbmFibGVkIGJ5IGRlZmF1bHQgZXhwZXJpbWVu dGFsDQo+ID4gPiA+PiByZXN1bHRzIGFuZCBhZHZpY2UgaW4gdGhpcyB0aHJl YWQgYXJndWVzIGFnYWluc3QgaXQgZm9yIHRodW5kZXJ4DQo+ID4gPiA+PiBh bmQgY29ydGV4LQ0KPiA+ID4gYTU3IHRhcmdldHMuDQo+ID4gPiA+PiBIb3dl dmVyLCBlbmFibGluZyBpdCBiYXNlZCBvbiB0aGUgQ1BVIHR1bmluZyBzZWxl Y3RlZCBzZWVtcyBmaW5lIHRvDQo+IG1lLg0KPiA+ID4gPg0KPiA+ID4gPiBJ IGRvIG5vdCBhZ3JlZSBvbiB0aGlzIG9uZSwgYXMgSSB3b3VsZCBsaWtlIHRv IHNlZSB0aGUgc2FmZSBmb3JtIChpLmUuDQo+ID4gPiA+IDMgYW5kIDUgaXRl cmF0aW9ucyByZXNwZWN0aXZlbHkpIHRvIGJlY29tZSB0aGUgZGVmYXVsdC4g TW9zdA0KPiA+ID4gPiDigJxzZXJ2ZXItdHlwZeKAnSBjaGlwcyBzaG91bGQg bm90IHNlZSBhIHBlcmZvcm1hbmNlIHJlZ3Jlc3Npb24sIHdoaWxlDQo+ID4g PiA+IGl0IHdpbGwgYmUgZWFzaWVyIHRvIG9wdGltaXNlIGZvciB0aGlzIGlu IGhhcmR3YXJlIHRoYW4gZm9yIGENCj4gPiA+ID4gKHBvdGVudGlhbGx5IG1p Y3JvY29kZWQpIHNxcnQtaW5zdHJ1Y3Rpb24gKGFuZCBzdWJzZXF1ZW50LA0K PiA+ID4gPiBkZXBlbmRlbnQNCj4gPiA+IGRpdmlkZSkuDQo+ID4gPiA+DQo+ ID4gPiA+IEkgaGF2ZSBub3QgaGVhcmQgYW55b25lIGNsYWltIGEgcGVyZm9y bWFuY2UgcmVncmVzc2lvbiAoZWl0aGVyIG9uDQo+ID4gPiA+IHRodW5kZXJ4 IG9yIG9uIGNvcnRleC1hNTcpLCBidXQgbWVyZWx5IGhlYXJkIGEg4oCcbm8g c3BlZWQtdXDigJ0uDQo+ID4gPg0KPiA+ID4gQWN0dWFsbHkgaXQgZG9lcyBy ZWdyZXNzIHBlcmZvcm1hbmNlIG9uIHRodW5kZXJYLCBJIGp1c3QgYXNzdW1l ZA0KPiA+ID4gdGhhdCB3aGVuIEkgc2FpZCBub3QgZ29pbmcgdG8gYmUgYSB3 aW4gaXQgd2FzIHRha2VuIGFzIGEgc2xvdyBkb3duLg0KPiA+ID4gSXQgcmVn cmVzcyBncm9tYWNzIGJ5IG1vcmUgdGhhbiAxMCUgb24gdGh1bmRlclggYnV0 IEkgY2FuJ3QgcmVtZW1iZXINCj4gPiA+IGhvdyBtdWNoIGFzIGkgaGFkIHNv bWVvbmUgZWxzZSBydW4gaXQuIFRoZSBsYXRlbmN5IGRpZmZlcmVuY2UgaXMN Cj4gPiA+IGFsc28gb3ZlciA0MCU7IGZvciBleGFtcGxlIHNpbmdsZSBwcmVj aXNpb246IDI5IGN5Y2xlcyB3aXRoIGRpdiAoMTIpDQo+ID4gPiBzcXJ0KDE3 KSBkaXJlY3RseSB2cyA0MiBjeWNsZXMgd2l0aCB0aGUgcnNxcnRlIGFuZCAy IGl0ZXJhdGlvbnMgb2YNCj4gPiA+IDJtdWwvcnNxcnRzIChkb3VibGUgaXMg NTMgdnMgNjApLiBUaGF0IGlzIGh1Z2UgZGlmZmVyZW5jZSByaWdodA0KPiA+ ID4gdGhlcmUuICBUaHVuZGVyWCBoYXMgYQ0KPiA+IGZhc3QgZGl2IGFuZCBh IGZhc3Qgc3FydCBmb3IgMzJiaXQgYW5kIGENCj4gPiA+IHJlYXNvbmFibGUg b25lIGZvciBkb3VibGUuICAgU28gYWdhaW4gdGhpcyBpcyBub3QganVzdCBu b3QgYSB3aW4gYnV0IHJhdGhlcg0KPiA+IGENCj4gPiA+IHJlZ3Jlc3Npb24g Zm9yIHRodW5kZXJYLiBJIHN1c3BlY3QgY29ydGV4LWE1NyBpcyBhbHNvIHRy dWUuDQo+ID4gPg0KPiA+ID4gVGhhbmtzLA0KPiA+ID4gQW5kcmV3DQo+ID4g Pg0KPiA+DQo+ID4gWWVzIHRoZW9yZXRpY2FsbHkgIHNob3VsZCBiZSAgdHJ1 ZSBmb3IgY29ydGV4LTU3IGNhc2UgYXMgd2VsbC4gICBCdXQgIEkNCj4gPiBi ZWxpZXZlIGhhcmR3YXJlIHBpcGVsaW5pbmcgd2l0aCBpbnN0cnVjdGlvbiBz Y2hlZHVsaW5nIGluIGNvbXBpbGVyDQo+ID4gaGVscHMgYSBsaXR0bGUgZm9y IGdyb21hY3MgY2FzZSAgfjMlIHRvIDQlIHdpdGggdGhlIG9yaWdpbmFsIHBh dGNoLg0KPiA+DQo+ID4gSSBoYXZlIG5vdCB0ZXN0ZWQgb3RoZXIgRlAgYmVu Y2htYXJrcy4gICBBcyBKYW1lcyBzYWlkIGEgZmxhZyAtbWxvdy0NCj4gPiBw cmVjaXNpb24tcmVjaXAtc3FydCBpZiBhbGxvd2VkIGNhbiBiZSB1c2VkIGFz IGEgcGVhayBmbGFnLg0KPiA+DQo+ID4gPiA+DQo+ID4gPiA+IFNvIEkgYW0g c3Ryb25nbHkgaW4gZmF2b3Igb2YgZGVmYXVsdGluZyB0byB0aGUg4oCYc2Fm ZeKAmSBudW1iZXIgb2YNCj4gPiA+ID4gaXRlcmF0aW9ucywgZXZlbiB3aGVu IGNvbXBpbGluZyBmb3IgYSBnZW5lcmljIHRhcmdldC4NCj4gPiA+ID4NCj4g PiA+ID4gQmVzdCwNCj4gPiA+ID4gUGhpbGlwcC4NCj4gPiA+ID4NCj4gPg0K PiA+IFJlZ2FyZHMsDQo+ID4gVmVua2F0Lg0KDQo=