From 570e6ea51515b4cbf500234e4343816bdad60618 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=A7=89=20infominer?= Date: Sat, 17 Apr 2021 00:27:57 -0400 Subject: [PATCH] add ursa --- .../hyperledger/2021-04-16-ursa.md | 27 ++++++++++++++++++ images/ursa-head.webp | Bin 0 -> 5124 bytes images/ursa-square.webp | Bin 0 -> 8308 bytes 3 files changed, 27 insertions(+) create mode 100644 _posts/organizations/hyperledger/2021-04-16-ursa.md create mode 100644 images/ursa-head.webp create mode 100644 images/ursa-square.webp diff --git a/_posts/organizations/hyperledger/2021-04-16-ursa.md b/_posts/organizations/hyperledger/2021-04-16-ursa.md new file mode 100644 index 00000000..8de7e253 --- /dev/null +++ b/_posts/organizations/hyperledger/2021-04-16-ursa.md @@ -0,0 +1,27 @@ +--- +date: 2021-04-16 +title: Hyperledger Ursa +description: "A shared cryptographic library that enables projects to avoid duplicating cryptographic work across projects, increasing security in the process." +excerpt: > + Hyperledger Ursa is a shared cryptographic library, it enables implementations to avoid duplicating other cryptographic work and hopefully increase security in the process. The library is an opt-in repository (for Hyperledger and non Hyperledger projects) to place and use crypto. Hyperledger Ursa consists of sub-projects, which are cohesive implementations of cryptographic code or interfaces to cryptographic code. +layout: single +toc: false +permalink: blockchain/hyperledger/ursa/ +canonical_url: 'https://decentralized-id.com/blockchain/hyperledger/ursa/' +categories: ["Hyperledger Foundation"] +tags: ["Ursa","Kiva","Sovrin Foundation","Crypto","ACM","Bitwise","DFINITY","Evernym","Fujitsu","Intel","Linux Foundation","Sovrin Foundation", "State Street"] +last_modified_at: 2021-04-16 +header: + image: /images/ursa-head.webp + teaser: /images/ursa-square.webp +--- + +[Website](https://www.hyperledger.org/use/ursa) • [Wiki](https://wiki.hyperledger.org/display/ursa) • [GitHub](https://github.com/hyperledger/ursa) • [RFCs](https://github.com/hyperledger/ursa-rfcs) • [Docs](hyperledger.org/ursa-docs/) • [Mailing List](https://lists.hyperledger.org/g/ursa) • [Chat](https://chat.hyperledger.org/channel/ursa) + +* [Welcome Hyperledger Ursa!](https://www.hyperledger.org/blog/2018/12/04/welcome-hyperledger-ursa) + > Ursa aims to include things like a comprehensive library of modular signatures and symmetric-key primitives built on top of existing implementations, so blockchain developers can choose and modify their cryptographic schemes with a simple configuration file change. Ursa will also have implementations of newer, fancier cryptography, including things like pairing-based signatures, threshold signatures, and aggregate signatures, and also zero-knowledge primitives like SNARKs. +* [Sovrin contributes to Hyperledger Ursa: A win for cryptography, security, and interoperability](https://sovrin.org/sovrin-contributes-to-hyperledger-ursa-a-win-for-cryptography-security-and-interoperability/) + > Ursa is a library for cryptography and the result of a collaborative effort from teams at ACM, Bitwise, DFINITY, Evernym, Fujitsu, Intel, the Linux Foundation, the Sovrin Foundation, and State Street. Duplication among blockchain project features heightens security risks. Ursa, however, gathers up crypto implementations across projects and compiles them into a single metalibrary, creating a central repository for crypto code. This way, projects can select sources of code from Ursa, instead of the original source, decreasing duplication security risks and boosting interoperability among projects. +* [Kiva Protocol, Built on Hyperledger Indy, Ursa and Aries, Powers Africa’s First Decentralized National ID system](https://www.hyperledger.org/category/hyperledger-ursa) + > Kiva Protocol is built using Hyperledger Indy, Aries, and Ursa, and as implemented in Sierra Leone, allows citizens to perform electronic Know Your Customer (eKYC) verifications in about 11 seconds, using just their national ID number and a fingerprint. With this verification, it is possible for the nation’s unbanked to open a savings account and move into the formally banked population. + diff --git a/images/ursa-head.webp b/images/ursa-head.webp new file mode 100644 index 0000000000000000000000000000000000000000..ace823bc0036009a89fac3c9bc58a1b9cc4fc95a GIT binary patch literal 5124 zcmV+f6#MH^Nk&He6952LMM6+kP&gp)6953vjsTqjDgXq706vjOpi3pQF)AcbSHWqPo-W7YpbCF<<=o;DeFr~GfA9^Uu_JPyz<@%hJ11zU;&c}0J*>f#C z1Mpor;0zMpTuM~|7Hy@3G3$vPc*MX-lDc+TF0dWNcCOsCmG4eNaJ!!BawCfp$S~a0 zt@2@O8kg9)j^{6#=eIx06z|rTzt9De7nsJdu%BqnT>pN21a;%IGEkMvzAx|he%`Yl ziAeHoT>br=UpI(IjmnkEFd~RdeXC;5UizXx89fyIQ>Upw39FCLKqW#X$C!?SS+ii> z3x*GfNjb-*>igSF3(nVxuS!~rRH^-W%r zfsXDt=Mcpv>1nU@Zwh5v(jGzAD;?Rg!BG|(wCDG%tGcloKUZzIzq#XTA$3FCF)cQT zB$JMSrUtNB8&H0oHHSCYHdA*OXZ42YQu1qkpects1;ZR%CQ@M`!#5a`-#Dm&RLc$F z*&}2_+9zEtbiFmOwr=`8y<{pe&PDug z!|WUx(l;EFbF~z64;999ag402$jeqr1#jw|2voJ=s!8+I*AOrEKNFor5pY|hGVe7Q z7t|of7zCe2k5_cLfiBdkJlz!G;I>^RTAe6RT3a(oiQMSa0|ZdK;6#$`FU~LS%5V^Z z{%DG6ZLy-^npl%TL$9g22@>m)gJXD_sQl74fMQW&*wN|oBuHLW>{riZxYGd32tFIA zhi$^7(v)@Nf*y0tC0@o71Q{@>U`;gkzqZsjV;|9+qx{{iWPqH4s(*aI!IGLdhFPrNF$vc5AjMy!{i&ApEnMYs)@3RlA#- z{2xxaPPoLEnM&GzUPF+g6DL~er#*}n4hkn>b zyPN^OFTBA?7Yc2qkJ5p;gfZR87jzGjJnN&knHlq$RelDT1qqvE8Z+vfhqY6hLLc#* zjhv#j|CC)}{)6d=-pwgK+%6pBt@r=H48=H7K(-Dp6)f?Ir0Eas^KFaQAl?_btUuyeoEO#RqyXZ&y7 zp32<}y{hp9O(!FkUWDa}Zsh|=_=k@=x$_4i0d-PwS73WrttE#+KPGe{A7roNLZZ$~ z@18i0;U9m&UxN!jB|YPN=~4eag?q^cZxjdx?9b2cv5PEU-*Bh-R3s}n=F3B%)|#}{ z8;{We-e?Xb;GeGp+Wvx63pb(iESY`)E<=213Qi)={!n=b*+;XR5)6O+upS86q-_^>&|a=PX#1gg61xxqV;hEg?c|Y z0#vXW=+nY=Mdm?51)@FP0dYU;El#oKmPWS#Tr$0a1iRRWM#xm1cQ>twuSAr8Ae(s| zae*AITGm7H9irdmX4i!Ju^ym1gZ%G*L@|Q+THl*IjcY4EW^n(!TPb^!S!K-vIeJSp z)<*2ynik1BtrK{M7UpT#A1!8UTl?XWD>!a|x>BJ#C3o{x$x~hleBJ7l^%5^9;`R5% zY3kJ2nR3UR)!bKncdlX)TucC!f`G#%iaNa6@;_IT?^F}Obd2A;KInOhcXfN9?VxI3 z7m5D2=xIV3+d&jRC3;xyJ3#>GbXnUfj2&~p7QBE{d^DjvLAs1-D-u`~Kr&6Rk&<4* zgTOb-p9YXW9(m*X{!b(u-;_J$4;@q~{R#!WR{^l=E-Ykqnt#)1~=hVUsoiL8M^ z*K5B*98>K|NgFdNxbt#fs5o-~_boD3vX!VKsE9HvW{e2lYHgTM7{JMB3~JLhrBy&- zwKsgrviPM}TvMUff8&0q>9@M<`g=#BI@vbu8t zY5a=P0zfwwa=V0!WXEZcE3}Ul=|YV4k|-Z$^*Lbq6@qh9Z{fy_tPo(yAbRo$xzVJ< z!6Bh8UyoHq65khJXMotzBKG`E?!2Hku)|ZY<@JlZJ1?B#+ZqF*_~~upyyQ+*i|dNr zFO1nk_6A&2?<|^g=_*E|*N6At29PTqoVb0_Bq#mZ9r1Ga76$?-TvVZ)!;ILgWji{a&^Eaik>Vn`fbVVlrIvMwSM#Xkd*vQ z3_b%f2s!Vh@_s#$&hjDoNstp@J^Wa}#Fpcj?(3C9IPKY?$GCSaI)>Doj8M1tH(J9j z!BZ=5-HlgE5Zc1c%@jKnbO5jQ4738b>wUi4z}K6}?S;s_SwMJpux>MZZXL#)SGu@1 zrObKW{rkq#I^YRz_;cgaxvYRJYxS#?i{oYS*sL|Uv%4KR;lg+$jsp;CjAlnp@4BnD zDvk4ux-eV{qIbB?yO$QDHLcZ!s?uHNUz?Z=OmQFe)A9+eH_ZMrtQIbI7uCjK`~Xl) z>>E0gHmt+Bv4)gy)+~oEK&tB-@4n!SKhl9PP_%{ zfKfF(>US5tTP)EP`aOQOgOf3g*HgQpts>SD&sQvo7AhHl9GhJzrFjR`~V7?9F`1 z6A7}#3T^z8%fN#ZtLHP3W|{AG-Ta8MvAo0GEk2SgZ@oDUXYh-?@g2s|$Ay)Bs5^#@p-7<^at!P71ryQ^L58 zM4x2&eg~!?+r~w++uDdyL~H~=Lu`ei%*!48qwm6H5C&WDUYn3WXQcpC$jIaTyT0gcFaMda%DO~hGD7N}Jc0+k_b|Vo5;yf0ahg+GgyiCWx?#LX1 zXyNI(z+Hf=v1U?J03clwPAu#7lj@P05HWPlcw`LUh*!_Igge! zk=1p@U6Vx>T8yU=jG_Z5IFK5PfQSLl-mXbL1pAbI1dXp`L2=uC=a}nPU9tQ|_y!IE zH3F8S=Qy+c>EPT(ui(Fo0QbxSHZu)@)RN#MFFcbrw{*mIwh}#WWeS<}e!>_S<3KC~ zCJ5t#@L`kp``gD{C)c02Q;XYdhyN`=qw2>jjXN8yq}xLgK$BQN^a{ns`Z1be3+cKv z+4`@!iI1V=;h{=V5GPg7uxT+a1w7p_VC1kGk0JEggPF<@wRK(mvD{g7^})w=W%aFv z`hvgZg7pn&QqJfBgRP*S1&(x`7X?cJz(T(2ly?4^4ONYxa8&o~o{3Z{FzdgktIvq) zdhBh`yAIH+s?vVr^fq4;fdupoz9<*c71g0Ps>q$LkcK}&zTuc8XF_$^v_WdN6qHhD z%WD$pN!y2(-&+`S5)(Bp6f0F+TbG@So$|`{_s=ntNpU{Xa3n`_oVRZr@`_ek`>Sws z|EXs6%)c?{{4YFcvjyyunE}jGbuX)$HYY=7S~cRkrPsTNNOo2P0E_4VJ{Z6c%eq=g zBc25Edhq12OtRdb-_ooDLk!$ULDqGrgvl{sMa{na#*LK|=ZAZ(oxof_wm4BgJuWwvz?{EOWYIp(nL7TH&|Vx(`K$$Q6?>4w328<6ZO~ODltt;e|%Gs zO!8eB&yNUWDjc9T9PoXx)LLg?NzE8i3I3U=#J+Uk5=Mh9v?e$np%9R`;Yk!ja0QpZ z&ffVtV$Fy8bRh${Anrpj9U~`6-ZhY@luxOyE5&_APUsCqSnR3x`fUrp^wS|T-X-z% z7@2w^?+tGan+)NLfHBf_HK2(n$Lp<8<4q54e4dcV+$tYif zv0TSL&p}Qu>JvEB>(_CCh`s7P7xe+QXH5Ed)yu4%e6 zrYda+0CvjmE`96WtjiUIvPZKFiFiGv^mhz>72E89o+h2_8}UmpUIQIm-d=5BkQG<{ zr||2(-QJzrOi;$}m{pfAj0&u6Xu|JHQpWZ2O4?-z-~kWIUHPbVNCDYI4zgA|dhj7lgJQ z@3@^01Q@%Hd@W1kv@xYai)-Mb3yR51UH$FRHu?TOw3(tkC|ni$)5`@=v^*tK><{K&ry zMnb2!ro(l-6{H6kKMFi)_h3!O1w_J45cNM(Z{PKq zL2%*5TQ2 z+K@~&*lOxJk2doP`pWRlF4FK*)BiRF!WJ9e3eD-G`Ii9k@_QY?iXcyb)&FcvKfNu5 z6H4erlbE7-B!-yMV!1|Sswb8RijVHR7~KVS7|cq}k*46LPIhrY0o3cYJ{xXZ$P%i?wKutD*&Zi5e&`e= zw=`KsfItXvJZY54Ll4(&B52ejxqFIHQs(I<850QLNz+i(|Uo*>WW?@ip4$&zrS z8*29t!aZVhZ39hAnWiu^qN_;$ca+tw{_Gz`B6q$C5XidpQ1#N(e)8tZu=Z>hHiCX~ z{>$q%q;)?1%Qajxiq(8rjZFjJAfA>nt%Cgf2n1skTcORcEIIp#NmNQ6of|7y{u_Z%15jhFPaTr>e|z*;gV`lhtxMWawX|<68x&geu@yWl z?$8`Gtsh-hP{P+<<2>|HINrQAif_kU`008UX?t=Nxl2QRF@Dcz3Fc*XG z??)xC?_z3dNhRN>zH1s8wzrH1Z=Ic;O_&Tt*KYo#y59fc3@Vt z*cW}X$=nm2Ocqr)aiXH82Z%quC%;Sl?;^-*mv@cap|lyQkdh`3wyjH(Uw5rdgPu(N zG07E1>$<*bSg!j!%5!rh&M_I|HN8f5irQX!d6cpmE)ebGL7dy?muQkB9)F=PUo){{ zhrFBEtS83WVG(JiFZ6B^(&;l3hQc?Ll)+{G7QW33Pfb1U?;R(FEc{~%x;jgvV z9enj~($Kgd>UJIv$EECo-TVm>i$$xRm)SILGilv+LSrlwm7NYYY(E?X_dl1us`B&$*vZ_e!-s`dxLGuN9~kL7xTD*?b%F)BK}ZrhPKzdPF(B=J}Ldy@D_JV^yTc5O2wXV8dhobuKh zFQ4VK5bq)H`nTr79FhvrQ5DTOt+@75nzMPvLanFAKFLV;Cl~rf0sz2+bfe$o<7Qth zQq3%U8RR_AWW65ZKe!~td?D^?hJjcm8gSpS8W0!iC;wRllP%*K9-}WP39l10F-HAVYDB8=-me)|&h0Z(yP8Gh6Uk<)p{KWP) z4G7}eW9YO6t}SZryIylmAf2DIuuQNDz_s&+_Y*Lv`+aF{8vi3Y|H@pWTHrxVJ)jDI ze)@AE(z~sJkl_kYc*^MQ5}->}!hX5utfh51{>cf`z2hs8#LweMe*3h}Bu6vrvaUw6 zKlS)-H_^7=25M*}F~Ot}PN3B!s-Q4lM_Q>Ol1|ozlw#fW-84H!d14438{6~`bZy9< z1fNc|s?5)X_Ok(3ke__6=c;FwR?JH|(7^v?A`2bcIIk3H9POmT$n3v4NgvR5I`udC znLj|RQT`MQoEtoIYXCI(xp~qdz{Jn`(A;mU8*oIuD+_L!tXatIBXX-O>`ltay|{X7 zjP|Kn3w*fo&}<4mi>+2@+gg>-Rr1fQ6nf@H8xGP)^K3PkO~GC-xA5w0$|sE-w}CPX z$VzP}^HT_$_gxf_RoJ8TEM(UU=t%l}Tjfjnx-sxAq`apTd)VoC7*U^C{}!qcbwl~%jY1#tZBwLfBX@r%hWl%&EqlBcXLdzbh( zi2-?$RJv}U`L5KGT+I(p+a#>cXCZ3E%(udpA2TT8Km!j`olC6CV7YfAqZm_g$N`*amq>i9{@{Ob7`50(^B6pYPOB9rEKn}rO}bGm&uOpEIP#n!Z;X`RK1=ama=Lb4ks7TEuoNE3w4fp8~W5wy!Ho z`h|#huUR9Txj1o@+8p+=$W~JXw9?1{pQ-mlXtxTAVw*V!gXeXYpF>|#&%DdV3TOM| zE6RB8=2qrfUvxDfMrdok1T*4yOj=~SB8cGF5yl*!$>{7t4R#D=a=Mi(Dx=BNTKi4| zj$IFNt4=ZD@>5Fl;<>t9#qzUw{vw_zKB7y9WNdOjIry&bp3XD7)+N+d@*_m6fu7RX z^mdqGgIu`T3fjIXz+_ZqbP63CeYvT9q%5>ijF+gVSE^BQxokMh$(v4X7m5OUsxd(& z%gRw34pZZQ>tM<9(is`(#Or1@;3m}7Jncp}dKA4i{;H3!+iA|@cfq|z@cZcfD~S;vVx=rAcFo!C#i8hpAj{v`xtsho!KS#m-__Ae>HmO zXg6*dAauWT2bh1{u}DI%l32KRq4G|RDsBI(JAYS3RA}9ikN0HxIwmv?Rf_P2$|I)% z8@i-Osf8WcAci`FwWPY_hb*}ZA}IcHuqAPfBfGc_^ty-EC?J{e5l??X#-tmYcn++cX(TE_4D1{HMstcT^al`)K zr-m+h8RO3#H94!R)=;#CXh>vvP06+BgZurPr;sJk$A1{gqYnVloeT3060i$j*B$`) zevf$tNvEtpz>@yXrzPhA^3uz+N~|hq`7@{Ph8we)xeNewPlp^!gFy;_A1BxeOTVi5 zlv|7b*PZ*d5*EZqj}l9x>L9ti+9QL<)xg#ZA!LgkT)_?a`MoW6>)S~U0_p^nowlS8skjhHeJYE9oM)ac3& z`|u|Hq0{8Ymtc1H?qz&Iog)=Cl`3>`9!1=>7&yjTAQ`Ds))l0PT$W>54b)7H(U0UH z*_DmSSmL3{lW2|J!TAFP9w#C$I#t^P;x0Kxx(U4yoT%6kada0lhapXrmJI&8CiflLq%ZnMkOPUbxey8tzU7*#CvVS_jboEgX0Wu&t~A<_~ke! zLFH!FG+F4J_S?eW@@=(<=804UL@z)IAs6Q4s+?B7oXe%pn(X^IjBvbpYK17BWO^yK z5Bw=INFy3!N+qb`*|wjEz{X3%e?AfpZcEvPZ&HimE@gVofBL{k&5c!3$=c5u4k74C z!~k7e7(8l`1YHXYwMQ~xEd7Mq^q&H{hc_hS$AR9{XcBb7Cx_k-MOZ0f}+ zC{DFS!P+&O={G%A_NY>Ni@`X3NPN0tOw|N^XInaoTc;LRlqaHynLi!92A@@F_PI7I ztkmC=&`bOb+6`(MtAJtJ)>L#l@hdZI50UVmh5}YtaUpc8w%@c^|Fl{GQ*;aP_kK)pRhj<^o35 z^uDXM$Pjqi_0vx=q~?6&Q7RaOIuh+4WV4Tu^uVh4KnL!Tk~lRq13x~fE;cP!t+q# zqD6WQUqPfnaPslMd+$v?N)&FjA=pL}enETv)0%0FYj?NLJ#@0Z}7yzt`R}xQe zqii$cT-FZ;JV37-n2ncKBMZcWuuS766A!pTvHiW1Ez(l^(>hLAM`ZIf6X5EXgQ0*R zXBD>fEoF-jn=*27`UA8rC>jk}v0e)v#~!g5&L)8RF}^mo8Znl~aaMqX^%Yj#~@hwQ)=+T|axO*$cmTXLufPvummoqO%G96azvSDmP=TU|YG(+U8b zUxj(&EAAYGwq(m1qm;W|8}dA0VUIAi*&yLO_WYC*m554bEh0qQz_aZ{rbN@KPPFEA zB|;4Yv+GPfAG%vi^LUs^aq?d{Hp~rV_qUt!1SxN_mQhZ#R$jbYF@GcZ;;Tir&s%2O+_?RylwL`69)AaLuik&u3KD9^yY*Y1T^2E7+) z-G(s=WYOtzGs2p7S$K)!s$AqHgN8=s(Tl1CbgGaV5|AyS;>|I{dKHc_9E1%!@yMR$ zY8AR5Y^O(kf;e&!0u%f!EQQIe`@p8SgQC^&2;g1JqZ*N4Tnn~{%;m89M3RpPcvt<) z4M;OQ#f^;SfUW+hqV7I~7%Tscvu^~*-9ilTp_y3T?N?W#b*!48yEuLwVkS{BIT=N7 zoyEL5A@gCFdjG}961l>GMb8WVg?L1-%UbuFP|RB=()ZiW`7PZ3$_Vd_D=MJZ1ow^= z3)RRxuvLcLy9;F!nPp~Zly!I)?sr5?XfXk;cU4BEsXyAk2x)F|8ORIA73q>e8nkLg z$kp>t<5D^hsr*MLSPi&8jsWEJn|WqngGAX#tz^V!g%>}GwER`Rx?I9YCjw<{p9!{Z z{8f5f_Z4LG5Wd5mTcm}@j6>N~4y*%)L_8>xS4CS#GLnJ%lV6~jZi4$Dn9=6(RCbm1 zgLVx4!Oy&9z|HY#U3a#rSl2I?zTy-PEc6!X8C!wU%a5H6wm09uX5`zQHNKVfVYTDDUNRz7sb=Tofy2Cu1&QO42&jy8TB zQoAsSik)T0a&mQwwrI`LMQ78U0mNUhnH=VDU>>xin>ckwWocLDqTSF^mLw<8n}b`! z5)%;HE%Q;+vuTq&W@eYo>Bria30Eo{)1=2Z?}G#RsleJZF!221X}us-i$utvY4Pt> zx=x0YA6YF)&%=z$@TJk?G1w@=yMJBeD?|GQ_E!evI~eF@RJ#{^6=iMXkb{FuKF7q& zF<=i*q!+;4rx__J{cP)o)`x{A6$O{pTC0Bs)rWnS238QHCFvsvYLu4Z9h+w3HfAa$S5$dH_M4{h&!Q<)J9v zfLK*T1SL)x2e8g>+m1x^L_FbWd_{5YS; z*-%QC>6HH{%Mg_I2&5Ocoz-5_@Fec6yc!D~<`3n;TM8s2YMU<75f{^;KV)W+C9U4f zY4@5^58t^tG)U&Z^TNi+(SGTf_O#u5NI+aVnoe51n|jD>PO#*%ZiP|M77$Rrk4r;+ zqF1cflP5huq*u1=I?i}(ZuutL^lJA)`bX@7z; zzfWCS3G%0nNhMMO{4Va1#o%8sQxiG zOiloe*2|2t%xX@9!vUM&nkUFwpp>DX<{>lMR_1cDd-t)VtUT1t;6;@#l-x6JHCQ2u zO7*BdGs8ytKa3dBYWSnfl#f<<<@eFU>6hcYk4VG1JK7txX&&~xkv0N?w*~RdmJ;Hi z@U$xpWz<+h2y^T4mPOkFSO?Eq^f(aX zUG}cE_=LqM18H2Akevx?TFWk?VZPhD z;6NoQqNUb~knSzrF$JBP?+B;7=JN|86D5?x*8!1?J}Y0~v*dlm>th)Q>2iG0KZtvd zoFJH18QotGkUeAO3Hlu#jdz`i`Cq+wsQ8;JwN9rTcgJ5WUqjVN#a^D*jF>8IK zo)KD7SnymNfkg;ytB%coA^a6u(fvusa}fS4Rr+KmhMHhmLjoUqe`oKGrdNhBs`tUk@3;7Q9iemUqu!;a)bg-x~r?Y zDh)diOlJo$k7pYlc)sDIqF}J-6uM`iZsOs0Af8QdNv`qepLW z88q52RBJ&USABhs7i!k?rFz3-iTNB?S`?E@)Ux>O*Iw!;#qFo-tVaL&$^Ap4<7%sF zR+Gc>KgZ61XG}8Tz0dE)=ZL;r$z zAuYGrFB4$cgR4LVu2tdVOYUcXn}a%K37K;WrGWB>P)4WFG!Ka4YT?t)FDFk!&!3moh% zq72AcVRMSw%uFsPJS+?!g^d)4R9oS__F?B;{q6n#5bM@3|E9^5IRD1U7v_K*80K!6 zZW!@Ig?#1WuCBr&%?G~=926_Z2L(i`JD3?H$so#WxO^aGV159=EjSRM|GpReI{Q?! zfv`U-^b&t$h|{tCBq1n(K0o4(}>O&L3h8Qc*T79*jUJ5bSWQ(2W z>m#(C^^SI5zL`wlO3889JmnXrH3Wb(l$XRy8H-OTwDC0W;>%H){N(>2;C1{s`o9d7 z3a~K!KfnGj4L($xeT(qz(nUk=M~w-ulHcTi<1N-FBekw5mzfKP|jovkVev-vAuJpI@fcII_AI`fY4$nP0s=X}KTJx8|%byMc zdFB0oGz9_}pAvhLxJv(j(jbdo5~YfBM|i=mY~CP#<-!aT;@1Vxe=}0={Iw|ay^pEU zCO}wcsI_EEHyEGC8ypcm=>IQaZ@P2RE^z4u9dHWy&nexEY^#{b#(y;eO9?$2W#{74 z*B5ieB`LzW*QXSM(Lxs)mLA`~N2&Xip(;7-jsB|>c2YXuf*S=fo!I_B50>CG)46yL zZF*{?bseQ@@jvbmc_L#A=fYEqZ9!tpkhH?pu>Ta91VjrK)c9vRb?2}2)t9PL@Rq;V4`#j#0%hjjxn-a|FerM>c-T*%{OgCuoJ7%(3@K z_nqZk$p7Ndu?m=`(eIlLYpQDaMcf!7V>kG0Dh3LOy(bL>O&OZ206kYVX%eI9* zPtvlcApw_g1!qf1y^=0s;H}(`t;s zB!Zih=Ab1J3dD<+ia!`m0zUdtfxBTgzSN@YuzHw?Z5>l&SVE^;r$|Y_&3=tIto6J8 z*PYDVt&`3b=dvGV3SBwV!`a3J3Tgm2r?K6ojjk6=91^ zgRB15UENqR3Vz(@Kus3iw~0yL=5+d_bO2YF@ne21v`LZo$X82W1(x=2XuuhmjSB7F zr0W0^AbtIp>fKX;ETn#Mg&4zTj_KCImJL-F1QcLjF?y2U`FXuH^Yu&{9)ngv>S^GJ z>o*LBjP(?@c3l=E+qvx4+rCS4(I|6oDF&7rj~ROG5;Aj7j~)X-hN3#wYc{aSw&nJ~ zqn84H-kpDHuMzpCE#Y~gpW79AKv0uu9v%%bl^Dgs4=v-AWkLys1P(l7#cIX}C^!=& zij&fkd2f+B(t;MHy-=0Nd8gO!UjtiT6+-MYXFmQ`9fsGjs@=`hz|T`ba$X#^Efm)J zVN1w9xmOfGWcn6?!F{kiM3Pd&nUuE6s?T>B0$ygY+nE}VysG}o zEicWJU#7*Q)dSsBALlXxnJVKjGL_c_I9>Jy1rTvJMt}7^<8wv~KN_&l_aHp{(R?}Z z=+rTlJ9QDgVs=+;{=VwD7&%trSrwNL7^^qk6LuvCS{%<1IYze7r4@MVa0U|6-0tEKU5Rf<=?BwJObKQeXojn%hhCmte9GQ6^b7OW&wKEt(NHn4 zw1%04p?xnTapg}M_v;2SSqPJI(@3!hvXCZsZs!vzvR*eitwC8MJTI^h*mX-=xN#@X z`RV8%9<+E1AC=&S+ZaNgS?$CumG*?^`6&S`MXJ}wb?Hyy+JDi=?|G0 zI#+Ochdnn*YF6uX!N~ZbHN@)kr|TJ$6-(lyT+ON6#n-Y65(#C>xz6Uf{;Ycl_Wgm- zZxo)2{9rk3coRtE4p~FDuIWwV2}~dpg*}!^|M(7UIYRr83KT?;s(xYay%SL3>=}gM zb!}DV#&%x`{j0Slxup^0RHy3P7NGFi(k3sh`JM3IX8%a7`#i^yX-|y0Gy|dNa~^m* zq3@?r^eS4TUdxO+$NZ@XuDB^Rp-Br+uc#kJ3*rDTLmx_8#h_;;Zof6yMf<5))qT#D zJQ0%sm!FPVtDd;7c5lH8eXAoL?gq9u*IDUgH#Q~{t1&0nuK(;4MTS8kt&Z~gDz%se z+&8+UmP{wY%ZAzB;1!_3rl@!^95AgxH=TK{9UR0Vte5KgG>>DzF_-g;Nm+9AHYMzS zD+iZRgr0`npxJrt2*7H+qW+Oy=4{TFUBfgkZ&exDuOcou$#p~LCDTo)@{}bNw*Emg zgGTeSs9SF(M7pEi@ucXu6YG^St_H7+g29SGPhD0x!*8XJQ_gyPn(E>(de>2J!6j|4 zT0S7yV#_|R*18i`fK8hJyCbfQFWL6zG|YHOLH5IahnqQxRVa*IWki4!bU48P=9<}O zO4uw0A=ygm?<^)V=}yyKOqc|L=d-Wr^Y+ut07k?@&44!%DIV!ka$eL%u4@BZXdIbP zBcFf>`x4Zkkkc(@FCugJ6D8RH>KB*(7%?|jGN=g$EZ}V0X}4 z=&mBnXKlPR=qyJ2ke=|BGp{wMwi*KG(k literal 0 HcmV?d00001