From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.88]) by sourceware.org (Postfix) with ESMTPS id 620143858D28 for ; Sat, 23 Sep 2023 01:02:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 620143858D28 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1695430971; x=1726966971; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=hWUSYwR/6r/jg5YHVVlblSdYLE19L4q++LINKnk3ynQ=; b=KQkIoKioCN3br/zGGbObYp/9GEzqz2DFj23i4LI5zwXMDKhYTq3ekKb+ srX1PYb6vpmPMIxDFyk0BMjuTr1KtHuYxXjyAf8iwZflsgFctpopvnBV8 rtchUcQwA/ONUVKR+Q7Izh4lGuchV88Pn0xX3z8u3FJLwJZN3E1Udb8He GEi+Sbr1vEcghE10vkMLAvl2ovylLgUz9paAQroEBdpz8PqmkXwRDI+U8 ZFCYBWxq9yotG5A84CX6kRkCcLBCe+n9h0sJptMjPnrdxD25TS6XH0UVj tjbWtZ8+2hqUq+acLTWGhLcOQp64NPiQi358/AHeSlMxYiZ5oujU38nhq Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10841"; a="411908048" X-IronPort-AV: E=Sophos;i="6.03,169,1694761200"; d="scan'208,217";a="411908048" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Sep 2023 18:02:49 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10841"; a="777045373" X-IronPort-AV: E=Sophos;i="6.03,169,1694761200"; d="scan'208,217";a="777045373" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga008.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 22 Sep 2023 18:02:48 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32; Fri, 22 Sep 2023 18:02:48 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32 via Frontend Transport; Fri, 22 Sep 2023 18:02:48 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.171) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.32; Fri, 22 Sep 2023 18:02:47 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=St5CwaQKm2Qg7GKwb3cpwTLcOAW9rtI5ttg9wRWCDgwwFMzHrHVFmzbwaLQN8xPir1Uoq4KxUlWUZ3pF5FsMQVa8+EdftNpspVwX8li4OyR75VX537pv2zvZKkuDk+1bs6BwtlIRwFG/D9IXRK6jfuIGpyVYmFosiAnhycf4gBwsgagaMWn93huOb6CakaOSAHz0++wRWlv4hlogZzh6+uxj4Yg3OCCqKt0YI3fhsR1EaMKYfFvQ7rldoV+GHIO6Dwm6+Mr9TpQUeF3fFAKNJiHFGBljNgHl6PQYGUaYcwwsqEf34pyvVcoBsGBENNHr7Kqef6x2uF0mBpmiBsxoJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=hWUSYwR/6r/jg5YHVVlblSdYLE19L4q++LINKnk3ynQ=; b=f3cogTT2N5UafQzFsu5vdQo+SlPMud1fGAP5YvhVHRGqB5+Bdvir5NLgMMCZn8BPCICuQX8ogeh9hybsax0wOhIGDTK0fNsivObR+y9bnuSQkg6aabwH/UCEn+Xvr5VEkQKJhhGNA+wua455L36EAfD6vZfkjUi7EX8zS2f1chRO8yPNHncW41ULvMEmo+hXnHkWVuGmyg9+qKlxh1Pc75a53CfbZdt+HRlPPMs5L8FGcEAP6zAYXgKs9ePIJj7eUtrkErzGBjScaIdiqTQjejdnD57woDhbSqDq4tTZ1HIzIdB4oiPJn7lei4WUY2h/GiPDX4hgE9YAUTA/mFxRZw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from MW5PR11MB5908.namprd11.prod.outlook.com (2603:10b6:303:194::10) by CY8PR11MB6842.namprd11.prod.outlook.com (2603:10b6:930:61::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.20; Sat, 23 Sep 2023 01:02:22 +0000 Received: from MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::6ff9:5a3d:4981:3476]) by MW5PR11MB5908.namprd11.prod.outlook.com ([fe80::6ff9:5a3d:4981:3476%5]) with mapi id 15.20.6792.024; Sat, 23 Sep 2023 01:02:22 +0000 From: "Li, Pan2" To: =?utf-8?B?6ZKf5bGF5ZOy?= , gcc-patches CC: "Wang, Yanzhang" , kito.cheng Subject: RE: [PATCH v2] RISC-V: Suport FP floor auto-vectorization Thread-Topic: [PATCH v2] RISC-V: Suport FP floor auto-vectorization Thread-Index: AQHZ7baIqbE+/YeXC0aeH47VOtsZy7Anko4kgAAEl3A= Date: Sat, 23 Sep 2023 01:02:22 +0000 Message-ID: References: <20230922062306.1220795-1-pan2.li@intel.com>, <20230923004011.306887-1-pan2.li@intel.com> <13E5D281353CCBDD+2023092308421421949715@rivai.ai> In-Reply-To: <13E5D281353CCBDD+2023092308421421949715@rivai.ai> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MW5PR11MB5908:EE_|CY8PR11MB6842:EE_ x-ms-office365-filtering-correlation-id: 538ee422-a429-4f13-6f7a-08dbbbd0be26 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: rKT4/wOC5Hw1gXzsDh7Yx2capxEwQuNFHNxynJFbllixBFJxgY/yzcRNPv1Asl4w4eJShqsNbc5VbNNM8kw0XX6h5NGFmia2bIZ9qUFhL5w4Elbk3RVl+yqRnmCeKkzNcrGTVnxNdGqeFtEU2Z8YWOEqfg5nJZ44+IS/aj95SQHNtPEUccofOaMvKtaTv+hasohhTqZVwOMKaKTvkxY98r0bvfVbuNUBWPkIJjERqkJEXIIsAMIHGR3SMo6HBiYsJmOpGn0xvcCeil6CH0v6IjV7FrevqTnPyYk8sm50PtfKZyVFmm+5nVZ36taPs1GCvCDvzPcH9m4kOe19ubbImyu51EuTep+acmX5GrbXE/yFCNhzpePgneAQYOu1I7F/tFOH8tNWmEnqFFc2x3edoGdCPay5rdBgvB8RgfkoweKEAnTyG3oGq4BlxRvYKoqyqTs91uViPBkAHgZ1Hnqtj/zDenKYrttVKmOoqbuQ2+im512Jpr5N1n6qWm1n8LiOcXlz0YljnZcwJxmAcpfRWGQyikRo02n+Sstq4YlhmcvdqcnVrMMJOcvuJ4dGqEwOoRnty8mAKy+yPlvwjCtkzTE414/7KO1yRS6pUtz5zqq/jvQa8CBdrceaABamuuGiUtVDVAfiU3bHeNXeDHMuhw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW5PR11MB5908.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(136003)(39860400002)(396003)(376002)(346002)(230922051799003)(451199024)(186009)(1800799009)(53546011)(8676002)(478600001)(83380400001)(76116006)(64756008)(66476007)(66446008)(66556008)(66946007)(6506007)(110136005)(54906003)(71200400001)(52536014)(8936002)(7696005)(9686003)(316002)(84970400001)(41300700001)(5660300002)(38100700002)(33656002)(38070700005)(82960400001)(86362001)(4326008)(2906002)(122000001)(26005)(30864003)(55016003)(579004)(559001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZE5YWE9rcUdoeGU5blpreXZxUW9RN0RiU1hETDZvaXZpay9EenZzWWxqSzR4?= =?utf-8?B?dmJocHFZcVlydXFQMWJyaUF0dVI2LzFOdmZuT0ZBN1hDV1huN0tPZ0VJQ0R5?= =?utf-8?B?a3BlOVpGRGNNNmhzTzNnQlZ5WEkzbVZPKzhiZGFWK3FXREg1bFZwek80dE05?= =?utf-8?B?VEZDbzQwRkUzRUVzNHRVaHl6YjlBTkdXZlVnL3NDQWYySUNrMzRkK0toOTBm?= =?utf-8?B?VE9aUG1PT2hVb1EyNGFOZXRpQUZiZ015L0VEZ0YzVEVxOUJwakpaaGZISlZo?= =?utf-8?B?Z1NEQnZGZ3RCK2RRejJVTmlKWGMyR2RVQVFhK0UxSHc0WERBeG9YeDRndXBT?= =?utf-8?B?czBPOFJuaVluVytXUmwzVWd6UU5mQ24rbE9xaEtHemtqYW5Ha2xwQ1QrUFhv?= =?utf-8?B?Y2RhczZJVXBBSCtYcnRERkxpajVaMjF2VWliZVdNTjZsOGQvYWFrWVVtN0k2?= =?utf-8?B?NkcyV3JXUGNkcmVCQVZ5VlNQMThNVkZWQlFvSS9JQ2tTdnlIT2s3a1Nicjdq?= =?utf-8?B?SWRCOU1GZ0pVTG1JajRVWXh0WU9yOWFIaHJhb29jVC9YSEN6WHlDV2R2Ui9j?= =?utf-8?B?R1RnNE1WT0toazB0N2ViV2NJRE1ZdmJkbUtQRlB4dEhvUXl2SXRtSjFla0Nt?= =?utf-8?B?RzNUOWhuWmxDZGZHeVorWlgvOHlrU3hXcDFpMDFOdG9GdmYwS1lFRnJTUGhF?= =?utf-8?B?Wk5Qb1pla0k5VGxFQjlacE91d1dhUlo2RHR1RXVXbzdEdkYzc20rUDZsRmRH?= =?utf-8?B?Sit4c2RxWmpQcVRZR3o1OXRmNmc0L2xhMFMrRnZWVU9lMVB6ZHdTbGRHUDBX?= =?utf-8?B?ZXlid0pIdzFYdnRLQUp1MUo2ZzhScHJLQ1ZGMi9aamphck8rTitkcXFiYi83?= =?utf-8?B?SEhLdW42S0svOUd5bEExaFhQSHdueHhUMHZOdDhXenBQZWR3MFp2ZFE0cXhS?= =?utf-8?B?RzNDb2Jka1F4YlplTFJxUVhmL3NkVEh6a01UMS9HaGhhVkxSclJ4ZUVMdVBp?= =?utf-8?B?eVlQUFRnWUNNS01UTG9aTUFWOEJHWnZ0SjJmY2Y2d1I4b1dYUVhVRm5HOVV5?= =?utf-8?B?OGpHZ05FKzdlMVBqL1lZaFJVUWdrTVpkTHlRT2tWQ25laXlOMlduSEVSdDJD?= =?utf-8?B?aUpZNERaTkEzV1BUeDdJc2ZUU0Z6UzByU21kOVdSdDMzUmduS0c1cURSREFp?= =?utf-8?B?MVNYQW5tOU5SUjU2RVNDWFBNN2tLQUY1N3VTS0xzY2RNcE1NbzRyNlY4NWtJ?= =?utf-8?B?VHdpYzhLczBKZnFzOVdjaU1aVEFyOXRoTW9ESEpzUDFka25hNU80eXptVW9J?= =?utf-8?B?OEQ3ajR5MkwxVHFkRkUzbXhFMXJHb3RSNjBOVlZUMTBJYk5lcXRjZmQwSmNI?= =?utf-8?B?eTduQ2ZvbWdncmZybTdnZ1ZneTdVUHZzMnVyRWUwZzhvbWprNkRHRy9tQTht?= =?utf-8?B?K2wxRXVyU2tMaHNtQ0VuZzgyZFBBYTF3TFVFRGR1UWFQbUw1OHlBSzd3ZnFX?= =?utf-8?B?S2xxd1k0Z1RqVlZVWkUvbXpQbHhkaG9DYVZGQnBoRlhuTGgwcEFvK21jOXdE?= =?utf-8?B?bzJiRFl6eHhXSHp6NGg3dHpaVjhhMnRvbHRYZmN4ZE0xUDFrb2k1Z3dMc0pk?= =?utf-8?B?YWlPYWl2dHNFUDhMRG9zc1dUQncyc0RMQ1JsUzI1RnZHeHRNa3VtaGdVSDBK?= =?utf-8?B?Ni9UcXQ0OHdiRGM2QzZpYXBFSTJPeHRVWDloMEFmNTVkWFBZWEZiMmN2VDhm?= =?utf-8?B?TG9ENXVjUjlWMWZOd3dyVVpPV3Q2VlowMHF3ODltWERtWEwrYk1WMDhJT2dK?= =?utf-8?B?UStLQWpOT2UycUphZHVtY0tTQmFZUDVxZEVXSEdZR2JmamkzVWNzeXhIdXRI?= =?utf-8?B?dklDaER6Uk9wUkE4MmtySDM2a1pmT2c4S2V6bkg0SGVpQWorOEhmWGVoeE40?= =?utf-8?B?UEc0QkdscEVUSnBDd1ZwNk1rTFhsS0p2WWpOT3FCQW9YUlNjeGNXNU9lWjJ4?= =?utf-8?B?aWtpTDdWa0pzZ0g2RFhvWkQzNzhtN21VampGNHp0Y1BYMTVZQnBVMS9OdnRq?= =?utf-8?B?STRRajdGNndrL0FJU3pub2RxNzNaclRhamdWS294bldOVG81YXU5TWx4b1Jx?= =?utf-8?Q?i1Nc=3D?= Content-Type: multipart/alternative; boundary="_000_MW5PR11MB5908CF466CCE28D26E1B95F0A9FEAMW5PR11MB5908namp_" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW5PR11MB5908.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 538ee422-a429-4f13-6f7a-08dbbbd0be26 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Sep 2023 01:02:22.0792 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: yNxlknKV7yOjhVuHKW4Jx4GB0Hj7LxCMSjZ/9i11V7QoZqLvFzltWaLYV+GyFj6LNLqcW70BplnubRHAFW6gKw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR11MB6842 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-10.5 required=5.0 tests=BAYES_00,BODY_8BITS,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,HTML_MESSAGE,KAM_SHORT,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --_000_MW5PR11MB5908CF466CCE28D26E1B95F0A9FEAMW5PR11MB5908namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 U3VyZS4NCg0KUGFuDQoNCkZyb206IOmSn+WxheWTsiA8anV6aGUuemhvbmdA cml2YWkuYWk+DQpTZW50OiBTYXR1cmRheSwgU2VwdGVtYmVyIDIzLCAyMDIz IDg6NDIgQU0NClRvOiBMaSwgUGFuMiA8cGFuMi5saUBpbnRlbC5jb20+OyBn Y2MtcGF0Y2hlcyA8Z2NjLXBhdGNoZXNAZ2NjLmdudS5vcmc+DQpDYzogTGks IFBhbjIgPHBhbjIubGlAaW50ZWwuY29tPjsgV2FuZywgWWFuemhhbmcgPHlh bnpoYW5nLndhbmdAaW50ZWwuY29tPjsga2l0by5jaGVuZyA8a2l0by5jaGVu Z0BnbWFpbC5jb20+DQpTdWJqZWN0OiBSZTogW1BBVENIIHYyXSBSSVNDLVY6 IFN1cG9ydCBGUCBmbG9vciBhdXRvLXZlY3Rvcml6YXRpb24NCg0KTEdUTS4g QnV0IEkgdGhpbmsgeW91IHNob3VsZCByZW1vdmUgRlAxNiBydW4gdGVzdHMu DQoNClNvIHBseiBzZW5kIGEgcGF0Y2ggZmlyc3QgcmVtb3ZlIEZQMTYgcnVu IHRlc3Qgb2YgQ0VJTCBmaXJzdC4NCg0KX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18NCmp1emhlLnpob25nQHJpdmFpLmFpPG1haWx0bzpqdXpo ZS56aG9uZ0ByaXZhaS5haT4NCg0KRnJvbTogcGFuMi5saTxtYWlsdG86cGFu Mi5saUBpbnRlbC5jb20+DQpEYXRlOiAyMDIzLTA5LTIzIDA4OjQwDQpUbzog Z2NjLXBhdGNoZXM8bWFpbHRvOmdjYy1wYXRjaGVzQGdjYy5nbnUub3JnPg0K Q0M6IGp1emhlLnpob25nPG1haWx0bzpqdXpoZS56aG9uZ0ByaXZhaS5haT47 IHBhbjIubGk8bWFpbHRvOnBhbjIubGlAaW50ZWwuY29tPjsgeWFuemhhbmcu d2FuZzxtYWlsdG86eWFuemhhbmcud2FuZ0BpbnRlbC5jb20+OyBraXRvLmNo ZW5nPG1haWx0bzpraXRvLmNoZW5nQGdtYWlsLmNvbT4NClN1YmplY3Q6IFtQ QVRDSCB2Ml0gUklTQy1WOiBTdXBvcnQgRlAgZmxvb3IgYXV0by12ZWN0b3Jp emF0aW9uDQpGcm9tOiBQYW4gTGkgPHBhbjIubGlAaW50ZWwuY29tPG1haWx0 bzpwYW4yLmxpQGludGVsLmNvbT4+DQoNClRoaXMgcGF0Y2ggd291bGQgbGlr ZSB0byBzdXBwb3J0IGF1dG8tdmVjdG9yaXphdGlvbiBmb3IgdGhlDQpmbG9v ciBBUEkgaW4gbWF0aC5oLiBJdCBkZXBlbmRzIG9uIHRoZSAtZmZhc3QtbWF0 aCBvcHRpb24uDQoNCldoZW4gd2Ugd291bGQgbGlrZSB0byBjYWxsIGZsb29y L2Zsb29yZiBsaWtlIHYyID0gZmxvb3IgKHYxKSwgd2Ugd2lsbA0KY29udmVy dCBpdCBpbnRvIGJlbG93IGluc25zIChyZWZlcmVuY2UgdGhlIGltcGxlbWVu dGF0aW9uIG9mIGxsdm0pLg0KDQoqIHZmY3Z0LnguZiB2MywgdjEsIFJETg0K KiB2ZmN2dC5mLnggdjIsIHYzDQoNCkhvd2V2ZXIsIHRoZSBmbG9hdGluZyBw b2ludCB2YWx1ZSBtYXkgbm90IG5lZWQgdGhlIGN2dCBhcyBhYm92ZSBpZg0K aXRzIG1hbnRpc3NhIGlzIHplcm8uIEZvciBleGFtcGxlIHNpbmdsZSBwcmVj aXNpb24gZmxvYXRpbmcgcG9pbnQgYmVsb3cuDQoNCiAgKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKw0KICB8IHJhdyBmbG9h dCB8IGJpbmFyeSBsYXlvdXQgfCBhZnRlciBmbG9vciB8DQogICstLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSsNCiAgfCA4Mzg4 NjA3LjUgfCAweDRhZmZmZmZmICAgIHwgODM4ODYwNy4wICAgfA0KICB8IDgz ODg2MDguMCB8IDB4NGIwMDAwMDAgICAgfCA4Mzg4NjA4LjAgICB8DQogIHwg ODM4ODYwOS4wIHwgMHg0YjAwMDAwMSAgICB8IDgzODg2MDkuMCAgIHwNCiAg Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKw0K DQpBbGwgc2luZ2xlIGZsb2F0aW5nIHBvaW50IGdsdGUgODM4ODYwOC4wIHdp bGwgaGF2ZSBhbGwgemVybyBtYW50aXNhYS4NCldlIGxldmVyYWdlIHZtZmx0 IGFuZCBtYXNrIHRvIGZpbHRlciB0aGVtIG91dCBpbiB2ZWN0b3IgYW5kIG9u bHkgZG8gdGhlDQpjdnQgb24gbWFzay4NCg0KQmVmb3IgdGhpcyBwYXRjaDoN Cm1hdGgtZmxvb3ItMS5jOjIxOjE6IG1pc3NlZDogY291bGRuJ3QgdmVjdG9y aXplIGxvb3ANCiAgLi4uDQouTDM6DQogIGZsdyAgICAgZmEwLDAoczApDQog IGFkZGkgICAgczAsczAsNA0KICBhZGRpICAgIHMxLHMxLDQNCiAgY2FsbCAg ICBjZWlsZg0KICBmc3cgICAgIGZhMCwtNChzMSkNCiAgYm5lICAgICBzMCxz MiwuTDMNCg0KQWZ0ZXIgdGhpcyBwYXRjaDoNCiAgLi4uDQogIGZzcm1pICAg ICAgIDIgICAvLyBSb3VuZGluZyBEb3duDQouTDQ6DQogIHZmYWJzLnYgICAg IHYxLHYyDQogIHZtZmx0LnZmICAgIHYwLHYxLGZhNQ0KICB2ZmN2dC54LmYu diB2Myx2Mix2MC50DQogIHZmY3Z0LmYueC52IHYxLHYzLHYwLnQNCiAgdmZz Z25qLnZ2ICAgdjEsdjEsdjINCiAgYm5lICAgICAgICAgLkw0DQouTDE0Og0K ICBmc3JtICAgICAgICBhNg0KICByZXQNCg0KUGxlYXNlIG5vdGUgVkxTIG1v ZGUgaXMgYWxzbyBpbnZvbHZlZCBpbiB0aGlzIHBhdGNoIGFuZCBjb3ZlcmVk IGJ5IHRoZQ0KdGVzdCBjYXNlcy4NCg0KZ2NjL0NoYW5nZUxvZzoNCg0KKiBj b25maWcvcmlzY3YvYXV0b3ZlYy5tZCAoZmxvb3I8bW9kZT4yKTogTmV3IHBh dHRlcm4uDQoqIGNvbmZpZy9yaXNjdi9yaXNjdi1wcm90b3MuaCAoZW51bSBp bnNuX2ZsYWdzKTogTmV3IGVudW0gdHlwZS4NCihlbnVtIGluc25fdHlwZSk6 IERpdHRvLg0KKGV4cGFuZF92ZWNfZmxvb3IpOiBOZXcgZnVuY3Rpb24gZGVj bC4NCiogY29uZmlnL3Jpc2N2L3Jpc2N2LXYuY2MgKGdlbl9mbG9vcl9jb25z dF9mcCk6IE5ldyBmdW5jdGlvbiBpbXBsLg0KKGV4cGFuZF92ZWNfZmxvb3Ip OiBEaXR0by4NCg0KZ2NjL3Rlc3RzdWl0ZS9DaGFuZ2VMb2c6DQoNCiogZ2Nj LnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy91bm9wL21hdGgtZmxvb3ItMC5j OiBOZXcgdGVzdC4NCiogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy91 bm9wL21hdGgtZmxvb3ItMS5jOiBOZXcgdGVzdC4NCiogZ2NjLnRhcmdldC9y aXNjdi9ydnYvYXV0b3ZlYy91bm9wL21hdGgtZmxvb3ItMi5jOiBOZXcgdGVz dC4NCiogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy91bm9wL21hdGgt Zmxvb3ItMy5jOiBOZXcgdGVzdC4NCiogZ2NjLnRhcmdldC9yaXNjdi9ydnYv YXV0b3ZlYy91bm9wL21hdGgtZmxvb3ItcnVuLTAuYzogTmV3IHRlc3QuDQoq IGdjYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdW5vcC9tYXRoLWZsb29y LXJ1bi0xLmM6IE5ldyB0ZXN0Lg0KKiBnY2MudGFyZ2V0L3Jpc2N2L3J2di9h dXRvdmVjL3Vub3AvbWF0aC1mbG9vci1ydW4tMi5jOiBOZXcgdGVzdC4NCiog Z2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy92bHMvbWF0aC1mbG9vci0x LmM6IE5ldyB0ZXN0Lg0KDQpTaWduZWQtb2ZmLWJ5OiBQYW4gTGkgPHBhbjIu bGlAaW50ZWwuY29tPG1haWx0bzpwYW4yLmxpQGludGVsLmNvbT4+DQotLS0N CmdjYy9jb25maWcvcmlzY3YvYXV0b3ZlYy5tZCAgICAgICAgICAgICAgICAg ICB8IDExICsrKysNCmdjYy9jb25maWcvcmlzY3YvcmlzY3YtcHJvdG9zLmgg ICAgICAgICAgICAgICB8ICA1ICsrDQpnY2MvY29uZmlnL3Jpc2N2L3Jpc2N2 LXYuY2MgICAgICAgICAgICAgICAgICAgfCAzNSArKysrKysrKysrKy0NCi4u Li9yaXNjdi9ydnYvYXV0b3ZlYy91bm9wL21hdGgtZmxvb3ItMC5jICAgICB8 IDIzICsrKysrKysrDQouLi4vcmlzY3YvcnZ2L2F1dG92ZWMvdW5vcC9tYXRo LWZsb29yLTEuYyAgICAgfCAyMyArKysrKysrKw0KLi4uL3Jpc2N2L3J2di9h dXRvdmVjL3Vub3AvbWF0aC1mbG9vci0yLmMgICAgIHwgMjMgKysrKysrKysN Ci4uLi9yaXNjdi9ydnYvYXV0b3ZlYy91bm9wL21hdGgtZmxvb3ItMy5jICAg ICB8IDI1ICsrKysrKysrKw0KLi4uL3Jpc2N2L3J2di9hdXRvdmVjL3Vub3Av bWF0aC1mbG9vci1ydW4tMC5jIHwgMzkgKysrKysrKysrKysrKw0KLi4uL3Jp c2N2L3J2di9hdXRvdmVjL3Vub3AvbWF0aC1mbG9vci1ydW4tMS5jIHwgMzkg KysrKysrKysrKysrKw0KLi4uL3Jpc2N2L3J2di9hdXRvdmVjL3Vub3AvbWF0 aC1mbG9vci1ydW4tMi5jIHwgMzkgKysrKysrKysrKysrKw0KLi4uL3Jpc2N2 L3J2di9hdXRvdmVjL3Zscy9tYXRoLWZsb29yLTEuYyAgICAgIHwgNTYgKysr KysrKysrKysrKysrKysrKw0KMTEgZmlsZXMgY2hhbmdlZCwgMzE2IGluc2Vy dGlvbnMoKyksIDIgZGVsZXRpb25zKC0pDQpjcmVhdGUgbW9kZSAxMDA2NDQg Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Vu b3AvbWF0aC1mbG9vci0wLmMNCmNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdW5vcC9tYXRo LWZsb29yLTEuYw0KY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy91bm9wL21hdGgtZmxvb3It Mi5jDQpjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Vub3AvbWF0aC1mbG9vci0zLmMNCmNy ZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlz Y3YvcnZ2L2F1dG92ZWMvdW5vcC9tYXRoLWZsb29yLXJ1bi0wLmMNCmNyZWF0 ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3Yv cnZ2L2F1dG92ZWMvdW5vcC9tYXRoLWZsb29yLXJ1bi0xLmMNCmNyZWF0ZSBt b2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2 L2F1dG92ZWMvdW5vcC9tYXRoLWZsb29yLXJ1bi0yLmMNCmNyZWF0ZSBtb2Rl IDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1 dG92ZWMvdmxzL21hdGgtZmxvb3ItMS5jDQoNCmRpZmYgLS1naXQgYS9nY2Mv Y29uZmlnL3Jpc2N2L2F1dG92ZWMubWQgYi9nY2MvY29uZmlnL3Jpc2N2L2F1 dG92ZWMubWQNCmluZGV4IDZmMzVmYjFiZDllLi5hMDA1ZTE3NDU3ZSAxMDA2 NDQNCi0tLSBhL2djYy9jb25maWcvcmlzY3YvYXV0b3ZlYy5tZA0KKysrIGIv Z2NjL2NvbmZpZy9yaXNjdi9hdXRvdmVjLm1kDQpAQCAtMjIwOSw2ICsyMjA5 LDcgQEAgKGRlZmluZV9leHBhbmQgIjx1PmF2Zzx2X2RvdWJsZV90cnVuYz4z X2NlaWwiDQo7OyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo7OyBJ bmNsdWRlczoNCjs7IC0gY2VpbC9jZWlsZg0KKzs7IC0gZmxvb3IvZmxvb3Jm DQo7OyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQooZGVmaW5lX2V4 cGFuZCAiY2VpbDxtb2RlPjIiDQogICBbKG1hdGNoX29wZXJhbmQ6Vl9WTFNG IDAgInJlZ2lzdGVyX29wZXJhbmQiKQ0KQEAgLTIyMTksMyArMjIyMCwxMyBA QCAoZGVmaW5lX2V4cGFuZCAiY2VpbDxtb2RlPjIiDQogICAgIERPTkU7DQog ICB9DQopDQorDQorKGRlZmluZV9leHBhbmQgImZsb29yPG1vZGU+MiINCisg IFsobWF0Y2hfb3BlcmFuZDpWX1ZMU0YgMCAicmVnaXN0ZXJfb3BlcmFuZCIp DQorICAgKG1hdGNoX29wZXJhbmQ6Vl9WTFNGIDEgInJlZ2lzdGVyX29wZXJh bmQiKV0NCisgICJUQVJHRVRfVkVDVE9SICYmICFmbGFnX3RyYXBwaW5nX21h dGggJiYgIWZsYWdfcm91bmRpbmdfbWF0aCINCisgIHsNCisgICAgcmlzY3Zf dmVjdG9yOjpleHBhbmRfdmVjX2Zsb29yIChvcGVyYW5kc1swXSwgb3BlcmFu ZHNbMV0sIDxNT0RFPm1vZGUsIDxWQ09OVkVSVD5tb2RlKTsNCisgICAgRE9O RTsNCisgIH0NCispDQpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9y aXNjdi1wcm90b3MuaCBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YtcHJvdG9z LmgNCmluZGV4IDM0YmVjZmJhYmE4Li42M2ViMjQ3NTcwNSAxMDA2NDQNCi0t LSBhL2djYy9jb25maWcvcmlzY3YvcmlzY3YtcHJvdG9zLmgNCisrKyBiL2dj Yy9jb25maWcvcmlzY3YvcmlzY3YtcHJvdG9zLmgNCkBAIC0yNTMsNiArMjUz LDkgQEAgZW51bSBpbnNuX2ZsYWdzIDogdW5zaWduZWQgaW50DQogICAvKiBN ZWFucyBJTlNOIGhhcyBGUk0gb3BlcmFuZCBhbmQgdGhlIHZhbHVlIGlzIEZS TV9SVVAuICAqLw0KICAgRlJNX1JVUF9QID0gMSA8PCAxNiwNCisNCisgIC8q IE1lYW5zIElOU04gaGFzIEZSTSBvcGVyYW5kIGFuZCB0aGUgdmFsdWUgaXMg RlJNX1JETi4gICovDQorICBGUk1fUkROX1AgPSAxIDw8IDE3LA0KfTsNCmVu dW0gaW5zbl90eXBlIDogdW5zaWduZWQgaW50DQpAQCAtMjk0LDYgKzI5Nyw3 IEBAIGVudW0gaW5zbl90eXBlIDogdW5zaWduZWQgaW50DQogICBVTkFSWV9P UF9UQU1VID0gX19NQVNLX09QX1RBTVUgfCBVTkFSWV9PUF9QLA0KICAgVU5B UllfT1BfRlJNX0RZTiA9IFVOQVJZX09QIHwgRlJNX0RZTl9QLA0KICAgVU5B UllfT1BfVEFNVV9GUk1fUlVQID0gVU5BUllfT1BfVEFNVSB8IEZSTV9SVVBf UCwNCisgIFVOQVJZX09QX1RBTVVfRlJNX1JETiA9IFVOQVJZX09QX1RBTVUg fCBGUk1fUkROX1AsDQogICAvKiBCaW5hcnkgb3BlcmF0b3IuICAqLw0KICAg QklOQVJZX09QID0gX19OT1JNQUxfT1AgfCBCSU5BUllfT1BfUCwNCkBAIC00 NTUsNiArNDU5LDcgQEAgdm9pZCBleHBhbmRfY29uZF9sZW5fdW5vcCAodW5z aWduZWQsIHJ0eCAqKTsNCnZvaWQgZXhwYW5kX2NvbmRfbGVuX2Jpbm9wICh1 bnNpZ25lZCwgcnR4ICopOw0Kdm9pZCBleHBhbmRfcmVkdWN0aW9uICh1bnNp Z25lZCwgdW5zaWduZWQsIHJ0eCAqLCBydHgpOw0Kdm9pZCBleHBhbmRfdmVj X2NlaWwgKHJ0eCwgcnR4LCBtYWNoaW5lX21vZGUsIG1hY2hpbmVfbW9kZSk7 DQordm9pZCBleHBhbmRfdmVjX2Zsb29yIChydHgsIHJ0eCwgbWFjaGluZV9t b2RlLCBtYWNoaW5lX21vZGUpOw0KI2VuZGlmDQpib29sIHNldzY0X3NjYWxh cl9oZWxwZXIgKHJ0eCAqLCBydHggKiwgcnR4LCBtYWNoaW5lX21vZGUsDQog IGJvb2wsIHZvaWQgKCopKHJ0eCAqLCBydHgpKTsNCmRpZmYgLS1naXQgYS9n Y2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXYuY2MgYi9nY2MvY29uZmlnL3Jpc2N2 L3Jpc2N2LXYuY2MNCmluZGV4IDI1MWQ4MjdkOTczLi5jMjQ2NmIxMzU0ZiAx MDA2NDQNCi0tLSBhL2djYy9jb25maWcvcmlzY3YvcmlzY3Ytdi5jYw0KKysr IGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12LmNjDQpAQCAtMzI2LDggKzMy NiwxMCBAQCBwdWJsaWM6DQogICAgIC8qIEFkZCByb3VuZGluZyBtb2RlIG9w ZXJhbmQuICAqLw0KICAgICBpZiAobV9pbnNuX2ZsYWdzICYgRlJNX0RZTl9Q KQ0KICAgICAgIGFkZF9yb3VuZGluZ19tb2RlX29wZXJhbmQgKEZSTV9EWU4p Ow0KLSAgICBpZiAobV9pbnNuX2ZsYWdzICYgRlJNX1JVUF9QKQ0KKyAgICBl bHNlIGlmIChtX2luc25fZmxhZ3MgJiBGUk1fUlVQX1ApDQogICAgICAgYWRk X3JvdW5kaW5nX21vZGVfb3BlcmFuZCAoRlJNX1JVUCk7DQorICAgIGVsc2Ug aWYgKG1faW5zbl9mbGFncyAmIEZSTV9SRE5fUCkNCisgICAgICBhZGRfcm91 bmRpbmdfbW9kZV9vcGVyYW5kIChGUk1fUkROKTsNCiAgICAgZ2NjX2Fzc2Vy dCAoaW5zbl9kYXRhWyhpbnQpIGljb2RlXS5uX29wZXJhbmRzID09IG1fb3Bu byk7DQogICAgIGV4cGFuZCAoaWNvZGUsIGFueV9tZW1fcCk7DQpAQCAtMzU1 Niw2ICszNTU4LDEzIEBAIGdlbl9jZWlsX2NvbnN0X2ZwIChtYWNoaW5lX21v ZGUgaW5uZXJfbW9kZSkNCiAgIHJldHVybiBjb25zdF9kb3VibGVfZnJvbV9y ZWFsX3ZhbHVlIChyZWFsLCBpbm5lcl9tb2RlKTsNCn0NCitzdGF0aWMgcnR4 DQorZ2VuX2Zsb29yX2NvbnN0X2ZwIChtYWNoaW5lX21vZGUgaW5uZXJfbW9k ZSkNCit7DQorICAvKiBUaGUgZmxvb3IgbmVlZHMgdGhlIHNhbWUgZmxvYXRp bmcgcG9pbnQgY29uc3QgYXMgY2VpbC4gICovDQorICByZXR1cm4gZ2VuX2Nl aWxfY29uc3RfZnAgKGlubmVyX21vZGUpOw0KK30NCisNCnN0YXRpYyBydHgN CmVtaXRfdmVjX2Zsb2F0X2NtcF9tYXNrIChydHggZnBfdmVjdG9yLCBydHhf Y29kZSBjb2RlLCBydHggZnBfc2NhbGFyLA0KbWFjaGluZV9tb2RlIHZlY19m cF9tb2RlKQ0KQEAgLTM2MzUsNyArMzY0NCwyOSBAQCBleHBhbmRfdmVjX2Nl aWwgKHJ0eCBvcF8wLCBydHggb3BfMSwgbWFjaGluZV9tb2RlIHZlY19mcF9t b2RlLA0KICAgICAgdG8gaW50IGNvbnZlcnNpb24uICAqLw0KICAgZW1pdF92 ZWNfY3Z0X2ZfeCAob3BfMCwgdG1wLCBtYXNrLCBVTkFSWV9PUF9UQU1VX0ZS TV9SVVAsIHZlY19mcF9tb2RlKTsNCi0gIC8qIFN0ZXAtNTogUmV0cmlldmUg dGhlIHNpZ24gYml0LiAgKi8NCisgIC8qIFN0ZXAtNTogUmV0cmlldmUgdGhl IHNpZ24gYml0IGZvciAtMC4wLiAgKi8NCisgIGVtaXRfdmVjX2NvcHlzaWdu IChvcF8wLCBvcF8wLCBvcF8xLCB2ZWNfZnBfbW9kZSk7DQorfQ0KKw0KK3Zv aWQNCitleHBhbmRfdmVjX2Zsb29yIChydHggb3BfMCwgcnR4IG9wXzEsIG1h Y2hpbmVfbW9kZSB2ZWNfZnBfbW9kZSwNCisgICBtYWNoaW5lX21vZGUgdmVj X2ludF9tb2RlKQ0KK3sNCisgIC8qIFN0ZXAtMTogR2V0IHRoZSBhYnMgZmxv YXQgdmFsdWUgZm9yIG1hc2sgZ2VuZXJhdGlvbi4gICovDQorICBlbWl0X3Zl Y19hYnMgKG9wXzAsIG9wXzEsIHZlY19mcF9tb2RlKTsNCisNCisgIC8qIFN0 ZXAtMjogR2VuZXJhdGUgdGhlIG1hc2sgb24gY29uc3QgZnAuICAqLw0KKyAg cnR4IGNvbnN0X2ZwID0gZ2VuX2Zsb29yX2NvbnN0X2ZwIChHRVRfTU9ERV9J Tk5FUiAodmVjX2ZwX21vZGUpKTsNCisgIHJ0eCBtYXNrID0gZW1pdF92ZWNf ZmxvYXRfY21wX21hc2sgKG9wXzAsIExULCBjb25zdF9mcCwgdmVjX2ZwX21v ZGUpOw0KKw0KKyAgLyogU3RlcC0zOiBDb252ZXJ0IHRvIGludGVnZXIgb24g bWFzaywgd2l0aCByb3VuZGluZyBkb3duIChha2EgZmxvb3IpLiAgKi8NCisg IHJ0eCB0bXAgPSBnZW5fcmVnX3J0eCAodmVjX2ludF9tb2RlKTsNCisgIGVt aXRfdmVjX2N2dF94X2YgKHRtcCwgb3BfMSwgbWFzaywgVU5BUllfT1BfVEFN VV9GUk1fUkROLCB2ZWNfZnBfbW9kZSk7DQorDQorICAvKiBTdGVwLTQ6IENv bnZlcnQgdG8gZmxvYXRpbmctcG9pbnQgb24gbWFzayBmb3IgdGhlIGZsb29y IHJlc3VsdC4gICovDQorICBlbWl0X3ZlY19jdnRfZl94IChvcF8wLCB0bXAs IG1hc2ssIFVOQVJZX09QX1RBTVVfRlJNX1JETiwgdmVjX2ZwX21vZGUpOw0K Kw0KKyAgLyogU3RlcC01OiBSZXRyaWV2ZSB0aGUgc2lnbiBiaXQgZm9yIC0w LjAuICAqLw0KICAgZW1pdF92ZWNfY29weXNpZ24gKG9wXzAsIG9wXzAsIG9w XzEsIHZlY19mcF9tb2RlKTsNCn0NCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdW5vcC9tYXRoLWZs b29yLTAuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYv YXV0b3ZlYy91bm9wL21hdGgtZmxvb3ItMC5jDQpuZXcgZmlsZSBtb2RlIDEw MDY0NA0KaW5kZXggMDAwMDAwMDAwMDAuLjMzYjE2OTM5NWJmDQotLS0gL2Rl di9udWxsDQorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3Yv cnZ2L2F1dG92ZWMvdW5vcC9tYXRoLWZsb29yLTAuYw0KQEAgLTAsMCArMSwy MyBAQA0KKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQorLyogeyBkZy1vcHRp b25zICItbWFyY2g9cnY2NGdjdl96dmZoIC1tYWJpPWxwNjRkIC1PMyAtZnRy ZWUtdmVjdG9yaXplIC1mbm8tdmVjdC1jb3N0LW1vZGVsIC1mZmFzdC1tYXRo IC1mbm8tc2NoZWR1bGUtaW5zbnMgLWZuby1zY2hlZHVsZS1pbnNuczIiIH0g Ki8NCisvKiB7IGRnLWZpbmFsIHsgY2hlY2stZnVuY3Rpb24tYm9kaWVzICIq KiIgIiIgfSB9ICovDQorDQorI2luY2x1ZGUgInRlc3QtbWF0aC5oIg0KKw0K Ky8qDQorKiogdGVzdF9fRmxvYXQxNl9fX2J1aWx0aW5fZmxvb3JmMTY6DQor KiogICBmcnJtXHMrW2F0eF1bMC05XSsNCisqKiAgIC4uLg0KKyoqICAgZnNy bWlccysyDQorKiogICAuLi4NCisqKiAgIHZzZXR2bGlccytbYXR4XVswLTld Kyxccyp6ZXJvLFxzKmUxNixccyptMSxccyp0YSxccyptdQ0KKyoqICAgdmZh YnNcLnZccyt2WzAtOV0rLFxzKnZbMC05XSsNCisqKiAgIHZtZmx0XC52Zlxz K3YwLFxzKnZbMC05XSssXHMqW2ZhXStbMC05XSsNCisqKiAgIHZmY3Z0XC54 XC5mXC52XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnYwXC50DQorKiogICB2 ZmN2dFwuZlwueFwudlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2MFwudA0K KyoqICAgdmZzZ25qXC52dlxzK3ZbMC05XSssdlswLTldKyx2WzAtOV0rDQor KiogICAuLi4NCisqKiAgIGZzcm1ccytbYXR4XVswLTldKw0KKyoqICAgLi4u DQorKi8NCitURVNUX1VOQVJZX0NBTEwgKF9GbG9hdDE2LCBfX2J1aWx0aW5f Zmxvb3JmMTYpDQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Vub3AvbWF0aC1mbG9vci0xLmMgYi9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdW5v cC9tYXRoLWZsb29yLTEuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4 IDAwMDAwMDAwMDAwLi41YzQ2MmM0MjRkZg0KLS0tIC9kZXYvbnVsbA0KKysr IGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVj L3Vub3AvbWF0aC1mbG9vci0xLmMNCkBAIC0wLDAgKzEsMjMgQEANCisvKiB7 IGRnLWRvIGNvbXBpbGUgfSAqLw0KKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNo PXJ2NjRnY3YgLW1hYmk9bHA2NGQgLU8zIC1mdHJlZS12ZWN0b3JpemUgLWZu by12ZWN0LWNvc3QtbW9kZWwgLWZmYXN0LW1hdGggLWZuby1zY2hlZHVsZS1p bnNucyAtZm5vLXNjaGVkdWxlLWluc25zMiIgfSAqLw0KKy8qIHsgZGctZmlu YWwgeyBjaGVjay1mdW5jdGlvbi1ib2RpZXMgIioqIiAiIiB9IH0gKi8NCisN CisjaW5jbHVkZSAidGVzdC1tYXRoLmgiDQorDQorLyoNCisqKiB0ZXN0X2Zs b2F0X19fYnVpbHRpbl9mbG9vcmY6DQorKiogICBmcnJtXHMrW2F0eF1bMC05 XSsNCisqKiAgIC4uLg0KKyoqICAgZnNybWlccysyDQorKiogICAuLi4NCisq KiAgIHZzZXR2bGlccytbYXR4XVswLTldKyxccyp6ZXJvLFxzKmUzMixccypt MSxccyp0YSxccyptdQ0KKyoqICAgdmZhYnNcLnZccyt2WzAtOV0rLFxzKnZb MC05XSsNCisqKiAgIHZtZmx0XC52ZlxzK3YwLFxzKnZbMC05XSssXHMqW2Zh XStbMC05XSsNCisqKiAgIHZmY3Z0XC54XC5mXC52XHMrdlswLTldKyxccyp2 WzAtOV0rLFxzKnYwXC50DQorKiogICB2ZmN2dFwuZlwueFwudlxzK3ZbMC05 XSssXHMqdlswLTldKyxccyp2MFwudA0KKyoqICAgdmZzZ25qXC52dlxzK3Zb MC05XSssdlswLTldKyx2WzAtOV0rDQorKiogICAuLi4NCisqKiAgIGZzcm1c cytbYXR4XVswLTldKw0KKyoqICAgLi4uDQorKi8NCitURVNUX1VOQVJZX0NB TEwgKGZsb2F0LCBfX2J1aWx0aW5fZmxvb3JmKQ0KZGlmZiAtLWdpdCBhL2dj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy91bm9w L21hdGgtZmxvb3ItMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jp c2N2L3J2di9hdXRvdmVjL3Vub3AvbWF0aC1mbG9vci0yLmMNCm5ldyBmaWxl IG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMC4uNmYwN2FkZDEwMDQN Ci0tLSAvZGV2L251bGwNCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9yaXNjdi9ydnYvYXV0b3ZlYy91bm9wL21hdGgtZmxvb3ItMi5jDQpAQCAt MCwwICsxLDIzIEBADQorLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCisvKiB7 IGRnLW9wdGlvbnMgIi1tYXJjaD1ydjY0Z2N2IC1tYWJpPWxwNjRkIC1PMyAt ZnRyZWUtdmVjdG9yaXplIC1mbm8tdmVjdC1jb3N0LW1vZGVsIC1mZmFzdC1t YXRoIC1mbm8tc2NoZWR1bGUtaW5zbnMgLWZuby1zY2hlZHVsZS1pbnNuczIi IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgY2hlY2stZnVuY3Rpb24tYm9kaWVz ICIqKiIgIiIgfSB9ICovDQorDQorI2luY2x1ZGUgInRlc3QtbWF0aC5oIg0K Kw0KKy8qDQorKiogdGVzdF9kb3VibGVfX19idWlsdGluX2Zsb29yOg0KKyoq ICAgZnJybVxzK1thdHhdWzAtOV0rDQorKiogICAuLi4NCisqKiAgIGZzcm1p XHMrMg0KKyoqICAgLi4uDQorKiogICB2c2V0dmxpXHMrW2F0eF1bMC05XSss XHMqemVybyxccyplNjQsXHMqbTEsXHMqdGEsXHMqbXUNCisqKiAgIHZmYWJz XC52XHMrdlswLTldKyxccyp2WzAtOV0rDQorKiogICB2bWZsdFwudmZccyt2 MCxccyp2WzAtOV0rLFxzKltmYV0rWzAtOV0rDQorKiogICB2ZmN2dFwueFwu ZlwudlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2MFwudA0KKyoqICAgdmZj dnRcLmZcLnhcLnZccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdjBcLnQNCisq KiAgIHZmc2dualwudnZccyt2WzAtOV0rLHZbMC05XSssdlswLTldKw0KKyoq ICAgLi4uDQorKiogICBmc3JtXHMrW2F0eF1bMC05XSsNCisqKiAgIC4uLg0K KyovDQorVEVTVF9VTkFSWV9DQUxMIChkb3VibGUsIF9fYnVpbHRpbl9mbG9v cikNCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlz Y3YvcnZ2L2F1dG92ZWMvdW5vcC9tYXRoLWZsb29yLTMuYyBiL2djYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy91bm9wL21hdGgt Zmxvb3ItMy5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAw MDAwMDAuLmEwOTFmZmRhYjUwDQotLS0gL2Rldi9udWxsDQorKysgYi9nY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdW5vcC9t YXRoLWZsb29yLTMuYw0KQEAgLTAsMCArMSwyNSBAQA0KKy8qIHsgZGctZG8g Y29tcGlsZSB9ICovDQorLyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdj diAtbWFiaT1scDY0ZCAtTzMgLWZ0cmVlLXZlY3Rvcml6ZSAtZm5vLXZlY3Qt Y29zdC1tb2RlbCAtZmZhc3QtbWF0aCAtZm5vLXNjaGVkdWxlLWluc25zIC1m bm8tc2NoZWR1bGUtaW5zbnMyIiB9ICovDQorLyogeyBkZy1maW5hbCB7IGNo ZWNrLWZ1bmN0aW9uLWJvZGllcyAiKioiICIiIH0gfSAqLw0KKw0KKyNpbmNs dWRlICJ0ZXN0LW1hdGguaCINCisNCisvKg0KKyoqIHRlc3RfZmxvYXRfX19i dWlsdGluX2Zsb29yZjoNCisqKiAgIGZycm1ccytbYXR4XVswLTldKw0KKyoq ICAgLi4uDQorKiogICBmc3JtaVxzKzINCisqKiAgIC4uLg0KKyoqICAgdnNl dHZsaVxzK1thdHhdWzAtOV0rLFxzKnplcm8sXHMqZTMyLFxzKm0xLFxzKnRh LFxzKm11DQorKiogICB2ZmFic1wudlxzK3ZbMC05XSssXHMqdlswLTldKw0K KyoqICAgdm1mbHRcLnZmXHMrdjAsXHMqdlswLTldKyxccypbZmFdK1swLTld Kw0KKyoqICAgdmZjdnRcLnhcLmZcLnZccyt2WzAtOV0rLFxzKnZbMC05XSss XHMqdjBcLnQNCisqKiAgIHZmY3Z0XC5mXC54XC52XHMrdlswLTldKyxccyp2 WzAtOV0rLFxzKnYwXC50DQorKiogICB2ZnNnbmpcLnZ2XHMrdlswLTldKyx2 WzAtOV0rLHZbMC05XSsNCisqKiAgIC4uLg0KKyoqICAgdm1lcmdlXC52dm1c cyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldKyxccyp2MA0KKyoqICAg Li4uDQorKiogICBmc3JtXHMrW2F0eF1bMC05XSsNCisqKiAgIC4uLg0KKyov DQorVEVTVF9DT05EX1VOQVJZX0NBTEwgKGZsb2F0LCBfX2J1aWx0aW5fZmxv b3JmKQ0KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9y aXNjdi9ydnYvYXV0b3ZlYy91bm9wL21hdGgtZmxvb3ItcnVuLTAuYyBiL2dj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy91bm9w L21hdGgtZmxvb3ItcnVuLTAuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmlu ZGV4IDAwMDAwMDAwMDAwLi5hYmQ0NWQzMGIwNg0KLS0tIC9kZXYvbnVsbA0K KysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRv dmVjL3Vub3AvbWF0aC1mbG9vci1ydW4tMC5jDQpAQCAtMCwwICsxLDM5IEBA DQorLyogeyBkZy1kbyBydW4geyB0YXJnZXQgeyByaXNjdl92ZWN0b3IgfSB9 IH0gKi8NCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLXN0ZD1jMngg LU8zIC1mdHJlZS12ZWN0b3JpemUgLWZuby12ZWN0LWNvc3QtbW9kZWwgLWZm YXN0LW1hdGgiIH0gKi8NCisNCisjaW5jbHVkZSAidGVzdC1tYXRoLmgiDQor DQorI2RlZmluZSBBUlJBWV9TSVpFIDEyOA0KKw0KK19GbG9hdDE2IGluW0FS UkFZX1NJWkVdOw0KK19GbG9hdDE2IG91dFtBUlJBWV9TSVpFXTsNCitfRmxv YXQxNiByZWZbQVJSQVlfU0laRV07DQorDQorVEVTVF9VTkFSWV9DQUxMIChf RmxvYXQxNiwgX19idWlsdGluX2Zsb29yZjE2KQ0KK1RFU1RfQVNTRVJUIChf RmxvYXQxNikNCisNCitURVNUX0lOSVQgKF9GbG9hdDE2LCAxLjIsIDIuMCwg MSkNCitURVNUX0lOSVQgKF9GbG9hdDE2LCAtMS4yLCAtMS4wLCAyKQ0KK1RF U1RfSU5JVCAoX0Zsb2F0MTYsIDMuMCwgMy4wLCAzKQ0KK1RFU1RfSU5JVCAo X0Zsb2F0MTYsIDEwMjMuNSwgMTAyNC4wLCA0KQ0KK1RFU1RfSU5JVCAoX0Zs b2F0MTYsIDEwMjUuMCwgMTAyNS4wLCA1KQ0KK1RFU1RfSU5JVCAoX0Zsb2F0 MTYsIDAuMCwgMC4wLCA2KQ0KK1RFU1RfSU5JVCAoX0Zsb2F0MTYsIC0wLjAs IC0wLjAsIDcpDQorVEVTVF9JTklUIChfRmxvYXQxNiwgLTEwMjMuNSwgLTEw MjQuMCwgOCkNCitURVNUX0lOSVQgKF9GbG9hdDE2LCAtMTAyNC4wLCAtMTAy NC4wLCA5KQ0KKw0KK2ludA0KK21haW4gKCkNCit7DQorICBSVU5fVEVTVCAo X0Zsb2F0MTYsIDEsIF9fYnVpbHRpbl9mbG9vcmYxNiwgaW4sIG91dCwgcmVm LCBBUlJBWV9TSVpFKTsNCisgIFJVTl9URVNUIChfRmxvYXQxNiwgMiwgX19i dWlsdGluX2Zsb29yZjE2LCBpbiwgb3V0LCByZWYsIEFSUkFZX1NJWkUpOw0K KyAgUlVOX1RFU1QgKF9GbG9hdDE2LCAzLCBfX2J1aWx0aW5fZmxvb3JmMTYs IGluLCBvdXQsIHJlZiwgQVJSQVlfU0laRSk7DQorICBSVU5fVEVTVCAoX0Zs b2F0MTYsIDQsIF9fYnVpbHRpbl9mbG9vcmYxNiwgaW4sIG91dCwgcmVmLCBB UlJBWV9TSVpFKTsNCisgIFJVTl9URVNUIChfRmxvYXQxNiwgNSwgX19idWls dGluX2Zsb29yZjE2LCBpbiwgb3V0LCByZWYsIEFSUkFZX1NJWkUpOw0KKyAg UlVOX1RFU1QgKF9GbG9hdDE2LCA2LCBfX2J1aWx0aW5fZmxvb3JmMTYsIGlu LCBvdXQsIHJlZiwgQVJSQVlfU0laRSk7DQorICBSVU5fVEVTVCAoX0Zsb2F0 MTYsIDcsIF9fYnVpbHRpbl9mbG9vcmYxNiwgaW4sIG91dCwgcmVmLCBBUlJB WV9TSVpFKTsNCisgIFJVTl9URVNUIChfRmxvYXQxNiwgOCwgX19idWlsdGlu X2Zsb29yZjE2LCBpbiwgb3V0LCByZWYsIEFSUkFZX1NJWkUpOw0KKyAgUlVO X1RFU1QgKF9GbG9hdDE2LCA5LCBfX2J1aWx0aW5fZmxvb3JmMTYsIGluLCBv dXQsIHJlZiwgQVJSQVlfU0laRSk7DQorDQorICByZXR1cm4gMDsNCit9DQpk aWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2 di9hdXRvdmVjL3Vub3AvbWF0aC1mbG9vci1ydW4tMS5jIGIvZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Vub3AvbWF0aC1m bG9vci1ydW4tMS5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAw MDAwMDAwMDAuLmQ2NjkwNWQ0MjMwDQotLS0gL2Rldi9udWxsDQorKysgYi9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdW5v cC9tYXRoLWZsb29yLXJ1bi0xLmMNCkBAIC0wLDAgKzEsMzkgQEANCisvKiB7 IGRnLWRvIHJ1biB7IHRhcmdldCB7IHJpc2N2X3ZlY3RvciB9IH0gfSAqLw0K Ky8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItc3RkPWM5OSAtTzMgLWZ0 cmVlLXZlY3Rvcml6ZSAtZm5vLXZlY3QtY29zdC1tb2RlbCAtZmZhc3QtbWF0 aCIgfSAqLw0KKw0KKyNpbmNsdWRlICJ0ZXN0LW1hdGguaCINCisNCisjZGVm aW5lIEFSUkFZX1NJWkUgMTI4DQorDQorZmxvYXQgaW5bQVJSQVlfU0laRV07 DQorZmxvYXQgb3V0W0FSUkFZX1NJWkVdOw0KK2Zsb2F0IHJlZltBUlJBWV9T SVpFXTsNCisNCitURVNUX1VOQVJZX0NBTEwgKGZsb2F0LCBfX2J1aWx0aW5f Zmxvb3JmKQ0KK1RFU1RfQVNTRVJUIChmbG9hdCkNCisNCitURVNUX0lOSVQg KGZsb2F0LCAxLjIsIDEuMCwgMSkNCitURVNUX0lOSVQgKGZsb2F0LCAtMS4y LCAtMi4wLCAyKQ0KK1RFU1RfSU5JVCAoZmxvYXQsIDMuMCwgMy4wLCAzKQ0K K1RFU1RfSU5JVCAoZmxvYXQsIDgzODg2MDcuNSwgODM4ODYwNy4wLCA0KQ0K K1RFU1RfSU5JVCAoZmxvYXQsIDgzODg2MDkuMCwgODM4ODYwOS4wLCA1KQ0K K1RFU1RfSU5JVCAoZmxvYXQsIDAuMCwgMC4wLCA2KQ0KK1RFU1RfSU5JVCAo ZmxvYXQsIC0wLjAsIC0wLjAsIDcpDQorVEVTVF9JTklUIChmbG9hdCwgLTgz ODg2MDcuNSwgLTgzODg2MDguMCwgOCkNCitURVNUX0lOSVQgKGZsb2F0LCAt ODM4ODYwOC4wLCAtODM4ODYwOC4wLCA5KQ0KKw0KK2ludA0KK21haW4gKCkN Cit7DQorICBSVU5fVEVTVCAoZmxvYXQsIDEsIF9fYnVpbHRpbl9mbG9vcmYs IGluLCBvdXQsIHJlZiwgQVJSQVlfU0laRSk7DQorICBSVU5fVEVTVCAoZmxv YXQsIDIsIF9fYnVpbHRpbl9mbG9vcmYsIGluLCBvdXQsIHJlZiwgQVJSQVlf U0laRSk7DQorICBSVU5fVEVTVCAoZmxvYXQsIDMsIF9fYnVpbHRpbl9mbG9v cmYsIGluLCBvdXQsIHJlZiwgQVJSQVlfU0laRSk7DQorICBSVU5fVEVTVCAo ZmxvYXQsIDQsIF9fYnVpbHRpbl9mbG9vcmYsIGluLCBvdXQsIHJlZiwgQVJS QVlfU0laRSk7DQorICBSVU5fVEVTVCAoZmxvYXQsIDUsIF9fYnVpbHRpbl9m bG9vcmYsIGluLCBvdXQsIHJlZiwgQVJSQVlfU0laRSk7DQorICBSVU5fVEVT VCAoZmxvYXQsIDYsIF9fYnVpbHRpbl9mbG9vcmYsIGluLCBvdXQsIHJlZiwg QVJSQVlfU0laRSk7DQorICBSVU5fVEVTVCAoZmxvYXQsIDcsIF9fYnVpbHRp bl9mbG9vcmYsIGluLCBvdXQsIHJlZiwgQVJSQVlfU0laRSk7DQorICBSVU5f VEVTVCAoZmxvYXQsIDgsIF9fYnVpbHRpbl9mbG9vcmYsIGluLCBvdXQsIHJl ZiwgQVJSQVlfU0laRSk7DQorICBSVU5fVEVTVCAoZmxvYXQsIDksIF9fYnVp bHRpbl9mbG9vcmYsIGluLCBvdXQsIHJlZiwgQVJSQVlfU0laRSk7DQorDQor ICByZXR1cm4gMDsNCit9DQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Vub3AvbWF0aC1mbG9vci1y dW4tMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9h dXRvdmVjL3Vub3AvbWF0aC1mbG9vci1ydW4tMi5jDQpuZXcgZmlsZSBtb2Rl IDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAuLjM2N2ExNmRkNzE0DQotLS0g L2Rldi9udWxsDQorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlz Y3YvcnZ2L2F1dG92ZWMvdW5vcC9tYXRoLWZsb29yLXJ1bi0yLmMNCkBAIC0w LDAgKzEsMzkgQEANCisvKiB7IGRnLWRvIHJ1biB7IHRhcmdldCB7IHJpc2N2 X3ZlY3RvciB9IH0gfSAqLw0KKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25z ICItc3RkPWM5OSAtTzMgLWZ0cmVlLXZlY3Rvcml6ZSAtZm5vLXZlY3QtY29z dC1tb2RlbCAtZmZhc3QtbWF0aCIgfSAqLw0KKw0KKyNpbmNsdWRlICJ0ZXN0 LW1hdGguaCINCisNCisjZGVmaW5lIEFSUkFZX1NJWkUgMTI4DQorDQorZG91 YmxlIGluW0FSUkFZX1NJWkVdOw0KK2RvdWJsZSBvdXRbQVJSQVlfU0laRV07 DQorZG91YmxlIHJlZltBUlJBWV9TSVpFXTsNCisNCitURVNUX1VOQVJZX0NB TEwgKGRvdWJsZSwgX19idWlsdGluX2Zsb29yKQ0KK1RFU1RfQVNTRVJUIChk b3VibGUpDQorDQorVEVTVF9JTklUIChkb3VibGUsIDEuMiwgMS4wLCAxKQ0K K1RFU1RfSU5JVCAoZG91YmxlLCAtMS4yLCAtMi4wLCAyKQ0KK1RFU1RfSU5J VCAoZG91YmxlLCAzLjAsIDMuMCwgMykNCitURVNUX0lOSVQgKGRvdWJsZSwg NDUwMzU5OTYyNzM3MDQ5NS41LCA0NTAzNTk5NjI3MzcwNDk1LjAsIDQpDQor VEVTVF9JTklUIChkb3VibGUsIDQ1MDM1OTk2MjczNzA0OTcuMCwgNDUwMzU5 OTYyNzM3MDQ5Ny4wLCA1KQ0KK1RFU1RfSU5JVCAoZG91YmxlLCAwLjAsIDAu MCwgNikNCitURVNUX0lOSVQgKGRvdWJsZSwgLTAuMCwgLTAuMCwgNykNCitU RVNUX0lOSVQgKGRvdWJsZSwgLTQ1MDM1OTk2MjczNzA0OTUuNSwgLTQ1MDM1 OTk2MjczNzA0OTYuMCwgOCkNCitURVNUX0lOSVQgKGRvdWJsZSwgLTQ1MDM1 OTk2MjczNzA0OTYuMCwgLTQ1MDM1OTk2MjczNzA0OTYuMCwgOSkNCisNCitp bnQNCittYWluICgpDQorew0KKyAgUlVOX1RFU1QgKGRvdWJsZSwgMSwgX19i dWlsdGluX2Zsb29yLCBpbiwgb3V0LCByZWYsIEFSUkFZX1NJWkUpOw0KKyAg UlVOX1RFU1QgKGRvdWJsZSwgMiwgX19idWlsdGluX2Zsb29yLCBpbiwgb3V0 LCByZWYsIEFSUkFZX1NJWkUpOw0KKyAgUlVOX1RFU1QgKGRvdWJsZSwgMywg X19idWlsdGluX2Zsb29yLCBpbiwgb3V0LCByZWYsIEFSUkFZX1NJWkUpOw0K KyAgUlVOX1RFU1QgKGRvdWJsZSwgNCwgX19idWlsdGluX2Zsb29yLCBpbiwg b3V0LCByZWYsIEFSUkFZX1NJWkUpOw0KKyAgUlVOX1RFU1QgKGRvdWJsZSwg NSwgX19idWlsdGluX2Zsb29yLCBpbiwgb3V0LCByZWYsIEFSUkFZX1NJWkUp Ow0KKyAgUlVOX1RFU1QgKGRvdWJsZSwgNiwgX19idWlsdGluX2Zsb29yLCBp biwgb3V0LCByZWYsIEFSUkFZX1NJWkUpOw0KKyAgUlVOX1RFU1QgKGRvdWJs ZSwgNywgX19idWlsdGluX2Zsb29yLCBpbiwgb3V0LCByZWYsIEFSUkFZX1NJ WkUpOw0KKyAgUlVOX1RFU1QgKGRvdWJsZSwgOCwgX19idWlsdGluX2Zsb29y LCBpbiwgb3V0LCByZWYsIEFSUkFZX1NJWkUpOw0KKyAgUlVOX1RFU1QgKGRv dWJsZSwgOSwgX19idWlsdGluX2Zsb29yLCBpbiwgb3V0LCByZWYsIEFSUkFZ X1NJWkUpOw0KKw0KKyAgcmV0dXJuIDA7DQorfQ0KZGlmZiAtLWdpdCBhL2dj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy92bHMv bWF0aC1mbG9vci0xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlz Y3YvcnZ2L2F1dG92ZWMvdmxzL21hdGgtZmxvb3ItMS5jDQpuZXcgZmlsZSBt b2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAuLjA3NjU4MGU2YTU4DQot LS0gL2Rldi9udWxsDQorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv cmlzY3YvcnZ2L2F1dG92ZWMvdmxzL21hdGgtZmxvb3ItMS5jDQpAQCAtMCww ICsxLDU2IEBADQorLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCisvKiB7IGRn LW9wdGlvbnMgIi1tYXJjaD1ydjY0Z2N2X3p2ZmhfenZsNDA5NmIgLW1hYmk9 bHA2NGQgLU8zIC0tcGFyYW09cmlzY3YtYXV0b3ZlYy1sbXVsPW04IC1mZmFz dC1tYXRoIC1mZHVtcC10cmVlLW9wdGltaXplZCIgfSAqLw0KKw0KKyNpbmNs dWRlICJkZWYuaCINCisNCitERUZfT1BfViAoZmxvb3JmMTYsIDEsIF9GbG9h dDE2LCBfX2J1aWx0aW5fZmxvb3JmMTYpDQorREVGX09QX1YgKGZsb29yZjE2 LCAyLCBfRmxvYXQxNiwgX19idWlsdGluX2Zsb29yZjE2KQ0KK0RFRl9PUF9W IChmbG9vcmYxNiwgNCwgX0Zsb2F0MTYsIF9fYnVpbHRpbl9mbG9vcmYxNikN CitERUZfT1BfViAoZmxvb3JmMTYsIDgsIF9GbG9hdDE2LCBfX2J1aWx0aW5f Zmxvb3JmMTYpDQorREVGX09QX1YgKGZsb29yZjE2LCAxNiwgX0Zsb2F0MTYs IF9fYnVpbHRpbl9mbG9vcmYxNikNCitERUZfT1BfViAoZmxvb3JmMTYsIDMy LCBfRmxvYXQxNiwgX19idWlsdGluX2Zsb29yZjE2KQ0KK0RFRl9PUF9WIChm bG9vcmYxNiwgNjQsIF9GbG9hdDE2LCBfX2J1aWx0aW5fZmxvb3JmMTYpDQor REVGX09QX1YgKGZsb29yZjE2LCAxMjgsIF9GbG9hdDE2LCBfX2J1aWx0aW5f Zmxvb3JmMTYpDQorREVGX09QX1YgKGZsb29yZjE2LCAyNTYsIF9GbG9hdDE2 LCBfX2J1aWx0aW5fZmxvb3JmMTYpDQorREVGX09QX1YgKGZsb29yZjE2LCA1 MTIsIF9GbG9hdDE2LCBfX2J1aWx0aW5fZmxvb3JmMTYpDQorREVGX09QX1Yg KGZsb29yZjE2LCAxMDI0LCBfRmxvYXQxNiwgX19idWlsdGluX2Zsb29yZjE2 KQ0KK0RFRl9PUF9WIChmbG9vcmYxNiwgMjA0OCwgX0Zsb2F0MTYsIF9fYnVp bHRpbl9mbG9vcmYxNikNCisNCitERUZfT1BfViAoZmxvb3JmLCAxLCBmbG9h dCwgX19idWlsdGluX2Zsb29yZikNCitERUZfT1BfViAoZmxvb3JmLCAyLCBm bG9hdCwgX19idWlsdGluX2Zsb29yZikNCitERUZfT1BfViAoZmxvb3JmLCA0 LCBmbG9hdCwgX19idWlsdGluX2Zsb29yZikNCitERUZfT1BfViAoZmxvb3Jm LCA4LCBmbG9hdCwgX19idWlsdGluX2Zsb29yZikNCitERUZfT1BfViAoZmxv b3JmLCAxNiwgZmxvYXQsIF9fYnVpbHRpbl9mbG9vcmYpDQorREVGX09QX1Yg KGZsb29yZiwgMzIsIGZsb2F0LCBfX2J1aWx0aW5fZmxvb3JmKQ0KK0RFRl9P UF9WIChmbG9vcmYsIDY0LCBmbG9hdCwgX19idWlsdGluX2Zsb29yZikNCitE RUZfT1BfViAoZmxvb3JmLCAxMjgsIGZsb2F0LCBfX2J1aWx0aW5fZmxvb3Jm KQ0KK0RFRl9PUF9WIChmbG9vcmYsIDI1NiwgZmxvYXQsIF9fYnVpbHRpbl9m bG9vcmYpDQorREVGX09QX1YgKGZsb29yZiwgNTEyLCBmbG9hdCwgX19idWls dGluX2Zsb29yZikNCitERUZfT1BfViAoZmxvb3JmLCAxMDI0LCBmbG9hdCwg X19idWlsdGluX2Zsb29yZikNCisNCitERUZfT1BfViAoZmxvb3IsIDEsIGRv dWJsZSwgX19idWlsdGluX2Zsb29yKQ0KK0RFRl9PUF9WIChmbG9vciwgMiwg ZG91YmxlLCBfX2J1aWx0aW5fZmxvb3IpDQorREVGX09QX1YgKGZsb29yLCA0 LCBkb3VibGUsIF9fYnVpbHRpbl9mbG9vcikNCitERUZfT1BfViAoZmxvb3Is IDgsIGRvdWJsZSwgX19idWlsdGluX2Zsb29yKQ0KK0RFRl9PUF9WIChmbG9v ciwgMTYsIGRvdWJsZSwgX19idWlsdGluX2Zsb29yKQ0KK0RFRl9PUF9WIChm bG9vciwgMzIsIGRvdWJsZSwgX19idWlsdGluX2Zsb29yKQ0KK0RFRl9PUF9W IChmbG9vciwgNjQsIGRvdWJsZSwgX19idWlsdGluX2Zsb29yKQ0KK0RFRl9P UF9WIChmbG9vciwgMTI4LCBkb3VibGUsIF9fYnVpbHRpbl9mbG9vcikNCitE RUZfT1BfViAoZmxvb3IsIDI1NiwgZG91YmxlLCBfX2J1aWx0aW5fZmxvb3Ip DQorREVGX09QX1YgKGZsb29yLCA1MTIsIGRvdWJsZSwgX19idWlsdGluX2Zs b29yKQ0KKw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci1ub3Qg e2NzcnJ9IH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVt cC1ub3QgIjEsMSIgIm9wdGltaXplZCIgfSB9ICovDQorLyogeyBkZy1maW5h bCB7IHNjYW4tdHJlZS1kdW1wLW5vdCAiMiwyIiAib3B0aW1pemVkIiB9IH0g Ki8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtbm90ICI0LDQi ICJvcHRpbWl6ZWQiIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLXRy ZWUtZHVtcC1ub3QgIjE2LDE2IiAib3B0aW1pemVkIiB9IH0gKi8NCisvKiB7 IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtbm90ICIzMiwzMiIgIm9wdGlt aXplZCIgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1w LW5vdCAiNjQsNjQiICJvcHRpbWl6ZWQiIH0gfSAqLw0KKy8qIHsgZGctZmlu YWwgeyBzY2FuLXRyZWUtZHVtcC1ub3QgIjEyOCwxMjgiICJvcHRpbWl6ZWQi IH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC1ub3Qg IjI1NiwyNTYiICJvcHRpbWl6ZWQiIH0gfSAqLw0KKy8qIHsgZGctZmluYWwg eyBzY2FuLXRyZWUtZHVtcC1ub3QgIjUxMiw1MTIiICJvcHRpbWl6ZWQiIH0g fSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC1ub3QgIjEw MjQsMTAyNCIgIm9wdGltaXplZCIgfSB9ICovDQorLyogeyBkZy1maW5hbCB7 IHNjYW4tdHJlZS1kdW1wLW5vdCAiMjA0OCwyMDQ4IiAib3B0aW1pemVkIiB9 IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtbm90ICI0 MDk2LDQwOTYiICJvcHRpbWl6ZWQiIH0gfSAqLw0KKy8qIHsgZGctZmluYWwg eyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dmZjdnRcLnhcLmZcLnZccyt2WzAt OV0rLFxzKnZbMC05XSssXHMqdjBcLnR9IDMwIH0gfSAqLw0KKy8qIHsgZGct ZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dmZjdnRcLmZcLnhcLnZc cyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdjBcLnR9IDMwIH0gfSAqLw0KLS0N CjIuMzQuMQ0KDQoNCg== --_000_MW5PR11MB5908CF466CCE28D26E1B95F0A9FEAMW5PR11MB5908namp_--