Re: [PATCH 1/1] kernel-2.eclass: Support USE=vanilla

Mike Pagano <[email protected]> Sat, 6 Jun 2026 12:55:17 -0400
Newsgroups gmane.linux.gentoo.devel
Message-ID <[email protected]>
On 6/5/26 2:34 PM, Mike Gilbert wrote:
> On Fri, Jun 5, 2026 at 1:56 PM Mike Pagano <[email protected]> wrote:
>>
>> The kernel teams have been discussing removing support for
>> separate and distinct vanilla sources kernel packages.
>>
>> This change is an attempt to continue to provide a portage
>> managed vanilla-sources option through a use flag.
>>
>> Gentoo Sources uses a numeric pattern with NNNN_DESCRIPTION.
>> For NNNN, a number less than 1500, would be the upstream
>> incremental patch versions. This change would keep anything
>> < 1500 and not apply any other patch.
>>
>> Note: A small change will be done to 0000_README (already in
>> master) to make upstream incremental patches stop at 1499
>> instead of the current 1500.
>>
>> Signed-off-by: Mike Pagano <[email protected]>
>> ---
>>   eclass/kernel-2.eclass | 14 ++++++++++++++
>>   1 file changed, 14 insertions(+)
>>
>> diff --git a/eclass/kernel-2.eclass b/eclass/kernel-2.eclass
>> index 44b1bce50..30c0197dc 100644
>> --- a/eclass/kernel-2.eclass
>> +++ b/eclass/kernel-2.eclass
>> @@ -1239,6 +1239,20 @@ unipatch() {
>>                  eend $?
>>          done
>>
>> +       # for USE=vanilla, remove non-upstream patches
>> +       # which should be labeled as 1000_ through 1499_
>> +       if use vanilla; then
>> +               for patch in ${KPATCH_DIR}/*; do
>> +                       patchname="${patch##*/}" # Extract filename without path
>> +                       numericprefix="${patchname:0:4}" # Get first 4 characters
>> +                       # Check if it's exactly 4 digits and greater than 1499
>> +                       if [[ $numericprefix =~ ^[0-9]{4}$ ]] && (( numericprefix > 1499 )); then
>> +                               echo "deleting ${patch} ?"
>> +                               rm ${patch} 2>/dev/null
>> +                       fi
>> +               done
>> +       fi
>> +
> 
> You also need to declare IUSE=vanilla in the eclass, or check if the
> ebuild has declared it by calling "in_iuse vanilla".
> 

Thanks for the review, will incorporate those changes and commit.


-- 
Mike Pagano
Gentoo Developer
E-Mail     : [email protected]
GnuPG FP   : 52CC A0B0 F631 0B17 0142 F83F 92A6 DBEC 81F2 B137
Public Key : 
http://pgp.mit.edu/pks/lookup?search=0x92A6DBEC81F2B137&op=index
OpenPGP_0x92A6DBEC81F2B137.asc (application/pgp-keys, 19 KB)
-----BEGIN PGP PUBLIC KEY BLOCK-----

xsFNBFY6kXkBEADUSb8Y1VUGD78Hqz5lGnkaqQ7RARNYqJ5KeJNV7zevI3M3Qr9D
7lYZLBDxiMT2182yEooi9fgtzE2L2mpEWhPH6KSL8HXs3atx5d/xZbqIMR5/OfVZ
vpIywxzkr+isB0NLVU+NippIR8UhjjwXu4N/eU5kdat+ZfFNpO66kEJn4Rwgabfn
tCXLLDenIehMqSaOSoydvsUKYS/tTONkvF3e+R6M+x347uY19aeUii/Mo+g4lR0L
PzdbO1HtxCUeD1vjAypMMoW5CByRnpRGZWEojiRy/nninx4IKEvNB7upWuYq31U0
yNnxunhIlYy6My/BmzOPtPTubvVUq2/EH69HPOBaYMCjqXeanalHCts2+E3/qCHV
SDlYbeIBMuoKGtNGjV+mMAXapvXvnbqCLWvuBM38hd6MxO3uliGvFHmB7fPJwyEk
FZiKce/+SWxlLos9G0SOGNMKEKM8nsPfjzOhc7BUg8ZrAM2MOKv7k50qQCWDEnuc
MrdZbriUiseTUDvgqosDHe6tKvD7pzbvP1D0MhtbmotSOpdHeEG75fk/yjdp3mx8
sH3KDxx0eYIuEiSKlk4+GtyDWBp5s02rIVWkdYf6bgq7x5cDRUAhMYw5Ll9+ZEbn
+kkK++tE5mLZi75AuuxxTxoswuuqITfHQ2nC7QoELp691wHjkzAgBQp5GQARAQAB
zSNNaWNoYWVsIFBhZ2FubyA8bXBhZ2Fub0BnZW50b28ub3JnPsLBfwQTAQgAKQUC
VjqR8gIbAQUJBaOagAcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheAAAoJEJKm2+yB
8rE3mUoP/20yPUJ2yl94bcpuCBtC/iszsXyMlfvce3HiOLqFAD3dyFv//mwcYSN7
RznEc8dP2971K6hMt0k+4OjmFrXghGTEqovR5ETvP8A6RgYYle/LlNawLDsispRj
hH2/i742ZE7qk5lTP5kkW5KnyMnj3vkogFqWRZQXvC/F5cogazikzXU6VIvc4iQi
70D5XxvfRH3h80MFm+4zp09qalDFf+oW1lInj8QXYqMv2rl2ORS9NnwHNZui/1wg
vfSnVTZMc7syd14AIKyKLqe9cBpY9PkxoTS12yCB35CqIVxESm7JYoHdYRvBACMq
COO+y6gSUs6RVoba1kaL4mr60YnCV0Z53A5TivdPmeIc0FmZPOHJumMf0cpR+9of
Z+1i5/wtZFjq9Be8jfXjX8yCAR+4fw3vbIsDHLrlfuBuI191GwBA5otbDYMDis+s
JWVOamTC3q0SqBk6F38O+hcDdtBIILeAYeM/Gapc+2bDtmvuUVk2XWL54wNwN6OI
bqavU9qqMI3rzrNr4sPtoWozgZ9OJryfnzqtY9Ns7HsFHRn5aPuN4WYI8e4jJ2P9
dNwusSoReCOahFTiDc7MmO1hOET5kjvr9VU2sguRBKCARfohn6vytrXNtEO66u7I
9YPMBXgnnlFhaPmtpe305eQS58L16PQH+15/g5J8ZI9cYESDT+ykwsF/BBMBCAAp
AhsBBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AFAlgfKawFCQeIMrMACgkQkqbb
7IHysTeDCBAAnZIirzJwqTDxN64DdFL74l177gU12QyKH82tflPNhPoFf9MhneT4
Uo+mFujKRDPliX/JB4Yd8dMBWpmiOFC+jz/Z7eM+EIel88+P+SmFiCHT8lVn8nBP
QwLDmcBHjsmym3DUI6uBdu040zfSv946tKA3GKPNyoP40ufZiv7xPl2+SaDrDukU
sVNFcUDAbMzxMCPRJN0XKD6MmEL/S0itZcOJWaG70OsSod+qEMMZTEk35xJGdMc/
jQXWotbbsGuSW0djC8QPRCT+KxIo168+cJu9Ql48pVOnX9c8BtFtD35mbjQc6wjR
3orC4Zuogjec9Jp1E/8GIhzIpMi1bUzxv9Q39yzuzY7yX9LCctLU1UL3DH3btqwW
w7eCynC9y4qAl4LfZmKvUqGvlJX4jFagikDyq7DpxkAX843d0SB9LruWOx26X5vL
YNC1dUPlg69BIQhWBpNy6IEcIFfSNTk3Zqw2H6VkhWaLuexq55Z4SIKaiVDPyUp2
wRRboY+cmT7fHuTH/FJ/fBoHLm1jFOQw1OxWT8TqzHbOV1n13fFjcszeyx1CEnaa
7/gmUkvSiiPrQNHshcAWbMmeb8BLz+4HCjxS1Wv2JXD9zQPvWfRqcVlB1lmGdmj5
LpfUkBs2+MSnJ4FNNzEzQMSyknPRCASICxFEMrRD9f5EJWyC5isz6DbCwZYEEwEI
AEACGwEHCwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgBYhBFLMoLD2MQsXAUL4P5Km
2+yB8rE3BQJlw5GWBQkUK4YcAAoJEJKm2+yB8rE3SMMP/RlDkUXH5JpkgrqAMhyO
ad0A0mh34p1pj7FdAgHO4oNBwPI1hXESi073X10fxuA7QLoR5WXaogBzKBb6vF12
8uxOIBd8EUaU3A3iOo6PxRSbGVxMSurq2w3Wufbh3XYx02GbxNkVIVH0dlfZLLSu
dSDzofDv3cIApT0dRwkwH1R5FEB0rapZ7uMAywdmXztorFxrPEMURfX+lxkkXanr
5VeS/0bwz/TSvhrkwTeQsbEPNsOcp5Xo2Mvz1tE9EN5JCMzy2UuMmzqpnh6MkTi8
KztDpa14Cq+Jo3Nar177Ei8qg6A04F5YZhLFHFP4m9qjcyseHQyrYX4ahpZcPOIE
i6a7s65bqVq7vdGXnrUEKXmgKsHgTT/Jhu+PpIKCRM/rxgmL56lrYeuT8TmgpqHO
pvMn6m78e6jLZif81pXuJjFAr4i8riBxgPop4tNestno5+upX6Gr3o29ExaCLFkO
fAptfaM9XSaHQoehdE5c1TmBnxesPsoqX2gr7GVaDXrShe16kAXvelgIgqJl0+ku
v1aaivMRLirOLUCM1pXHgkBORskpgIffhiYi+Zu/UE4NkfEx+atkDiTaMbITTZ6u
S4vJmPl877Yz8NMG0V62gESkTghAk7AHSDjDghClqTD5ySz27YPRrz6GMuFBKqas
ZCGRKt3ErF8RHm+7az7HT9wMwsGWBBMBCABAAhsBBwsJCAcDAgEGFQgCCQoLBBYC
AwECHgECF4AWIQRSzKCw9jELFwFC+D+SptvsgfKxNwUCZATTrwUJEmzINgAKCRCS
ptvsgfKxNyCMEAC/Sal+7xJ0uclOk+0iiB1699Kkl5En+Y13RTcqD8+tI7ytzP/K
+zhOD+WZyDiE57zhKgG872dOd2P3GxwZdbVNgLJGcjUkRQgF5mtgBze8sSI4MUVK
RAzRxrHY3z0zXwddIR4cSu+gj1EwLgT33ABkic0rSquw5l68vVvpFaLwkKGEbFhK
oTYuot0PkFaEwPJu7OMc404MPhBp9MYqYR8S1ygag3r9LdYdqudHTy398+CQ3eIe
NPHtmqskbPjaLWmqnC5ikjc0sFyBsgHUyCe06qy/3gVB1NFL56LpFe4g7o5KEpxG
ToDASvNllgXKQIG6Mri0ebvyUMCsHWCwljlBDGPFDtD3kcMo52oU0avQFgP01d1f
TDQk5iiSJvHQLXC/grbyMe+hTR57eRCh9U0uX+CBr5TFTCf0WRL3nc2YLALphviB
TriIosdQ9eTfh7/8NfmkjqZ3ZsL0oUlXlSzRmp39udzE33o3ct8Xz7Sj1/wKHuj3
LX/+9pYlPa+aknVGwlM28TNVzFVu0ZJvF97pyOpb3Oraf7c0pGe/1qS1ihG/tQJz
QQSwm3ZO5g1xbJSQljTZZ8ix5BWipTdBDtNmsrVpRpTfklnt0IE5KIwif80qBi1b
6SWYWesRiRqkFsRxUjwFgCHVH38dkH6/8aaxDcv5x1IVPUPUvziY6/kOAsLBlgQT
AQgAQAIbAQcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheAFiEEUsygsPYxCxcBQvg/
kqbb7IHysTcFAmd1iMAFCRXdfUcACgkQkqbb7IHysTcYSBAAh/Fs0WXSGzGg65c0
FnhgFPd4mT7nP6IlGYeOopFMRCj70QB2iax9SLjqQPP3uxnoCIc5wnXUs08gdRGV
oyePtcGK10KSdWLputzgJByd1Q+C4Z3O5qz2PJltu7XNEqkUppPIbAMgy4EYzJU0
DSeX+v9BZBduyxK2uO66aiMD1dcnFssHLafHnudlnJVJNgT1YQ6+q+PubEN4stIU
DERYMfFB38UBH44E9MsaRE7eiF+aJXOvCnuEG+FY56oOmJpFjeqLENkbVsVoyFVh
D2KwjQufFOJ0sa7WERQDVLojDndGdU6zbD0wx7G4Bo+AnTYYwy06cwqLOPx9/vBL
BS2nsLsNg1MB09w3UgCr0WELchyfEM0A7n8dgnyf7gKcAEghkypGIvD0CySOiZR2
ty80tXIuvN2fJGVHewhgmDMt0Dlow46VOJaVAhTyzPYb7kqcoNEX8+7iut0Fcb4w
+Ep/7PuDmqNl2bp1cCRAV+dI2XfQgw8TEET/zgA1AN1gp67yFuuXqbuvrJrK0imS
AaJxp6m8OpxKuQVKU+UxusgmQCYMG0JNcOOFVboYAw1JRZc4uDaQlnMLhZ89L2zc
C+VMtz5esA/83VOoSJ/GYydodD4hs6Qy4TrT7NhFQa397sG2J7jdH/7Xp5GECAsT
oKM7kGRAhLiD5e1dVUWNuKzwIFPNIU1pY2hhZWwgUGFnYW5vIDxtaWtlQG1wYWdh
bm8uY29tPsLBfwQTAQgAKQUCVjqReQIbAQUJBaOagAcLCQgHAwIBBhUIAgkKCwQW
AgMBAh4BAheAAAoJEJKm2+yB8rE3yPIQALG3xfFRfhNcPUDhdQsxf7UpTvzut1K8
rP2g+Bf9mhJZk267Ydfdqw6gWOInsi0EXDiDxVYgMnkiic01PGB9AXu9ikU6JLZI
BLU91pSNFUUo2ISzSC3bnSQcaTLlv1Oq4sBarpedn7OAxikll+7/nOpZtytQdULL
hJ/kFRJtzi4ney+ft26vTtmu8/0yBo0qOmmro2yZ537qynRLMEdMdkAmo3kUkLte
vNp+afXsCX5GGW0jK0QNO675Aoqh25+qIDnb8Sx+eFBmUrAbzsKPUl45RNpp/R2u
KzvhXy99Uqtwu5G61EtmL+8ajnBDvS6vlsYzVcRpkYin/Lp+Zd5JtOTg6gB3EDWP
xfSn2BvPNUblyxO7EZ7j1+r6UPGZ2hPimRTYVEPhzOHJMjSsIanVOZE2sVwIqsWu
mv51ot9IFlYoHoqBM6Yaio3d7YOB15WE+OxiCgb5t92SFhu51QEAz7Qo0tgdJ1T+
tcvnBBsUuKXJC7FbZwpZEjN5mKCdoN4pcyx8nt0iIHJibG/N8/5WGA14bym0G6kO
zxohNEeTMQPgMWUd7WT9F2cIx2kAATYfad5HdCj9uKx2l1H2riZx3xSIM4uL5P6f
Qx5UdEnx0ynROdC+d6duIdwuDS96dlgtY6wvsNeSM4JclP1TCF/ZW+j4DXOmGpOk
nANMmTK7B5TJwsF/BBMBCAApAhsBBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AF
AlgfKawFCQeIMrMACgkQkqbb7IHysTfASw//fFLjhVAD4YLLatRdJ/aMAeO3VBYo
fxSROWucMxjmO9Fvut1+OygcO0503F7kzLTqtwDAno9mLRR9jnGONG4wPQAS67L8
b+H0Mk7fu+4NMCh5aJoWP/VIhhW1Roem8tGiiRWf7K8d2+Zti4FFeGbfsrGW6Dzr
mRUEtoe+8rH0Wypiqan+gAok7AXmWhW1M7Y3YXn5nh2FpUCbrnzBEcTTETZLGtXk
TpbZMkLei7q+wZ4aPX2ml95C9lxVnovZQa/ebp5FkksLLJGlKGn22jqzlLO2NOx+
S3T9i+vpUdZwbETjpfgtT3V+0mU8PwKHhu1yQt/Ser8Xf5katRJ0Qr7AdgLKXo2h
q+pFKgk3Df39KWWv2M+uDHnwxPeSRl9N96HHO3dLgqoJH8HWpzpBaOUhAQ8B6F18
9IlUqkEavW/actOPhHU22NUmrlKFttmKbMg9/wljv7fZA6Af+QRG5N9R6gRnGqT7
YEUy22UjwsTqaXOnZql5mf4QBgumJWri1OPCnrfCO0/xUN/gngOMToHQV/eN1EBJ
i8xt5ZHDhiugHPS7Jr/qV9jL40JSA4q82pPsQaMGZ7w2nr4UAB9omT6zizWnWRKL
38+l2mW3v8zzNv6DAnUOZKpzwTsPiYPZeTYfhxI+bbOPMQYKHTqaHR5WF7fCs0gZ
Gj5Y1J8AW5LAxqzCwZYEEwEIAEACGwEHCwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIX
gBYhBFLMoLD2MQsXAUL4P5Km2+yB8rE3BQJlw5GVBQkUK4YcAAoJEJKm2+yB8rE3
sDwP/RdH2GDwDkwMLq2w0m64leMlD+2ICBuVsG7Qn9dPlMZR6ZtMzKzkzI4NGORK
htXANg2HGh4TeN6ylwxHDfzbzaL5NAZJpnD5+B9mXrm6jrSvbTVpxj7Pt9/QeYWT
WNPRfKLqqIa2E955tKljKqBNbRGuZkOzZ7f90Lne0gmrwohT4GID1m/mRxbWQ9Nw
pABX3e7PHb7aBfzTI5gyydc8FKqTdtwPjtYN+wt1ihmypKZKYzkBwirsD1frK+8Z
Z92b/0+0VI9I70eIHNN8L8XIJFEKyvyIush4LnBrCYG+PVMKIJ7yQomZiaDxkZjX
teimKpICG34d2DFqVcLka4wC1qbveacohlnPCc/BHXWbQm2IlYg9/Y5fH5KxC1Zc
tKwJzys/un8yUKRGMriqbQD27xcT9Clos/+1ySKwu+8YHaWkNei6i9sT4j06CWcS
b7L1EiMtUS6YrhoOe7B+VWNJVzTrCQIzYmrBYikNMep9oR9uHyPy/WkhIUHX9z/q
jOw8CGG3itWDDdORPoB21h31G8dxSDAuzluDlfpRPXl2+s5ksWZ3b96DcMxmCJXf
KqDv5B3g5qihg+gYGZmrUaFNSkwkgLyS4GjFqIY7lQp1tIrz/G8Nqa9tjzlzBFfe
d47w3WSc1u31ymw9V/f5fA8YqJH33qfsduoqoHo0sh9BZOSfwsGWBBMBCABAAhsB
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AWIQRSzKCw9jELFwFC+D+SptvsgfKx
NwUCZATTsgUJEmzINgAKCRCSptvsgfKxN2QpEAC88BO/FQG+wa1ddL9YEq97ctao
X0HA5fDV4G+53LYeVAmSw1d/TwJdxS6UUXP6psBZGZbQobSEghO/eSgtC8pppQOI
BNbniXBK7Ayy9ZWugCM0qwAPCeEvXV09l7tZAtjtxCNnCog3hFXR6P45WCkiUtK2
Rc3hzSLoRCgV+ziVGZ/T18klXLcFIKIk3jGWm6mhzZn7EcRC+V/jLDfLF0Ekdg3h
1jyV0P+FgxSBxehdrRx5wp78kXeN6huKW0aiZjC1L/8s1qrUfPYYfxcih2s/zr0Z
4kfmGXcqcJrJ4MIEPopemLS24IL857srRo+N8yTzuIURpuFoiHCwKLuxDHw/5J83
2/JUe9AfHgif7DO8FAiMnjlpyCwlk/gbypyv6PRPk7Cyty+iq4Vcaqs2r8gwusOG
5QKcUOodJ485ZCBWHYE5dXjMSo6MIdLV4VMCVJEX1GT9Hn95GTxi8HF57UGMEXe7
emueLQh4sd9VDR89iJv6IT63GtKJmUpwB+0+LuwvHcTgNTyIu1MH4M9540gJNi11
o5cvthggQFp9T8vz7ZTB+EIjdvJTy+YqbLQA9twb+evAkyAQ8lrRXn5FdZhejmdE
7k+al+DRYxnMcEbF2dod3pInAUzAEU0lPbiuyJ/3tX7He+BbtRmXlAqiVR4e8SXK
x+Bl/HAS0+MfcXsF18LBlgQTAQgAQAIbAQcLCQgHAwIBBhUIAgkKCwQWAgMBAh4B
AheAFiEEUsygsPYxCxcBQvg/kqbb7IHysTcFAmd1iMAFCRXdfUcACgkQkqbb7IHy
sTfNDg/+OOnatRW2qrTrm3qFnTV0Is6JUS5bKR0F9j8C4vSvKeKFQv8ie6SJBSGo
ddnSB6V63GlC7ZuEUK88L+C68UfQqgFCmXQTe2Ie//geURkUGiJLUW3Gaoq6ZjKW
sSfY+7a3l7NeJLPda4xVTd3Y097/Rtg2V7akcXL9kl/0bV5ExL/lNQAKcfqIkavD
oyAFCPw/P2RaC0gPhtHzN/8M5SVcnQJ9syi+I6mKH5BRQTOtI6PvW/8f2dqCqeDk
B8EXvMX4ju7CTBv7R4jW5/SrlyEZEG95O10nLhd18jMENWMQ++SE29UlnAGaUZeT
sn7XUWEMnrwZaaJqLS5fufqtX9a6QjSpgqnJXdLGBYNMWKjAr0tncaGtRrISObfu
oBvZOqklmOvC4YQf6dRnt4ZqwlaP86odtCb3qbR47JjE/TbwmgXNjsR8uRwuSnWr
GlT/cc6bCnDP8chyZLWPz3BPWDGth3zftQZhf5baEcswaSxsFIBF6GE/r+1WK+FU
s32gNG5EKm3/hzmUDWUAz6tSu0rpW612tt6ecJIK2pCA+FPW2wyrfuSEVegkcBbE
NxiLdc/4p7MrLCsFKHC21eVOSttnFcj9eKqld5DQF+6lDQB1PD4UuLppkk8iWGbu
p2rsqzRku1b9q6S9bptDLi317p9HCYTxXuKS0AWyW5sofuc5SKTOwU0EVjqTHgEQ
ALzlWzdBd1WY0SiTL0NcQKAqJgK0VE7QoaaVjPU+VBatLo25glRt2w0v2MXZ+TWL
RrhS61Y341VoxF7U+PGE15zp20vmpg0/VTettm9J7xvMPqo6Iyig3Nu7T3kb2/5O
LCbxTfHK/XXE+xGemualo0/iZaJPvEQkwIC2AVSWDxhcvPx04rTgkKHW5SkygHIF
uBaxybAlbYSY1ELkagFhK8cXYUuwKghkeYf6ohMPpNPVeBSXFvWRuBzY+GplhwjA
MpbE81+bdxq6KbLgLmR/PHRIZ2+vpaivIQKrgsBWO64H2TgRLXA/66KLGp+dfzXI
6XDDa1f5wltDd3ySlQWFq9d2VUDuqPGJmq9u2DMwLaptx12pYMkff13wUCFJy/Hb
p80mRQniw37SmtTK35QFhzMw9BV9qg4Hv+CFRNsB7Jm7/bjUkl2ktpWhI5VmeFg8
X+Z6cs+qGjnZZMVgj27256QkuDVOlz1nZfO7XzgtEOMvltkGvf/erb2xA0yzI8i8
qEKGzha06jTTxQoQ00YIpfI+2xReRZzGtD9rsdKEqOdjf2b8tJOly0em5jfaxAvx
kN0wK3vs+qGXEvTn+iYBoNfpI/uVIw99XomFpH0P8A1ahsO+pxk6Gcc0WuI40TI8
3Pri8p2wtrUB7rjFCCHuxxqbYXuqJLeCgiE3woJES1atABEBAAHCwXwEGAEIACYC
GwwWIQRSzKCw9jELFwFC+D+SptvsgfKxNwUCWztx7gUJBuISUAAKCRCSptvsgfKx
N7TSD/4t4TfVTdfrVgbabJtISRK1xZrVJyoizaZ+k1ETPCc6M8PeiPaSYXiOunaJ
4L4fiTdiLzIr10JvfA5G7+aY25Bxj3P96qcgkKULaYvPjwjPN7hEOzPvcECmqceo
im60AVyWHvoDY8ZEflUfnthlhmHd62Iq24+kqxlmmAXIvgb67rHgHRFeuHknC81s
R8wp2e8nx+enkjNNMv6FGVJ9SxXvOC4UdYJsvA93I7oIIDkmnRBA0ElmjohiumJV
qoqhRLvIMww6zHh4Rfx0jX14FI6lG/f7QVvh9i0ZSfrHWmmj6RCeaQgx2K+iaUc9
xzPZYgeFzOjFzwIhH25p89h8HZnA8dvwreeH0G9VJWUSuv1DlV9wl5uJH4XmzUGr
e6mEzLpWRGSg44++wKPx7ceNbnIzWHcUxcIxLk/KzkVq28P8mTPfrgdXItL/64oS
3rv4pGh2Kqg5/tjKQe10wYynw4UGy4e7a9coA7t2pxHuRLv8in6bDR6vR8g+AMlh
KZc1pUnNGkk+3OrstG5ie9I/i7pRafURZlFB//G2O1yhlboquCXmJOHffd6AB+g4
L84ZugdCU3R9aaMdkN7IUyHFPXVv3uPqLEbWs6Tt+HX+Xm7bCh4hwBzVeAVWdQOS
CaE4Frs0YS55RbdYj0cSy4f9bedCm5zkhh8IPm8Z0EP0c9WeXMLBfAQYAQgAJgIb
DBYhBFLMoLD2MQsXAUL4P5Km2+yB8rE3BQJb1jDBBQkHigAjAAoJEJKm2+yB8rE3
YIwP/3WwqZs/IxCB83+Uoy0lsx9IzpGHuP8YP1Xr3fQ48KlWgK+V26XFYz4bhF1P
bPu5wVKsbhGIL7n31CiM3hvyRR+pu1sU9fp0kEM7fVaHYin+3vkXpPa2U15RUJmz
qWY1SxtcgJau//r0gz3IbBzBZqJZM2y6u9Bjvln2WZWJNp5n0EtMO1jpoptWUfbj
iB7XDPk1Gh92WMl7IgJxJ2lncrSqJljcd+qKPp2bSpBazZTCghl8djKvJ14Cdeh3
aqpyr5Qvmrd3sknsCSo+948NsNRS/ufpM8tAifAw9vqnARqHTRJ94iurG5M8vFZo
VAm37OMpmb26Ng7+ETqFVKnwQqkXkWkK/4pWv8BXCCYvV+qgd9u/ayE7K+N25pU+
ktk7OaffwMtmhs728MsDDwL0k6Be+xJpYB55cXojQz2TElCXIWuuwy9XlTaGHKsY
psq7zUEeflklg30BsRZnFnemN994v++rHGkjhn8p8CrHoYMTVGmKbhvlaJD0VQsH
IHNS4MuCEOAS9bNJ5BczltRidMvKZoW4aR3c3U9fdQZK8dX+p+foelIZA6+SVjTP
hTSd1rL6j/3B6yEYFDR8ONfH0e6oJCdm+VC6Pm49BgtRXNPdjdWmrfCHSR65qWw6
/Jh0msPjMFQ1IT+5LRlp+7ODJcwm+o2Jj454yLGoTL+ttXM5wsF8BBgBCAAmAhsM
FiEEUsygsPYxCxcBQvg/kqbb7IHysTcFAmXDkREFCRFqMXMACgkQkqbb7IHysTcu
lBAAuNkir6hmT83jsEKOonLpLsEnXg0R3UY6ih29tsvXA3kgqXE5Xbf/Ntaw8Kms
Sf8uwVfVScFeV04BFcvZ4sRXVrSwJnjdnHaZw3UuxXyzutc2zlSY6uLCh1pYORvB
VUcbwegkcOmPJibXUs80RcIltPoJfMEbYIcaBRQ4n6oVljxQdQkoyOj0VbM0W3M2
rwOxbvkXMvY7WltDruSSCI7P55Kv3fFV7aK5+NbEHAPcH0yvR43fjuHteZmraBrY
SyuSByhFRoRomDMIgURXWQISzyG02HNpEHiOnQHGSOnQRmf7GB/Jd0Injn6a0yya
SE56EthZ0K+xbvsMF/xusM2B0ESSinSuQMIcl5Q9WBXxtrXb1tyo+3nhKtxxREqC
qtLRQXrxgN/3mOAnlXDInYydTE49Sm02nerpRUClC64FYOOFbF3O7tSy5UYG4ScT
1zZHyhiHWS3zT0O2Ytbm2Y04pPRLbCoPAmi7aZKcTQ4idwlgrvzeoXiFY+vR+0YA
VlQaV1LXOgCil6ujZH2ZSEnXervMXYIypfGh/oBuF/ntCTQKqveJWqj/wuRjpHLO
iPBCtooGPafcAGHHmoRULfyPViyaBtGPaLmSgUFo44NGqX+xJVBvJgATmDohQ+wG
dm5S5V3tMHjZOv3F0UmzvF8KTKNissphK67cPY/T65qhHHrCwXwEGAEIACYCGwwW
IQRSzKCw9jELFwFC+D+SptvsgfKxNwUCaYzUdAUJFSzdVgAKCRCSptvsgfKxNyEM
D/929EfBntgSRLubxWLiGRE3uZW9Uqv7o4UpfulSLA2XLaNcKsaLzAKxYhVDfVRc
Rh85OQfEKDPxuYq7xSmGgsrsD4ivPaR4najCDpa0iGCeYXoC3xNWAqicLqJ6U8Mt
dXpd4qgY3jeWZYWb1wB2cgvtvadnJAC0HsUK+MQLrEHscxIRzVkpdulVGpjuDcCv
S5q9F3SmcFlGf7e577FiU7X+sKUy9Iafl6V8laDe8uRW4+EyDHiMH59qDasjmUDF
IigmgdYyMmUoByZuhds1y2m3NXtawdj9zobgd260iegq2DvdmQCwhR3Oo0XQV4+L
q6urwG9XFQvkZp1TMxNRu6qkhH1dKpYiEz5Z5fn3EavvcjttjHJTPuzM/MFtNVMO
h3xJuJHylEp+EWW+f5YsLoufdF1MZqKWB8q3YubuIrpYZZabnavRKaIxvtHBKbhj
id7QWynjNJrv//RrG8PfHLjb8SNH1G8AXOYoIxelBRUgY5LiGrdW4MM8wH1yo5sh
42gIbcZY3Octe3aH+xgdWlaBnPbaZ8EziiopXs5oytyi+xGEy8vrbAey2s1LDEjY
17eN4kzmjpNjssY6No3iT5iZ9ekmApkWwkmy8+/KuCq1PdY1/9RpHjx8qKCHZtSz
e8ePv2nWaCgL5N+9XH9Mh+YmrsjOiT3Zrejpw4rDPK3xVs7BTQRWO1zpARAAujtz
5TQhxosytZJ+8sbglHRl1W1qkfQwNQQ647SVqdaoCt9g2Ei2syVBGFzb68/4p3Wz
H2B7gyRLzuMmvs9t0USRa4VzB1knDx2LbRobB3Cen7rHAvJRQIgJMkupnnVnZqpk
MHYhqVziI0YB75f1sxfsY5TjqBXyRN66jhllqvptGSlQKiIrFqV3B5f3+7Ks+lQ6
0AHvJ8EO3IyQt2VIfPX+KRxr9eaWtnAqF5TLKi/WM9mgpY8kwT7L0zf/ZoI8ydCB
OOeNUPvdg3vyOdUjODucLcjL3sKQ+1GubE5xOu8vsT30jEJkMSSa+3T1IcDbSpZa
BcWDlI6HGSSQyxpgEqelrXPdDyx0snovqV9ddSy6l9ff1lO4ktyUkpLZmZUFKznK
QGlcE/G9XU2mxB9RB2U2awRQSEaistYHucAwTTYK0i63G27YWPPBhKW1ITDxbFjl
jrvKGoAa04TOZKwZH9wXMvydMJpjV9cbWn0vaiTvgX5qGe89zsGaCLdmMMwlbu/Y
eqlP2l3+VE67E0xf9RBnsbccj/piU/9/i/DgLOzYor4eKjfuYO5ls0JJAVqIOJhc
UhIcYdtb/2hMu7dsK/vx5Fog1eQQn34O1tWlCJRi0kZhwT7lrBw5VaIvlDtSm6OB
gAw/ewTutcdIPY2oAzMWCymVIiGxUFdUfziZaC8AEQEAAcLDmwQYAQgAJgIbAhYh
BFLMoLD2MQsXAUL4P5Km2+yB8rE3BQJbO3H+BQkG4UiVAinBXSAEGQEIAAYFAlY7
XOkACgkQ+h2KeGDML5aNFRAAp1UmroPTDw0tTL8xKv97sUJn71rRkrVJGFFJeNwv
82F4pZe/Qg7Gj0ndJ+iblU3XytWTU0UT5i2tUbn5AdK2kGKy8rxKo9bOvqZoI/dw
izcnTzETHva7n1dDMEpYLe6QKH0YioxDckpjM58PKEUm0HLyh1U5qIFZPVc/fASL
yN7enCAneza+WYm6rgAlFy+YArfygrcNtKXjdyF3KdCt9wFXgT52FYZ7h7UBs4oV
a6oC6GEJOYRUCioSODApF1zNd9w+G1ZClIzY/6v+bGYDfbQfn9N7Oz7u9zAQpFhv
D7zWN5Ek+PA9VxkczrWq0S9idyTBYZ0tDCy3Rraqt0VIOMGu3GpJwfnSsjS+Xk7o
9TY11i1JlHd7AW9OrMMl2Z3eqyBDJXHZbPtQ43Q2MzhgVJ+CWr4dmoP3LxDer/Mv
KWgcpOiTbKZWkvwZxJEsZmSWPmFZKoSugdcW+zwll53QbOfmzPIEnJZLzcqwWlBZ
yfxFCnegke1LAMYHkD+KLtFlyiSnb+1XTi8xDi7K+JFJyjSjwLgY4hdjz7zaaLxR
TZ2+OVgWSgcFidn7XtcCT5NuRq9KJ9Xh7KjhotbVKc9q2BgiEUft09wV/xi148FN
QumvsQ/38aToHMrUn3sheqQnDBOwWF2ezB/RA01ZvBjEUVVfo5UeDOlf7tZxry1F
5cAJEJKm2+yB8rE3AK8P/2xDdNhNP/IdoDy1quf8XjY9bvarMPLK/bCcNHeANkrc
JoG1eV63ZE2j9fHtIKRE/ShghIAaef6lAW0oFlxJb6zOrJqktStEorU2OJOG1rNU
xf3nsJDKWZzalEgJEoM4P9tYFC4AgVlyvzd8NBeo1s+iU2LNCErn9dzPUa/1uxtJ
urFiX+sTON7KEAPNWA91B0qBPvDybNxq1LUDXJYlifgOypexTf3a1jDkHHW96hBV
2fXavA7EsRcKKeA51QDW1EDIePKvfVjxiqJDQiS1SE19TogXyJlJ9I0J8NK5hZTn
9atONLjx3G8cqI5jTAig7dUo+korwFGCicK1leu2uVjGzVtorbZ4pUljwU1iKGxM
sgLTsMBkLnHUYabUBttEdiZ/+4h7pGCeW+oe8J+6I7Zm5UpF6Xw6F1Nt/RrS1k0B
e4ObD6Et5XTQ/LsMh0aA1kDQQEGDRmxOYzKjTiRtZrTgr9cVyR1JnbrfoIFu3m7B
hX3ywgFoaVfbFhIUKkShk0zQl4DH6AQ7CRE7qWIxXzi5bNmbwNiPee2MHINxrKR/
sefT8iODj6x0NqPj0Pfx+ZauUyXG5MbMxgeme8aiOrZW32eQ0xzDVriJVAPjO5NO
Vs98k4tUxuU1ohsA5eEfJUXUj9K2GFyoruXcYgLJh3NWL7cuCxfKjgKP55Bjk2kw
wsObBBgBCAAmAhsCFiEEUsygsPYxCxcBQvg/kqbb7IHysTcFAlvWMMQFCQeJNlgC
KcFdIAQZAQgABgUCVjtc6QAKCRD6HYp4YMwvlo0VEACnVSaug9MPDS1MvzEq/3ux
QmfvWtGStUkYUUl43C/zYXill79CDsaPSd0n6JuVTdfK1ZNTRRPmLa1RufkB0raQ
YrLyvEqj1s6+pmgj93CLNydPMRMe9rufV0MwSlgt7pAofRiKjENySmMznw8oRSbQ
cvKHVTmogVk9Vz98BIvI3t6cICd7Nr5ZibquACUXL5gCt/KCtw20peN3IXcp0K33
AVeBPnYVhnuHtQGzihVrqgLoYQk5hFQKKhI4MCkXXM133D4bVkKUjNj/q/5sZgN9
tB+f03s7Pu73MBCkWG8PvNY3kST48D1XGRzOtarRL2J3JMFhnS0MLLdGtqq3RUg4
wa7caknB+dKyNL5eTuj1NjXWLUmUd3sBb06swyXZnd6rIEMlcdls+1DjdDYzOGBU
n4Javh2ag/cvEN6v8y8paByk6JNsplaS/BnEkSxmZJY+YVkqhK6B1xb7PCWXndBs
5+bM8gSclkvNyrBaUFnJ/EUKd6CR7UsAxgeQP4ou0WXKJKdv7VdOLzEOLsr4kUnK
NKPAuBjiF2PPvNpovFFNnb45WBZKBwWJ2fte1wJPk25Gr0on1eHsqOGi1tUpz2rY
GCIRR+3T3BX/GLXjwU1C6a+xD/fxpOgcytSfeyF6pCcME7BYXZ7MH9EDTVm8GMRR
VV+jlR4M6V/u1nGvLUXlwAkQkqbb7IHysTcQYxAAkxscIILgaPV2bnYpzMf+WybO
bdJ9URgblgKJ7S6sLM8d8/F/4OHPNbf2UYgTzlMWYZSRLdvviPMFJo419YuDecAD
d69Gd+oRSXnFvCRDMhx8mhDzaeJjEZKykf21BgBYrLw9+8F6iS2qndVxIAU8BK/Z
PUE3MSrEMuVd5LGdOc2+lYcZBu+suFJCexbp6t6FBbP0+k/hyqiLJq59cUk8c+aO
gorq4r0GYrZUIdc0r4UoUc+KmDVGTat4ThWm3rOJohxLQkrLmS3nCk4r0dU5o7NV
3uCOYz9Qhlhw3zJL/yvrFm535rBbJZkgNjI/mWVexlc8jzYHKFsMtk1IOgVWoR9Q
ON/fx/rdL3M09Hfju1XWAeITfkGAGNmyNd0teHs03p7SIZJZasmJr4rXc/XZ803o
p8tIDWpachiE9cMllSVt0ZptzdnrW+WvA4u7SN+VrVbSLl3DzqOYkgs6ou9jfFob
WN0674TQckJQkflJzDdLiAFYXw6X8wX5l/m7HDC4K9KtEjSWGCBQ7EPI6Cf993uC
E7MLKHVKswTKYtsxOtK23PPLdg76OjCbRZiLJGpRH4kawKuCP0cL2qL1m+OedLWU
sfV2jw9aRej1ClMlPu+LjH/LJyNkuNxftVm+MjCnvI+JpuXNXqYS7nizgSbSYwJq
YUwJH6j3utzsBloU/DDCw5sEGAEIACYCGwIWIQRSzKCw9jELFwFC+D+SptvsgfKx
NwUCZcOREgUJEWlnqAIpwV0gBBkBCAAGBQJWO1zpAAoJEPodinhgzC+WjRUQAKdV
Jq6D0w8NLUy/MSr/e7FCZ+9a0ZK1SRhRSXjcL/NheKWXv0IOxo9J3Sfom5VN18rV
k1NFE+YtrVG5+QHStpBisvK8SqPWzr6maCP3cIs3J08xEx72u59XQzBKWC3ukCh9
GIqMQ3JKYzOfDyhFJtBy8odVOaiBWT1XP3wEi8je3pwgJ3s2vlmJuq4AJRcvmAK3
8oK3DbSl43chdynQrfcBV4E+dhWGe4e1AbOKFWuqAuhhCTmEVAoqEjgwKRdczXfc
PhtWQpSM2P+r/mxmA320H5/Tezs+7vcwEKRYbw+81jeRJPjwPVcZHM61qtEvYnck
wWGdLQwst0a2qrdFSDjBrtxqScH50rI0vl5O6PU2NdYtSZR3ewFvTqzDJdmd3qsg
QyVx2Wz7UON0NjM4YFSfglq+HZqD9y8Q3q/zLyloHKTok2ymVpL8GcSRLGZklj5h
WSqEroHXFvs8JZed0Gzn5szyBJyWS83KsFpQWcn8RQp3oJHtSwDGB5A/ii7RZcok
p2/tV04vMQ4uyviRSco0o8C4GOIXY8+82mi8UU2dvjlYFkoHBYnZ+17XAk+Tbkav
SifV4eyo4aLW1SnPatgYIhFH7dPcFf8YtePBTULpr7EP9/Gk6BzK1J97IXqkJwwT
sFhdnswf0QNNWbwYxFFVX6OVHgzpX+7Wca8tReXACRCSptvsgfKxN/kSEACwfTy9
x0Kq51tGyzfuqqk7L+XXbKDShgo+54LAZcsb2n2l0rzHanEcUaj816TkBlLWgtKq
aOSlv0EQpRSa3EPd4QyUY9P/zZ//0/KBvdpIgO6cViNp3UOwtFw2lYkJbd1bsJz+
MEMPNfZd0TO020FnyhiJne5+vXeUWTc2quTxj8ASw+SWP2GLD5RGc/oH8hupGPfE
J266m90mj9qpukUNDMXgtELRg/NW2TA7TiRBuSwGJlB87ZNOQYQhPqC+y6smMR/y
+Mh7EqreqfyU0jQ3Gi9y8+/jA6V178kzOY2HyXR0FENu9Sw/2fXK9M7eKvzgeoJB
rrteeKuf8K+6KEH+VkWZplLpFeUAdKAeu75j6iwUPiYBy5Hrwc0tYiugQpb1Ig2W
kewPss8u951T073q432AAQnV/YJKYiEEi7qj5yA9ZZLg7kU/Jo99MChyydNONot3
/4IgFpM/ur8njzvBDGxTXgeDAUFkAX0m3fPCDJ9qlJx1853x3jEQcArhFV51EOag
8Y4ZWp4zQ9YQTBwuCciiaFWCK7Qn6Ekmu9rUhLWiNbdOAa3mP2zh4VBuGkVUnKzO
UuOHsLg5Hdl6M6G/vdKHVqs4FAPgXDZRq4HTn+H6tJpqHezIZffIWO8LtaDO9avj
PfPJOvrZW8sF6bh/GgJr54l447ygF8U7/FeudsLDmwQYAQgAJgIbAhYhBFLMoLD2
MQsXAUL4P5Km2+yB8rE3BQJpjNSKBQkVLBOhAinBXSAEGQEIAAYFAlY7XOkACgkQ
+h2KeGDML5aNFRAAp1UmroPTDw0tTL8xKv97sUJn71rRkrVJGFFJeNwv82F4pZe/
Qg7Gj0ndJ+iblU3XytWTU0UT5i2tUbn5AdK2kGKy8rxKo9bOvqZoI/dwizcnTzET
Hva7n1dDMEpYLe6QKH0YioxDckpjM58PKEUm0HLyh1U5qIFZPVc/fASLyN7enCAn
eza+WYm6rgAlFy+YArfygrcNtKXjdyF3KdCt9wFXgT52FYZ7h7UBs4oVa6oC6GEJ
OYRUCioSODApF1zNd9w+G1ZClIzY/6v+bGYDfbQfn9N7Oz7u9zAQpFhvD7zWN5Ek
+PA9VxkczrWq0S9idyTBYZ0tDCy3Rraqt0VIOMGu3GpJwfnSsjS+Xk7o9TY11i1J
lHd7AW9OrMMl2Z3eqyBDJXHZbPtQ43Q2MzhgVJ+CWr4dmoP3LxDer/MvKWgcpOiT
bKZWkvwZxJEsZmSWPmFZKoSugdcW+zwll53QbOfmzPIEnJZLzcqwWlBZyfxFCneg
ke1LAMYHkD+KLtFlyiSnb+1XTi8xDi7K+JFJyjSjwLgY4hdjz7zaaLxRTZ2+OVgW
SgcFidn7XtcCT5NuRq9KJ9Xh7KjhotbVKc9q2BgiEUft09wV/xi148FNQumvsQ/3
8aToHMrUn3sheqQnDBOwWF2ezB/RA01ZvBjEUVVfo5UeDOlf7tZxry1F5cAJEJKm
2+yB8rE3I1gQALryyTm9CAgWc/OOstwtikoeC5bpYFdrY6Ya89gI5lBB9t0i3nJ/
TWi+3rg30DVJk+YVMPs6KZ1w6hAsYopu8D8k1hiORRE/qsRRbPxe8ukBQtWjGY81
fRoTqESiO3SrW+TQ/39QiTNxk689+1HyvJTAlZx9XkEjWXsk8D8HekER2VL+ThRZ
Lx7EkDZ3y3kzAlWjUUGoAq82SKXZj5YfwyQhzYZTf0cuAK3M8yBT4HGNBS5BGrX8
+nZpUu18GaJQZNoMWnQzl/7btlWNNqzRjRJgwbZWOE+5mWetoKrVfdFnY97lqC4q
T776y9/biKElW3NIg65nnWapWRdPsuhrfB9WxZbt0yoJRgk75QFpcXcMAmCL50im
1heK6ze8gSQ4CGEA9JrKP0U9WjWYpWrcwOc7WuPBYSMSqhLLVblqc9WxyGykyUq7
xEatNalpy20PAhSlQKQzr1Z+bm+24qA/qmqaD553IcNMNtPW7Ur0WaAIeX5be8DH
tr8nu2eU/nd9bXqAlBiByCQkYdK7dg3InFy7W0tbI+jYcpQV80TiW3F85pPwRhO7
4dNHHIbGkQd1iojC/owAuMvbFF2P+xV7dZuqjQ//EK7WODDBO2IwhX2LvyBF026u
C8+pARgp8MBWBWrrzhaZ8FmFrDwVKxSUF5feGARAr6cpVzmnjfttMw/n
=jtKj
-----END PGP PUBLIC KEY BLOCK-----
OpenPGP_signature.asc (application/pgp-signature, 840 B)
-----BEGIN PGP SIGNATURE-----

wsF5BAABCAAjFiEEBGFuxmO2fsZ/M0XX+h2KeGDML5YFAmokUPUFAwAAAAAACgkQ+h2KeGDML5Yb
qw/8CrPYN/9IAdu9H+w47tFhDiwmeVQEGIOcLz2kckohdF326kWDoJ0BBh8iJSIYUq7NB6gvn+6j
S6n0AGNFU2p225BjxMK9WsmQCBhSf6bA9NksyfHRNcJ7mqSd4kgTXrk9hY6WKi0anIwHhSzXv0Ha
8DCadlI5C7ZvA6PaDP1FY23TlE2ppB4LT0LF9X2Zp5S8sFu1rBYRip+luYzwx/t6Rs2ddQefhD1G
hYPguh3P7KppShpV6RtsF3qbxK+A5bcWPQHeudw0cyi5dCNOAVTkf7oA+g6cgHcW0wRn8buv47FY
mqzDbVyL3VlKSa1Oj8jZrzXf67B+O8B4m0EiNp1U3rX98ldeXZLXKFWZzfg/OcVZ1OqL56u+FILy
aF5NIHHZguoVx+YxNPfNs0L90OzWDlZlwW2I1BybK21F/E4sTQdj0YeSTrTVMa5YTPjsNqSUm3l2
PfE2cJBNWk2WzKqYetSUVTkOos9sADQOOMhi5qHlO6KfBkvOSDKmCIqhhmIZattI662HfYZzVPty
7x4wmJ4y2It8Rx/PtKwJnG5G/bl2W6wkEWm7Od/4oc7RSkay6Py8uP6SoMR+yjFK1NxwiaWLScoN
BqYiwF6kMkkMajRmf9xICjkByOFKiSLmHvCWUb53U6+T18zTwwQX2So3gV0v5WX4/3aUhNZfpUtw
n9A=
=59A6
-----END PGP SIGNATURE-----