From 4a82cc82d207a9eb4458e5f8e8ab0dd2d9de127f Mon Sep 17 00:00:00 2001 From: Denis 'GNUtoo' Carikli Date: Sat, 12 Oct 2024 03:38:04 +0200 Subject: [PATCH] Add GNU Boot committer keys for "guix git authenticate". Since GNU Boot currently lacks reproducible builds, building GNU Boot from source can be a good idea. However currently the only supported and documented way of build GNU Boot requires to download GNU Boot from git (signed tarballs and/or git bundles are completely untested and not supported yet), and while the commits are signed with GPG, there is no easy way to check the integrity and authenticity of the source code. To do the check a person or a program would need to get the keys of the two current maintainers and somehow do the check with git directly. Using "guix git authenticate" instead enables to do that more easily: only one command is needed, and the command will more likely keep working over time than the method mentioned above. Guix is also improving it over time: for instance it recently added automatic checks through git hooks (through the guix commit 8d1d98a3aa3448b9d983e4bd64243a938b96e8ab ("git authenticate: Install pre-push and post-checkout hooks."). Since: - the "guix git authenticate" command was introduced in the Guix commit a98712785e0b042a290420fd74e5a4a5da4fc68f ("Add 'guix git authenticate'."), between Guix 1.1.0 and Guix 1.2.0 - at the time of writing only the following free distributions have a guix package: Guix, Parabola, PureOS 10 (byzantium), and that PureOS 10 has the oldest Guix version (1.2.0) there is probably no need to update Guix in most cases. This facilitates checking even more, especially because Guix is already required to build GNU Boot. In contrast if we look at an alternative called "in-toto" (https://in-toto.io/), it's not packaged in Dragora, Guix, and Hyperbola but it's packaged in Parabola, PureOS (10), Trisquel (10, 11), and in very few nonfree distros (https://repology.org/project/in-toto/versions). And even if in-toto was packaged in Guix, it would take way longer to get it through Guix as it's not in Guix 1.4.0 and we would then need to download a complete set of dependencies just for in-toto as backporting it would break the chain of trust. And in-toto is also meant to authenticate complete "supply-chains" and so it manages well the distribution of responsibilities in an organization where the people responsible for building releases and writing the code are different for instance, and so it can easily manage the signature and authorization of git tags, but I found no example for signing each git commit in a given branch (see https://github.com/in-toto/demo and https://medium.com/synechron/securing-your-software-supply-chain-with-in-toto-5b90a6423c88 for more details). And here it would be problematic to only secure tagged commits as it would in practice prevent users that care about source code integrity from building commits that are not tagged without reviewing them manually again and again. And doing work to secure all commits would probably be time consuming and/or error prone, and in contrast 'guix git authenticate' is readily available. In addition, at the time of writing current or potential users and/or contributors to GNU Boot are probably more familiar with "guix git authenticate" than "in-toto" because the former is mentioned in the Guix manual and its use is documented on the Guix blog (https://guix.gnu.org/en/blog/2024/authenticate-your-git-checkouts/) and in conferences. In contrast in-toto is also promoted in conference(s) and it's already used by projects like GitLab, Jenkins, rebuilderd, etc (https://github.com/in-toto/friends) but then no GNU projects or FSDG distributions seem to use in-toto or to promote it, so fewer current or potential GNU Boot users and/or contributors are aware of it. This also means that learning to use "guix git authenticate" is more likely to be useful for GNU Boot users and/or contributors than learning "in-toto". To use "guix git authenticate", adding the committers keys inside a "keyring" branch is required for "guix git authenticate" to work, and this is what this commit does, but it's not sufficient as an "introductory commit" is also needed in a given branch to enable to check the given branch or other branches based on the given branch. In addition documentation also needs to be written to explain how to use "guix git authenticate" with GNU Boot, for instance to document which branches are expected to be authenticated, and the command to type. This will however be done later on as the command requires the commit ID of the "introductory commit" mentioned above, and at the time of writing it isn't pushed yet to any of the GNU Boot branches that GNU Boot might want to protect. Signed-off-by: Denis 'GNUtoo' Carikli Acked-by: Adrien 'neox' Bourmault --- gnutoo.key | Bin 0 -> 37737 bytes neox.key | Bin 0 -> 809 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 gnutoo.key create mode 100644 neox.key diff --git a/gnutoo.key b/gnutoo.key new file mode 100644 index 0000000000000000000000000000000000000000..31089434e80c1be3f06791b43e0c405c050a7241 GIT binary patch literal 37737 zcmbrlQ?zL7wxl_2+qP}nSkr6Twr$(CZQHi(HEp~0&Z=|UZkgv+-pu>jpT7}*j2_X` zfnY&2Xh{135dhX=!QiUWYmZq!Sng>xP(Cz|rx~wZSv`=9Yc-JwPvm~!^TFzp7tip# z7v&b6iE0o69#m$!=?aniToIMyCx^G|#jkHRgn~~&y^KHYUtpjRUmdXK?OD6-f~H08 zt#Jd=yl8kVnu9*(Vv(!vUXQY3^Uk`?WehDzPyV1g--42+Da5 z5c(x{%u%qrlbEk|&d-3>-<3ZNu!HNumbJKIBL29xnzF+|@O>OfXln6NTGw;L?_Jl; z0~=XLgMYSW+aup5)4HO;SQIeW>_;oWt&p~1dn)_@Wt{n1b z5A2R8-8%-%ik&dBFt=@%Q8O+>KYsmU7=~59@HBv3+b;+PzPXM=cgT~`gLbR2!9&Qi zOnoDYJGcy!UP>mE-t6yWNS-KAgu3TZfRvs!1MnO1Z-?+t!z!{Y#mJb!hw`Q zkO3h8_<*p1L7^cbz=6O}At0fkfk4oJfB}K<0D;i`&u$9Q z1rq4<(y{v4X8aWn0bk$>F@z0zKkiOqP_b!gV~ zML3PAha;SAd|_j;98pYbgz%=1%;BU4@=1emdgUrWli=DG%EcUzz|KGzw-I;=!gq79 zvWG~2c9~OK>w5{1KBU|(;@qIXg3$Bb+nc74t6o#{&h-h1pnY8~oejablp@qdm{!O9 z5y2KKSjC+xMe(K{rWRA`W~pgzeM4?3x9UkzwE4?4{PyiYLQ>uZ5O6T=jix@mq^;6a zZqGBT%Fw6F0En>Rr$oNTvxu!Tu@cD)Pep1!9u6YJ>Lsfqa=7kFBa@p>sqaQB?4D)s zxqLuMlRC3R&Gfc~EJKd0`LWqI)O}Seo$T)f4XBM1?(9bQ3x2 zwnv&c_;ZdIU4u zz-E{Q3`buwcw+sbgT`2X9UQNX2E=(rM{><(+=p_}__<}t>FvGu}ai~%e{DR<(Sg#B*}FSCH@80Yq>K}5GBir$gJgb0gI^rqMcWBmwti3XeMO~X>d2$ zl??H`zTWC`MxhllhY7sXpl8r=kZi6#(86WnK`DOkC>va%vCN2lujViiHJ27Q9EceN;V-qq{R=C=Rv7Ih zm=<2$5~P8kum1Dc>tq;EAPpLR^1rG1*90LK{tJr(E={wZI53LHfG>W#I&k~*S6D4J zC>$mUg@fiE!5>M5!;_R#Pa&2>K-G~)dG=R=3L5k3pX)hhCKLDcynilK6g_~7-j^KqC)UxVu9?YErGypJrq2Br>$Y|e@SF@}fS)*X5rJE}Wc1)GA%&cxg1z!4tUI%75YCGgAQ<+mS7 z>A*|!hj4lga#IE^voGi~aSq@cyJ9vTGpeTb8-uWv#{)K>$HDn3fM#??ao_+zlCba$Ey>uK7e zIYPrT@JN#2MfIVJI>CUz%~CBuSMp%WBXgN7q1cXr->hD=VxhC4V2JL$EQq=`B~jPx z8DZTq1i-Z{s05y~5?U)eAW}z>l}iZ|^H@~|Vq^sZk4^TcRpn~SkY{#?t&1ZNAPc(i zFs&L;)(DVe1se_7r~IY%6OpfC#$)#JNZe=4|!KgHCyAR%9XU#++TnC@%ST4 zfc>`$R&IcaNYzn%=qwe^c|X31m3@H|J1B5UdT|A*apz%9%D` zuI6<(##juGvqLGnbKN0?ramXbPGl?LDYz@G7F3Hl41?`YRpjSXkLbIjNq&)tD8prXEw>D%j#0A>(!ks~ju^(?k_uPJK}1K}(D%adIpmi$?|8OfT7myd zRry1siA)&;n7HHXwRkiu&`m%YvAS~BSAkIN-?&CvOZ$w{L_>YxQM}3npNcQ zecpXe6ZN8<!xGUs z*X403PpGW|a+{t)qAPOL56EHOQ;#s5yFmlgC3!{N1^JXLFTq{ZB3=P>dJ1-3R!PpF zUv)6%wkr?wwL`%-(7n@VwW#&!p4U)kCkAuV;`ln7lWmkN9Lm?l5(wXdDxD?FJ5tBn zf%6Y@?TRy@4kqfBgBgLuxQrb6dM1qVC`?jw3yZB591qtfH-J5<2VqwzB8cqF6O&RZ zDU{qBJDg&3O|d7#WJQ9#k;x;0%~(!~SF-EdUgih!4|heL?HhBX2oE7G>r<4!i7D8Frq-X#-K_T%oN^ z9*+1=f{-{{rbHKd;QnwOVJWyZ;zO8xy0&NVxLv!`*o;WoisI{6vfP_XJMrnHp;OHZ zYw<+RR$tr$?AvzF*GP+{MLE;_vmR zn_=VeP{8Gnztalw9z7QDT1_4 z>1Vv$OHyns^fybZ3*uQ;N8B3UDZM&nFRZ*?SN&U)(dj1L@3Y!R*HNCO9UM1drTz&# zj>VCduK^wk77wi?H=M^(7wb9kz!&K@Gth7@(b4c(x-q8mzDz>i-`)D!s5IL)@YyF< z%kLsqb_};CiN@Vq*8b?w)sz5#Ox@L6^S?+*dAMfuZjHOc*eaiXNoegz&AEm43SZTE z6}Ce6D(snp#JAWU+JX<*sWg)na~MODBBTA$wh8bn*R@>+jt)7aUDb;4CF!B7>m(U} z(||J8Rst$N&>>?z8-ncE5IZ)etu!K`k0MY>UeHH^vLbcUJ??mEm6M41M8SavO^AC} zWGda12(uJke6}ZgCk+ItLaWS&B|I66DUN1-UYv>SkZ1H;L{5yb3I?iKCbO_SRWN$W z|2-D|DV*rY1ON{o}_q*PkI3J%P>+x z@wfaOa<8oo-y4D>Vd+J*S)Lly(MoPws-9ln=%`jFS<(+QO$%6+uucVD-yT`rvJme( zj|{zwYCi)&4F#UFQRV9tu`TXlG}oQ?%!8)c`K<`2z~gxZ*x16 z(FP0lP{~p7lM42zd6Cp`!$WV>J9(g2>-T5G=3{GU88-;V?WeovzmL$w5`Me}=mZlF zu47qC3OH#d7T{OREww2!-8*q4J#U=)ehE3LFgT*rTxiN zxwIyZ^$z$ORbyu#4Hwr4*aR51;AS)HQVNT1MAth9{0wuu!Pf{f12UyX6HI}ix7=+P zFk}RCZesq~40y>y1DP6lzRNrVBjd72$NenwgoM{c0bGe5hnU}=JoV&_1rpQ^gekf# zvKmxWKYJyU5|m`fdXD@G2g3OudISavq@62P`8OWuP`3xkLdm;&O7P#5RDg)V`KEz9 zOLk$414G#oZejz4V*J|-MT5hs$tYq+JMb14^_y<~CN$VAdn?$g)~Iew$W%3?5~RBG zUL#4iL4lCZX1mtZaB#_!C8miDZJ6Kwjm!CiO|th+-KLa=gw05FD6I=KP|7i%v)g*t z*sxX_S-!Y3x?Q7HI`iZDfUa0syMrHU@l3YS;aZ$Vj)?cJ{R0q4HY*M% z(XmT7GW17*C_tJjJy6R%a%Ng_oZ@M?bP?ve{e0dx=bB0}ubf*YV`TT8G_QBq@1oj0 z5>{j%!U=aO1zCYe1fj~a1Wu>cL!)ySrEDwiEf%*yg0Ji(Vo=yw!XTyAj*p!331EnUY zQ`4C0j8^FeI1t;b-$3B8L$ucnMbj^ow(vy z@N|-5p=_ z8TCt6VfphHHN0Ipe^c|XiQ*~zH!B)RMdu`&4F1rWQ4aX#bs8fIl5Upg& zV!-!a(lQC=C0j|ce9gi^thdo4H&TJ7NlnCh*G^gSL%J-r(^N9#v0hCCTg)aP^u_p0 z#&fY|@h87B8Yp-gcC6<0A~UEDQ^7m&w#eN0-W0Vw+vQp=rmV&(;-%?)!ammMVCJo% zO8lEOxe{ZLM{y${txHw-5KiP10@CO=DiI%apexifh`F~Z8t4IyyMm|&x#WGh^-ap z`PQUnzC{6k>mMc{6Q`dxB;51vBz$6Qyn94Y>`~t6p=d5mFlZqBWqmk228LbW>Xl|f zeNwPPk&FFMBklS*!Sb>J9|T1#fZ6>KXkg+r}Q!42*h;Y0#jK{o>vy6Z05?V<6tVP{*a8fs*3v- zDQVlU!8GRcZAPDqDH+c!sAl)0gEi+&Wc3Jn}WMJi;~AlsY2R>e62?x9JH$ND_eYj0HD^ZmV2V#=gH0?z>jM zMW~v9pc3T9BPPKb-Znp@_60W+&E|=ffi++1gS0HQQ24XlIb&Z&^QSEqKRPNm5&1UC zFGwLxCZ2mu<&aFF9C<)(s|y~1=HOz_HjwZ-B+#zPjsM*OJ&I3$@-}NE_ABcBZ#f(t zVl*sJNN~=E^?y1XpAh&Tm8>tyXTSr5z~vL0J081cJ_*;TU(nC}MViu?!`t^wfdZk^ z@X^&g4X^i>>A#~EoeL$9`G8o6sj$vG&lOBnJ0?|MdG@35U$?T?M1;lW;WX#2>iCN7 z(S|P>E7+L4svfS%Pcbso&gVHIaA9NS37w3~pM%7g8IaeuzkN@tp5?v$WCLjxkF$y< zD_A6}wRy#G+kX#(PkeBw^e@|OA3P7W_gqpM@2lbN?6N}G*1hGeTipv#Le*JD;!1OQi#5_b-J!$ybzdpktLR{=8$h>q))THD{u2l||T#azsZBdqQ-h zT7qtCQIETn$&0`J?f}9kF<~Kh_ULSgWbP}W;rl9!RJ@xYxVnklgn|o@5d=MLu0wNL zP$UE|kX5z8`fp*Sr?ANl3JJj(=kZUhQp(}K`JT)>zgr?nP~SC2nYM8KHP&2;{$zIT z=Lg!-&ts*{?)Lq}kQ+wTW4Kx>ko!ZL8C;Dr4-$Wp&t`Y|T0L|wSn1%!-F(yk_P^q! zRCyOhuuu|AbMZ}Ytl;EkPvXN+-ujOsFt*yj>742a$-+6e{+1%Qa;8Yf$`tJU~kd5u@pa_6S+*oTNfhe4^7{ zl0tsts4V7Snr~>0?d{uou7tjYq0Ss!3=JSM9J5l(N*B(R4u+I+HmMs}AGK0f3WaX| zF9_r~Ql1ZPA#GZ$lUbpr*KJDetN#{Oh7x=$ppejCG7KAY$3;|SXIS7Cm%&sUY;tc1wjVzazqtaUzm$#h zXMwMVDc zb;T+y&v0R%vy~=_&wH#`5m3MukVrIfC>?zTVo?e~kIC{S0ERNTbcfNZJ(lex9~PS3 zPc>%#wh@_9EmmiMk|)eC?GIvglJ;bnp+R9dmSkM0=Bob|R>mZGI-rnneMX7@#L8d> z0brpFj4>J>Wwn(84_)?XL*$qg#+*q9l+*2=8az@d4ZHVU%)%`(VD~fKA2VJ~`;X&U zNS)9NjBrPexF?xHujtz(nR|OE;)zO_TmxO@ExmwjtuyZ~8;%ta*Anm0f}lSp+nxnd z0b#WNd>?+-$)7sJH;q-;7cpnJ@+F^DGt!CBd>NzTTrAcg>5k3_9w4pQM}2_KY$}jx z+^cpS#84!rGj|>-1WNU2$&KS7uL)lMj`M7IeY|r4Gr6L<`T`t}Zb^OtD-yQ&&TnZ= zo7sw>Y!3Gt#`Jau8UP1d`nCC1%;H|#9$w&j&xFPL=19DwsZEw|Vd{~Z_qbn)%-b=E z#O^%mZY;5J(C}!}c^&JDK(Y7P+wF*^4BECySaFju6fHv?8!+&vHoa#<*05D9><5*Z zH1tPP@cSdyb7@8=Aq1mVBo=I27<%R}n%WKBzejpGJwb@&&ON9`I2P(Eqg+*`qN9@< z8up|)_YO^p`oB#d4)E;2vWon+=jVuugi%DbaU;@-yLcnup)fU8cdsum7_8+zC!1j4 z6EaId0xiBm>gb8JzpRe=hTq}X)Wj~S4I-tPc(lCv@IB;SQ}}JmcnQx)0A5VOOUBO< zL}hX!Cb-I^dtPwjPFi1WDl54(hhu0dl!`sc_X4peQHeM1RXLW%cb^rsqw)T?MG*&c zM`LF@IvZoBe_IrRf`s_*6h#m!5CEp_T2@bW*PoT^2|ci1!3Cb9n_Ljgz9JzYR4^a- z;&I?si%6m8t_$P)-D;t)PkM*-iX<&Xx-WE0>>q~h&%<`Fx8}9I3F^@tD~bLLs5FL% zzTr+%$y0S(3RxhKo6yl2B5yX)yVPkaH(WijmtgJa;-$$aU^UOEeQIweX~vyA=_mnUS)--R`j! zi2_w}a*eu7nuaT;cCPu*wA!m1OlY#Zh@|ycpEs-rfOcwy(pV5%53rtSA67XL1Ex0u zAw0;@KdEc&u@?H|Cmv}4zp=JF!3tDgBG}=|+8M5Th#aN9Rww9eS)+QOLykAmrV|7Q zdwqT()KuVb<)Ee5GTZ4>`N?I8Cuw)pL76f6kF0SCX}C9``cHb0%^cv0nznJSNUpSW zN3ne~7pA-d8sHjXWNhq-X89q{wQnFO&|EdNNgAaN$H7ll2S#2-Q9W}4xIMDNT`MH9 zc#$$|m_UU-IkUuil>L>m{eS(V|FkIbdvK5De<_Om&*c46*|JaJfAlAcGW_;|1@t_+ zuQq6-xW}Y8iuhB%va|cQ8q@I4*+#%5zGzR&CUl#ht9jCZxRo{-!oU=n=^VO~w?Hz% z#D!s(z3}c5hI>Ql$Y~Q=y@KfZO4?(jW#KMyWSk1#Y~oa^8f^(9NY2IAo$^*1nmLYL zw^Ya}BO#fw<<3uB7|$*vLW@?Ikrw5x9#50b14H`e`|}g2u=<*Q?xB09tGzTR^?vI5hP00~Ih_;80z5GEq(88MnjCKv zt>F5Tr&(&eLuz5hDvuN0OPgp)uy35YGH}=VmuFPc0dPz~zke;ECvn|L-@RD5fVC3! zLdUWb42xwJEV%%O(#;<>#~1Tga+QHQ-6Lf7jOT+&LO2mV1a-kljY}zVev4yySrA>( zC*ZsY71hlu822uyAdmuWGf4u7Bd2X)Vw?Au>&CI;GhUJXg2sn+W@Kmb-@%-L8DW?W zC2GpY=hNOOeN+z1o0o_`aFjig`tv|}uzUSD6i|y9@8qg#jS~|BUQfmdi+^3R9cyXP z%u)5qeoE#v8(fk`YWX6UA8rj9p7g`^Fm`bbPQ3EMfBw%6)qgF#O=Cs?80vsddI37Q z?7`bx7@Ux<-rQ;9)5M93Q@lFRoCCKdiFo!0?h|HjkhZ*2KveXPBWGE``}m|Uqp6W> zO^6lIkWH*;YU7jgrp>GdW%D_E9!=Ko{1{D2Y%y_UGZa_mTCzGRwBW%vWQ znyalGwUSF#{n!L${1Mu^O+3Ypu@FFGOhU6*^jiS(; z$VL$`pb1}=q`ZsCYYr~W_g+ObCpIThJy3w253bv?vLoiGngfqPpx<-%#R6ex>-9}( zYRq}t@YdVmaW!_;N%a)l%^JK?c2yj2ZcWS_D47e-g+4;EAv^B=VmHyJiwd2))@W2A zYFr@bxHwBc7T#T@2M5n-^CKtbAm(a)11iKrHA)9aksSCB-Tze#r`do2FnYD6B8L9||iMT5pDXM{Z zuQ#&MHqBKpS2uR2{k%34KCk$6APXwuKz)zFuLfFsyMGBo4+ArqqI>pm5}gw*&?X4m zzTD>b?j2v_YqjtE;;plO9Z`-HMynx*PA>u(4-S~5u6K0)q~MdQ4=4k9`;1tzg~sm= zUj8-RQn#;aPpDe{+Vg?0ygzSvNTT-~-Avu{4jLF;^ry>uPMd7AB6gxY$P$11=WsZ{`(b&lSn^zE9A26Cr0J&Pa;O*ci}eO5`r8e)O5HDk*?F|zENiN-9g1D#Yd%pxm#dih z&b$q|TEd?Uop{PoJ4HgjkJ?*OE?T#3gzNNk41W8E>CPv#yJ?jIYFBG{eyBmi? z%-{;D(nF#@LWE@X7)2vdOtET{ZXVO?lt+PBITu%A5MKV>y=zaTF(jcB1$q*bORq2*HTA3)U(0tDwva#JLIm!S zxkSI15Q}}kyJ+14<@G(@WIO$RoarR7;h03h?U$H@h^YNuC(9z0$)^oZ4MA4xg5)TV zl^qkK^dH|^@$)5vGZLh187LsUj69XJ~(onMl6y4}Qd_^z!U#qE7N!=FRv~)IhGj5k8DWAI{ zm~4w3r^Mc)L?*l@KvwKH2;JBP8-;WCpiD%?3V@Jd!gDP)BfNgT2LtlQ{*+%?qkvB& z(18&$knVVKA9q`nvqnU9_P40l-t2(Ixj~Jnsg`ldX^ZKxB8gYj-}U%6LYq{rZ05|Hr_tr~xCxqA{agDyv(1qQ8Qf=$X5Osd%!$5Vo9E^mlDlBD&UJcQ;1eUhf&L%b_`AKk>X_H?5!?EyB zlk;DT;fQ|z3UAl4e>F;~??^>Ze2NQ5kl`00z~Q2Ux?L!uGvEve)2EW3;1K!3Y3X~> z@)NkCVPRdWU(8Z`)`r&7uFNb5cV*i4khWt`mI&*s7eql>f8pO@k7ZtQj%NXHQxw;| zeHo%C%js?93O8xrrs~84oP{9r-YCP!+9Mte1@PP~JKvI{F+%gCM4H z>n}KXWwxth{1?h35p-oF?ss7aYGZEs1$imrJikUZs(B`jBr7?MQ3d$$%IzMlepSUL zK|%uyDf0q^b+5;O_$~^|O0(_!ZmI{RA<+4pX!*czkRKRB0-(^0+Ptj*V;d*=<$NLt zMUdMx_{s&bc|ap|A%E{s>CE0!X>n%*BOPC7g|?$E>|Hw%Q~cxYYWpJqg#~7MHXHDW zUuvCnsbD5!J#nIy=4FEJ0G;ugGupQZjt$p%IgjW+m0q%q>YpDx* zOd;5Vm_jv0jsx63q!newhi_8`jJ5xK`hnsXmgXzGS z*YuoGZGeKN=w=%NNAgArTrDHRPfPwc#w973>{dFf#XQ_Xj0 z`a589+`W$=FjH?w?*Ury9`YCWK*#gXW**?4%(62~tzmZI0j z9oy{6I>>zrTYkT^X0*xl#1Hwdt7O?~3r0FD`unC4Qt5nysZSvQo(H_XC4cA6R~bfr>K1gkOoS1@hCeN zhW*>3(SOd7g(!qW+uyU{QR}$z=%g_a%9~wlPmQ_4lk&f{Vz+oGyMO^|A zDnbs)Z7UKjND(LK$riL=5Z)Q^g4FWJjCG$i(XXg#gkQkD=KW5XWK$KtI$%Nl1h)Kr z?|sWC3<0a2X21tK=_F+|sa<2GGC;vtj_1j_#P$(n0kx95?$5Q?#afRL?W{Y{`|mmQ7TK8&1!-QM>NHrsoFb1`VY`^aRBMKcuSPOW*=hs_ zkl@vL-Ufixa*UISE~~juG(MEeGjdHs*w>uJXljrdin*mp6(U6Zd=5K=qFe4=l%X9g z#ISqRsS)Ar6kTm+i?a4CigkAnae0&tA{4O8rHOXHum5V^y?c>qJp9D7 zry{55oxoX+Y^UoxMrJCMi4^i{fm|iT;8x%~almsQ8sWH!)!JIxUxj{_B|TgUMY=A) zNOVv@aKz)OO&E|@*%VdvL=$S!oL+6lNKb-%af?LUY+Wm+xpB%0K{Uwn>BCTm$kYQ~lFVe#Wjtl5z8an#=~_2f>rqA_5N{ z%3ILG4xMML{Y}h|ItRRDQOl6bMQAE4&@fl~@e*6TfPq!}64H3819P*i$`k*@SzZU_ zt3Tc^lV2nB+%t{)VJ-SsEjGYNGZp>;ruxRUOjUYhe6~(%@lM_}E0QLug>?i{{2m6) zvT(Y%G~fp2&5)Wn&G>}R$2-T<9!yC8dD@9K`p5lq95zUW)&qpWdAfZp&l%6W|#`x~+h22`w_OgZoHC>F8z8 zbiE)!FAP(z%zMkHO2+TPQJ-6am@Y&yJZ??&$Y=s|^GO_= z@GXBh78g|C9jICp@!HC@pvbsZ)wsMENm_IJhikYFMFmjSlQ^ALCf|)eg+{Mz=bc-$MZ_Xz#Mf>O#kT<~XFruXJ==yUT9Z7bi|LuSnUL5a+eEV|LCxK~ zII^H;00Oy=?8YjHS|%>jDL69#C&;I{a3W4uR zbuLbuP+piWUYALs6Ega~?r!>WCK%UzDE6r3y~-abnUGUo@JMk*Xf;66dH3@)LxBf* zpmO=(69ZTNO3y_zz;T*dP0%#Al`!PG#OA++)xVG7RA>+YMt~p6FpMpEvONqnQ({W{ zg#H|p(oA9Rgw(kqrn#&-WHEG#d?!{Jf`zcbJ0l~1t~Sw+&!UJuLWn1Y$x+q0qnIR= ztiD<5K)2Mvt*YX5T{LKyJd{J_(d0;vcvy@`b<;I}I@2U#XKF7ckClY&onyRG%T!|7 zf(+AU;>-&S-CELGxJfOmIBeL<^qmsV&0V$G2oo{u_u}KyMW8WkH;t5#9Zi@I8R_ZF z0vRW(!~EL*AtA7*<$0=53#6K3`30})NFlY}ELazZfIF!z!g;zYUz&B@I;XyNH2~xT zFb5DQd0`g|3i=5{o6adgXgZdmY&gZ~ZZL~9A4qLj?xR~~5pQ2+P>H_(n|Zx)gYH9f z%`ep<7ugRv6SRJ9x{P&72fq4r?;d({}2e@D9xl-d=nXsrR%nmQ+rt!O{ERQ_&spBP1@R^A@;El$V%UEJt_u)#?rfi z#~QJmfW z{JNk8$OuBko0NZc)d-#zu2on4s>mO1p7*DD4A`aj8*#yTz9Wd7}(YC$Mqu$57iDjb2G$9 zG$Y3i!J9mi_gdD!ub3$_@qio2Em%P?Zpvp==z$zwK;IL)E3|K{V^S`ych@qKlf#%* z!g-OKw-m}zw%s#{i5Jz*2NL@=pY%5Q=N+75*if(x<3Pv) zN7iS_piLtCX(JRAmHh+|1&my_#rzk6;3MT6zYPpC&aj(FA|0wt+U&rlOpRPoWLnG* z$@zW3opi=9GCi^l_yz})Uj|T3I)1ZdbIVCF^vijXT71^8`3zN=iPJqj0st>xB_o@1LY%5=w_Re%a~>|hbxin`<=X34k1%qvMbT;Ue4^e7sxG0Y^0Xvs zb&qV?=}bx}G|-(wF(ATdn(WXYq6-Y4E@^*g2nv@ zuowZhKf|^Ngi@`eB@ymsvxH?-)Yduuf3EQt%(+R11FK-#8>Z_72*cINX?$3?O0IgO z@RpxCxrz(0&BE{Dlq;>R#c&}Nf7RU&0E0T#4A-(t26_%;X*8;qLe6_2VI_mW==*sS z4Jx>_xgi{;(7uEw8|k1Lw6#xL`M+xUBokOT(aAouUB1NL<_rB=MOCuOZJPe>1B*TWNjSudcc3`pv2;sq*BfL{)MHXl1J+VOU?|~HTw6l=Ln$7-l z@=fVc+r6y{Q9J8Z0qGU2FHW*GxYIXKc?=zJJHdz!WUWmEVz7(d7O`hMS&k1Wmy(d@ z#wv<&B0<|>k2BW~Q>T9d1e?>GY&mDo$464(ff&>n1mmNqGD=#;ER@$aE00 zb}IV_uaamTF=VMvj!T5tr?_ncV5C#nw#d9sY@vqsuvqT<+G64zFJd+~q#8xA=fQIkuY2k&S$YK%hc9r!)wx)s2?kbA#HEE&UViQai!c;W z;F#r8>wyCM`;rjd2Fqh6&$aY_DAPk@wUQ>DI6uQ2`whR>0w%FdxXyH|Z4Xv9-JOv5 z<1PJa%-~YoZ@?$_#uTY+;T6CTd|kp({vY<J+qP}n zPIhcNCsp0mUC-(2I)9(PFYETZ_^#$N)|~5Ia|{&0h_))$Pg~JW!(k&w#!Lv)q=%su z%|4+@zY4LW$kkSuYp5-~+L>>@=F|q@CKZ@CubEmO%o0|K_LRNr)cD`WA*sg7k?N1M ze_vb=jFY&-yl6d@&P)GN4%RS_*)9D4VsQa62mnc>KFwvlL#VF5ddQ!dm(a9yQ_hjQ zfIo+N!uJ*kOs3EF5obthuZlQ@b%0+|p(`~~WlX8HV3a8sl?iR>&eZP6Q(B#7-98M5 z+IaX$e(;r-z}^r`n%XruC7i+i2o(l=44H_k7zzrV{%H9qsRwmH18EC=54;s?^0}=)?AT33ORj=nDnR2Fm(}7x?rP& ztOEiS5V9!L@#E znH{omQY$tX0y%#lYwX!cWVjKdAxJ)LCYLoZEM{X@`}Nkj%1zDFl}`uAL8zJ>{~OyfKZO|DU73n6{g5ZcdEtGI6x7AnbHiNxXt>tr+{ z>=63nOpw#0?ABg~VL$YJ`)Gtzr~GN;VLQ97BANyIAR2vlPUlIRzCrzwX(qm+2zOQ@ z1-)jH3D>ZM*v$`MeeN+&8*X6AwT|^aPO<-cEY7_S0icCpAoW)xvCo94a*2SG7lNQg0^ULNx0}LNA0}DTiI%dzrG0a zbrmUz&lie`!a&P}rAx-}^Dz*6CEp}PPQ)qv1n;nd`QU7-*p;Jc!D`A#gx$Vhwf~UX z>s=7=3fw6UCoPuA6GQ#1x0xHcM}Zv3EUX6Mh$4eO8x}8jg(sW-1n{nO5Kwe*(_gUQ z#@QBY<6HY%WmCX?P>S(bXta)fZ`EU&HXLx1!;}`UZ}|{@hz5O)fCz=)#*uJmZD_U` zpy>@z{NWP<6-DbbE7~PP=CAF*{&reOq5JoxMW@XX>+PHu1#Ag?lNdsNljZ4b&!cmf zdmLvp9%D=VcLDWeaE*6~Q@Y9DB!P`PttE&C z#j3T2BqgHiN}4gG1QmQH+!^%vV#EBG#&dIjJLRg|bTacPcciaKL@WaO>taAk9-TbIG*nQYXB+tWX3A`x zlk!s>*}GPwZw!Kjx7fAuP;uNJ2fo}-!iQDV!qRW=#Lq{SZU)0*#v`ixuXVb2LiM^P zqF(f=c2G+hBoeezN-9lT*jP#LJ~vjDDIhilGRCXpK*x$6Cf7og*A&K7%86! zz>v?z?4nxV{OiSCVBjqS19FM5J6HJF6Qf5A01|hED$ehNcU}fcAbb_MFTzS+vqrX# z-GR~(&RWHWu}9%${~#QeV!Zkj7e)!5N*lW&SHlN|Y;ZAT@6k`) z@DQ@|iGzvaraRwcKtFY<8r6=8Td#XL1ty8*xjTH^vnzi@T8@+f&KD*@bg)hIbU_6V zMGa%pq)#YhIhp&9A5n7TAkw=4ym?Xd30F7%7LZ;QMJseTP`V%#lVu9Nww0H~YJ+uCY_cP8 zaN2k$|9RwG;y!S2BZovqyR%8iw-1VHhp7=WCgs;?Fv{Q^i6w?v5uG=|T~m00preWT zl<{;I?pePtk6Uxj3B7$=UM*X5Zsf(yvZ2OR0bnCx-`%dUh$2uanNd92$T)k$#qkc+Q4y|`fAiN3TL0HHS^Jasp?$Xnz6k@e{!5m|1xNmO=H~|j z3FY2(nF$BgHQHl`U~aIEB>%cmIh*b8z!RDSYs^B0bRzo)@fNc-``8C`s{)SvW%5KGUS$*eObfWn<$uQec`tX6|V?e37`T7Bn2t5iK zFA#<+9+LxkzP%|2S{xVC#6ZOfwj}>lsZryvbW@WdDuEYr7)rFoR^c@aNX$~a5^B~b z_Njzw9G$xWzTGhyZS*a4eTzXqpI(Wjedp?p$ER~!rUwA(;S3ppKnVCR?um*;%5@=} zHT-oHf16E^6pVRKbr%cbvsZOa{X@xwh&Qjf#Y)OsJ>iiFN*_LTx!-~tVr)|deYb~K zbmqd!2$?|Dy25n`QZg9Fh}ORR8y*p?tZm}R3|If>EbcZN{u7J&3M8B-6X8_+^K&{` zo}!Hj9alxBUnt}hf0dGbHjs^cPX)_^GBEY{0iF?NTjWJIJuTj3-wM8hxxyd%+mbc? zJada`oHE*@Smu~=UUk-_tqhPy%)+s2Juv0Y^-7`fw^g>XWimLu`xp|eSL6YkP7e0> zUC~j%hKtas^J768bJsh`l5fTpI#}9Ll#apdPoA^k8^oMJY)E@noa5NQmOW?ZY9>l$1Mk=p+-7I@D zOF4+W3|?$MHZyI?N>m{Xy0Y@Y zNx#6^59jiqtp)gmalLuQMTKYJ3kN&Ry=^&~st~S9Tn-4C?eG5x0wmS(cbTdtv4G~y zktS<;(=Lnh_?qyf1K@Ka;MRQrv#Gj&>(xK(*QTQ>sFmhxrI~v!f?(X91lMVML}Ln@ zKQ5LAx@6k?c#a@g!^1Z_M~XZ??mOz}W~o*%E`Nj5Sp<-_FK*DaniNrhQ>PcA6Bah~!oh3cSD$EGKO05v>rZ zKy4M7)U-VxNpOAEkac1g_la#*$KpSnh;slqF^%;L_KHH!Ys@+|wmd43!TIGWydWd0KvtUrVpkXsFvuuY!&dnvhRgOkYz^djqN@Ya3c_uzLG!Q zc8#BpF$Q33m9x0I30Gjhv>xX^dEJ+8V9RR1(v<1YcA~K54~&c1AJ_W%*AlJ+$wNk+`dP6dgty?Z2_ff zfd`s4T>@x)1?_>s)mE%%-=HEOKw<2K_n=u=PyWjl0TUEO;{6$TR`mh4NOiUqfE6{L!!PMv>?bB5= zl@c!Gi9%^R=RA)m#v;>&D1MfB)DTHi59RH{uvLalDk9P496E%1(EV+inY_+>qpN7_ z3Q4Z$t%wV(cgOFD;0&8@(cHl%AypWQux1SLU1}SnWf>^k;K?{3TF1zXue$Ht_{?F& zNfu9=j(;(9U-Cq6hh)K#$zwotiPxMk1VLJIgYcip`@kAsDv2topj-8_*l|aQm)GJT z==FV;rofMzT7!4C)G1_R?)A^0wJN`9l1iT^46X{`mUgWsNpvEQO~VWX#KClRt2dJu zB_YyGMT+y(6TPynyB*Du37ljvQ3*5QAwWaO<>86r5<+TM{in+6hs90&uPn~x7y)1) zhjWU6Lah4bgVbE^e8o3Nsu-nCMt{f&y_Y?~< zi`#pG!UnwmjO(J?u_P?w=-E|e{AfbLeQ`PNSb>?2z5I2(el&Zl0?@*=@EovZP>P4PKL0Fwxwx3pvws z3mccSF9x;a>d6%)uB9!}ju(#(4o(k`YTM!db8jwc3QqH_g4`MjkXF}><2fG-JKK5M zX&;0u9Xx0gnJME=5IyzP{c@4wm2l(*ZyrKC^v3hv5o`;S%r3>H|L>VDhcPvE7(xRQ zN@2(JMzR$g6)}my;F!;iksCy=D&t8BL1RIK6Xq&je1|3*I8RD34JWblXo`tRMKO_< zc~wv5*qFqgMwGxcEOd7t_nG7Q507glQ9N@Lu?rDP`S>~hCoTj!h6sm$s;qukobvy= z5?A!II3lYBgRHrp!p;~^`5V^T6XvsZR^rh7VBXo0{j=u*dN!J|>GpBDa$HFY3YRAb z>b23pm+2Pw!X5{MTn!m7vzbl~D&LcI8|-P-3_|X&>SKmj^r*dVddN(DjR34sT7-{) zm)=IC5I_I)n4@s36p#W^i*8TpY5i-L)+=5(0RLzfe~R9@fA}@)wdSE0EnSqhtf-Ep ztM=5B_k6x))SOx%za4((#Qb;d?f90FOjovECEa25zdK0EQL= zOkln}6F-;eI8FClt^;=TgtI_r9IK0}rr27%M-U41$$#3*JF8_g9{& zE%(#UhFV1JI-Z{aZqw#GG$wMX7SX_A;(%y6G}{49=B6(>ETT?-(E-soVtw-CIjD@NOIit zZcSO0`*z7j6qLOyFOmrgC>Hla4SpptF;*d4Lu8ht#Y(@(xtRkH!+s=A(*=Cb+pPr^ z<42PRVz~Cj+_H%_r_$mO(LY?nR5C5%ehU?o1%{-kCY!4RjP9gXe5`I0K zSLBk?)GG)2Wq>_wXDBj-Ga-|L)WC{#FS5DOR{JI^o;qSWJRFMX*a7di%^MZ35DR?1 zOMw1 zO$qfz@+5bmtKccr`gv6-VW>>D%}7}{Tt*D}$UEb>UtMZ(gSD4$3zm5lb;}R202}U| zTgoyk8-o&1{1Ay1yZT9;SV6)GF=$P*)NAFVfw?c8#>7|ahRr&}(UE(?@HyTLq^SHV ziX;5o?FcNS)l0HbBG3KsX1#P@ki1A`qo1YC?1J8vTpM;r6I@%#lhQBNyd6vmq#T;C+(nTq%I6LJWN0&IxW$ppk80lVe)pJj--+D$LV)N zmvWN+rXNohy5_6{;~vnEC^jT)9t{tqvd?()8uM$t5WOk_{*wbqY~Wrac-EZ#=JeBJ z2E-$F9FC)wlOOJO9|4MU6*64DCmi&oU%>+Y@BGg2y$W>vM$IJ_Ug>6C`rJxw!@A!1 zm{s&LYUWR>=d@*Q-WEE?+cZls^FYC-V>+cmBM9Q{)~gBa+h5G|{~yaBck} z5^r3?=pb4!)V?|$a4Dd`@MUqB(_`+Pss}~fE&u)GPz6p-3p@vPBs4fcO?RXQI7(t}IUFa}tr5FIO8!lpJs*nejVC-{54qoAff) zuFx>bWcCQKK^TG#Bw_W6(npE;zp3!=f<~u3gX1XW@6{9JJN<=o0o>A-1Xx>&ckYD^ ze~SonX~jyf61pRBySisEeDQaxoi!?^>F)C$*(S*S`=XIHHEAir2sz?vg`((xvlsiBHM~PsAj*+ zD#DO{YMe2XmJaieTFki&xxygq}?=`MA%QLr%=P5cNDn&U0SVLLpzQ}l~* z5l7Sqb!-#2wKiL#ntI()ld3pTk)Fe4;gqLe;~H{@QFhj}I;an8#z+=Tv&^zEz;>4f zllZ*E`#2woiyN4t{SwaeLsAUAFS-qxrg9}EI3fItVD+@ef!*RjWI&mm!(9lkMmjQe zzXAuUPloncOm&b%*b-t2&JtfUEaK+7jd@uBE*FT}s1ja0JXKH{B&@04D+RtiF2U+n zd5q^sos#RrVX4q5x5^m5H5pXX)J~-HQr*!vf@_RBEX92RQ>(^&4VEOt?jF75Dajx4 z%KelO*sp!R83z0AsmPF|8l5gi-G^5In#?| zzj^@#soRG~NM;-EVPVK)g+}0WKcFV|jcmD1BFm-JEynXZadJ&>(jN^x%5UZZK@6xLf$z8E=C#D zC~#r{Qcy^hGWlSqwsv9Mpur?{h)pW)-FdeCPMloO8*KC;#_NIZf1G0f_i!BBF8mk1 z3?G4cTX$SRMFjgs28g!5u4g2k*)QXBDaUxvBFA0`GW+&-JKw~c4l~MGRLbL6bgU!* z!nMH93`)7#NddOS=qhM_)#y=2si!%xAiRD@+edr*;Mh za@uOilQdkHwt5K|<@$%0lkxZ*LKb}n6c*VWTN(cPPt^ch6Xe*jcq`6I=qZ88snp*w zG`Z{tZ&ZO(V9h+kEn}#;*L2pqFsl_Fg*k&#P;htj>a-aP4)M{g{(o6Xh+yWlg>oq5 z3;YjEv{Jwbu;>(rk%aQ%6YgrbP>2<|V)ZId8<)Z}z2rEXUPB!wOG4<&sb>BhU{E0? zDAIm4D5e!>Cpa#92>~FG zmydG883YAl;<*q)_K}2jnA!&ZfRQeMz6;!=$X$aDrsq0{+cZ}}3YNN&4v(obBimnI z#}ER+pR8b9MKO~CsQwBrS3RC~Mp0+BKqIljmgZtrYW8$YtUjCEU8>CcZsz!G*Vah0 z;Eol4*nIs8{9fQG#Iz2ao^2^I^XWH@45GYQiV+y|U3v2&+*f^Svq0ZLirWiC-I8qN zgK_>6@_A{5#CUX_JyOd6$duNx;Y}-y)0sawuX~^ixAc!KT5#Up7@R zCQYBn>iv8ysxzle2Shx7z=}^Ody810pz|ZV3enkHrLoR$S(Tc`9H`TIu$h-w`cu>-?#37>J(j)0gdKo;wlDM=m3u|Xn`ulWT=*oPTXyPW z$tEUt<|LF$Pw1TJr3|R9EvH7}qJGbz`c1o32%e!d-cVX%s6>$&)t#T;M(MPGsB-Uh zJ-z+#NBl3f>&!AhBu!}-WWjbze^9#MO2=q(zwQQ%=}=s+lls7(i$Bj15AIu7*mr^{ zt!lVWUl9b1B`ejiAFq%Fj8Jj03*Yk@DYto zQF6as0G?Wl)bJ6I6!mUbGl_4Ze?5{4tCFM#zZX{IV(lurjVp*}0^QGCVhuUi-&$UX z{%k7t6x8`08Yno`QNzjrK7NxZwYCC@W)Qw9<}Z{QN7#-&C(-OeIkqd2BZxgBofSBsXXqO8E-C=V(^WJPxA2>w# z;CpUV{(z>Q$nISF6Yfwpiz?2k>cMvHw505r!1-mmIHc&kdz>TQY?)KG*m!)^aKtw> z-_HmPKru@>n?{e=x2GT5+jjA{&4*xl*WEf)Kcx^0v?l{AwBlpl7#Ie*PxsH8dder>c%M7}BG$!W+!bhMIW1kz|J#5!B98=WzP6WSDP z#Y|`^s0EVOS;OIQSz9{uST_%@p#5xds>!UL?X%Fu9BY(hG-0RJI>zxMa+ikWxh5e*kV8f+CdBq$g_vs?8faZSR@*7>Sn$Tf~O2WY?A! zfr#{{#7k613feN#5E=p2a)Nt!gLCDSWVEu?+qtk2ozxb33lXaCO%%}A>&kI=Sl6%R z$3G5dhh_gfN0sIf)2EfrgIyo;Zf;p+uYObDeVY76?n86xAjXe2PEKyyLvhA9ASoC9 zBpvI|Bh-No5apejWgv##O0KN#aF7d_gX(L0n0W;haIaoK1XTky0-C(md^deWUK_HE z|3iP1yN-9#5E&>N(#rlY1AMkL1MC5+m92zDtltU}VG4kT#fw7R62UApi!Ed$aRp4xm<9>`-uT z#oZp6_l2y$oD3wnXNW_YX^xki^?mn1s^Fa@#%@aJ6qsEq9 zf>nzOlZb9+Z`Gxtymh~Fo1wg!gs@WSFViaZnTT7t>yD#bvpzmnMp3Q9?WRXn>`yIkAZ1=~~QhZ5ptaSRE8va4c5k16Ml z2$;=o8g*prmQ!V@I4BTABT->a1T*#KKgmfiFnj^bP z(rh5*d4;1JIEuI@6>@2KcqF)dyp}noC#?ct>cOtll?sfr%3=a`lKfuL+y;vUEuYuo zuc|eTLghm##!hd9*V%DVUIYM*gG}qI3NP^eECfH~@!^Q|CiTkFc3dwXaS0u~z$5J8 zzfuTsy6+BIL1ttMMbbiK{FAwNr^gNano82f9R)$L;lY9B{@&9ndOd^`XuMU<=O_5` zTy5xQOF&|Gw0ik)Y5sha;dN^Yc~HucYPk>G1kzz8K`gtcOvc`8$lbh4(P+q3My{rF z&~CXvM51U3ki+n}@g`#i-n^G2)J{-wV4|Mpk=|YM8@ZQ`!XOABLrbO+i2=d7hl)`~ z@Rzs$Be!6HL8o&j=0PELoA_|gZlyNAogz;C!Tk$KI&V!4lB1Xt*!MiHZM!eH!0?~T zr#%e=j{EPSKgoG%H1Ksv`D8l@VmB_N7m&2B<^YsV*mhY}@~`BQf;&88pg(u5)1lAT zjnr~TV9$S&y)QI7h5xCt`j1!R_Cn#m`TJHIm9WH|N3Vi!?u`t_IYz3e6l>LpHO;Z| z`nxZRoDI~QJB*^Y2$Dg7UuiXJsk>xzv)Hl_R`0bQpPehX1S__0e*-4%FxtJe9Ic*Q zYM@dAz;=IL5eW6MUyNqVE@89O6Uy5v&1!Ut#m(ZmiYH#ET3q6$4J)YHUdsxtd3L0`UxqsFg`5v8CV?;1i&bKj@! zGZ8lF#-q?3K_TAc6fqC`ZVwTce|ixgMHnqE%_TYakgmg4^&iMcP$dx=s`lW}rhU=(%$ z0yYdiE(GmW+>Hz`Y-EpFQP`%}@px370^k@;o_WM(UI41V__L8i^dvpbByyvHVcCn` zU%$0D69G`5Z&ER}{Aj*P;Q4IzqP)Q1#kV{Cj`sQ1ot%o8Q%LrJ8R%JH=8gq%b^X^X zW1w#|%G9vN9{fv3)IV-gN8dp$*R}z-Ecq~k_ZnRdn6~N3z&|6}*%L_#X0$9fiNl3G z$Z4(uTcakbfPdz07}pGX-nP=*lxwL**AB3Ap7vEnQl3-IKlI&5B5=fVujX>j$rzCH zxJ{MH`FGk{0)`tB(5&_LQ8B&+`ehxztwE` z$AVeJ6O?PnMqE@W8KFCRvx^O{lvv|wewU9Ywl_|8N?)YA7$(Qfmss8B8Vcj45mmV- zoH~$LtFaR&15jC;!CD$)IRsyQ;sTOTB*(;u4O4;%=)_jk)kCm;bN;E?XBSB@@LD2+ ze@7C|uU0_NASf`+w9TzgUP`vQY@2X}^%TbLq}~(DH|P=cIJUT-v^l6Y>C7{40KB(l zVolFVcoRAlb$nMmzrOQV{|^`ATEsAsWb!+%i1v@C^y++sg9vOP>ykGh(b zG9lBbNKadrhS>!!)1C?GslNDQZiAaJ#u2uzecNa{3x2V*;Cs8dKkD`jD9g$_jU-t?_jfVt#Po@Mo6F5tOgD*&DHCPCl*XE&4V z*^%uTBW%Pefm#LvOo0+r_AV)JzqhU5YLD@CVtLbGrp6Zpkhno&y_P8M&NMt@$XF9E z`WUX}?fXwsVt?G?g|U6}W83D-6ZATh1CK@7R)*UfSLfbwv%0_Qgo%JAztGm9MfYYK zJ{n;O?Dzyh+)7RqXE#2%cy4HCty0Nyv}!nBPHEnz9fQL9ce?kz-}a1&)y2;AGu_r< zudm_2Sp(>A0!3yc`~GvkR-t)hZB$!4q6?rRtSeijz+7OLW)V#2c(k^ENw;-ey#7hI zZJl&5iLW(s?o~(J!Vb$Nkm=U*A7n`9=~>xhXqw#?)s7cl@)>;`*0($aoz&GwfsEe$ zJ)WnRY!NaTY~R-QM%m31zQr%3X~~A zih*=M8hgnNf5hwA^Hh43cAqmg531^s%G4|{BI*~4y*T=7BVY24V8Rtdd?pS3%X2WN zQ?(o=F52O>hC?9+QiJJYYtyd@nM%7PhHutF=9s4V`Y8yDb#0f!ub043E{KU2P@?F_ ziUa5<wF0yyUoWm755&yP#R>o-$#Bpg`7weu5_0bdRBA`Y3xW-STB9 zYLclgp^)nXBJUu+Oc6_NqFu!xm?M`_I&^RxlR>Cr2%$h|KV%Sg=|P7q6YX^$kT^{f zqJ;L)Q+mCjeUrm!b_C7{H#2NUm=+&K#@JS#>JSVwnwHmife=v8&4&SXYx9%6DQ7^O z71~yE+N~nMpebDm@kxleg;Cn1G*O(1yu29AO65y(>8^DZygqy+hc_=~D33%bs@(Mq zK3HIA8~%QO_J6Owp~sf)hNGou|R}5ur}D_sTx}3t7)IO#hm08xF(` z^6Mu?fD{M|=6|atKTD1oppcLY)YSi8PK4cl>~Dlri$YfXGfHjPQ0xdkT?BEg+n6T- zqS_=CUxDPm_?2PNFV$Z{YJeV|C@PRQA&Hnd*{-WL^pC}G8*1(NVi5J2TZM9OQ>}2) zHJ9kUpxabH@jMx`j5W%rzl(0dzg{A6vv%SnU;KizSK7(Akz(`tw>{#E@;d(>1jlX4 zha|i6Z@gy}2LuNdy0r`#fUt>Z&X9b#uX`?GfWe+L-$_8A!W$5L+Dy|czt<4FsjSFT zv#BNR-873D{ z0!4u_YoAp>(!q__d^bsQPPG}j;q)T}j1_H<@JviIG*PNuu=n|wZX3r?Kc{_H1{k?N z;(PouV#xCK=GVsOleMHUvC0Z85%GH87e}{DzUb|E(JHy`=U9tQ9_$O&-z5@>yuJj% zGbDS7zX}0sQ^vd8tAGHWcG??pNlJ75Iax2@dx*aNp1_zbl?YuD%JMz)>!g`QblQxy z*v`~Q`Y6bFCWh)_;1(6{SHw`_}TR? zKaRJLD0JQ3%M?M8%?MX6n)0)~+YT3SDg~yIHPlm{3y!WRm$}G=@nmmEN#Q0oC)&gN z%r|^+ec9S+26`RE2{OZ^-C^xbuXKNJkY$GWmhJ+Q+LT4*U0Qc?We=@W&SliEshf=8 zUt-cTe7140sSvQf(75Q@n-Ut!;uwy+vJ@@;mfmKJvljrNM)}Wu;%f`W0HAIk5GB9o&g(}y zkg-!x_Zp8%Q3x6o^Ww!Z%`KxmtA?9xNUshjk$zlUM zc0X}=J;VLDRqP7B_A2LRSavY!kIuW2WVlU0xYU4pE`Fc3I5uSDifL8P=``JFV4gMX z!HB2Ew1!Ydl^DShn67zkqkJbw*{n0EyM?AGmZHfku5F5?j5`ZWm%=`FBu|RU-h+v* zFDTX*EpvZ$oasav~Y zDakU#?os>Ot{BCa1pW+Uc0X*5O>)ULj!AA4A-9DpnZp?7+d?SD)J22toqxc7w64K% zhDyH3(8C6rTJ09(eF`}>c#J1UE;aqI=aGf1LzjQ%dmZv0DxaTDCi|z^acipi_vK?W z2>&g`$aqv4VD_C)eeSq@s1G+)2|pCa+&^yW9BC!=w`C4sA-)q7PauafQ^FFh@?D6- z$$3A}>@Jf{m*0MxgPR4O0#1%FC*TCJHJR@9_-Uu&DeE)dsnpN{ z-PgWQa{=H!li_&@i$XemOO@L5cGCo?EwX>I6S5_Mj1~gG9mT~p?BJc-P&_B7<6>mH z)mK;vG2dUTat@4QszO1KJH3?0?w>jR8GZ_dWds=@08?T!$#c6)cgLR09J0oEyEZVu131CLx&_@-7rF9K=P0m3dZg>IJ1_ z4+cAM`>U$>72AS5GcHvly0y=nTp-s~ABziY4~iPrO`Zu00=I3@!y@`ISxIz;P^C6}zB6E>%u}slB`3NcCi14If$cya5q2T61try!* zCm*D(XrC){DcQcJ#BDP60Q^((rjml$4i-s1D!tJed=#i{%0i{2)&rp7L%Y;yD61tp zT*5twzN$^1!)aUFhVO+?rYD>OYkeEjmyJE4Q>qDz8mshJ-teUS;ciQ1Z;W{F7z-D*c$_R;B{wfGG?FNL}8X2?W@Vl zMJ|&k*Bs&a0#+z0iPv99m5Hq#Fc3n*s6lQ<$$P|* zoaSbKFQW4kezU@%O30IjRMOR0Vd}IHc$^z?faRpNKNl$~l|whj_6tWYrnr+v#r6)jac`{(lQk`jw%0 z*mSLmyyPRW_|4`YGkUDBNt*>AZ;v*zBc=1Elle6}G1oh|n(Vm@x_9WCIhuP<{@}+P zPmtKUpwR+Rp6aEHq8Ph||NOZHhpT;51-YqTaKBZy@tjFwOD}|YlO&YD`kfEcfZjs^ z1}0=mVtRh48bb9YgJ|jnMBDPhRgR}WMB(7iKDt3gMs(2GfmL~`KcInJS zFK4|EM<);NjjAlJ5hJ>i@$zts-S71I9ehoY^oMR?vNkWH{MHW}=a!*qa;Lqb87wWB zn=8;c0{v-eoe7Em*35u7 z{97{v^q(~|q5s;<7y|M4IpKp~{Pz$gH@d8i1Iv>8#cc^NUG0xP0oQ%QpDbg?#lnA) zoqzjspYf9)F_IkI#r?wGOB`}v?cckdkR%4ZilDSru-49Kbj1{Dqz^7=j$s_Fw1ws` zZC0(?QsOOj;J4}nzn06;Hrf3*k^&zf()wkR%=g5IIoUMhSU1*O1c+Z)r(CBlhi>$$ z7*r@S*eS);(CgiKqK}F{h(=ajcFkcoITg#)DmiP>(I)CeQ?tXsd1=p?a3l5=%!cKU z!n)WJbC>Y?>H4gNG}VN=W5vai&#XLcyHd~jX)~v=O?%kak+X6-Mr=78(~KFvC?$5_ z?;-nYr`9V+ngmMc{YCfL_TXF$Fqsl+Rjx>-Pl*T5n;B2ScFlr1`McNoV4!c0xs zEh8G!yqu@5(sE^=<=L&g(ak5c*?&5i-L-9Q#^Q4qU74 z3QoQ60EOb=5D7-SQ8(|m--&aPiE&K#77SF?0G}pjM-0+AF(uqHM>{)>g3plfvU;gH zaz@$nI&4of3mGlSVmv?+*B5kpo(L*&5T0YmA3w$+FEf)a6ouM@`081{YR4k0w8m*6 zv&<_TQc8deet_#$v*VWu4312uf!}TpE80xzrCa-JTr>cY#c3ea=P_( z|1;fjB;qGht68TExeC|V%J@Q2d6MS-0caNdLP0~ga6yXXkvPg=NG4(H%**VFRlGX}D%OGYE7nurP zrKX;Yxjq1E{xxnWRpbrT67{obMCP+Z;Jy`*;ggNFA!E1ZV8wL{tD6$JXm7wbm-Zz) z(VlnRhU3R`7QGIE87NW?`#z8+DcT`dx~Cp*5J!Uh1J${kV|I?nIE`r~b^X|ykLxZb zq+?C(_uCM_S9MC;aFcIDg;PY$oyi55EKFvVEk~6pE(H#%X&ux-tgCNSjBmp}^|e+n&>^c0tq1Zzk8PimntxYIbaKYV{i89kke z^JPfAG61bjIV>Sr?e{ywU2oS6K8b@mN=MNf-Nk@AbBW77Mp9Q0aak<9VGliBC86>& ze8Jyn%NMo@gxwn~VLoY(IRl-}dHi+_Ocg@wY9tpIo$>b^9Koh3?*|v>LQ(H^`-ix| z!v7J``L`B0oBh8;=f6bfpA(&nlpoRQ1mvDb=eCtf8b`bB5}2RGsG zeg)4j5bHr;opH)>jLDo8V8?3~w}Vp(Tg8nFi}cvKExj;_)n?Z2_$_lr^QOWGslPHK zp7v$mdu0*42C$Kqiz;M$btb`>FIab;4~Q)u<7|O6IiN(|5sic5sd?P-9zIN7&fqT61&n->Nmo<@h?k;7Che**Cbe~NK%?q4ckrFXMJg8)Ajjho zHfz8tgH7OLf?aqLZ& zIiHQ3=g)vASV%P_Z^$Zg+@rGd1PErZ3F6_%(0KbzsAcA&Mb0uwmebX>&bF^e6$<&W zS=p5AmjQlZsbcu(_#e}OK73yLqc94xYJ#;CgKdzCuMmR|-ct8w;yfh)+QNez`p70E zmweIUbIx)cqSWR$+<_LYh{uW^hC^fE7MS_cagoNlv}kQPiFt^U%rQ#^W~@LCkOjfN z#^x2m7q6>L%}(S>K$_ZA=-6Y<+9=?6c<7v!6r523f$IHRCK$U-Tc1JTLnpc@wQVn2 z(2}03Cs<5a+wL5VR zwfZdt4jIrq7cA~&?c4InOOa-Fnqf{eak&^CoOj<9%!0s-?eLJq0$pxzOoV?aQU$>2M(pha9aDf zQt_bxV4pxqK)>act|-SzAjvgjCnY{*mF)8JOG0STh@}@fVD^poA=`I?K^Yk8;JUa{ zlbY~e707HOXs${qH-JjtTugV4O6M$ovot0;f)_-t6t8SThqyOR)T7g|8FwwPYU8~3 z@T-Cj#VU0W`&CMZC9Dvb0f*U}&`FnHyq%~&;@`OVZ>fJVhno{pCiO==4@9T}v8FE2G$ z#uYon2Y9tTeVH_c`BIvb6d%b?G<<~`FuM3Q;fSH1*?z3snnh?hPloY3ZzrVfv z!wml|LiJk>k=vm>_x>Jvf4K8%&(>q*siq5sS@888;xIQ-^w$O7lcnkM7~hh+%Ki@i z@l?ji-QpRJvhAm8k3Ai>__dCq8DG(XJL>D>pWfXQ08h{(lVrL9<_k9ILb@7iO-;OU z|9n{neT2XIEl#)7G)R!2sF6m;_#I)+{8`eAvUtQQszUc$L``UE?Dw-{$xZ7X0CRA&SJ?G z353>a>1oCi?RJWWi^Y{%!+I)}<3U!uSeG>984o_r6f8c|8p)k0-rf};1DPqdqK0(Y|X@j)D=pgaoP*W73v5O)P@k@4L>Bqu4!RNP30ov1x|%2 zS^sF91KgX7oCvVg-(b}YhLv=A`#bR=DK$@IkJr67tRdHw!unb-wp!=zuYn8=r0_57 zj|TUa1FN=fB-mpve>m#>sE`_QiR~fI_*#sSen5^rH<~4sw62FQU%*z+Tlgtjr(6Ub zIiKIN1GxTl`f|8h@cfL1k<7RHYFYKh6B63{K!rY4QLD_<; literal 0 HcmV?d00001 diff --git a/neox.key b/neox.key new file mode 100644 index 0000000000000000000000000000000000000000..f28c9f2191cc3f1673d6c5817494ccc11cde246b GIT binary patch literal 809 zcmbPX%#xNnW40KlHX9=g<1Kf7Mn-mr2y?c3MW^h#xsn5{c^LeXTzl`xwy*9?T+>u& zRv8eczD2_^r6@BsPeDB|HNQe#!70DAC^xY*r$oU9B;b&!o0FQXmtT}_*D;MnSd4?g zPE3*Ik&W8Yd+(0^nsfJRRrnsY#TkWS-&mQ_a_8J`NxsGFIkmI=imM6@_#w^;>FZk@++ApxIC1OegB?o2ez0q3n<@e&ntZD`L8AS zrx#b`#V#w^e<6HLuGE86lO7pw{f;^o31EDv;c@Pa*-X+3koZ7$bl)C^|Dlc*&C4f* z#VT5vXMMi?>_6Xh6}es>V;-|?&c?l8t&TDLvzo~)#AV-AzwF6(Y0I)bN(&BM{T7*% z&8^{n&`T{bn{kH)IJpUNfs@670-e0DdD%>XFt#E+l{vxr5AJQ04*CiY> rm+E5pUuST&=jO-0S#2VZ-V3?(q;Z^G`r_95^*$T_=D5`BN^k%Gq;W7h literal 0 HcmV?d00001