From 71caf48a20a2e23bfa9144c68423e8200345c53d Mon Sep 17 00:00:00 2001 From: "Mike P. Sinn" Date: Thu, 9 Nov 2023 10:11:23 -0600 Subject: [PATCH] DeSci AI --- docs/desci-ai-dao.md | 125 ++++++++++++++++++++++++ docs/img/jetbrains-ssh-google-cloud.png | Bin 20011 -> 0 bytes docs/links.md | 10 -- 3 files changed, 125 insertions(+), 10 deletions(-) create mode 100644 docs/desci-ai-dao.md delete mode 100644 docs/img/jetbrains-ssh-google-cloud.png delete mode 100644 docs/links.md diff --git a/docs/desci-ai-dao.md b/docs/desci-ai-dao.md new file mode 100644 index 000000000..5cd49e2ec --- /dev/null +++ b/docs/desci-ai-dao.md @@ -0,0 +1,125 @@ +--- +title: DeSci DAO AI Agent Framework +description: How to create a truly autonomous DAO that actually accelerates scientific progress +tags: dao, ai, automation, desci +--- + +# Problem: + +- **Coordination** - Lack of inter-DAO coordination leads to duplication of efforts and stalled progress + +- **Resource allocation** - Lack of intra-DAO coordination causes inefficient resource allocation + +- **Mindsets** - Competitive mindsets prevent open collaboration between members + +- **Prioritization** - No systemic way to prioritize high-impact tasks objectively + +# Goals: + +- **Templates** - Create an open-source AI DAO template to improve coordination, transparency and automation + +- **Duplication** - Reduce duplication of efforts between DAOs and members + +- **Prioritization** - Enable efficient task prioritization and resource allocation + +- **Onboarding** - Lower barriers to entry for new DAOs via templates + +# Benefits: + +- **Collaboration** - Improved collaboration and reduced duplicated efforts + +- **Efficiency** - More efficient resource allocation via AI optimization + +- **Transparency** - Increased transparency into DAO activities + +- **Automation** - Automation of administrative tasks to free up human capital + +- **Iteration** - Rapid iteration and improvement via feedback loops + +- **Interoperability** - Interoperability between DAOs using open-source agents + +# Approach: + +- **Framework** - Design flexible DAO framework with defined structure, roles, tools + +- **Objectives** - Set quantitative objectives and key results (OKRs) + +- **Agents** - Build AI agents for core functions like task management and communication + +- **Tools** - Implement with tools like Discord, GitHub, Snapshot + +- **Expand** - Expand agents via reinforcement learning and community contributions + +- **Infrastructure** - Transition to decentralized infrastructure over time + + +# Development Plan + +## Phase 1 – Design DAO Framework + +### Milestone 1: Finalize DAO structure and governance +- Draft constitution and decision-making procedures +- Define member roles and responsibilities +- Choose tools like Discord, GitHub, Notion + +### Milestone 2: Set DAO objectives and key results (OKRs) +- Define top-level utility function for DAO +- Set quarterly OKRs with measurable key results +- Establish processes to monitor KPIs + +### Milestone 3: Design AI architecture and integration +- Map agent roles to DAO OKRs +- Define agent utility functions, KPIs, and rewards +- Plan for connecting agents to tools and DAO members + +## Phase 2 – Build Agents with Learning + +### Milestone 4: Implement core agent capabilities +- Dialog, memory, tool integrations +- Initialize knowledge graphs +- Handoff to humans when necessary + +### Milestone 5: Create a project manager agent +- Set objectives around the shipping roadmap +- Track KPIs like issues closed, features delivered +- Learn from human feedback + +### Milestone 6: Build a communicator agent +- Objectives for engagement, transparency +- Measure KPIs like messages sent, sentiment +- Learn from member input + +### Milestone 7: Launch MVP agents +- Connect agents to GitHub, Discord, Ethereum +- Start tracking DAO and agent KPIs +- Open source codebase and documentation + +## Phase 3 – Iterate and Expand Intelligently + +### Milestone 8: Enhance conversational abilities +- Expand dialog trees based on feedback +- Improve NLP models via reinforcement learning +- Lower handoff rate by learning from experience + +### Milestone 9: Add accounting and recruiting agents +- Automate tasks like payments and vetting +- Set objectives around their specialized domains +- Continuously optimize KPIs with feedback loops + +### Milestone 10: Open-source templatized agents +- Abstract agents into reusable frameworks +- Allow community contributions and experimentation +- Share learnings across compounds + +## Phase 4 – Transition to Full Autonomy + +### Milestone 11: Move agents to decentralized infrastructure +- Store memory and models on IPFS/Filecoin +- Connect to blockchain identity and permissions +- Make constitution and transition plan immutable + +### Milestone 12: Hand over control to agents +- Agents amend constitution and govern fully autonomously +- Humans step into oversight role +- Value-aligned AI DAO becomes self-sustaining + diff --git a/docs/img/jetbrains-ssh-google-cloud.png b/docs/img/jetbrains-ssh-google-cloud.png deleted file mode 100644 index 0229e4f8e67062415ae09aba7afeeaa7927ac655..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20011 zcmce;c|4ST`!_x)RF-xLF{#uQrYMYMh@`GUr7T%SWC>$8mduPUTcs?QvV?Yfc zeW*l@HOv@eNtVGF3Nx57<2mKJ@9Vzr=lgx0*YA0r*YA&B(>ZgVpY1$8@8dY$$NS^q zRWlRu?FYAmKp^o;7tdb@frOwSkU)i~F!0T;oM{c7N5L3AdqR}rSs=*gg7vVFkN@7P$R1%QXfN39J&1_ z{b6b89+?AW$*l&~tm8XhoiA?`-FF}@Ch3n$%3B`4k$#Qr5^d3VRJuF+N!T8xvWbsg zdBuX-Z10;MQunOXY-^XazQJ8`)_kwyGlzogF5N7c{oO^=bA19$(Ze}m&p5-2WBe(!H?}jtdpTg~En(0b7%}ME)t&wupR#)mC4i5JNW)eE;M4c2 zC@^(k8r#7lz(?b`yZij-Fj(rvJoAmO`(wyp`qWgO)aFC>2hWTThKxOV5)>u7@pEl2 zbi4|K`5}UFe1T%yEIt`oc{16XZ!zf!=RUVzzeilYH~B%Hf9hA;1|KjywoW_GszjI+ z_4HEKRU6xS!wx0b&uszxwa`Txkw=>pL4Olzi|Vk4;^jt!+?xr^N_0kjvLuwn(X>Nx$gY36vOf0+!hJ3i3lL?Z>iiT?*qsGYU%Dy<*b7=W&UO z*y^OKi|?fxx=QZRXv40s)z9Y7%iTJkn`1aVlfjtfV9gy+WF!Awwf}Oo1VblE*5|_U zkL^oUwp2TX-?(+PH3&0y3)42hz7jP=e^xtxf^?A8TXt_Pn_H4Xpw}~CL2*N<`MX}V zx1@&g*1@{QHauj*SX#CqU?ZdcqpqzHiojxN){Tl!lvRzz>$C-Q>ba57>&uvt@Nq@? z6C_TQY_>>$n6KQedC7&!*ggZ|tda2A!_JW^{ue&NpeuXqw#*T)^fpyvn9S=`9;|aj zCEGal4Q;ha)ebUbLLWBibY9i^TRL^aPq@q z0%A-Zn(d#iw+(R_qC|RazOU#OVeyOCs#^F8Se0rrGG>!CcC`^0H%MbtFn$fLFVV;J z=t|sEcDHpGlB{?t=NmcpkBA32bIdU}tWo?h;k(wYrS8QLJ9}v7?mQ>@4&ceD!+Skq z#I)~8`+MJ8*7NAH-?E!4o!ZZ7Y^=-MrNHF|W=i!~yFsoFSr8@Nb zWJ99Dnc6-^$Pz469e^s3f&9JI7K7TEJ^p5bdKtTa+t}S*l3;pTYtiK?A3kse>c7HB zEPr?vtMsIy{V|OQd=tS0w*SUY3R0UJTqHVC2)O+A^1lI(_(S??8=wi2XznJ#`TiR> zgJS>qUqAF8hy&g*ZIIUS|F*}nMGl1st2zYSwKGcgPV7eO5de&p8ErtA0f1c8Uu`Hv zCno!H60$UWP@VmC%fqys;RU4dVC{v!Zc`fNn>Uccr$=;OEGe!JEpMSAk(`Rq&s-v@ zZsmi#d&soCk2nFE{cC&|!Q)3RMo24vEb{9?tUrTtN?T+cRw(iskQEn-y+#Wz}${Qod>Nlpyt;dZ3Sl&no#zV^z0fs~e`0ZMftcHo z;4$H%cN2Ed{%q&@nYUkJdfjx`))OO(=IM($x7mub!l zdY!pExnz~(vFn7_`+^EFF7lpuZkzh`nOH-Xx%XlKw`$TZsw2PGZ(u2B*^LRc4dC;5 zt8kp1O-cb~_^~{&Jyi|OfZ=A!%!S0+qq{#Wr>birhXCiAP(733-IOV%Qhje|!+d)Se%N3BwWO5q`%dGV zz^G;=z)GVkKA8HW3BmjP9e(5_P<_m0P>hr9J237Z4ht`W`y&>=Cxiz}hlxUEVltJ6 z-Bazm9&XLl0JlgyU>e*KuJHgBiL@ZQ?BuuP3U|KW8h2H{5`zvY3o4L~v4-Ql@5n!D z`OP}dMmD$GDwgT-1ihP7*>XRiAQ~^NC#kZmhvXYE5ybl_U`N!RYrT8d3f!_aD|MJ< zxfq0DBu_GMgPsm+-I6ITQJJ^Btpd)`-`;bO5!Z4;wEB%+@Q%BFTj5OOGaIav-K_Wv z-nnHDR|VZxZ;7{+cp;>%W~roi%Pre~$<4%XH7=(fM`N#qW|Bg-bIRhaBaVK3)Zzg!4Lw z4~c8NGHpE}+{|k7Lij582u=|DzlB1J@bXa*{xczOpO&!8c3a=@PLYN)-uGe&!XXM6zI&fUbO zKh7O99*E*-2O>Wm{t+!yeL#8q;#bm&E)a@d-{qf})c`gbTxw8fOQP^#0J3D&mREP9 zNS5&$;?O?C-B2vx$IN~Mu)qA$2C6rXDvm1v(G6e=ua~w%)mpd2TTBIQ11=vpfa!P{ zeNkDNU!m)DQE02guQ2q)|Hg$x&i?XsiH5D`kei<1v)XuO?PzRU0*u=;DKhe7sL5Ye z!%(84%X15;%WSIV(VQWDzh8EM)|p>E>Haa?!>%xp!9hyrsIMxG)>nP_*BIRwo{JWX zfL{CYWF_cj_4ZkXO-3EnGB8*4kMhpvSZ+189KDn^G9-F5tU7$HL#dtqLS+Co_od|v zAI1skqm(DCU#&;wYP9pp7$a9%KWEFar{(MKf2)`mg?5df-E~V6ba9LWmF;l3SF3IH zAvQA@{Z?%ML`@}_ZnHS+hCMUyApH1n;0<6^mppo0i77#W*6-1W#|@Gx=iT){3Qrhx zU#(OobH+|w-rrJPQCs=U`}2zLdW9afeSE5}Li%>C3C3gNm6_YGam0!5QpY;x(X)_hlM53upfR_{xUo=?o= zJa*x*LTNFEY~8V zA5B%bF;w=6>A}TaZk2v=%oU%OF&)zDp|_w2yfaR>yVu*r=xQ{t=4{3pEaPXO_x{Cv z>4X`Vvf;{r{c-8(%8Y3>f*B#`Lb6RxxLP6G4JL;x#x)Q8UfX~Y)S^03I)ff9cg;Mn z_{IxlR_g{&KMx&GGASZSbrjiSS~(4KH3KtO%w$yGt(2=6wE4x#3VuZ=0jpoHYo2`b zo%EAj*Ewu&Y5*?X=44EKSG^d~Du4qvYhj7-(@w z$4n$D)Z&F{>Zn`0O!){>&2xD$7H{+Hl4$;Nash4{k9_N@ae@?h;N%RRv8VBK?<7b1 zx}9x-XBu(PasH3QpYr{55#P|`m_3C{dC(GI;-n7iRE65KO)z|e)vfCJfc`DkDno3XPvdj z?ebU~^P(z6B=~d=wX0*4b64xZ#-6W@Y70ha7S1;A{fZ@}h$nvim zaJ41zdgCDbAW3MS@r{7xoweE%#{CYNRxZOYOJ^+X+teG5%L{H8?T&2%?CKKnwZ1E@ z&lC4N_sjn>gNyVH)pBfA@j)B>-bV?vHI#@jeO-b*!DpG57|)^J9gnNaE%`DSM4G1` ziIQCvGn*>cEM@(3VbzzenE45mNNyRTs}B0)cnE#Ih}Al@vFRzZGV~c}Pm?18i0vTb z9@+1{@5Lo^7+>1AL=QyGP)HewZBUR#_vZTcDnG92I5J{Uzif_yx-mLj{B&-qw|*qc zmu*ZBz_AWhqj+1Sx?pzPnfTO=#Y8P+atJahK3z#K6+3Iuaw}_;hn96_y)qal%e><_ z3NAI8#>sxWD{MDP(16Csg|J{3Tkn1k&0u<0w1m72Jqb)2zMEzs}&hXRj6N)4&YHBLncq zh?C%!l;{x)9`eb=;}P>@Fn#c70P|}#nIS0$7J1OmmXe&B=cexPUZtVWT0b56of<^C zuLP!t7#qchnHjr(Y9>F7k+mriiE^?p@9bi<`OLctRrVIe&8hcU5-;$am$+L%2pOQ0 zmSGDaro;sAOpt1)U6mbQMV6=O=fnW~#co51o!v*rzx`m&IBf&P#%zMxF8>Ho0Ii0t zK`-S?updV4@FuMShXLFSaTbU`Z=%;BV2BFi24hdQf;gj_I2t9Z0OT@HH1~t1VmBL- zyV7d2EG}zc6(#FlR|+!F-vqGv^U;}OqJ~kp@Lm2dKR53Nb(#OWUjQrp<)yrij!)?e zp2eDZ-hR*P&Rvkyr@p%emnyJgBi6Tv-n3kgt7#5fHjyDIs2B6C9avI~3|=lLt$ngm zU-;qJX2$d78xZn{O2Nhs2 z(4@j)23fhEP?|sCOXa|P*EanqwL?lW&$b;%V5cDB)@^RC_~+S48gp^Nk8D4FXW1R_ z1i~KY-9g?*w&O z{QLR?x#E3%Vcb!W?7{!5_y2!xNU#3I<2<#C4gdK`5X4)mN6&pnogpmGm=4EX$O)MI zTIo5NWOC?)eS_~Y>)_N2ZmMY{ifYCVw-}U!#IbQN&f)e^&=TyGNNsIMECm->ia0lHZtT+z9fJFXkvbAC12 z#|i+F68b@q*>gmcEU#grq}Ih|Tu*ZqJ&jNdL?qPv%pj_e3y1ggju) zv;e4f@aN%pz=GslwECjQ{CjGU-z70cP=J_R(-io#n;<1 zZ;%Y#cFnkY2{rkC;(~m;^jjyaogTs5-t9%11eCK?1K4(uuO$#P?=a*Lq(DBR3v{*q z!H_nEsHlI1AJ>4#+~>0zIJDy;wZpJu2}%neq&epxcq;nT+<5kw$?;2L74@&69Q!K|EeajJ4wVaE5E?;7(+T|djA z>K#k4T)$?$tX=I$R?;G2yS>Z1Yp7n@K5jCnD3Nhlq%6_PD1KcqdE~k3t@@Ss5dMs@ z_0v>@5X4LeWQR~(H97*hbM{nLC*1`_g%6n%_aS8|8cQFjMRYu2Zm_rWeo4Rs zVR0yXjnY|cOBZ}2o=BpX`ZZ8gAlQVmdYVHl%!vzTUA+{WiKO2m2t_12{YZ2kAHN=oat%e_b3L&#Lx z-5dPQhDt>lp1Vxa9B+nR;hDwn!A$zF0x@sINuglo84+y7)k;@kd?|WlpK_|( z39hJrycAVbyg0C(f>V*?y%b?LlW(?I;-LbO-@L)OVP>SD`-{`ww>=hbEn%0t%I1vb zjYeRv#cl)H!IYc4p&4zNRE8eA<*;^G3;zVQ4SIOL;M&XEl+bKLZ>40Lz02!YYpsvp z6@KfRaX~(b|N4ccoK>IscCgzUccR#Kl2rYn##}}&yrNICyUbhKI|Y@Gn&(G;9W=?+ zi14luU-u=WyPR7N+F+(?qGZ9H88808lalC{1n;hf7x@16zVluPwc~rA!{tJjJ?CA5 z5I37cW|#w+3}{I`q}8V0=X2U8Rn1Rlrc)ZWgemk+e~(`PVE;i|WmEmBPI@-yb2yzs-I`Qi+*!MIb|4Mz;3CEAA<-oi4HC5{^( zFXiR?KK1CCRlGr7`+mQqOdM(`DQf}O?V4+b*B>8}G}IHl!7>u+PJ2~Mgb(v8*3La- zjulH~2)SEnE`5;Zp2Oj<>1*;~1IYW*kBoZGj(>Z%>H3egFx+TSWpDBft>Hn7M+z_)O~<6>?!dRdiyaTQPb#*00M9rq89d&L7DA8=~Co&GW9#Q{{7 z5f7>`E_>XtWAZP|mE2710AStq?@<8Y3(xQLfB6g9eSc+ndO$RC4oF#~E(0K(&G@Zm zN0#l!=#EhUyZ?{V(f{7{ZFtLnX17m^qcXcgJSO9QB{Vk5uC8ha)4ScBT;rmq|HmMV8GmUk^~Rw)jeoUOfzo}p<-=glQ)Uhr%gs?(ypJ3cP2SrkCL__ zo&td04lb+^T6YU_to-ocM{=!8<`rNeM$Ux22^}I0-|iS%5eT3?k>3IW-McuPJHfj( zOfZ_K8_B@N0anN4kKYy7@+Q8QKL2UcPX0*d(msAR+*qQv`EY9Vgz=*79}@uMyz-e_ zQ3oe+k$K_nw%eh`r}B%fvX52hzUW{+PT&$frEC+D;}V5T(dre2BijW)5&ZFA{kRy> zzA`=HE-2VY`Fm+S?`-qBB=Xt=byG@72FNZs))d*gB;WD!r^V1-M*7s=Q`wr11 zH(%LRWixj@vtvM*xDigQwrY=yJ%PwZTxh+&K_Dy0177tz@@#`IXx~3>(fSF_twWg( zeHGpaE`L4ccueHMl#IUy&ntBuT9&;J>mu`Z9n2jF&X03R?c^h9m%_{dasmj(cA*T- z{AkVupK04=7wL?HWyE5UcPh)ohpJ$cKfG1p#`=K!(_Ls)d;_G9TNvWTKJx>Wq{;W` z-!r4h2^Z*XM{l-}cNEdicaKzlgGH~f>@x^NS6MpF1WQtlPGPK zm+1$CVjV?R?(f`XPb^QgU@6_cj7?7KM{ilS;n-zaK5+Vw*o zN}^DM^OQu3!B;oL0(p?KA0qSKtJ$^?)phyRgG&zwkvE=BH{KYGzflA);wyMlUA0eg z|I}#a1i{N425(KwRQViuN`2s3dltahJteq){-yM><@E_A2#xo3Bt+|ZTbom;gHOFp zhiywhg$ID^#^^K~u*> zZy}S@tq_q}sREn*nu^z!z!S~0(J~)n2dd81&(T;(cJkZB?gz2T`uKU;CGBr6ldjU+ zU#;-=ky6`MT+`F!{5ANL*oB4_)SL_9e*^RVyKx9iW0*-E}%-c+)wtXsLm;)*@D zYf(mWf3sJ7RJxO|L;LJXx$K;VvRoRuGAUh5U%8oF+hAwy??ia|ng8_u@A%s7XG*YL zV!vOrWVyK!QkV|vjzAeqnEv(68)n;|0*%=mX9y;`dd-Bte5*0Z#YVnhey4xLgA#BH z(b#kZ-+N%{g76zpMuD^dPiC!wC&fGaA*Prh816A!UaF zc>Z8&xBsK2J17NPG2K1|OK}Ygq3%0F7mrWVFctch4M-V>mIi=DJiG+Wb;UG4zOm2$ zc}qpUCD^1RvaKtRnafrR^tweGd#q=Yy=cSAI`|kTKShumZ(-b2zfj7`#-s2uo_jo` zY>D1bviA@`@ac@OP1av$H6^XbenA1L;wy{Rr2ECo87l)3H}q5)Cc>}sC%*eFvU6An zCzodQS&l`Eh1gr#($R#z(`4b%pGfbFQWjo*UWPG<|I*ddZ^=np;@}5>3>aS?QfZUh zs^Wa#x$s$Te0g)g_Mansi?RU(~&Y%hL?SsqOMy$(P$|SdxI*4p&04*c%cCg za-L}hi)Y1~zUoQ~iTrT~?lH0?-)~RAJfDN(dPpVp;V&I#wo8?Gg-*#bPmPP#c2@4Z zK7zfaS6TEXUY#vFjk=WO)`HsqsXMz_ylp~=+gxnNI#*M>wUCK$sA)iq!3Y3pE-IY= z?&{NO-nMz8D%00q(q09qnj3{uo|GUxkfY8o%;+3V_;h7Irb4E4UK|k4r zSHF%yT1fS*nn7=)zK2W^_8zdvK(&m%W5eC0FOJdxpDn+DR+*<|mt~6|@?VPpk7VBY z@E|<$&t+5Nrl3-G;VFxly?1MyDBsA3MA$-Hz)dlOAopTdJ5uef9khr?tpWcMkF7H& zaVzV5V!y;{gtuNRKNZIQSWJP_Gj37bv7&1EYPEG@r(NLpHL`h){0)|NWc%l>7HIV& z7T-W1$Mx0?_c%W@7pD@P=@fJHhAIYo{(Vft(JQ#P%6S?8K)?|0j%pmP@afmzq{qFc zk(EnD52Cga2aDq>&4tr%qz^vAPvR07%qX@v_gA4e;wj)1BkGN>cxx68so|g7Y%7Yx zn{Sb}LBdtPQTpJ&?c_1Wl6Z{(YYfC13N9zXBK?5F1pfbj!>|8mKvO~UUQ+;pS}#uV z!reFH8H5!OL4n>uH^ZsF{P89^1B7Y@Fu-`WYzB1^;h8Im>IY5RyiRNO{5)=b=ueNH zT>V+4e>iA`@tyt~A=yS7j`z&6v=JQ*KQlvl8S93ZQjCIV|Ni@MAicI7&Tm?OJKEX6 zvv1-s?#TIH7|TzG?BB?aU13?|_tC0*$}jEHzRo;WUeNBOakua7WlTULebB-Wa;^SeG3agcG~&uI zaqn!)XN~c_J_a|f517*@8oxq%qe;cqowg*P#~J#Iw&sW3j^j0ptz(M4~# zh^=S|A2~49<0`ivG@>knyvJ1tDh(t~b6)5$#!8FHHx_aQ~bMux&vP0xUt-tk>guhdj7%Kak8- zwg(&-h*i}<%pZXp2_c;K#Im(vz1Yj3SR=#u#Fmjzn(ZG=$Ho(goGUqybFB|6P714f z06LsK4D*@KJ{)?F-zvr?mZx^3)i1$KJ$)i0Jx&u|L6RH_^IRYshqk8(ghIcatjKMh?VwL|(wIetlx6?0KVj4pcIw(3yo3!Vl`e z`P%CmTFZl5IvEA_tXn5vm=9@GOC}eX=bxk~QONeWhRn(?ehlR-q1s!9lg1r>mHAr_ ziqm;{D!djJo;_B{P~>(q*K#{D2%Uu!vEI)-%_@iR6bY3Zgu&qoj>`+06w!2c5IOBU z1QTq{*a02kFmc-lU+iBVm=8C4M+`TLuRmoOdHUYHtISt6&-O`OLS2im=!x7#J2nXS zutjiAF5iWzmw$8=Xz|RW^$mI+IkU4Aw~Hmi=t5{$a)yxyNhJOfDBB_TK*%$FsU*Dp z@@IIw9-g(NA#q~-NPM%tWw68-|9RO}#u{C*_pL4tSszxsbzp`wu~1;Y`rJN+(e##S zB7Ta;zU7|L6m%c)7C$;esFuhr85t^J0+r*0-k&(Zc=)iZ{y^sXg`o@j9{PQNiUpyF zzA_51oUF^qjcB|MAs;rtRE$`wPF##34DJ$B2g|Q~966P1hLvEaB3gI(Hx;56_pBGc zsC`%BnTz4#e+XXmx7Fk9Q40|hH+Uzn!Tm09)_QRyPsZoRjQEg@7~sb^1rU}tgdr@F zyf|S{2mA4;(v+Dz;$D6_#mn>WJn5;BGl$09~P15Av2()5_F}qMVfE->AX?LOscd!I)&BQfJWPg zPSt%507vTTq&>;BS`YOLv?Y`@NdBa&SIiP5w;{@rVseDr39HsdX0;T*B5!|va%NmV zdY?-l17}eSjz3YUcUK+Y{|O181tkGGVtLSQj=v%)0t^>Gf5UeWzf)k7VdW(iFt-CE z)X1maY(3$yL#@ZEKAog&#-&|*PRyqS%B(_9MBaFXs5I}xdrUO(+~=IVWH>8J98^k; zb&ZXtrUHSHLciKzuM$|qUMpyvh7)J~ziEK{S^44>u9$jN3Vu#nKxQ@j^tO;EgJT*GrY_ExpHgc#U-##=Fbr>a=7h zI%7pp`~tcyq0*%gL0qyOlRL!1MO=rm(wj%L|OF zuv-kAhZpN5A+#)yr7_vID-x$FRKfI}pCc|xzA&rFhNP&0bmvB{`qW6)YQ^+xJZhSM zM;siufHhh)GEnu`B7ov4`4+kDRLvJV(54mhDFHqjxRn$uVXhzGDL(?7G1A~q>J<_m zU`ie$XRnMk;<{B)`)}twzx}RUOy|HyAN6ss#WeiSaDfeZ)dQ`E;FckcX694VsLZjx zsy99nP0JdbLA;%-zrQX4B(Y=To@qj1Ho%?yhc^bYhkqu=8_5ws6!@0{%)qK>Jy!Bb z;{RN2|2rDU%uBRbbD^^^EiVyzvXYx|M%w3pl;!`vQS1=FSU*hvT5Sx`&P%+J7-qFln8eT0g$%bg?h zN|0fXR8oVIdie$i^0C+#wOMv3dy`mxTx3Bl54TlRdK}{F`dxg1A@EvsyS7+!Ak_gS zQ-~~d+*g=On5e=7kE-*4S2b5QWy z#r78;1uuC(*;+P`iuOkS=f_W@4q1&zy3c7jt6z8jtFq!O4%JrPTdvv8s+mtTqs8f( z^##znuY+4uYH1T+sD}(Y95>4=(BVWy0OJYU{N@TO$Lz3!6GM)}OIb(0JGFCSO$Wi5Vrb}}o91B$uu zOOUZy^+*IORlr`G4t1}Jw41MeG`BX_=e>kt95G1eGul3f!a1h{I#t%7Nr(;Ug}tHK zPtAk^BH{J=+is1@Rolx4gg59vYD=Pe&BUR_wCx&Y;hmv|5;Yqm8!|H6r-5X(SZ{;Y z0_C;{G#ikAV7hd9{d$urLj0WRsLUY+;J%EgO#5g_!;U#XF7gsvF9y{B=^_r*(o-%_ zS4FTT-p==atd-5FOulG&p&?n2en{@mM>g57OsDV!HLpzE%ruijJ2|kI7RYd+jRyT} zpgq-F`Q|(UBMeE_qT5enfeP~-x7I}U^n6>YYx2!3pdeGoDt~BKWXP~YnZ9*xs5$Bl zlcNxlk7u+`x|XJ;e_jymMe5IT{Q7b|^`EyP)r=|=ei5{=7(j{pL%Z?DL}8*YX@O^M z*zWNSa%5+(;U^FL`I*(G{Jg~qsYeAGtgulgb)l=~{KylvyTt8BN|g65kmq85BarSp z!!B(Uo;AF!dRShL)?1&H=~i^$ZJzS>jXL+m!jCcS6>OeWclFGwm&z9mszMkS_3^5} z8h14{#K^X^|NgXmFX>!uMs-Nd{sT7*MBBbUMUbNeM-Bf}kwp0P;UpxRf*v-=+&-@o zI}kJ^X+U7rPmC;4tEGez1w$@(PP`d-&qer_+ z80e}Re1lY!*+Bp!mdfV=36X!NGxDW_*f;yMr1TfRiC&bGo~>OcY1_k>bI*Rba60l% zC%*HaJC0t(oa!Z)BFr>k6`8y#!Q~0Yf=G{j9M8X&H!@n5 z)x>WOcXch4e#$9!F6`QUi!fu`V9@xi+D0Bz8&+*YM(cZ_WTJXiLdv&+mEIi!CE^pn zZmDYqr(Yx3Pmp*Zj6Y}X{EdzpyHPqUQxPp3o$piXFLa?2A$`E1Zq-sJLYaa6*7PkK zpl9%(G0f4BUmFH&WG0mjix&dZ-vLRqo#TnfCpElJ&!WBC??&yb9K_q_B)GiHH+;Hw zY>Ks27Y(_f;cAxd^uWcanfh7dsOj!unzvFM?aqP6fVIm-L|$%I7)v^gw) zo^RguS^8fvt!yJP=6;Al@_tK*EB(p4IR7Ek~T*;8hyd#wP}(BwMY1E;I{; zDgq(`(}No#f`>-k(B=MSeHwyv2qW?t&;AvKjtfS~=y8fSKZ6L?~ zo7?}d#n1mMU;1}*W!s=R-5=Zb2dK*>{4rtwy-j- z5{t@IIr!w0tF{tAo&!I>8CkD!OuUq&k=^joJ+M#Ld5K7Gx1cZbqz~EK%e4c7Vx74V zkI*wi2})!WzY=@^dR7BleNfppmx)G{Jqe1@ng^JDVM(YG%Pd^T37@8KRH+f<9)FQX7?t5FZb|{Qzao zDlHCB*Is`bijI^{(co52Yh3q7w}Tq9`-iV|{B}iDdiHXJ`xbGTV>9=&i%z-}zP!WG zFnl;;lDd_%#HhHtXNZ2G)`@K*g0=2?e+uY_9G$85ZE!uets8^J*%L0c`UQijn8I^q zg^O+KouuCbCMIO=kb1c^14F z$G^$wEzO5vF*EtMZ2E#(o%4!)@Y$7tL~8kuwrh)nQIujfqX5>hSlO_KnC%G_0eN{d zz%Ak{lBdV3Y7SyQP+593~$X^tpxlSHJfw5vx1AStZkm5_9&H5_4i27--CVEKdc
3DZBw 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