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=-3.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=no 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 F104FCA9EC3 for ; Thu, 31 Oct 2019 09:04:39 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D1A842083E for ; Thu, 31 Oct 2019 09:04:39 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D1A842083E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nvidia.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 04FF06EDCF; Thu, 31 Oct 2019 09:04:23 +0000 (UTC) Received: from hqemgate15.nvidia.com (hqemgate15.nvidia.com [216.228.121.64]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6EA506EBB5 for ; Wed, 30 Oct 2019 22:49:40 +0000 (UTC) Received: from hqpgpgate101.nvidia.com (Not Verified[216.228.121.13]) by hqemgate15.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) id ; Wed, 30 Oct 2019 15:49:41 -0700 Received: from hqmail.nvidia.com ([172.20.161.6]) by hqpgpgate101.nvidia.com (PGP Universal service); Wed, 30 Oct 2019 15:49:34 -0700 X-PGP-Universal: processed; by hqpgpgate101.nvidia.com on Wed, 30 Oct 2019 15:49:34 -0700 Received: from HQMAIL109.nvidia.com (172.20.187.15) by HQMAIL111.nvidia.com (172.20.187.18) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Wed, 30 Oct 2019 22:49:34 +0000 Received: from rnnvemgw01.nvidia.com (10.128.109.123) by HQMAIL109.nvidia.com (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Wed, 30 Oct 2019 22:49:33 +0000 Received: from blueforge.nvidia.com (Not Verified[10.110.48.28]) by rnnvemgw01.nvidia.com with Trustwave SEG (v7, 5, 8, 10121) id ; Wed, 30 Oct 2019 15:49:32 -0700 From: John Hubbard To: Andrew Morton Subject: [PATCH 00/19] mm/gup: track dma-pinned pages: FOLL_PIN, FOLL_LONGTERM Date: Wed, 30 Oct 2019 15:49:11 -0700 Message-ID: <20191030224930.3990755-1-jhubbard@nvidia.com> X-Mailer: git-send-email 2.23.0 MIME-Version: 1.0 X-NVConfidentiality: public X-Mailman-Approved-At: Thu, 31 Oct 2019 09:04:21 +0000 X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1572475781; bh=hGPWt3QMTkMrTVgcNxptwRVsRQFog4chezBSn5RrX48=; h=X-PGP-Universal:From:To:CC:Subject:Date:Message-ID:X-Mailer: MIME-Version:X-NVConfidentiality:Content-Type: Content-Transfer-Encoding; b=oSHxJf1EatQQbMkaqcITETA6JEtlVNEdgum3xhm5ffOxR+XNpeSZn2n8WTQHBmpXQ XlkO24RsW/LfP+8EN9BTaQwIJCQeS6tAdSrqh0UNPmHthTKHhTKpacZ0s3MALr4vP4 itdh7PP+CYbjuibtGti4rkBun1FGTraZnTUXeqaBCjMHeV5JXay6xNR7ZezCZ5Svft FFN/X5vLeUp/Ci4mFUSlT4/inZ55UOWuZDRaqx1HBrshBWu8j4oFc9DE2XSBK2JNQX 6Jh4/4uKc510NHecCig4JLuKjY+bJQdP2CLVRpOkMVKoGbX2eD/Zh91jJYPyPfFHGf vWCpcQszWYTnQ== X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Michal Hocko , Jan Kara , kvm@vger.kernel.org, linux-doc@vger.kernel.org, David Airlie , Dave Chinner , dri-devel@lists.freedesktop.org, LKML , linux-mm@kvack.org, Paul Mackerras , linux-kselftest@vger.kernel.org, Ira Weiny , Jonathan Corbet , linux-rdma@vger.kernel.org, Michael Ellerman , Christoph Hellwig , Jason Gunthorpe , Vlastimil Babka , =?UTF-8?q?Bj=C3=B6rn=20T=C3=B6pel?= , linux-media@vger.kernel.org, Shuah Khan , John Hubbard , linux-block@vger.kernel.org, =?UTF-8?q?J=C3=A9r=C3=B4me=20Glisse?= , Al Viro , Dan Williams , Mauro Carvalho Chehab , Magnus Karlsson , Jens Axboe , netdev@vger.kernel.org, Alex Williamson , linux-fsdevel@vger.kernel.org, bpf@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, "David S . Miller" , Mike Kravetz Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Message-ID: <20191030224911.-QwVcUPDTbnv9anW5gOnkqIS9TdLxuLuxET5UgukIgo@z> SGksCgpUaGlzIGFwcGxpZXMgY2xlYW5seSB0byBsaW51eC1uZXh0IGFuZCBtbW90bSwgYW5kIGFs c28gdG8gbGludXguZ2l0IGlmCmxpbnV4LW5leHQncyBjb21taXQgMjBjYWMxMDcxMGM5ICgibW0v Z3VwX2JlbmNobWFyazogZml4IE1BUF9IVUdFVExCCmNhc2UiKSBpcyBmaXJzdCBhcHBsaWVkIHRo ZXJlLgoKVGhpcyBwcm92aWRlcyB0cmFja2luZyBvZiBkbWEtcGlubmVkIHBhZ2VzLiBUaGlzIGlz IGEgcHJlcmVxdWlzaXRlIHRvCnNvbHZpbmcgdGhlIGxhcmdlciBwcm9ibGVtIG9mIHByb3BlciBp bnRlcmFjdGlvbnMgYmV0d2VlbiBmaWxlLWJhY2tlZApwYWdlcywgYW5kIFtSXURNQSBhY3Rpdml0 aWVzLCBhcyBkaXNjdXNzZWQgaW4gWzFdLCBbMl0sIFszXSwgYW5kIGluCmEgcmVtYXJrYWJsZSBu dW1iZXIgb2YgZW1haWwgdGhyZWFkcyBzaW5jZSBhYm91dCAyMDE3LiA6KQoKQSBuZXcgaW50ZXJu YWwgZ3VwIGZsYWcsIEZPTExfUElOIGlzIGludHJvZHVjZWQsIGFuZCB0aG9yb3VnaGx5CmRvY3Vt ZW50ZWQgaW4gdGhlIGxhc3QgcGF0Y2gncyBEb2N1bWVudGF0aW9uL3ZtL3Bpbl91c2VyX3BhZ2Vz LnJzdC4KCkkgYmVsaWV2ZSB0aGF0IHRoaXMgd2lsbCBwcm92aWRlIGEgZ29vZCBzdGFydGluZyBw b2ludCBmb3IgZG9pbmcgdGhlCmxheW91dCBsZWFzZSB3b3JrIHRoYXQgSXJhIFdlaW55IGhhcyBi ZWVuIHdvcmtpbmcgb24uIFRoYXQncyBiZWNhdXNlCnRoZXNlIG5ldyB3cmFwcGVyIGZ1bmN0aW9u cyBwcm92aWRlIGEgY2xlYW4sIGNvbnN0cmFpbmVkLCBzeXN0ZW1hdGljYWxseQpuYW1lZCBzZXQg b2YgZnVuY3Rpb25hbGl0eSB0aGF0LCBhZ2FpbiwgaXMgcmVxdWlyZWQgaW4gb3JkZXIgdG8gZXZl bgprbm93IGlmIGEgcGFnZSBpcyAiZG1hLXBpbm5lZCIuCgpJbiBjb250cmFzdCB0byBlYXJsaWVy IGFwcHJvYWNoZXMsIHRoZSBwYWdlIHRyYWNraW5nIGNhbiBiZQppbmNyZW1lbnRhbGx5IGFwcGxp ZWQgdG8gdGhlIGtlcm5lbCBjYWxsIHNpdGVzIHRoYXQsIHVudGlsIG5vdywgaGF2ZQpiZWVuIHNp bXBseSBjYWxsaW5nIGdldF91c2VyX3BhZ2VzKCkgKCJndXAiKS4gSW4gb3RoZXIgd29yZHMsIG9w dC1pbiBieQpjaGFuZ2luZyBmcm9tIHRoaXM6CgogICAgZ2V0X3VzZXJfcGFnZXMoKSAoc2V0cyBG T0xMX0dFVCkKICAgIHB1dF9wYWdlKCkKCnRvIHRoaXM6CiAgICBwaW5fdXNlcl9wYWdlcygpIChz ZXRzIEZPTExfUElOKQogICAgcHV0X3VzZXJfcGFnZSgpCgpCZWNhdXNlIHRoZXJlIGFyZSBpbnRl cmRlcGVuZGVuY2llcyB3aXRoIEZPTExfTE9OR1RFUk0sIGEgc2ltaWxhcgpjb252ZXJzaW9uIGFz IGZvciBGT0xMX1BJTiwgd2FzIGFwcGxpZWQuIFRoZSBjaGFuZ2Ugd2FzIGZyb20gdGhpczoKCiAg ICBnZXRfdXNlcl9wYWdlcyhGT0xMX0xPTkdURVJNKSAoYWxzbyBzZXRzIEZPTExfR0VUKQogICAg cHV0X3BhZ2UoKQoKdG8gdGhpczoKICAgIHBpbl9sb25ndGVybV9wYWdlcygpIChzZXRzIEZPTExf UElOIHwgRk9MTF9MT05HVEVSTSkKICAgIHB1dF91c2VyX3BhZ2UoKQoKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClBhdGNoIHN1bW1h cnk6CgoqIFBhdGNoZXMgMS00OiByZWZhY3RvcmluZyBhbmQgcHJlcGFyYXRvcnkgY2xlYW51cCwg aW5kZXBlbmRlbnQgZml4ZXMKICAgIChQYXRjaCA0OiBWNEwyLWNvcmUgYnVnIGZpeCAoY2FuIGJl IHNlcGFyYXRlbHkgYXBwbGllZCkpCgoqIFBhdGNoIDU6IGludHJvZHVjZSBwaW5fdXNlcl9wYWdl cygpLCBGT0xMX1BJTiwgYnV0IG5vIGZ1bmN0aW9uYWwKICAgICAgICAgICBjaGFuZ2VzIHlldAoq IFBhdGNoZXMgNi0xMTogQ29udmVydCBleGlzdGluZyBwdXRfdXNlcl9wYWdlKCkgY2FsbGVycywg dG8gdXNlIHRoZQogICAgICAgICAgICAgICAgbmV3IHBpbiooKQoqIFBhdGNoIDEyOiBBY3RpdmF0 ZSB0cmFja2luZyBvZiBGT0xMX1BJTiBwYWdlcy4KKiBQYXRjaGVzIDEzLTE1OiBjb252ZXJ0IEZP TExfTE9OR1RFUk0gY2FsbGVycwoqIFBhdGNoZXM6IDE2LTE3OiBndXBfYmVuY2htYXJrIGFuZCBy dW5fdm10ZXN0cyBzdXBwb3J0CiogUGF0Y2ggMTg6IGVuZm9yY2UgRk9MTF9MT05HVEVSTSBhcyBh IGd1cC1pbnRlcm5hbCAob25seSkgZmxhZwoqIFBhdGNoIDE5OiBEb2N1bWVudGF0aW9uL3ZtL3Bp bl91c2VyX3BhZ2VzLnJzdAoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09ClRlc3Rpbmc6CgoqIEkndmUgZG9uZSBzb21lIG92ZXJhbGwg a2VybmVsIHRlc3RpbmcgKExUUCwgYW5kIGEgZmV3IG90aGVyIGdvb2RpZXMpLAogIGFuZCBzb21l IGRpcmVjdGVkIHRlc3RpbmcgdG8gZXhlcmNpc2Ugc29tZSBvZiB0aGUgY2hhbmdlcy4gQW5kIGFz IHlvdQogIGNhbiBzZWUsIGd1cF9iZW5jaG1hcmsgaXMgZW5oYW5jZWQgdG8gZXhlcmNpc2UgdGhp cy4gQmFzaWNhbGx5LCBJJ3ZlIGJlZW4KICBhYmxlIHRvIHJ1bnRpbWUgdGVzdCB0aGUgY29yZSBn ZXRfdXNlcl9wYWdlcygpIGFuZCBwaW5fdXNlcl9wYWdlcygpIGFuZAogIHJlbGF0ZWQgcm91dGlu ZXMsIGJ1dCBub3Qgc28gbXVjaCBvbiBzZXZlcmFsIG9mIHRoZSBjYWxsIHNpdGVzLS1idXQgdGhv c2UKICBhcmUgZ2VuZXJhbGx5IGp1c3QgYSBjb3VwbGUgb2YgbGluZXMgY2hhbmdlZCwgZWFjaC4K CiAgTm90IG11Y2ggb2YgdGhlIGtlcm5lbCBpcyBhY3R1YWxseSB1c2luZyB0aGlzLCB3aGljaCBv biBvbmUgaGFuZAogIHJlZHVjZXMgcmlzayBxdWl0ZSBhIGxvdC4gQnV0IG9uIHRoZSBvdGhlciBo YW5kLCB0ZXN0aW5nIGNvdmVyYWdlCiAgaXMgbG93LiBTbyBJJ2QgbG92ZSBpdCBpZiwgaW4gcGFy dGljdWxhciwgdGhlIEluZmluaWJhbmQgYW5kIFBvd2VyUEMKICBmb2xrcyBjb3VsZCBkbyBhIHNt b2tlIHRlc3Qgb2YgdGhpcyBzZXJpZXMgZm9yIG1lLgoKICBBbHNvLCBteSBydW50aW1lIHRlc3Rp bmcgZm9yIHRoZSBjYWxsIHNpdGVzIHNvIGZhciBpcyB2ZXJ5IHdlYWs6CgogICAgKiBpb191cmlu ZzogU29tZSBkaXJlY3RlZCB0ZXN0cyBmcm9tIGxpYnVyaW5nIGV4ZXJjaXNlIHRoaXMsIGFuZCB0 aGV5IHBhc3MuCiAgICAqIHByb2Nlc3Nfdm1fYWNjZXNzLmM6IEEgc21hbGwgZGlyZWN0ZWQgdGVz dCBwYXNzZXMuCiAgICAqIGd1cF9iZW5jaG1hcms6IHRoZSBlbmhhbmNlZCB2ZXJzaW9uIGhpdHMg dGhlIG5ldyBndXAuYyBjb2RlLCBhbmQgcGFzc2VzLgogICAgKiBpbmZpbmliYW5kIChzdGlsbCBv bmx5IGhhdmUgY3J1ZGUgIklCIHBpbmdwb25nIiB3b3JraW5nLCBvbiBhCiAgICAgICAgICAgICAg ICAgIGdvb2QgZGF5OiBpdCdzIG5vdCBleGVyY2lzaW5nIG15IGNvbnZlcnNpb25zIGF0IHJ1bnRp bWUuLi4pCiAgICAqIFZGSU86IGNvbXBpbGVzIChJJ20gdm93aW5nIHRvIHNldCB1cCBhIHJ1biB0 aW1lIHRlc3Qgc29vbiwgYnV0IGl0J3MKICAgICAgICAgICAgICAgICAgICAgIG5vdCByZWFkeSBq dXN0IHlldCkKICAgICogcG93ZXJwYzogaXQgY29tcGlsZXMuLi4KICAgICogZHJtL3ZpYTogY29t cGlsZXMuLi4KICAgICogZ29sZGZpc2g6IGNvbXBpbGVzLi4uCiAgICAqIG5ldC94ZHA6IGNvbXBp bGVzLi4uCiAgICAqIG1lZGlhL3Y0bDI6IGNvbXBpbGVzLi4uCgo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KTmV4dDoKCiogR2V0IHRo ZSBibG9jay9iaW9fdmVjIHNpdGVzIGNvbnZlcnRlZCB0byB1c2UgcGluX3VzZXJfcGFnZXMoKS4K CiogV29yayB3aXRoIElyYSBhbmQgRGF2ZSBDaGlubmVyIHRvIHdlYXZlIHRoaXMgdG9nZXRoZXIg d2l0aCB0aGUKICBsYXlvdXQgbGVhc2Ugc3R1ZmYuCgo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KClsxXSBTb21lIHNsb3cgcHJvZ3Jl c3Mgb24gZ2V0X3VzZXJfcGFnZXMoKSAoQXByIDIsIDIwMTkpOiBodHRwczovL2x3bi5uZXQvQXJ0 aWNsZXMvNzg0NTc0LwpbMl0gRE1BIGFuZCBnZXRfdXNlcl9wYWdlcygpIChMUEM6IERlYyAxMiwg MjAxOCk6IGh0dHBzOi8vbHduLm5ldC9BcnRpY2xlcy83NzQ0MTEvClszXSBUaGUgdHJvdWJsZSB3 aXRoIGdldF91c2VyX3BhZ2VzKCkgKEFwciAzMCwgMjAxOCk6IGh0dHBzOi8vbHduLm5ldC9BcnRp Y2xlcy83NTMwMjcvCgpKb2huIEh1YmJhcmQgKDE5KToKICBtbS9ndXA6IHBhc3MgZmxhZ3MgYXJn IHRvIF9fZ3VwX2RldmljZV8qIGZ1bmN0aW9ucwogIG1tL2d1cDogZmFjdG9yIG91dCBkdXBsaWNh dGUgY29kZSBmcm9tIGZvdXIgcm91dGluZXMKICBnb2xkaXNoX3BpcGU6IHJlbmFtZSBsb2NhbCBw aW5fdXNlcl9wYWdlcygpIHJvdXRpbmUKICBtZWRpYS92NGwyLWNvcmU6IHNldCBwYWdlcyBkaXJ0 eSB1cG9uIHJlbGVhc2luZyBETUEgYnVmZmVycwogIG1tL2d1cDogaW50cm9kdWNlIHBpbl91c2Vy X3BhZ2VzKigpIGFuZCBGT0xMX1BJTgogIGdvbGRpc2hfcGlwZTogY29udmVydCB0byBwaW5fdXNl cl9wYWdlcygpIGFuZCBwdXRfdXNlcl9wYWdlKCkKICBpbmZpbmliYW5kOiBzZXQgRk9MTF9QSU4s IEZPTExfTE9OR1RFUk0gdmlhIHBpbl9sb25ndGVybV9wYWdlcyooKQogIG1tL3Byb2Nlc3Nfdm1f YWNjZXNzOiBzZXQgRk9MTF9QSU4gdmlhIHBpbl91c2VyX3BhZ2VzX3JlbW90ZSgpCiAgZHJtL3Zp YTogc2V0IEZPTExfUElOIHZpYSBwaW5fdXNlcl9wYWdlc19mYXN0KCkKICBmcy9pb191cmluZzog c2V0IEZPTExfUElOIHZpYSBwaW5fdXNlcl9wYWdlcygpCiAgbmV0L3hkcDogc2V0IEZPTExfUElO IHZpYSBwaW5fdXNlcl9wYWdlcygpCiAgbW0vZ3VwOiB0cmFjayBGT0xMX1BJTiBwYWdlcwogIG1l ZGlhL3Y0bDItY29yZTogcGluX2xvbmd0ZXJtX3BhZ2VzIChGT0xMX1BJTikgYW5kIHB1dF91c2Vy X3BhZ2UoKQogICAgY29udmVyc2lvbgogIHZmaW8sIG1tOiBwaW5fbG9uZ3Rlcm1fcGFnZXMgKEZP TExfUElOKSBhbmQgcHV0X3VzZXJfcGFnZSgpIGNvbnZlcnNpb24KICBwb3dlcnBjOiBib29rM3M2 NDogY29udmVydCB0byBwaW5fbG9uZ3Rlcm1fcGFnZXMoKSBhbmQgcHV0X3VzZXJfcGFnZSgpCiAg bW0vZ3VwX2JlbmNobWFyazogc3VwcG9ydCBwaW5fdXNlcl9wYWdlcygpIGFuZCByZWxhdGVkIGNh bGxzCiAgc2VsZnRlc3RzL3ZtOiBydW5fdm10ZXN0czogaW52b2tlIGd1cF9iZW5jaG1hcmsgd2l0 aCBiYXNpYyBGT0xMX1BJTgogICAgY292ZXJhZ2UKICBtbS9ndXA6IHJlbW92ZSBzdXBwb3J0IGZv ciBndXAoRk9MTF9MT05HVEVSTSkKICBEb2N1bWVudGF0aW9uL3ZtOiBhZGQgcGluX3VzZXJfcGFn ZXMucnN0CgogRG9jdW1lbnRhdGlvbi92bS9pbmRleC5yc3QgICAgICAgICAgICAgICAgICB8ICAg MSArCiBEb2N1bWVudGF0aW9uL3ZtL3Bpbl91c2VyX3BhZ2VzLnJzdCAgICAgICAgIHwgMjEzICsr KysrKysKIGFyY2gvcG93ZXJwYy9tbS9ib29rM3M2NC9pb21tdV9hcGkuYyAgICAgICAgfCAgMTUg Ky0KIGRyaXZlcnMvZ3B1L2RybS92aWEvdmlhX2RtYWJsaXQuYyAgICAgICAgICAgfCAgIDIgKy0K IGRyaXZlcnMvaW5maW5pYmFuZC9jb3JlL3VtZW0uYyAgICAgICAgICAgICAgfCAgIDUgKy0KIGRy aXZlcnMvaW5maW5pYmFuZC9jb3JlL3VtZW1fb2RwLmMgICAgICAgICAgfCAgMTAgKy0KIGRyaXZl cnMvaW5maW5pYmFuZC9ody9oZmkxL3VzZXJfcGFnZXMuYyAgICAgfCAgIDQgKy0KIGRyaXZlcnMv aW5maW5pYmFuZC9ody9tdGhjYS9tdGhjYV9tZW1mcmVlLmMgfCAgIDMgKy0KIGRyaXZlcnMvaW5m aW5pYmFuZC9ody9xaWIvcWliX3VzZXJfcGFnZXMuYyAgfCAgIDggKy0KIGRyaXZlcnMvaW5maW5p YmFuZC9ody9xaWIvcWliX3VzZXJfc2RtYS5jICAgfCAgIDIgKy0KIGRyaXZlcnMvaW5maW5pYmFu ZC9ody91c25pYy91c25pY191aW9tLmMgICAgfCAgIDkgKy0KIGRyaXZlcnMvaW5maW5pYmFuZC9z dy9zaXcvc2l3X21lbS5jICAgICAgICAgfCAgIDUgKy0KIGRyaXZlcnMvbWVkaWEvdjRsMi1jb3Jl L3ZpZGVvYnVmLWRtYS1zZy5jICAgfCAgMTAgKy0KIGRyaXZlcnMvcGxhdGZvcm0vZ29sZGZpc2gv Z29sZGZpc2hfcGlwZS5jICAgfCAgMzUgKy0KIGRyaXZlcnMvdmZpby92ZmlvX2lvbW11X3R5cGUx LmMgICAgICAgICAgICAgfCAgMTUgKy0KIGZzL2lvX3VyaW5nLmMgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgIDUgKy0KIGluY2x1ZGUvbGludXgvbW0uaCAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAxMzMgKysrKy0KIGluY2x1ZGUvbGludXgvbW16b25lLmggICAgICAgICAgICAg ICAgICAgICAgfCAgIDIgKwogaW5jbHVkZS9saW51eC9wYWdlX3JlZi5oICAgICAgICAgICAgICAg ICAgICB8ICAxMCArCiBtbS9ndXAuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgNjIyICsrKysrKysrKysrKysrKystLS0tCiBtbS9ndXBfYmVuY2htYXJrLmMgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgIDgxICsrLQogbW0vaHVnZV9tZW1vcnkuYyAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAzMiArLQogbW0vaHVnZXRsYi5jICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAyOCArLQogbW0vbWVtcmVtYXAuYyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAgNCArLQogbW0vcHJvY2Vzc192bV9hY2Nlc3MuYyAgICAgICAgICAgICAgICAg ICAgICB8ICAyOCArLQogbW0vdm1zdGF0LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAgMiArCiBuZXQveGRwL3hkcF91bWVtLmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwg ICA0ICstCiB0b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy92bS9ndXBfYmVuY2htYXJrLmMgIHwgIDI4 ICstCiB0b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy92bS9ydW5fdm10ZXN0cyAgICAgIHwgIDIyICsK IDI5IGZpbGVzIGNoYW5nZWQsIDEwNjYgaW5zZXJ0aW9ucygrKSwgMjcyIGRlbGV0aW9ucygtKQog Y3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50YXRpb24vdm0vcGluX3VzZXJfcGFnZXMucnN0Cgot LSAKMi4yMy4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=