From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 88833C43387 for ; Fri, 28 Dec 2018 14:23:43 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 4230420879 for ; Fri, 28 Dec 2018 14:23:43 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="VCa8yKhz" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730892AbeL1OXj (ORCPT ); Fri, 28 Dec 2018 09:23:39 -0500 Received: from mail-eopbgr150134.outbound.protection.outlook.com ([40.107.15.134]:34200 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727328AbeL1OXj (ORCPT ); Fri, 28 Dec 2018 09:23:39 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3N3l3zY6PpdqiLDKYU4UV90fcTu4/LZgf4XHjjP32VA=; b=VCa8yKhzMdeycce6IGiGuHDwBlzHVnp63BRJJoLccUFxA8JpC1MebHbkbT5GZNALgkFgGTUQj5BjfAMw6ysWnRBP3enOw6LfiDmTt+qTTgHQR3xU5I/p1Lrt3qrTNPnpAUBcZ3NL2ChXyDo2ObUywkilrVkxXICYLQvcQ1hnjgw= Received: from VI1PR08MB3117.eurprd08.prod.outlook.com (52.133.15.22) by VI1PR08MB4287.eurprd08.prod.outlook.com (20.179.25.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1471.20; Fri, 28 Dec 2018 14:23:30 +0000 Received: from VI1PR08MB3117.eurprd08.prod.outlook.com ([fe80::40c5:8008:1ab4:4067]) by VI1PR08MB3117.eurprd08.prod.outlook.com ([fe80::40c5:8008:1ab4:4067%4]) with mapi id 15.20.1446.027; Fri, 28 Dec 2018 14:23:30 +0000 From: Konstantin Khorenko To: Michal Hocko CC: Andrew Morton , Andrey Ryabinin , "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , Luis Chamberlain , Kees Cook Subject: Re: [RFC PATCH 0/1] mm: add a warning about high order allocations Thread-Topic: [RFC PATCH 0/1] mm: add a warning about high order allocations Thread-Index: AQHUnGgITKYxWm8xu020vQlGHxSq86WQsv2AgAIDJoCAABhhAIABanqA Date: Fri, 28 Dec 2018 14:23:29 +0000 Message-ID: <82aa3975-160d-5c83-5c9f-c88b9a45a1e8@virtuozzo.com> References: <20181225153927.2873-1-khorenko@virtuozzo.com> <20181226083505.GF16738@dhcp22.suse.cz> <20181227164608.GM16738@dhcp22.suse.cz> In-Reply-To: <20181227164608.GM16738@dhcp22.suse.cz> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: HE1PR0802CA0004.eurprd08.prod.outlook.com (2603:10a6:3:bd::14) To VI1PR08MB3117.eurprd08.prod.outlook.com (2603:10a6:803:46::22) authentication-results: spf=none (sender IP is ) smtp.mailfrom=khorenko@virtuozzo.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [185.231.240.5] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;VI1PR08MB4287;20:LMxyGrTnCRCFS4hoqXDia2cIhJPvzx/5wv2GVvzlgeEyW8mg/QE0yYgc38jm6G7bQXwQGghvPEEfkgq4KQV5Ksu2onrvt9/JyJ8VNvvP6hC42Cq2Drq97WzjwMgeT0fhlZA0bEOnOpgaTvxPC1YmedKqZ4y8+59PoYyFBASB8jo= x-ms-office365-filtering-correlation-id: 6f5019be-4a13-4cec-92dc-08d66cd009e6 x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(5600109)(711020)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020);SRVR:VI1PR08MB4287; x-ms-traffictypediagnostic: VI1PR08MB4287: x-microsoft-antispam-prvs: x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(3230021)(908002)(999002)(5005026)(6040522)(2401047)(8121501046)(10201501046)(3002001)(93006095)(93001095)(3231475)(944501520)(52105112)(6041310)(20161123562045)(20161123560045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(201708071742011)(7699051)(76991095);SRVR:VI1PR08MB4287;BCL:0;PCL:0;RULEID:;SRVR:VI1PR08MB4287; x-forefront-prvs: 09007040D4 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(376002)(366004)(396003)(39850400004)(136003)(346002)(199004)(189003)(386003)(5660300001)(6506007)(97736004)(229853002)(54906003)(53546011)(486006)(81166006)(8676002)(316002)(6116002)(99286004)(3846002)(76176011)(8936002)(6436002)(26005)(52116002)(93886005)(81156014)(6486002)(186003)(305945005)(446003)(11346002)(2906002)(102836004)(2616005)(7736002)(476003)(6916009)(71190400001)(71200400001)(31686004)(36756003)(25786009)(14454004)(478600001)(217873002)(68736007)(4326008)(105586002)(6246003)(86362001)(31696002)(256004)(106356001)(14444005)(66066001)(6512007)(53936002);DIR:OUT;SFP:1102;SCL:1;SRVR:VI1PR08MB4287;H:VI1PR08MB3117.eurprd08.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: k7ogWUpWfior74LCGmikXX3HkD4woFzEMleApCbaM9JbZQH3upl0r9H8KaVJfs9gDht91HXWRuDwrGH32ojY/Wu8m6BF4mQYDAUtXlaJK1NI76njhecvEI2Dc354weIOQG5He+WcOpLlWWORcaaa3cXAQZxytvgpp1o1/khEiIMqA5EGv+F1AtEZK4eocr0GY6gwl+8Vzjg5ix12ISXxKQcria7BJPPIBCJKLqF7YPmeEdDGkFdfjLGU5BF5YRIypBW8DBrVCIoKkGTaSN3FcAGOAZWQbiNxJX9IAhpbaN1mlKv8nJFnp39lCu5ULkNm spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6f5019be-4a13-4cec-92dc-08d66cd009e6 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Dec 2018 14:23:30.1482 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB4287 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org T24gMTIvMjcvMjAxOCAwNzo0NiBQTSwgTWljaGFsIEhvY2tvIHdyb3RlOg0KPiBPbiBUaHUgMjct MTItMTggMTU6MTg6NTQsIEtvbnN0YW50aW4gS2hvcmVua28gd3JvdGU6DQo+PiBIaSBNaWNoYWws DQo+Pg0KPj4gdGhhbmsgeW91IHZlcnkgbXVjaCBmb3IgeW91ciBxdWVzdGlvbnMsIHBsZWFzZSBz ZWUgbXkgbm90ZXMgYmVsb3cuDQo+Pg0KPj4gT24gMTIvMjYvMjAxOCAxMTozNSBBTSwgTWljaGFs IEhvY2tvIHdyb3RlOg0KPj4+IE9uIFR1ZSAyNS0xMi0xOCAxODozOToyNiwgS29uc3RhbnRpbiBL aG9yZW5rbyB3cm90ZToNCj4+Pj4gUTogV2h5IGRvIHdlIG5lZWQgdG8gYm90aGVyIGF0IGFsbD8N Cj4+Pj4gQTogSWYgYSBub2RlIGlzIGhpZ2hseSBsb2FkZWQgYW5kIGl0cyBtZW1vcnkgaXMgc2ln bmlmaWNhbnRseSBmcmFnbWVudGVkDQo+Pj4+ICh1bmZvcnR1bmF0ZWx5IGFsbW9zdCBhbnkgbm9k ZSB3aXRoIHNlcmlvdXMgbG9hZCBoYXMgaGlnaGx5IGZyYWdtZW50ZWQgbWVtb3J5KQ0KPj4+PiB0 aGVuIGFueSBoaWdoIG9yZGVyIG1lbW9yeSBhbGxvY2F0aW9uIGNhbiB0cmlnZ2VyIG1hc3NpdmUg bWVtb3J5IHNocmluayBhbmQNCj4+Pj4gcmVzdWx0IGluIHF1aXRlIGEgYmlnIGFsbG9jYXRpb24g bGF0ZW5jeS4gQW5kIHRoZSBub2RlIGJlY29tZXMgbGVzcyByZXNwb25zaXZlDQo+Pj4+IGFuZCB1 c2VycyBkb24ndCBsaWtlIGl0Lg0KPj4+PiBUaGUgdWx0aW1hdGUgc29sdXRpb24gaGVyZSBpcyB0 byBnZXQgcmlkIG9mIGxhcmdlIGFsbG9jYXRpb25zLCBidXQgd2UgbmVlZCBhbg0KPj4+PiBpbnN0 cnVtZW50IHRvIGRldGVjdCB0aGVtLg0KPj4+DQo+Pj4gQ2FuIHlvdSBwb2ludCB0byBhbiBleGFt cGxlIG9mIHRoZSBwcm9ibGVtIHlvdSBhcmUgcmVmZXJyaW5nIGhlcmU/IEF0DQo+Pj4gbGVhc3Qg Zm9yIGNvc3RseSBvcmRlcnMgd2UgZG8gYmFpbCBvdXQgZWFybHkgYW5kIHRyeSB0byBub3QgY2F1 c2UNCj4+PiBtYXNzaXZlIHJlY2xhaW0uIFNvIHdoYXQgaXMgdGhlIG9yZGVyIHRoYXQgeW91IGFy ZSBjb25jZXJuZWQgYWJvdXQ/DQo+Pg0KPj4gV2VsbCwgdGhpcyBpcyB0aGUgbW9zdCBkaWZmaWN1 bHQgcXVlc3Rpb24gdG8gYW5zd2VyLg0KPj4gVW5mb3J0dW5hdGVseSBpIGRvbid0IGhhdmUgYSBy ZXByb2R1Y2VyIGZvciB0aGF0LCB1c3VhbGx5IHdlIGdldCBpbnRvIHNpdHVhdGlvbg0KPj4gd2hl biBzb21lb25lIGV4cGVyaWVuY2VzIHNpZ25pZmljYW50IG5vZGUgc2xvd2Rvd24sIG5vZGVzIG1v c3Qgb2Z0ZW4gaGF2ZSBhIGxvdCBvZiBSQU0sDQo+PiB3ZSBjaGVjayB3aGF0IGlzIGdvaW5nIG9u IHRoZXJlIGFuZCBzZWUgdGhlIG5vZGUgaXMgYnVzeSB3aXRoIHJlY2xhaW0uDQo+PiBBbmQgYWxt b3N0IGV2ZXJ5IHRpbWUgdGhlIHJlYXNvbiB3YXMgLSBmcmFnbWVudGVkIG1lbW9yeSBhbmQgaGln aCBvcmRlciBhbGxvY2F0aW9ucy4NCj4+IE1vc3RseSBvZiAybmQgYW5kIDNyZCAod2hpY2ggaXMg c3RpbGwgY29uc2lkZXJlZCBub3QgY29zdGx5KSBvcmRlci4NCj4+DQo+PiBSZWNlbnQgcmVsYXRl ZCBpc3N1ZXMgd2UgZmFjZWQgd2VyZSBhYm91dCBGVVNFIGRldiBwaXBlOg0KPj4gZDZkOTMxYWRj ZTExICgiZnVzZTogdXNlIGt2bWFsbG9jIHRvIGFsbG9jYXRlIGFycmF5IG9mIHBpcGVfYnVmZmVy IHN0cnVjdHMuIikNCj4+DQo+PiBhbmQgYWJvdXQgYm54IGRyaXZlciArIG10dSA5MDAwIHdoaWNo IGZvciBlYWNoIHBhY2tldCByZXF1aXJlZCBwYWdlIG9mIDJuZCBvcmRlcg0KPj4gKGFuZCBpdCBl dmVuIGZhaWxlZCBzb21ldGltZXMsIHRob3VnaCBpdCB3YXMgbm90IHRoZSByb290IGNhdXNlKToN Cj4+ICAgICAga3N3YXBkMDogcGFnZSBhbGxvY2F0aW9uIGZhaWx1cmU6IG9yZGVyOjIsIG1vZGU6 MHg0MDIwDQo+PiAgICAgIENhbGwgVHJhY2U6DQo+PiAgICAgICAgICBkdW1wX3N0YWNrKzB4MTkv MHgxYg0KPj4gICAgICAgICAgd2Fybl9hbGxvY19mYWlsZWQrMHgxMTAvMHgxODANCj4+ICAgICAg ICAgIF9fYWxsb2NfcGFnZXNfbm9kZW1hc2srMHg3YmYvMHhjNjANCj4+ICAgICAgICAgIGFsbG9j X3BhZ2VzX2N1cnJlbnQrMHg5OC8weDExMA0KPj4gICAgICAgICAga21hbGxvY19vcmRlcisweDE4 LzB4NDANCj4+ICAgICAgICAgIGttYWxsb2Nfb3JkZXJfdHJhY2UrMHgyNi8weGEwDQo+PiAgICAg ICAgICBfX2ttYWxsb2MrMHgyNzkvMHgyOTANCj4+ICAgICAgICAgIGJueDJ4X2ZyYWdfYWxsb2Mu aXNyYS42MSsweDJhLzB4NDAgW2JueDJ4XQ0KPj4gICAgICAgICAgYm54MnhfcnhfaW50KzB4MjI3 LzB4MTdjMCBbYm54MnhdDQo+PiAgICAgICAgICBibngyeF9wb2xsKzB4MWRkLzB4MjYwIFtibngy eF0NCj4+ICAgICAgICAgIG5ldF9yeF9hY3Rpb24rMHgxNzkvMHgzOTANCj4+ICAgICAgICAgIF9f ZG9fc29mdGlycSsweDEwZi8weDJhYQ0KPj4gICAgICAgICAgY2FsbF9zb2Z0aXJxKzB4MWMvMHgz MA0KPj4gICAgICAgICAgZG9fc29mdGlycSsweDY1LzB4YTANCj4+ICAgICAgICAgIGlycV9leGl0 KzB4MTA1LzB4MTEwDQo+PiAgICAgICAgICBkb19JUlErMHg1Ni8weGUwDQo+PiAgICAgICAgICBj b21tb25faW50ZXJydXB0KzB4NmQvMHg2ZA0KPj4NCj4+IEFuZCBhcyBib3RoIHBsYWNlcyB3ZXJl IGNhbGxlZCB2ZXJ5IG9mdGVuIC0gdGhlIHN5c3RlbSBsYXRlbmN5IHdhcyBoaWdoLg0KPj4NCj4+ IFRoaXMgd2FybmluZyBjYW4gYmUgYWxzbyB1c2VkIHRvIGNhdGNoIGFsbG9jYXRpb24gb2YgNHRo IG9yZGVyIGFuZCBoaWdoZXIgd2hpY2ggbWF5DQo+PiBlYXNpbHkgZmFpbC4gVGhvc2UgcGxhY2Vz IHdoaWNoIGFyZSByZWFkeSB0byBnZXQgYWxsb2NhdGlvbiBlcnJvcnMgYW5kIGhhdmUNCj4+IGZh bGxiYWNrcyBhcmUgbWFya2VkIHdpdGggX19HRlBfTk9XQVJOLg0KPg0KPiBUaGlzIGlzIG5vdCB0 cnVlIGluIGdlbmVyYWwsIHRob3VnaC4NCg0KUmlnaHQgbm93IC0geWVwLCB0aGlzIGlzIG5vdCB0 cnVlLiBTb3JyeSwgaSB3YXMgbm90IGNsZWFyIGVub3VnaCBoZXJlLg0KaSBtZWFudCBhZnRlciB3 ZSBjYXRjaCBhbGwgaGlnaCBvcmRlciBhbGxvY2F0aW9ucywgd2UgcmV2aWV3IHRoZW0gYW5kIGVp dGhlcg0Kc3dpdGNoIHRvIGt2bWFsbG9jKCkgb3IgbWFyayB3aXRoIE5PV0FSTiBpZiB3ZSBhcmUg cmVhZHkgdG8gaGFuZGxlIGFsbG9jYXRpb24gZXJyb3JzDQppbiB0aGF0IHBhcnRpY3VsYXIgcGxh Y2UuIFNvIHRoaXMgaXMgYW4gaWRlYWwgc2l0dWF0aW9uIHdoZW4gd2UgcmV2aWV3ZWQgYWxsIHRo ZSB0aGluZ3MuDQoNCj4gWy4uLl0NCj4+IEJ1dCBhZnRlciBpdCdzIGRvbmUgYW5kIHRoZXJlIGFy ZSBubyAoYWxtb3N0KSB1bm1hcmtlZCBoaWdoIG9yZGVyIGFsbG9jYXRpb25zIC0NCj4+IHdoeSBu b3Q/IFRoaXMgd2lsbCByZXZlYWwgbmV3IGNhc2VzIG9mIGhpZ2ggb3JkZXIgYWxsb2NhdGlvbnMg c29vbi4NCj4NCj4gVGhlcmUgd2lsbCBhbHdheXMgYmUgbGVnaXRpbWF0ZSBoaWdoIG9yZGVyIGFs bG9jYXRpb25zLg0KDQpTdXJlLiBCdXQgYWZ0ZXIgd2UgcmV2aWV3IHRoZW0gd2UgZWl0aGVyIHN3 aXRjaCB0aGVtIHRvIGt2bWFsbG9jKCkgb3IgbWFyayB0aGVtIHdpdGgNCk5PV0FSTi4gSW4gYm90 aCBjYXNlcyB3ZSB3b24ndCBnZXQgbmV3IHdhcm5pbmdzIGFib3V0IHRoYXQgcGxhY2VzLg0KDQog PiBJIGJlbGlldmUgdGhhdA0KPiBmb3IgeW91ciBwYXJ0aWN1bGFyIHVzZSBjYXNlIGl0IGlzIG11 Y2ggYmV0dGVyIHRvIHNpbXBseSBlbmFibGUgcmVjbGFpbQ0KPiBhbmQgcGFnZSBhbGxvY2F0b3Ig dHJhY2Vwb2ludHMgd2hpY2ggd2lsbCBnaXZlIHlvdSBub3Qgb25seSB0aGUgc291cmNlDQo+IG9m IHRoZSBhbGxvY2F0aW9uIGJ1dCBhbHNvIGEgbXVjaCBiZXR0ZXIgcGljdHVyZQ0KDQpUcmFjZXBv aW50cyBhcmUgbXVjaCBiZXR0ZXIgZm9yIGlzc3VlcyBpbnZlc3RpZ2F0aW9uLCByaWdodC4gQW5k IHdlIGRvIHNvLg0KDQpBbmQgd2FybmluZ3MgYXJlIGludGVuZGVkIG5vdCBmb3IgaW52ZXN0aWdh dGlvbiBidXQgZm9yIHByZXZlbnRpb24gb2YgcG9zc2libGUgZnV0dXJlIGlzc3Vlcy4NCklmIHdl IHNwb3QgYSBiaWcgYWxsb2NhdGlvbiwgd2UgY2FuIHJldmlldyBpdCBpbiBhZHZhbmNlLCBiZWZv cmUgd2UgZmFjZSBhbnkgcHJvYmxlbSwNCmFuZCBpbiBtb3N0IGNhc2VzIGp1c3Qgc3dpdGNoIGl0 IHRvIHVzZSBrdm1hbGxvYygpIGluIDkwJSBjYXNlcyBhbmQgd2UgbmV2ZXIgZXZlciBoYXZlDQph IHByb2JsZW0gd2l0aCB1bmV4cGVjdGVkIHJlY2xhaW0gZHVlIHRvIHRoaXMgYWxsb2NhdGlvbi4g RXZlci4NCldpdGggYW55IHJlY2xhaW0gYWxnb3JpdGhtIC0gdGhlIGNvbXBhY3Rpb24ganVzdCB3 b24ndCBiZSB0cmlnZ2VyZWQuDQoNCj4+IGkgdGhpbmsgcGVvcGxlIHdobyBydW4gc3lzdGVtcyB3 aXRoICJrZXJuZWwucGFuaWNfb25fd2FybiIgZW5hYmxlZCBkbyBjYXJlDQo+PiBhYm91dCByZXBv cnRpbmcgaXNzdWVzLg0KPg0KPiBZb3Ugc3VyZWx5IGRvIG5vdCB3YW50IHRvIHB1dCB0aGUgc3lz dGVtIGRvd24ganVzdCBiZWNhdXNlIG9mIHRoZSBoaWdoDQo+IG9yZGVyIGFsbG9jYXRpb24gdGhv dWdoLCByaWdodD8NCg0KUmlnaHQsIGkgZG8gbm90LiAoQW5kIGkgYWxzbyBkb24ndCB3YW50IHRv IHJ1biBhIG5vZGUgd2l0aCAia2VybmVsLnBhbmljX29uX3dhcm4iDQplbmFibGVkIGluIHByb2R1 Y3Rpb24gOikgKQ0KQnV0IHBlb3BsZSB3aG8gZG8gcnVuIG5vZGVzIHdpdGggImtlcm5lbC5wYW5p Y19vbl93YXJuIiBlbmFibGVkIGluIHByb2R1Y3Rpb24NCm1heSBkaXNhYmxlIGhpZ2ggYWxsb2Nh dGlvbiB3YXJuaW5nIGJ5IGluY3JlYXNpbmcgd2FybmluZyBvcmRlciBsZXZlbCBoaWdoZXIgdGhh bg0KTUFYX09SREVSLiBPciBqdXN0IG5vdCBlbmFibGUga2VybmVsIGNvbmZpZyBvcHRpb24uDQoN CmkgZG8gdW5kZXJzdGFuZCB0aGUgd2FybmluZyB3aWxsIGJlIG5vaXN5IGF0IHRoZSBiZWdpbm5p bmcgdGh1cyBpIHN1cmVseSBkb24ndCBldmVuDQpzdWdnZXN0IHRvIG1ha2UgaXQgZW5hYmxlIGJ5 IGRlZmF1bHQgbm93Lg0KDQo+Pj4+IFE6IFdoeSBjb21waWxlIHRpbWUgY29uZmlnIG9wdGlvbj8N Cj4+Pj4gQTogSW4gb3JkZXIgbm90IHRvIGRlY3JlYXNlIHRoZSBwZXJmb3JtYW5jZSBldmVuIGEg Yml0IGluIGNhc2Ugc29tZW9uZSBkb2VzIG5vdA0KPj4+PiB3YW50IHRvIGh1bnQgZm9yIGxhcmdl IGFsbG9jYXRpb25zLg0KPj4+PiBJbiBhbiBpZGVhbCBsaWZlIGknZCBwcmVmZXIgdGhpcyBjaGVj ay93YXJuaW5nIGlzIGVuYWJsZWQgYnkgZGVmYXVsdCBhbmQgbWF5IGJlDQo+Pj4+IGV2ZW4gd2l0 aG91dCBhIGNvbmZpZyBvcHRpb24gc28gaXQgd29ya3Mgb24gZXZlcnkgbm9kZS4gT25jZSB3ZSBm aW5kIGFuZCByZXdvcmsNCj4+Pj4gb3IgbWFyayBhbGwgbGFyZ2UgYWxsb2NhdGlvbnMgdGhhdCB3 b3VsZCBiZSBnb29kIGJ5IGRlZmF1bHQuIFVudGlsIHRoYXQgdGhvdWdoDQo+Pj4+IGl0IHdpbGwg YmUgbm9pc3kuDQo+Pj4NCj4+PiBTbyB3aG8gaXMgZ29pbmcgdG8gZW5hYmxlIHRoaXMgb3B0aW9u Pw0KPj4NCj4+IEF0IHRoZSBiZWdpbm5pbmcgLSBwZW9wbGUgd2hvIHdhbnQgdG8gZGVidWcga2Vy bmVsIGFuZCB2ZXJpZnkgdGhlaXIgZmFsbGJhY2tzIG9uDQo+PiBtZW1vcnkgYWxsb2NhdGlvbnMg ZmFpbHVyZXMgaW4gdGhlIGNvZGUgb3IganVzdCBzcGVlZCB1cCB0aGVpciBjb2RlIG9uIG5vZGVz DQo+PiB3aXRoIGZyYWdtZW50ZWQgbWVtb3J5IC0gZm9yIDJuZCBhbmQgM3JkIG9yZGVycy4NCj4+ DQo+PiBtbSBwZXJmb3JtYW5jZSBpc3N1ZXMgYXJlIHRvdWdoLCB5b3Uga25vdywgYW5kIHRoaXMg aXMganVzdCBhbm90aGVyIHdheSB0bw0KPj4gZ2FpbiBtb3JlIHBlcmZvcm1hbmNlLiBJdCB3b24n dCBhdm9pZCB0aGUgbmVjZXNzaXR5IG9mIGRpZ2dpbmcgbW0gZm9yIHN1cmUsDQo+PiBidXQgbWln aHQgZGVjcmVhc2UgdGhlIHByZXNzdXJlIGxldmVsLg0KPg0KPiBCdXQgdGhlIHdhcm5pbmcgYWxv bmUgd2lsbCBub3QgZ2l2ZSB1cyB1c2VmdWwgaW5mb3JtYXRpb24gSSBhbSBhZnJhaWQuDQo+IEl0 IHdpbGwgb25seSBnaXZlIHVzLCB0aGVyZSBhcmUgd2FybmluZ3MgYnV0IG5vdCB3aGV0aGVyIHRo b3NlIGFyZQ0KPiBhY3R1YWxseSBhIHByb2JsZW0gb3Igbm90Lg0KDQpZZXMuIEFuZCBldmVuIG1v cmUgLSBhIGxvdCBvZiBoaWdoIG9yZGVyIGFsbG9jYXRpb25zIHdoaWNoIGNhbm5vdCBiZQ0Kc3dp dGNoZWQgdG8ga3ZtYWxsb2MoKSBhcmUgaW4gZHJpdmVycyAtIGZvciBETUEgem9uZXMgLSBzbyB0 aGV5IGFyZSB2ZXJ5DQpyYXJlIGFuZCBtb3N0IHByb2JhYmx5IHdvbid0IGV2ZXIgY2F1c2UgYSBw cm9ibGVtLg0KDQpCdXQgc29tZSBvZiB0aGVtIGNhbiBwb3RlbnRpYWxseSBjYXVzZSBhIHByb2Js ZW0gc29tZSBkYXkuIEFuZCB3YXJuaW5nDQpkb2VzIG5vdCBwcm92aWRlIGluZm8gaG93IHRvIGRp c3Rpbmd1aXNoICJiYWQiIGFuZCAiZ29vZCIgb25lcy4NCkJ1dCBpZiB3ZSBzd2l0Y2ggYm90aCAi YmFkIiBhbmQgImdvb2QiIGJpZyBhbGxvY2F0aW9ucyB0byBrdm1hbGxvYygpLA0KdGhhdCB3b24n dCBodXJ0LCByaWdodD8gQnV0IHRoYXQgd2F5IHdlIGVuc3VyZSB3ZSB3b24ndCBnZXQgYW55IHBy b2JsZW1zDQpmcm9tICJiYWQiIGNhc2VzLCBldmVuIGlmIHdlIGRvbid0IGtub3cgZXhhY3RseSB3 aGljaCBvZiB0aGVtIGFyZSBwb3RlbnRpYWxseSAiYmFkIi4NCg0KPiBTbyBJIHJlYWxseSBiZWxp ZXZlIHRoYXQgdXNpbmcgZXhpc3RpbmcNCj4gdHJhY2Vwb2ludHMgb3IgYWRkIHNvbWUgdGhhdCB3 aWxsIGZpbGwgbWlzc2luZyBnYXBzIHdpbGwgYmUgbXVjaCBtb3JlDQo+IGJldHRlciBsb25nIHRl cm0uIEFuZCB3ZSBkbyBub3QgaGF2ZSB0byBhZGQgYW5vdGhlciBjb25maWcgYW5kIHRvdWNoIHRo ZQ0KPiBjb2RlIGFzIGEgYm9udXMuDQoNCg0KQW5kIE1pY2hhbCwgdGhhbmsgeW91IHZlcnkgbXVj aCBvbmNlIGFnYWluIGZvciB0aGlzIGNvbnZlcnNhdGlvbi4NCmkgYXBwcmVjaWF0ZSBpdC4NCg0K LS0NCkJlc3QgcmVnYXJkcywNCg0KS29uc3RhbnRpbiBLaG9yZW5rbywNClZpcnR1b3p6byBMaW51 eCBLZXJuZWwgVGVhbQ0KDQo=