From 29045ea1cb4a166f0806ede2968908fac78f59a0 Mon Sep 17 00:00:00 2001 From: MasterPtato <23087326+MasterPtato@users.noreply.github.com> Date: Thu, 18 Apr 2024 18:00:58 +0000 Subject: [PATCH] feat: add 1password integration docs (#595) ## Changes --- docs/libraries/bolt/1PASSWORD_INTEGRATION.md | 53 +++++++++++++++++++ media/1password_context_menu.png | Bin 0 -> 24183 bytes media/1password_create_item.png | Bin 0 -> 33935 bytes 3 files changed, 53 insertions(+) create mode 100644 docs/libraries/bolt/1PASSWORD_INTEGRATION.md create mode 100644 media/1password_context_menu.png create mode 100644 media/1password_create_item.png diff --git a/docs/libraries/bolt/1PASSWORD_INTEGRATION.md b/docs/libraries/bolt/1PASSWORD_INTEGRATION.md new file mode 100644 index 0000000000..6ab334cbf0 --- /dev/null +++ b/docs/libraries/bolt/1PASSWORD_INTEGRATION.md @@ -0,0 +1,53 @@ +# 1Password Config Management + +Bolt can optionally use 1password as a database for namespace and secrets management. + +When set up, bolt will automatically check if your config is up to date with the version in 1password before important commands like `bolt up` and `bolt infra up`. + +## Setup + +To begin, you must first create a new item in 1password and add two text fields (you can remove the rest). The names of the fields are not important: + +
+
+
+
+
n*cb#5!+#1#*HTO){+=Ywk`psi!|Fck2aVC11uo_8@9!KF(rU0qh&c#sSS2L79x{q*-iQZ?zAXB X@NcH}u>NnF^z=58-3R*N<8uGKWQsPDm0o4K_V-?Y`u#5*Y+iglI5_y%nj^oW z8q#I*CgI`X#dNv6F~e()tB!8IeA37rlnW{S=zaF>|L@lQZ{6B|4rcv*`65}aj s?clfw}R m pz9%~b<~U)SdQOfjBUx%PFooR=|kFePrW@V0A54RVH{lB%sGo4xxl`G4hlihKF# z1Iov9$(kEIX6{}`V#mp|UK;(!ud8dwHS0*I-lZDIZod@%IGn|QeK40%XR=1f%Ly55 zt&Y1fE|+~hJUXYIMce0%)akwwOnH*G?Xf3Lw_1pCEPmz~yv}X)flko9Ye$LLx#n1n zML_LWzTK4eM^d#un>FfS)ygFpt6O8dS=uF~8?pLM>*pNZHm7jkh-y8nex1GCt&^wu z!`nmgr+SE}{+X!Rd9leswy*_bHxKL%x(ANY_JmdT>XqL@YyFUEmTLIH&mqAT@Y_@|}OA0vhHjCuT7Bb(p$jqh{gsDF6e|GQ7A&)TGT`uVw0 zgTnCPLgtCj#4!ECBOVl9Gz@qtJQe)@`veV{`EAn7 ~SzAaexA zkh5+!9*qhc#!-@O$eQSKkHVaop0VFizAf`4d(PiMFJC!t*jzbBDfr0mH4>B{)Hbd; z&f1o5@=PbBK!*sXre+O>9RB8sf4gzHMenkgQjQFI(uywq=q#?pY;;4bkbIS^p^l1# z>crFG8VSjpjscc4vl|QyFK#w)z_}p{gHTHpkSdcj%5sLc_i(B^8B;{cOLlTBcD#|b z^awjFeXq_Dg*R|z(X>LLpYQeQkLEjf?_QD(5e pv!cJ+3)Sm z2TkH1aA{NblCm@H;tyT3P2&f%mxFK=bGhAmPu!+YaN@K^GfM`YZiZbb6z+7N*m5X+ zEGc>W69l5)b-MWg?0ObOjXG||D8_R{-E`18xXgXDALxQ}c2Sw4PwPI%c4fNDWzU9C z%}wh1F0|b375bm<3sjG%4*fB_*df^`&a|^rHE~=pWxmH+DHn2@b;dPMHqmv3PjH3q zgktA&c4sjc$%(19XyrJID|5b%^q?cwU-)^n`|JgEcZz}K!TK-*p6i}>iG`^P)r}!L zUlDF*ih&=#y#+T@)>{OdIivm}(ii-E@j1`kI^g6jnhM&vD&~a2lz8FIYPUBiK4mKz zC!dqS&ojoq7Jc-VOG{g58#Ud0jJjKoGJWfKr~58;6w8~LtD*jNN9oR4{jRhYS4l`r zJgJX2o~otGCnAi1X)$mSx9{D%3HgP`@gDE8Z~Ui08cJo?{d4i6(jJt>3R=@%^8I!e zduv3x@7N39*Oo5P giL|cSWaH4jNAzu)>a| zIX(MJIek|NN@~BMQ55G+v~F>PiWUCY-<{NQ(CRmHztP99e-F;Y%s2`OD3C98ZhzQ! z06z7WSd3ob&w8V%K|5B<&!HUp{m$sCarzxqt4&g~l{eW-H500PxU>Y@d>Ig1670?E zCs+g^1!Pq#0eXk;yqxKI&5iKy%%SFPB9VO_Dgr`l(HNsiKE=@4(%f&+cTdy1H@`AZ zx*I9x5;$&T?&mHQV#;e6lQZRWV0|z!M}D4-)Xa?r*c}n$JhQ^)kE?Y#ilQzfdpA>v z!mOVt=kuuNt^u!uH|`22+O>Y}`(cINT2@Y?^-iOICc7ZCsYPb)+TB}OZ<}lP+6dPF zDb{?TnAOC5FnZ2YRG;@UBi`@m>nkC?La5~VS}loKxMsTFJP9h3t@%|hzr5K+NnSaF z>Dth*rESj)^*AR5L~E9~9)5+yHkeK{u0QK_p+S4pGya9Nk5N%gpC9-JzJEV6Rqu=7 z#GuBXe)yy<9UXI!X5%}MK9c++z!RoD4-I8C__KH3KU4cgmg$0W_Z6i%1)N&`TUk50 zhvJ1LZi9SID*bx%=+kp5f!_qnPxnU4Pqy2$*4Xdd(ZQUZvS?Pt00SbfjXfkq=i*o6 zar{C_si~1dYwT7~Lnsxuf9Q4L7q4FZ0z{Sk*h^Ed4Dc9ol8$0Iz&r>9?)xUEH&SGR zbu!OitJ4w3n_> SUP4amD4 nQfDH5kF&&}9C^ahnYh&b!tSU>hvdGD;IhwW|=g(;|*f%UY;Uag~*zk~~ zGg~>|#|!e?B9lJ<@S9R`^{e4hbUFu{(}3~qh7F>_KYsiPoI#ilrTca(^IyQeUp*Tt zT=wUqEY?9IyXON#LnbVbqn&Ar+5=pm8g8+%g~CECaNg3L@YvTVybhpccGxJHcOx<` zuI(eEEEc7pt$t2D$KAW{@BJwA=}DF9`=KEWysTQO 3J&k>6YI+wJ7uS8a|8>>b z(aOATIp%1vR$5N(@`31j*({OR*@4~}&_s4iU!%EzRxzz5uA?$asE09-{TGt6s1*3Y z=qDk-FzxHte83`}nB&R86Jpq! zacG7Yc51)(I{o;M4&|>*%%taA*tMQtYl07D5|kX8q9p z6-e?lSu7E`GtBs&cvtCaOlcGa6Od6Zd&5RD3JU!D0Qot!>#*<$DeGW;wwmQu8`8y# zxNreua?x2HZvC~U3uCHOm?2P5tHXuqBX&$rW9nMMZ+5Kx`J?Z7*sk>v`rnsW?BW$3 z5m%8Uy*<7prwJF4qs3Hgf(`iuf$+4nG;hcEfzpdA5SncSXy L+JMn?o{u#$HTSZ&=Rrs> zrL0IG-ILt6Wqwp`KUuHb5aZ(F0zyC{WDvTeuW)suIv!4+2ka&AR?V=*w6wMg7L#-4 zZt+T)5RO+kq{7_Q*Vni16kON@7#k;H-5l4XQ}2UoNZeh%kYu(_4 nG27LpAY1?w;5_769af}ESbQ;6myUS%YQdvqlD9vo(bGD9Fa_tto zZ Es@T_B9{nN%(66(m;&mTxNEi PIZhiBSg<0tn#IpJr^IY*Y_Nc#7jj%}f$m#A6$KvEk_ZDU`}UNwr6n6Q z%b`w8%MGE&l$4a}@*9IF>}Esw&vj?LW`|Cvuy#iVa`dbrk&}~i*RnE 1uh#osC Ev(?5qZAQ1;9;z@$vs^5!knC(=q1t9(-WVk z|FJtcn5md$+MKob?AR)~g{HTL?}0%~_EGT3i93MdaE>q9jv~t=1bgT%De>3m@o!!3 zk0&=wF^7#6xLZ;(vPK}^Wo>P_94kdXA5`%{q(e9apq)EK_tou;`=+hW6TT%UC-1HC zaEoHs>I4FBbZWA}i!E ~@Xd?B@cC{N+O5w~_#Lu2+9l zq^Bch(I7%oG@QJR6xA(GtemuB`%d)zO>^m*fNS#HWYSRZsgBTsI#7 fdYVae z+V7ZXMg2ZSA|S3IrahXS_#$ 9H!8LaIxr zlQDj6rA*=nQ#fMq>J-PgV-4hL5#M)pb*(ERf2Q(lqYzjkJ+aD^1LAi|Yl^F*rMa%{ zAT0*_sA!ar#n7D7JrM2q;MTVtaOHM)iJw5 0g u!rJeodj?8kE7#)3oYqE)Sv1wlJr_VTLeb@oz%m5RU)z#hvr1qw zt(o3^6B|(jmU_PeRS6*yVy@0amCIkPXS0DAdx2fGC@?+A_5FCI6HwH^<9&uSm$xJ} zFYg2Fkg 3uSgy&zWtrqiRl z)qrM{IobWE$NqTpNU>SRp4V0*#mTx;E%$4(42zE%5D JJWs8ChA z?tTFZ@Y9;vl`Ju5;+dJ1+FLJ8?zkWF{yC`b;G257IGMY*a`*03j+c@rA7R;1^cAY- z=tJ?d^I1yt >DT39x=(cKhI&eG9!gei%@UCx?&JEqIs~ FSWmT^6FIBuFVGB7(+vUdf`Vp8%yN0tuc{QADh8_EWnkzwH$^QU4(L87 zao@weMn+#g=AE)|e_z$K?PP5?mpyCrBmde!&ev0; G0h2h|j-EF~MIg`Sl8PnGKIn6>_xl#m5 zT1tGr*&$X-6xVvP;1EOp0 zMh@}k>J$2@U{<%3Id*2ldy8?vMfxM^R7(6pJX3?huQxbFUdL m=rsQh$E+0gK~8i zx{9?H?0=?6NR@_>{9z!*C0}W7Y 2GU%0j+$Bjz;!Lb@efual~-(Fx};R;cToh z_Yd5sv|c<3F4d9kOgS1_Xx?LDS`DQ;ceY~C9~5&~gMx#3m`_AV*rJ14T3UpXb6Xz) z CSd)K_9#a%o{Mnj z?AGrrv5qydPF^86J}$QDOt{eHJU4N3ZMTy-%hQ@GBVTF9OHFxCuINAPbd`@FVN+*& zoe}>JLKYaW)^f*7aiHH8%w9Hf6b`1RQAT0 gM6qS2)b zlbQyS`VS=>p4xRh %ICgk-f>q>c+Plw7m9F~L$+~+%~ z&!-==_UIp+e!4D9cdSXJv2rqWyj~dwuiTL{0FY5DKPp3EKl$f%zm|(jxoao%d!}`{ zdb6nBLl52{7u0G1@oZpNt~$Dx<6MJ^D6>tY?i)?f%#E%^)nS5p#|wBRBkM0O*e!HI z?$)?URSBT@O %f!ZSQ)Q> z(5nU9W&UXCtnp+G7vZ6gKYJSQwFd8`@i0sNsg)um_ ZIZdJ ziZG|YS$tHo6vb^1R&PW;I(bGF=YAt61xNMf7O~O&)VByzhM#Cig1QPa5vrZNxhEfI z$Xv>-gQclwBroDt!gT?z{n&>fBeZ-^S2@q!FneQH9Ah}x!7pKs3fG>;4#Oo>*wy5o zlwyCglI)g6>$|*?dfd4szAm1rvU}wE;vb-11s!;UwDCTaov1yjNV78@Qw|Kp%f
dW?tRrtAo&-ifmE)lU{(23{i?X@8iBi*Z-W__KdYQInIXZWl* zOYea_CooW8T4oj2Kac_fJ@dd*N|TyJ)f3ju*oGI`Q_09izpc3Q4YV*w8?Zy~CH%YA zk?oY3IXxvFOhF7G*~55+)_?4UTHD)i0;&c-%7EK|NA95Pqer+95d;!D^|WAxFz7t0 zXF(nOL^K;7@eW-QJLsD5h&TUBI?R8>ivQNZI$#S!=G?9;HmXZLo%@#@j2?;LE)c~4 zbo_O+De=4yhv%&YGI6=FqT9&|@c#P9GS%6lhq0A-V@z%%zO!5ZFNLMNw-wmCFx$cW z0W3EQxxo`;D$vq}T__z5>03fHq+vUSIBjw=vbP57q+! zBk(8a*0>Pbwzs#LT=ry0P+)MesT`*jaek(QNL|#C&9f;G#sM8Zk(D*+&m;q>7=%II zqrwJH5nwPbm5$0;TK+)hc_7anEj&0_^3fySBlJ(97?m6)b3U2?V*0=K9?3K+VfO o{UaG&_$%6mrK7-qDk>ny`h9{66%}2p9H032vtm^M;3<~C!3JIgqTOXb1}4Z~ zy$zoL-uI-hTw2k_<5?O*SVsn4llM=r?)_Eg(#rpzMZ0$qx;dy>GK$2yWY1mP(vvk7 zyUDCtjSdU;1c~y(Plc5Vy4%Bj??NnFOHlMKOX$hx(=0cIzTggqczog(N|v%w!KP>P z3N@fvz}oy%oV PQAeBOFhPxK zc>fZ^T2J *FmEt-WE2x zfb${lccfNGqD=E2!U9{T?ST{VJak>fhm&t`)4k5rw_?E66Zq@bFQLTv$jHVDhZJJ6 zEl!!IH0Ue)wY;%aUvSiUXEa^EU7k+APEc;Sn)*rcn%xS)!pAYL$Vsh3K4@K>&h2tV zsdZNaLZa7#zT8bVj~CF+tJU9E&-8D;CajFO*HsyhIbKu}O5geRdSqDSVDIa-= *8)WYJ%W~drD`yU5J>jg*+ZA0ZMeCDe=n( -&m2aA;y z$`zh`I2DOqiP2TR5_3cAr_E0qU%`Huw#3u&%+TK6KC#Q ?)s<5Yxl=AIs 2iT$cS5k=086~E`M@Iqaf zu;J&@cbwLHVs((<{tAkwFX@=oKC|Q+*|+l1l7aOQ_riB4hE=5??S^Gv+WU3_=jp!6 zvc>H9a+jYkvxm!LoG3&eq>1`x1X3oIo4j%P(Vv&E+pca``Q?d%qRFF_Ly&TH3tydO z+i<=+Sw4|k`u&Z08231jlDuHsF>XO9VGetL%lR(z5A;kU2O*39gNN#B6;71D(0$Rd z3&S}izaBC3)a4=(Z~D)tADnh>V?)_e6g0)E=0n*e^Lud`vdV>K_&p@7Wu9YtPwBW4 ziKE1P`_`s9U(35^SkHW3xpP+-rI8z49~Ax0*YdMmR_Jbpl&1~f=zi{ek5jHlN(n4C z=>y@fW~jEi?=!5UI1hFRl#AEQ*u>m~$Q!Uezl^6F<5;&bJUtd_qiy^o{A6>cahhee zc@14|`l}ilD#?-5@+BYUgOdQSJeQ6A=AKJ94SC%qic w^CcYV@E5axk{L{5{0US31Zs;aYo33cwH2T9c~oX}C$Wp}ZL zJd8=j*Oluc20c0pYc(I5zY?*laU<~_To9FhCCSn?S@20*{@5>jEYW Nr%5=`1$cku7^)RNeA|f|oPt!fwr{Xe+J8;8riai7=}>h@6(-6AXYR_b q?kK~2>I)jLRZVnz*sv8kZ2up{X^7-#?86Eo0qKZ~3G`U%DmYgDQfF+@v9bo31k zXY7Tr^HxWSgMheHEjGoi+glsG!@`o5m$%OQbXryKuid~B$k9W9%EKiVG*}uH_M8Dc z7LARK*T~37XlP_TJ;h)@2y50GNa$~D6$nFutn_U#R8nU3U#bHJ4eV{ipanpBrrp}o z@);~e$}D&Jk!{Pw9Q-_3Va*aMDzSn`#t7902EG*2c;pm?^E6H8^FBpIf%NvgeF?d} z-e;?OsaaQt&H3QYZr{sNw`lqJ@gw+d% Cm`Wa1fb7>!5Bz q%fLitvcVz9l*Jb5yMaR0!w{aIMR;jkFt0TQSK`aYJ|j2zq; zgtP)c82aZqZ_W50RluEJod@R_FtE)Y)#H}T_wEHjYlyB3NkZpamX0PIPL2Q*EajuI zXj?9Sq+Q~$q68WUvgL+}p9ui{3*rouLK12zJ-HKjv3Ae~fJMZiP`AcL2x1sa*xnIh ztOj%DhKMCGoO;fuyMuQCIs&x{fHxQvfQT@$ql;n9ecqGGFd=`cNSrSOYh+<(whC+O zpDky|x97c}cVOctq~h{J98JI%fIF!HEI?q2=38k(Jb|E^AUegDAU56gv2w%v_T}mV ziSp k}u=&6az5?GZZLuqq;LNg4*rkM7K8r(;f?cS5RE^!TFS8oC%YJhr5F< z1{>&%B+sKI(_`S!JG%ZltTl7Vu0R_l<$v7~{e=IDKnV`ZX8BR53JD%JCL$rhoJelO zoR6(~=LMow0FngN!0us>Ju)i| Z3(DdK;f)Krv2}MII;$_Eo?=IUlJAp@VT5|`$TjdNSQz?{Q5Fo9+A@! z pyJt6i~UQQfMz1$StH)w*0u;b mEAcPOXBi{W_$tZ;Bi mSgEB4EyhI7NaF8mOgNF;CJ|w zxhU{3-_L Z)D;LckWE}HY zYHzNx99awysGa;x>Wb`Je)PD7SKf!1HkM%z#*NbKyEl)~pOI7`zAkC$Vd@zsU%bl< zoSgac3x);;;B2e#cQ#K C(mU6_5i=@Q(#Z@8B z*}3rf^6L@YEp6kiYG_PdCr+e=XpRN@4|?GU$9Edag?5}ougeb!aeRZiYTk05{y3+- z gX2Wf mwE*@om@ZkZ~ENUTm(GB;sSITCRhQhWhYgSre ziKd&BFK_e^b=2iBcGl}6Ijl!Dyx`TsI?^?s8_Jl@5j3hP5Y2k*dC~Y-Wt@4+R`_sj zGQe&_oQb2VYtG)ZFIC2qA7(Rt2;LH>T7kZd#Mrm`#0i}%jB~gw {IN zgDZI2vh&2|leHDwW53`0A)}v)-=#md*-+vVOz+G}wRQ|eF9AWsvCRXk>Zq;@{4rfr zBP+TSTHDtieRaWd-&rG2=i4cDui56sQZkQ~m2tU&l~v*;cbvx7Y<_&wk2!btwuAbC zySdr>_HC2+?sww>e7tq+HzCkXXFTvxDSHChf&{J`&fXl^bq;ai1OutA5Hs0*B420E zBQCq-aq0)^_UDwcLRNh|u=iWpP(0#BX+%>s_a?r4=DCnTJHo=!!5bE>bS*Yn!}0=O z&}oc?g4JMj*5k9Jp^PY6k*fHXKuQ+>-Izfb(U#T~NaTdo-2+Q Mub zKWrR^4v3SQtS%VIpGfTdD%T#0eLPa~M6Z1!63e{(=-qI8ve9^#EKT;>V6bN(`|Ik~ zZMkHu-%A#9NYp7$g#1ZuFXt8$SJHE%r}cH8yG$fp{$vtwx@IL;x=cP%ZMtQrxzWzS zAuYGucJuXV{7{B-iT>IBEb>;u6^}c3coG!~w^++7UDgUh?8@9131{>^=Bcbb72Kd> zBC42 17N579G zJE%Fw?VVLEyVIfA6Wd?af5;8Dyy(Z@FGz=|OqCNQoozDx5XL!;B)^Gpua!JY6#1g?L_{5VxASLV8VM!{cq)g4q4p zQB=jc-PzIB8g{d0^8OY65HFuBsqwC(@phG3w?q6hYGmUk0(x5tyt1%)gESLXP>}jn zu?dX!)k<0YgoYD0$7R4!u(RABgrs~t)c^e7=6rkac)<>&0~sKI=@&0w0x@lXp6{Ua ze*h^&{@mPLI9MSbh7b-?b0cBg8fZ kC?)1tX^?z-&@=Q@fLqpF>A3*=6soY~{2UCVNq%D^m{#r)k zc%$1NftE;Kz3Xhc^!qzh4{S;PWpNpHi$D%Gw=AUzYsR?`2eh`fI*ZUju5xV#p=JUT zDn#hQ1T|uHC?O{?|Ni|um_e{UfQ4C8bME07l9lS~`(@`N*+54~PFY!u$MIc?MMuaj z&KCmT@oCMJgWIU{52)+fAmxLZ{0-zFVuyc7p+rMBi5oGi3vY-(S_mS>G%)G Fr74PS%k8MEjMb8AWpNmA-hk(-uDk6wz1?qr>Yyv_V8>#Vtv}XbKXXHe1 zxkBB>OQ3o-L2(e0QnaE_`dc%Na@& F;5fGiL`vW^Aby1T6)T# z#u8!VPo{~zw5NZ*eHzaf0@^2(!aRj0m>^0tXz3tlcju__7ixgOjaZ_+p{gUIHG&xp z$v(H)01J}y><(%v!1P6-!Fcf4#N V<_QH#V?)c&Su6vI;w`ry+KF7>XpB2&SGCi3^D1 zMpu^s=r&08F60ij!!J%k9B&}wfMOjkG9iVDo~>T~k=JYhiVknHvm1eP1*Qvf9k3B7 zS2=Tnx(LoZ-F)T6v2yN0qb@w{KP};?c>b={?`k#ff-v0>BLrlY7rY@y2VU3AGuN(D zFd&46zreVM0Sj_1s7TR)I*9*_Pk~ dhz0F?eX|V+2WU=#on(3mQHgFi{Me$=}HnEgRdg>JP9uIvDnpNP_4qX zvIC7i*lMP4?d+Tf^%oHg0aMv*PCX!O_zZd)m?4BeCyHZExS`$ij-H;Lbz9J%`A}`- z?E%T7=tMF?6+Fxa);GRG$zt@iEI-VDq+ZIMpu841Y{OH^I>0wBAkiXvR=#S^(?p?2 zP$bVqTD?T7ajFjI PmWaubk}AR}*3Z6k<3lzHP&Ew#5XN&ITy1FL%32QXM9fb-#Fe7xB} zH1@B?MnH<~un1yA-T1t~=d(1JOAj3<`S@|~H#r)|^|98mayu~2oB^229+oXJ>Y^iT zKo+ ?2d9bQ+5ML9Z(Fg#HumsANGqX_CTp8J?6>#ImgFmjnd-o23EkA!g1n2|? znFapZ!^^NRip+;UBAWB{>lU5Z3%jo1+8}_%UUEpj2-Y^_NC 0aPzgJ- zz${?|yAH_wy&xbIda}gKwMR!JC3OO-0u1^mn7i|{R;_2qCIJ!wUK*1(Vv;@fs1PGu zE%>|;lOzNHA+VldO(7K)VBXROs}cAb(6AaW{C4O_6pn^vis;rbQbW~l{D`fDE)1E* z+W=B*8p&Q?p{G{>w;I5SP!}t2_@EbjaD~mNIa>tQ5;oLLTgNQqXjW4L1O_uAYKcqJ zV^`7cZiF_(>R%9ika*PsfdD428!~Jl@><|veBgq;*ZzyQ;9ZG#_lk;)>;dNpz*>oc zGWaold%VkQH~$ogO5ic+xt{|7K72kCdIe_p_5EFNl|b>(8>rRAvisD@K}gtOO!wDb z$-s>BU#J0Lxj!#I`!={DY7nLGx> <=B z3Rh)HNqLI==J-ESn(<$ffMnri!v-t2_$^{~ !Zyyf)ZP=VWmf&zINT{; zwEQv?(R%8_n|0 E!*zOY z>nJiGoo>BV)->YEOWxy?UcZhMFg}B`-zMjXryFHQ`??stHt>|H9HNKU4?bB2S8u$; zYC2iJsdT!6oxOKaXfL@XC1-NLRm;m?Cq?OqlKDSgfc>{lJ%_89`n7EB2BWToI&n@2 zb&>z_-;y<8xc%JR971#9+3c2epLqaRSO6Cl#f)kw92gMA~NpkPL(lth;`?|Viso_}g@-cM|F!o<{@NU&w?b7Q@5O=_OcJ?l&- zCNjYIKSKHhYi9Ht_hz)$pGy99{Z0(gEu&`Q1dmfRR`%JZ&ECl-zW51RjQbO|{UU$T z#$-jj!n!z3m1f1|T0CzyBdrI=6R8KwtptbL`8Ky4mt{*y2IB@9(}@kY>|S5+Y-fo;vQ5k;<-#*Z1| |_Ek}E2Dc>-Qj^G4PTW-CJ`QsplYejLSm@MmwCjm?e`3A( z&&KG*x(Rymn?K~D+ZKppes$dwyX7^BSEWfDKVL2Vs$GBPWyQdO$KKhFV54BAjbPhQ zwJnj2#l4M4zD3;u&l6-C3$zCf@5~XT9lcEz6-T91aa0aW-i?9#OrQ0BmyKCfp=CTo zzEgA1;VLc*#Ct&Gz1Lh&G7Ob-zrYTp04WJ<4TxuSXUAUYhdPyGwE_HxGE4nU }+5?rw7-VT4Fp!=Dpj2-yis$*Jo1!adxt`-gp%d9%a zVB&ZqVzc$%+;92GrV~MV|4tUm%(=TWIg?6OPFbZI;K3W6(DE|f_@QKV-0uqY2SGWC zA0GL&eUZGVcK_nB{MB>#H}qp;QAfu&4W2w1^3#|9xR2gyxrssv4( ZOhtyJy2Dy~cgUK6mpG_r#hBlw{Z?b^ zr7u*(c;-)<{(Cg=kly0!UYpU_O{?jgEYnPU(upIza0_3t4VA9G*o3U{2-+=^vara< zn*0f~ZV&=H*Yr2zz>G>P`kROQ_g7gc%FsY^xKtI@pylP|JXN(&?L?-Soa0GmmHk?U z$C}Bsylxob)2_;pA2>CS2eDICwoi7?yVHFv#N(a`)jBtolVeU^#KLzW|J@Q64 S%&T*to!Pw1GxJ(d`YBIHi;wOS|!y@9dFTU2I?KZAFfzr3^mtssXx|y?^s &(8-N%SVhjpp->#QBFapL|JBWBz~2IU(1@_$j zc+Ge$C^mmJ-tYFu{iAVwef7sJ^L%{5n3JhT`>YHM*C!E&6m+0Um2 d z+#Z3feQ4;S{TGr#+3A*&uB8#o-5-aoSI>o5?zx{4;ZvPr2|O=J4DmX~9E{-PYICU# zm+yEPX9!UaJ2ki|*fkC&FZde;Wr$V ^G2fH zagfUHh?k_;Wc7(caK$n13tRvERi||J4 kfzr4@Y0L77%l zLl@EddnY0?l8h*z!LLEbyTu9w0ZmOh%hF?Wi_%PZenMM&yV}>aduLtfvWgw;Mp>t# zC&x${vSq(9kyuetky};Uw*;OFKgd)-7&kFCR-Liuig6erDSSB?kAP0fHv@muf}$Hx z^$99~rd6K?5isfuW}W|Txg*ci)oB4s-@Ia6A>F-X|JX+*J+Tc6vPj y`@>NNt4S&JVraoR8AzkN7lUSb@L2*f@>&tJP#Y)bD>WLU5L?5|Kv zSZ`QJLWrkUOe}GMyLK`RJS6&Dk1CO~Fa1Ipa TKvt?rjjtM*|%Z( zGdvFB_u$|x`VeM$P7Rg |`b*Dl$d9M~kt8}*?%I}AY&0iFH7K4ZOhX?p)Sf7smb;f>{$ zm968`HM6Z+IJLAC$)&dpD=1S_)40c7U)29r+@|aE#Vb@YXZ_1f(*V|i?(R#f{{FWb zw$~rJ5K?eZ0e((%V1Wx0IE{a^zY-)0J!K+=*4=;k3^?!x!$OmPucMZknaRM%M~)TI zDtY@F7z LFT~-XGE(XbgpUf)r;ph58W+#ttw;M?BQ+=pg*sY!E XZT_u26&0s#>a;-+{V1Sk2A2EQ@mKGkI-k6F56-O^j^f7Gw zfV&r<$i!gqhXxi@v`1NaqT>;tD?G2qb1O*8dS~%@Qy6_0U v9z4JX`B5;}qP@Kxah88w+)DsC0s&2kS_N^E6RJ{9wxetH!Lo@&2Z*2_H$3+% zk-7rpAr(eRF8)BUV0j}1PmYyG5WwuMIvire)xVuee;NoJ1yNRi8$i_qU^Wz1HlU_p zwu66CA7n6fhkixmUJL*~TG&=Wr}x%qeEg0ArVKq%l9SX)!~qXlfUWKT3IQ$#G-Rt3 z`Xdhkd3O8PpVkP(1r4mnt!tOI;PE9;?DG)d85W!>C^*{#I3=h~NGz<4NHs$*bTQKs zz5KU$T@8H&Ayjb6Z{0KmkU0F+c>bfTj7&;ZRn@RtWMm{(+P7~7kczb&1D*q!3YH~y zMs9AH`~3cK*UGRmFb9Z>#x1v~Xy@J_@|>SU*#ONGuhk(=sAuX~tp)`ejMs{aiqKu6 z+cmBF4Df^jIHAYf8C0r(L)o=(Umi~sW?Q)3Qnwij%-xdi?jlg}U euSIXSvlr^OUUl4<=-{u}x}2Gng^0St!^2wNYY}kz`=tUWJnKR1bm!&c5b8#l z6e ySr5?;H2{!=)LgfzBlB=C!St3(K`x!@oQi9lA-(uJn%@h zlFe+>b2T-@KxbGO3&vwxC>7##TvdjRKoIO%z*d0gpa%HBLNAP`shJse3~1j#IvK$r zpKSh*>b^Rz%I!~gTcDz#hyqHepkg2?rGN=4rDCBpxDiR|5b&r+Q0ib&0t!k9h=d?5 z(oz!AAtf!{HP6Cd%*>tn Ka}308mHW6eXedNOrzp|GqXE`Z}&C`1opw1%i5)3 z!r$=vejVseAl$GRAUWq0a$MF4uS#rAw;x3+2DbG8p=cmW)dMSy8iG|BBTDjrko^JF zB^wPGY9Rs1v~yOI*cwQ*nQSi*o-)Dxm-{hCWwU$Ev;mUO0&W=vyYHF!9xuG>XWFFr z)9Q6pb~|?!9;TfeR-bf4Z30US+P>L-P!eEC#QXPDJU|bQzb;6L1?U8G8@znfug~@# zP)m9C@L}k5k8%SY&HeHtM=%8xd-6imrR1ztzXdOhu+W)TvNzgPH9UT ibtZ#MB3Tc%toC8_V#US2LMjP2H;#{w zt2$11;vER&j`GR^wjDitaPUryurDHk$O0NA6d4nv_xbL!s_N sT$r;0%JF@-NseP_|&2O}X#Y5+6=7k3mkgC@{apwZv4Wj~00Ve%O7~W*(j9Z-H`iS_*QclN z?L${T=#kBVXN=jQ$gMhUU*+GHAg`X}r TMIZlnYZ1< zFrxL>u`^u`H>mh3zUE4hl~8?5n|7Sn?-sYV_UfyrO$UjvTp}=3Pcy}aYTaZzI9mKm z!m(*j^H5pIMbeUaS?T?f{-rZfIHO}>a%A-Ri>7V&y<|m84o%GncCTD&b>8UA+zztg zkgEE;?fNYr|6iI$_X0jX5=jxI>1kbm{#;*s;t6Bwq{WDt(v^fFNxr4dt-?6Hu`>6i z1uX-o+2}d_6`2Qz+aC!i|NQXbV3yUH>SrH!Ej3>HHCUY#l8U=22}`=8obA86>~+6! zw*SAr{IYdmc`0IpWK#(O=_R7mt@+bJB1DZW0H=kb#ZBKt5Cm}J{oiU(fz?a5;Q#bX zgHu?Jh##zcX{_tltct( w9O qYWk_9lx$sCYId#pM<0dN)kl6eek?pHs$(*9QIY~^ znwa+y#Iy`e2yBdhi-kjGiv!VhLCV%XIZMhHF|$eqF{Czmz)A+I>rSS%0Ura9I}~); zv#cuwTQCr=@sN83+Vw^xN&$P=sjcbF?ZbM>$cT4wI%u&F{;w=gr#T%EN4au*=_jF! z0wXfl$>;RQ&;WsSxG=1xs7PD4ZrvFaAa;8>1;4GVi;HRPvcH}^v&gf$HUd|i+2Z`< zD4d^OSgVNTIv!bx)nXPH41H&bxvlXehyZzOND(3Ip>>lbGjZ@>32iV=T_01^U^t8D zP81*5M$v|^02S&|)^#{~00O6%u>mje`_*k)SCK#1Gkl409N+)g)fHW3vM?=C`VZ9a zO5Rr)Zct2UO0WhpNMC{i3u0{^rZ0WtaiHcnY&$k$w}cF|Be-isOO}@>L#V~1%y}cU z@8DR7i5%jl@q~%8>e9lp__#QT$tZKU9KD&b9!k~s@7R%Yg_z(M?hJ(_5@fo^fuqvX z4ei5!d3!rI40v3-4FO GQ*>zb34t3!8!)*k4a+$tB9Ip z3!gJK?Pv%HZ7Sozb_V-29wMZi0KZ_u#hf&KviDEOd o9T#quXjZq@ z{DvWz(HJc0B<(9+4=#x;D+0S!NW{cWn%_i%_6GKuQj*$PF>GnF&aC}B-<7JF9`i4r zd-CLcvya=l{poElvDY*9WNOZ6b*pSKY?jHmc0PT7^7z0jm-5DlG)#ZmPn}zVGO}XG zS)N%Z=4?BP%iNC2Q?_otqKQ>QL$4p2Cup;66 yS8Ww$oJXn9)~e$`gK@@8HA z$!+Ep>__5LJ!<4`ecHpf_uAV)Q8{hxwz6w82+RE|FwmoA(4_szLLoI?t!e=)#|=1e z5t=Dz+$e^o4pza>h9YDQF;3~(4g6RRB@{w^B+dRsmWIql2Rz(LcqS+ymV=Qy*x!;F z#JMo!3{I6yI1qR$xSF?OOZ^B%$it5H2feA1I-_N^kP@X@rKDKFnm?pM&NFYj!KMM` zrpa7gF8>l4Xezkd=la%D4_ojfGk_BcRY(Y3`7#PXhyD@zxjNO_L~3s61kzxk5!IZV z8b)R(2TTohhM})s-EC{rMuuY{_&UOTp;bkLM%F*<=E{Okx$aatOIr5C@^pa$le3CL zL$BhU |TWCyquKMtMJQ;IuRp4_vi7I%l{})5@XA2HT?@MI!UVpjSffx zw6y0r9wrr0XboK|dvuZbD31h8WG_^F`z9>yaLYbRli$x7{*;QnO*U0UdOaR=*Qzu) zbhOa%Vmoj>HqN!Cr`qRjSQvtc$WrH*Zj#h+MqYlU- $%4&?EWSlhVroV!C{-7PJrQ aLxH&fv)L&PiHTRl8SJ1T zkR^n?h`&2*-BhESYGl6Oera?zzPNnuR!ME%x$Doyo?8M zTFbd)J#w(g%cA8(KYIe0E0nM19plh-Lb<^$D(Vew;<9t+&u4|74?&)r-uHKxnAJjX zaW6AD+>fojHGg1$(frtK)9u<5wr qe-rgxr2%4ZoQP3|uV4sdbh@?~l2 zCjMhLjGn3=TozPDFxMqv3cs&>`9UJvkO(&wljmnKeA-i_{Lx>N#z@qS2XDx@en5L4 z*|)zD`fqF~Z(b?;D(qik=aP)6lOQ3PGspH{1u(6OsoCBHn`ZZ^Gt4tiN^+ErZbsN< za_Ex9pg!udK_tT#RtcXakAsU>f|ZDX1%Le21LX&anv6U6H==3$h`{AC74>yF06Uki z_xuu={O=oR7sYMG5AV!RGR@^{T>I#G&$)S*NV2SJ&|3z- 2>Hy5M3)* z%&}#F5$|= jML*c{YArUd?B|Q; WghtB`nx$@&w6QzlltbGr=G{r;@mdZPYw K!+i#O)yC;p=t+9k zRf{m(04Jc&+n(o6GM&THow@?7L7Ui@>&q;S7q6m*$8@Wnm$bdo#SasiCXzbaj%9kc ziE>ar|2(_9+k`t&ZZ}1L#hweXw>j3!TCXq-AL6xBA74+wo!jg1UiZ66%pSI}c5!u? z8-*>mxh+kSgYJ5Mjh0&`c3YEcxM`;Hs{P8l^%W&zPXsC55>s30qioh^rqbL^cXIN2 zZJkk^@s>~2$o}Rg%Nx5W+!Jiab&Ph&X3VkNea9YDu9FkZtxF$FZAmc?l*Yr)g&c}a z=(b6Z-`}4x+{^lREr4M&qKqjdyb5S7R9m-1LvDNn)IOP`#V9_T5|`)qINs4%(6`Wc zXgfx}JyQB%%mT}9<;qtflJDs(I~QMWS+{C_s@HRwrmF(?kLW$!qc1Ng<+9#a;rVgj zlxIZZ&exzd&H}#v9JE@Prsin}M!dRg#H(vp%Kr?FIn-_9c8BVzv`fH%hbvQP&q!dM zHds)JJ^=`1Segod9Kw|Ol{TtK0WDOEYk-5 %PAXmTfAnVtd#$zV@>0 z+^HHYAKEKPXfa$QUM&OX!&n7Unchvl-?4Xc?OF~y?^k6fre_#T-*ztlW@;g7|03;Z zbLRZ=r-jG$%TsNXe5sA|!+br~^9;!&_M A8V=?^pkt*cd0VL`+pfE z%O-l~Wjp@~^n`EjvXHnQJ>Xa){U?{eeZH1ytH^P(0J4{%VMRCw+(_8{QGDb>3rs+W z+R7Fys+o|wqrLLC3rl;$Z|>|L`-8uIsnxA%HL~_RCh 3cG=D=U{#L?{{uq;` zBc=AF+Q078Pm-Ga4GA{-B{%(}wK&EiyY=SNjCGuZ$D_u#7U7e6(H9$v=p;2<&kVXe z*t+wjsxrC%j7FCuKYpim1?k2_mh7C<*ADx$z;k@y#Z7P00Wg;TE@4SIq>bRxUuq-B zD=U2ev+J#69qX>}JSLfcGL_JHJtvupOSdckZn3U9XWWn6zuRk2V^Ly%lGEqz1yL R3MUmwHgAafI%3ct$0wkGP*kS*q*NZ)HuJ0(JUt#9z&@6j63=KB17ku~~gsSna9V zr->0-9`S@H{H;8k>Ew6sVRzgo#IiQdYVtV6>P1Yhu3+oqGjFcUoI8?XcX@Eeg!L5tJz`xi^ZWUimvszVEEsJ^bTe9%PZP=crmtw)Y eyke|{7siF$DbWu)G=noeW|x~+XB;)2+3+iK=1RZ#1^M)(&`Y 0&LJ7|2Cv(w%}?@xDky*;ye$%k1Nb8a1h zhEK**qO3vIhbh)>^Wq^hinO2GBe|I98P_@on`@E@XG|myngwNjMS(wFoc9!%e=HmR zUb;Bw@|@2#rOlM