Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp190324iob; Mon, 2 May 2022 16:44:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxLW9zESZ3JRVNEzk6EP8BzHwPY4qJMLFUJdHjBZ/MOxIGUlRAhSjqG+BYy3U3N+BEQYZEp X-Received: by 2002:a17:90b:3910:b0:1dc:515e:1b12 with SMTP id ob16-20020a17090b391000b001dc515e1b12mr1741299pjb.107.1651535064378; Mon, 02 May 2022 16:44:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651535064; cv=none; d=google.com; s=arc-20160816; b=dU4ckje0/i2jDyidG/gXk5UCSrzZSh6qqkweN3Li4OHFBQL8vB6Gdqar51B5Q2roXG rDr4n0KIideWaDqr9QlYxlR3ierEHt1LE0YgUDejiyyDG4aAY4v085ZnuRZj0ko8D9wQ pUZGWaDFOa6EQypZUnujRbSFCcg7FzixwSYwl5VPzRt4QkV4i+2LGZdTBh16lYgRvWwA OEJDzc08nIvcx1yc6WwSc4mQ+KR19HDzr9xhXFo9YUv3Kvn+4fn9UBsHTRIJzbU43KaM 2cl0O5u/5Rlea+9JsbckxO9oPGBh3QnoVYAN9XrsTIIdfiANyEY897YCEnhHXIzHwAxh qMqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:subject:user-agent:mime-version:date:message-id :dkim-signature; bh=EaA43+lq703oqOaiKMUFVMTMGLQEfIcFBomnlHp/XXQ=; b=f1qL0+6OWcDY5iycKgdupXpxw3XKYxTM9u5owf51D4GTEInfgGNz3+m460hf3QvzmO HCwrOL0i8Ulf5W6kG6pGhGAY3o9EkD12iL7JRHRQl2w/HKkXlX/EsV9U5pa26KB+136W xCiHxtdKM/D3QWqZZ74b+R2h7O4dmIRKudqsLrr4TcyQMx6UIP+xcS8uaWr7C61wvST6 VPNqGgkgyLISXBl5P/3Qzc48dzbR3UljOGWLVESZaELgwsPjgx0mqm72nvbJo5zuU7mU 7Itr7cdiKa0fu4tdXq/9kh8E5aouPsPkZBddYIgzgbRjN45GoXZAgt97TCF/tYLJBJAt bzlQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amazon.com header.s=amazon201209 header.b=iJGQT0ce; spf=softfail (google.com: domain of transitioning linux-crypto-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amazon.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id h127-20020a625385000000b004fa9a8cc0ccsi13869707pfb.100.2022.05.02.16.44.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 May 2022 16:44:24 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-crypto-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@amazon.com header.s=amazon201209 header.b=iJGQT0ce; spf=softfail (google.com: domain of transitioning linux-crypto-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amazon.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id BF7A2338A1; Mon, 2 May 2022 16:44:06 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1386982AbiEBTAj (ORCPT + 99 others); Mon, 2 May 2022 15:00:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36102 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229819AbiEBTAi (ORCPT ); Mon, 2 May 2022 15:00:38 -0400 Received: from smtp-fw-33001.amazon.com (smtp-fw-33001.amazon.com [207.171.190.10]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E6A7B64D8; Mon, 2 May 2022 11:57:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1651517829; x=1683053829; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=EaA43+lq703oqOaiKMUFVMTMGLQEfIcFBomnlHp/XXQ=; b=iJGQT0ceECmhZvFWEiKWrCMA8Svf17x70qkfwL85V1LNGEqK5zAJM28E OhN7jBezwGJ54M4aHR36uPHhi38LdJoLl1MhSef3QUKP1DeWxduZXuc1I MgMr+i0Qlj363VQhwtqaJtgnP8MG4qoSXGLXDksbYBzogXxW08jS+O2Zk M=; X-IronPort-AV: E=Sophos;i="5.91,193,1647302400"; d="scan'208";a="192263801" Received: from iad12-co-svc-p1-lb1-vlan2.amazon.com (HELO email-inbound-relay-pdx-2b-2520d768.us-west-2.amazon.com) ([10.43.8.2]) by smtp-border-fw-33001.sea14.amazon.com with ESMTP; 02 May 2022 18:57:07 +0000 Received: from EX13MTAUWC002.ant.amazon.com (pdx1-ws-svc-p6-lb9-vlan3.pdx.amazon.com [10.236.137.198]) by email-inbound-relay-pdx-2b-2520d768.us-west-2.amazon.com (Postfix) with ESMTPS id 99D8E41529; Mon, 2 May 2022 18:57:06 +0000 (UTC) Received: from EX13D20UWC001.ant.amazon.com (10.43.162.244) by EX13MTAUWC002.ant.amazon.com (10.43.162.240) with Microsoft SMTP Server (TLS) id 15.0.1497.32; Mon, 2 May 2022 18:57:06 +0000 Received: from [0.0.0.0] (10.43.160.180) by EX13D20UWC001.ant.amazon.com (10.43.162.244) with Microsoft SMTP Server (TLS) id 15.0.1497.32; Mon, 2 May 2022 18:57:03 +0000 Message-ID: Date: Mon, 2 May 2022 20:57:01 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.8.1 Subject: Re: [PATCH 2/2] random: add fork_event sysctl for polling VM forks To: "Jason A. Donenfeld" CC: Lennart Poettering , , , Dominik Brodowski , Greg Kroah-Hartman , Theodore Ts'o , "Colm MacCarthaigh" , Torben Hansen , Jann Horn References: <20220502140602.130373-1-Jason@zx2c4.com> <20220502140602.130373-2-Jason@zx2c4.com> <7a1cfd1c-9f0e-f134-e544-83ee6d3cd9c9@amazon.com> From: Alexander Graf In-Reply-To: X-Originating-IP: [10.43.160.180] X-ClientProxiedBy: EX13D16UWC004.ant.amazon.com (10.43.162.72) To EX13D20UWC001.ant.amazon.com (10.43.162.244) Content-Type: text/plain; charset="utf-8"; format="flowed" Content-Transfer-Encoding: base64 X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,NICE_REPLY_A,RDNS_NONE,SPF_HELO_NONE, T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org SGV5IEphc29uLAoKT24gMDIuMDUuMjIgMjA6MjksIEphc29uIEEuIERvbmVuZmVsZCB3cm90ZToK PiBIaSBBbGV4LAo+Cj4gT24gTW9uLCBNYXkgMDIsIDIwMjIgYXQgMDc6NTk6MDhQTSArMDIwMCwg QWxleGFuZGVyIEdyYWYgd3JvdGU6Cj4+IHRvIGNvbGxlY3QgdGhlIHVzZSBjYXNlcyB3ZSBhbGwg aGF2ZSBhbmQgZXZhbHVhdGUgd2hldGhlciB0aGlzIHBhdGNoIGlzCj4+IGEgZ29vZCBzdGVwcGlu ZyBzdG9uZSB0b3dhcmRzIHRoZSBmaW5hbCBzb2x1dGlvbi4KPiBJbmRlZWQsIEknbSBhbGwgZm9y IGNvbGxlY3RpbmcgdXNlIGNhc2VzLiBXaGF0IEkgbWVhbnQgdG8gc2F5IGlzIHRoYXQKPiB3ZSdy ZSBub3QgZ29pbmcgdG8gYWRkIHNvbWV0aGluZyAianVzdCAnY3V6IjsgSSdkIGxpa2UgdG8gaGF2 ZSBzb21lCj4gY29uY3JldGUgdGhpbmdzIGluIG1pbmQuCj4KPiBUbyBkYXRlLCBJJ3ZlIGJhc2lj YWxseSBoYWQgeW91ciBzMm4gY2FzZSBpbiBtaW5kLCBidXQgYXMgeW91IGhhdmVuJ3QKPiByZXNw b25kZWQgdG8gdGhpcyBpbiB0aGUgbGFzdCBtb250aCwgSSBzdGFydGVkIGxvb2tpbmcgdG8gc2Vl IGlmIHRoaXMKCgpVbmZvcnR1bmF0ZSB2YWNhdGlvbiB0aW1pbmcgb24gbXkgc2lkZSBJIHN1cHBv c2UgOikKCgo+IHdhcyB1c2VmdWwgZWxzZXdoZXJlIG9yIGlmIEkgc2hvdWxkIGFiYW5kb24gaXQs IHNvIEkgZmlsZWQgdGhpcyBpc3N1ZQo+IHdpdGggdGhlIEdvIHByb2plY3Q6IDxodHRwczovL2dp dGh1Yi5jb20vZ29sYW5nL2dvL2lzc3Vlcy81MjU0ND4uIFdlJ3JlCj4gb3ZlciBoYWxmd2F5IHRo cm91Z2ggNS4xOCBub3csIGFuZCBvbmx5IGF0IHRoaXMgcG9pbnQgaGF2ZSB5b3UgYXJyaXZlZAo+ IHRvIGRpc2N1c3MgYW5kIGZpbmFsaXplIHRoaW5ncy4gU28gaW4gYWxsIGxpa2VsaWhvb2Qgd2Un bGwgd2luZCB1cAo+IHRhYmxpbmcgdGhpcyB1bnRpbCA1LjIwIG9yIG5ldmVyLCBzaW5jZSB3aGF0 IEkgdGhvdWdodCB3YXMgYW4gZWFzeQo+IGNvbnNlbnN1cyBiZWZvcmUgbm93IGFwcGFyZW50bHkg aXMgbm90LgoKClNvIGZhciBJIHNlZSBsaXR0bGUgdGhhdCB3b3VsZCBibG9jayB5b3VyIHBhdGNo PyBJdCBzZWVtcyB0byBnbyBpbnRvIGEgCmdvb2QgZGlyZWN0aW9uIGZyb20gYWxsIEkgY2FuIHRl bGwuCgoKPj4gMSkgQSB3YXkgZm9yIGxpYnJhcmllcyBzdWNoIGFzIHMybiB0byBpZGVudGlmeSB0 aGF0IGEgY2xvbmUgb2NjdXJyZWQuCj4+IEJlY2F1c2UgaXQncyBhIGRlZXAtZG93biBsaWJyYXJ5 IHdpdGggbm8gYWNjZXNzIHRvIGl0cyBvd24gdGhyZWFkIG9yIHRoZQo+PiBtYWluIGxvb3AsIGl0 IGNhbiBub3QgcmVseSBvbiBwb2xsL3NlbGVjdC4gTW1hcCBvZiBhIGZpbGUgaG93ZXZlciB3b3Vs ZAo+PiB3b3JrIGdyZWF0LCBhcyB5b3UgY2FuIGNyZWF0ZSB0cmFuc2FjdGlvbnMgb24gdG9wIG9m IGEgNjRiaXQgbW1hcCdlZAo+PiB2YWx1ZSBmb3IgZXhhbXBsZS4KPiBJIGRpZG4ndCByZWFsaXpl IHRoYXQgczJuIGNhbid0IHBvbGwuIFRoYXQncyBzdXJwcmlzaW5nLiBJbiB0aGUgd29yc3QKPiBj YXNlLCBjYW4ndCB5b3UganVzdCBzcGF3biBhIHRocmVhZD8KCgpZb3UgYmxvY2sgdGhlIHRocmVh ZCBvbiBwb2xsLCBzbyB0aGUgb25seSBvcHRpb24gaXMgYSB0aHJlYWQuIEkgd2FzIAp1bnRpbCBu b3cgYWx3YXlzIHVuZGVyIHRoZSB3b3JraW5nIGFzc3VtcHRpb24gdGhhdCB3ZSBjYW4ndCBkbyB0 aGlzIGluIGEgCnRocmVhZCBiZWNhdXNlIHlvdSBkb24ndCB3YW50IHlvdXIgc2luZ2xlIHRocmVh ZGVkIGFwcGxpY2F0aW9uIHRvIHR1cm4gCmludG8gYSBwdGhyZWFkZWQgb25lLCBidXQgeW91IG1h a2UgbWUgd29uZGVyLiBMZXQgbWUgY2hlY2sgd2l0aCBUb3JiZW4gCnRvbW9ycm93LgoKCj4KPj4g MikgQSB3YXkgdG8gbm90aWZ5IGxhcmdlciBhcHBsaWNhdGlvbnMgKHRoaW5rIEphdmEgaGVyZSkg dGhhdCBhIHN5c3RlbQo+PiBpcyBnb2luZyB0byBiZSBzdXNwZW5kZWQgc29vbiBzbyBpdCBjYW4g d2lwZSBQSUkgYmVmb3JlIGl0IGdldHMgY2xvbmVkCj4+IGZvciBleGFtcGxlLgo+IFN1c3BlbnNp b24sIGxpa2UgUzMgcG93ZXIgbm90aWZpY2F0aW9uIHN0dWZmPyBUYWxrIHRvIFJhZmFlbCBhYm91 dCB0aGF0OwoKCldoZXRoZXIgeW91IGdvIHJ1bm5pbmcgLT4gUzMgLT4gY2xvbmUgb3IgeW91IGdv IHJ1bm5pbmcgLT4gcGF1c2VkIC0+IApjbG9uZSBpcyBhbiBpbXBsZW1lbnRhdGlvbiBkZXRhaWwg SSdtIG5vdCB0ZXJyaWJseSB3b3JyaWVkIGFib3V0LiBVc2VycyAKY2FuIGRvIGVpdGhlciwgYmVj YXVzZSBvbiBib3RoIGNhc2VzIHRoZSBWTSBpcyBpbiBwYXVzZWQgc3RhdGUuCgoKPiB0aGlzIGlz bid0IHJlbGF0ZWQgdG8gdGhlIFZNIGZvcmsgaXNzdWUuIEkgdXNlIHRob3NlIFBNIG5vdGlmaWVy cwo+IGhhcHBpbHkgaW4ga2VybmVsIHNwYWNlIGJ1dCBBRkFJQ1QsIHRoZXJlJ3Mgc3RpbGwgbm8g dXNlcnNwYWNlIHRoaW5nIGZvcgo+IGl0LiBUaGlzIHNlZW1zIG9ydGhvZ29uYWwgdG8gdGhpcyBj b252ZXJzYXRpb24gdGhvdWdoLCBzbyBsZXQncyBub3QgdmVlcgo+IG9mZiBpbnRvIHRoYXQgdG9w aWMuCj4KPiBJZiB5b3UgZGlkbid0IG1lYW4gUzMgYnV0IGFjdHVhbGx5IG1lYW50IG5vdGlmaWNh dGlvbiBwcmlvciB0byBzbmFwc2hvdAo+IHRha2luZywgd2UgZG9uJ3QgaGF2ZSBhbnkgdmlydHVh bCBoYXJkd2FyZSBmb3IgdGhhdCwgc28gaXQncyBhIG1vb3QKPiBwb2ludC4KCgpJIHRoaW5rIHdl J2xsIHdhbnQgdG8gaGF2ZSBhbiBleHRlcm5hbCBidXR0b24gc2ltaWxhciB0byB0aGUgQUNQSSBz bGVlcCAKYnV0dG9uIG9yIGxpZCBjbG9zZSBldmVudCBldmVudHVhbGx5LCBzbyB0aGF0IHdlIGNh biBsb29wIHRoZSBWTSBpbiBvbiAKdGhlIHN1c3BlbmQgcGF0aCB0aGUgc2FtZSB3YXkgUzMgZG9l cy4KClRvZGF5IHdlIGRvbid0IGhhdmUgaXQsIEkgYWdyZWUuIEFuZCBpZiBpdCdzIHBvc3NpYmxl IHRvIG1haW50YWluIHRoZSAKc2FtZSB1c2VyIHNwYWNlIGludGVyZmFjZSB3aXRoIHRoaXMgaW4g bWluZCwgYWxsIGlzIGdvb2QuIExldCdzIGp1c3QgCmtlZXAgaXQgaW4gbWluZCBhcyBzb21ldGhp bmcgdGhhdCB3aWxsIHByb2JhYmx5IGNvbWUgZXZlbnR1YWxseSBzbyB0aGF0IAp3ZSBkb24ndCBy ZWRlc2lnbiB0aGUgVUFQSSBpbiBhIHllYXIgZnJvbSBub3cuCgoKPgo+PiAzKSBOb3RpZmljYXRp b25zIGFmdGVyIGNsb25lIHNvIGFwcGxpY2F0aW9ucyBrbm93IHRoZXkgY2FuIHJlZ2VuZXJhdGUg Vk0KPj4gdW5pcXVlIGRhdGEgYmFzZWQgb24gcmFuZG9tbmVzcy4KPiBZb3UgbWVhbiB0aGlzIGFz ICJ0aGUgc2FtZSBhcyAoMSkgYnV0IHdpdGggcG9sbCgpIGluc3RlYWQgb2YgbW1hcCgpIiwKPiBy aWdodD8KCgpZZXMgOikKCgo+Cj4+IExlbm5hcnQsIGxvb2tpbmcgYXQgdGhlIGN1cnJlbnQgc3lz Y3RsIHByb3Bvc2FsLCBzeXN0ZW1kIGNvdWxkIHBvbGwoKSBvbgo+PiB0aGUgZm9yayBmaWxlLiBJ dCB3b3VsZCB0aGVuIGJlIGFibGUgdG8gZ2VuZXJhdGUgYSAvcnVuL2ZvcmstaWQgZmlsZQo+PiB3 aGljaCBpdCBjYW4gdXNlIGZvciB0aGUgZmxvdyBhYm92ZSwgcmlnaHQ/Cj4gRm9yIHRoZSByZWFz b25zIEkgZ2F2ZSBpbiBteSBsYXN0IGVtYWlsIHRvIExlbm5hcnQsIEkgZG9uJ3QgdGhpbmsKPiB0 aGVyZSdzIGEgZ29vZCB3YXkgZm9yIHN5c3RlbWQgdG8gZ2VuZXJhdGUgYSBmb3JrLWlkIGZpbGUg b24gaXRzIG93bgo+IGVpdGhlci4gSSBkb24ndCB0aGluayBzeXN0ZW1kIHNob3VsZCByZWFsbHkg YmUgaW52b2x2ZWQgaGVyZSBhcyBhCj4gcHJvdmlkZXIgb2YgdmFsdWVzLCBqdXN0IGFzIGEgcG90 ZW50aWFsIGNvbnN1bWVyIG9mIHdoYXQgdGhlIGtlcm5lbAo+IHByb3ZpZGVzLgoKClllcywgc3lz dGVtZCB3b3VsZCBwb2xsIG9uIGZvcmtfZXZlbnQuIFdoZW4gdGhhdCByZXR1cm5zLCBpdCByZWFk cyAKL2Rldi91cmFuZG9tIGFuZCB3cml0ZXMgYSBuZXcgL3J1bi9mb3JrLWlkIGZpbGUgd2l0aCB0 aGF0LiBMaWJyYXJpZXMgCnRoYXQgZG9uJ3Qgd2FudCB0byBiZSBpbiB0aGUgYnVzaW5lc3Mgb2Yg c3Bhd25pbmcgdGhyZWFkcyBjYW4gdXNlIHRoYXQgCmZpbGUgdG8gaWRlbnRpZnkgdGhhdCB0aGV5 IHdlcmUgY2xvbmVkLiBTeXN0ZW1kIGNhbiB1c2UgdGhhdCBpZCBhcyBzZWVkIApmb3IgbmV0d29y a2QuCgoKPgo+PiBUaGUgc3lzY3RsIHByb3Bvc2FsIGFsc28gZ2l2ZXMgdXMgMywgaWYgd2UgaW1w bGVtZW50IHRoZSBpbmhpYml0b3IKPj4gcHJvcG9zYWwgWzFdIGluIHN5c3RlbWQuCj4gVGhlc2Ug dXNlcnNwYWNlIGNvbXBvbmVudHMgeW91J3JlIHByb3Bvc2luZyBzZWVtIGxpa2UgYSBsb3Qgb2YK PiBvdmVyZW5naW5lZXJpbmcgZm9yIGxpdHRsZSBnYWluLCB3aGljaCBpcyB3aHkgdGhpcyBjb252 ZXJzYXRpb24gd2VudAo+IG5vd2hlcmUgd2hlbiBBbWF6b24gYXR0ZW1wdGVkIGFsbCB0aGlzIHll YXIuIEJ1dCBpdCBzb3VuZHMgbGlrZSB5b3UKPiBhZ3JlZSB3aXRoIG1lIGJhc2VkIG9uIHlvdXIg cmVtYXJrIGJlbG93IGFib3V0IHN5c3RlbWQtbGVzcyBpbnRlcmZhY2VzCj4gcHJvdmlkZWQgYnkg dGhlIGtlcm5lbC4KCgpJIHdvdWxkIGJlIGhhcHB5IHRvIGdldCB0byA5OSUgb2YgdGhpcyB3aXRo IHB1cmUga2VybmVsIGJhc2VkIAppbnRlcmZhY2VzLiBUaGUgcmVhc29uIHRoZSBrZXJuZWwgY29u dmVyc2F0aW9uIHNlZW1pbmdseSB3ZW50IG5vd2hlcmUgCndhcyBub3QgYmVjYXVzZSBvZiAib3Zl cmVuZ2luZWVyaW5nIi4gSXQgd2FzIGJlY2F1c2UgdGhlIHJldmlldyBmZWVkYmFjayAKZXZlbnR1 YWxseSB3YXMgIlRoaXMgaXMgYSBmaWxlLCBtYWtlIHVzZXIgc3BhY2UgbWFuYWdlIGl0Ii4KCgo+ PiBPdmVyYWxsLCBpdCBzb3VuZHMgdG8gbWUgbGlrZSB0aGUgc3lzY3RsIHBvbGwgYmFzZWQga2Vy bmVsIGludGVyZmFjZSBpbgo+PiB0aGlzIHBhdGNoIGluIGNvbWJpbmF0aW9uIHdpdGggc3lzdGVt ZCBpbmhpYml0b3JzIGdpdmVzIHVzIGFuIGFuc3dlciB0bwo+PiBtb3N0IG9mIHRoZSBmbG93cyBh Ym92ZS4KPj4KPj4gSSBjYW4gc2VlIGF0dHJhY3RpdmVuZXNzIGluIHByb3ZpZGluZyB0aGUgL3J1 bi9mb3JrLWlkIGRpcmVjdGx5IGZyb20gdGhlCj4+IGtlcm5lbCB0aG91Z2gsIHRvIHJlbW92ZSB0 aGUgZGVwZW5kZW5jeSBvbiBzeXN0ZW1kIGZvciBwb2xsLWxlc3MKPj4gbm90aWZpY2F0aW9uIG9m IGxpYnJhcmllcy4KPj4KPj4gSmFzb24sIGhvdyBtdWNoIGNvbXBsZXhpdHkgd291bGQgaXQgYWRk IHRvIHByb3ZpZGUgYW4gbW1hcCgpIGFuZCByZWFkKCkKPj4gaW50ZXJmYWNlIHRvIGEgZm9yayBj b3VudGVyIHZhbHVlIHRvIHRoZSBzeXNjdGw/IFJlYWQgc291bmRzIGxpa2UgYQo+PiB0cml2aWFs IGNoYW5nZSBvbiB0b3Agb2Ygd2hhdCB5b3UgaGF2ZSBhbHJlYWR5LCBtbWFwIGEgYml0IG1vcmUg aGVhdnkKPj4gbGlmdC4gSWYgd2UgaGFkIGJvdGgsIGl0IHdvdWxkIGFsbG93IHVzIHRvIGltcGxl bWVudCBhIExpbnV4IHN0YW5kYXJkCj4+IGZvcmsgZGV0ZWN0IHBhdGggaW4gbGlicmFyaWVzIHRo YXQgZG9lcyBub3QgcmVseSBvbiBzeXN0ZW1kLgo+IG1tYXAoKSBkb2VzIG5vdCBnaXZlIHVzIGFu eXRoaW5nIGlmIHdlJ3JlIG5vdCBnb2luZyB0byBleHBvc2UgdGhlIHJhdwo+IEFDUEktbWFwcGVk IElEIGRpcmVjdGx5LiBJdCB3aWxsIHN0aWxsIGJlIGEgcmFjeSBtZWNoYW5pc20gdW50aWwgd2Ug ZG8KPiB0aGF0LiBTbyBJIHRoaW5rIHdlIHNob3VsZCB3YWl0IHVudGlsIHRoZXJlJ3MgYSBwcm9w ZXIgdm1nZW5pZAo+IHdvcmQtc2l6ZWQgY291bnRlciB0byBleHBvc2Ugc29tZXRoaW5nIG1tYXAo KWFibGUuIElmIHlvdSBoYXZlIHRoZQo+IGVuZXJneSB0byB0YWxrIHRvIE1pY3Jvc29mdCBhYm91 dCB0aGlzIGFuZCBtYWtlIGl0IGhhcHBlbiwgcGxlYXNlIGJlIG15Cj4gZ3Vlc3QuIEFzIEkgd3Jv dGUgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGlzIGVtYWlsLiBJIGhhdmVuJ3QgZ290dGVuIGEKPiBy ZXNwb25zZSBmcm9tIHlvdSBhdCBhbGwgYWJvdXQgdGhpcyBzdHVmZiBpbiBxdWl0ZSBzb21lIHRp bWUsIHNvIEknbSBub3QKPiByZWFsbHkgaXRjaGluZyB0YWtlIHRoYXQgb24gYWxvbmUgbm93LgoK CkFic29sdXRlbHkhIExldCdzIHNlZSB3aGVyZSBpdCBnb2VzIDopCgoKQWxleAoKCgoKCkFtYXpv biBEZXZlbG9wbWVudCBDZW50ZXIgR2VybWFueSBHbWJICktyYXVzZW5zdHIuIDM4CjEwMTE3IEJl cmxpbgpHZXNjaGFlZnRzZnVlaHJ1bmc6IENocmlzdGlhbiBTY2hsYWVnZXIsIEpvbmF0aGFuIFdl aXNzCkVpbmdldHJhZ2VuIGFtIEFtdHNnZXJpY2h0IENoYXJsb3R0ZW5idXJnIHVudGVyIEhSQiAx NDkxNzMgQgpTaXR6OiBCZXJsaW4KVXN0LUlEOiBERSAyODkgMjM3IDg3OQoKCg==