From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id EHABJChvOmEKLQEAgWs5BA (envelope-from ) for ; Thu, 09 Sep 2021 22:31:36 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id MIT5HyhvOmHMPAAA1q6Kng (envelope-from ) for ; Thu, 09 Sep 2021 20:31:36 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id C15D518D49 for ; Thu, 9 Sep 2021 22:31:34 +0200 (CEST) Received: from localhost ([::1]:45166 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mOQhp-00089m-J6 for larch@yhetil.org; Thu, 09 Sep 2021 16:31:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46468) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mOQdS-0007LB-5s for guix-patches@gnu.org; Thu, 09 Sep 2021 16:27:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:53000) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mOQdR-0000Yw-U9 for guix-patches@gnu.org; Thu, 09 Sep 2021 16:27:01 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mOQdR-0007I2-OW for guix-patches@gnu.org; Thu, 09 Sep 2021 16:27:01 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#50384] [PATCH v3] Optimise search-patch (reducing I/O) Resent-From: Maxime Devos Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 09 Sep 2021 20:27:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 50384 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 50384@debbugs.gnu.org Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= , zimoun Received: via spool by 50384-submit@debbugs.gnu.org id=B50384.163121918227978 (code B ref 50384); Thu, 09 Sep 2021 20:27:01 +0000 Received: (at 50384) by debbugs.gnu.org; 9 Sep 2021 20:26:22 +0000 Received: from localhost ([127.0.0.1]:36313 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mOQce-0007H3-SS for submit@debbugs.gnu.org; Thu, 09 Sep 2021 16:26:22 -0400 Received: from albert.telenet-ops.be ([195.130.137.90]:56352) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mOQca-0007Gs-JA for 50384@debbugs.gnu.org; Thu, 09 Sep 2021 16:26:11 -0400 Received: from [172.20.10.4] ([213.119.128.77]) by albert.telenet-ops.be with bizsmtp id rwS52500M1gKkhx06wS6Ps; Thu, 09 Sep 2021 22:26:06 +0200 Message-ID: <04603bca34f16b284a5e3052a4b0765b60952817.camel@telenet.be> From: Maxime Devos Date: Thu, 09 Sep 2021 22:25:46 +0200 In-Reply-To: <8900fa8c8eef7f72fc97adc2408be26c88de7803.camel@telenet.be> References: <8900fa8c8eef7f72fc97adc2408be26c88de7803.camel@telenet.be> Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="=-dT8/QEIsPOYFhIUcHEMW" User-Agent: Evolution 3.34.2 MIME-Version: 1.0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r21; t=1631219166; bh=NeSWZ9++rmDMz2rlTfIoHLEwpHJGgCJEl8ZYXLxYMlI=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=b/tCOePDAsJ7fkeqhWgY+RI6XiuqClxqEW5nEPxfnMMyVQ4j6yv9whOKbOZpkNe+g UAL17Ez7pEc1/tCV08LQzksy6nQ8t1rpAP2ExAuYF0MpczsN+9265BLjB16nXzFhuo 9PtAMEJqHJTMAqVHJFbHjzvDUecp5G/e8683GWzNv/2VcvzN36wl7jwetYjsArKuCb pg0YBBgL7Q9Y7mr5HLYPahDQa8hJ+4mxiwzZsdn+xHYqwDbryf7oLXkgE6AGPmGq75 zYGB70vnDij5RTEtb4RWt+Van/EN0YwYbaOwUctUmd8jMoWJjltWxtyaI2kyCBO6VA 4ylSZ0mWw3QmA== X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1631219495; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:resent-cc:resent-from:resent-sender: resent-message-id:in-reply-to:in-reply-to:references:references: list-id:list-help:list-unsubscribe:list-subscribe:list-post: dkim-signature; bh=NeSWZ9++rmDMz2rlTfIoHLEwpHJGgCJEl8ZYXLxYMlI=; b=SkGFnWDuNItsA23ij+KZWa5KbbhuRd3DOX+3VIkSt/2FDU8a/LyD2YdeUXY4AjogEHf3kc 4FYWIL2ClHBCIngUS9DVaKh1/doyP+DUGSFlydJO3NZ8WHH1ST5joGMgqmZxOwWR0U+6xa EMMEzMC2++NLJdK6XY9JDof6lk6LHf3VfpxodLCcJ32S8NrWcBu0z40q1rT53Cw53P4sOt LlqJIy6zZBHrqGnxqfM0lSzoAktiRIhE9YUpV3DzVpV8jfO0kBv49ELWjKQLY4dTE0Ir4f lj7biKnt22Hp4yl5VtlsvddebIdMTcdYCJn9UQj+eKQfp/QLuz8QD9oyrc60Kg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1631219495; a=rsa-sha256; cv=none; b=X1At7F/GbwEOKaR1ODB6VKR1+Cm1SiYy0LhVZzaOx4NZlhPmC+Q7I9QxlBZrGUjoKlbQKI 37KY4v/b6XcK/slg4F6fN8o2Ngd9+zNLdu2Zd4ohnKbTWk1qLRs4lBgC3UcL/xaASrpqKc OexKiX1qUTwp0q+rxxurEOpgRGmkeyRreoXVfJHbJhG4umjiblAo4ncnsCo1muXlW+FOqN OYjZJXYj20tO9eloyAHsUmaMxOGsluwC7ehTDysswFORuo+eGBUYs9DE4AtqPkuYnOOx1N 8wAO3xJ9RgdT/B/J0mxppX6Ca194ydf9IoPc7U3RuQz+J/vgkJUu5sjjjB4x8w== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=telenet.be header.s=r21 header.b="b/tCOePD"; dmarc=fail reason="SPF not aligned (relaxed)" header.from=telenet.be (policy=none); spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Spam-Score: -2.31 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=telenet.be header.s=r21 header.b="b/tCOePD"; dmarc=fail reason="SPF not aligned (relaxed)" header.from=telenet.be (policy=none); spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Queue-Id: C15D518D49 X-Spam-Score: -2.31 X-Migadu-Scanner: scn0.migadu.com X-TUID: irQuxf/dx8vS --=-dT8/QEIsPOYFhIUcHEMW Content-Type: multipart/mixed; boundary="=-VRWJSoloRA3mhw8ZjuSt" --=-VRWJSoloRA3mhw8ZjuSt Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi guix, This is a v3, without the base16 and base32 optimisations which are split-off into . It doesn't seem this patch series will bring improvements, but feel free to test (in particular, I wonder if this will help people using a remote daemon, where transmitting data can take (relatively) long?). (guix scripts hash) is broken, which would need to be fixed in the final version, if any. Ludovic has some concerns about dependency tracking in search-patch which need to be adressed. I think a more fruitful goal is to somehow parallelize the derivation computation, with multiple separate connections to the store, such that if one connection is blocking, the other one can be used for something separate (threads aren't necessary if current-read-waiter, current-write-waiter and non-blocking I/O are used). Now, what improvements does this version of the patch series bring? (Make sure to start the daemon with ./pre-inst-env guix daemon ..., and set --localstatedir=3D/var! Some changes to the daemon were made.) 1. RPC count (tested in a local checkout) After the patch series: make && GUIX_PROFILING=3Drpc ./pre-inst-env guix build -d pigx --no-grafts accepted connection from pid 4917, user [USER] /gnu/store/jfjfg7dnis7v6947a0rncxdn3y1nz0ad-pigx-0.0.3.drv Remote procedure call summary: 5754 RPCs built-in-builders ... 1 add-to-store ... 3 add-to-store/tree ... 26 add-temp-root-and-valid-path? ... 195 add-text-to-store ... 5529 After the patch series, with (if sha256 ...) replaced with (if #f ...) in (guix gexp), to simulate the situation before the patch series /gnu/store/jfjfg7dnis7v6947a0rncxdn3y1nz0ad-pigx-0.0.3.drv Remote procedure call summary: 5749 RPCs built-in-builders ... 1 add-to-store/tree ... 26 add-to-store ... 193 add-text-to-store ... 5529 (add-to-store RPCs are converted to add-temp-root-and-valid-path? RPCs) 2. Timing First do echo powersave | sudo tee /sys/devices/system/cpu/cpu{0,1,2,3}/cpufreq= /scaling_governor to eliminate CPU frequency scaling effects. To automatically repeat the tests and compute the standard deviation, 'hyperfine' is used: HYP=3D/gnu/store/3ya4iw6fzq1ns73bv1g3a96jvwhbv60c-hyperfine-1.11.0/bin/h= yperfine To determine the effect of the change to 'local-file-compiler' and 'search-patch' and nothing else, I will compare the performance of guix after the patch series with the performance of guix after the patch seri= es and 'sha256' replaced by #false. With #f, --runs=3D60: make && ./pre-inst-env $HYP --runs=3D60 --warmup 1 -- 'guix build -d pig= x --no-grafts' Time (mean =C2=B1 =CF=83): 15.428 s =C2=B1 0.385 s [User: 15.925= s, System: 0.652 s] Range (min =E2=80=A6 max): 14.768 s =E2=80=A6 16.550 s 60 runs With sha256, --runs=3D60 make && ./pre-inst-env $HYP --runs=3D60 --warmup 1 -- 'guix build -d pig= x --no-grafts' Time (mean =C2=B1 =CF=83): 15.493 s =C2=B1 0.252 s [User: 15.585= s, System: 0.680 s] Range (min =E2=80=A6 max): 14.981 s =E2=80=A6 16.294 s 60 runs These numbers don't have a clear difference. Maybe statistics can help? = First, formulate a null-hypothesis. As the total number of RPCs didn't change, = the amount of data sent to the daemon is reduced and some "stats", "open" and "reads= " are avoided, I would expect that the mean decreases. Thus, as null-hypothesis, I choo= se: H0: the (theoretical) mean for =E2=80=98with sha256=E2=80=99 is less than= the mean for =E2=80=98with #f=E2=80=99 In the timing tests, the observed mean for 'with sha256=E2=80=99 is actua= lly larger. But is this significant? guix environment --ad-hoc r before.mean =3D 15.428 before.stddev =3D 0.385 after.mean =3D 15.493 after.stddev =3D 0.252 samples =3D 60 # =E2=80=98statistical=E2=80=99 crate used by hyperfine # performs N/(N-1) correction XXX t =3D (before.mean - after.mean)/(sqrt(samples) * sqrt(before.stddev^2 + = after.stddev^2)) v =3D (samples - 1) * (before.stddev^2 + after.stddev^2)^2/(before.stddev= ^4 + after.stddev^4) q =3D dt(-t, v); q # p-value: 0.5072571 # Null-hypothesis is not rejected It's not rejected, though that doesn't prove much since t is almost zero, so this test cannot reject the hypothesis =E2=80=98the means are equal=E2= =80=99 or =E2=80=98the patch series makes things slower=E2=80=99 either. I don't think this patch series helps on my laptop (at least on a hot dis= k cache, I'd have to check for a cold cache). However, I wonder if this would help a littl= e for people using a remote build daemon (with a nfs setup or something) (see GUIX_DAE= MON_SOCKET)? Greetings, Maxime. --=-VRWJSoloRA3mhw8ZjuSt Content-Disposition: attachment; filename="0001-build-self-Implement-basic-hash-algorithm.patch" Content-Type: text/x-patch; name="0001-build-self-Implement-basic-hash-algorithm.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBjZmZmZTYyZmZmNzE4ODVkYjlmZWIxYzQ2ZWU1ZDBiNmJiZTJmNGM3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbWUgRGV2b3MgPG1heGltZWRldm9zQHRlbGVuZXQuYmU+ CkRhdGU6IFNhdCwgNCBTZXAgMjAyMSAyMDowOTowMyArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDEv MTBdIGJ1aWxkLXNlbGY6IEltcGxlbWVudCBiYXNpYyAnaGFzaC1hbGdvcml0aG0nLgpNSU1FLVZl cnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVu dC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKVGhlIG1vZHVsZSAoZ3VpeCBoYXNoKSB1c2VkIGZy b20gJ3NlYXJjaC1wYXRjaCcgaW4gYSBmdXR1cmUKcGF0Y2ggbmVlZHMgaXQgdG8gYmUgcHJvcGVy bHkgZGVmaW5lZCB3aGVuIChndWl4IGhhc2gpIGlzIGJlaW5nCmNvbXBpbGVkLiAgJ3NlYXJjaC1w YXRjaCcgaXMgdXNlZCB3aGVuIHRoZSBkZXJpdmF0aW9uIG9mIEd1aXggaXMKYmVpbmcgY29tcHV0 ZWQsIHNvIGl0IGlzIGltcG9ydGFudCB0byBhdm9pZCB0aGUg4oCYd3JvbmcgdHlwZSB0bwphcHBs eTogIzxzeW50YXgtdHJhbnNmb3JtZXIgaGFzaC1hbGdvcml0aG0+4oCZIGVycm9yLgoKKiBidWls ZC1hdXgvYnVpbGQtc2VsZi5zY20KICAoYnVpbGQtcHJvZ3JhbSlbZmFrZS1nY3J5cHQtaGFzaF06 IERlZmluZSBoYXNoLWFsZ29yaXRobSBmb3Igc2hhMQogIGFuZCBzaGEyNTYuCi0tLQogYnVpbGQt YXV4L2J1aWxkLXNlbGYuc2NtIHwgMTMgKysrKysrKysrKystLQogMSBmaWxlIGNoYW5nZWQsIDEx IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvYnVpbGQtYXV4L2J1 aWxkLXNlbGYuc2NtIGIvYnVpbGQtYXV4L2J1aWxkLXNlbGYuc2NtCmluZGV4IDNhMmQxM2NjMDku LjJjMTNkOWQ1MzAgMTAwNjQ0Ci0tLSBhL2J1aWxkLWF1eC9idWlsZC1zZWxmLnNjbQorKysgYi9i dWlsZC1hdXgvYnVpbGQtc2VsZi5zY20KQEAgLTI1OSw4ICsyNTksMTcgQEAgaW50ZXJmYWNlIChG RkkpIG9mIEd1aWxlLiIpCiAgIChkZWZpbmUgZmFrZS1nY3J5cHQtaGFzaAogICAgIDs7IEZha2Ug KGdjcnlwdCBoYXNoKSBtb2R1bGU7IHNlZSBiZWxvdy4KICAgICAoc2NoZW1lLWZpbGUgImhhc2gu c2NtIgotICAgICAgICAgICAgICAgICAjfihkZWZpbmUtbW9kdWxlIChnY3J5cHQgaGFzaCkKLSAg ICAgICAgICAgICAgICAgICAgICM6ZXhwb3J0IChzaGExIHNoYTI1NikpKSkKKyAgICAgICAgICAg ICAgICAgI34oYmVnaW4KKyAgICAgICAgICAgICAgICAgICAgIChkZWZpbmUtbW9kdWxlIChnY3J5 cHQgaGFzaCkKKyAgICAgICAgICAgICAgICAgICAgICAgIzpleHBvcnQgKHNoYTEgc2hhMjU2IGhh c2gtYWxnb3JpdGhtKSkKKyAgICAgICAgICAgICAgICAgICAgIDs7IEF2b2lkIOKAmFdyb25nIHR5 cGUgdG8gYXBwbHk6CisgICAgICAgICAgICAgICAgICAgICA7OyAjPHN5bnRheC10cmFuc2Zvcm1l ciBoYXNoLWFsZ29yaXRobT7igJkgZXJyb3JzLgorICAgICAgICAgICAgICAgICAgICAgKGRlZmlu ZSBzaGExKQorICAgICAgICAgICAgICAgICAgICAgKGRlZmluZSBzaGEyNTYpCisgICAgICAgICAg ICAgICAgICAgICAoZGVmaW5lLXN5bnRheCBoYXNoLWFsZ29yaXRobQorICAgICAgICAgICAgICAg ICAgICAgICAoc3ludGF4LXJ1bGVzIChzaGExIHNoYTI1NikKKyAgICAgICAgICAgICAgICAgICAg ICAgICAoKF8gc2hhMSkgMikKKyAgICAgICAgICAgICAgICAgICAgICAgICAoKF8gc2hhMjU2KSA4 KSkpKSkpCiAKICAgKGRlZmluZSBmYWtlLWdpdAogICAgIChzY2hlbWUtZmlsZSAiZ2l0LnNjbSIg I34oZGVmaW5lLW1vZHVsZSAoZ2l0KSkpKQotLSAKMi4zMy4wCgo= --=-VRWJSoloRA3mhw8ZjuSt Content-Disposition: attachment; filename="0002-guix-hash-Extract-file-hashing-procedures.patch" Content-Type: text/x-patch; name="0002-guix-hash-Extract-file-hashing-procedures.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBmYzUzNTI0MTMwZTU2YmJkYjUzYzk3ZTBlNDdlZjIwMjlkN2RiYWQ5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTYXJhaCBNb3JnZW5zZW4gPGlza2FyaWFuQG1nc24uZGV2PgpE YXRlOiBTdW4sIDE1IEF1ZyAyMDIxIDE2OjI1OjI0IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAwMi8x MF0gZ3VpeCBoYXNoOiBFeHRyYWN0IGZpbGUgaGFzaGluZyBwcm9jZWR1cmVzLgoKKiBndWl4L3Nj cmlwdHMvaGFzaC5zY20gKGd1aXgtaGFzaClbdmNzLWZpbGU/LCBmaWxlLWhhc2hdOiBFeHRyYWN0 IGxvZ2ljCnRvLi4uCiogZ3VpeC9oYXNoLnNjbTogLi4uaGVyZS4gTmV3IGZpbGUuCiogTWFrZWZp bGUuYW0gKE1PRFVMRVMpOiBBZGQgbmV3IGZpbGUuCi0tLQogTWFrZWZpbGUuYW0gICAgICAgICAg IHwgIDEgKwogZ3VpeC9oYXNoLnNjbSAgICAgICAgIHwgNTEgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKwogZ3VpeC9zY3JpcHRzL2hhc2guc2NtIHwgMjkgKysrKysr LS0tLS0tLS0tLS0tLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDU5IGluc2VydGlvbnMoKyksIDIy IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGd1aXgvaGFzaC5zY20KCmRpZmYgLS1n aXQgYS9NYWtlZmlsZS5hbSBiL01ha2VmaWxlLmFtCmluZGV4IDMyN2QzZjk5NjEuLjhmODA4OWMw NWMgMTAwNjQ0Ci0tLSBhL01ha2VmaWxlLmFtCisrKyBiL01ha2VmaWxlLmFtCkBAIC0xMDcsNiAr MTA3LDcgQEAgTU9EVUxFUyA9CQkJCQlcCiAgIGd1aXgvbmFyaW5mby5zY20JCQkJXAogICBndWl4 L2Rlcml2YXRpb25zLnNjbQkJCQlcCiAgIGd1aXgvZ3JhZnRzLnNjbQkJCQlcCisgIGd1aXgvaGFz aC5zY20JCQkJCVwKICAgZ3VpeC9yZXBsLnNjbQkJCQkJXAogICBndWl4L3RyYW5zZm9ybWF0aW9u cy5zY20JCQlcCiAgIGd1aXgvaW5mZXJpb3Iuc2NtCQkJCVwKZGlmZiAtLWdpdCBhL2d1aXgvaGFz aC5zY20gYi9ndWl4L2hhc2guc2NtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAuLjhjMmFiODE4N2YKLS0tIC9kZXYvbnVsbAorKysgYi9ndWl4L2hhc2guc2NtCkBAIC0wLDAg KzEsNTEgQEAKKzs7OyBHTlUgR3VpeCAtLS0gRnVuY3Rpb25hbCBwYWNrYWdlIG1hbmFnZW1lbnQg Zm9yIEdOVQorOzs7IENvcHlyaWdodCDCqSAyMDIxIFNhcmFoIE1vcmdlbnNlbiA8aXNrYXJpYW5A bWdzbi5kZXY+Cis7OzsKKzs7OyBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgR3VpeC4KKzs7Owor Ozs7IEdOVSBHdWl4IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu ZC9vciBtb2RpZnkgaXQKKzs7OyB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorOzs7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdAorOzs7IHlvdXIg b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKzs7OworOzs7IEdOVSBHdWl4IGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAorOzs7IFdJVEhPVVQg QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKzs7OyBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlCis7OzsgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKzs7 OworOzs7IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlCis7OzsgYWxvbmcgd2l0aCBHTlUgR3VpeC4gIElmIG5vdCwgc2VlIDxo dHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKworKGRlZmluZS1tb2R1bGUgKGd1aXggaGFz aCkKKyAgIzp1c2UtbW9kdWxlIChnY3J5cHQgaGFzaCkKKyAgIzp1c2UtbW9kdWxlIChndWl4IHNl cmlhbGl6YXRpb24pCisgICM6dXNlLW1vZHVsZSAoc3JmaSBzcmZpLTEpCisgICM6dXNlLW1vZHVs ZSAoc3JmaSBzcmZpLTExKQorICAjOmV4cG9ydCAodmNzLWZpbGU/CisgICAgICAgICAgICBmaWxl LWhhc2gqKSkKKworKGRlZmluZSAodmNzLWZpbGU/IGZpbGUgc3RhdCkKKyAgIlJldHVybnMgdHJ1 ZSBpZiBGSUxFIGlzIGEgdmVyc2lvbiBjb250cm9sIHN5c3RlbSBmaWxlLiIKKyAgKGNhc2UgKHN0 YXQ6dHlwZSBzdGF0KQorICAgICgoZGlyZWN0b3J5KQorICAgICAobWVtYmVyIChiYXNlbmFtZSBm aWxlKSAnKCIuYnpyIiAiLmdpdCIgIi5oZyIgIi5zdm4iICJDVlMiKSkpCisgICAgKChyZWd1bGFy KQorICAgICA7OyBHaXQgc3ViLW1vZHVsZXMgaGF2ZSBhICcuZ2l0JyBmaWxlIHRoYXQgaXMgYSBy ZWd1bGFyIHRleHQgZmlsZS4KKyAgICAgKHN0cmluZz0/IChiYXNlbmFtZSBmaWxlKSAiLmdpdCIp KQorICAgIChlbHNlCisgICAgICNmKSkpCisKKyhkZWZpbmUqIChmaWxlLWhhc2gqIGZpbGUgIzpr ZXkKKyAgICAgICAgICAgICAgICAgICAgIChhbGdvcml0aG0gKGhhc2gtYWxnb3JpdGhtIHNoYTI1 NikpCisgICAgICAgICAgICAgICAgICAgICAocmVjdXJzaXZlPyAjdCkKKyAgICAgICAgICAgICAg ICAgICAgIChzZWxlY3Q/IChuZWdhdGUgdmNzLWZpbGU/KSkpCisgICJDb21wdXRlIHRoZSBoYXNo IG9mIEZJTEUgd2l0aCBBTEdPUklUSE0uICBJZiBSRUNVUlNJVkU/IGlzIHRydWUsIHJlY3Vyc2UK K2ludG8gc3ViZGlyZWN0b3JpZXMgb2YgRklMRSwgY29tcHV0aW5nIHRoZSBjb21iaW5lZCBoYXNo IG9mIGFsbCBmaWxlcyBmb3IKK3doaWNoIChTRUxFQ1Q/ICBGSUxFIFNUQVQpIHJldHVybnMgdHJ1 ZS4iCisgIChpZiByZWN1cnNpdmU/CisgICAgICAobGV0LXZhbHVlcyAoKChwb3J0IGdldC1oYXNo KQorICAgICAgICAgICAgICAgICAgICAob3Blbi1oYXNoLXBvcnQgYWxnb3JpdGhtKSkpCisgICAg ICAgICh3cml0ZS1maWxlIGZpbGUgcG9ydCAjOnNlbGVjdD8gc2VsZWN0PykKKyAgICAgICAgKGZv cmNlLW91dHB1dCBwb3J0KQorICAgICAgICAoZ2V0LWhhc2gpKQorICAgICAgKGZpbGUtaGFzaCBh bGdvcml0aG0gZmlsZSkpKQpkaWZmIC0tZ2l0IGEvZ3VpeC9zY3JpcHRzL2hhc2guc2NtIGIvZ3Vp eC9zY3JpcHRzL2hhc2guc2NtCmluZGV4IGI4NjIyMzczY2MuLjM1M2NhMzBjMmMgMTAwNjQ0Ci0t LSBhL2d1aXgvc2NyaXB0cy9oYXNoLnNjbQorKysgYi9ndWl4L3NjcmlwdHMvaGFzaC5zY20KQEAg LTMsNiArMyw3IEBACiA7OzsgQ29weXJpZ2h0IMKpIDIwMTMgTmlraXRhIEthcmV0bmlrb3YgPG5p a2l0YUBrYXJldG5pa292Lm9yZz4KIDs7OyBDb3B5cmlnaHQgwqkgMjAxNiBKYW4gTmlldXdlbmh1 aXplbiA8amFubmVrZUBnbnUub3JnPgogOzs7IENvcHlyaWdodCDCqSAyMDE4IFRpbSBHZXN0aHVp emVuIDx0aW0uZ2VzdGh1aXplbkB5YWhvby5kZT4KKzs7OyBDb3B5cmlnaHQgwqkgMjAyMSBTYXJh aCBNb3JnZW5zZW4gPGlza2FyaWFuQG1nc24uZGV2PgogOzs7CiA7OzsgVGhpcyBmaWxlIGlzIHBh cnQgb2YgR05VIEd1aXguCiA7OzsKQEAgLTIzLDYgKzI0LDcgQEAKICAgIzp1c2UtbW9kdWxlIChn Y3J5cHQgaGFzaCkKICAgIzp1c2UtbW9kdWxlIChndWl4IHNlcmlhbGl6YXRpb24pCiAgICM6dXNl LW1vZHVsZSAoZ3VpeCB1aSkKKyAgIzp1c2UtbW9kdWxlIChndWl4IGhhc2gpCiAgICM6dXNlLW1v ZHVsZSAoZ3VpeCBzY3JpcHRzKQogICAjOnVzZS1tb2R1bGUgKGd1aXggYmFzZTE2KQogICAjOnVz ZS1tb2R1bGUgKGd1aXggYmFzZTMyKQpAQCAtMTI1LDE2ICsxMjcsNiBAQCBhbmQgJ2Jhc2UxNicg KCdoZXgnIGFuZCAnaGV4YWRlY2ltYWwnIGNhbiBiZSB1c2VkIGFzIHdlbGwpLlxuIikpCiAgICAg KHBhcnNlLWNvbW1hbmQtbGluZSBhcmdzICVvcHRpb25zIChsaXN0ICVkZWZhdWx0LW9wdGlvbnMp CiAgICAgICAgICAgICAgICAgICAgICAgICAjOmJ1aWxkLW9wdGlvbnM/ICNmKSkKIAotICAoZGVm aW5lICh2Y3MtZmlsZT8gZmlsZSBzdGF0KQotICAgIChjYXNlIChzdGF0OnR5cGUgc3RhdCkKLSAg ICAgICgoZGlyZWN0b3J5KQotICAgICAgIChtZW1iZXIgKGJhc2VuYW1lIGZpbGUpICcoIi5ienIi ICIuZ2l0IiAiLmhnIiAiLnN2biIgIkNWUyIpKSkKLSAgICAgICgocmVndWxhcikKLSAgICAgICA7 OyBHaXQgc3ViLW1vZHVsZXMgaGF2ZSBhICcuZ2l0JyBmaWxlIHRoYXQgaXMgYSByZWd1bGFyIHRl eHQgZmlsZS4KLSAgICAgICAoc3RyaW5nPT8gKGJhc2VuYW1lIGZpbGUpICIuZ2l0IikpCi0gICAg ICAoZWxzZQotICAgICAgICNmKSkpCi0KICAgKGxldCogKChvcHRzIChwYXJzZS1vcHRpb25zKSkK ICAgICAgICAgIChhcmdzIChmaWx0ZXItbWFwIChtYXRjaC1sYW1iZGEKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAoKCdhcmd1bWVudCAuIHZhbHVlKQpAQCAtMTUwLDE4ICsxNDIsMTEgQEAg YW5kICdiYXNlMTYnICgnaGV4JyBhbmQgJ2hleGFkZWNpbWFsJyBjYW4gYmUgdXNlZCBhcyB3ZWxs KS5cbiIpKQogICAgICAgOzsgQ29tcHV0ZSB0aGUgaGFzaCBvZiBGSUxFLgogICAgICAgOzsgQ2F0 Y2ggYW5kIGdyYWNlZnVsbHkgcmVwb3J0IHBvc3NpYmxlICcmbmFyLWVycm9yJyBjb25kaXRpb25z LgogICAgICAgKHdpdGgtZXJyb3ItaGFuZGxpbmcKLSAgICAgICAgKGlmIChhc3NvYy1yZWYgb3B0 cyAncmVjdXJzaXZlPykKLSAgICAgICAgICAgIChsZXQtdmFsdWVzICgoKHBvcnQgZ2V0LWhhc2gp Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIChvcGVuLWhhc2gtcG9ydCAoYXNzb2MtcmVmIG9w dHMgJ2hhc2gtYWxnb3JpdGhtKSkpKQotICAgICAgICAgICAgICAod3JpdGUtZmlsZSBmaWxlIHBv cnQgIzpzZWxlY3Q/IHNlbGVjdD8pCi0gICAgICAgICAgICAgIChmb3JjZS1vdXRwdXQgcG9ydCkK LSAgICAgICAgICAgICAgKGdldC1oYXNoKSkKLSAgICAgICAgICAgIChtYXRjaCBmaWxlCi0gICAg ICAgICAgICAgICgiLSIgKHBvcnQtaGFzaCAoYXNzb2MtcmVmIG9wdHMgJ2hhc2gtYWxnb3JpdGht KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGN1cnJlbnQtaW5wdXQtcG9ydCkpKQot ICAgICAgICAgICAgICAoXyAgIChjYWxsLXdpdGgtaW5wdXQtZmlsZSBmaWxlCi0gICAgICAgICAg ICAgICAgICAgICAoY3V0ZSBwb3J0LWhhc2ggKGFzc29jLXJlZiBvcHRzICdoYXNoLWFsZ29yaXRo bSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIDw+KSkpKSkpKQorICAgICAgICAobWF0Y2gg ZmlsZQorICAgICAgICAgICgiLSIgKHBvcnQtaGFzaCAoYXNzb2MtcmVmIG9wdHMgJ2hhc2gtYWxn b3JpdGhtKQorICAgICAgICAgICAgICAgICAgICAgICAgICAoY3VycmVudC1pbnB1dC1wb3J0KSkp CisgICAgICAgICAgKF8gICAoZmlsZS1oYXNoKiAjOmFsZ29yaXRobSAoYXNzb2MtcmVmIG9wdHMg J2hhc2gtYWxnb3JpdGhtKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIzpyZWN1cnNpdmU/ IChhc3NvYy1yZWYgb3B0cyAncmVjdXJzaXZlPykpKSkpKQogCiAgICAgKG1hdGNoIGFyZ3MKICAg ICAgICgoZmlsZSkKLS0gCjIuMzMuMAoK --=-VRWJSoloRA3mhw8ZjuSt Content-Disposition: attachment; filename*0=0003-store-Define-new-add-temp-root-and-valid-path-operat.pat; filename*1=ch Content-Type: text/x-patch; name="0003-store-Define-new-add-temp-root-and-valid-path-operat.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA2MmFkOTczZmU0ODMxOWNhYWFkZWRlNWMzNjM3MGJjZDA4NTQyZmJmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbWUgRGV2b3MgPG1heGltZWRldm9zQHRlbGVuZXQuYmU+ CkRhdGU6IFRodSwgOSBTZXAgMjAyMSAxNzo0Mjo0OSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDMv MTBdIHN0b3JlOiBEZWZpbmUgbmV3IGFkZC10ZW1wLXJvb3QtYW5kLXZhbGlkLXBhdGg/CiBvcGVy YXRpb24uCgpUaGlzIHdpbGwgYWxsb3cgc3BlZWRpbmcgdXAgJ2xvY2FsLWZpbGUtY29tcGlsZXIn IGEgbGl0dGxlLApzZWUgPGh0dHBzOi8vaXNzdWVzLmd1aXguZ251Lm9yZy81MDM4ND4uCgoqIG5p eC9saWJzdG9yZS93b3JrZXItcHJvdG9jb2xzLmhoCiAgKFdvcmtlck9wKVt3b3BBZGRUZW1wUm9v dEFuZElzVmFsaWRQYXRoKTogTmV3IG9wZXJhdGlvbi4KICAoUFJPVE9DT0xfVkVSU0lPTik6IEJ1 bXAgdmVyc2lvbi4KKiBuaXgvbml4LWRhZW1vbi9uaXgtZGFlbW9uLmNjCiAgKHBlcmZvcm1PcClb d29wQWRkVGVtcFJvb3RBbmRJc1ZhbGlkUGF0aF06IEhhbmRsZSBuZXcgb3BlcmF0aW9uLgoqIGd1 aXgvc3RvcmUuc2NtCiAgKGFkZC10ZW1wLXJvb3QtYW5kLXZhbGlkLXBhdGg/KTogTmV3IG9wZXJh dGlvbi4KICAob3BlcmF0aW9uLWlkKVthZGQtdGVtcC1yb290LWFuZC12YWxpZC1wYXRoPyk6IE5l dyBvcGVyYXRpb24uCiAgKCVwcm90b2NvbC12ZXJzaW9uKTogQnVtcCB2ZXJzaW9uLgoqIHRlc3Rz L3N0b3JlLnNjbQogICgiYWRkLXRlbXAtcm9vdC12YWxpZC1wYXRoPyBsaXZlIiwgImFkZC10ZW1w LXJvb3QtYW5kLXZhbGlkLXBhdGg/IGZhbHNlIik6CiAgTmV3IHRlc3RzLgotLS0KIGd1aXgvc3Rv cmUuc2NtICAgICAgICAgICAgICAgICAgfCAxMSArKysrKysrKystLQogbml4L2xpYnN0b3JlL3dv cmtlci1wcm90b2NvbC5oaCB8ICA1ICsrKy0tCiBuaXgvbml4LWRhZW1vbi9uaXgtZGFlbW9uLmNj ICAgIHwgMTIgKysrKysrKysrKysrCiB0ZXN0cy9zdG9yZS5zY20gICAgICAgICAgICAgICAgIHwg MTAgKysrKysrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCAzNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2d1aXgvc3RvcmUuc2NtIGIvZ3VpeC9zdG9yZS5zY20KaW5k ZXggMDQ2M2IwZThmYS4uYzlmN2I5MDViNyAxMDA2NDQKLS0tIGEvZ3VpeC9zdG9yZS5zY20KKysr IGIvZ3VpeC9zdG9yZS5zY20KQEAgLTEyNCw2ICsxMjQsNyBAQAogICAgICAgICAgICAgZW5zdXJl LXBhdGgKICAgICAgICAgICAgIGZpbmQtcm9vdHMKICAgICAgICAgICAgIGFkZC10ZW1wLXJvb3QK KyAgICAgICAgICAgIGFkZC10ZW1wLXJvb3QtYW5kLXZhbGlkLXBhdGg/CiAgICAgICAgICAgICBh ZGQtaW5kaXJlY3Qtcm9vdAogICAgICAgICAgICAgYWRkLXBlcm1hbmVudC1yb290CiAgICAgICAg ICAgICByZW1vdmUtcGVybWFuZW50LXJvb3QKQEAgLTE5NSw3ICsxOTYsNyBAQAogICAgICAgICAg ICAgZGVyaXZhdGlvbi1sb2ctZmlsZQogICAgICAgICAgICAgbG9nLWZpbGUpKQogCi0oZGVmaW5l ICVwcm90b2NvbC12ZXJzaW9uICN4MTYzKQorKGRlZmluZSAlcHJvdG9jb2wtdmVyc2lvbiAjeDE2 NCkKIAogKGRlZmluZSAld29ya2VyLW1hZ2ljLTEgI3g2ZTY5Nzg2MykgICAgICAgICAgICAgICA7 ICJuaXhjIgogKGRlZmluZSAld29ya2VyLW1hZ2ljLTIgI3g2NDc4Njk2ZikgICAgICAgICAgICAg ICA7ICJkeGlvIgpAQCAtMjQ5LDcgKzI1MCw4IEBACiAgIChxdWVyeS12YWxpZC1kZXJpdmVycyAz MykKICAgKG9wdGltaXplLXN0b3JlIDM0KQogICAodmVyaWZ5LXN0b3JlIDM1KQotICAoYnVpbHQt aW4tYnVpbGRlcnMgODApKQorICAoYnVpbHQtaW4tYnVpbGRlcnMgODApCisgIChhZGQtdGVtcC1y b290LWFuZC12YWxpZC1wYXRoPyA4MSkpCiAKIChkZWZpbmUtZW51bWVyYXRlLXR5cGUgaGFzaC1h bGdvCiAgIDs7IGhhc2guaGgKQEAgLTE0NTUsNiArMTQ1NywxMSBAQCBwb3RlbnRpYWwgcm9vdHMg dGhhdCBkbyBub3QgcG9pbnQgdG8gc3RvcmUgaXRlbXMuIgogUmV0dXJuICN0LiIKICAgYm9vbGVh bikKIAorKGRlZmluZS1vcGVyYXRpb24gKGFkZC10ZW1wLXJvb3QtYW5kLXZhbGlkLXBhdGg/IChz dG9yZS1wYXRoIHBhdGgpKQorICAiTWFrZSBQQVRIIGEgdGVtcG9yYXJ5IHJvb3QgZm9yIHRoZSBk dXJhdGlvbiBvZiB0aGUgY3VycmVudCBzZXNzaW9uLAorYW5kIHRlc3QgaWYgUEFUSCBpcyBhIHZh bGlkIHN0b3JlIHBhdGggKHNlZSAndmFsaWQtcGF0aD8nKS4iCisgIGJvb2xlYW4pCisKIChkZWZp bmUtb3BlcmF0aW9uIChhZGQtaW5kaXJlY3Qtcm9vdCAoc3RyaW5nIGZpbGUtbmFtZSkpCiAgICJN YWtlIHRoZSBzeW1saW5rIEZJTEUtTkFNRSBhbiBpbmRpcmVjdCByb290IGZvciB0aGUgZ2FyYmFn ZSBjb2xsZWN0b3I6CiB3aGF0ZXZlciBzdG9yZSBpdGVtIEZJTEUtTkFNRSBwb2ludHMgdG8gd2ls bCBub3QgYmUgY29sbGVjdGVkLiAgUmV0dXJuICN0IG9uCmRpZmYgLS1naXQgYS9uaXgvbGlic3Rv cmUvd29ya2VyLXByb3RvY29sLmhoIGIvbml4L2xpYnN0b3JlL3dvcmtlci1wcm90b2NvbC5oaApp bmRleCBlYTY3YjEwYTViLi5iYjk5ZTYzMmNmIDEwMDY0NAotLS0gYS9uaXgvbGlic3RvcmUvd29y a2VyLXByb3RvY29sLmhoCisrKyBiL25peC9saWJzdG9yZS93b3JrZXItcHJvdG9jb2wuaGgKQEAg LTYsNyArNiw3IEBAIG5hbWVzcGFjZSBuaXggewogI2RlZmluZSBXT1JLRVJfTUFHSUNfMSAweDZl Njk3ODYzCiAjZGVmaW5lIFdPUktFUl9NQUdJQ18yIDB4NjQ3ODY5NmYKIAotI2RlZmluZSBQUk9U T0NPTF9WRVJTSU9OIDB4MTYzCisjZGVmaW5lIFBST1RPQ09MX1ZFUlNJT04gMHgxNjQKICNkZWZp bmUgR0VUX1BST1RPQ09MX01BSk9SKHgpICgoeCkgJiAweGZmMDApCiAjZGVmaW5lIEdFVF9QUk9U T0NPTF9NSU5PUih4KSAoKHgpICYgMHgwMGZmKQogCkBAIC00NCw3ICs0NCw4IEBAIHR5cGVkZWYg ZW51bSB7CiAgICAgd29wUXVlcnlWYWxpZERlcml2ZXJzID0gMzMsCiAgICAgd29wT3B0aW1pc2VT dG9yZSA9IDM0LAogICAgIHdvcFZlcmlmeVN0b3JlID0gMzUsCi0gICAgd29wQnVpbHRpbkJ1aWxk ZXJzID0gODAKKyAgICB3b3BCdWlsdGluQnVpbGRlcnMgPSA4MCwKKyAgICB3b3BBZGRUZW1wUm9v dEFuZElzVmFsaWRQYXRoID0gODEKIH0gV29ya2VyT3A7CiAKIApkaWZmIC0tZ2l0IGEvbml4L25p eC1kYWVtb24vbml4LWRhZW1vbi5jYyBiL25peC9uaXgtZGFlbW9uL25peC1kYWVtb24uY2MKaW5k ZXggNDk3ZGUxMWEwNC4uYjczYmIxNWE2NCAxMDA2NDQKLS0tIGEvbml4L25peC1kYWVtb24vbml4 LWRhZW1vbi5jYworKysgYi9uaXgvbml4LWRhZW1vbi9uaXgtZGFlbW9uLmNjCkBAIC0zMDYsNiAr MzA2LDE4IEBAIHN0YXRpYyB2b2lkIHBlcmZvcm1PcChib29sIHRydXN0ZWQsIHVuc2lnbmVkIGlu dCBjbGllbnRWZXJzaW9uLAogICAgICAgICBicmVhazsKICAgICB9CiAKKyAgICBjYXNlIHdvcEFk ZFRlbXBSb290QW5kSXNWYWxpZFBhdGg6IHsKKyAgICAgIC8qIFRoaXMgaXMgYSBjb21iaW5hdGlv biBvZiBBZGRUZW1wUm9vdCBhbmQgSXNWYWxpZFBhdGgsIHRvIHJlZHVjZQorICAgICAgICAgdGhl IG51bWVyIG9mIFJQQyBjYWxscyBtYWRlIGJ5IOKAmGxvY2FsLWZpbGUtY29tcGlsZXLigJkgaW4g KGd1aXggZ2V4cCkuICovCisgICAgICAgIFBhdGggcGF0aCA9IHJlYWRTdG9yZVBhdGgoZnJvbSk7 CisgICAgICAgIHN0YXJ0V29yaygpOworICAgICAgICBzdG9yZS0+YWRkVGVtcFJvb3QocGF0aCk7 CisgICAgICAgIGJvb2wgcmVzdWx0ID0gc3RvcmUtPmlzVmFsaWRQYXRoKHBhdGgpOworICAgICAg ICBzdG9wV29yaygpOworICAgICAgICB3cml0ZUludChyZXN1bHQsIHRvKTsKKyAgICAgICAgYnJl YWs7CisgICAgfQorCiAgICAgY2FzZSB3b3BRdWVyeVZhbGlkUGF0aHM6IHsKICAgICAgICAgUGF0 aFNldCBwYXRocyA9IHJlYWRTdG9yZVBhdGhzPFBhdGhTZXQ+KGZyb20pOwogICAgICAgICBzdGFy dFdvcmsoKTsKZGlmZiAtLWdpdCBhL3Rlc3RzL3N0b3JlLnNjbSBiL3Rlc3RzL3N0b3JlLnNjbQpp bmRleCAzMjY2ZmE3YTgyLi5kNzI0ZmYxOGIyIDEwMDY0NAotLS0gYS90ZXN0cy9zdG9yZS5zY20K KysrIGIvdGVzdHMvc3RvcmUuc2NtCkBAIC0xLDUgKzEsNiBAQAogOzs7IEdOVSBHdWl4IC0tLSBG dW5jdGlvbmFsIHBhY2thZ2UgbWFuYWdlbWVudCBmb3IgR05VCiA7OzsgQ29weXJpZ2h0IMKpIDIw MTIsIDIwMTMsIDIwMTQsIDIwMTUsIDIwMTYsIDIwMTcsIDIwMTgsIDIwMTksIDIwMjAsIDIwMjEg THVkb3ZpYyBDb3VydMOocyA8bHVkb0BnbnUub3JnPgorOzs7IENvcHlyaWdodCDCqSAyMDIxIE1h eGltZSBEZXZvcyA8bWF4aW1lZGV2b3NAdGVsZW5ldC5iZT4KIDs7OwogOzs7IFRoaXMgZmlsZSBp cyBwYXJ0IG9mIEdOVSBHdWl4LgogOzs7CkBAIC0xMzgsMTAgKzEzOSwxOSBAQAogICAobGV0ICgo cCAoYWRkLXRleHQtdG8tc3RvcmUgJXN0b3JlICJoZWxsbyIgImhlbGxvLCB3b3JsZCIpKSkKICAg ICAodmFsaWQtcGF0aD8gJXN0b3JlIHApKSkKIAorKHRlc3QtYXNzZXJ0ICJhZGQtdGVtcC1yb290 LXZhbGlkLXBhdGg/IGxpdmUiCisgIChsZXQgKChwIChhZGQtdGV4dC10by1zdG9yZSAlc3RvcmUg ImhlbGxvIiAiaGVsbG8sIHdvcmxkIikpKQorICAgIChhZGQtdGVtcC1yb290LWFuZC12YWxpZC1w YXRoPyAlc3RvcmUgcCkpKQorCiAodGVzdC1hc3NlcnQgInZhbGlkLXBhdGg/IGZhbHNlIgogICAo bm90ICh2YWxpZC1wYXRoPyAlc3RvcmUKICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBl bmQgKCVzdG9yZS1wcmVmaXgpICIvIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAobWFrZS1zdHJpbmcgMzIgI1xlKSAiLWZvb2JhciIpKSkpCisodGVzdC1hc3NlcnQgImFkZC10 ZW1wLXJvb3QtYW5kLXZhbGlkLXBhdGg/IGZhbHNlIgorICAobm90IChhZGQtdGVtcC1yb290LWFu ZC12YWxpZC1wYXRoPworICAgICAgICAgJXN0b3JlCisgICAgICAgICAoc3RyaW5nLWFwcGVuZCAo JXN0b3JlLXByZWZpeCkgIi8iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKG1ha2Utc3RyaW5nIDMyICNcZSkgIi1mb29iYXIiKSkpKQogCiAodGVzdC1lcXVhbCAid2l0 aC1zdG9yZSwgbXVsdGlwbGUgdmFsdWVzIiAgICAgICAgOzxodHRwczovL2J1Z3MuZ251Lm9yZy80 MjkxMj4KICAgJygxIDIgMykKLS0gCjIuMzMuMAoK --=-VRWJSoloRA3mhw8ZjuSt Content-Disposition: attachment; filename*0=0004-store-Add-compatibility-fall-back-for-add-temp-root-.pat; filename*1=ch Content-Type: text/x-patch; name="0004-store-Add-compatibility-fall-back-for-add-temp-root-.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA0MzU3OGYzZmJiN2YxODQ4ODFhZTRmMWNhNmI0Y2YzZGY4YjY3YzExIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbWUgRGV2b3MgPG1heGltZWRldm9zQHRlbGVuZXQuYmU+ CkRhdGU6IFRodSwgOSBTZXAgMjAyMSAxODo1OTo0MSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDQv MTBdIHN0b3JlOiBBZGQgY29tcGF0aWJpbGl0eSBmYWxsLWJhY2sgZm9yCiAnYWRkLXRlbXAtcm9v dC1hbmQtdmFsaWQtcGF0aD8nLgoKKiBndWl4L3N0b3JlLnNjbSAoYWRkLXRlbXAtcm9vdC1hbmQt dmFsaWQtcGF0aD8pOiBSZW5hbWUgdG8gLi4uCiAgKGFkZC10ZW1wLXJvb3QtYW5kLXZhbGlkLXBh dGgqPyk6IC4uLiB0aGlzLgogIChhZGQtdGVtcC1yb290LWFuZC12YWxpZC1wYXRoPyk6IE5ldyBw cm9jZWR1cmUuCi0tLQogZ3VpeC9zdG9yZS5zY20gfCAxNiArKysrKysrKysrKysrKy0tCiAxIGZp bGUgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9ndWl4L3N0b3JlLnNjbSBiL2d1aXgvc3RvcmUuc2NtCmluZGV4IGM5ZjdiOTA1YjcuLmYyZmIy NDZmY2EgMTAwNjQ0Ci0tLSBhL2d1aXgvc3RvcmUuc2NtCisrKyBiL2d1aXgvc3RvcmUuc2NtCkBA IC00LDYgKzQsNyBAQAogOzs7IENvcHlyaWdodCDCqSAyMDE5LCAyMDIwIE1hdGhpZXUgT3RoYWNl aGUgPG0ub3RoYWNlaGVAZ21haWwuY29tPgogOzs7IENvcHlyaWdodCDCqSAyMDIwIEZsb3JpYW4g UGVseiA8cGVsemZsb3JpYW5AcGVsemZsb3JpYW4uZGU+CiA7OzsgQ29weXJpZ2h0IMKpIDIwMjAg TGFycy1Eb21pbmlrIEJyYXVuIDxsZGJAbGVpYm5pei1wc3ljaG9sb2d5Lm9yZz4KKzs7OyBDb3B5 cmlnaHQgwqkgMjAyMSBNYXhpbWUgRGV2b3MgPG1heGltZWRldm9zQHRlbGVuZXQuYmU+CiA7OzsK IDs7OyBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgR3VpeC4KIDs7OwpAQCAtMTI0LDcgKzEyNSw3 IEBACiAgICAgICAgICAgICBlbnN1cmUtcGF0aAogICAgICAgICAgICAgZmluZC1yb290cwogICAg ICAgICAgICAgYWRkLXRlbXAtcm9vdAotICAgICAgICAgICAgYWRkLXRlbXAtcm9vdC1hbmQtdmFs aWQtcGF0aD8KKyAgICAgICAgICAgIChhZGQtdGVtcC1yb290LWFuZC12YWxpZC1wYXRoKj8gLiBh ZGQtdGVtcC1yb290LWFuZC12YWxpZC1wYXRoPykKICAgICAgICAgICAgIGFkZC1pbmRpcmVjdC1y b290CiAgICAgICAgICAgICBhZGQtcGVybWFuZW50LXJvb3QKICAgICAgICAgICAgIHJlbW92ZS1w ZXJtYW5lbnQtcm9vdApAQCAtMTQ1OSw5ICsxNDYwLDIwIEBAIFJldHVybiAjdC4iCiAKIChkZWZp bmUtb3BlcmF0aW9uIChhZGQtdGVtcC1yb290LWFuZC12YWxpZC1wYXRoPyAoc3RvcmUtcGF0aCBw YXRoKSkKICAgIk1ha2UgUEFUSCBhIHRlbXBvcmFyeSByb290IGZvciB0aGUgZHVyYXRpb24gb2Yg dGhlIGN1cnJlbnQgc2Vzc2lvbiwKLWFuZCB0ZXN0IGlmIFBBVEggaXMgYSB2YWxpZCBzdG9yZSBw YXRoIChzZWUgJ3ZhbGlkLXBhdGg/JykuIgorYW5kIHRlc3QgaWYgUEFUSCBpcyBhIHZhbGlkIHN0 b3JlIHBhdGggKHNlZSAndmFsaWQtcGF0aD8nKS4gIFRoaXMgcmVxdWlyZXMKK2EgcmVjZW50IGRh ZW1vbiB2ZXJzaW9uICgjeDE2NCBvciBsYXRlcik7IHVzZSAnYWRkLXRlbXAtcm9vdC1hbmQtdmFs aWQtcGF0aCo/JworZm9yIGNvbXBhdGliaWxpdHkuIgogICBib29sZWFuKQogCisoZGVmaW5lIChh ZGQtdGVtcC1yb290LWFuZC12YWxpZC1wYXRoKj8gc3RvcmUgcGF0aCkKKyAgIk1ha2UgUEFUSCBh IHRlbXBvcmFyeSByb290IGZvciB0aGUgZHVyYXRpb24gb2YgdGhlIGN1cnJlbnQgc2Vzc2lvbiwK K2FuZCB0ZXN0IGlmIFBBVEggaXMgYSB2YWxpZCBzdG9yZSBwYXRoIChzZWUgJ3ZhbGlkLXBhdGg/ JykuIgorICAoaWYgKD49IChzdG9yZS1jb25uZWN0aW9uLW1pbm9yLXZlcnNpb24gc3RvcmUpICN4 NjQpCisgICAgICAoYWRkLXRlbXAtcm9vdC1hbmQtdmFsaWQtcGF0aD8gc3RvcmUgcGF0aCkKKyAg ICAgIChiZWdpbgorICAgICAgICAoYWRkLXRlbXAtcm9vdCBzdG9yZSBwYXRoKQorICAgICAgICAo dmFsaWQtcGF0aD8gc3RvcmUgcGF0aCkpKSkKKwogKGRlZmluZS1vcGVyYXRpb24gKGFkZC1pbmRp cmVjdC1yb290IChzdHJpbmcgZmlsZS1uYW1lKSkKICAgIk1ha2UgdGhlIHN5bWxpbmsgRklMRS1O QU1FIGFuIGluZGlyZWN0IHJvb3QgZm9yIHRoZSBnYXJiYWdlIGNvbGxlY3RvcjoKIHdoYXRldmVy IHN0b3JlIGl0ZW0gRklMRS1OQU1FIHBvaW50cyB0byB3aWxsIG5vdCBiZSBjb2xsZWN0ZWQuICBS ZXR1cm4gI3Qgb24KLS0gCjIuMzMuMAoK --=-VRWJSoloRA3mhw8ZjuSt Content-Disposition: attachment; filename*0=0005-gexp-Allow-computing-the-hash-of-the-local-file-in-a.pat; filename*1=ch Content-Type: text/x-patch; name="0005-gexp-Allow-computing-the-hash-of-the-local-file-in-a.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA3NWNiM2ExZTdiMDBiOTViMmFhMDUzNzNiYzdjMGU4MzY3NjZjOGMwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbWUgRGV2b3MgPG1heGltZWRldm9zQHRlbGVuZXQuYmU+ CkRhdGU6IFNhdCwgNCBTZXAgMjAyMSAxNTozNTo1MSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDUv MTBdIGdleHA6IEFsbG93IGNvbXB1dGluZyB0aGUgaGFzaCBvZiB0aGUgbG9jYWwgZmlsZSBpbgog YWR2YW5jZS4KClRoZSBuZXcgZmllbGQgaXMgY3VycmVudGx5IHVudXNlZC4gIFRoZSBmb2xsb3dp bmcgcGF0Y2hlcyB3aWxsCnBvcHVsYXRlIGFuZCB1c2UgdGhlIGZpZWxkIHRvIHJlZHVjZSB0aGUg dGltZS10by1kZXJpdmF0aW9uCndoZW4gdGhlIGZpbGUgaXMgYWxyZWFkeSBpbnRlcm5lZCBpbiB0 aGUgc3RvcmUuCgoqIGd1aXgvZ2V4cC5zY20KICAoPGxvY2FsLWZpbGU+KTogQWRkIHNoYTI1NiBm aWVsZC4KICAoJWxvY2FsLWZpbGUpOiBBZGQgc2hhMjU2IGFyZ3VtZW50IGZvciBwb3B1bGF0aW5n IHRoZSBmaWVsZC4KICAobG9jYWwtZmlsZS1jb21waWxlcik6IEFkanVzdCAnbWF0Y2gnIGV4cHJl c3Npb24uCi0tLQogZ3VpeC9nZXhwLnNjbSB8IDEyICsrKysrKysrLS0tLQogMSBmaWxlIGNoYW5n ZWQsIDggaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9ndWl4L2dl eHAuc2NtIGIvZ3VpeC9nZXhwLnNjbQppbmRleCBmM2QyNzhiM2U2Li5hNjMzOTg0Njg4IDEwMDY0 NAotLS0gYS9ndWl4L2dleHAuc2NtCisrKyBiL2d1aXgvZ2V4cC5zY20KQEAgLTQxOSwxMyArNDE5 LDE2IEBAIEhlcmUgVEFSR0VUIGlzIGJvdW5kIHRvIHRoZSBjcm9zcy1jb21waWxhdGlvbiB0cmlw bGV0IG9yICNmLiIKIDs7IEEgbG9jYWwgZmlsZSBuYW1lLiAgRklMRSBpcyB0aGUgZmlsZSBuYW1l IHRoZSB1c2VyIGVudGVyZWQsIHdoaWNoIGNhbiBiZSBhCiA7OyByZWxhdGl2ZSBmaWxlIG5hbWUs IGFuZCBBQlNPTFVURSBpcyBhIHByb21pc2UgdGhhdCBjb21wdXRlcyBpdHMgY2Fub25pY2FsCiA7 OyBhYnNvbHV0ZSBmaWxlIG5hbWUuICBXZSBrZWVwIGl0IGluIGEgcHJvbWlzZSB0byBjb21wdXRl IGl0IGxhemlseSBhbmQgYXZvaWQKLTs7IHJlcGVhdGVkICdzdGF0JyBjYWxscy4KKzs7IHJlcGVh dGVkICdzdGF0JyBjYWxscy4gIEFsbG93IGNvbXB1dGluZyB0aGUgaGFzaCBvZiB0aGUgZmlsZSBp biBhZHZhbmNlLAorOzsgdG8gYXZvaWQgaGF2aW5nIHRvIHNlbmQgdGhlIGZpbGUgdG8gdGhlIGRh ZW1vbiB3aGVuIGl0IGlzIGFscmVhZHkgaW50ZXJuZWQKKzs7IGluIHRoZSBzdG9yZS4KIChkZWZp bmUtcmVjb3JkLXR5cGUgPGxvY2FsLWZpbGU+Ci0gICglJWxvY2FsLWZpbGUgZmlsZSBhYnNvbHV0 ZSBuYW1lIHJlY3Vyc2l2ZT8gc2VsZWN0PykKKyAgKCUlbG9jYWwtZmlsZSBmaWxlIGFic29sdXRl IG5hbWUgc2hhMjU2IHJlY3Vyc2l2ZT8gc2VsZWN0PykKICAgbG9jYWwtZmlsZT8KICAgKGZpbGUg ICAgICAgbG9jYWwtZmlsZS1maWxlKSAgICAgICAgICAgICAgICAgICAgO3N0cmluZwogICAoYWJz b2x1dGUgICAlbG9jYWwtZmlsZS1hYnNvbHV0ZS1maWxlLW5hbWUpICAgICA7cHJvbWlzZSBzdHJp bmcKICAgKG5hbWUgICAgICAgbG9jYWwtZmlsZS1uYW1lKSAgICAgICAgICAgICAgICAgICAgO3N0 cmluZworICAoc2hhMjU2ICAgICBsb2NhbC1maWxlLXNoYTI1NikgICAgICAgICAgICAgICAgICA7 c2hhMjU2IGJ5dGV2ZWN0b3IgfCAjZgogICAocmVjdXJzaXZlPyBsb2NhbC1maWxlLXJlY3Vyc2l2 ZT8pICAgICAgICAgICAgICA7Qm9vbGVhbgogICAoc2VsZWN0PyAgICBsb2NhbC1maWxlLXNlbGVj dD8pKSAgICAgICAgICAgICAgICA7c3RyaW5nIHN0YXQgLT4gQm9vbGVhbgogCkBAIC00MzQsNiAr NDM3LDcgQEAgSGVyZSBUQVJHRVQgaXMgYm91bmQgdG8gdGhlIGNyb3NzLWNvbXBpbGF0aW9uIHRy aXBsZXQgb3IgI2YuIgogKGRlZmluZSogKCVsb2NhbC1maWxlIGZpbGUgcHJvbWlzZSAjOm9wdGlv bmFsIChuYW1lIChiYXNlbmFtZSBmaWxlKSkKICAgICAgICAgICAgICAgICAgICAgICAjOmtleQog ICAgICAgICAgICAgICAgICAgICAgIChsaXRlcmFsPyAjdCkgbG9jYXRpb24KKyAgICAgICAgICAg ICAgICAgICAgICBzaGEyNTYKICAgICAgICAgICAgICAgICAgICAgICByZWN1cnNpdmU/IChzZWxl Y3Q/IHRydWUpKQogICA7OyBUaGlzIGludGVybWVkaWF0ZSBwcm9jZWR1cmUgaXMgcGFydCBvZiBv dXIgQUJJLCBidXQgdGhlIHVuZGVybHlpbmcKICAgOzsgJSVMT0NBTC1GSUxFIGlzIG5vdC4KQEAg LTQ0MSw3ICs0NDUsNyBAQCBIZXJlIFRBUkdFVCBpcyBib3VuZCB0byB0aGUgY3Jvc3MtY29tcGls YXRpb24gdHJpcGxldCBvciAjZi4iCiAgICAgKHdhcm5pbmcgKGFuZD0+IGxvY2F0aW9uIHNvdXJj ZS1wcm9wZXJ0aWVzLT5sb2NhdGlvbikKICAgICAgICAgICAgICAoR18gInJlc29sdmluZyAnfmEn IHJlbGF0aXZlIHRvIGN1cnJlbnQgZGlyZWN0b3J5fiUiKQogICAgICAgICAgICAgIGZpbGUpKQot ICAoJSVsb2NhbC1maWxlIGZpbGUgcHJvbWlzZSBuYW1lIHJlY3Vyc2l2ZT8gc2VsZWN0PykpCisg ICglJWxvY2FsLWZpbGUgZmlsZSBwcm9taXNlIG5hbWUgc2hhMjU2IHJlY3Vyc2l2ZT8gc2VsZWN0 PykpCiAKIChkZWZpbmUgKGFic29sdXRlLWZpbGUtbmFtZSBmaWxlIGRpcmVjdG9yeSkKICAgIlJl dHVybiB0aGUgY2Fub25pY2FsIGFic29sdXRlIGZpbGUgbmFtZSBmb3IgRklMRSwgd2hpY2ggbGl2 ZXMgaW4gdGhlCkBAIC01MTcsNyArNTIxLDcgQEAgYXBwZWFycy4iCiAoZGVmaW5lLWdleHAtY29t cGlsZXIgKGxvY2FsLWZpbGUtY29tcGlsZXIgKGZpbGUgPGxvY2FsLWZpbGU+KSBzeXN0ZW0gdGFy Z2V0KQogICA7OyAiQ29tcGlsZSIgRklMRSBieSBhZGRpbmcgaXQgdG8gdGhlIHN0b3JlLgogICAo bWF0Y2ggZmlsZQotICAgICgoJCA8bG9jYWwtZmlsZT4gZmlsZSAoPSBmb3JjZSBhYnNvbHV0ZSkg bmFtZSByZWN1cnNpdmU/IHNlbGVjdD8pCisgICAgKCgkIDxsb2NhbC1maWxlPiBmaWxlICg9IGZv cmNlIGFic29sdXRlKSBuYW1lIHNoYTI1NiByZWN1cnNpdmU/IHNlbGVjdD8pCiAgICAgIDs7IENh bm9uaWNhbGl6ZSBGSUxFIHNvIHRoYXQgaWYgaXQncyBhIHN5bWxpbmssIGl0IGlzIHJlc29sdmVk LiAgRmFpbGluZwogICAgICA7OyB0byBkbyB0aGF0LCB3aGVuIFJFQ1VSU0lWRT8gaXMgI3QsIHdl IGNvdWxkIGVuZCB1cCBjcmVhdGluZyBhIGRhbmdsaW5nCiAgICAgIDs7IHN5bWxpbmsgaW4gdGhl IHN0b3JlLCBhbmQgd2hlbiBSRUNVUlNJVkU/IGlzICNmICdhZGQtdG8tc3RvcmUnIHdvdWxkCi0t IAoyLjMzLjAKCg== --=-VRWJSoloRA3mhw8ZjuSt Content-Disposition: attachment; filename="0006-gexp-Allow-overriding-the-absolute-file-name.patch" Content-Type: text/x-patch; name="0006-gexp-Allow-overriding-the-absolute-file-name.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBkNjQ3ZmQ3MTNiMGE5ZTJiMWIxYmNhY2ZhOTU0NmRhOWNlMjNjNjkwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbWUgRGV2b3MgPG1heGltZWRldm9zQHRlbGVuZXQuYmU+ CkRhdGU6IFNhdCwgNCBTZXAgMjAyMSAxNjoyNToyMiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDYv MTBdIGdleHA6IEFsbG93IG92ZXJyaWRpbmcgdGhlIGFic29sdXRlIGZpbGUgbmFtZS4KClRoaXMg d2lsbCBiZSB1c2VkIGJ5IHRoZSBuZXh0IHBhdGNoIHRvIGltcGxlbWVudCBzZWFyY2gtcGF0Y2gg aW4KdGVybXMgb2YgbG9jYWwtZmlsZS4KCiogZ3VpeC9nZXhwLnNjbQogIChwcmVjYW5vbmljYWxp emVkLWZpbGUtbmFtZSk6IE5ldyBtYWNyby4KICAobG9jYWwtZmlsZSk6IFVzZSB0aGUgYWJzb2x1 dGUgZmlsZSBuYW1lIGZyb20gcHJlY2Fub25pY2FsaXplZC1maWxlLW5hbWUKICB3aGVuIGF2YWls YWJsZS4KLS0tCiBndWl4L2dleHAuc2NtIHwgMTIgKysrKysrKysrKystCiAxIGZpbGUgY2hhbmdl ZCwgMTEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2d1aXgvZ2V4 cC5zY20gYi9ndWl4L2dleHAuc2NtCmluZGV4IGE2MzM5ODQ2ODguLmM2OWU0YWEyOTkgMTAwNjQ0 Ci0tLSBhL2d1aXgvZ2V4cC5zY20KKysrIGIvZ3VpeC9nZXhwLnNjbQpAQCAtNTEsNiArNTEsNyBA QAogICAgICAgICAgICAgZ2V4cC1pbnB1dC1vdXRwdXQKICAgICAgICAgICAgIGdleHAtaW5wdXQt bmF0aXZlPwogCisgICAgICAgICAgICBwcmVjYW5vbmljYWxpemVkLWZpbGUtbmFtZQogICAgICAg ICAgICAgYXNzdW1lLXZhbGlkLWZpbGUtbmFtZQogICAgICAgICAgICAgbG9jYWwtZmlsZQogICAg ICAgICAgICAgbG9jYWwtZmlsZT8KQEAgLTQ2Myw2ICs0NjQsMTIgQEAgdGhlIGdpdmVuIGZpbGUg bmFtZSBpcyB2YWxpZCwgZXZlbiBpZiBpdCdzIG5vdCBhIHN0cmluZyBsaXRlcmFsLCBhbmQgdGh1 cyBub3QKIHdhcm4gYWJvdXQgaXQuIgogICBmaWxlKQogCisoZGVmaW5lLXN5bnRheC1ydWxlIChw cmVjYW5vbmljYWxpemVkLWZpbGUtbmFtZSBmaWxlIGFic29sdXRlKQorICAiVGhpcyBpcyBhIHN5 bnRhY3RpYyBrZXl3b3JkIHRvIHRlbGwgJ2xvY2FsLWZpbGUnIHRoYXQgaXQgY2FuIGFzc3VtZSB0 aGF0Cit0aGUgZ2l2ZW4gZmlsZSBuYW1lIEZJTEUgaGFzIEFCU09MVVRFIGFzIGFic29sdXRlIGZp bGUgbmFtZSBhbmQgJ2xvY2FsLWZpbGUnCitkb2VzIG5vdCBuZWVkIHRvIGNvbXB1dGUgdGhlIGFi c29sdXRlIGZpbGUgbmFtZSBieSBpdHNlbGYuIgorICBhYnNvbHV0ZSkKKwogKGRlZmluZS1zeW50 YXggbG9jYWwtZmlsZQogICAobGFtYmRhIChzKQogICAgICJSZXR1cm4gYW4gb2JqZWN0IHJlcHJl c2VudGluZyBsb2NhbCBmaWxlIEZJTEUgdG8gYWRkIHRvIHRoZSBzdG9yZTsgdGhpcwpAQCAtNDgx LDcgKzQ4OCw3IEBAIHdoZXJlIEZJTEUgaXMgdGhlIGVudHJ5J3MgYWJzb2x1dGUgZmlsZSBuYW1l IGFuZCBTVEFUIGlzIHRoZSByZXN1bHQgb2YKIFRoaXMgaXMgdGhlIGRlY2xhcmF0aXZlIGNvdW50 ZXJwYXJ0IG9mIHRoZSAnaW50ZXJuZWQtZmlsZScgbW9uYWRpYyBwcm9jZWR1cmUuCiBJdCBpcyBp bXBsZW1lbnRlZCBhcyBhIG1hY3JvIHRvIGNhcHR1cmUgdGhlIGN1cnJlbnQgc291cmNlIGRpcmVj dG9yeSB3aGVyZSBpdAogYXBwZWFycy4iCi0gICAgKHN5bnRheC1jYXNlIHMgKGFzc3VtZS12YWxp ZC1maWxlLW5hbWUpCisgICAgKHN5bnRheC1jYXNlIHMgKGFzc3VtZS12YWxpZC1maWxlLW5hbWUg cHJlY2Fub25pY2FsaXplZC1maWxlLW5hbWUpCiAgICAgICAoKF8gZmlsZSByZXN0IC4uLikKICAg ICAgICAoc3RyaW5nPyAoc3ludGF4LT5kYXR1bSAjJ2ZpbGUpKQogICAgICAgIDs7IEZJTEUgaXMg YSBsaXRlcmFsLCBzbyByZXNvbHZlIGl0IHJlbGF0aXZlIHRvIHRoZSBzb3VyY2UgZGlyZWN0b3J5 LgpAQCAtNDk1LDYgKzUwMiw5IEBAIGFwcGVhcnMuIgogICAgICAgICMnKCVsb2NhbC1maWxlIGZp bGUKICAgICAgICAgICAgICAgICAgICAgICAoZGVsYXkgKGFic29sdXRlLWZpbGUtbmFtZSBmaWxl IChnZXRjd2QpKSkKICAgICAgICAgICAgICAgICAgICAgICByZXN0IC4uLikpCisgICAgICAoKF8g KHByZWNhbm9uaWNhbGl6ZWQtZmlsZS1uYW1lIGZpbGUgYWJzb2x1dGUpIHJlc3QgLi4uKQorICAg ICAgIDs7IFVzZSB0aGUgZ2l2ZW4gZmlsZSBuYW1lIEFCU09MVVRFIGFzIGFic29sdXRlIGZpbGUg bmFtZS4KKyAgICAgICAjJyglbG9jYWwtZmlsZSBmaWxlIChkZWxheSBhYnNvbHV0ZSkgcmVzdCAu Li4pKQogICAgICAgKChfIGZpbGUgcmVzdCAuLi4pCiAgICAgICAgOzsgUmVzb2x2ZSBGSUxFIHJl bGF0aXZlIHRvIHRoZSBjdXJyZW50IGRpcmVjdG9yeS4KICAgICAgICAod2l0aC1zeW50YXggKChs b2NhdGlvbiAoZGF0dW0tPnN5bnRheCBzIChzeW50YXgtc291cmNlIHMpKSkpCi0tIAoyLjMzLjAK Cg== --=-VRWJSoloRA3mhw8ZjuSt Content-Disposition: attachment; filename*0=0007-packages-Compute-the-hash-of-patches-in-advance-when.pat; filename*1=ch Content-Type: text/x-patch; name="0007-packages-Compute-the-hash-of-patches-in-advance-when.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA2NjI4Y2NkYTM5NjI0MzQ2ZTdkZjdkNjYwZjgwNWI2OTA2YzNiMWQwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbWUgRGV2b3MgPG1heGltZWRldm9zQHRlbGVuZXQuYmU+ CkRhdGU6IFNhdCwgNCBTZXAgMjAyMSAxNzoyNTo1OCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDcv MTBdIHBhY2thZ2VzOiBDb21wdXRlIHRoZSBoYXNoIG9mIHBhdGNoZXMgaW4gYWR2YW5jZSB3aGVu CiBwb3NzaWJsZS4KCiogZ251L3BhY2thZ2VzLnNjbQogIChzZWFyY2gtcGF0Y2gpOiBSZW5hbWUg dG8gLi4uCiAgKCVzZWFyY2gtcGF0Y2gpOiAuLi4gdGhpcy4KICAodHJ5LXNlYXJjaC1wYXRjaCk6 IE5ldyBwcm9jZWR1cmUsIGV4dHJhY3RlZCBmcm9tIC4uLgogICglc2VhcmNoLXBhdGNoKTogLi4u IHRoaXMgcHJvY2VkdXJlLgogICglbG9jYWwtcGF0Y2gtZmlsZSk6IE5ldyBwcm9jZWR1cmUuCiAg KHRydWUpOiBOZXcgcHJvY2VkdXJlLgogIChzZWFyY2gtcGF0Y2gpOiBOZXcgbWFjcm8sIGJlaGF2 aW5nIGxpa2UgJXNlYXJjaC1wYXRjaCwgYnV0IGNvbXB1dGluZyB0aGUKICBoYXNoIGF0IGV4cGFu c2lvbiB0aW1lIHdoZW4gcG9zc2libGUuCiogZ251L3BhY2thZ2VzL2Nocm9taXVtLnNjbQogICgl Z3VpeC1wYXRjaGVzKTogVXNlIHNlYXJjaC1wYXRjaGVzIGluc3RlYWQgb2YgbG9jYWwtZmlsZSAr CiAgYXNzdW1lLXZhbGlkLWZpbGUtbmFtZSArIHNlYXJjaC1wYXRjaC4KKiBnbnUvcGFja2FnZXMv Z251emlsbGEuc2NtCiAgKGljZWNhdC1zb3VyY2UpW2dudXppbGxhLWZpeGVzLXBhdGNoXTogVXNl IHNlYXJjaC1wYXRjaCBpbnN0ZWFkIG9mCiAgbG9jYWwtZmlsZSArIGFzc3VsZS12YWxpZC1maWxl LW5hbWUgKyBzZWFyY2gtcGF0Y2guCiAgKGljZWNhdC1zb3VyY2UpW21ha2VpY2VjYXQtcGF0Y2hd OiBMaWtld2lzZS4KKiBnbnUvcGFja2FnZXMvZW1iZWRkZWQuc2NtCiAgKGdjYy1hcm0tbm9uZS1l YWJpLTQuOSlbc291cmNlXXtwYXRjaGVzfTogRXhwZWN0IHBhdGNoZXMgdG8gYmUKICBsb2NhbC1m aWxlIG9iamVjdHMgaW5zdGVhZCBvZiBzdHJpbmdzLgogIG9mIHN0cmluZ3MuCiogZ3VpeC9saW50 LnNjbSAoY2hlY2stcGF0Y2gtZmlsZS1uYW1lcyk6IEFsbG93IGxvY2FsLWZpbGUgb2JqZWN0cy4K LS0tCiBnbnUvcGFja2FnZXMuc2NtICAgICAgICAgIHwgNDIgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKy0tCiBnbnUvcGFja2FnZXMvY2hyb21pdW0uc2NtIHwgIDQgKy0tLQog Z251L3BhY2thZ2VzL2VtYmVkZGVkLnNjbSB8ICAzICsrLQogZ251L3BhY2thZ2VzL2dudXppbGxh LnNjbSB8ICA4ICsrLS0tLS0tCiBndWl4L2xpbnQuc2NtICAgICAgICAgICAgIHwgMjggKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0KIDUgZmlsZXMgY2hhbmdlZCwgNjIgaW5zZXJ0aW9ucygrKSwg MjMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZ251L3BhY2thZ2VzLnNjbSBiL2dudS9wYWNr YWdlcy5zY20KaW5kZXggY2NmYzgzZGQxMS4uZjU1NTJlNWE5YiAxMDA2NDQKLS0tIGEvZ251L3Bh Y2thZ2VzLnNjbQorKysgYi9nbnUvcGFja2FnZXMuc2NtCkBAIC00LDYgKzQsNyBAQAogOzs7IENv cHlyaWdodCDCqSAyMDE0IEVyaWMgQmF2aWVyIDxiYXZpZXJAbWVtYmVyLmZzZi5vcmc+CiA7Ozsg Q29weXJpZ2h0IMKpIDIwMTYsIDIwMTcgQWxleCBLb3N0IDxhbGV6b3N0QGdtYWlsLmNvbT4KIDs7 OyBDb3B5cmlnaHQgwqkgMjAxNiBNYXRoaWV1IExpcnppbiA8bXRobEBnbnUub3JnPgorOzs7IENv cHlyaWdodCDCqSAyMDIxIE1heGltZSBEZXZvcyA8bWF4aW1lZGV2b3NAdGVsZW5ldC5iZT4KIDs7 OwogOzs7IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBHdWl4LgogOzs7CkBAIC0yMSwxMSArMjIs MTMgQEAKIDs7OyBhbG9uZyB3aXRoIEdOVSBHdWl4LiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cu Z251Lm9yZy9saWNlbnNlcy8+LgogCiAoZGVmaW5lLW1vZHVsZSAoZ251IHBhY2thZ2VzKQorICAj OnVzZS1tb2R1bGUgKGd1aXggZ2V4cCkKICAgIzp1c2UtbW9kdWxlIChndWl4IHBhY2thZ2VzKQog ICAjOnVzZS1tb2R1bGUgKGd1aXggdWkpCiAgICM6dXNlLW1vZHVsZSAoZ3VpeCB1dGlscykKICAg Izp1c2UtbW9kdWxlIChndWl4IGRpYWdub3N0aWNzKQogICAjOnVzZS1tb2R1bGUgKGd1aXggZGlz Y292ZXJ5KQorICAjOnVzZS1tb2R1bGUgKGd1aXggaGFzaCkKICAgIzp1c2UtbW9kdWxlIChndWl4 IG1lbW9pemF0aW9uKQogICAjOnVzZS1tb2R1bGUgKChndWl4IGJ1aWxkIHV0aWxzKQogICAgICAg ICAgICAgICAgICM6c2VsZWN0ICgocGFja2FnZS1uYW1lLT5uYW1lK3ZlcnNpb24KQEAgLTkwLDEy ICs5Myw0NyBAQAogICAiU2VhcmNoIHRoZSBhdXhpbGlhcnkgRklMRS1OQU1FLiAgUmV0dXJuICNm IGlmIG5vdCBmb3VuZC4iCiAgIChzZWFyY2gtcGF0aCAoJWF1eGlsaWFyeS1maWxlcy1wYXRoKSBm aWxlLW5hbWUpKQogCi0oZGVmaW5lIChzZWFyY2gtcGF0Y2ggZmlsZS1uYW1lKQorKGRlZmluZSAo dHJ5LXNlYXJjaC1wYXRjaCBmaWxlLW5hbWUpCisgICJTZWFyY2ggdGhlIHBhdGNoIEZJTEUtTkFN RS4gIFJldHVybiAjZiBpZiBub3QgZm91bmQuIgorICAoc2VhcmNoLXBhdGggKCVwYXRjaC1wYXRo KSBmaWxlLW5hbWUpKQorCisoZGVmaW5lICglc2VhcmNoLXBhdGNoIGZpbGUtbmFtZSkKICAgIlNl YXJjaCB0aGUgcGF0Y2ggRklMRS1OQU1FLiAgUmFpc2UgYW4gZXJyb3IgaWYgbm90IGZvdW5kLiIK LSAgKG9yIChzZWFyY2gtcGF0aCAoJXBhdGNoLXBhdGgpIGZpbGUtbmFtZSkKKyAgKG9yICh0cnkt c2VhcmNoLXBhdGNoIGZpbGUtbmFtZSkKICAgICAgIChyYWlzZSAoZm9ybWF0dGVkLW1lc3NhZ2Ug KEdfICJ+YTogcGF0Y2ggbm90IGZvdW5kIikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZmlsZS1uYW1lKSkpKQogCisoZGVmaW5lICglbG9jYWwtcGF0Y2gtZmlsZSBmaWxlLW5hbWUg aGFzaCkKKyAgIlNlYXJjaCB0aGUgcGF0Y2ggRklMRS1OQU1FLCB3aGljaCBpcyBrbm93biB0byBo YXZlIEhBU0guIgorICAobG9jYWwtZmlsZSAocHJlY2Fub25pY2FsaXplZC1maWxlLW5hbWUgZmls ZS1uYW1lICglc2VhcmNoLXBhdGNoIGZpbGUtbmFtZSkpCisgICAgICAgICAgICAgICM6c2hhMjU2 IGhhc2ggIzpyZWN1cnNpdmU/ICN0KSkKKworKGRlZmluZSB0cnVlIChjb25zdCAjdCkpCisKKyhk ZWZpbmUtc3ludGF4IHNlYXJjaC1wYXRjaAorICAobGFtYmRhIChzKQorICAgICJTZWFyY2ggdGhl IHBhdGNoIEZJTEUtTkFNRSBhbmQgY29tcHV0ZSBpdHMgaGFzaCBhdCBleHBhbnNpb24gdGltZQor aWYgcG9zc2libGUuICBSZXR1cm4gI2YgaWYgbm90IGZvdW5kLiIKKyAgICAoc3ludGF4LWNhc2Ug cyAoKQorICAgICAgKChfIGZpbGUtbmFtZSkKKyAgICAgICAoc3RyaW5nPyAoc3ludGF4LT5kYXR1 bSAjJ2ZpbGUtbmFtZSkpCisgICAgICAgOzsgRklMRS1OQU1FIGlzIGEgY29uc3RhbnQgc3RyaW5n LCBzbyB0aGUgaGFzaCBjYW4gYmUgY29tcHV0ZWQKKyAgICAgICA7OyBpbiBhZHZhbmNlLgorICAg ICAgIChsZXQgKChwYXRjaCAodHJ5LXNlYXJjaC1wYXRjaCAoc3ludGF4LT5kYXR1bSAjJ2ZpbGUt bmFtZSkpKSkKKyAgICAgICAgIChpZiBwYXRjaAorICAgICAgICAgICAgICNgKCVsb2NhbC1wYXRj aC1maWxlIGZpbGUtbmFtZSAjLChmaWxlLWhhc2gqIHBhdGNoICM6c2VsZWN0PyB0cnVlKSkKKyAg ICAgICAgICAgICAoYmVnaW4KKyAgICAgICAgICAgICAgICh3YXJuaW5nIChzb3VyY2UtcHJvcGVy dGllcy0+bG9jYXRpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAoc3ludGF4LXNvdXJjZSAj J2ZpbGUtbmFtZSkpCisgICAgICAgICAgICAgICAgICAgICAgICAoR18gIn5hOiBwYXRjaCBub3Qg Zm91bmQgYXQgZXhwYW5zaW9uIHRpbWUiKQorICAgICAgICAgICAgICAgICAgICAgICAgKHN5bnRh eC0+ZGF0dW0gIydpbGUtbmFtZSkpCisgICAgICAgICAgICAgICAjJyglc2VhcmNoLXBhdGNoIGZp bGUtbmFtZSkpKSkpCisgICAgICA7OyBGSUxFLU5BTUUgaXMgdmFyaWFibGUsIHNvIHRoZSBoYXNo IGNhbm5vdCBiZSBwcmUtY29tcHV0ZWQuCisgICAgICAoKF8gZmlsZS1uYW1lKSAjJyglc2VhcmNo LXBhdGNoIGZpbGUtbmFtZSkpCisgICAgICA7OyBzZWFyY2gtcGF0Y2ggaXMgYmVpbmcgdXNlZCB1 c2VkIGluIGEgY29uc3RydWN0IGxpa2UKKyAgICAgIDs7IChtYXAgc2VhcmNoLXBhdGNoIC4uLiku CisgICAgICAoaWQgKGlkZW50aWZpZXI/ICMnaWQpICMnJXNlYXJjaC1wYXRjaCkpKSkKKwogKGRl ZmluZS1zeW50YXgtcnVsZSAoc2VhcmNoLXBhdGNoZXMgZmlsZS1uYW1lIC4uLikKICAgIlJldHVy biB0aGUgbGlzdCBvZiBhYnNvbHV0ZSBmaWxlIG5hbWVzIGNvcnJlc3BvbmRpbmcgdG8gZWFjaAog RklMRS1OQU1FIGZvdW5kIGluICVQQVRDSC1QQVRILiIKZGlmZiAtLWdpdCBhL2dudS9wYWNrYWdl cy9jaHJvbWl1bS5zY20gYi9nbnUvcGFja2FnZXMvY2hyb21pdW0uc2NtCmluZGV4IDI2YWUxZTI1 NTAuLmNmNDE5Y2Y0MWIgMTAwNjQ0Ci0tLSBhL2dudS9wYWNrYWdlcy9jaHJvbWl1bS5zY20KKysr IGIvZ251L3BhY2thZ2VzL2Nocm9taXVtLnNjbQpAQCAtMzUxLDkgKzM1MSw3IEBACiAgICAgICAi MHdiY2Jqemg1YWs0bmNpYWhxdzR5dnhjNHg4aWs0eDBpejloNGtmeTBtMDExc3h6eTE3NCIpKSkp CiAKIChkZWZpbmUgJWd1aXgtcGF0Y2hlcwotICAobGlzdCAobG9jYWwtZmlsZQotICAgICAgICAg KGFzc3VtZS12YWxpZC1maWxlLW5hbWUKLSAgICAgICAgICAoc2VhcmNoLXBhdGNoICJ1bmdvb2ds ZWQtY2hyb21pdW0tZXh0ZW5zaW9uLXNlYXJjaC1wYXRoLnBhdGNoIikpKSkpCisgIChzZWFyY2gt cGF0Y2hlcyAidW5nb29nbGVkLWNocm9taXVtLWV4dGVuc2lvbi1zZWFyY2gtcGF0aC5wYXRjaCIp KQogCiA7OyBUaGlzIGlzIGEgc291cmNlICdzbmlwcGV0JyB0aGF0IGRvZXMgdGhlIGZvbGxvd2lu ZzoKIDs7ICopIEFwcGxpZXMgdmFyaW91cyBwYXRjaGVzIGZvciB1bmJ1bmRsaW5nIHB1cnBvc2Vz IGFuZCBsaWJzdGRjKysgY29tcGF0aWJpbGl0eS4KZGlmZiAtLWdpdCBhL2dudS9wYWNrYWdlcy9l bWJlZGRlZC5zY20gYi9nbnUvcGFja2FnZXMvZW1iZWRkZWQuc2NtCmluZGV4IGYzODhjMTFjM2Qu LjgyNmY1NjU1YzMgMTAwNjQ0Ci0tLSBhL2dudS9wYWNrYWdlcy9lbWJlZGRlZC5zY20KKysrIGIv Z251L3BhY2thZ2VzL2VtYmVkZGVkLnNjbQpAQCAtMzAsNiArMzAsNyBAQAogICAjOnVzZS1tb2R1 bGUgKGd1aXggcGFja2FnZXMpCiAgICM6dXNlLW1vZHVsZSAoZ3VpeCBkb3dubG9hZCkKICAgIzp1 c2UtbW9kdWxlIChndWl4IHN2bi1kb3dubG9hZCkKKyAgIzp1c2UtbW9kdWxlIChndWl4IGdleHAp CiAgICM6dXNlLW1vZHVsZSAoZ3VpeCBnaXQtZG93bmxvYWQpCiAgICM6dXNlLW1vZHVsZSAoKGd1 aXggbGljZW5zZXMpICM6cHJlZml4IGxpY2Vuc2U6KQogICAjOnVzZS1tb2R1bGUgKGd1aXggYnVp bGQtc3lzdGVtIGNtYWtlKQpAQCAtOTEsNyArOTIsNyBAQAogICAgICAgICAgOzsgUmVtb3ZlIHRo ZSBvbmUgcGF0Y2ggdGhhdCBkb2Vzbid0IGFwcGx5IHRvIHRoaXMgNC45IHNuYXBzaG90ICh0aGUK ICAgICAgICAgIDs7IHBhdGNoIGlzIGZvciA0LjkuNCBhbmQgbGF0ZXIgYnV0IHRoaXMgc3ZuIHNu YXBzaG90IGlzIG9sZGVyKS4KICAgICAgICAgIChwYXRjaGVzIChyZW1vdmUgKGxhbWJkYSAocGF0 Y2gpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZz0/IChiYXNlbmFtZSBwYXRj aCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nPT8gKGxvY2FsLWZpbGUtbmFt ZSBwYXRjaCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdjYy1hcm0t YnVnLTcxMzk5LnBhdGNoIikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgIChvcmlnaW4tcGF0 Y2hlcyAocGFja2FnZS1zb3VyY2UgeGdjYykpKSkpKQogICAgICAgKG5hdGl2ZS1pbnB1dHMKZGlm ZiAtLWdpdCBhL2dudS9wYWNrYWdlcy9nbnV6aWxsYS5zY20gYi9nbnUvcGFja2FnZXMvZ251emls bGEuc2NtCmluZGV4IDU3NmJjMjU4NmYuLmJlNjc0ZGNlOGYgMTAwNjQ0Ci0tLSBhL2dudS9wYWNr YWdlcy9nbnV6aWxsYS5zY20KKysrIGIvZ251L3BhY2thZ2VzL2dudXppbGxhLnNjbQpAQCAtNzM2 LDE0ICs3MzYsMTAgQEAgZnJvbSBmb3JjaW5nIEdFWFAtUFJPTUlTRS4iCiAgICAgICAgICAgICAg KGJhc2UzMgogICAgICAgICAgICAgICAiMDB3czM1NDB4NXdocGljYzVmeDRrOTQ5ZmY3M2NxdmFq ejZqcDEzYWhuNDl3cWRhZHM0NyIpKSkpCiAKLSAgICAgICAgIDs7ICdzZWFyY2gtcGF0Y2gnIHJl dHVybnMgZWl0aGVyIGEgdmFsaWQgZmlsZSBuYW1lIG9yICNmLCBzbyB3cmFwIGl0Ci0gICAgICAg ICA7OyBpbiAnYXNzdW1lLXZhbGlkLWZpbGUtbmFtZScgdG8gYXZvaWQgJ2xvY2FsLWZpbGUnIHdh cm5pbmdzLgogICAgICAgICAgKGdudXppbGxhLWZpeGVzLXBhdGNoCi0gICAgICAgICAgKGxvY2Fs LWZpbGUgKGFzc3VtZS12YWxpZC1maWxlLW5hbWUKLSAgICAgICAgICAgICAgICAgICAgICAgKHNl YXJjaC1wYXRjaCAiaWNlY2F0LXVzZS1vbGRlci1yZXZlYWwtaGlkZGVuLWh0bWwucGF0Y2giKSkp KQorICAgICAgICAgIChzZWFyY2gtcGF0Y2ggImljZWNhdC11c2Utb2xkZXItcmV2ZWFsLWhpZGRl bi1odG1sLnBhdGNoIikpCiAgICAgICAgICAobWFrZWljZWNhdC1wYXRjaAotICAgICAgICAgIChs b2NhbC1maWxlIChhc3N1bWUtdmFsaWQtZmlsZS1uYW1lCi0gICAgICAgICAgICAgICAgICAgICAg IChzZWFyY2gtcGF0Y2ggImljZWNhdC1tYWtlaWNlY2F0LnBhdGNoIikpKSkpCisgICAgICAgICAg KHNlYXJjaC1wYXRjaCAiaWNlY2F0LW1ha2VpY2VjYXQucGF0Y2giKSkpCiAKICAgICAob3JpZ2lu CiAgICAgICAobWV0aG9kIGNvbXB1dGVkLW9yaWdpbi1tZXRob2QpCmRpZmYgLS1naXQgYS9ndWl4 L2xpbnQuc2NtIGIvZ3VpeC9saW50LnNjbQppbmRleCA0MTNiMGI5OTA1Li5mNzA4NDY1ZWQ4IDEw MDY0NAotLS0gYS9ndWl4L2xpbnQuc2NtCisrKyBiL2d1aXgvbGludC5zY20KQEAgLTQ2LDYgKzQ2 LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V4cC0+YXBwcm94aW1hdGUt c2V4cCkpCiAgICM6dXNlLW1vZHVsZSAoZ3VpeCBsaWNlbnNlcykKICAgIzp1c2UtbW9kdWxlIChn dWl4IHJlY29yZHMpCisgICM6dXNlLW1vZHVsZSAoZ3VpeCBnZXhwKQogICAjOnVzZS1tb2R1bGUg KGd1aXggZ3JhZnRzKQogICAjOnVzZS1tb2R1bGUgKGd1aXggdXBzdHJlYW0pCiAgICM6dXNlLW1v ZHVsZSAoZ3VpeCB1dGlscykKQEAgLTkzMiw2ICs5MzMsOCBAQCBwYXRjaCBjb3VsZCBub3QgYmUg Zm91bmQuIgogICAgICAgICAgICAgICAgICAgIChzdGFydHMtd2l0aC1wYWNrYWdlLW5hbWU/IChi YXNlbmFtZSBwYXRjaCkpKQogICAgICAgICAgICAgICAgICAgKCg/IG9yaWdpbj8gcGF0Y2gpCiAg ICAgICAgICAgICAgICAgICAgKHN0YXJ0cy13aXRoLXBhY2thZ2UtbmFtZT8gKG9yaWdpbi1hY3R1 YWwtZmlsZS1uYW1lIHBhdGNoKSkpCisgICAgICAgICAgICAgICAgICAoKD8gbG9jYWwtZmlsZT8g cGF0Y2gpCisgICAgICAgICAgICAgICAgICAgKHN0YXJ0cy13aXRoLXBhY2thZ2UtbmFtZT8gKGxv Y2FsLWZpbGUtbmFtZSBwYXRjaCkpKQogICAgICAgICAgICAgICAgICAgKF8gICNmKSkgICAgIDtt dXN0IGJlIHNvbWUgb3RoZXIgZmlsZS1saWtlIG9iamVjdAogICAgICAgICAgICAgICAgIHBhdGNo ZXMpCiAgICAgICAgICAnKCkKQEAgLTk0NSwxOSArOTQ4LDIyIEBAIHBhdGNoIGNvdWxkIG5vdCBi ZSBmb3VuZC4iCiAgICAgIChsZXQgKChwcmVmaXggKHN0cmluZy1sZW5ndGggKCVkaXN0cm8tZGly ZWN0b3J5KSkpCiAgICAgICAgICAgIChtYXJnaW4gKHN0cmluZy1sZW5ndGggImd1aXgtMi4wLjBy YzMtMTAwMDAtMTIzNDU2Nzg5MC8iKSkKICAgICAgICAgICAgKG1heCAgICA5OSkpCisgICAgICAg KGRlZmluZSAodGVzdC1wYXRjaC1uYW1lIGZpbGUtbmFtZSkKKyAgICAgICAgIChpZiAoPiAoKyBt YXJnaW4gKGlmIChzdHJpbmctcHJlZml4PyAoJWRpc3Ryby1kaXJlY3RvcnkpIGZpbGUtbmFtZSkK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgtIChzdHJpbmctbGVuZ3RoIGZpbGUtbmFt ZSkgcHJlZml4KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1sZW5ndGgg ZmlsZS1uYW1lKSkpCisgICAgICAgICAgICAgICAgbWF4KQorICAgICAgICAgICAgIChtYWtlLXdh cm5pbmcKKyAgICAgICAgICAgICAgcGFja2FnZQorICAgICAgICAgICAgICAoR18gIn5hOiBmaWxl IG5hbWUgaXMgdG9vIGxvbmciKQorICAgICAgICAgICAgICAobGlzdCAoYmFzZW5hbWUgZmlsZS1u YW1lKSkKKyAgICAgICAgICAgICAgIzpmaWVsZCAncGF0Y2gtZmlsZS1uYW1lcykKKyAgICAgICAg ICAgICAjZikpCiAgICAgICAgKGZpbHRlci1tYXAgKG1hdGNoLWxhbWJkYQogICAgICAgICAgICAg ICAgICAgICAgKCg/IHN0cmluZz8gcGF0Y2gpCi0gICAgICAgICAgICAgICAgICAgICAgKGlmICg+ ICgrIG1hcmdpbiAoaWYgKHN0cmluZy1wcmVmaXg/ICglZGlzdHJvLWRpcmVjdG9yeSkKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0 Y2gpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKC0gKHN0cmlu Zy1sZW5ndGggcGF0Y2gpIHByZWZpeCkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoc3RyaW5nLWxlbmd0aCBwYXRjaCkpKQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBtYXgpCi0gICAgICAgICAgICAgICAgICAgICAgICAgIChtYWtlLXdhcm5pbmcKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgIHBhY2thZ2UKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgIChHXyAifmE6IGZpbGUgbmFtZSBpcyB0b28gbG9uZyIpCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAobGlzdCAoYmFzZW5hbWUgcGF0Y2gpKQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgIzpmaWVsZCAncGF0Y2gtZmlsZS1uYW1lcykKLSAgICAgICAgICAgICAgICAgICAgICAgICAg I2YpKQorICAgICAgICAgICAgICAgICAgICAgICh0ZXN0LXBhdGNoLW5hbWUgcGF0Y2gpKQorICAg ICAgICAgICAgICAgICAgICAgKCg/IGxvY2FsLWZpbGU/IHBhdGNoKQorICAgICAgICAgICAgICAg ICAgICAgICh0ZXN0LXBhdGNoLW5hbWUgKGxvY2FsLWZpbGUtYWJzb2x1dGUtZmlsZS1uYW1lIHBh dGNoKSkpCiAgICAgICAgICAgICAgICAgICAgICAoXyAjZikpCiAgICAgICAgICAgICAgICAgICAg cGF0Y2hlcykpKSkpCiAKLS0gCjIuMzMuMAoK --=-VRWJSoloRA3mhw8ZjuSt Content-Disposition: attachment; filename*0=0008-compile-all-compile-Keep-track-of-dependencies-of-co.pat; filename*1=ch Content-Type: text/x-patch; name="0008-compile-all-compile-Keep-track-of-dependencies-of-co.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA5M2E0NjVmMzc3OGFhZTAxNDlhODZjNGZjOGRlOTQ0MzVkOGRiY2E2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbWUgRGV2b3MgPG1heGltZWRldm9zQHRlbGVuZXQuYmU+ CkRhdGU6IFN1biwgNSBTZXAgMjAyMSAxNDowMjozMCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDgv MTBdIGNvbXBpbGUtYWxsLGNvbXBpbGU6IEtlZXAgdHJhY2sgb2YgZGVwZW5kZW5jaWVzIG9mCiBj b21waWxlZCBtb2R1bGVzLgoKVGhpcyBwYXRjaCBkZWZpbmVzIGEgJ25vdGljZS1kZXBlbmRlbmN5 JyBwcm9jZWR1cmUuCk1hY3JvcyBjYW4gdXNlIHRoaXMgcHJvY2VkdXJlIHRvIGluZm9ybSBidWls ZC1hdXgvY29tcGlsZS1hbGwuc2NtCnRoYXQgYSBtb2R1bGUgbmVlZHMgdG8gYmUgcmVjb21waWxl ZCB3aGVuIHNvbWUgZmlsZSBpcyB1cGRhdGVkLgoKKiBndWl4L2J1aWxkL2NvbXBpbGUuc2NtCiAg KGN1cnJlbnQtZGVwZW5kZW5jeS1pbmZvLCBjdXJyZW50LW91dHB1dC1maWxlKTogTmV3IHBhcmFt ZXRlcnMuCiAgKG5vdGljZS1kZXBlbmRlbmN5KTogTmV3IHByb2NlZHVyZS4KICAoY29tcGlsZS1m aWxlcylbYnVpbGRdOiBTZXQgJ291dHB1dC1maWxlJy4gIERlbGV0ZSB0aGUgb2xkIGNvbXBpbGVk IGZpbGUKICBpZiBuZWNlc3NhcnkuICBSZW1vdmUgb2xkIGRlcGVuZGVuY3kgaW5mb3JtYXRpb24u CiogYnVpbGQtYXV4L2NvbXBpbGUtYWxsLnNjbTogUG9wdWxhdGUgY3VycmVudC1kZXBlbmRlbmN5 LWluZm8gZnJvbSBhIGZpbGUuCiAgUG9wdWxhdGUgdGhlIGZpbGUgZGVwZW5kZW5jeS1pbmZvLnNj bSBmcm9tIHRoZSBoYXNoIHRhYmxlLgogIChidWlsZGRpcik6IE5ldyB2YXJpYWJsZS4KICAoZmls ZS1uZWVkcy1jb21waWxhdGlvbj8pOiBDaGVjayBpZiB0aGUgLmdvIGZpbGUgaXMgb2xkZXIgdGhh biB0aGUKICBkZXBlbmRlbmNpZXMuCiogLmdpdGlnbm9yZTogSWdub3JlIGRlcGVuZGVuY3ktaW5m by5zY20uCi0tLQogLmdpdGlnbm9yZSAgICAgICAgICAgICAgICB8ICAxICsKIGJ1aWxkLWF1eC9j b21waWxlLWFsbC5zY20gfCAzOSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KIGd1 aXgvYnVpbGQvY29tcGlsZS5zY20gICAgfCA0NSArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgNzMgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5naXRpZ25vcmUKaW5kZXggODhmZTI0 NTg2ZC4uZjI0ZWE1ZmMzYiAxMDA2NDQKLS0tIGEvLmdpdGlnbm9yZQorKysgYi8uZ2l0aWdub3Jl CkBAIC0xNTQsMyArMTU0LDQgQEAgdG1wCiAvZ251L3BhY2thZ2VzL2Jvb3RzdHJhcAogL2dudS9w YWNrYWdlcy9hdXgtZmlsZXMvZ3VpbGUtZ3VpbGUtbGF1bmNoZXIubwogL2d1aWxlCisvZGVwZW5k ZW5jeS1pbmZvLnNjbQpkaWZmIC0tZ2l0IGEvYnVpbGQtYXV4L2NvbXBpbGUtYWxsLnNjbSBiL2J1 aWxkLWF1eC9jb21waWxlLWFsbC5zY20KaW5kZXggOWZmYmNlNDNhZC4uOTAyNTI3YjA4MyAxMDA2 NDQKLS0tIGEvYnVpbGQtYXV4L2NvbXBpbGUtYWxsLnNjbQorKysgYi9idWlsZC1hdXgvY29tcGls ZS1hbGwuc2NtCkBAIC0xLDYgKzEsNyBAQAogOzs7IEdOVSBHdWl4IC0tLSBGdW5jdGlvbmFsIHBh Y2thZ2UgbWFuYWdlbWVudCBmb3IgR05VCiA7OzsgQ29weXJpZ2h0IMKpIDIwMTYgVGF5bGFuIFVs cmljaCBCYXnEsXJsxLEvS2FtbWVyIDx0YXlsYW5iYXlpcmxpQGdtYWlsLmNvbT4KIDs7OyBDb3B5 cmlnaHQgwqkgMjAxNiwgMjAxNywgMjAxOSwgMjAyMCwgMjAyMSBMdWRvdmljIENvdXJ0w6hzIDxs dWRvQGdudS5vcmc+Cis7OzsgQ29weXJpZ2h0IMKpIDIwMjEgTWF4aW1lIERldm9zIDxtYXhpbWVk ZXZvc0B0ZWxlbmV0LmJlPgogOzs7CiA7OzsgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEd1aXgu CiA7OzsKQEAgLTIwLDEyICsyMSwxNSBAQAogKHVzZS1tb2R1bGVzIChpY2UtOSBmb3JtYXQpCiAg ICAgICAgICAgICAgKGljZS05IG1hdGNoKQogICAgICAgICAgICAgIChpY2UtOSB0aHJlYWRzKQor ICAgICAgICAgICAgIChpY2UtOSBoYXNoLXRhYmxlKQogICAgICAgICAgICAgIChzcmZpIHNyZmkt MSkKKyAgICAgICAgICAgICAoc3JmaSBzcmZpLTI2KQogICAgICAgICAgICAgIChndWl4IGJ1aWxk IGNvbXBpbGUpCiAgICAgICAgICAgICAgKGd1aXggYnVpbGQgdXRpbHMpKQogCiAoZGVmaW5lIGhv c3QgKGdldGVudiAiaG9zdCIpKQogKGRlZmluZSBzcmNkaXIgKGdldGVudiAic3JjZGlyIikpCiso ZGVmaW5lIGJ1aWxkZGlyIChnZXRjd2QpKQogCiAoZGVmaW5lIChyZWxhdGl2ZS1maWxlIGZpbGUp CiAgIChpZiAoc3RyaW5nLXByZWZpeD8gKHN0cmluZy1hcHBlbmQgc3JjZGlyICIvIikgZmlsZSkK QEAgLTQxLDEwICs0NSwzNSBAQAogICAgICAgICAgKHdpdGhvdXQtZXh0ZW5zaW9uIChzdHJpbmct ZHJvcC1yaWdodCByZWxhdGl2ZSA0KSkpCiAgICAgKHN0cmluZy1hcHBlbmQgd2l0aG91dC1leHRl bnNpb24gIi5nbyIpKSkKIAorOzsgUmVhZCBkZXBlbmRlbmN5IGluZm9ybWF0aW9uIGZyb20gcHJl dmlvdXMgIm1ha2UiIHJ1bnMuCisoY3VycmVudC1kZXBlbmRlbmN5LWluZm8gKG1ha2UtaGFzaC10 YWJsZSkpCisoaWYgKGZpbGUtZXhpc3RzPyAiZGVwZW5kZW5jeS1pbmZvLnNjbSIpCisgICAgKGN1 cnJlbnQtZGVwZW5kZW5jeS1pbmZvCisgICAgIChhbGlzdC0+aGFzaC10YWJsZQorICAgICAgKGNh bGwtd2l0aC1pbnB1dC1maWxlICJkZXBlbmRlbmN5LWluZm8uc2NtIiByZWFkICM6ZW5jb2Rpbmcg IlVURi04IikpKQorICAgIChjdXJyZW50LWRlcGVuZGVuY3ktaW5mbyAobWFrZS1oYXNoLXRhYmxl KSkpCisKKyhkZWZpbmUgKGR1bXAtZGVwZW5kZW5jeS1pbmZvKQorICAiRHVtcCB0aGUgY3VycmVu dCBkZXBlbmRlbmN5IGluZm9ybWF0aW9uIGZvciB0aGUgbmV4dCBcIm1ha2VcIiBydW4uIgorICAo Y2FsbC13aXRoLW91dHB1dC1maWxlICJkZXBlbmRlbmN5LWluZm8uc2NtLm5ldyIKKyAgICAobGFt YmRhIChwb3J0KQorICAgICAgKGRpc3BsYXkgIjs7IFRoaXMgaXMgYXV0by1nZW5lcmF0ZWQgYnkg YnVpbGQtYXV4L2NvbXBpbGUtYWxsLnNjbSwKKzs7IGRvIG5vdCBtb2RpZnkgbWFudWFsbHkhCisi IHBvcnQpCisgICAgICAod3JpdGUgKGhhc2gtbWFwLT5saXN0IGNvbnMgKGN1cnJlbnQtZGVwZW5k ZW5jeS1pbmZvKSkgcG9ydCkpCisgICAgIzplbmNvZGluZyAiVVRGLTgiKQorICAocmVuYW1lLWZp bGUgImRlcGVuZGVuY3ktaW5mby5zY20ubmV3IiAiZGVwZW5kZW5jeS1pbmZvLnNjbSIpKQorCiAo ZGVmaW5lIChmaWxlLW5lZWRzLWNvbXBpbGF0aW9uPyBmaWxlKQotICAobGV0ICgoZ28gKHNjbS0+ Z28gZmlsZSkpKQorICAobGV0KiAoKGdvIChzY20tPmdvIGZpbGUpKQorICAgICAgICAgKGV4dHJh LWRlcGVuZGVuY2llcworICAgICAgICAgIChoYXNoLXJlZiAoY3VycmVudC1kZXBlbmRlbmN5LWlu Zm8pIChpbi12aWNpbml0eSBidWlsZGRpciBnbykKKyAgICAgICAgICAgICAgICAgICAgJygpKSkp CiAgICAgKG9yIChub3QgKGZpbGUtZXhpc3RzPyBnbykpCi0gICAgICAgIChmaWxlLW10aW1lPD8g Z28gZmlsZSkpKSkKKyAgICAgICAgKGZpbGUtbXRpbWU8PyBnbyBmaWxlKQorICAgICAgICAoYW55 IChsYW1iZGEgKGRlcGVuZGVuY3kpCisgICAgICAgICAgICAgICAob3IgKG5vdCAoZmlsZS1leGlz dHM/IGRlcGVuZGVuY3kpKQorICAgICAgICAgICAgICAgICAgIChmaWxlLW10aW1lPD8gZ28gZGVw ZW5kZW5jeSkpKSBleHRyYS1kZXBlbmRlbmNpZXMpKSkpCiAKIChkZWZpbmUqIChwYXJhbGxlbC1q b2ItY291bnQgIzpvcHRpb25hbCAoZmxhZ3MgKGdldGVudiAiTUFLRUZMQUdTIikpKQogICAiUmV0 dXJuIHRoZSBudW1iZXIgb2YgcGFyYWxsZWwgam9icyBhcyBkZXRlcm1pbmVkIGJ5IEZMQUdTLCB0 aGUgZmxhZ3MgcGFzc2VkCkBAIC0xMDksNyArMTM4LDcgQEAgdG8gJ21ha2UnLiIKICAgICAgICAo bGV0KiAoKHRvLWJ1aWxkICAoZmlsdGVyIGZpbGUtbmVlZHMtY29tcGlsYXRpb24/IGZpbGVzKSkK ICAgICAgICAgICAgICAgKHByb2Nlc3NlZCAoKyBwcm9jZXNzZWQKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoLSAobGVuZ3RoIGZpbGVzKSAobGVuZ3RoIHRvLWJ1aWxkKSkpKSkKLSAgICAg ICAgIChjb21waWxlLWZpbGVzIHNyY2RpciAoZ2V0Y3dkKSB0by1idWlsZAorICAgICAgICAgKGNv bXBpbGUtZmlsZXMgc3JjZGlyIGJ1aWxkZGlyIHRvLWJ1aWxkCiAgICAgICAgICAgICAgICAgICAg ICAgICAjOndvcmtlcnMgKHBhcmFsbGVsLWpvYi1jb3VudCopCiAgICAgICAgICAgICAgICAgICAg ICAgICAjOmhvc3QgaG9zdAogICAgICAgICAgICAgICAgICAgICAgICAgIzpyZXBvcnQtbG9hZCAo bGFtYmRhIChmaWxlIHRvdGFsIGNvbXBsZXRlZCkKQEAgLTEyNyw4ICsxNTYsMTAgQEAgdG8gJ21h a2UnLiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICgqIDIgcHJvY2Vzc2VkKSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgqIDIgZ3JhbmQtdG90YWwp KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKHNjbS0+Z28gZmlsZSkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKGZvcmNlLW91dHB1dCkpKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChmb3JjZS1vdXRwdXQpKSkpKQorICAgICAgIChkdW1w LWRlcGVuZGVuY3ktaW5mbykpCiAgICAgIChsYW1iZGEgXworICAgICAgIChkdW1wLWRlcGVuZGVu Y3ktaW5mbykKICAgICAgICAocHJpbWl0aXZlLWV4aXQgMSkpCiAgICAgIChsYW1iZGEgYXJncwog ICAgICAgIDs7IFRyeSB0byByZXBvcnQgdGhlIGVycm9yIGluIGFuIGludGVsbGlnaWJsZSB3YXku CmRpZmYgLS1naXQgYS9ndWl4L2J1aWxkL2NvbXBpbGUuc2NtIGIvZ3VpeC9idWlsZC9jb21waWxl LnNjbQppbmRleCBiODZlYzNiNzQzLi5jMjU5YjI3YWJmIDEwMDY0NAotLS0gYS9ndWl4L2J1aWxk L2NvbXBpbGUuc2NtCisrKyBiL2d1aXgvYnVpbGQvY29tcGlsZS5zY20KQEAgLTEsNiArMSw3IEBA CiA7OzsgR05VIEd1aXggLS0tIEZ1bmN0aW9uYWwgcGFja2FnZSBtYW5hZ2VtZW50IGZvciBHTlUK IDs7OyBDb3B5cmlnaHQgwqkgMjAxMywgMjAxNCwgMjAxNiwgMjAxNywgMjAxOCwgMjAxOSwgMjAy MCBMdWRvdmljIENvdXJ0w6hzIDxsdWRvQGdudS5vcmc+CiA7OzsgQ29weXJpZ2h0IMKpIDIwMTUg VGF5bGFuIFVscmljaCBCYXnEsXJsxLEvS2FtbWVyIDx0YXlsYW5iYXlpcmxpQGdtYWlsLmNvbT4K Kzs7OyBDb3B5cmlnaHQgwqkgMjAyMSBNYXhpbWUgRGV2b3MgPG1heGltZWRldm9zQHRlbGVuZXQu YmU+CiA7OzsKIDs7OyBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgR3VpeC4KIDs7OwpAQCAtMjks MTQgKzMwLDI3IEBACiAgICM6dXNlLW1vZHVsZSAoZ3VpeCBidWlsZCB1dGlscykKICAgIzp1c2Ut bW9kdWxlIChsYW5ndWFnZSB0cmVlLWlsIG9wdGltaXplKQogICAjOnVzZS1tb2R1bGUgKGxhbmd1 YWdlIGNwcyBvcHRpbWl6ZSkKLSAgIzpleHBvcnQgKGNvbXBpbGUtZmlsZXMpKQorICAjOmV4cG9y dCAoY29tcGlsZS1maWxlcyBub3RpY2UtZGVwZW5kZW5jeSBjdXJyZW50LWRlcGVuZGVuY3ktaW5m bykpCiAKIDs7OyBDb21tZW50YXJ5OgogOzs7Ci07OzsgU3VwcG9ydCBjb2RlIHRvIGNvbXBpbGUg R3VpbGUgY29kZSBhcyBlZmZpY2llbnRseSBhcyBwb3NzaWJsZSAod2l0aCAyLjIpLgorOzs7IFN1 cHBvcnQgY29kZSB0byBjb21waWxlIEd1aWxlIGNvZGUgYXMgZWZmaWNpZW50bHkgYXMgcG9zc2li bGUgKHdpdGggMi4yKQorOzs7IGFuZCBrZWVwIHRyYWNrIG9mIHRoZSBkZXBlbmRlbmNpZXMgb2Yg Y29tcGlsZWQgZmlsZXMuCiA7OzsKIDs7OyBDb2RlOgogCisoZGVmaW5lIGN1cnJlbnQtZGVwZW5k ZW5jeS1pbmZvIChtYWtlLXBhcmFtZXRlciAjZikpCisoZGVmaW5lIGN1cnJlbnQtb3V0cHV0LWZp bGUgKG1ha2UtcGFyYW1ldGVyICNmKSkKKworKGRlZmluZSAobm90aWNlLWRlcGVuZGVuY3kgZGVw ZW5kZW5jeSkKKyAgIkFkZCB0aGUgZmlsZSBERVBFTkRFTkNZIHRvIHRoZSBsaXN0IG9mIGRlcGVu ZGVuY2llcyBvZiB0aGUgY29tcGlsZWQgZmlsZQordGhhdCBpcyBiZWluZyBjb21wdXRlZCwgaWYg YW55LiIKKyAgKGRlZmluZSBkZXBlbmRlbmN5LXRhYmxlIChjdXJyZW50LWRlcGVuZGVuY3ktaW5m bykpCisgIChkZWZpbmUgb3V0cHV0IChjdXJyZW50LW91dHB1dC1maWxlKSkKKyAgKHdoZW4gKGFu ZCBkZXBlbmRlbmN5LXRhYmxlIG91dHB1dCkKKyAgICAoaGFzaC1zZXQhIGRlcGVuZGVuY3ktdGFi bGUgb3V0cHV0CisgICAgICAgICAgICAgICAoY29ucyBkZXBlbmRlbmN5IChoYXNoLXJlZiBkZXBl bmRlbmN5LXRhYmxlIG91dHB1dCAnKCkpKSkpKQorCiAoZGVmaW5lIG9wdGltaXphdGlvbnMtZm9y LWxldmVsCiAgIChvciAoYW5kPT4gKGZhbHNlLWlmLWV4Y2VwdGlvbgogICAgICAgICAgICAgICAo cmVzb2x2ZS1pbnRlcmZhY2UgJyhzeXN0ZW0gYmFzZSBvcHRpbWl6ZSkpKQpAQCAtMjA3LDEyICsy MjEsMjcgQEAgZmlsZXMgYXJlIGZvciBIT1NULCBhIEdOVSB0cmlwbGV0IHN1Y2ggYXMgXCJ4ODZf NjQtbGludXgtZ251XCIuIgogICAgIDs7IEV4aXQgYXMgc29vbiBhcyBzb21ldGhpbmcgZ29lcyB3 cm9uZy4KICAgICAoZXhpdC1vbi1leGNlcHRpb24KICAgICAgZmlsZQotICAgICAobGV0ICgocmVs YXRpdmUgKHJlbGF0aXZlLWZpbGUgc291cmNlLWRpcmVjdG9yeSBmaWxlKSkpCi0gICAgICAgKGNv bXBpbGUtZmlsZSBmaWxlCi0gICAgICAgICAgICAgICAgICAgICAjOm91dHB1dC1maWxlIChzdHJp bmctYXBwZW5kIGJ1aWxkLWRpcmVjdG9yeSAiLyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKHNjbS0+Z28gcmVsYXRpdmUpKQotICAgICAgICAgICAg ICAgICAgICAgIzpvcHRzIChhcHBlbmQgd2FybmluZy1vcHRpb25zCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAob3B0aW1pemF0aW9uLW9wdGlvbnMgcmVsYXRpdmUpKSkpKSkK KyAgICAgKGxldCogKChyZWxhdGl2ZSAocmVsYXRpdmUtZmlsZSBzb3VyY2UtZGlyZWN0b3J5IGZp bGUpKQorICAgICAgICAgICAgKG91dHB1dC1maWxlIChzdHJpbmctYXBwZW5kIGJ1aWxkLWRpcmVj dG9yeSAiLyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2NtLT5n byByZWxhdGl2ZSkpKSkKKyAgICAgICAocGFyYW1ldGVyaXplICgoY3VycmVudC1vdXRwdXQtZmls ZSBvdXRwdXQtZmlsZSkpCisgICAgICAgICAod2hlbiAoY3VycmVudC1kZXBlbmRlbmN5LWluZm8p CisgICAgICAgICAgIDs7IElmIGRlcGVuZGVuY3kgaW5mb3JtYXRpb24gaXMgYmVpbmcgdHJhY2tl ZCwgcmVtb3ZlCisgICAgICAgICAgIDs7IHRoZSBvbGQgY29tcGlsZWQgZmlsZSBmaXJzdC4gIE90 aGVyd2lzZSwgaWYgcmVjb21waWxpbmcKKyAgICAgICAgICAgOzsgdGhlIGZpbGUgZHVlIHRvIGFu IHVwZGF0ZWQgZGVwZW5kZW5jeSBjYXVzZXMgYW4gZXhjZXB0aW9uLAorICAgICAgICAgICA7OyB0 aGUgbmV3IGRlcGVuZGVuY3kgaW5mb3JtYXRpb24gd29uJ3QgaW5jbHVkZSB0aGUgY29tcGlsZWQK KyAgICAgICAgICAgOzsgZmlsZSBhbmQgdGhlcmVmb3JlIHRoZSBvbGQgY29tcGlsZWQgZmlsZSB3 b3VsZCBiZSBjb25zaWRlcmVkCisgICAgICAgICAgIDs7IHVwLXRvLWRhdGUgb24gdGhlIGZvbGxv d2luZyAibWFrZSIgcnVuLgorICAgICAgICAgICAod2hlbiAoZmlsZS1leGlzdHM/IG91dHB1dC1m aWxlKQorICAgICAgICAgICAgIChkZWxldGUtZmlsZSBvdXRwdXQtZmlsZSkpCisgICAgICAgICAg IDs7IFJlbW92ZSB0aGUgb2xkIGRlcGVuZGVuY3kgaW5mb3JtYXRpb24sIG90aGVyd2lzZQorICAg ICAgICAgICA7OyB0aGUgZGVwZW5kZW5jeSBpbmZvcm1hdGlvbiB0YWJsZSB3aWxsIGtlZXAgZ3Jv d2luZworICAgICAgICAgICA7OyBhZnRlciBlYWNoICJtYWtlIiBydW4uCisgICAgICAgICAgICho YXNoLXJlbW92ZSEgKGN1cnJlbnQtZGVwZW5kZW5jeS1pbmZvKSBvdXRwdXQtZmlsZSkpCisgICAg ICAgICAoY29tcGlsZS1maWxlIGZpbGUKKyAgICAgICAgICAgICAgICAgICAgICAgIzpvdXRwdXQt ZmlsZSBvdXRwdXQtZmlsZQorICAgICAgICAgICAgICAgICAgICAgICAjOm9wdHMgKGFwcGVuZCB3 YXJuaW5nLW9wdGlvbnMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9w dGltaXphdGlvbi1vcHRpb25zIHJlbGF0aXZlKSkpKSkpKQogCiAgICh3aXRoLWF1Z21lbnRlZC1z ZWFyY2gtcGF0aCAlbG9hZC1wYXRoIHNvdXJjZS1kaXJlY3RvcnkKICAgICAod2l0aC1hdWdtZW50 ZWQtc2VhcmNoLXBhdGggJWxvYWQtY29tcGlsZWQtcGF0aCBidWlsZC1kaXJlY3RvcnkKLS0gCjIu MzMuMAoK --=-VRWJSoloRA3mhw8ZjuSt Content-Disposition: attachment; filename*0=0009-packages-Add-patches-to-the-dependency-list-of-packa.pat; filename*1=ch Content-Type: text/x-patch; name="0009-packages-Add-patches-to-the-dependency-list-of-packa.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBkOWMzZmZjZTkyNzc4MmNlMmVmODk0Mzc4NGYwZTdiNWNkNDY2ZmVjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbWUgRGV2b3MgPG1heGltZWRldm9zQHRlbGVuZXQuYmU+ CkRhdGU6IFN1biwgNSBTZXAgMjAyMSAxNzoxNTowOCArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDkv MTBdIHBhY2thZ2VzOiBBZGQgcGF0Y2hlcyB0byB0aGUgZGVwZW5kZW5jeSBsaXN0IG9mIHBhY2th Z2UKIG1vZHVsZXMuCgoqIGdudS9wYWNrYWdlcy5zY20gKHNlYXJjaC1wYXRjaCk6IENhbGwgJ25v dGljZS1kZXBlbmRlbmN5JyBvbgogIHRoZSBwYXRjaCBmaWxlLgotLS0KIGdudS9wYWNrYWdlcy5z Y20gfCA3ICsrKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDEgZGVsZXRp b24oLSkKCmRpZmYgLS1naXQgYS9nbnUvcGFja2FnZXMuc2NtIGIvZ251L3BhY2thZ2VzLnNjbQpp bmRleCBmNTU1MmU1YTliLi4zOTkyOWFlMDIyIDEwMDY0NAotLS0gYS9nbnUvcGFja2FnZXMuc2Nt CisrKyBiL2dudS9wYWNrYWdlcy5zY20KQEAgLTM0LDYgKzM0LDggQEAKICAgICAgICAgICAgICAg ICAjOnNlbGVjdCAoKHBhY2thZ2UtbmFtZS0+bmFtZSt2ZXJzaW9uCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAuIGh5cGhlbi1zZXBhcmF0ZWQtbmFtZS0+bmFtZSt2ZXJzaW9uKQogICAgICAg ICAgICAgICAgICAgICAgICAgICBta2Rpci1wKSkKKyAgOzsgb25seSByZXF1aXJlZCBhdCBleHBh bnNpb24gdGltZQorICAjOmF1dG9sb2FkICAgKGd1aXggYnVpbGQgY29tcGlsZSkgKG5vdGljZS1k ZXBlbmRlbmN5KQogICAjOnVzZS1tb2R1bGUgKGd1aXggcHJvZmlsZXMpCiAgICM6dXNlLW1vZHVs ZSAoZ3VpeCBkZXNjcmliZSkKICAgIzp1c2UtbW9kdWxlIChndWl4IGRlcHJlY2F0aW9uKQpAQCAt MTIxLDcgKzEyMywxMCBAQCBpZiBwb3NzaWJsZS4gIFJldHVybiAjZiBpZiBub3QgZm91bmQuIgog ICAgICAgIDs7IGluIGFkdmFuY2UuCiAgICAgICAgKGxldCAoKHBhdGNoICh0cnktc2VhcmNoLXBh dGNoIChzeW50YXgtPmRhdHVtICMnZmlsZS1uYW1lKSkpKQogICAgICAgICAgKGlmIHBhdGNoCi0g ICAgICAgICAgICAgI2AoJWxvY2FsLXBhdGNoLWZpbGUgZmlsZS1uYW1lICMsKGZpbGUtaGFzaCog cGF0Y2ggIzpzZWxlY3Q/IHRydWUpKQorICAgICAgICAgICAgIChiZWdpbgorICAgICAgICAgICAg ICAgKG5vdGljZS1kZXBlbmRlbmN5IHBhdGNoKQorICAgICAgICAgICAgICAgI2AoJWxvY2FsLXBh dGNoLWZpbGUgZmlsZS1uYW1lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAj LChmaWxlLWhhc2gqIHBhdGNoICM6c2VsZWN0PyB0cnVlKSkpCiAgICAgICAgICAgICAgKGJlZ2lu CiAgICAgICAgICAgICAgICAod2FybmluZyAoc291cmNlLXByb3BlcnRpZXMtPmxvY2F0aW9uCiAg ICAgICAgICAgICAgICAgICAgICAgICAgKHN5bnRheC1zb3VyY2UgIydmaWxlLW5hbWUpKQotLSAK Mi4zMy4wCgo= --=-VRWJSoloRA3mhw8ZjuSt Content-Disposition: attachment; filename*0=0010-gexp-Do-not-intern-if-the-file-is-already-in-the-sto.pat; filename*1=ch Content-Type: text/x-patch; name="0010-gexp-Do-not-intern-if-the-file-is-already-in-the-sto.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBkMzU5ZmVmYWJmMjgzMWU0MmFlYTZlZGY2NDZhOWUwMzczYmU1ZDBmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbWUgRGV2b3MgPG1heGltZWRldm9zQHRlbGVuZXQuYmU+ CkRhdGU6IFNhdCwgNCBTZXAgMjAyMSAxODoxMDozMiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMTAv MTBdIGdleHA6IERvIG5vdCBpbnRlcm4gaWYgdGhlIGZpbGUgaXMgYWxyZWFkeSBpbiB0aGUKIHN0 b3JlLgoKKiBndWl4L2dleHAuc2NtIChsb2NhbC1maWxlLWNvbXBpbGVyKTogV2hlbiB0aGUgZmls ZSBpcyBhbHJlYWR5IGluIHRoZQogIHN0b3JlLCByZS11c2UgdGhlIGZpeGVkIG91dHB1dCBwYXRo IGluc3RlYWQgb2YgaW50ZXJuaW5nIHRoZSBmaWxlCiAgYWdhaW4uCiogZ3VpeC9nZXhwLnNjbSAo YWRkLXRlbXAtcm9vdC1hbmQtdmFsaWQtcGF0aD8qKTogTmV3IHByb2NlZHVyZS4KLS0tCiBndWl4 L2dleHAuc2NtIHwgMzIgKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0KIDEgZmlsZSBj aGFuZ2VkLCAyNSBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2d1 aXgvZ2V4cC5zY20gYi9ndWl4L2dleHAuc2NtCmluZGV4IGM2OWU0YWEyOTkuLjIwYzlkOTMxNzAg MTAwNjQ0Ci0tLSBhL2d1aXgvZ2V4cC5zY20KKysrIGIvZ3VpeC9nZXhwLnNjbQpAQCAtNTI4LDE2 ICs1MjgsMzQgQEAgYXBwZWFycy4iCiAnc3lzdGVtLWVycm9yJyBleGNlcHRpb24gaXMgcmFpc2Vk IGlmIEZJTEUgY291bGQgbm90IGJlIGZvdW5kLiIKICAgKGZvcmNlICglbG9jYWwtZmlsZS1hYnNv bHV0ZS1maWxlLW5hbWUgZmlsZSkpKQogCisoZGVmaW5lIGFkZC10ZW1wLXJvb3QtYW5kLXZhbGlk LXBhdGg/KiAoc3RvcmUtbGlmdCBhZGQtdGVtcC1yb290LWFuZC12YWxpZC1wYXRoPykpCisKIChk ZWZpbmUtZ2V4cC1jb21waWxlciAobG9jYWwtZmlsZS1jb21waWxlciAoZmlsZSA8bG9jYWwtZmls ZT4pIHN5c3RlbSB0YXJnZXQpCiAgIDs7ICJDb21waWxlIiBGSUxFIGJ5IGFkZGluZyBpdCB0byB0 aGUgc3RvcmUuCiAgIChtYXRjaCBmaWxlCi0gICAgKCgkIDxsb2NhbC1maWxlPiBmaWxlICg9IGZv cmNlIGFic29sdXRlKSBuYW1lIHNoYTI1NiByZWN1cnNpdmU/IHNlbGVjdD8pCi0gICAgIDs7IENh bm9uaWNhbGl6ZSBGSUxFIHNvIHRoYXQgaWYgaXQncyBhIHN5bWxpbmssIGl0IGlzIHJlc29sdmVk LiAgRmFpbGluZwotICAgICA7OyB0byBkbyB0aGF0LCB3aGVuIFJFQ1VSU0lWRT8gaXMgI3QsIHdl IGNvdWxkIGVuZCB1cCBjcmVhdGluZyBhIGRhbmdsaW5nCi0gICAgIDs7IHN5bWxpbmsgaW4gdGhl IHN0b3JlLCBhbmQgd2hlbiBSRUNVUlNJVkU/IGlzICNmICdhZGQtdG8tc3RvcmUnIHdvdWxkCi0g ICAgIDs7IGp1c3QgdGhyb3cgYW4gZXJyb3IsIGJvdGggb2Ygd2hpY2ggYXJlIGluY29udmVuaWVu dC4KLSAgICAgKGludGVybmVkLWZpbGUgYWJzb2x1dGUgbmFtZQotICAgICAgICAgICAgICAgICAg ICAjOnJlY3Vyc2l2ZT8gcmVjdXJzaXZlPyAjOnNlbGVjdD8gc2VsZWN0PykpKSkKKyAgICA7OyBE ZWxheSBjb21wdXRpbmcgdGhlIGFic29sdXRlIGZpbGUgbmFtZSB1bnRpbCAnaW50ZXJuJywgYXMg dGhpcworICAgIDs7IG1pZ2h0IGJlIGEgcmVsYXRpdmVseSBleHBlbnNpdmUgY29tcHV0YXRpb24g KGUuZy4gaWYgc2VhcmNoLXBhdGNoCisgICAgOzsgaXMgdXNlZCksIGVzcGVjaWFsbHkgb24gYSBz cGlubmluZyBkaXNrLgorICAgICgoJCA8bG9jYWwtZmlsZT4gZmlsZSBhYnNvbHV0ZS1wcm9taXNl IG5hbWUgc2hhMjU2IHJlY3Vyc2l2ZT8gc2VsZWN0PykKKyAgICAgKGxldCAoKQorICAgICAgIChk ZWZpbmUgKGludGVybikKKyAgICAgICAgIDs7IENhbm9uaWNhbGl6ZSBGSUxFIHNvIHRoYXQgaWYg aXQncyBhIHN5bWxpbmssIGl0IGlzIHJlc29sdmVkLgorICAgICAgICAgOzsgRmFpbGluZyB0byBk byB0aGF0LCB3aGVuIFJFQ1VSU0lWRT8gaXMgI3QsIHdlIGNvdWxkIGVuZCB1cCBjcmVhdGluZwor ICAgICAgICAgOzsgYSBkYW5nbGluZyBzeW1saW5rIGluIHRoZSBzdG9yZSwgYW5kIHdoZW4gUkVD VVJTSVZFPyBpcyAjZgorICAgICAgICAgOzsgJ2FkZC10by1zdG9yZScgd291bGQganVzdCB0aHJv dyBhbiBlcnJvciwgYm90aCBvZiB3aGljaCBhcmUKKyAgICAgICAgIDs7IGluY29udmVuaWVudC4K KyAgICAgICAgIChpbnRlcm5lZC1maWxlIChmb3JjZSBhYnNvbHV0ZS1wcm9taXNlKSBuYW1lCisg ICAgICAgICAgICAgICAgICAgICAgICAjOnJlY3Vyc2l2ZT8gcmVjdXJzaXZlPyAjOnNlbGVjdD8g c2VsZWN0PykpCisgICAgICAgOzsgSWYgdGhlIGhhc2ggaXMga25vd24gaW4gYWR2YW5jZSBhbmQg dGhlIHN0b3JlIGFscmVhZHkgaGFzIHRoZQorICAgICAgIDs7IGl0ZW0sIHRoZXJlIGlzIG5vIG5l ZWQgdG8gaW50ZXJuIHRoZSBmaWxlLgorICAgICAgIChpZiBzaGEyNTYKKyAgICAgICAgICAgKGxl dCAoKHBhdGggKGZpeGVkLW91dHB1dC1wYXRoIG5hbWUgc2hhMjU2ICM6cmVjdXJzaXZlPyByZWN1 cnNpdmU/KSkpCisgICAgICAgICAgICAgKG1sZXQgJXN0b3JlLW1vbmFkICgodmFsaWQ/IChhZGQt dGVtcC1yb290LWFuZC12YWxpZC1wYXRoPyogcGF0aCkpKQorICAgICAgICAgICAgICAgKGlmIHZh bGlkPworICAgICAgICAgICAgICAgICAgIChyZXR1cm4gcGF0aCkKKyAgICAgICAgICAgICAgICAg ICAoaW50ZXJuKSkpKQorICAgICAgICAgICA7OyBJZiBQQVRIIGRvZXMgbm90IHlldCBleGlzdCwg ZmFsbCBiYWNrIHRvIGludGVybmluZy4KKyAgICAgICAgICAgKGludGVybikpKSkpKQogCiAoZGVm aW5lLXJlY29yZC10eXBlIDxwbGFpbi1maWxlPgogICAoJXBsYWluLWZpbGUgbmFtZSBjb250ZW50 IHJlZmVyZW5jZXMpCi0tIAoyLjMzLjAKCg== --=-VRWJSoloRA3mhw8ZjuSt-- --=-dT8/QEIsPOYFhIUcHEMW Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYTptyhccbWF4aW1lZGV2 b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7g5MAQCYR/HigA+hNpUcnd/dyzE292kC 5+dDA2yZMO86lbwZkgD/SKntJUezYbdYRp1wspCfqNVsTfodQkufXNP1UnYMygA= =+x9D -----END PGP SIGNATURE----- --=-dT8/QEIsPOYFhIUcHEMW--