From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS31976 209.132.180.0/23 X-Spam-Status: No, score=-3.3 required=3.0 tests=AWL,BAYES_00,BODY_8BITS, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id A394A1F463 for ; Tue, 10 Sep 2019 14:39:12 +0000 (UTC) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:cc:subject:date:message-id:references :in-reply-to:content-type:content-id:content-transfer-encoding :mime-version; q=dns; s=default; b=mF6NiCwfL6GSriSVMtsa2dumW75tA HhV3R+NriQ7HLOZfsSUkpYPskkOp3ERjmimm7W9h0T+fc7NQLOzUXjODclcnVqtR AQMIFr6kmp5SmMTiTq/B7JIWdJaHP4Zzhh17NsSKZHRTnBiriWuMIprUAdUV+8OZ kKOs75jy0uopVE= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:cc:subject:date:message-id:references :in-reply-to:content-type:content-id:content-transfer-encoding :mime-version; s=default; bh=xQKJxQ0RahdsSli4JipFqwsns7Y=; b=fYi J2xmAATiQ4hEEmAvsA4wMz1swZqFT1H0n2oc5sX5NyR7ojymsOxiIyvZrOyy7UvN a6U6cwIOGJtz07t95zebRbvLIVZhgR1YqZVDHuNTrGINPG6bk5rT//7elHANWM7t +SMWTnY7r1d5K2ftG7Az3c0yGimiG7C8ZMcH16nw= Received: (qmail 86241 invoked by alias); 10 Sep 2019 14:39:10 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 86232 invoked by uid 89); 10 Sep 2019 14:39:09 -0000 Authentication-Results: sourceware.org; auth=none X-HELO: EUR02-AM5-obe.outbound.protection.outlook.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5v+EcC94NWz6PqEyN0VNxkmaKpPUokSNuIkOL4VsYEI=; b=T8PnQsI6uwWcbEpe/fVclYWp14ksEaHhIdYf2rZbEwoohRoX2XxDhYYFI+W6+ufxgtdBXiMp/DkFcaCS9GHv4I6EX7wGnSDxFJsCVM+iAYrW1jzThCLdrqwXxMQ87cD73wGgO8XSxZPgC1tCKI4k0k4M4AYZmqdghHORfLi89KA= Authentication-Results: spf=temperror (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; sourceware.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;sourceware.org; dmarc=temperror action=none header.from=arm.com; Received-SPF: TempError (protection.outlook.com: error in processing during lookup of arm.com: DNS Timeout) X-CheckRecipientChecked: true X-CR-MTA-CID: 6eb49f560670e965 X-CR-MTA-TID: 64aa7808 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KskjVAf+r1J1Q9TTvi09FyPZO5w/WRXxbxBnelyasRBWLapGD/kOugRPRiDaOnnEDTbdNy08mc1G+UI16EUoAEy27hTlPavjFlILMbCtgvUL7BSrHUB7WmaWKimc404KiGQQlDzhXBgO7+2OSbF78qNRX11yYBJGiMtVocKgdbwOVHxFxgUTe18kmAHwVg871hHZu2fKcOfzajx2QJaZ2cWMYV4lGCxwkAF6Qiq3G48yOH0nmAgL2uptQLJbcT74IK1EknyIeVj0zBeMre57hFzNaN/n3UaujUh+4ZsYVSOxwWo163BCbLabjn0XmGdPXMMgjqTnkCLV2PcK+sIXrQ== 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-SenderADCheck; bh=5v+EcC94NWz6PqEyN0VNxkmaKpPUokSNuIkOL4VsYEI=; b=lrHLuTi8vU+qY5xH2UKmCv4GkWTPIbjLt8sBEdxl5PEq6GavORdw7szsuFLN+o3pqqCFBry3AvBmu4SI6nSqwZj8tIyy3yuuP2iVj+1WmISI33HdcoxMqQDwT67dOMXrKHgrPN5MB8uWtBIqRm1kkywuTe+TaKjofV/zEs7elOIF9mZbJcGKybaYpoIoymxrL1O1QxDTT9gZ2mZZhyaRB2O/LZPiRgo/Y6B1dxAsaHQXcoIAMibg/rQBncpvUq0xe34bm79RT5sr22PSSIy9/gfM5TFUEDNjHC3ifcUzuywSVI0MVezdYO3MJYE2YCmoO2b5fFifwfq73CkuRXGK9Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5v+EcC94NWz6PqEyN0VNxkmaKpPUokSNuIkOL4VsYEI=; b=T8PnQsI6uwWcbEpe/fVclYWp14ksEaHhIdYf2rZbEwoohRoX2XxDhYYFI+W6+ufxgtdBXiMp/DkFcaCS9GHv4I6EX7wGnSDxFJsCVM+iAYrW1jzThCLdrqwXxMQ87cD73wGgO8XSxZPgC1tCKI4k0k4M4AYZmqdghHORfLi89KA= From: Szabolcs Nagy To: Paul Eggert , Richard Earnshaw CC: nd , GNU C Library Subject: Re: RFD - Support for memory tagging in GLIBC Date: Tue, 10 Sep 2019 14:38:52 +0000 Message-ID: <99caf4bc-57fc-9a51-478f-254e03045e31@arm.com> References: <8306e032-f980-a409-5239-74629e79d041@arm.com> In-Reply-To: user-agent: Mozilla/5.0 (X11; Linux aarch64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 Authentication-Results-Original: spf=none (sender IP is ) smtp.mailfrom=Szabolcs.Nagy@arm.com; X-Microsoft-Antispam-Untrusted: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600166)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020);SRVR:AM4PR0802MB2354; X-MS-Exchange-PUrlCount: 3 x-ms-exchange-transport-forked: True x-checkrecipientrouted: true x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508; X-Forefront-Antispam-Report-Untrusted: SFV:NSPM;SFS:(10009020)(4636009)(376002)(39860400002)(366004)(346002)(136003)(396003)(53484002)(51914003)(189003)(199004)(25786009)(64756008)(486006)(6512007)(99286004)(2171002)(14454004)(14444005)(6636002)(316002)(58126008)(66556008)(66476007)(54906003)(110136005)(6486002)(5660300002)(6436002)(71190400001)(71200400001)(66946007)(4326008)(446003)(11346002)(86362001)(81156014)(26005)(52116002)(229853002)(31696002)(8676002)(44832011)(476003)(65956001)(66066001)(6306002)(256004)(53936002)(53546011)(6506007)(386003)(102836004)(186003)(561944003)(76176011)(66446008)(2616005)(6116002)(3846002)(8936002)(36756003)(2906002)(305945005)(31686004)(81166006)(966005)(7736002)(6246003)(478600001)(65806001);DIR:OUT;SFP:1101;SCL:1;SRVR:AM4PR0802MB2354;H:AM4PR0802MB2307.eurprd08.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Message-Info-Original: pagyES1SUDvtl/xoRt1Th6sEpgO3oAlkJFUWkeu2gZmu854Vaq1iRMBAh3odFX80AfH+W9rESOSMR/Hr+yWBoo4pYhhqtqNcGQsptANr4EpsrVkT0nvTpgyfDWOGzuHYnWWVkeWlw83RXcDZUgcMGFHAWDFcW0lUbxsS5QDdpJZO3YmPavvNkj6jLotyoInVTJpisnk6J00yLfgHs2rZTO/iqv14nvaOCVcGTvO7YziyUqwVWPn2vxlbaNo1naQ9Bzg5F2OERpThMV/b6pCGSm8D7ImSg78Y3+hWI1Z5ReUzvQX1UTggC+TGZ2gDxRRT+pD/eF6hVEnW2flhTMZnBK8OMsabWVGVc3tRWa/0p0cPRw0hZ66/HkPGFbvNJutO7G9OxmY3tV35vPZXswzVCJMacn+2E9moM6MOZmByXIU= Content-Type: text/plain; charset="utf-8" Content-ID: <2F81710D9060D74B8AB549ED9049F1FD@eurprd08.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 Original-Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Szabolcs.Nagy@arm.com; X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT052.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 651bc726-059a-492c-1655-08d735fc99b9 T24gMDYvMDkvMjAxOSAxNjowMywgUGF1bCBFZ2dlcnQgd3JvdGU6DQo+IFRoYW5rcyBmb3IgdGhl IGhlYWRzLXVwIG9uIHRoaXMuIFNvbWUgcXVlc3Rpb25zOg0KDQpSaWNoYXJkIGFscmVhZHkgd2Vu dCB0byBNb250cmVhbCwgd2Ugd2lsbCBsaWtlbHkgZGlzY3Vzcw0KdGhlIGRlc2lnbiBhdCB0aGUg Q2F1bGRyb24sIGJ1dCBpIHRyeSB0byBnaXZlIHNvbWUgYW5zd2Vycy4NCg0KPiANCj4gSWYgSSBi dWlsZCBhbiBhcHAgd2l0aCB0aGUgcHJvcG9zZWQgZ2xpYmMsIGNhbiBJIHJ1biBpdCB3aXRoIG1l bW9yeSB0YWdnaW5nIGRpc2FibGVkIGV2ZW4gaWYgdGhlIGhhcmR3YXJlIHN1cHBvcnRzIG1lbW9y eSB0YWdnaW5nPyBJZiBzbywgd2lsbA0KPiBtYWxsb2MgZXRjLiBiZWhhdmUgZGlmZmVyZW50bHkg KGUuZy4sIHJldHVybiBkaWZmZXJlbnQgYWRkcmVzc2VzKSBkZXBlbmRpbmcgb24gd2hldGhlciBt ZW1vcnkgdGFnZ2luZyBpcyBlbmFibGVkPyBUaGF0IG1pZ2h0IG1ha2UgZGVidWdnaW5nIGhhcmRl ci4NCj4gDQoNCk1URSB3aWxsIGxpa2VseSBiZSBvcHQtaW4gZXZlbiBpZiB0aGUgaHcgc3VwcG9y dHMgaXQsDQp0aGUgZXhhY3QgbWVjaGFuaXNtcyBhcmUgbm90IGZpbmFsaXplZCB5ZXQuDQoNCnRo ZXJlIGNhbiBiZSB0d28gbWFsbG9jIGltcGxlbWVudGF0aW9uczogbm9ybWFsIGFuZA0KdGFnZ2lu ZyBvbmUsIGFuZCBsaWJjIHN3aXRjaGVzIGJldHdlZW4gdGhlbSBhdCBwcm9jZXNzDQpzdGFydHVw IGJlZm9yZSB0aGUgZmlyc3QgbWFsbG9jLiAodGhleSB3b24ndCBiZWhhdmUgdGhlDQpzYW1lIHdh eTogdGFnZ2luZyByZXF1aXJlcyByb3VuZGluZyB1cCB0aGluZ3MgdG8gMTYgYnl0ZQ0KZ3JhbnVs ZXMgYW5kIGJyayB3b24ndCBiZSB1c2VkIGFzIGl0IGhhcyBubyBjb252ZW5pZW50DQpmbGFncyB0 byBlbmFibGUvZGlzYWJsZSB0YWdnaW5nLikNCg0KaWYgdGhlIGh3IHN1cHBvcnRzIE1URSB3ZSBj YW4gdXNlIHRoZSB0YWdnaW5nIG1hbGxvYw0KYWx3YXlzIGFuZCBqdXN0IGVuYWJsZS9kaXNhYmxl IHRhZ2dpbmcgb2YgcGFnZXMNCnJldHVybmVkIGJ5IG1hbGxvYyAoY29sb3JpbmcgaW5zdHJ1Y3Rp b25zIGFyZSBzdGlsbA0KZXhlY3V0ZWQgYnV0IHRoZXkgaGF2ZSBubyBlZmZlY3Qgb24gbm9uLXRh Z2dhYmxlDQpwYWdlcykuDQoNCm9yIHRhZ2dpbmcgbWFsbG9jIGNhbiBiZSB1c2VkIHdpdGggdGFn Z2VkIG1lbW9yeSBwYWdlcywNCmJ1dCBkaXNhYmxlIHRhZyBjaGVja2luZyBvZiBtZW1vcnkgYWNj ZXNzZXMgKGxpa2VseQ0KdGhpcyB3aWxsIGJlIGEgcGVyIHByb2Nlc3Mgb3IgdGhyZWFkIHNldHRp bmcgdGhhdCBjYW4NCmJlIGRpc2FibGVkLCBlbmFibGVkIHdpdGggYXN5bmMgaW1wcmVjaXNlIGZh dWx0cywgb3INCmVuYWJsZWQgd2l0aCBwcmVjaXNlIGZhdWx0cykuDQoNCj4gV2hhdCdzIHRoZSBh cHBsaWNhdGlvbiBtb2RlbCB3aGVuIGEgcHJvZ3JhbSB2aW9sYXRlcyB0aGUgbWVtb3J5IHRhZ2dp bmcgcnVsZXM/IFByZXN1bWFibHkgaXQgZ2V0cyBhIFNJR1NFR1Y7IHdoYXQgc29ydCBvZiBzaV9j b2RlcyBkb2VzIGl0IGdldD8NCj4gZXRjLiBUaGlzIHdvdWxkIG5lZWQgZG9jdW1lbnRhdGlvbiwg cHJlc3VtYWJseS4NCg0KdGhpcyBpcyBwYXJ0IG9mIHRoZSBrZXJuZWwgYWJpIHRoYXQncyBzdGls bCBiZWluZyB3b3JrZWQNCm91dCwgYnV0IGZvciAicHJlY2lzZSBmYXVsdCIgbW9kZSBpdCB3aWxs IGJlIGEgc2lnbmFsDQooU0lHU0VHViBvciBTSUdCVVMpIGFuZCBsaWtlbHkgdGhlcmUgd2lsbCBi ZSBhbiBleHRlbnNpb24NCnRvIHRoZSBzaWduYWwgY29udGV4dCBzdHJ1Y3R1cmUgdG8gaG9sZCB0 YWdnaW5nIHJlbGF0ZWQNCmluZm9ybWF0aW9uIGlmIG5lY2Vzc2FyeS4NCg0KPiANCj4gQ291bGQg eW91IGVsYWJvcmF0ZSBhIGJpdCBvbiBob3cgdGhlIHByb3Bvc2VkIHdvcmsgcmVsYXRlcyB0byBT UEFSQyBBREksIHN1cHBvcnQgZm9yIHdoaWNoIGlzIGluIHRoZSBMaW51eCBrZXJuZWw/IEZvciBl eGFtcGxlLCB3b3VsZCB0aGUNCj4gZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGUgdHdvIG1lbW9yeS10 YWdnaW5nIGFyY2hpdGVjdHVyZXMgYmUgdmlzaWJsZSB0byB0aGUgYXBwbGljYXRpb24/DQoNCmkg Y2FuIGdpdmUgc29tZSBvdmVydmlldzoNCg0KYWFyY2g2NCBoYXMgYSBUQkkgZmVhdHVyZTogInRv cCBieXRlIGlnbm9yZWQiIG9mDQpwb2ludGVycyBhdCBtZW1vcnkgYWNjZXNzLCB0aGlzIGlzIGVu YWJsZWQgYnkgZGVmYXVsdA0Kb24gbGludXggc28gYXBwbGljYXRpb25zIGNhbiB1c2UgdGhhdCBi eXRlIGZvciB0aGVpcg0Kb3duIGhhY2tzLg0KDQpob3dldmVyIHRoZSBsaW51eCBzeXNjYWxsIGFi aSBkaWRuJ3QgYWxsb3cgcG9pbnRlcnMNCndpdGggbm9uLXplcm8gdG9wIGJ5dGVzIHBhc3NlZCBp bnRvIHRoZSBrZXJuZWwsIHNlZQ0KbGludXggRG9jdW1lbnRhdGlvbi9hcm02NC90YWdnZWQtcG9p bnRlcnMucnN0DQoNCnRoZXJlIGlzIGEgcHJvcG9zYWwgZm9yIGEgc3lzY2FsbCBhYmkgKG9wdC1p bikgd2hlcmUNCnRoZSBrZXJuZWwgYWNjZXB0cyBwb2ludGVycyB3aXRoIG5vbi16ZXJvIHRvcCBi eXRlLg0KaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbGludXgtYXJtLWtlcm5lbC8yMDE5MDgyMTE2 NDczMC40NzQ1MC0zLWNhdGFsaW4ubWFyaW5hc0Bhcm0uY29tLw0KaHR0cHM6Ly9sb3JlLmtlcm5l bC5vcmcvbGludXgtYXJtLWtlcm5lbC8yMDE5MDgyMTE2NDczMC40NzQ1MC00LWNhdGFsaW4ubWFy aW5hc0Bhcm0uY29tLw0KaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbGludXgtYXJtLWtlcm5lbC8y MDE5MDgyMzE2MzcxNy4xOTU2OS0xLWNhdGFsaW4ubWFyaW5hc0Bhcm0uY29tLw0KdGhpcyByZXF1 aXJlcyBzaWduaWZpY2FudCB3b3JrIG9uIHRoZSBrZXJuZWwgc2lkZQ0KdG8gc2FuaXRpemUvdW50 YWcgdXNlciBwb2ludGVycy4NCg0KSFdBU0FOIGlzIGEgc29mdHdhcmUgaW1wbGVtZW50YXRpb24g b2YgdGhlIG1lbW9yeQ0KdGFnZ2luZyBpZGVhIHRoYXQgdXNlcyBzaGFkb3cgbWFwIChsaWtlIEFT QU4pIHRvDQpzdG9yZSB0aGUgY29sb3IgaW5mb3JtYXRpb24gZm9yIG1lbW9yeSByYW5nZXMgYW5k DQp0aGUgYWFyY2g2NCBUQkkgZmVhdHVyZSB0byBoYXZlIGNvbG9ycyBpbiBwb2ludGVycw0KKG90 aGVyd2lzZSBwYXNzaW5nIHRhZ2dlZCBwb2ludGVyIHRvIHNvbWV0aGluZyB0aGF0DQppcyBub24t SFdBU0FOIGF3YXJlIHdvdWxkIGxlYWQgdG8gYSBmYXVsdCkuIHRoaXMNCnJlcXVpcmVzIHRoZSBu ZXcgc3lzY2FsbCBhYmkgc28gdGFnZ2VkIHBvaW50ZXJzIHdvcmsNCmluIHN5c2NhbGxzIHRvby4g KGNvbXBhcmVkIHRvIEFTQU4gaXQgZG9lcyBub3QgcmVxdWlyZQ0KcG9pc29uZWQgcmVkIHpvbmUg YXJvdW5kIG9iamVjdHMgdG8gZGV0ZWN0IGZhaWx1cmVzLikNCg0KQUFyY2g2NCBNVEUgaXMgc2lt aWxhciBidXQgdGhlIGh3IGhhbmRsZXMgdGhlIGNvbG9yDQppbmZvcm1hdGlvbiBwZXIgMTYgYnl0 ZSBncmFudWxlIGFuZCA0Yml0IGNvbG9ycyBpbg0KcG9pbnRlcnMgYW5kIGNhbiBjaGVjayBub3Jt YWwgbG9hZC9zdG9yZSAoaS5lLiB3b3Jrcw0Kd2l0aG91dCBjb2RlIGdlbiBjaGFuZ2VzKS4gdGhp cyBpcyBub3QgY29tcGF0aWJsZSB3aXRoDQpleGlzdGluZyBzb2Z0d2FyZSB0aGF0IHJlbGllcyBv biBUQkksIHNvIG1heSByZXF1aXJlDQphYmkgbWFya2luZ3MgcGVyIGRzbyBldGMuIGl0IGFsc28g cmVxdWlyZXMgdGhlIG5ldw0Kc3lzY2FsbCBhYmkgdG8gYWxsb3cgdGFnZ2VkIHBvaW50ZXJzIGlu dG8gdGhlIGtlcm5lbCwNCmJ1dCBpbnN0ZWFkIG9mIGp1c3QgaWdub3JpbmcgdGhlIHRvcCBieXRl IHRoZSBrZXJuZWwNCnNob3VsZCB2ZXJpZnkgdGhlIGNvbG9yIGUuZy4gd2hlbiB0aGUgcmVhZCBh bmQgd3JpdGUNCnN5c2NhbGxzIGFjY2VzcyB1c2VyIG1lbW9yeS4NCg0KU1BBUkMgQURJIGlzIHNp bWlsYXIgdG8gTVRFLCBidXQgdGhlIGtlcm5lbCBzeXNjYWxsIGFiaQ0KaXMgbm90IHlldCBmaXhl ZCB0byBkZWFsIHdpdGggdGFnZ2VkIHBvaW50ZXJzIGluIGRyaXZlcnMNCmV0YyB3aGljaCBtZWFu cyBhbnkgbm9uLXRyaXZpYWwgc29mdHdhcmUgd291bGQgbm90IHdvcmsNCndpdGggdGFnZ2VkIGhl YXAgb24gbGludXggY3VycmVudGx5LiAoaWlyYyBpdCB1c2VzIDRiaXQNCnRhZ3MgYW5kIG1lbW9y eSBpcyB0YWdnZWQgd2l0aCA2NGJ5dGUgZ3JhbnVsZS4gaXQgY2FsbHMNCnRoZSB0YWdzIHZlcnNp b25zLCBNVEUgY2FsbHMgdGhlbSBjb2xvcnMuKQ0KDQppZGVhbGx5IGhlYXAgdGFnZ2luZyBzaG91 bGQgYmUgdHJhbnNwYXJlbnQgdG8gY29uZm9ybWluZw0KYyBwcm9ncmFtcyBhbmQgdGhlbiB0aGVy ZSBpcyBubyBkaWZmZXJlbmNlIGJldHdlZW4gQURJIGFuZA0KTVRFLCBidXQgaW4gcHJhY3RpY2Ug aSdkIGV4cGVjdCB2YXJpb3VzIHN1YnRsZSBkaWZmZXJlbmNlcw0KKGZhdWx0IGhhbmRsaW5nLCBr ZXJuZWwgc2lkZSBjaGVja3MsIHRhZ3MgaW4gY29yZSBkdW1wcywNCnRhZ3MgaW4gd2VpcmQgbWVt b3J5LCByZXNlcnZlZCBjb2xvcnMgZm9yIHNwZWNpYWwgbWVhbmluZywNCmVuYWJsZS9kaXNhYmxl IGtub2JzLC4uLikuDQoNCmkgaG9wZSB0aGlzIGhlbHBzLg0KDQo+IA0KPiBJIGtub3cgeW91IHdl cmVuJ3QgYXNraW5nIGZvciBkZXRhaWxlZCBjb2RlIGNvbW1lbnRzLCBidXQgYSBjb3VwbGUgdGhp bmdzIGFueXdheToNCj4gDQo+PiArwqAgYnl0ZXMgPSBST1VORF9VUF9BTExPQ0FUSU9OX1NJWkUg KGJ5dGVzKTsNCj4gDQo+IFRoaXMgbWlzZmlyZXMgaWYgYnl0ZXMgPT0gU0laRV9NQVguDQo+IA0K Pj4gK8KgIC8qIFF1aWNrbHkgY2hlY2sgdGhhdCB0aGUgZnJlZWQgcG9pbnRlciBtYXRjaGVzIHRo ZSB0YWcgZm9yIHRoZSBtZW1vcnkuDQo+PiArwqDCoMKgwqAgVGhpcyBnaXZlcyBhIHVzZWZ1bCBk b3VibGUtZnJlZSBkZXRlY3Rpb24uwqAgKi8NCj4+ICvCoCAqKHZvbGF0aWxlIGNoYXIgKiltZW07 DQo+IA0KPiBXb3VsZG4ndCBpdCBiZSBzYWZlciB0byBjaGVjayBhbGwgdGhlIHN0b3JhZ2UgdGhh dCB0aGUgZnJlZWQgcG9pbnRlciBhZGRyZXNzZXM/IEFsdGhvdWdoIE8oc2l6ZSkgcmF0aGVyIHRo YW4gTygxKSwgd2l0aCBNVEUgZnJlZSBpcyBPKHNpemUpDQo+IGFueXdheSBzby4uLi4NCj4gDQo+ PiArwqAgLyogSWYgd2UgYXJlIHVzaW5nIG1lbW9yeSB0YWdnaW5nLCB0aGVuIHdlIG5lZWQgdG8g c2V0IHRoZSB0YWdzDQo+PiArwqDCoMKgwqAgcmVnYXJkbGVzcyBvZiBNT1JFQ09SRV9DTEVBUlMs IHNvIHdlIHplcm8gdGhlIHdob2xlIGJsb2NrIHdoaWxlDQo+PiArwqDCoMKgwqAgZG9pbmcgc28u wqAgKi8NCj4gDQo+IFNob3VsZCB0aGVyZSBiZSBhIE1PUkVDT1JFX1RBR1M/IFRoYXQgaXMsIHRo ZSBtb3JlY29yZSBwcmltaXRpdmUgbWlnaHQgYmUgYWJsZSB0byB0YWcgZm9yIHVzIGp1c3QgYXMg aXQgY2xlYXJzIGZvciB1cy4NCg0K