From 67e485dc9527ae2faf76c269d78bc4e8a6a70598 Mon Sep 17 00:00:00 2001 From: vados-dev Date: Tue, 28 Apr 2026 03:20:03 +0300 Subject: [PATCH] Backup for MikroNUC created successfully at Apr 28 03:20:03. --- .../20260428/20260428032001-Binary.backup | Bin 0 -> 327676 bytes MikroNUC/20260428/20260428032001-Config.rsc | 3255 +++++++++++++++++ .../20260428/20260428032001-Diff-Config.rsc | 274 ++ 3 files changed, 3529 insertions(+) create mode 100644 MikroNUC/20260428/20260428032001-Binary.backup create mode 100644 MikroNUC/20260428/20260428032001-Config.rsc create mode 100644 MikroNUC/history/20260428/20260428032001-Diff-Config.rsc diff --git a/MikroNUC/20260428/20260428032001-Binary.backup b/MikroNUC/20260428/20260428032001-Binary.backup new file mode 100644 index 0000000000000000000000000000000000000000..3f00b091d94c833ba4810c1627b033d298d05c76 GIT binary patch literal 327676 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
51;m6-yqQeFxKo(~upN1<8uWCh7}G}I zwll8MZdP$2WXpsk2ASte%n*o$dzQaN@Jb!9KRv zyd7I|It7tlw+)3ad|1UEupEq1ke7`~aPL2|g&fZr6ug^#=?YcUQR~O}8h)N#Rdn9* zw7(u&!2GHa;a-%>scK~CmDLYRqFew8@LDqKATHS(f*!5;)JD)-ng?i9wb@b@*5wvB1+!FJ& z0``7|H|kx1v^sQB`muE=0sYV=&HnbkgN`bi9Wpl?=UyQ=J|BKI-ybp z`!N6eH7Q2C{Tj5CA=O(|a`VLT7JsV>yKA>78w=sEvvkszvet{vi2pFFDins^l3Hq1 z9Cp#V7UKL#*$W+-I*Ym)?>pQ%D*XRyz3DNs9YQMIfSKw^V7eVNaMB*#U}ZikRbVP) zTpNaj^y8K<*{#lPOcNJHN?P-&T$##-eQ!=&)d@4Cco43o5)AV-a}xEjZiHLI+P1EWONUS!{eGq-)g7}H%nR|+i&D#&p9hMU>WBQY@kcgclEFDz$d6$Eb zfROr-m)DAIoIlA|Ec44z+FjT~8bO0?H_ATDB$Q+LLiS_!{8)#Jh(d?_H9F3G=6NqFOi(OvK||84Ha@`iR9-`RragaZ}@{P~>nc6vFcJ%R;@P$Dc%bj3}J z{}N7FW9ki&B`g9X(GQ``p6gacc17$ z?Z52=S*NZiE9wI_l_Jj^rC)^zJ2YVmTjTPjv%(hMuIXN3_pMLt>yu4ghGNn-i95hs(YsyH+8N8tB{_ZPFF@ zA}Q1*x}jA0oX}9Omj&EplOFz+=K4P2cV$%tJ>=b?t<=s;W58O2*nFSEL7qtkAEXJ| zZ#7I5c-N9Tbih;SOz-!E|4m8~Ot$RkHTV>Ee%?^!rg_6|y*iX%%Nfs^9lzZ1a z>?s!T-#k5dtfkjRd@Pgu1b2Li44>NgbsuOriF^ndH6x}M|K7T$0vzIob<<%kqX?I` z#@@qnfkR>u)Es>pOw|UYTetGH@sw<}%$M@6JMm|Rs7BYa?V!s!iuUMNM-(pPb8W22 zo|o0Km?PS-$a9c2#EK(iwq=mQ&}%l&?wOeXUwM5WaQrWmjajZbe$_-Vh05q+y8gf| zJ4+^`vE~lSGqc8T@CluB!bkrTXZSIpE(n6TE1KJwGv^c3iu}UwpZ2Akpt-Y9HtrN0gN0%2RW||iTR7flob}^IkIzmTP!t%$MR$+ zyo)%Zp*r#I14yS+PmrYhtaCdxz3n@4CfMAyhR?aiBEhNYYhC9q+|bX36&f08bnGz1 zMZ>4SU~+^au!V9E50dbuvAr=Uvf{EjFVLyl;NhOD%RFYcG%vlg1(@luUQ5O7*#5V* zB~p`$tkmYNE5%J><1wqX^z?wiGG1U)Km5Q8lOS4ro-K^NHi%f$jpoJ98pEEb0RUjv zqTByK)f_h^h9NRJ_3Vc9kOm(9`aKpvGSu#@h}!IMlcKdUNt2u>#ZSH?^JdWynGH*e z@W--CB!OKJ{nm_d?V}B@;hUCOik!O@#62~b6Pab_zdCe@9i}Jxr;4G)QpUg2Xstx8!YvV7>c0DDtvBt8T1HwJwud3YvT!-*==KV9ODCmyrF=$g z$cM=co5k=Ei@#AHT_16K5U%kC!1OsD^X)(mzN7{H(k8iJ=b29s8JF z1xO2YKq?=dU?0tQ`P91Egky;MUBgZLq7+e6hLB1;2IpHKPz5a@bDIw!#RLxnn~&b- zGpZT1lMwwte%zBrA;2?gGNDANxr0EAsaV#(NGMU|Tc2J30%4f0F3gU|9m@&QAEI!n zPy#l-+>+cb_WiPIwXB4(6^yp;-yV@%q#K%@OHW}{v|{3Rr} zgs%aZ=uN}Y!a2z$?KlAeFM_R6^Ju5`{vIOZ-oE3lf2u=*SEF8(NkRV%-!gm>#o6Vn z1_Vo3>X-yQys+fKa@=m1ioOVlk+duAY9x@HG2%Y4mGPAZgO5I8ZyykY@_p0b5c6Hh1{Nc4D zex5Oikd-6e*NKugw3C?Ihr9_DMtF(9cm7Wm9-)7`fpG+oIv6L0p1|(I_XHk>YqC;W*|E<`&7@Q{^$!bsAO~U z6}o6P`k)IGx^mrp6s*OfG4`2iH}3Ww6Sx?hP@6&hVHNCQal&1cR-PAJJ4ulpagxo4 zMj(H-Hj;hx3ujKJZ>BZm`J+Fvshz#4`Swg2Kg};XaTdh)#Y>x3~NfE0M9_;Om`r;qDJ=0QJ^j@$rcvS)kqa2YRzfhMa--6ydIss%~Eg zG#(MJ08nc~)|YI839ixBxN=-0j3M794|V2b#2SA@k@lVSm5BsBZlo9#VT- zeWd%1o^9)lhH>3#w}RwN*C9ml;Y$;sc}$bMi`Ppjcg{ZMWd-zfwco-pBh3!B*;PzN z!9KLXz4`9{(TXm zBoUFhwd8sM_9(2NeZuii>uUy;5e}&@S0E{Z@J>?4YCH=Mhvk5xmO*VkXvD5cfMh>< zu-fFjHlyQ%G$=M`|6FvN_}h+5q>9D-UFl26lWgkl46f1uwB;U;;tC{c2df!Bv@I z4v&I1J3(T&l_$(?p%*;$0~bze&`w%txj1oXZhCmGtQ%_zxINLIcxbz^9+<-^-+}&~ zDK#@-#U|&){haW($_AQ`;d0KQL*G_=(Qnds6iJkue;!T{08TjM^X%G1ie(=y?28L2 z+WyVjz3KOQ$!>LH4ljh%s2A_g5E_CDvJ$y%ix4G5~4IHhdFSAf^OT?P!hjo2qY` zg-So1^|TID>>2;}v5zl4*#>b(^WGSsA z(m0-@it@B^|#>cshL21>g=`l#!4?|6|Mf@Gcfpbo=hL4BuQqRpH!!;gC^N{ zeKe>V6FK1}A?4N=ntH18p<*WtvgV>hCoyoyAqMcSm2VThP}wBz8yJoCFRx+P zp&&m*w1zzR&`ukj5ex(4p^orVcTNsxJkQ z6Q-Y21$QWuUSA%J04_AXwvFNePysmyVCK9iGW(ZbmBWjI<6#*)c27n=g4)d>gUjs3 zBRVMUin3t?XrM(xRvf>%#`v)<7y;H#a5R#?S6@VkPJx|k8;_^6_f^NHNc4HqSbhZH z7cPEe`QuT>9?2+O!U2ZOx;c15XZa{ga-M3#9iaxxXKl(R_M8jqcy4n6(nQfqL&S6u zKp7m9x_D`Hb;zmFoGl6wr}IN_JU-pIAEKUyah}kLP>tXm5+=X2*y{d(`i1h&$r$+% zznL{h)GeQ>0RKM#z>bgO!z{9POCVOmt%HN0)+zB47(Dcf`VQO(OP+K%ItH*TQ*2ip zJ}8h~HVt%>e~djDLfcqouJwn>cZ}*RmRZ2T@A)I#_s;H@k2dBWK{tKlx#wG52VEk- z^q){S6)nNdsuiJ0r=P4t)^;_O(t|M#mI2D}njowLK>g~&qj;1lyI(OX28RsB+q3$B z3DW|;UDAu|c08{$=Z)GaY;@o$GdNc*Jw5&KLbpqWBqUc)FV?#sO;>Xe(@eJOrX|LH zUAvdVR4etj9UI1osLDdd8levVDH1m%T?D>|2;IR*8kaA81OzmSlXEDv_i%_?rCTga z!-xhL!J&+GE7{BQ$TGnIxs0Met?R?el8{0UYef8sk>+;2Rge#Im)us0&I^)}*-TGk zh-;NeA>mdD>51IHI$r7FdeBYc8FP0UmM1d^y;jD??d#aKRbsx z#Ds~9aUMoLA6OyM=HePWvTxRGDh)R8fC^X~Yw{vdiIjUiYLt`g9yXS)rmHcsS0cx7 zI#s8xM-q?o5g-83h@!&cl*MA7+BZzRA_!H}DX-zD4ty7@TFdy>j+&1u4^C5}Xfj1; zj7>~;^afo4LfIHz(;V=Kp2^G4{N;{Ow8mKx1=pvYINq2HoTWB5{LO!-XTLp9YI=gv zTb*Sf>lo>HrHiMUT}cC*1*tm?t=ND)Lzyj1AJ3R@<>F>?n-4X3S_sLYzb3T!s_ALR zRWIQDOl{hu1!zhnIe4$Hf5!SvkPez!%+u`MIOJUnn)7@(*ZJiwbl|9TDcYB_@G23J zdqp!I+A}AVP@;gDWQp$OZsrAV1B+n~1AHiZG9l~2rBEFzbkAA+ z+j;HcspN|DQ_2}N(S`D2lD&mJlQXz8)u`Zh|89;eb4G3%rkgvQf{_}aK?O&Ua<04lt{K=m(iiORh6OCw$rNA8?{h-1hr%ZL|i zjvN8VlRxm2zeCf8XCT~e$s#bnTcQ{9n|XKu`6&{3gp0cA@EL? zqc(}T^RfLp9b+#_(7KshjS}y@5l50o#}b{_x*bi;wF8@^!twz~)R&GPF_7UtO2UJC+3sX4S(xt!#Q7qUB?dd-k)Om=f^)q7~Z6(j$g&WwbW?;@8Dd z5+NcvCq5@9>DT1P43Ouz0!Cc?y|rY?M5uGxs#UFT(|l~W7o&14rxF66*#K=PSRN_p zjs>Zx*r59KiUpuq95pF1!RewD4+zZ+)45;q0NpJ&PWqsjR09V|^xWHqLU0WBj)=T1eBUl0{3~qM9 zd6&Gj(Qje)5g%JoP0$Am@>IJ6bC*pWVD>k{b-^gBoqc410u{Mem!2xu9<2M*Q>2!Z zt&Kyer0#!lG(p8aC$CQ+2q_U!tk)1v$3+b^~g zTNtoESh-dtH^#m>pkDYsa>SQb57e$lpHfiFL=(UWlzKH)#M8Y9jGY=O(ZXXnhN)x0 zJlCBSbWL8l)0x@5+o#t+gMP0q6gtSyDT~^UI{9RvSL6TE`0Cf!S9um+BYr6SkFdKl zgiljug{|aC&tQC63TI*&xT^%k z`mrSiXJFi>dw}Df2U?tROI(Y5*S)a?Wsl^4`E&>K+IZzZba#5q&a&Q~il}M6*J}5A zWBbeE*2RQCA;@1`5&X1l@PJ8X)^4s*CwFTs-+=27bv1wUEET-&v%GDjmMDf<_Q&px z!8nE=D{*x`Vgu(~0&SW@2CBv*M+ivrcEH7t?yIM1Z9bXtlDW?K)n^~z-!C49h;joi zob{vN+_cYZC#9kPlBsUZ(CVCq3R6=LNVIOnh8Kspr2X3MA+v%DnvZ4OhL}>5UZeDq z+-I)RGZ0F1X$IoPA(0!kWwFGY{G`UUJ(b|1{0jG=AIxPFjl}f%mC>l0I)8YO7`e94 zZFeQHP)c!3RBe zuT(;Af-UYrazMzfO_|-PH$D&aO@K|heZgxFDX^OxD6Jwg4Xc?_lU5b+v@vrC8=ihVq|YkzVrctGWS{`&aT$J@26*r;t>q?(p?>2$9TVP6KQK?K<$OMRv?6qr>`udtxS zyH*N3h=co7Qq=3Kqw~#(#BPL@N3^Qd8R=rCx>^%-ItETfUK!^PP@LSwt(*X zeTLs>D}J(CknZUtbwVs|W-ClHZoBD)=!c2B#zCmIVGDM23uN7@QC z&!0o94H5Ihp=}dFpywiBqh1gdQrYrGkjHeB0s-3Z6+9&HAzo@bqt&a>&mu`FstUi$dc>#cG&QpAdcUZ36Pf7-@xjW``mi9R8i z;~hKqxzA~z%hk5qmhpvWQ@afypCRDdpY&DU8l#ZuAiG!yQOlf5nfuV5@$+9IqhOnf zq=}vKfX|dh>wNaAIofQ2{`JSt@s(_654JDI`n29Ag}9f}(&x`d1xmNb2Y)Tak7T=h z`EL9ybVy_(nvn-_+*rV$ro=s9vW_hK`Il2bGGJmRQ4|bCTk;DD_+!+W^`ic=l0Oac zJHFLu*^kls?apd?+4Q?o*eJpD`sR()9d`wOf)_?1emnrv8Pq`$v(K9-azz`itu)K) z3i$c{p6de}Th4X2OMjnRX?-ezHb2$gn}LVf8CB~QZJ`M0meHnCU8^INPUbSd3i{Bf z!Hj1w=Cc^+<(%%Pdt}<@NZ!b0IZ55cd)~LEnI;0Rw@!`kd&Vgk3xK3|O0f))vBsG$ zLu-b|1-^b!TKh?!_LNP|RmsBsR#O5PL-}2iP)990FP~oe_cca#5NE%=EqrA&)9MI8 zQ|tL%v*6ojzH)utq8tp&H408w^;zw2h3W8;qy>fJT4T+oFr`|d>HNT4S|ZlvQ6jv0fUmDL7o$oJi{He%;Z6Tn05B@B&%E72b`YLNmBwOeWKO(D_&Y<_Fa0%#MN)ykPYj= zQRjN$QWHR+X>x9%Q3gD9sUAsL3Kn6-{SQo7eUUUfpQNm)-A|c>FYf_X<$y!_&E_kt zek$Y1^nN9U&h-DPjx4rEY(7sxf8?Dx^_XDcd+<}@s?{7Nl&3kJq?#%~Kp?Q-aXv0D)u5D#tJe!-B$I)+WHba*Foc+p0j!7Ytx z+V45Aegl7BuY;Ij<#~!wdz91KDL(0xBfut$2b+6jJIjta zvHAHeNucxzn3G1Tq;PvQ)O~@%SpiB>;Cwm^lpV{NJ@j%g@tV@yi&%qSk*ZDHdbhhK zeD3%649Ot?ZEF%gJogV+b}OVIc4P~q08gMwtKLx10qpU z(sLdFeJ@kqh!TPedaAucq-r``y6ev>se|6yz(tW*=#gAFThiM7bY6@PXLO<4V2%S- zHVFx%JefJgHipnwVE-#?SG!7l($c-H#N>WKbxo^D__hS*l5e*h0RJliEfgNnM``al zJ|_chWSm@Z9(e)+jFH#l<$Xyqg@C#yJjkT?MJPGIdX-1+M*LVP6RfZYV0#s7n3Ed! zw5~%vIn@Go^Gue*weT{IWwO=arjx`{J+Op;j1xB$&-1_P;j%49Mfv_jlkN(SBpPdY z*ae)3(a-`IO@aa|a6MU%%bVmin^)yh9p*G)1WMsd0bQp|zx5tGm4aJcxaV;m08b_# zdR>^cXrl(gR#H(;9%o(p)b(oZ#jU4R7ePr;FdKpdrMLpTDgz_8Y-3Y|=% ziiB5$D-K5WV|B?MV9fW-HVOg!s9q9M-U$ABp}Mq=+Dh^$=3E}ew<^09#sSo7p5sYy zgz=+dQ=+GTDDU|nwJh$d%fT&MfHwzj z_wgf}w*@Z=mV6jVDs_JQsHTfdn3X~c0jT$xT1xq4{z5kFed4~tqaxD04`u)_2*Pim zzSwqlj5O`8&c$O+UI1@*D)~MqeDy?#eDnaNzI;@5xFI8Gskv=PSR^5fFz3R>?Hp&o zK+?RT%o;=pa7F}s6hcSi7Yd_T&RLTOh&d-k%|NkaWN$oL$~{ zW0WMsX#R~q@xX8-`pou5VsdE?B3~Oa=tVGRY58`o`KqC6yw2QS3dQ*(NK#*ccAuqp z8?MhT$-?M0;LZ6ic-WD#x12+>`ceW)`4<$S&Fd(S85PdAQZ*Xo<9Em>7zizCm4SO4 zI_fJiG^>wU_*G8`ZL~$p91RZnQ2_KkW%q5(LVc|M_z#wtT;66w!>mVFTs^b6Y{pu+ zA4iZjbmuSpl&qTcCf3jf7rGcD-=BXF2|h{EfdtEevIY`nI6W*-#Ror^tFnI0!6bGKB*Vq~JI~ER8RH zf`5kC#q8iV56uVjL7hWSh)1cG6LVGkr;lpGRaPgQYb4l3%J*N?oQ)&?o_YyaIbhT# zt;q6%A_c0j$7)0J@{9B@!y&NdQXKjaVQryAKEiIU&1=#3PQY1-yQ6G*Q6;Jv)j%t; zZ^q<7@B+~r&v1;fh*xX&qCcxob=dGKbsLX7baiE&Krc8~0V0K_`^-9rr{6`yXMv2G z-zm2qcbg0+FQP{p&KPuyWwYkH8w__oBA|r^G1$aZ>WxNit38}OyA`+PKCa+$Wa@B@ z%PIR@*uLSClArGV6_OhbA~WWNgjOIkj09jYo|)M*xx^}wnFgZW9nC)Z9isAZ2!v+6 zKV=q_QXUVBq$vI`*IaB$wadjr1V+w}3Gk~sO%{(Td>gl)h!Lggw7sTD`Q=2U-bOuh zZH<#|woc`@zSImI8fbdLe(iMZR$n{R8I_A1zeQuB7#t&22b~ktQCPoo=M0frZ|kXk zxlB3(wgo+MDezF+t5M%viPMxCfP5IpWrxQ!*Dr8k&@5*^;LNP)OL9`y6t4Y_ENlk3 zM|{4xs4Pk0HhuhFX7}gL850Krs+FxUM`v$UP}ZcDBlNP(8R@M+C``UKB0l}rf>MmC zhBCj&SYISws`JfSbxBkU81wImg1+&yCvA4E-G^5GJE~cE+tQp3iv6@$#)EDLLd}#z zWdmmfEe&*qPTs$Em^UMZ#JZ*1o0Itmr#Ee?Y#C|{C3!?shi43H}Ko?r!hj+s|jb$=kIE_Wx~-9#{BEeT`O5Tps2=1;1@+r;gq zhT^4>OG(eJWIW$!92eC$2r4#5(N0TgI%x|JO1$?(Iv|KA&#>RE+lYbG3NX|~OZz;v zmA-4A>P|*9+8&-f*y;kah4m{TfxRD3Bn|X$8T#jjL%q@|8O#FY>fc)hihN;09jMbX z%(<>W)E{lz$l4*dx7fCs1fJNSXI)aA%J!puqdY>bF_M~3mz)4QY>CLcC#WXuCBI+c z&!eN1YqQnI8*vtxg+sU7-h}OHQp>}FJ~Cj3eI8wTS%>a}tx0e?O6AhWkzRh_9iWi)NOmmB`= z)cm2-6o)0@Ryb9{9X|OuvY{LR|6VLHZ?KKtg5~q(l|lgNI5&2|2-a z!I?mZ6pEM$P&yhG+qF(6`UZ|79>Oqg?9@t{R|^Hn_lFn3^3hMZ~qTN9Uu6M+Et)hh2N1=%i&$iXIwk8Cp-!L zPy!9)>fxZ?XNDw}`!DEq8Lhohg#haNTg-|AXLU11>mnXmWDR{|o1^ilqB5$a`he~0 zx7nGdUt(YCEpd6`>u{0P3b#)iJ=z0J?s|<--v$f~Jd-ElLI#H`}Qm6Y>qZ=|pF|7vBd!)cT zwzjpjnh$N`uE{ToCJ}g-Lb=k^RjKUilc0#4S!bWwsPCu?7Yx-M2~VCoBnd!swFI7G z9tgY?3dkU0G(4wpkEN@6{u>)a>{w)>cRj8L`Aa}_K=aCvg>ygX^OH;}x6USBAC#xb z-Pz#|{fM_BtW_K5)OD!!lLAcJa%ieycJ3Kw9U2TU4UDnn(DrlTTS>b3$o1>Io%>4} zuLb`d*?!;N(^!kWyO;ib0)hy~W0}{3*nN%}#R^XfkFWU@%k~lmE&3Q9<+!rhuczD9 zOHD9(bIWS#YeJ_txSJ(4*qh{YlT~*mo%cJgO>G9JE;=>J zDw$g4-0O=^Dn_6Xv?*7rz6Ak~Q)cRFyL2#;BJ)OmQs5k34`vp=n5e>ad?Gr20*+pU z)&6d99@lfq0)^F@_pjjQ2;2V?ymuqlKMg_2vAzZvvjCA$YF$gk%{Qz~fJt8?Q7{BX zTD@D-$#j#$ROlfUE}*-$+2oI1LiP{olL(?UJQ%n~LcBZOcFHBjxYGgE83)38bp2Wk^=^slbAKpkGSpYhX_ zzX~@-KJ(cHNdYI#X-|`k6p-sFm|N!i5U}8*%pBbss1~Dk@l{9{@VpyL0IVkm1Ye>GrTr z#;U}sLi95dH9p8M8|zrASoNoAZnGT;F*gMzgbp|=h3L1hpz~=-wLRt!9mlALjhKSt zuskw0N~`s~2_7s;sPZe$y|-IFILzG;YVC_Q+uUe~&v~R5q=49D1wwm3j{hw9tyf=k z3}F9?_c>8NYg-3BAmGgp+#|q(B9Mq@Ric{6{*YE}zxToosYFv#DHx?C#su@d8ZM0F~>f8O8luz|uDDj9z{cs}J$-wyZL zkla`Lt1uquv9z2v;xYbbS^B7R_Us)$+0Rh5G_o=Qpq1`Y0q41=tlTOT$4LQBE8gNK z@?J&($J=3pZ3$0kCvdIM#ha6Es+F=`WNH9`^5c!Supu;cMHO6|fbk7N_DhF(F-zwv z*6W+ z7avw`#qHvemBF*}^l=WCZ;AqJ?la;}m^yhb3Z+3oLE>5hd#nO#&=<*It3N`qKk2 zJ#y4+(vYcBgS&N%mQ#QVza1=oj$Ll;)BS^w$*dk}@)K=H&&I_NSipu7K#j6W+}O1NE-dVOqEdRoC79nFPZV40C1JBT6r@?T_N%S_g$P zV6YI@JY3LHYO8WmZ4}R$-J7YYfbO1`{tAdJ<1{~dyVHeU6yL6h2y!ddc13o6)AU@F zyhvv;BU+a$w3T*5C_bZV8!dtCAtgHdFkPS zkp&e<`>UGuxU;1*pRK}!T(BHWMe;M|F(@HK(Z zYjc)RyPY&MV?eKjc|VN75Ec0fvwDg@^2Ayw-xEX$@E5GyKqBD>&2FhnZx_{&j_QS59~4%>%ib1VF9wM-xa7 zFBIL_pV2=8>+d2I$m;WQy9sgKw5qztLPUdRmi?&Y6b2f^%NY(=u5sc}cqs{8>ZJNz?%I5P7Mz0aOSr4_4U{{d|be!=?MF@NX0HfNuiFx5c8y zK)SwM7nmPWfNHxX4y0pA?4}Vt?E^)cN=?o#ULhnw4xWy9OLabv)o&>fB>NObos8%C zTd4fRlZU_p?nRtKGpX_EK+G?DC2$9;I?;bmnqXRKL+S%Z6hY;+1B#bA4|M`MazPjI z9FC4yKlvO%K~N@%g>Yr9mVnf5&hNM8i@sA0nzGA(pJdGTjT0@zw4sw)p!Q&%y}v*< z&>)D1ICjVm==(XKZ!?M8&bBWGTzE?Ug6}azrf099)fQ&ic$l?M5K=#1mtVGS{b4gU ztZUzf2E5->8#3C7AM3z4#}jU~Q2P@kn-hPp`KH4DB=JOq&zF@w(D{0->&p`0gB2hp%$-_mNsb9DZq8n1QiNnWd>8M|VDq z2G@##Ivtf%7m~^{fWD&rynN`&goFPqyXuW-6T{iW2}t79Jp`_kdy zsJB^0!XOhJPem?Wd zPu{m}*A;3G#kf#ay_Y=~=aE7@y=jn-7Icl8D2}XW8~LYy>IFoXjXDPv4-|rh!bj{jC`|1)hH<-S z;@`vPkvd!f#$v|)V2UsGCe}2`M)4a<-E*Z_r%vSKuM(s% zR`2Sg>PC=J>sFQ-uE3ZI2b4TA`EC;_Vr#IsH3PL>s$-IWNKdGQ4TRzi%Gu#!7k9|I zW;Hb35XF7dNY+Ip8WjH;z4n!IAE(vrYF1a3Bt=EHYei>v6sla8)vtWe@@cOPKtg7* z+;%(%VEmat2a4ZmEhh0En>LDRF%)e!PelB`2#4kV%4`pIkda8fau z$$tXagEb|iN!&gOy?ur50H*dx$tR&q0GV;=M>K0vtO|4Dt?&X#oW>|rGy%whkdg#q z%Qe{}3@}1iaE}+pguF5l#R_Xsze8p`n?Igm#O#ad{Pj!g=3xydEumR)co*1&?)a6d ziEYHUWpu0&s4}ha+-&lL>7xp#kz2DaUK^cQ>8Pdw({)FUYG;h9ov zcDYWezlpuLTd_9^QdrHoM}iTbK^IOAIvbbw?(>jeY?9 z5{lKmUXe_9Wn3%#6-3s|Mg(O`SL+X@OpY^)!^y|0MWE1UYZkUc#Ep`*+rLWtLg3cZ zu1LCORsJ0q^Q90lzzs1FK8id_$q#Elha4ixe{J;L`T*p7nv8DFRqPeMC&)Ep;Pw6r zXtZ`<)dKQ9bTQEyu5^%1a?3{;NTA)AFyN-=XvtWPCZ5 zf}sR-%7K#7!&c@EOr5se7kCI$uX%D*q#TQNrix#-r`#`CXff{{Qe5=4BPGk#B}-|$ zQc%WHB4;2?x%3s>s-AhLwnnLA2JV0r_Q`MO-vbL@L%@aq2Td6_mFxHZ-m_1E?!HuK z%V-PV3vc}qCDF*_FyR5~%YJ+j1M1O78fA%Htn10D?cFsai0(8O9v-*ImfQR(lCLGrMtkbk-ERmc=$5H!$X8Jp{5AXX(Z((Wmit%HKIS)}_g-0to3#ZlMxGcZe zNy#_Pg$*8Cl;}xky(Qu^2YJF6P=-=$r&i5c$-RfCudxr|D*(keQa4!}TyJ|7#t*Ff zJ2`4{nLE1+Lje#73AJlq10#->cgOOKVE)+qKZH)0m9^K+2Z9RntV)P?UIydtEX%m% zVQ0noBJZ17&!<)fmI-T=(>JEd$8@J-@b&r<_Rorpo@5! z;JB0+EE7=j@-MF|cK_pOhrfL`0gQCqwDS9p+2S%s%e*P>9|r1LDGbse`Z%JnQucPI z+e9-}-c`9vT8B!o|E{eW!R117H(>hj=oQQK^MjTK$ThzEij?}M7glHUj{dwf?hb7X zR=2h)xChA-zUA!nyBu^{ro^Q=mp8v~Ij+tMHuz5{;qIUoCg(N--`iO%YzxpACC1oG zaPQ-*Sr*&aRBB{aRaJ3`(qp!^6K)5H>JMq%1ujeO(E`CpH1OY#h>Z+MZk5PE*V9<; zX9#d`S9P~dV;v3=NpNgBvQ67SyNqnN>_cyrPt7>) zpq|Po-YCSn1tr+WQ{A=gj%Q2isP16``g^1pJLMGB1xm2+130;l5c{Q1^8}yjQ0M~h zC3^QLb+f$hq`_S@c+0u{QiY|3`T@l@CjS!@bFg_OT zrkdnKKRX^n@yY)t@zi}ljD;|9<#2DrD_1Vx_f^NUik#1mh$PrcVxbK1x{;~r>1Sgn zNa|h-&@A^+OrbMXi0;uBppE^;(JV_xG8N09Je0Ofev$+5*#b2lEG_F`Cr_8j3q>tu zZEffnCV`8*VbOXZjnSmAPIHMjDKku-Mv3kgs{0CI*^c7vy;}(LZaWa}=CexyjHgYx8%au3d-shuXebNVfp?T>~OmwP8D9(;CDW#FUEO;e?k zHy=cBLWPF^q(N?r;~vhQbV|&`81aLk(_b2@OxBs@u=tqIp8N}Zs?9nGLo z!~|ED?^l=Y(^V&VjzsRET_;?<;VRON`C+OV8T{}h8y^03;cQ%%C;ZmkS)@3!D5Yws zj0~u?Q**qqbsUu_&bD}*f|Hjn*>+)GK5{m_cvO-3eRXOolVkbd%+et1G4KIF4eS&# zVG&-g$k%gOSWA#Rt(v7Dt(esYE<1alFm*7LFo+G9b*SlDybR~`BPClgGksY|k0_{| zr~8-yNe=z0v}^H693ePA9RfHe_Ge_hGb~Z4a!0KWj^3%g$aBt$1u~>Es>OpubKuaX^u%D*|kPE)T zLAmcS$%Qc(gTUVq{@Fs~R{mWMR6)h~XvuDL`q9FXd z%yp3;p9#EB+^EWp8bFsjDG^c@*)>}XT zg$6@PRQ`<_s5z1vTtbCfO2c!5skC(5$fbm>tE#P0xy9Oz+}HZ@jC~a5+*J%PHAJ8Sc6jZ4Q)G2+c!v#K z4?nHV41L0Z>yJrncjSadPZc9jTKwJ3H(@QBMizMYx@o~vs=2U?!k*x5&Pj`mfwUnC ziAad{4rgU9e(ISUErty*x?1I^s%7B;UjPYy=SC=h9!(h>Z#OkNy*>pw`vb!02K!9% zXzF`UXVx{P#?OaP>YGN2foa{D81?bOe>jptk2G!WP4QDZ_Gs1XXJVCx)Tjd|MImlk zP?@Pl6EKG@NVU^E*roTgeU4Z4e=j|cAjtzKdRb*jld>y18=qK~nop|l_d8I00f$s4 zjx#F>ojHr-BzUYbwndlU!x=nX$xF3OgwN)0|5maL4RVW*NZ}$O&vf`@;0-$gSHY^V z7Au6(<-VsHG4<(7--2?Xi+1EB9rsaMsi4HJp^Y1hk`zhXGY!#tF+ZltkYxkuFMG1o z#3D^Cbx@&XiyNPH!5axEC32t+fVr$%aeR>~|jp*-Ax9`qoiYRnki6oVmY@I=t(!GOPfjWnbhg z+YN2^>wWZ?(aN?Zw!uVf1Rmps^{b4<=@T*Ay~tJeFf}kaou3pYqZ-T4#kgV7d{}bg z4?>izwlx|M#wz6YRU3#LSW=67JT>iqYLNfBZhbUj-GG9}_5HGJBu_X|9U;rZ7_-o0 zt$ijz9B(HzZaPh}_1T9Ljbw}dxw=|?l0WBpAxdXs3M??m;?RJHFjS`X;04B}qm{{2 zU4)RDb4gQgl>({I&=W6+Ye56E{E*oXMJ2UQs>~4Ivpn_JT=%Uk_wU>*u!KUje;1oJ zhh{#^`!7{< zjCW8!1e@YGxQ*?UAczzAoYK`Oy~NBbQpN8W5EZVsd%E$o`uEcyU_ z5jMDPJ~pqv8iMchyL@RW^ZKnCw}?@8mrU5!*)^t;9Dq1kngt@dXZG%Mk4uuf|%L1?hToTsPbEbQ}4eb+)7sf%4Xp3?=u48qC znUrm}Nuu2(30Ox3C=rRXYba>Ta3iH86RKL>fK&!&WM*z3*A4Mfa;vP%)xZ}YE7Xj~E>C9y3?(pmI!Kio?;Og`uV0?-h zu)wC)p8nHxTYwq@|2!s zkkh-5uE^9n7V`aMk_4>u_}?^9JP|*}&#i$SbGX}`Jx;*3Cj0xQExMn`OYd*T_Eu_` z5BdKo>M0+_PIO5)zeMX)P5$cpKn66! zt=2ENYb8#=YofH`G(ZbTY1W)ElzK6Q_6p^QQ#21lOm^l`$lS#hrmLV;m>py``*-(2 z|Gmi~_B?rAlx$Z1OpKu+Kilan*KII7cZ^(d9bY&XtoT}I$-m|UpuuwOt+35K?KEz9kBPamG~br>G5x7kk)GSwLJ(&i_DWUQXP zA@AgN)8>q-rZ*Ap=cm~!2=cd()c1M`ew*tWaF^L;sz_V`z)UN|>7t{cbM?=exPxXF zol4zaM@DuK2OwAx*om9zQN|p^5WW{^?6S?J@5dS za9+gnR`Wd)I?xD0C8Nc|@8d-^+w>kdCvV~#-YlG3*D~^0zza1oZ*4vJQQ!+STLA=} z@UL6+wYm<6jz#C$|FqB_Y5|sX8*%^Pogog7;MYK>hV;HsZ}*}07^ zsp{8Ncb5g(+Ot&qI9zeV(!U9WtO;>JQE*w%M|l9J-gki#19n=r^w?! z3*a3kZ7NWFM!|S{?7S_e0?Ih{_Zn>BRYk9k7~Sv(01~5p5Buzt`&}3CSYSHStJQu~e`?H&bkmX2Jz%dPe96Ut+u;-)L! z7*s7<71}UNh#R9&YkW*Z46s54|9gDuWSAy!7+>{i}hGCvQ@_Cr_Yy2 z5CEPxDcb-(snb+?IBj%LB_2!}p&M~%4kw^AeLM90Mkfg2`Ct{a4oIBp)MCskss3w} z51%=t&fkoY;6R#x&Z?omx?sd8<(IEr!uE-lZ%le6)i0R+YA<0b`@Rwt|z;|CBW z^Y&$a&=<^PlyWiW(ER9Mr(}>4e*rC~c<@mFbjX1`5(ms;BZYOTa1LNFmes~PEXzpN zr=qK@pq7=dy-!a+l9;gG$W+Oeq|wm>NxP%4^SiQ~GnGwHKu6&@} zRkFlUaNY8cQvuPXKYavOptJ?%_x*BYSq>53xODC@FSt_H>3Ri{X2< zcd#y;$gWk8-nf-lC%HK`UJUB1y(KoQ;^u&}s|&}28p{|bX46=el;=3~r6ny=x1;=u z-{}eW5!i|_{zVtUl1VWT?}Hs+qfXS8)*P;iz~k;)50fW)Z|xS5$q|JnsVJU5yxo@c zyyY{EY2Lco8+oiU!R@_ir@}(-FPUk9TY-DtON4*5RG6R_iVg;=o}4Z^?M#yz2sWq5 z4?*vwouGrPkYON&)T2PtqTtgYIor{+ei<0IAr}2l9{(=O86Y2jWBTEJYOp1Pgxf z$FFqCJ%G+5QWtD~Q*2hf2XJf8n^90K(u|uqnXun-6O}F@7?>E%Z%ei+9f0V9x$*wc zGCe>S2M12y5J6AvOmYoaeR#f&QCOtGYUGp*C#Er`kEl1ok-vFi3xec@W=JF#0ENdZ zR8(Y^TC<$AGw~)(Gj3xNHzGuzM&7X&&cO)rKi)hlVdaBNAz>&p(BIEOK|UJ^klkO0 zy`RIj3emO^hbm#omu&;QOCivAy)(;ohGu9D6JU(V_`>6WAIFJKZ17yKBBLQsa<4Uq z)fw4+qBh7|m}5QXv!5{9AvC<>%bp}&04q=2-c9+`AdxlQmRBb!5!b)}TDILNtEm{f z<4nFGs=hO~pZZ6kg!w&S8=#qchS)-EHRA}Nx9a{oHL075=Z#SjD3K-s9h2{{NIU;B zw$et*2nzWoaAJ-5KYo|s0RKM#z)T=H;Zq1)-aVf#6Y&G71V2SWC}ezg$MqJCH>CL8 zs8ClpfG+)c6i-pKm35~5N@#TBQQNtUzLxE9@$wD8_LED~Qt#!mo-JOqo1o9pi)l-f z0xqH2bW1|E+k&qJcF%Q90^McNZ)=*{5m|;53O}v(KP}sIs%d6o2OMP{g=1eb>f`(X z$pZ@rJAe|WK?4EeD-kn#CP@VG_-7bkrHp?7O#M*` z3HjQxXumfxUz1kq3>g;CG-d^69v7+!lkimtit$fys8dH+yK-bP%jv&Aw+NlL%ur1ejtUV1Upr?`I0C-M!{ZCM;cQoL`u}oOIut zfD`bOr{TX-e|HB*w$Jk%Ih5pRhXIIS8A0N4L!k$m3fn3#O%0HEWhP7GxHLgIxOsSf zhXvcMngTLYA-|30J)R$AK+rc-e!fdhHzi1DgRcpuQ?x*582Ze~l`_pEk5|lyN~?kD z!v^CoT55I_>`>9j4HW&!-%jEVxlR;#!7ii&BRz&Aarh)Px1ri%>=_&C9oFpt0D*8+ zxgTu_7ti$AI)Z~v_{m(KRp$zPowV$=CiKb5C;ul0*&i=un_7uX7>;B1RRz7d+C3;A zB&1B*o?yWg*P8jnn8Y~Blp-(+aPc9u~Q1MqJU5Cc@ijywJ z_?V@?6izzw#C|hN?6&~G-nN+y`C|@{ugow}D(W^z&u?O9mi3N_8~{xDDBNk>Qpn7e z<`F7j?Lc`VRMrH$?53BOk z3;iF8tDtNS^Lu{?jaa!Brj(Oo&aIrPe^LKSr;NR>?Ohd&Pm05ccSMDM%LPAd2~$Cl zKTTEh+2CgeeEyvQxePBur-Hq`AuhD2OvR8Org1I=T%nQ80Y=;r{kzPTQBb8ZnHS5h zYc1K%Oq9;}W)7)7<2wcEU+PYuJSOrs=u&%L^rn)|I8gIaGWm61MM#GnoIt6KgBcMk zfFr)Wi;@~kXh#fWl#0az6?CiGaauy#H*LM@B-8 z;Ex(vA_RIDI0$N^h-`uSe&nl?jU6|BVte{}Gc|}!c&uw{4}plDb~02K6cjs)$d0*+ zY{%r-7GJ6vsl=J-@lsJQC{NosN3KJfwFSm6*}9D(I=xk5uNsO5`gVK*++&D^!Q~7g zredeLfQIG2{Gx5w|CrH9!qV9Js_*X^3~;yBFs@6{=(YEJZcr}}cOF_Wdg|)eJBSeI zAyOx&Xfcz&H?xMBY6j7*VY@Z{eVa~kY(!{7CGQ2fLwaj(Zlx}3eUD$`74f(FB-m0l zl{ZhnD99cctLn~f;H!}zf0yUTo=cRYM!qLvN7!m=R%rsFbVz~?!79MKs5Eh_+KrXNeIwYOO9A*D;mQpjIHjuK`ULg3X4iL5w_j!cS3iB47& zlyg(r%v+oAFF%R>{h zOW<03I16jVV~x8ks&)a+-ecq;3}33TZ{0Zq1(UtTDEXsE0|pRSoh`25HC#-!^00(s zG<@ACiCH_2Gg879hD1=I-vzIfK6~f`B5!tHc%e&QEF#K^dfBbRH4LwOcOlVQkx$+y zU+BhwA}FH>Kvt({Y&es<8QDQT=4weF(`h6Xa8gGLaxX)TP7)^$E%vueD-hDB{146K-Kx=Bb{E2{Qi{xsP5PRPn=2AnTpJJ(W4NX-_$Cu;bSs7IzE~fa^Y@PlkAW zv0{rY0)b3=R%A<-h>HY-zeC!Im!-|$Fo|`G!`1Aw{h0J7 z%$gldg{sYdkS`>A(?7ybj;g0A_G_v{biMt&?b4sr&oh@YZj-5T8^;hwsF=pqe|sNp zbdrJt-N7pUGt@8@t}?c1f)`fsyg7~$oyVbFmGlxU+~Wtfn|V}qSglN?u}{nn#H&Q# z0p|gCBbdZ|p|r>;e?_&u!qmwmBDGp1&nCC6ZsD>rYnaQ4-{~DcxQCXd7{PS~$2gOU z1q_ITJ?ojxI3w}~U(*Uf7-g&}UfV}Ln>=?gKwuAnG%-yD-tMZSHca7JX1#ZC7;|t8qxtw00QaryU8k`LKB_kn zF7qYuUw5gGiC63wR1{qM1xKhId=z6{R@o7Jvm*K1*Sg>1rr(X9Um0jachy)WYNExq zcqy#$jQHko8zYbBB>F4Af!O2Dmg%|37|>g+(p^ATwB0Z1ZM?WNF6V5YZ zB9aKIUM+}GMw!mV0yH{jndkZJ5KoI+i*DVir{B8caK!GNMUw(%h1rS1T;06OmV?zJ zwAa&)lq16iU2BjpUiqtzpM>i6y0=#MWtB!tCd*bw4qT)Mz)KyLw@ucn+CZ-d6m^(w ztik&GRN$VJu{|ow416O46pN7>FjGR!d_p#CZpos9p`11k%t=J}-9Cu)PtPrg6frw| zqFS6Q7jkEg&)qeT?;zd{ELq-9m+@Z*;;>amxnQJtE0^t&tmsaB%iKPSX0KdaF?`sT zyWowXvzj3eu}Waym~B8dZnsD9@y6bKQ*t19!?PmC#ZaS`_NZ@!+_2ZR(~{DCN7rb@4^`q4v0ln!0D(3*badD1?XI;l>zm$&Tg5M&_l~{IOzOf@oaSBaCYZ zC4UklxcKHns^XM31`UL7pp*`PbdmC=7jdfutq^?)`xn))!^0cP7FL#$wN~}5$QEL) z&UjDtzOe#D-P*Wxb&>VTMJ-EK>O{dC0Rn)J^0hoZ5Nx3?Z_0Jp(5{5r+`KmDh(p@{ zl^$K)>5gfS3hg5K0vMJ@D76i(ge1lFnpFeYQYv`@K)% z>yuCJiAKcC+{EOd^l#n>WANW45i;UC&{Hi>Ec;A2H62B(Q(@TbSa=a8r6f3`P*y~r zlSko>tm8EQg+KJ63Xad27DKAgB84js*d7s$5#1lM1kkjS*vjU2qQcIig|2xMLU|@u@)}+Yp zye)dD+U)-t-{QWbZBHPeBCbQmyQv2?otdj+j{bTMwd^hKE(ud-bYceuM4lg8fr%So z-qGcz!~r_1!RP=b-EmzmX2t|U?=;#?)AEqKc)dAYxt{3f{E47PkdT-;@|Nn>m(dq+ zInk9&`nWm*h^6~DRXq8|aMNBt_YGN4t4pnaF>PD%IS;rGaacRpKI9ZG0oox~w{LA@ zcf5-B_;_9a+JjrtYQ*+ee9mtE#L0Rzox_-fP52s-kg`_$(pb1h%@=}s{XK5aOeMcP z()a)K6>8*<)`);t*L$#i_pnUr(lFZpFm63Sp8K_mdD3dG?}Lm-khiQ^J!Gf_*rKocn)?Lm&>)?v9Lyb+&s)(?YqQtJs|ce+a{;+~ z>dB#>cZtE=K*EGQ!UB`J%wnw1u@tG)d|&8BoxaYCW2N#)rNv9HqNm)ZGNq(01vNcF zbG9jM4^n|aB~iel%kZ6XjP-OS5w(`PPv zQu@zpwCcr>GQQQ`5jaK-gB6?}KZwB9Cv{cTxqDq-i{VoyHf9>54hMdT&Gxpe)XEzT zq~-rs<%S8EfCqjUZY2rEyx7KjVnp$}_>gZM*|q-J2uB^Bf36AqDSf0BLyMl*8OK}> zeD=+?Au+ajG<(8>t<~94EHAuXb%2cH067eM1TSd;RS^ug4;$AF>av+en2x z^yjmm2g^g_>43Z43IY;sv&kheYSVqnG15-9bw}xZu!r~wGfawv)hrSj9muHblWP1V z$-d-@iaENbR7|?k4X^8-nOyWs5iPt8*G!<&iwZSI(hE2EL4-S*8THdN!JlMzwJ%juyx%f+i)6o`YV3m zQSQgn;d5WO(XO-VtT_v~2qZ9h77qX7x|K-h-)j|@VKc2TVMj$l0T-Vj55|2-F;ZZa{;N;K}Nf}Z?BpW$e39UN9M zJIuH7+<5pZq>2NJOAeqe@;?^9BzQrbV9hvv?7F)439GHbD9^%?yP>z{ zUc-j8P#iNX6aF5D|+3BR9KPvJzgKj5KNm(1B0nMkw)~&Gks^YOO z+|hU}Y-7lOiXrt1t`K$^!s^_5G-DzkhxojMOag5|V^&fi!$`>jh0A=7q9FSeXYkP&>^oE$+J!?kE`eEc)g+2bUhG7MqAj4 z);R_0MgZ7q`bk7pgm>dRyAE0|MUn4Xv`J(80n=0S(GInk8@JWo9n>f8qj!wCq-lih zvJ;n!t*E^39sUI@CD(>BdHyC@)kbMqO0~1 zNH&(4jyv5ewLfksId)<<*4|nW)BC2RD`o)Kj~c4gV4KK7*C5O%Z=tVTWV{w`-ymah z-Va1sCTI`c2#aGSEV(T~k~4KKU~3aTKmb4YR6pV|5UiV)$Pw4#S2^6ZuA~vZb3i!N zqo=BNA;9VFMLFg!9Ax8rQU6E3(W>Z-Hr_CDv6b=J)?f8Zx`Tf%N8kZp6PVb&`rN&v zz-yJzJuCtS{f)g}56M#q^U??i$!-@`r~3m;3fqFKI+}$Rp<&d7af2!CqS(~_ zT-nID57v_r#ZUDH3mliLp8fe@9$y=@*SK51EFLKvED2SV`CXBI%xTUi8B+p|)N#Je zD0@-h4&!g@3A#S#Nh@X!S=DDsv}yuOv*CD`jCl~~hsF*}2NG@CHEprS4MN%nJ6b;l zgbvuY&79NC&|CIF^h-9psg|x&i)C-}ku%Py0W@iS-yu3CU*~J;yB`thYPbTWa*Imz!$XuRZA9x{<>4AypY*uD;vOF4B(2O(Di9K{OcKwkQQ>Okw zY{bcILe#wXI}J@rc;SxE%pad#naBH=uooao$PW6ys=9<4wE6wQql=Kf^;4MjNg*Q? zd|`Mf00G{|QWs5_XVlTazh#(1P0o#(0|h%2i+%rJuxmo=aGGmIvB*L7dS9g-8v~?z z4_Wbeb~HRc!Mvbd5aiiikd@yB^Pl-D;bIaOf9&QMtVx7-@$~38MVH6b{&dwfPD*#a zj1LCv){dE-+8F61GFDL4J9qH4AQk0IY~4Nc*u(C0+{YfAZRdxvKaWZdYXzUBZIRaa z3lBvcrg-HBz8lsVcBGa~`7*&qQ8jbnud`huDfXw;!+#E90YCe>BHcK@s>=0C;;NaV z8Bl^5R#Re^wG<=Sbf>53Z8v>l(UH`ZrRL2-ieX#{mIka7i!SzO5VDA3+3pgwE@tOI zosdP?0JNK842|UkvmoKtLLCsvK8JTbf&SlDKXzl!%CPi9P`C_6S}*w!JCC~~q-zZZ z_~A{-_Mn6js#Dejdw(b+{#}Zp16~9! z+&~*5|JRW9`YsJ*lsj3^WZ!Nnn>*(;S3j#H;RiQ7_GFLF(r6ZNX@+uf z_5}3>%KU7fqlB#Cz?1S60uMn^ho>uMS(X4iD(ljxEHwc%@=f8zej}{1?M*px=6U^Y zHw_#IX_-P$ApwAP;_(;0t^uF9^&cTNsunsf;lHS@^53C5z#6R=V+UCSve$1BS-oCMz~ta zG_us-3a=3pGC~hz2E6qjBdTdThT|01ggz!m3vv_kilW<9xH3quBGPVfVQiY_c<`x! zgqqs^f0DN3u@r3i_!7;QsNGR%WT%I*y2HhC4Mcw17{`Hxk@8vfG%j+dj9wuSm-K}N4+oR%{4)6M4bapf3d0)8NEmzM$v^aQU~I^5mj;C-`&C{=W3?dZ3C*rNQ&=i;oY0+3=9z z`SC{O6T723BaTUT?yf6b!je5lW0D2AmM>0H(Au1iQI-2+EstPxMT7~~EgU+4J-=>_ z4S17FxPu}isfUT}G^$kYxX`B|qK+BIUr@Y*B}jlURU0$iwxr{Td^EMe7xF^%tHcEV zhfnij2X_b<%tL*lPR1^T8f$R5q!)G#c`F6B)kn8(QUNIxAG&tx7>N64jox#%PW?s* zNwTsz+${u76-wrgY40Q4;~e0tRf|;~X9Iaz9o6wm+(fWw+v9^ELxP?C1E2h09=V5* zS`v5}Tz9(T_C?9$rIv%-`%Qs2!>Y&RStl z$zIq1Kd?z=pWP+2YWaHJhbsL9K12u>k#I%4%DIA+0oscePbrUs){qI#2pIj-5V6?6 z81C^v>QOWBruW0(it0vl;dO1`A~OX5=(kwR#UCtTx#SO(y;cHAL9!O6;*|i zBc~fGs*Dq!#fzMV7-bpkceHbwQPt5x<#cktcuN4ki*nem&}fi_LK^6tx{z;lqN$$$ z3HS)zhRwfWHtl4|S2?YDDRzb6K;VU$>B9+`ZRn`PO zrL?U5($-QEbt~AIRB!c6G0)&savM=$-^fb}&Gnxp9WmBH{3*bIk*X{{D=0oo17pyw zB;MV-p|(MJ%x^a=={YZ3)`XN3?hdFiLD6j9)-4-Z1`@jg=iU*BH?~CIq@qpd{{Ju~ zc=dd_m+4HjA6`d+7gj`MH`PVQ5{MW-er*y01Fd>bsuL^F}mVq>PqB3%^6(bTshSOatz!^Wv!0ESq7t_$#hm0$; zlVn{Voz)x8UvZc$T!!&51BuTfN2N%JP#Z4A&QcJEV%q8V1)RLVI3c19=}4_nc}6S` zuDO+?+}Z+ZK%FJxMUgb}HU_62rFWNL7>C8rz*P5yzE*O{WqmvXf>6Bf5r2Q4f?2m)sp&9D5iY?!m;TVW5=nstyVjd1L#5tDe<=gHC?I<@>$j?LxGxHs^MA}9m;?;D zd0@P2L>Ta(2T=6%4Rhv*AyNfEM`C*hf$;hqT#e|+7^B#_*Axk3k6C<4fyd)SP-PoU zcM22!3QS0_T2|IWqd}$f6}8Hag@{}CVu8)QS8M>V`y!IK9sgnZVA?xo_vo1@zBg*P zxL5-M3(au3#V(K@*O6Om<);+}zp#9Z=UIIsWyGHCifiCHNVKnxxEIl`@%+39KeFYL zpiY>1CJQeOqB04gJXZ-0E2wuaD07S}3yjUR($r60YNEi_?$4rxp?`UjbRA%)L!VvPOPs#a%(=&q?`^Y} zOzLOrcFsUV681FIC?IP_tH60`EF}_X$oildfLm>T1z1m?^fZsYF)0Ym>SXK-Rzp=n z{WaN!7EI?)*a&OY)}0w^=E(#LS`K9Z(AW)`Y|_bhQGQc>vX^%D6ex@OrzGt-HrK=a z98R5(zQ_;w;mC(KN?2f1y=matLMZlfo9!U^ZxUAbw~0D3lypAd6~AJIB!1I_8#m)+ z*NQu*JB2{C6m$`bSK1#XoDYcE?VC{69&#FCS={W@82z0z zD?1JH7>Xg} zo&Q37s+BbOAH~zI!EK7-D_o3QCpuPI0BF0^b0b1Pa<#R(a5~CF}6iBn>b@5((C=7j$G2u6uQRyJy z84#DC#;R>7^p{^8I%os8r&*4n zq1&eE1yJ~5?kh(7JEPG+J_~b(Wp!*{)NdRiJz-p_%aplr^ODO~vYW8uK$fs42<$2o zGWRDg{dW8tm*=ZpUJgcf2-`1@t$^;e&u$umtM3GtTOdn140XYEkQ>X14^!$Hbxn>p zZrnYKXwK-BalFJ$6B$A}!G4+uTTI-DM$O8hn`Vdq9jR)*bD9Vy#OhjrwGj|SA6#M7 z*64Pp#r7@Ac=R~x*=Ml1aX4_8l7br@R+>GN|IulbDw zXvo79_to{L%iGzLLFPIO%SH+f zBooqxKOTxVqKJmF%R5SQ;|VI7C9RjzYnMPa8w_ClzTBkDs|zI82|sYhNo*_P5xpBAn3s_;>+FsOOsKw;n_ty(I-Qnk|HKify}!`b7w3HYx||@B zIDtymRy_osR5BWA4}l)+rmK#7?Ll73eI~TvX`}1%q%B*jd@1U$`H=+|2dn8f2}>RR{EP`n7Y&(h0h$WRd7grK{ioZ_H?qbA{)b@`seF-hQ!}oCf1QR2sAcossVS}es zwrMIWl<0kvv+0R>p5PAfx1-F%wwZ1TE=jiq-I%)Tx= zjp42+A2%@!gon4M@C!yjJ5iRAS}3mQgMx(uVhy=iP&G_p5V>r>UHpM;e4PE14i0sM zv?#jVtA^2*#+d<*$8pjjo0J;wo&&nHOk3aq0Kilbhhfyj!xNG~j*OxIc395`Pn?^z z`zNDh8=g&C4>yQla<*2}Z~6>Lrs8qDNSp%AU~okcNvxm)@Ko&%FXR`sc`fBD@+0t}nO+mZ zwmssxQ`kh>kqx>nF7AQA@NOd?4CemhO`+pCF! zVuikRks1t<71+0#g-f?B_2SO`%Nj$W z6k-UPs{w3b-u_}&k(^yKQDOc#c`myMvP}qkIENJ$&oWEH=FW2v-DwxilnEw|bX$=Z{bP;8mmd2y4%E2o(lvF$s|8FdI;SNWRDX4x?e*s_bt4!F(8yql-S2}R4 zsj;v3I%o477)pd{PgZ;+keW&QG?inwv?M7$;Y~RIKu`psHp8%+|!kvN(7WqCbe|kQvdH~U~T@^$@U&`}T%CH)9 zN^*^2d+_5+qswUvv^AP!`~F$N!TMNUHl)TW1pW2+`)lapV)?lUBg%?2 zqu-$cq|XruCO8bysO-!xx1&QO7zXr{!6JXg`G5$KRj$EZ4<(rh)C$3vM<$&*gsnqn zV>rt&{V@|PJ{E|#Y+hc+wz?ba{-?=7r(Y`}+sKIj8Hk~e+crdo3Kpuni4PKvAp&kG zIgrO3H^E8c>p3YkvwT_-F|xn(>v?O>Vtb`9~)AZIV`=#96`?BVu9E3UxiMJ0$s|%0y0VvTmp0jEeI3V zg)33?<_}yEKc;n}t4f`2E1FRxb}3Thp#yNkt+MJu=nzULq^Lna{EO*Y!ClNo^)hc>fxcc{fYB2T zjhpH}xF0+y#L&+aP#pt{G0UzY(QYTQemb2eunZ^*&4p&0Hv3X~6I@Sv*AQj%o(sUn z>HcZSflYn>T*Ls-VY&k>X+#bmijl*ljJ2-&l=#L*yWC$oO=bBLztPS?XMuX~x$ItL z$Tv3pF{E!3IO{aXI5|8r4>G@EG9`%l6g4VF#V%?>ryr!xoH7uI3@qEAR~s zC~}mP>(D=!7QNtrz_mBbA&o{aO@YUi+$ihd0YelFz*TqP&oO02s190$Wp5X(F)|$P z&+3Z)2WFV^yR)>8q)~A_Hmv{mP)*T%v&T@|FoW~BkB*113rIjh@k<&fnVSEm6@U+tdvj70Ju-!08rhb-=iGXinpF07<_qkgn6<*fI+(((rUqg2f*LA1JaCJII zjjrFtQ-IAIDP-KbLK&=ew8=yi^2eWY;FwKECMh*RwU6|fD27#$_Wa&kYXN>sA6Ch! zlQZz^zpoLO#u2&SZh?gGAH7;8I3Ez`2-cf^c(-$M!d^+i`>w{Cmnjlc=oj(Co}qB^ zH9Cx3JqaNs&{^qbFuuXN54j%07bC>8jsUZ6>ZBY4BHW*l%=})>1Z|lu zd@9GUjyZasP=kH|@?t--q5&-;_Vlenm_GB%BKBmvFo$d<*c`=RY53071P?#2A5E~a z7vvlFmQebe07q&|%x-)RP&1?DZ$Ce54)KKNHN^c3|RLa9rd*bG}m^72$&b^LYT)(ukHYYOiVNEm=fG2 zUcxd|6S>}w!}ibKTW&4S^_di<$6AKFDSE-dLrPU_H&_}{Ebs8lK}8V$y(%<0!R{$b*qeGu9h*>|mY`;S|WwF96OQ|n) z$y$pwC8DVsBQS*WRSAF%1bj`QCA7C-SaS*;ORBT~WEq8L7s>uxQY4PXq*d4}54aE& z4nXiR0s*{7-1OsM{5FBqcH;y)vYbF7vAn{+;9V)s4)9rl56{lC1!qmH0}YYrm2{t&Qul z(&Ey#1y0>Wj9#*N*@QfC?9ytzVaVT~c0q3T1ql$zZwQ*H>rE(h6S!6WrQ5KHzYmHG zSNaAM?v(-A2?|odh;KCP@8Bspod>+$73!erI=l_o?OQ)ZU1mr|$VK1-cRSG@NtBe$ zgPN08PGDB=|N8bD3~Toz#t4GG z;p(@kmk4pvst&jstTiIp6}Xr}v)Kq(j*UF9%LP75^-^8PeN5kGYxsK%Wqw?I$8!rG zE4$_kMa1kHu|S?Fmh`A;1lC_HYyE)NfG1!Yd#uR>SKm2j({@-ibg>L}8?Ie*4aq1z z_QZLKl=l!U26*-L6Rcain%Do@SBI!&p5$FoHIFf*Q2H#)%1lB!Y_!|p_Z)&N%-}?# zL#DZAC1~2!K)HBnj+oIPIbm!~-b8+1-yjIE)bN<}wD?4XLknkAk1~D&J3tsu(#{%V zI0~7algez4Q%8(UsvYa|u@+8wKp%ioWVg0F5l@6zh9GOrS_Th-A!h*i!Gj|iYrH1M zOyq}U^)xIys?L(D?DXk>6b>w}=#W6DW2EkqV zand4`p3}uR6l>OPqE=KENVOD#3*HCP6?Ze(Feg(UU?1l#X0nJzfB66gWK&?I2}8*i zlh_tOnl$HJ>d1PT?eFdtcuNH%II4Rvd@B|OT%NR9Imq@2jA9hDW?u(a=i|ti_7^V} zW>=zsCO$YEO(0racJVQqQ!yzmC(kYB{Pe%j}x%#2#M1wGwX_7<|dM$xoqTq{Sl= zCf!0%SYOI}ZCsJl6t7H~!MtXDf89K5G@atF9>8%$2a4$6+}kWjhi_bD`&D3P@E`^K z66(X+jq?@ns(7xZU=L-!pkMw1cum}_-kUJLW9Op!BS${xaFneejS{HdiND`wWF3)Q z$!SWAK&iq#yk8#s1EhOXl7=eKGrS#D%8Wwv`F@tP-a4@yz6x|KBA zXk}sa{RotJj17MIZ&kLAse$v4=1PU9Zi?~bgim>G#p|{gxGmC+kcR|BYEJAeT|dD{ zt0EqzlC#9Ib`{Ch;%2OHW>rVe%BoC@ogC+4IhZ{+yIaJcK574V*LgbyZ!4Er)J?S2 zz$l+#Gm9vJ=Y>WyJxSJlZt>H@TvGehzriUUdZs}reO$F}Q5u+DE%Q_(+UPqIx;i3E z57L1wWKXd2fWeVHX+0CD8QLgFo$~N0bSq>5{&MNn;D8_vQV%;E9lH@>M~N3Gl%?Lz z7M2-zFgGLnq>1Q|s(~Yq3$J|{=Oy)XaZG82l>vQj;%@SFk^ApZeOncIFQT` zeRa%JMFz=$cKs&IC(YYF{1()@hF@00t`oN5U&GNFY~rKNCIE>4d&Bl0dEQ$;2&Y(j z`iQ%4);x7lI=sIF?^1)W_a8;3*}kjHmdFtG^oR+~w_h=c z20ryQ(FdpB{eCD{6W;zM46P=_AV7n)y1NB!Y5 zFxR`{3X3*n36n6z-Nl{Jli7UE$~~Oh*0PWC**%ZxnP5$_1tiQ-1b)szAJ~Ip{h}3BOP*31G(WI+W^pQVSgg-7hu=#&(UM4`4> zw>*a+@l}ao-)AWBi}m4+V7zYR(D9tdU+oREXR5}lZEX`0SF|~*uAY+*^!18e-f(}H8*t36&@H5ro0=VbYjLHgU*W@=;s4$_e+&sfh8=o`bMxfy zXmkhyGn;Zek!vzy)*pmvnp!AXj=^@0W^4bHa~%tILZ|4qkyL!e5MDHh?M!|J>9&R2 zORg~pfApX##7mFoz55EB%_S1B>cnuQVQcEVg?S6<_^>oipbS5+g4Xa1FivN;y6>G` zP+Z5((F^Y`mD;W&e&GOp&=pnu`Eq}KD@}rs%CUS@hob>SF!^S#WAoQ^RT^FR1`@{xBGZws1K+PaxkR2)=5JH=i6Rz z!bFn|m73V8qBkj6Qjp$9yV(W*%y^=*&Ha3Ru{>&>--uuct=G{+aDfP&<`0J5LE^=` z{n$qM>;~--2lfw1t6F>>;yAt{eeBxk){nm3f#b5>-}cC*S5km~3m%q`=JKlhJ4HCu zk*uNhy+C?;KBExV?AL%d=JC?lp`4HjDYd~Kj?>!tzT0n*=L-$T;x?($>js!`~j z(uin3Vl;CIsijZG^*zWNY2HU->r6f45k9DZ46}RVn4mYMJSa3><8!&xjfgW~fPnmH zOCi7Oo6+arg{EtrDhw=`I#>i+N5;!s9Dj_Y1c!|?{#qHo=d0SV$}CY=r9Rlf8~$(1 zrJ?Y_#BX7wcp1@*eWD-@7{x6u--$=|ib&aAG&b_|RSyR;4aA-+%}5r_Cj^c8sx|+A zPFAQ=9&&LCucPv7p$b8lHth}YxzEv>RZx)gK)J#*&W*CJxIT_2-1vsG^Jia#hOGw< zF6bYolB$}lPTL{eGK8s|Hy+Z6%0wK?Je@Pd?LnuXMcPSb0eG}^F%V12!a!p&>hAPl z*I>NJlPUHe+K0~Xu-^`q^k^PAq^xuNhzyO40R3MuA z=jJ+KoDJ7k6{}S8JUxXNkd(z$kBjoSZ=co0*R&&x1BNUTMgGgx`9(|SxIX7i8KlWv(iesDX!;=W zav4Z7*}0@$Y41=raR7iBN!Z6e}?ZA)5C>1;bjl<%!mBT6?| zN&>Jju|8-#=}ysc*WPXNP|~W5UjeaDZcmr z^TaP*4*l4NJoA`uvzt>7{4$sh)3FoY((H0B#WUR{({KDN4?7R7PfIXDK8+<>ucq zAK|<$Yjg$y855lX{6tKXo}1e%#p%R?YZH|gtubo;2v5%R&g7|rzizZp18TQkUzxca z`ld1VGbPDekG;ZY{BU9~Qcc|_G`SpZiesx*6zMv@Ca9xIRF|hZ?j6hl4&>HVN9`bB zN*DuLd(ktL#Zkek&=?31v~=F=%+Ps}hUiPOU+!ovBz&q;si#f}I5p!cP^%JmpKzPk z&OhAS^|cvOaRJXHQ^9d``;SwvpTfw%b&id4cck84g8*wa`okaR;E0j8fsH4*Ebahs zD6Z{tk90dXZ-JB}-RjLYI!90aIJHg_ zjj3Ee%2Ow;qdRgOFoVcPm&2dk8ZXK3*^`4AR!OwqyLxokCtAwkCC4WA6fLK7tI623 zUA&HvE^+~ACl&l9Bq5NN~9$jMd7V|gQ2Miz!P^c)hP|80{T}R|Q!a*8aahLwx3eKe# zO$_n%oiBBHjaS1aHSt3(h zGK?MJAQs8@u@FR#olQJ^sL863S5{aHR%{Hmv>}$qO$5N8urpy1D3esCIth9)xmycq zG&h6W_UhqE9Q)HL_Ki58S0A_Mm#Ru8Q_DUNrU9^_Pg5C?(#l;#E1 z&!ZqHQ*#*c0vylxCt#2%+M!b>CZG>A0+*E^rx0vuI^c>5$*cL{Lh;`Wz!FuurtO@jNoHJZHqE9l}G;R z;v#|FDe333ZTq%Kv+a5M%s$zjg9uvfYznxHsy?ZVIAnVEH6bIYW4)MQ+dnG)8&XEn z@;+r8PL)}?^x$`zc5fN_Z{!Wt2}~ab51w1@4#ncExs;o19&oE1tCcwXeOnQz?_5W$ zhqNocBqf8D=!1QefE#J@KAfjsu{tRaLu@8WB$)y-8HG~}<#h6m^U*+WGccD_sWs)m zIUI4Q(?YHkR%e#PCZLV#-3gCje$|e!->NqhYhQsF9d;B~y8n9If2CofHfr37nv!D6 zc;IE#Y9|T#TaKR-oH^ftg6PFzwXnc0N&Dy3d@{OaIN%e`$w6zFJ_sCZN@8&33+gf~R~KY8fNHMo{qt z&|Co#F55C~dK1~ioWwKoovu3gH$ASQ;r@?FSC|XQmL$KL6a{!A2%o7K$A(z;E?bWc-Jwa6ohmCz~6$ z6F2%@YF{k;#>biTH!%dDZ4PyS(-G$$o+9QKx^kk$jDneOuI`gs$!9eV@pP!3vjwJS zVh+zVmO6!xujD#y6r$+lwwXIZVGst8@l6OdM8juqZ`Ft8=YG!c9?59}pGv8~I(oG< z*8uzyS-4bR-?xs5uVvpvsmvo+@zqwbrK8lxi4$L9PI`#$^B5^1@pG{YHjon{d3c9O z$bX`&TS-XH;VWC%Ef$kHj<2w2_~Q(0LoK?44@41>PNALxA|Cvw*JziG1@U@KP>wN!?#i-yV#QSu@yuAlNQLWB-JRJNR&P z(%-8U-p5`m0qSITqV6?IADqD&$~z|CmZn0@T&U~QnJPk6q%XN*=+=%4z}O66W>mb& zb_&7D!HTfiVEGzQ**x(jpv@)d#?QH^@ao!hJGvVgoExWMV{`68nZ&?q#{4dzg%C!~ zgWqEp{&e_JyRZG{#Vc3E#`J6zB=2GPz#1}+!oX(f{d4ZsqsXC62R9u`X2I~2Rt_8; zPsdss+$3@sXkKSb4<4c#q|0wOj)8Z1jNYCK_+l$EbRVx2&&jlIr^i?@vyN@2bgVM% z&hE0&*zt4)Bb6Cg(-OAX9rjV5I*qjjB4BeuM2W_!@M8xj@7;^+=F9HSb0dD5%`L$L z)1U*5Uf?8E?92a#QBthWKsdgm(qP-x2=7x)hso5Jk0(WzwURN%MtCip(K%l2**=ZS%GUIjwO2d<#{7Fg*u`9SseWv#{l=~kNVJaeQPz_FJArQ5I?fgeJ+ML z>5>8$atM#_XR@6ZXAUj6BGAH7J8VvJ{hg}60FfUQ2&ODxAjl6Un|J+8m_-1_wn?}b z4~PJey%7V%Q7sl|=z@;8bSB<2D-)m0wN`95lKa~}NZ+PH9I41iu-H&P-J(y$MRU;^ zas%x@o=Y{1gXLNcfflYUv+&)yIx1W4Qd_z93Ql7O=R8 zF`%Q!N(z3G6_6tv3;@)B)}dM(uVWJ%(RFEGpC<`iKN_C9%^PZY2`;HdFv2#>gl)sK z>r^-z{y$V2weMY~YeJ&!@2g;~ez1IB;uOs!VG;l;I4Ib5qX;KHa0Y06z*T3Wwk8j9 zeYUS8ba&KrWk#=TR!dSNwNVM~FP=%FxYB6P%riWbIe+ZVK-!q7t!DjIfC3kw?bPKI zRr-d?0_J`sa40aupp~!^fN4B?Nu+0bfcqZzw^dHBb50KrR|~oUjGdo9#qrZPZQB>h^KW;CR-r0+5;ws^NwgT*!XMbHpb>u=I5jZybg{rH5cD(l$UwQmZy3Zp*da4B*v^_q3`v!(=E3k@DCNS}>wN)zM%!{ap zz0xGsh^kX2IH5-L*#oeHmKQ)I*T;lmajv3C_CGgN10c?L^t!!K4+ z%(>5;gncoDZlTO$aJ{Y8p_nDgu#Lf#L1IKyRL}t41=aL_ozV$-GhP>9xdumH3M&%K z^TMHN9Yw*&A?xZFtK>aglOLfzxt!SEOS9gbxkz|h_Nm3Uu@N54yaB0RRVxSz?}qk& zM(r9f%|qvi$@+apkB(0Dt@=wQ=m2)N$KS+Pdi4Kz!%9Qzk`*)@c3Y<_xp;d?hzk_I z8)Gio)@jhq@-=-w8N6tLHC0C9RzS=^cUYXzd>j3cRf`bS0Zpug8 zJ0zt&ESBfz_&uEm(H~8j5uwzOWoF(^!7_@O@ypU*9Gen>sk&7NjL%Auf&DAt0fuw4 zBW!Ku2TAER}ys!AgOKkQXE<2!Q6xN;`fNSF29o>0eP6ylY@5p zoWv1*RPxtQ)28l*KXsECsi1MUoz=h!$bK?lk)Awpz~<0CVe`4w?y1A`o+D@5QJzca zmtenv~Tpmi-7jZTJ9z|ib`l<=~I!ra0 z7MH;@i%;~*X&8>4mM=w~D&-cOi#7ZnHTIkpv^i~?H`j^u`Qb6nG!X`VT!LFwVj6$X zZKreYRdzOpiY~E~M&?i+BnxU2AT1391iYAvU`O*60vH1wkQlde2bE%Z=*-exV_-B9 zLEhh?nG)g4S9Vl6YyYusaieP7g$g?u`7h^Hm^#4-5s{44C}G&9;7g9j;~r09z8L}4 zz1|HTI&<#Y3)Oi2^&)8oqDRAC4R|<6l=F42R-p@f`0k=W*XObQJXrol`lR??uTQ4q z#;I%+`{7>uhE9n;c$g>Ph`sOQDt##|9OA!8U>)ro^|8sfc}bAK!GJsvoX-cu({X>7 z%Sqx+Q}4!`52tuKdUHHK(aFeii}Ub4!XDf6+oDIs!Z_tPqa1yZvAj6C!DGmUoAEg- zU|Bnm4wTIzX6S`X3i!v+SHCEEibI;XCyNet*?nGFIO?2Cdpnue!Ov1Ge&d1p&0)qd ze$V7!c%DJJ1`NG%{4U2c#g*^B80+5GqpuPE6|$GansOtR$C`^3_vED}iHYUGg_2x$ za>Nu5!hP@*SQ&fq*aFVT{M=37_3O{Pk={c~pusJKE9ppqNu~GJGJ_INU+=Mk3cwaxXo1T0@LT zMFb-b*3elT!x9SX4fPNV)J5)0o;XLo)PZr>45StKT*=CQA7z|KY#dvLV>~)W%oQwv zUXNb>936$z)lVH<7t2wpGgnmSuuPe#&9tN>q(0yf)<{Y;O;+MBO4D@Lt}6rb@VlDV z_Zl8HPHI<_l@}1v#O^l8Lkjo0_D>1;xxcNMg8@fJ>M_U~7(4GSt|kwr}U zth`hG(kksfH$Q5Weo!ltosvVwz&+Kuk`+NxulpQlbW?fKp_N9Yz8@$K98HoA`W>9f zkle;sh$yt#D8l4s4hcbW{JNKG!VUImg=weT4MlgBYGgLNFQ?c{;-yXaJy9giA_2Wp z`%qVRjTz}RFQ@St!qdJk7cuV=Xd|5wII8!C-80XQF2lFOPpE{{&G32lYv795E=MNV+--1F3ei>mpbr2mr`6^q4s zgwE3e)}+|<32%el#mD1aLBj#dA#YenpI-QH75}WzltLk;NZ}%%RmG~s{f;OQSmnPR zuYeWHiz$OrbR?*z9;Z15&DMo|M$`G!Fn!cX20}@z;z;7j zX}aEIk&Grb7iSD3+w|ucVpwhRH(BW~HFja`G@r)Ej*AF>J)^P#3GpfohO>(#uMZ^e zv+es9dLj&Hb_?5?xhuUXlh?!BE8d2A$NcG-1fj|L*j2X;HvqNpOL<2@^`Fe*&h5%K z83?ZSI`drLN(DbZnL94UHaE5?Ni`J`f^t zpdo8#r$1-s$6-zSOcYV@=}C|uY|Nfo8eI6!-wq4>YR@rT^BSmK#l_P?dVkRRF3=C`sE4u$Xw1Y z4R6$v8KKB3nDgCWj<*{cr3HDd8a(50;)A~DqMY?FxP=NP>Y6@=;IP^|sL-CH@`V_j z={z~gATm52kO_sS)mK*=X?)qw5q&%q^4tyF)LR=1;pVF7hE(#~R*c(P{ zwh{N_VR*TA8QS>8fDjHLbmK@Q-3!Fg<&=0XaG4-SnP#~PVY|HfY=X;b09=@OA6%GL zDdTyxj7-oP`ao}u`e4uIrS!&HwAr4hQ=f{!ML4^`KgVMUuBXu0VF*+WiVQ`I< zh#Zh5>>21=4<(-P8RNoi*G4tLw;EanRrS|=`)NB>1xh3I0JE~uGVyx_53O$+8gnGi zyS&x9H#T}bhbf1I%ZwU=8Cx$zj)!dnvy*Zd4J~9*wR-K$v4t@frmWM8_5mJ1av{{# zqWG>)ER3G1r3zaQ-y zcbQjfH{Qu5*RVAL=f{U^6#-5Cthy$$W0Ko2HSd~-(>ME+h;T9mxYV!jA;mXr zMna&Xn7DL3Wl9wwsWF*}PGAkIBBC-K7DI?)K=B^q$KB<0^=`I-3~dL(DrK&BYuhN8 z$UfOYeeYeC&NEMpgcyb)ReUfNk@ADzQYLVp2#98MN!9n<4cz&&AFAueVth~T*0TE? zP@hj3Xuu4vSmBC^)8N=j{b6WfzL>v`Ag7jdsg{S(JEc={l*j20<>L}rlf`_vmcN7j z6R?1DlFN$dl3FNZ)D5nOoURN!mhs6W3Xd0f!+1c;QZp+}MDjgGc}Kd?VybAt8{9DeG0*RCeTHeE?L(SGj!C2u{kbeOlwxX4JUm=p+>5`GQ^j*e7U z2j#HToW5ko8LcYIudABJ*9__p2xsnyfV__*cWfrM#+E%*S$|P*iE{3PH+wI)AIar^ z<^w4AD^wc?i_OlO)6>cQV|N&Rq19WZ)_JpGJ~w!B)@WX3(<9q-1i}V~b}gy8*?I6o z7u%mrxwT*Q2^5x#dmSCAwz6*44+lg1J+MuAGnXfKT{DDsEyO#6Zc8@NKzsp})YDU; z?;NW%dZNx*hM5Re);3LHC*#QZ^-}w8o{M4`nP!8N#-{|aOAmJ?mMBk7$~2%h8oE%I z?QxtU@+mu9&DOSNT1;9vPT+{hZ4DG1bf?+faT?A}hfD@>Tr!eUV!UR=6jA>~(p-@D zN;W`twJl)+BcWZ+osOdUhT=xNN^ov1kc8G-1h0AKi2YtCL1>{@JN{P{{;$uR@u;hI zRYvXGiu?SR^@cW{t^80Ms(*D0yQ-ERCd&ctxbm8)3IwUdQtqEy<2(L>bJJLBN#XJE z3Fb)=kW22hfr!YBEK~-Wl8D@2Mg$>Ifmq(ihcV1l76ikCgSON*=(s!%|Kf1&sUP0~ zL+@4xBEE211ZoLrou{Si*U_@NTh*r2aKBM+o?vD4!;-IvS>mH&VlTUYM0luAxgy^% zUdkz*oD31xe$+3AS?l3a>@9z zFNdXv?X|&~Hap)52UT+{S2IlsWY|fXnxnM&hod8EsbPF{N?8UL=o1)TFP8oR^%&ws?RCL+CbUw^iy*m3> z8S!Q7&j+siIwtMqcSSi%soPll;tY3g_1d;yF-h$71r7ZGkR5~YuPd3O+RQYbf3*pyphiI>)5{!+3jKRH`7E9c*j@ z^2mJSDB0b9O@dmlRM=`ih~(%DOdupI87F?W$O+!xUD6aA6ifDO0NX{(9s+db>jKGa zG9&GX6T8oUA;~d?OFUTA*dJg0Qv^*iD-D8C&&rySo_pn5vKo4jWxY}_gwl;W_AL1K zM{tDl1n4AetXY&vx{>t?w`*tqS(2kXX_%5NGBuu**f%mEgsFqWM!fgzk*Ef-zeGb=EsibK1(bx-J5#DRy3Vg-osl{3pE#)hh;*Wj+1Tl+3Z5WpN zc+JiS$o@ed{Vg1gL<7-JYb_t}_20iI(by#dpu(Dma)0$bYQ>c6>iB0>Wxq@M6A7rKBgr(Cwg~&edH-7cfPPRm z%-jo>w7XPyQ8B-=ITBc-~s7@S9cP?oN9Vi-_Tk^l1P*xr^Gtd)=Lji1@nW^da zG}r~K-991Dw>R_P>1JH6ccGD6BUZ_>r@|ij_=jT4QuLxlr2LXQ8ByCZj=F9vYJA>q zJws140nZV`3w z`fue|QKEHcysM9Pnw<+KY=4a^9=KIGuv6J(0Ve%l5~h$l)gVTLaZkVnZ_HEmteyR> zPv2%+v%(OO1g}m{-j9PrB{IyNz=s6>%ny2Q&hZINuB}3u-TZgVx3nolWW}A;C07i1 zukz&Fy-eJEtK~!-drdiH9PZv$uXh;ypL{^)H4zPofa%?S>77 zI5+d?VU~1E9fy{{FWHTRujy4!k_Ir}f58#|-|h?sPn;@IA2OR0((YAp+wwN&LDifE zs(-FYjiR=+jw>W17c!+Q04QdL?R?57r5XvNQV~|u9n`w&c;DnZi+a5Jtz*RfAOycx z>At`Y$2j)EneX`C-pJ$~f70t?VPCG~cDtKiB{(#_1iMRR-lXwvJH z%b6rT+}9QSz>%F}^Q2yHaHmmM*Vf$lkgap0byS}fML=80t~Q$dU2&0tQZ}q|X7)?d zphK5}NE^#v`-AYSnVCem*7q-?cCyaV}W#-`nI4Wug7pDXRfHmZ!Cr6&G?$^u0K|zl0;W z_1ahX^CCo?DD_I3l=a{Y;XPZw3X!RMpzzA=-PrDVs9N2A;Tz#BaGiDxm+5tl|JW+N z{rc#oDe#QPu&!^^L%gDfpE~<~3(=mU1QVc{s2UU?B?3XvJQG4FmM2Q!TigPc?I3#r z{%lX>tiL>(sjnkJ@gUuA*H*>w8W$#2zKgN zxx#&mA+;1>b9=T1&M`hy%hrFLwBHTq{%mk_Nz-yP2{9WxKz$%?iY~#k!~@+2I+&a) zMFCxO;C8nGpPox;g1P&zAY8Zy^vAF5j)gAMTm*+!(X2BB|z(dvx&R?_zWV1*QNew_C2;LPVmBmmv7EwJW&D8o8hn})#P(R&j4tq$Q zF_{dsn_>Q~0OCTE>=pbdccG$!e~p__C)BTnSi8whV$vPDx4#6c16z|X1~)E$TVE-~ zYfIqp%d-k~MMeO~AoL+V8K9nyioiod)cmE;S8)!@)5u>QvYI|V0Dq}0Wur+WiE}))Jq@F2y5cbvm5T1%I1`ZZw~&e=*|e5mVvFZ|qVErpGTb~j}&%31AO_fGfX3(+G5$wy#<@25s(k@=%{ z+P7tbIvo1}kDElyt)inT*xh+=tXf^0wVa&}ZkGHxV zB0#x=!?%!Y9I8*p3Ma9Cp1-L4X6k82H`(vjoeHus*kCW`b+0mw=L+4=jY3j%|Hm#wM7q%NNB9*WCEJ-d#vFK57eKyd zI{%@@sqqR(C`)1``qt1XY^bq_G#jOL#hs6@5muei8mk_KE$rD}(=!kbqvt_V_V6&yf#qMS)jw0AWC zfYmY@Elp&Z7kQQhOdj#cZXdM;IRuuix0JQc4j6?4{HF7 z>@X=1Jn;WqC&Se{+&Xx6c;N8}<_KFE=g?EP1^qCAbVCsnH3;;gP+Rt8PjX-SeavHacv~ zr^u)0PFerFK&$+0oNvWs`Gxl66L~yYnKvITyBRHu^rtl?=DeeEg`{4eOf#8+Rw7XT zi?KEyNq&Z_ZUS(16oFI$Bh323(#mog7T6M7xcuRe5lcRVDMOiUS)kR0Ed>qYeZ~@G zq^ehrT;dYZP9rm)$uIIjKeh#vMQh5XHH7axM62V#a}ER@9|PE8H}Q(yi!HLWO75$8 z8~SG6XA6GPAOpQ|Ig3+_dvK(99=X5?Is`p(pSS?YTE$(t`fi*&xKiu4p(7&q5;xzU zP29lFt??iYrjf^$B+m)K6YoQ1h)pB0;>0bLl-fa=NV!}22>i>P0BEb&BT)oOAtnKP z%WB^}(Z$}R6uHWTy=i3-3sZ)Rq> zp2PZ>07d6Q|9%NIirKM5iwBbOIxub>EWow0q2((jpS8PWAep1y8wyQb`kYn~;H&XC zPD7Q~pGMBhmIO3N+wJi#)#_App3iRxK{$TOSu(62s?!99mBK*19}WkG7;4mAa$@K$ z*!@#ard%nLWyL=-?x~-upFkZP_{CX%xlK-god$6_bj=!7#ZobbHuw_lMk_)WM6B%% z(+ZlW7wZmPY8<#KR8ne3r0=eENKiCWuV_$qp!-bXSzeHzOl@bV+P=opPQGdq5R#af-AkY#hp)3i%`;jfxh50%btN|2KY4bJeOS=~r~B&svdErW3|?&y z{o;bI8Ju&Btk{{~{4ubbp?$ch??=}jKD9IfRTD`mfIY8mGhLu22xZPi7j|tn#Ivf9 zJ3FM(2QD`nL1vJOes7WVoU-E~XR0*geLghtucY`M-5HP3KSR(cW_bY4h<0JS7Cfj{ zd_*L!)1({d5T9M-VthA;!wkCcC&N&=UX|?zFC)PvU6~SHGj}t(1aL)>92uxS-^nb z{Ui@VYY{|9(-U!l(PsYml-|WYuU&N;YTZuarO2L_=r;%PBhv@wA4^5R&GBl!-QG?)i35 z?s!@?>Yf@sdfnH!6>R3O*=NCQ5pT`#K{+INAGvXc?{H9mVRcuSE~15R3w1MK+jquf zluj4qrNmneoMC_i{d~-CZtwjgu~mn;<{;mMP6djaLE?tlYGPau0sk{ zw^-5oc+5E9K;V3DOpshnn)TqA1wU!ed3GFkIf432*etWENd!tz3*SS1oz$!cGukqM zk&t;ou(0#1knu>-FI9`5@F!Fx>XcfCwy!t}HdmDH4)y4kPYteU52D z=3pjHce73JiF8y#T79PKuYBz*0}dt&cYj9^8M*nMhJa6!X`T~NY_)J5Df%J{Se`gQ zy>dO|#BZj(##73d(D2=0brUSo)avy6VWW>`5SUs;p%7NaOBDdGd; z=G?IQ>sSOYSn*So71!21Q26N1g>276k~#ZN48NL=US(B3;fkB5R`<6cTJRRtG&p~0 z`tMLt36k0=LLKk2U+iDT2cWpt-KdHC!Ja0TV@C(%-$ZLRjn8Ubt5K6^SB&YOSmgdm zwYP+xoMb`=PU>R_H*t=*vk%3c`TTebkHqs0Dj(o|gWT&7lj+FNlLPI-C&CV+931~8A$|RF=kU?-GR&&ipm-Pa#?*n*^%eN@VOcz zAn|LvTDqqOZ9l4Sy;sVOH6(j!aaWpVvCgwP8x)Mf`{C+}8>s-Fx`;77@dc2-| zw7zu@j!gsY7Qm@jM9&&(?YTS5?s>L#QKJoPP=tjE+I_7z38V-lsDzy zh;ngm$Gy_$JCWtHU>?KGvTNzt=<>zH*%glMESF5=2<_lUwwKo$d8d$K^1S&|S=V}0 zB<3=PVT9s}fN@tB1Z}D&cEG@A*9$C*AysZD=SO zGYKE^EV)a)a<6bRDfIYa*A>PH-_(mGy~w7dAdl13CyU|Af-iIrvf0LNmQRHOHA2`$ z{6-AZmi}*+na9Y|f^b#=ZOj%pOt+zku1hZKxPJ@oC;n%kCtG$@p_}MBQl$Y-qpf}w zV?m?bv`8)9R!8Cb<4cn`s*ULvByCkdq9UiS{SH`eeQ2=x8_Mz@Yw}=9J^0@o zha&HHOIcVP+;#S;Xe&moL`rYlt}2aFgxaO+oAFSK3;4^WJuPlv^G0l6ftS655py&c zB|WDuYD@0BW|z6j&kk1!vzYajLX!~|J)SaolS|xts{L%_`m9UA08NV{HN|N_qT#Z; z@6aE4_hm2i-Y_AZC+KORO@arp2W)i~N??2{OLie6V3Yxf?i zHpab0zlNP*wC0SEbeaDs&CcSGI_P=fkvnD>d{Oup})?LO&|NO)UOg`%$f2}_A+fcPca(^TaRlMS6LF-2LBEne>9 zK>G33l#0|o=UwY#)Q{!e!G+Kn`ICUJJw=7dOobw6rHJ4Qm(!Ii+8|^SwOKLZtm#pn zOcdcw3l964Js1pskm-yI&)?rk6b5jMY?3RL_DQP0vGbt8Fi1HKReZyJa7z$5<)tCj zw!TMMigVadI;?Dwe>j}@I-+4SZB+nY^G&|@@mL?GPWu=&Cam}7*R}?+w3nw@*rml3VD@!4?SV@Nq+XZvsHiVV22(}uZvs}W0yu#ze(4X;Vwny`3m zpSuA?VR<2R70M|Y<~YtJ<}zzuOS26r=929%*Ca0Z8L%;P6?z@e@VQ)FqU>iqiSO|e zd^z&nI(dAvk&ZhlfOE6YJ-GmB`^rIT>-MNvs9s+|M6o0ugpbb6?iIn%XBT=$zKDSj z>v;{Ksr&_mIm%&wz8BnCss5niuX|1A>Wg>@?(X4Q8#&SheV%mxD<&rZ%@1Pgq=}T5 zTk&$Z!j7?lFh;_~Z1?zKCRy`eFjlZLvDkgx9X0$ndPs6SO*{XD9o$ymwTd?`{U|IL z3Gh;5>oj9qFz~Q%wnZQXrAPs$(hP};+SAz@cmv;Aln`GckQ)6_0!Oy!!r_=)V!3|$ z>lW(f9K2;N`qWHXCq7R}sp%byGc(!t>v#7QvWYg@e`z-p`i?jC=RxJ4G6ABJsM=VJ zLs2Z33Z*znOAzkP@Gk6QW0HMT(ad-D-omM_1UQ0OTZfn1R@gxbs2ZviNfz0g4sj!+ z@UgE3p<8D1(;p{hE6&OhXJQr%pIPP+N(0mug7G@6O5R&bV1%6j-}T~CpHcO9z3^hi z)-;Hir)4cGN2wZKq!6Jf!Axzo$XoDs?9nUfotjE zCSwGX(_3$6*ol(oQMxFs{we;q4u_(gezLrtqTvuR1Q!*;6iMRrE@lcnRV#Nl<`bN) znr1BFj_W|367pc{P<sS`I|nFneabX3ArscN`*V? ztUb>)Z}vKHEd7i}+RO!A1!t*=-Gs{#6`1;MfAE#gDVgQ#j5y*I# z6=3Wu;i5ffZO989h`)_v7^7@L?&>jP1fap^N#ZFN5!Pl~5>F{k5rRuZR(V1R!oF}0qdz9bg*NrLZlG?b zhj$*sq=D!sOa$~bpM;n7@K(C5R;R^#n=7Hgv+VBu7G*gKQIY2DVLbkd*i%WlQc@p# zm0ag~j}s`;TYhY^0N|sr$*iE{K?oRL;4+xDdCr_(VFUHnF}BpOQ&D>Ro_kKa9ZuwK z!*fGuI+Ck=>{mt=Z#3U}xh^IRk99PfSOg~&DID|>-kj|DJitxTXOSpPCtU>eIIAuV zDrO4IwNdN|pm=8^pukUF$W4oq!_RUwA$7)6X9Mq+cr<^xl2$qC={~@o4fd%FdQ*T# zs6YhA<4d1^Kx`Zu8@k&f8DEsqm#-rUkxwPYTEQo3;;k0~z*^n2t}$NkL!&Z{sghkK zDPlk83*iqz@E+Ck2R9HehIGvA9{|x|TkG}`<$-UseUQ|2SWDyA|5Y+@5X!q;ijn&02!5v3VBjlE+A`pf}YNjN(c|;1=L8)b+(i0u}AXcwZQhT#R7plhYC(f){;D40VfjWflX>N&pDFV`1tQ{Ra$Pt)f4e*eNuYlI)P29(`vIzxZptwAZxF>7coe)l3MiBc>;fzGugu{QX;{OgIGHZ(I!Q&=_>~^#&fa|hP0@tl=1m2 zb{_Jr@9tG&@CpMAtENQ7DfwLlXZZqK7P%^B5|YP-o4waiPsn7*ELphKJE~e>(LK@15J>v zIx@#jb0bFfeE~vFZE6%x^O9v-lBL#DQQ4U)7*58&-v=zzPbv=x8!{gz#cm7XAY*m$ z^9L!lN8&A1^$nI?^0RNl9Agr!p+*`mP-0x_fY;f3ugnR%ZoaFUm1@q!v|ZV39@QeU zu!@%X272aKV7x4xb{bZ|0*X@yZI~VhWK0#DpPZND8pjsGlF9+AKu=pw9=(}Z?Ehs6 z+kyN+gqcmUx9@Z+mrS(m2Hj;p2P11EAjfIV*OqzK*avWrge*e6)5MAlTL4FeyZKw} z4DpNs&yz~qONPDhd}W;dZ>8W|ziGV%`f4CpHL!uI%Zr=6O8goc;SNUJMj>)dwp==% zhL2AMc_g7xIrgsv?AO15M^~Nn^RZXIT{V^q0xE6{6EARXm15^>Hx~aL_5>Z_K883@ zx~O>jJV=ZrhC#ts6`3v>pEq4Mfo4<~QNtU-EC74SDtyOqRKS&-v`1X?3Pd;cjFe}h zxM$P0=c(P%@%rUUMPrI;ZDKm`pwKjOK5uk>6Oc{VqSMfb5LLc)1Ihf=8#4ME}efuSS{(%SA2@_u~XO z<|9v0M*us~2_?@tcjmddd>OLb$47AvzCODK6FnOh?q=WeUn27Hde@oijI1k)N$U@N zBNrbLAXicV!GDG+oXh5+oH&FH!{b?qKGG}Lr4clcwX^(msaKtH=)?KGG>EV5x%0IC z&9S=EjSJRT5ZbN-<9RH$DO(`j{!qE=f5y1ijj#iG?-QkWHt*74yVz()y7`JVXg z=KSmAe6V_T^C>z(Xq=wtxKR8hk(dF8;{#L{DP?G5nHn+dH(78LmZ!0Ou9j?WD$?3_ zmZ0?C_)zX?HNY|6am*VQE^dFiRH-LOQ?g@Wj8}r1?h8DKMq%f<)0W*qzE*&ab2NsghW4A`<=1BD zdfD-~J3*rWQ=(49gBBu=$?kG6kwjrNIgBUc^+6!C&*{XBpah%V0Lw&B1y+I(t;YGt zP@LhD%>+Z{`i?D#5>>Y0vw0Y$5 zAzV#C$8BN8Cs^VH_Z~0sFc;pr7wNArg-!gZP|dL$xcG&Q?B@ynPODWxk5N@vFLW8R zvx$F=Gqflp@>_xL*r@=#LJk5bVANboxh4ri#ZD)$$lC%TO=S8q0jvKDHy=rUPgGK# z{P7R;3k6sfoFn3&)zWuhoXW9A4~Hya{|X?yaUYoJSI)|VHQjD3;?+!m=bWI)e7DbIkMIbeHb}MZ zU3#E@7LnHt0%Y+{+C%}akAX>j*X&KQA5CE3w>;p-d;5(e?r z=srq2AlfV2U1>EGRB58D$N%2dlB;tjS9zhP-5mAF z4fmpD*bZ%$ko_hbSM`YKu?1=o<7Wc})Azd)5>9{E)Wz%o$NO>Oil$}*Nf<=62}he5 zH>D|g;kuG@u%I2QK3NH<^LcARFR43?OusWkkm0>C1+-Dbk~~%_$`yP1lJ5T?1=E*~ z{DT|cb1Fxh{4zibXw=A|Vwg$~AJy^8Ta&8QE@&(5efKtjEa-|WVZ=sExhUIYPa1m% z^Y(o$qL?>Aru9IUAst&aIuVzwMAz2VZHd=YT~zM+8TdGpW9T zS72kFQb2*%M%2EB_N&FSg`P{Q5^mce+jkttE{X2gFvEQj(Xo%<>KM|@MIwl&orIZk zJNtcEKm>v#d%=^NB7*9j2w1G{ZY*azbxj%aeVO>Vyt^NEadD$9C}RhFL!Y@Lex@oWBAWj27!5t_YH#ej7#P|rmHCqRfu7HAr9m#t(Gc~roDnDl9rV)LuYC( zR!LJMx6*_lWPLa{Vhh}ak`e*xS{f-dsMfuj7z>#lA2=3sOF{EnCh{HWC<_E-P|JX2 zOY{J1M4KNeqp^*yO1wPT++w^;Pkl4zJltZ!js7o{;9`(^4V1MPbYh; zls3CK&%djiAOOJP9Bs>)T+5QmjI6{7n{Xg)Jc==+xzq}jxrK2#<-Ima@!^Akpbtl2 zB0-HdI}Y6GxOlX;&n5AE)j5_o@#%OQ>=V$n{ElzCj?U#x!fXxoy~15Z{)Ma6pmLHq zu{Exuqyn?zYh@Ovanh(bTkVkp62D#V6gKr>2lmXlLM}GFGwH-)Zv?BNQwcJ)3 zN>waLc^$E1?Ep{iNB*sqKgG!EpP~}%0?rPmer8?$7aU%1+*s>%!u<#1S^C$0!MWYB z5F8Ov=61$c(Vw6SNdEPRv&gF*B)? zkM{>biyDE)j-PW(+6qr*H0p%G8S0MwbFOF7<}#N;Ce~+HXQTF9v*ypY%_uLA2|qh5Hy9S_8Dq&MEV7fhBp0FyXUVcPS?M~ z7u~`te6zF5sn$_+P;Ka|y}e0^0{An(9?H)~%~NAy78<+tvkFTuUdQU#-fk-`-6jtG6Usi`}88DAG%|U{wO5?$7>A3!@+m4q}937f9PPfU~=y+ z7y}-`2g3N`##QtJa-Vr>YQ~UEz(IbXFzmoa>`o+W*dA6zr;G#WKB)&XJgroFH7QFT z@zZD2K+zvd*nPMGa*xry(gL>(kkL|B%-*}Wj19A0;q+pB$Pt==k|F>09c^fF?>_@k zEnS5K+rZc3W7Yoy$M|`HK(IU6u8B~hV3dUQ6}71lXs3Ko8S7$QkrQ7uVTP25Av+I7Or-8AYa+D?vrLP0# zr$cE7cEJI_fF<48BZ1I49H>t2h#~x1Q>fQDIGHz7p5etlKx{?Y{$oz-vmgJ6e!B5B zJ2l7Msc{H5SkV5!>=D5Jn$vOWCSjxO z$%lQdoNR)P4;$uDZgH)Zrqq&xv*|G9Yrh2)0F2^XchP;~g40R}=@49LE@v+pJ9Z6? zzkpm*#Eaa`_omo^FJ6s87FU@VAZPUp(WUnfAqc6Hi)AsY-?~~T#Kh+>F2%}%`J{1G z0S$Y{>Q4aVC2p4E<`77-2C*@Kf|{y?v)j{Q9_MbUK584iw$$jRPIdpmb)KqTL|dpe ze!vfk9xb|o-x(|Yu@SOJxXn}|F)UDZqeL*iE31mOf3P6Zd{&K~?298+{GPF573Fm5 zN(|ujdL!S=>#}>BK4U&V#5Pq<>%6*7rE{zgnoe4EQ&En$mlT72^3H8&K{Fuu^3njm zO1`B?=SF?g<~aR5aQc5Fizu4-i4&R*F$${}%%DvrLnlNhG` zBo)?Y8)RYQnO-#U@jsh2kWvxRkChQe#h_xz>gezh#0Kj%ya}{rC7m+E_NKqm@lo}U z`$8%)Xbka+jWesfxgGYH0k09@fzzyxLP6X{^b_E1J+5g$Lz1c+S6ed2LzsPP&@ z9$|+px@CLFl`m4oNc9O|(o_~zce$n7YnojMovZ*7;lhj(bYg`qF-6_U(efU}D^!|I zt#*pPn-}l`rGtPRA4;&68Mcnlo!!yEvZ+mWh?}rE-iFC4n@rT4rswuLTpUTQ~0_ z{gCk+Z|rz@_v$Q3tj~ipVSGpFk`@%<2Ig?#U8GoT^KWCJ%~>*7OZI~@(B88f@y%A~ z!Q{h#*J>Syt3CYk_k}~@c&#Wv1FzyMk$U_6T>_SSP4--5ffIS7g7{6;%Iz(p+B_`$ zfDa6@VrAHHBpBd}6t3Nmt7(g=HIR27fr(Wj&=Rbh{^fRU1eayzfx;E_@iJy-&0#@tt6%OsDj~Fg$bB zU4M+gWGKm2_G-a)hL-bpTB7Cwk!^S=n|#+Arsp(QwqJ9&dYGxbyr8rWS>8Wq$1cg0 z_#34{uRg?`haoF(%OmP2@Xbi(Hpz&0E~Kd5|FL;SP?OWpDM8-d2|9>|M;73k(59S) zH0XHQMo8=mD5xC=HjE(_|4yh>4#u+M{++A1@xKU9*uN#lf)qL&?dE{}mU)=lr@EM) zZr3Bm$|LRS@ey*WaDMVDtnhw~*Bkog%Lz~H82OyMbJNbDjs(?kD9^E^xrx?YDcoqU zf8aUY(mW0kow4X+1G?F$KNQS_vOG@wHxW^N4UdEIzF<3~A33tq-c>q!H{6ZO5-McW zsm6wV_(I!V^v|-zY?G`)sRSP``h;z+hZ)`gJAnxGxt2+!v|8A~pI@W(MjhSNM5euH z0cv|;bfXD?Kj+g$BrG0=wQVRb`lspb-iG*Jj@?RxB4l&AhdGX8Rz|U}7P-@+OsomCBsVhv@0ey9vYEdwfW8x)sH+Io8!PCj~zH%n|pp1v{aZTNgI}X6;s*pcmo4*vgnoTK>4BA(PH8<4y)WJUV9 zl?KgwJ*GOR2gm3og3`5c_s3X~884l5@vN^^S>K>0)r*g#1kyHW|GC8|kkUSSUfdh_9Ae6Q%at2zX9e&jy zX@uZ>vi#9_YvAul5G^x4;Kw}*8xIA}$~HlI^?KT-q)1^?vqE$~?4y6lcnk6S!>&o{kbcb3*l9OiZ!qFolwt1$ zLrCFz6q<}7Bcvhzmvvmoa4*~+Xf8JDHl73d?Pd>=oj;wjd8=;c_s$lIwLM@#N~$ru zlG)=giJf~WeY54?F+1<2>%9!z*`c$QWKCVHlX>lnqcqEm-T!;yM%_&EW`E}oX~#O% zfCmSx0tk^J%<5Li0X#B8oObZ_bB-93Yn%CLs0BEc1YyHHEz6%kP~@<|e^zSv8M}ni z5@G_SbrmH>Bm*R_?pBK!O2ZF=D=ktr3`O%9YzPW(>$e>dO906gop_*T23yLMxXYMp zl+49D@5OeUc{({F4l+oh!4qKv(-Vk1f%iF%5<+ZJ^j>-E0!blRIN_0?9t^JBuGht{ zXS)^d8W}D8Mq-bn@fuAkTwP^GRZxvMs9RheDSh4D+|K7?oNuVeUKAk>YgKJX%yllh+?|o zZv1ZdmGhR*Z{Vyy5=T%nU%dP73E!S}p5rriKusXN+q(#(n8-t){>@7o7vLnS=DU0< zmZg92$HaVLi+hG}2V}Ew*)iXNi~5dxo5Z!FtWmY9i&7iE=km#xhZ%Yx)yP%r>bP)$ z!}ZabOd()nA7IrEiuM59Inh^w$hqO4Sdq$+w%C|$3seRjjI^j7TH0z4S>DXuFsLgTk;kIe$b%f!9j z+WJ%(wUn}<CTKh{@&rjpO}OOK1LwO9IK+j(XlXSdI3FAqOXb8 zZfzuO89F!2uUHmxL1S6;%c8>-%719W9OT^)Ii#j{L?6tuV?bmq^FK(1y2PH?WXo)g zwLe+Vm&qPTbyKA;<_>s~r_Ih1aX(UMjOXbj#{dc`S&oBd2QF;+XwuH^i)vFnK}{!A z^;-yp1#3Umevt*2R&v*X7a|~BffWj)Vrk1q4d~W56$c~2?a|gu0xX~|*ob)U=aTPe zc3*+b8YCP-58_*ZOH(!B{t1PsNYypvePt_qDX{mqiT=l~gQu3?sxfy3`-b1rH|L8- zubJNk%{R7lFM}->Ri%9tdD^vyuph+g}r7RW4!K@B#NQxKZgJ6u}YKU9WJh8)PZ zxyqcukV1EMlxF);zF5Iix)cg^BG3^#pO*_v0GD3q+ephHlWrB_VOm^G;xq;aUB1O~ zslV3mO@#7&hvf#DJkWrmAZEsML}ud({Ehgq)Iev2J0K0iSYdbB1GKMZbE<@*>>K^g6uG(la3G(V;d95^2rcd=emcv;?4kTEC;3Ka4E%SD5~G5eDenbzf9+< zs>eaksAZy?jb%!?6_&>g3n;AikQUz8>Z{xKZnjwhp7b-BR-qg<`QrJRF9tSnWXF&nYOkf2!LFT&kOsPpo2VWE=TjwjIU zX(T{|pAuW7(Nrjo4^LfMj5FXDO`n1%2UvMC1hS>jX^TEP{mM-3J}fswQ(ib4mL?&i z0(&}_kGO;w;+%jdl*R%9MR8!@(Oe}Yb?@W7K`^|VAhB;9x@s#!(!2PQK?{w@_tzG@ zQBqpqqf(C{-sbls+MB+I{$z6LlhaN4pxPuDaKlpymTiYlJS*pbI!hwxz4f2Lti#G^ zBgok=CF;R@mZWwu@7G1sNMdk^*Kxc(c1~wbVg#~FCl^dwZ8{f}Ye#2bq=?(%c%vq_ z3%;esUo2qUhxA8YpHa|gmn!e}7fGJ*+LY5pju;>MwMc^{WvNBp!AL{8G#5+5v4&vg zgIg&3>;%r+=Zt-iLB}eiIVx-DdV{(9yvlEBVJaD7`XbD4EhmG{I{+G>_>yX5XL zk!QA6is;xjFVfG=R5bwxe~?hVx=*0y7T~8=<}Gjj?#j3#Hm<5{4wamd`xMjHo)I&&-^veV6ld{2b|o^s&kX6 zWXW7`Uvq?V^r)DfPBB=l^u{1*N08hGs6E|~iCA`J;U5_;H0*#`F2t+$?w5f#RzwLO zPCahAe8GUndfCu~=_cLgL)X&B>p73qJ-qkDKc_-&P_U6x zYeK|f-8p)y%~whsWn;}SyUL#vKjZF-$SNuzejg)B$&(pF>Zeg>(QIzpHPJGm?QUf0 zLmh2MfAR@{Z%nwn10waBme`FU_>h7CF55s|7{LG@Oj$0+r^i0t>fda;+9fV;3-+vk zX(Wb31NA3}5W72iXC)PIB8J>*L?;f(DQ9MnOXAMD(isvNorb@-moimEW0qx-Pz@dz z%8E6Paa1ah)337ISTar8kZae4HrTaqhfMJ~6W*>_O&*E$+|GR07QhY6?ZGOe5*JF* zc4$sb-&e+VZM|k8W*cwri^Tx+)ok+4Gf>hxc%gbXMJ60{*%-$aiNKO}RuY`bkAT-l z8-h2=)41@YaMg60Vbxa$yKlGyIb~_)0>o8L1IQn(8fwiPaJmXx_v7L*!$Bc(_#=vT zS@y>d>kg?4+^wsLLNT~=5k?c!LRxee1Y4cT*^$M>#H&!&5x&+S-1guFo8y`1q}!?H zL%v>_%*jR%FTXw2r=__Oe?Wi_SbtcuoD#c=T0@~_yza$Hie*BXXj>e7l}t2NzpowR zU}Ean9#R$~T?7mQ@%J@<6rzLnspD6S%Bx&^C0Gq-S=bpEbtQl}BgL(_nP^5`@lkOu z;iDFpq2i;yPIR~kp6|T0p(bOJx=BI!Y_t%oguHe)Qm@=));-hY8+J?{l*EHxB+fA3 z|3_^COH9U|-c<*`DhYij_g-MIfcD;`XgCIkMwPUNIm+i-aYN|U%!!9)w`~91l=IQb zE^r?J9JiOdPwoV5&y1+=crZhJsgow2E+_DASm2brj90z_ENny+TL6d;`*St4DZ9JU zVll3r^3Ncq(7(r7#jc~x6G@K1lw=vk~LQ9bUQmgGg*Jwhv^KqeQd!!*x zr7ZB5KKoH0j^e9#C3ScCCrKzr<5mh_IOov&X0IPlLP=2g@&}=WPR?c13Oq+%Wl8fd z+@z8i|FHeFO88?(gqU}Os{R+C6uRBjc7W`!BX2yYY?7CK@YtKXL8*3#F1yF3t1jHI z_2TX3e&+AXeRjx|KG=`HnQR|lB$D%K)j4&iO|^L8&q!&~_TY)kJcg=@wfQKpQgeyF zJcKW`8N6kf;B1cot*U7@EV1hg=mid1)53P(%Ok+F6SvC zd$)A+ENy_I+Xo&_!%3br&1TBTuRArn%mMomNq3FSt+RLc%<&HJ$Hbr-62_P|3nUdh z=jM(*c85+Cweg7m);U);N-C~yxl0=zLVe*>Dby_>+Yi^UFmlCANR!~lc=_Kb1s9RL z{p}kCM&ym61yOap)Wfl>#+r2RUrQAY`vs3zaFi$~zpW1U@o&MSQUYgF6=kDgqn$dSc_d%3#1DA5o%|UI@qX zXpaKZ*Gyt-f^r8yIg!{7Dh*zM5Zok<97)NFW~pk=HcK{E_N3!?t?K8-vXL6}tT~^N z(AY!KUqv=#b_mIG_+R?B5v7nr8Y{niWTP_}^hzI5M39Ibfcno=b} zrOf#h?efNuyh1J(FNejiR*3W73vdz8xLA>Bep*N)We zlRB%uH@k^){d<# zqzz6ti!JL+lNT?ri1RdfBt{c9Ia{9^wj2qk}`&{9ApS;?+}A*BW_a(cr{UK2xRB&R?mvk+QYz2pyF`! z2qX*v@hYlrJfWFFGHm=r94~Q7&gvp6c)kK}mcBYS+M=bqM!7(Iq&uiDMshfV-v2s1jdv2Qm7iLg@xwf6@2owV-u{J)m3F3TQ`2 zPHi=1t6|S%6m#Ttx0?qJpU{k~9FS9`pxTvP4P37o%vbN^IH0(Dd<&_1P|0`zI?871 zr4sKC#hU&<*Udw8tkW0}=|}}uL&5Nn6wterRDHk}FiNp(1F~&sOTU=pRU@2xqv(Sb zjpbaNs6f#d^jx^J6ATP7NY3N{cuG@q#0auOqM^kLG0fkQ$$!Bv={T1#(S2m*^UKNz z`Mc*xhLCnth8Ob{-7DFlyNo%t{~~1{;p_5JY_`MoM^l0ycs^eS(j>;AqF3bW4Y0bj z;$AqGxR6TiXrm@j%sYQZT|D4~Z;$1(jZ;LLi^L|2Xn}@qnQVMV&>BHYi^*uvA|7M+ ziY&Tzw2BrSO}3rROP|=kQiQ5GP(mR|mu{VA`uOAsmg_h=2G8mzd4eEWU<)t2{p7( z9Q^4mqZasTPIu2Yfr(ps;8hNK$C3~Q>aH;c+7$r~V~DExB2$dCe2*V00OXq59rFL8 z0HgDClT5K_Wx>o4nultVus*U_g`NHiu;`fB`2!1~JPU#mOp~)vg`|FyvsJSiF;|ph zXXm+4atRq%iyDRj4D$gf8F_ZHp9*ZcN$5R-#*M%gCFKVrXZ1c#$y32g$t&lS34Rc7 zCJz~BZ2_gsk=*I1(@>6)K-Jr}h@@W1&X$Y7cE0tu5w2R~qt7mstk1F1!PZaX z*D_%wh}cS54QjgbQ=8r5!cv_QDgew`aR1Fi{QsG%`HZbsAI~idu)Y1|S)m$`0n=Luw4?U^Hayree=5$3ev^c6pQH9% zvVLhWibx+FbwbH#^Pfe{5^?zM&1h!ve*XinB((NhUH;fA3^}@?wyLleY*epc73d+G z;;1`ae5AIdjlV@GP8&6&2Ts7zgiH~QXJlD`Y5?r}giZDu z91G!7aCE-Hxtfg8OiT94jE8p;T{KPt`n@`Xf4k^=L8X@y8=v}3(wujULgff7o_xzg8m3!$2>rHGAW`e(rI(=F`iiyR=Ha5*M6&?{$8^}UGs*UiPe z$j&*6iDLgL$=`g2uv84O_bpYRhlm(!NmsK$L?hj_=MjnRhPt90Z0hG15OByuT&@P;}-+O zKGOJFFTkJHIEz@HD?tq8h z_wc9$JgFmX<@drND)!;mQjVqDssP;c6wp|{;W|I}52xLJF zY%yL*YmS1Dj=Nul(F$4E*BJB3V!SpwMam)V`424$Dmos~s-U^B;zTG8A}K@W`+vq= zQK@9i6oXmg*Dv0R%K7w=m8|+o^ptzBAee)x1g$kMWL)WKszWmfXe-Lq0NA0oVCvF1 z2LB?*qpMw�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∨rP?Gl9y9I>4vW9DGcJYwO>-6Kp_dWM0_(7> zVJ2bXXIPqCpp=o$2b(6Xjz{|+OoW|HIA3qL-1ezlAex~X%T*#Z@s7;F$eqYJ0!GE=U2$V#NI(C)b(LvKLA(! zyNHlxr+Jx!Dxc@~*qo6(`nGrjeNg&9hrIMPjz}=KB!1#gOM{QW+6?!)Sc9qsv)6IR zWMk24xVmL}jejgKjxwcJv;wIs=HAkzk#fk%P%ZOkIg@;Z@wPUFJ~Z|4+yO7g=s+U$ zONS)+b)1my7>~v{E7}Lu9Q09;sYGxWKV7=}{+`bUQLF3}Imd~pk~pXe8`omtoMbb~9Nxdf43gfM;|m$xZ}L=}3U~l5%G}puxzr3}D|DAy z4GT$h0ChTc|4FnXh^MSgf&Budv_uXLCnhV@8ON_h-ugMyiGOK?c728gH(R z2-nULX$T?(d1_cXtBPV$83muc6pagJ9p7@t8;doDpb2kl5A1I$>Oe8CD#EqE=UQLh zG38Wkv*zSq`h^$nw9sAKVgq+yn89DWs-mp)pnRs8avtUKBt+?vE`VCBDr(9Qg+t5+ zui{eNP2TTps<^+M3ski6BNtZ!g3ejy_8n*RdIWPAaczK(sKw*eXOj);BfDx4*??FH zq0$xupA8pJm8`cS?G<~+uknX3BDp54i6iMXpIlA>H6PQCalc|Ow_$7+a#1_5HP9XZ zvrG5B)Ec)gWS6xpx0|{*D~)tkD4A6{AC2yXmmz5-%^E%vQNT^YMqO0@4l^PKQs<98 zkmhh5fkm3L#?IuQRHX-WlkA_5+=}+AXh+;B{D!w z#z-fpxj6f`@H(kad8oK`0AUy_bV#>d$1xsJFrqAw=nAz<3?7%*BED)c%p<%^Jv%RD3 zW~!8IGp^EK`HMyx-bXS=BEdVr@%WgHYoikCK#A(wLD z-?tY*8SK#gdJ4by!8zQ$NFXfWbUWjhY`8KuGV6gmogO>8n910 zvZ|yoa&%?DUwU$Sq-w>?bR<<`l_d9Tb{74K;?9A*Iq2dpbEhzc*>B2g%ai3rIR?`Q z6hRh8tsyo(Q3OXeNk|HFT!Vu}NuZcjV0<%JV%9zJbHwffn}Fn(Kv;OV?3l8B4&@HX@bvvl=7j2B$RT_SxYr)-Ujxh+AEPW z+*xApG_1Ibs9aodTNxmP!Gp+RwxxcG1ruZ+wcIQk=`+XQyg(k1am~lL@aT4|{}6>d zvmFK5|gnTX1-_aPCl74V)2^Y~sZ+x6SO#TLE^RkC|p>fhl;Hkt*J zmcY=HiqKzOREKUzXo$=I((C!@*M_mJ@g3aaaw8!YL1=av4=0f@smXGeLpBSBJ`xc& zU3W5-So$}GV(Q&640>;fh{zgLv3{;YEV>1*l8Xv8BDdfO&92G=MG~j}Z2R%S9ZCtxcYR@dgtn0BRZT6PXkXR z`x7)Bd?c2-x9c>Lv{SE5xC4yx4h8O+rR-Uu^3|EK)XSg8y2Nn}Jxu&Bb%S<%eP*KA zVx+xbm3)LY*>vxR-haWz9BeVh`mIv9%9^b4Fn3^$V@_02fJc{U0S*D22PK znHvcX=JyWPZ%aBot$mF-I69EfXz^kf_HdhTpJBQ6J}}UmufEd-$JrnoIkC2@&uw~) z$t-e3F+)?ho}#lRnbztCeu;6LZB4|U6~Q;}O(gJr(v%X@hvY*j0h*k^?#*jvp}TP) z5S-7s)$!ni^i5RSF_Z(1=@~MvKL#qLSda1_^vJiC|)_|P&yYqoY!7^k4< z+lGp3*KT6Rks;R@q#~3dA#6s;1ZF9t zZIpr5HGpd$&_>&~O7o6udUnFbk6*~FJDf0{WH4|>T0Heg4C;vCKeZiOb=q@2CZP4i z@Ap)MRCVsB@#g#QYj^;9yB-M~Uqhh4&KXtl>pi)@h5Ew{s00@mnWxo=5x|qM3zGp6 zJx3$AO}sJO@3S(vFKi${H)E+>)^rikfDpv zJO!*)AbE6b6|gFg{x3dSjJ`6loe!%qZ}womDN0AI_B(D82PXl|+Y;d*4t*lvV4o2p z2gdVGwhg3^bf$C^w(3!?9C&x1ag4_MQ=P z71nG~YD)8_wAV~OTTH)`d8fh~iXSo+dXi8BhRIW(S@qO8C(mZl%waAr!`a7G%H$8@ z794(HvSfv3hLjB{L{tC}2JNOv?dIylMAz`&`^*g|7^mrDM}03DYGD07x}MaXfI(3{Pl|czA0rfpt+?Z}a%cTDQ|BhViUfWYB#McvE?MG+uCb(V%+Sb>QPkx050LC~w zcb3i;S)nV=_(D#Oi%^re6SR7iSMeWwQ|^KqeMa}#==twp{5 z5h}`9n^x4Y8a)B9t53UfYrLH%xLy#wGoa|c&~XGNQI3H*c-SY5inH>T8);j(gyvBQ z>MS-7qS-;^rJ@g%tMKm9z~MXz0(u)>a!gL+lt^PrCQVpGZ$01XFevV2z1FV7jz z@t1;svdZs!{r-9UxY#*%QHJQSR*&)Jif!oEhp1P^zi8O^F1-huxhwxA219G(dtETa zuK7O|-rqs-hnnx2s_~p1utIx{;8_~MG9swAU)F79;w7~w-aziX1w1~Cdibvde}(c; zAUA6kY`~V$S_vRswb8LZ_7L+GMJHB=9_tY&Ie@7mSW23Cyp!)@qC^mr=a-Lzx`nxX zzo5^Ga?zHKu;>c~Y?wH-YsP8Io%jGI;R)vOvH&|x;lWOzHAxV36eUH!5#gHf{M7=8qUw4fKRAJ zrZxhXFO++5M&yph!_^5y1Leb%gkLWjnZ2aVJb0XD6nv(3+oEfqlJ@*`HsGp! z$Rz0Jh5vx8b%DSOpkxvM9hYnkeKt=Es#>Wdb8i92=Roj>hnL@T)K_He4fXnni#s`% zoyFJjdRib_z4H4TD#orBWJD%5$8H)@pam#R7Q;yR&-uyztO__-nPhXILa1?bfw$jUP9mD; z<{lr<9gx8bKJxxO1I;-rnOypM(b`-?KrVY4juL^7-jGfPzWjX6%zCKY?^4F274nvR?N=dj2EwGKg59_gO{ zz{Ifc$LkpN?0QI9g9NdujK*irUxY%wBEMrVW)yYikPi#jlvet* zc7gnPlcUPsejTOk9O*)fyV6(|f9{63B%Py9B#m<}6z4QR2SB%;BJXXX!5!Gl^p^|f z8X+8jIsc598#I~V4aClp6FGDvk!*sju#Ve7Hn+1zA0qkFU;)ikemJ!b0N<>KZ%0TZ zb1z;kwJpizospk{n%~fDW+TK!?A(`>K=B_8QU#C}U2uEDD6rIK&F$Kud2L>J5;*TQBg_8IR|fcKy+iKdvO4cCrY+r<~9MFRcR;}7Wk0j^469LX-pMC`6P5`}eV0y~Pl61Qiz9xZqJTQFkuks-AOHmop zNY4Z7YliaKGkWK(HPqdd-rl}E!c8X*OZnzZ3A9cwPW1X3mGZ9!5WjM+V76o|nF_UA ziF;wfagbJFk$0a6ixh^|#k&d{0klTG9sd61uhzG;zw>A%>H-CAH3<4PPVW%9>Rr$9 z1lg9j_ee^+K9mpqBTyJ=px+u56wlvl}0kB+pDBv-EF5sE9M~@ z_uVCztrM}(YXB~t-Xb96iLscc#($`+yLhN{VmV)EUZ82!$(j+yZvWpK7w?|eGyy2v9}OwAZO8IAYKcxr z8fi}8Vx^aKngH$-z+0Z%Zr0G|i5Y5<_voQy`sQRyCGmNRqysAUh2`AW@^HHG9gcoi zneli1Wab6{gD3k{<5`4~oTn9YRIn3Wbw`Q##wlyy6p*x`Z9O5?J6U+*NnA{M9w4{2 zIHXG2cI{?ZW~;+29{UP`yZMlQgPq%8eYg7g*81qu z#H0;hn~(fFZ8M>`pZh1e@RQ^N;ka^_k%V-=KD+|OezgO$L+#@B;fY}8>+ZXU-)S5V zd1L>OgsTwo{?|OOSaow5gnY@Z?#|YPN(RT2u96O(je@`-o}5x8OZ;Z0>&o_*X$4S8 zs(4FGUdqaPu}r3!I&&f%5Dj0mL(#JoZrbN!u+r;ESMt|+u6r)Xo7lUzzCPR^YZ)rC zYuocs#DH8teemGSt9)r;L*yLS))32MX70YJ7;0hbxSUO?y_9poYNI;EXpq=|*RH_F z%hl2s7D##vL2U9;z@)~;+GG~B-$cD;!$`!Vbdk6-5Vr=nYh2Cd8jnxxL6)(1O7^>H zb=zp6&!7 zfaS)dh~s6e6O)vo(kF=bWwZ?(e#zne1&eYmbYw>JGOA4f(L)PWyZhpJUENgY1OkOq zZaF^_Y3FWxW8NG(==N*EfF%`R5_+Ztt}P@qI~i_;j;ztu5O zl@w86x%K`~cz&=jw$at&5xD0}TUg8g(5<-D$))Ahxo9>`h&D!ynwqi4fW-0iFRFdy zl&x4Ku{H;2d4Pw*F^roPrtPM^iBn`Vz>r@FASBKfC~+WJYlX1bUQVT9OZE+_5w>JL zw0Dt;mF2gUgumt~MN6O=N1##sKkHo*9eKVmcWheQyd*{=iASkVS zlv6X12*0->(6@p9SA(H95rD7>2*_LXIEZcZR!cd=m&EGRLoz=xRxz&0 zrk%O9s_L(73#f^r6Rq&fBmVqbR*I7BbexiNIX`B4Js}S$l6HdA7PP3q_TVmkF2Q!P0{ zKv#|^^x5#+_6gLB7<2_@Jztz>rs}dPHc@y`FWph|TS5FIc*?8JymMq)=xo-UNF(M} z`xQp4!_NR7PJY~j2l|njcBN4Hfp5K|6<+_45%DNNwO00Y&@iD4_5i)JJV)%3Cye?* zHVZOa(>3|%JlV0nfH8}!2@~Vf8GHK<)TlIQ>MxF$2ETT4tU-OT%2MqB3nUvY z>l&K-#VXWa1iAnG;QCoyc*L2**)e6(xi7=;BX!FpuKApQM%EQUT36HP^xPDA?tA!K z#>DWGDPM-2$+s$8v995n6YvDS-7k9^a6J`?{{FY_`M`*~xbW!;PZXkn%gnyMptfo| zQZZ9HKZW%m14{W1i4tr-7<0~q*kCQu@5A$mbArSgnm2w+1#99g7{;c+uGR;bo=flW zxBd1uQ)X*o2i)SfRq|k?gs#%h1sn8=0Jbafu_n4-Yaj@Ww@=F8$()M6rA1e@Mrx9)E##y4-BhDrQa^BVxHCUdn$m z1S!H^c(oYZtJ0#WlI>9u;pW-QAaHdzg|g)v!Wy1j}EGzTKs@WB-xiK2ch`&p8q;a<5G6nTz zSUw5nz%6gs4U-<}ec|_Pb}l3c5E<(V+HxTFcIg5B)FMUHbYxjF;DbwviCcHHdcHhX zy;Sd;ZGq>Yx72fS+7so&mt`_04Z?g1tO5q&tGXU0x6m<)shnyDGwEV#_aFc`AcXEi z=Md3)yWi?p`eLW-nYstYJw6AbwH+Kmaz6_dq9>s8*N_3n(N-n>R6XhZ(>RNL+6Pca zxCLgE7C&5N{vP(zGl=uN^8CYum>Dc~q4~2}6;(y7D@qw8I)SkNx~k%RJWY(6=9}G* z@JB|25D{m`)7|c$%_P7&31{9ANPK)GMaVt>(w{Z`vW<8i1qHS3ujE)UOJq!|x{ISactl~C?_Z*EgwpKH#OaImOa75w3iheY% z^kS=8BmStEI^Q7nj_MbfQd;pN%NqD8OYhl3^lWFz1E-Q8EU-XnR}JM)8KbnzK(grE zp6ORGOzDC{YH1Rdo->_HevP!u8fB)q{t?d09vp^rMERogp7Gc;P1Q#9G|Sv?AC?!q z4>|3u#mCo5oWZ?Enz@Y#DG$I$|3ATFPp1hyI->or+6CSIb2oJWml&P#Gfv{q7ty@n z$qF_zn*La264ukFz2s`)(jKo9jS-+Uk_|#od44G^3%P}B&5+ zOHD^4>H5(sAQ$RV7(w@a^#zpa`PoB}3M%b7Q9j-~qT1W6$Y2CJh>lDdwY=WqOGUov z!9mI4uY(0!y2YFdWdB+CD@p##DLU?!h7its3U++2=U8`1XQ-gR{f>E$zn0@Su94*E z7=<(QR>6A>4WZ0HfVAv(?8A|yyGtERF>g#kR0u;+J%m!xy z@EhGO$~0|jpzQfvvE6Km-7zAiwwm$KE^oO?`P5Yj2$v7NrV9N4g*I5>tqf?drr5L3 zL4IKcE!8k810;&S@yHqCG+@WbkMgZFq?9*2RP-XVD=isT*Aw&N5uRy`N%b1w(h%Uc zMPU@@3IsqbFxwarD8L7WDa3xzbgkN5uIZF0tI^<-xUA>aAyPZ_k`KJ%xDjnW|& zua%xMZ6_vBTb$D5E{q`usfbjby<+T;#EOk5zvsPCRxvY#l6cHQhN_SjF2bhBm>Blkqpa1RdE*|L<(y z0_rBw7f}^eg~|&drU0|cPgrXRR>R=Cff5g5S`C}!DAd}i61Yi9%LBE6eHI!x0N0L{ zK)Wq_?bwxmba7P-ut9!OM9qEoHsX$j6wKPy8pvg7NEs zLvdzX>G(GCNhkGC^kr;ocK_Kn3uKwUp&jCQ{)x z5>g!O?;=l>R<1S@2`qW0un&)yQ-LgODblvHedvrA&uRwC>sOe5T(odIC$TRWBj)Va zj^#xUt!!J1%uraEMl|H|149t{Z>-x&Zzx z4*({w|1a~k@a&32i}}sp!gBy<0Q&5agiyd+BlV}(j;1D7{Zj&JS@X$}MelI^(_Rk%8DPQ)zmPC$0Y;Ls z-&*#};$2hqUd$8N(JtI8z+~lVsgHmRBH{zPw23g*jwLOmYzLcqsyR8OOYefxaO{pg z%ehStVywx}2;FNgOWP>c9@V{k)M?$u*)$9*z1bCkT|OwC@Uf_Wy|5G}_ramyG()*t z1^j^MRSD=`(A_mPW1UGbC3@;HK*(V_CNzL)r#HPripy9w<3N|Aa34@JW+*|(Mq^ow zBKD1+Eu3u})}qAk^Slv(E$_bY8b?pN(f(BH~V5QJw#?ZcK$A^#PFW z_gw4K-_vRRZ3r`K0bh6=NZ!%0m1xPd1K+OJnZehlw|ymSZ``IqC;K-+zo&9NFbq~z zle0F`prLK|6%69VBU8%5+Eo3k6UnD0m(!77cf8{AIb!_}fE20cZVng(wh#qUcsKs? zo<2{MT5P*k!*QodO}2LeKd06Om{C#61#f7VhoCWT`ZLaCr0>~2DghoU9E8)I>7*Da{brZCRw%h_%5ZiC^GI8?D6w(3- z^aAIz@TN3Rx0elVXb-QlUtc?by&7B`7DgNtx5K^Drj&WtiCCu_SDYaD`wA1YWV+u; z2VhUkMyrCW3o!fxjmVZ*C^u&F?l`2}UKn7Deep{WsiFYh$SfF^gVXb4foQTV7x9hv zgg)gvFIdwxgw>QsCqg#Im6tD|8YyZ8T~{tfi$yGO^8G+yp+k&V&M;}ZRYGC!MQqr* zX`;^Zq?bACa%5dCM?|;Ysb@_9aku7-j-IgvmVR_Mo~LChoK(^0-o6DSAFFaMAE# z2gx$0e~?=uYgC$5gN;iC!_@C3F(Vg3ujGr?wCA`R1ktau`BKHNsM)0Dh5ad4zE!k4{^tJ~9qz$t5m$)INJ|b*;g7Gi6~GqwVoyr8Tw0yUNLCB)e~tAn-OLt;ydWw zBOn}3S+FEQ+MyD<$t}k@TrBcSTqttRj1^PYD@b^JPIJAb3OSPevf*ZXE-3)+uLUg{ zW6%=zB7v4bdDJNeI^3<*OA~_OXF7=7(zV!WmBXVQ6HzA>IFq%fVRq*gvDfa+EQJ7?N$d7${owTSL&f zr}~}9x@t`DXj^-r13mrXQdM1eB|)R8ZDR?`jGeB|FuzvK1@669$-0N}mz?*qxY^D$ z8AY|2_pikpywwcFV6b1_fsUj)bh1#H#mvs({*0I)*km9V3 z?HWtOxA%0g6B(i|8bXxA2Q5?#bn?Um!k(;(#$c(?|N4|RmpRz~!5Qz_=#jbMtt4p; zG7OpHqiO=p-r4^Dez^ntcBvm^VF~^FGj!dVM~&8b0h3JM*v7_H6m1ErTuUhholFNQ zG;(8s=Mrj?OiXjKGo|yFN$|}vM{LG>L?mPk5FTo%4n{V-c>1x7#3u-PkV$0yP+5?( zgLdbXKL+<;U8!Kd>QpjJM-T5A8&I?QPF^9cE&PJraUSqoO9jyt2CtYoy{tmw?y?^gVbXm;-dQV;GM&esmcqm@`=P9yM>-6fwhOABnwOPbk4Yl=|O z1=y>GY%*Y4No}WI-q4O^59ej9P?KSxD>k|r32yqne7rz~FrdkeV6Hu3Wrw(!ksz;U zWAa!4b0<&s;s25w35ev(o&F@wMrk>xtkf$`$z>c>^jzYNR%E`}Qa#C}sF7!-Wfo)WZYW+evyADX}BIa<=`h?LzDY6D&QURMXw1_9{eHG0c&(gmmKjeiQr)WyjP<{SCUG&G*6X1d zNE$!1CZ)Kr#S1iGWhl&AeMSF&MKz_~stu0R^5;lja-MHU;OHSrfuL3$mW(k0+3CtA z^!Zo>+41zHzS$$v1~-%)TGqmdX0`xeUXQ6vU{G&!v~1zf>LO@_1PTq*HpcCNhf|E7 zRT-MxOaabc^`rraO>q^B?o^-a) zHR-yJYSaDr0ax?^=xA*UoK`yW<{hW+AP(i-+7V`++hZ60)3!TD5f6-gE<5n27Ty2& z@rX>~rfV4r847}4qE$aHXiy|#{c$S`&`KbZfNZHC)R;?_-5KA(l~wgsOuKpB!P{|I zG!n4lLQ7>&%lHde$!djp{Y^B#nL0|#EN0i3>oTHWv_64W>$9|>-A+^A#xla*t9os^ zFTwl57RrAl^=&TxLGabY#%~8l;5BjHqy1%$}F1 z-tvAs>ctB3Me2EzN|Sz4U*X^xtQ_;{sR&z{qFt?iO$WqDjtc*wZ13}xjnqWKXS-@p z7JCKg{Rs&=MeC9LnH1$<1zfQV?44ir_6w7Zxa^NwA@(p?0Xl6D#8FApXX0i!V9&x4fOL2D2_pVwMyKYHtkV5xQrFC zI|+}Re0JRSChz+|N_%ag%o2)iUE)7>_NL?qB!= zo4xjIsM&gyxTke}lvE{JH!h7Bp)X&*f)t+uTD(qDtg~tM^y?nT=t@iBCwkY?L7SDm zIl6e49*&;)`0Rc<{T#-c+spRP{@RC!g8sgr54{2yfQJBt-P;zqq7V~Mt-V7Djh4n! zr!(=1lDn#Zh|}Pf1i95O%yOpB1l6A8CSbjdw?JG%7G1g2sY+*nMo12D+`z53rVR{+JZU9kG~CxD19jkNm@&gb=@`S6+v z8v`5*IzH7ts+Dw);o`cIU4*;D8SW1F8p772!RxLvE=8o#ImzRy)7PDR>h?lxAV8r~Rl;%adNgDB#K4>Q7ilg=v^I0|kO*xs_^L!=#4nr!$t-TfC}FxHSa z$AHYt_=~;9&z0-lvpRHr2BEw-m@#=-`nP@5BrwcvRj_ZTYv9pdr`AL87@#@1$3eEp zvbv9)GN<)NhitqFKrKA2t)&Ez_G;|d(t$1M4aguHK|@iIB@~2mlzdW56~LL2032Hh za*VlG?Fi(S7dm3cj>u&a%PJ`ZcZ8mP1d;G@lOp1UGbo&0u}X6|?w{ z5WsyuLS@#MtB9CLJfpV&o%Dg$W8J7(ty1^~{DNvjbIX~5GkeXvSVL0(Q!i7|0-te_ zW^~g8roAZE6oR|c!v4< zptVw5w~*F!GS@Men_JqgV;*f6tV^)V(QYtufwW4_GaNM^l#6Ji=EN8h$tDfm0uPa>8^p>gS(tN? zU0Fw5?PF%UU(l;z$ zv`IE?6h+vak%yv9-?m2&DpIiPrk#J6)89){NPlIgh|7znFauYOy3@XOo;*UlO`_N3p|X(@M^9&vZw zEK0pciK*}8*%!`%JC0375of22A>F^DP11j*dynjSV_k3p-)>vgy3-mo!3EHr)jc-; z8W-W64_V^NCfc0lt$*!t37KS)SK$q~Qu5r!`Y#Q-D>s>aLdLTV?ZIYW>&sTr(uJeG zOY-O>UAVkN!RaZFI?G2)&YO!CINE>F{M9Wz_M(DY3ZQSw6STj85kcL1<6u1y(|w$$ zt@l$(foA3XU}n=o*{XtTtV_gQfb!H%qY_($EcTv2mzG^mD$Lj*YB)BRs5i~Ad)$xeIJSe zAqjNGKcT(B@R#In#an#3a>c62UR3&utM^uKaSt9w_45yr3@#IbxnzIz@Tvr^7u=bd z7m1ktit_zV((_Q>?P=d>zrZB8BNT|^wH2Q)Tw&IYB2)W6S6alAe98^b(aKKP$Eeh93(*R zv$m;;iRIwf(7pa-*4V*pt0(O*`g9|i znb1jdYr3%(I;7OS@NL*qg?%t2-S*hy67};h>VP)B;uHRS<8&11^-Ljh=tZs6FHf-! ze_P^enGB!Bu1JQZ5VAZJgh$6#Ry-5WJ4}omyR4+3pM{yS;@wyqaUqWlmeVP=uT&de z9<4u2-YnkclhcXMmRgH5f82sT+C3Ey#D46G0Bmn^qNx5jflc1#!8kmZfHMR(xgWFO zg=S!>O(!=B=5;O?OT3(iesspgJ{@Amo7T<}l$KNJjEx&B{5#msP-sLeecnoj{GAyu z385dQVYhqR3|~_NuI(mJ4MVpGt1ye3*?VlwNhXFjK)c>z9Ckic=NX`JiSV2+quQ$w ztho4}e67?PJE2vbJ#*a3q5-DqbuQf5XPmhApVKkQ-Xfb!q{pmm7Qo6J)i~@{$&%pk ziOm*-Y5xduCUsz9xcyLQSV$VsuA;8SqtgoVDxnOk$UWGn zQK!r%Z!QG)@X4$Yi_#k%QJBRvrbDki-l$f5N9ZGtd-<^IMe5^X$S7rcEVb7-pnoE{ zsGUuzb~@;R@Cs;*JwZzz{j3?1x?K13Y{eO{VBH5YCe9}StdyWIKLix}qhMw12`GW+ zq6JAR8x<*0`1Lw&E%~2takaBWRb5xVLyKzaEVAkz$ezfHSfDQFIEkpc}(4S7DriacwX{R}K&SklFVpHFJ`t z-dpTr&^pl2$;57znAqIS?cs_ZW-~Uc39m;1bn4dM>+deIP0TK!sJ8;~^b$cxavSz8 zW?cvgfGr}mv#%%b^6FtjDk4p|TZl3Lo$3j5)oIqGeYp#U27?8s0Ldw93kk%wm=S(f zqiw}gj)w+5)gmioC#x|YfR^7SXUK@X^d*UTWoqiw606moGYF(8+U|D>Kb`hFci_5>!Jp@=yKeOoz=oc8uUN}+Uhh-vk%H)pF4Xq+3HNzIpfyKp z;b^v6YI13sRGNGv>-Cn+-E%G-D0O;10aMdItQhIH1`ypnc_Jy&<8gN5- zfs6KE<@??IHZzRn2@*1x5n9xdu#xs_)tAb;)oAAh!xhZkI8+i}z!8ool7L?zcDyL5 zhX9HS(Gh)lo6_lpu=xJylhPa#=^KMGlC8px2)Vc>WQlmG*y%6885BF32iXCfG?I_l z*cLWWUISy{jlrsJOa3PtRQ<5GJbVJpOvm)p_?V)gH7gc|j&4NUF?-QQ%SMrFgswhSF`hu})HS(MleSB;h*E!F0;Mm=T2dQ+hx$|{Tj4QUq+jgFuUVi?=ouIQ zS^&&r@dIZ6kDBgX{c30N5=~kc5K(cvplwy{@zsLSb9HMuq8gX21eEL5LrMJxV9UHd z(A+J>o=Mda-XSHpF&3du#dGlang)fYt?$)hM(e}d}}8O4{Jos_ucFHR12fLK8}o%0~BBi zan~4rz${-SCbf4XWb6n4J*0(={O9g;1bV!^%XY5)37oARd1nk+)95}2+50AEA z7N(k~q(g%hS$U$m?fD!A}!G z7)P#)BLglNFMS2JG3OL+Ac9&id@BH0i>cmWReIg8j5Rlkvu!I3NrDtNhgqon$6RJ2 z)?|#eiL&d?kJ8TJOlT3Vz?lJP)d2cmP@XbmdA0TY7)~<;g;<8`Zf0`Jg(#w0enXBr z!FZQ=@Rc^$M7=Os-(&A^*U86pa3WOXnM~EcIYKB^kjQAjA?BvGGNVYollIH!EN@7- zV~~HIQUF+fx?TJxjm|l5`9ej#l!g~WvFU`*ptmCq<hgfd+tiYPe4^Pyd5$xbR}rx> zq3~)YYO_}F7tcPp#E}}l`~(uq|CmRjT(4so$z#)|e{b|N!{Te4EjNOYT@Si$1}pY{ zwO{E19nh|zw07%)etYS8aV5)jZS-IBwU!26e(cU8Au_Ntn-!;i{J<;mDRdbw`45}4 zJygnjEiRl+2$o|ab|=+23g#WRXQ}e-U5ez`KT?PiUu9@pK&;S{PD}O49$bOHrmIia6dNpewxN0=-E&ns3|du4cs5q z{rh8ijmt1_^2^=A`#s zE(GQT6}?3Uc_t8W{l(T|vBn^f^|XSztUqK@{USn_LKLrrR*4Db89&qY2O*lKlk6ld zP66Uf$D)#h^UtFp3d|rSKKNn9Jc0o^mkTzk#NTjKa>Lm|!6@oj%m08rI%T01)zk*< z4Qf2+%wl95HhfI*f5R8?E+egp+qp3$^$fCI+cntbYV+8*umI!7(j^bRUHkoV*yAj9 z!#ys-tDf-Dg2kmVx#Wo({XW0mUbn!WRcE=>aD1QT0Is)uRf}Fdis$PAFnoc4M;Qb$ z?{gOB4tvxA3x7>;?vXEh61R{Frf)i={@J`fjT%JgC}^IqR-3N37_Y!lGt+2;5AA?) z#OlvJ{+~Yi8K4ah{`yJ``EFM$4L~+XH##*e^^y~5zaURhjPB~puh0v@yS16FAhu+5 zHVKNy5At*HTj76S1J`1*_x<+nEngHv83Po}qHJk85G0Np-Bw@=QezUx;MsdI=I?L~qd zc%3Uups)yygTe`6P{=TaGBTL8J>Jw4g<3pe`GRliYp3*c(=6Xz0N)9WxyXfy6) zO%KesAlr1D@)JE1S6E}8nAoK(#b&@U3o2s2!51cZt8&?gqG2b3|WWvePJn zr%xKi_2`@Uzbu0y(ofZTGh%?SjL8UnjkKY+bMI$i?*Cm{F6~x`@{GPG7!c>GY8C%5 zMA>$0(dVO|X)vQ&-M$8Dy;`h^36Psv*EE!D|8N zj5X&$e&$ncnAYK!p@n&Mm~>ezJqU}k`V)2*KLvLH2*Nm-zQSg_O`wsJKWILZ<=K=Z z>`B~ul-r;QOA;ROyv8lR;=$vR_)XVIMZJ!&%=J62o0 zVBi1c7s9-9N?Lh4MTms)#$o8;S-%MCtWGPQKFu29VAz^5IJmHTI)ahya=|ypE6L}? zgyc6B1f!&*bZLszI7k+x{oxP6Jf377+HiJC5c)QGuhj7>+(W#md#1#@xy>ZV}^qk&*N2Q3S^dZ2$p;- zkUt(T<3!o`W$4mjo>y?|!M-TJ4H+*giXpJQ2Uva(%L-3u?Zmx;&Dy*<9XPglBql^4 zZT7}bAgC&MU&OFCuaaU~=d-;oR3lkn{w`xF?Rbfit1ajM>pI|8YP*7Sw1aU?G0U3L z)J3O4*E$$#wQH|a40_%wnK#a(O{$;xHool)-B`%ZQ~y0Gw@ zsSOOtm6x+-w{_?1qGJK=|1HWvJT@!NwOilA?@SPf@}--rs=4xz4EdMI z^}m`T!p>e_SX73r<(PBa^rP@vlFHUIkKS)Q7rFl?w{4jJQ`TSZebq3G20k9X4h;H~ zv`34~*t2Of_sTJtFlX>zZ`{$BAj3Lz&S=0!%y||`as*<5dBL~j_NABD0?30H9P}zG zP=olTR2Sbd?X+cX0C~y|d2g(E+~J}7*CArMR#tRC$t1@nBZ>D(g&dVpv_%CWKPi|s zw+@!Iy<*RACgXqXltX>gz6TKz@AlwB*d-1iswB<*fP@!n*ElCnEI*NzmFAERk_@${~fzAlKaCi6f=-L-3y)JzBmyogOaX#RT z8SzUuZ%9m=ZuoZjg@}z&8giW9l0O)yZDkPfcD@$HPzK>aNx>F^TV&$xfb46;jkJKX z&-qAyi|?2}XP>r)CC7I5QEP+{hMZ|(9?`w4sRS|;Jo67t@51L+-#^OF&&%M_FsKyz zE=bl2t?_)FrGJyfNHzSDN>r|?$iYf>kKDHt`Z68sa#9qyj&s~=w|s94eFfmxec4gs z#q|DPCPFF8tm@X}H>-58lDD)u*R-`2tMG*G!?7@*TTP2=1ovzXSB`vA85I};B0$pL z9Vpaz8Fu&6Vr`4c52nTb;mrD@-6+R*u0Pwzc$ngopYiNW5L-GU^q;hNQ$uVrP zr8D<=hT&(=D>=t~G$y%b5a|q;MW_uOdS0<3e;W0ntcc3QSuG6opwRKFI^8sb9z*4g z#K?}mX3dsBU@%Z-_rJs%ZeEkbJBt_qv6Tdmi~n<|ml)-3w0A>VqI*CSqA_^eeumZ| zFa;OeZ8WMWz}a9DCeKmhTTxx#Usr*#`#lWDrFmcmU%X1WZJc2gIA&jIQ>jtdAVMG; ziWrq|w2BN#>gLGh!m}mmFm5@0KzJ_K-YD4!udqeYxLg6iS#zW?=}cXh*2FtHFImV; zZN+Bn)CLTxe`|`@t379Au+CvUBsTDd{LYFL0`5==f{H>GHkX+La7x>mthirZS&HVDX|OI+X%odOZw`?km6evp)%; zFfJaDpeb_gzzdLdksM~N02SQA-qJfW=+d-x_1ok>rdvO`N>d04w(ORNu`XnA5Or`| z<}kdK^-J1RAbocyGULuQk4$1A((~$A*%d{O>}SJTdd>FNWT2uMFZ`L{w=tHUZ}9io zkT?IN1o2ZFdpQuf%%2=Z75^t%ySq4kl@{IB!bkE)s%xk4$)mk z4b26CP$jY0L%ymk4=!SfhmlHT-nPUifTkqxey>o%OH`h8+KRi} zc_bAxZ*ky2;F@{idy6GHj%7L4z?05WX96720WuOafzMZ7&t0XHsZ`d}!25h2K4m9@ zQ1}5C+TFwVHKZPtCON{aU`-uI8P`FMgMvcTQ_x5U@vEx6F(|DoPq^Y@BdwIYYZw5S zzcHeI`MM) zzZ#z!2|xHzU4TMG;-aOKrleFWpG7eX=<4jP?xjV_Gco#q@auZhn2X4c2;hg_&A5zq zWScmD!>2)JD-e_7WTu)S>V3&U8QAy>8KuBD4(L&dzP1?LQ`y*!uf`RHdTAq*6_)$+ zoq)S`h(m$z%#z7;L7F-MT9i&ef$%nK?HN`wUT+k!9|1VfV`RXaaX1)?yrLw zb%=i`69aaOrBq#^>tf>EcHlM{-dg=&l=re1g}@~5ILoT%F~U^S%~eb%+wth0KlB-S z^n}i4K3#z_$BKZ$!s+4kmfZ06?lBOoZ;oF)_sFPl?^=gF4XAUQ#{=W0g@ukCVD0TN zpyDYnmjFQWcOYn8s@s^1B^}*cTF+*aII~lYtlVviO!44wJY!}Gi`|Kuj zXTFGG0}F3GEd8|6I)em#&3j(dG%!*IZJbwMc18#wndZ zo>?s_KEj^$1h_fR+C?>X+a9VNWoZ&L?_4gvzCiMK*=8HkjE4?xUox}YBKkcH2&Goz&qBwrTTBIlqoOecrnVE_n5#= zkdc#z`I1^}+M_;mhjQ(Md84A8e;G;f>_vC}tA97HNj*zsCpxH4Z%hLytZM}Tb0b<3 zH`BbtlS04rU!gWiJcr* z_jP+1xFxrWh`{9IO?F37(6S$ymMzN8d~Ywm2YnE?yK~!S*DH=S;)u1?5!`>kTUZ+~ zKb7Qm!=o3l^NFleSA&tQk7kIPZ?=pYHKUA>icjsutrt2!(A~=GBd{D6;#BM(uP0Lc z2JVhZd*rI0>yT{xHB*j+56`TMwYLUBu{rg;#US+vB@VG#HxcA)Wit|#9yJ#HrNI4G zT-ewXl}yo=aTp#H9}0$B_)n_ve0QC9sm&wpVEmT}z6Rpj3wdJ+=e>)7&TMe>T}wcc zD;e-0v7ExsLp$z(V(~T>JI5alnx(_pn#y%nxc%cv*m;Vc|!f}Nj}LYxm4 zd0@D{<;Ewu_>NPETQRb!uSaB-Qh-Rqw?S7Y^x)#*dG5mgE%k+0y-pw>y$3tY6 zhQgr)whDVQMbUSt*&YpPAbzYWEitA&N08vQG91rd^;Uq#;QwVd+{GQ_!p*srs2%1H zEX#GLZfsEW6C$yGLPRduASy@L!KTw1yx9Xy^M@KXnFQr0Y3LBP`N0P3fGhM2)n@;l zZ!D;sw4uk7>wsL~s?VRs2 zF1@-()iRl0ye8pBR*iZ zp@sCx?)thXD&cTRw0)nN_fADOkXh=@i5OK%?XVIyGy9H?&Bdjg?|Epd{?B9cogP*H zn)EN8tfGCD_!27F8Dg&!RriI@9H}}ST!dx|hgSf%yu!TO-YPdutUVKkm#6^LGm9#} zhqM?SWY{Z64dh%p+P6m&&f5PZ7?c5S^x{QHf1Vq+7!QphXngIr|4>l-k5=yOy2YrC zGoqMNl8aU6Z6ej$3DTMQM~Akv;;>~gVV0O94%j92DsEy1CbFMjH%JSTBy}nJ``a2J zX_`KjOlGWZDVB$qmGbcy+NR{0DurKqny|>1)r7#PU9_)9J+Ic?9hxT(hClci z{+(thf7jpp2?@!YmB5T^(kdoLNU3Y6kI{e*t`YoQzP$vldJ_TD zMui-K3AV8hwu!Ok70oAa$f~F#pywz426;XQV2a^J%`-v8T`u#NFc_0-w2xRQOzz{G z#L=Ch>t#S${T38%ZphzxE>Fuz^|XgfVoSi%4lvv7yC87Eku!8E0sSHRgOEsmg-ANV+-nTLOpU%mtT#9E&=jXRq8ewm1<&iz+bzvw1o#rTR&2S33dz zahb*~XMPz@i;4KaR_INbs#)&eW&q-~HI}t+^5kHMS|Ixh6w{bycqv!~t!sP89iN9s z!juyFjuN*ON=knhKgnP92IyAy;bZ!NF@QOt=}TjQMxq(bqJemw%^dlw2WMphgvicm z3f=nwmetArXe-7sxLxe@)>%@!s!BJ}!x)QyCT+*fF zBMTH_X`*hD^3E#Nn3487&h>VJQoCdbs|eL)rCOlRyuB;>ST8u=HDg`o^pg^VKIvhv z$V<4?fqUYVq}%}iKLEgRYGNE+Q6X`Y6}p}lAPJD3_Sl!9cuvfzMQoXoea>AiXbAkv zfkHgNpscxz`nOz+hF1zOPn5qChOE&O`!d-83oAFo;(He*Cw6yG40lRB1=aEo>T86D z$591oGazPpyPZGsGN)D4(yGuZBmNHwIPP0le`l=(*5+n!GM9oi+EphGVPx}+g~nWB z*RzJU-sOfN2m(wU@zUvrktwEU(w_8yog!vh2!panm-^dC>apmj4|fkz`sS7>j=P2g zKb^tximGBqN3;S(r=)u1U>bMP1lBJJjWl~5j`NN}-K(IxQ8G&0z(r{BI`Q;)^6jk(t=w|xDeqj3jr!U!SJBv zU-~@NTQASqXIcb1MLzWkv|Y5spc6II+9p}zP=dNmfm0NCB3On0EilRG&*RHk{&85Y z3Oy|1vqMOK;gaNCQILj|0`*$C3V;Bh_mzPszN-{u*jLZ8{U6Tj4c_W>fRM%| zpOtDV$$Tx^Wru;&c(D^s`O}P}3!_Q^ZsgD4I5=fEF;tkj(XhvP7NM=|y}bY!O<9P{ z9R>nh_zFJ9uUPP>SXA6bW|g10H@v5s?7_+-X9Q^`X*O5ep8BZ;hGjE|W(eLqMm{dv zOk6`duwHtYAo*n3QxORW6#Gcp{wKpre%$U|8zgMhI5(iOeIbm^WJ&gVu-tNIacH6=~^Fak0&~$vCy7 z7NN8efEk1c>7WUqG{+}lBrfX)1|qE{WH39CIVtOc0%V8RX)`yL6-3fuw#*Urc-&pJ z;~7Q9*I669O#MP>MVDsU$IO(Iq{}eB;LUaAr3LRm35{jUXzq3Pn;}}7i%ao zK(%-}Lc~TB;*FHt@291CW0Ai!RFEq3ic#p7g17clb7D@2oKDZ7Vw=SjNYshh8H0jE zLH^Qx-*}1myy|aa=SaMU-J6^18;*aG8}qd*dWf@d=5q3CVtx5huXkU$ZJWo@(h3wL z?6`iIttR4Vikd^dqoV?~)cJrtTo(lJ8aLOlZ{eDTziP02;Q~VBnf)X)(De;8zS17^I^OjlBTjE&1!u+-uwjqiE zN8vkN63lKfe&s1t9Dp%PiK+<%qcg)PaQHQ=WM{DC`=pLAA&3-jQ_A3=C+~9~yzfV` zXPo!7w=YN1{n3I2s$2l$=2b-*Yo(gWJ;at!19cUB;SVCTgS|>!Pqy;&7MvC5j8->9;tZL`54g#-=>SX^6X>vn zmU-M5{Mf765hIjJ<{L^9@MmZ{*!i-evr#|{67SFRiueAr&1c7iY<5;2QH77=I}A{F ziA@Vk8HCT3`g(y#E8KI)z6lB0rtJ(*GzhL0O7gyEo4x{>=zG>u+`GR0ym3^$TQe1J z9#qqj?n@q>qfds>GOT0R&MEUzgjW(6#7wHshn@0onS=AQH>%q-)C<4td6jVib)8m# zZA7_A1BaGv;O%X?94}|4)HVuQ%5I~A+7&-x5hh+pixCruO`=t_9t>YU`3 zTFia8E--zbOvfuiD%DKS0KD~H@{lrVe?i6l=nyY@VXFm8x>jE?vN;)%lVjBsCo>8_ zrs#s%q?f)!&ajx-&5ARaDXH9x02#HXBvoZ@-vGxBm-rIfEy3c3#=oJW>}^>jL*Fj* zZLAMTeDWS|prq*=_mO=Gnv&L?@kIfx_`+Pfp&E-t5)ja#m5&)~%lZd?#z)DuCr|bH z!-^Er*g06VGC`zMWags=)7q$aM<-lYbNUiFmloMb^x$@Y_g#Z@@JK=2w~0baL`@c; z&48NI=LTA9(HuiZ^7E1b5YKYNg(`M$!MgF>;w{#Ra~DWO-A3s59RWE#(70fwzKhpYyP&w9${zV1=duSf6Z=b5XaTWtVryZt2->#FEs|d z!#(Yo$#`F@_^;+`pL_qGHV9zx+>Nl7Q_K-_*{1_b$Ul|PhYI}>#En(!J+hFStOu*h_<1z@vZ!2Ji{KWa$nQk+6~*ryOM)Owri8DS0WEttl3t*# z=AGr^940kyU8G;fUfz$Put08w>1!k1f3Zg9{w(aDu%Br|NpRhgsJJN#CuSG>qBgsh z)VbKB^zN$k4#o$4mH?;=-PFC3SqNuw2X^oZy4Uu{*yGcD_o7{9sfO)RWeEVYbVTP# z2YrO}DP!vb&{7mK;b{7r{UCGUQ#e#hIt8{i%=YUdF~d9=Ev!rxHKfp}yMyj%SXZ+N zbC5nr_?4@TpXa4nNI);G=PAQnBojR*c1$|7#wt@q4x1>%Bl@r3no8UkNUbfu*^=Ud zh})HkGcqEGpDKzN#wVlLDmBnaP5yuvy56H-DVDmLjzDOsm=8V$ge8i>Zgk@IL9XsU0Nj^27VBa62*+OsTwq89>;pge86P*D>Z$)_OQWr`?hw40)Q&F6+?4ibh_G}>tI#V4Jp(iWg1ibYhP?6Dz5G)fteP+)+ zt}E|HQDh+rhcrx(C7sJ{=h7fZd(Kj5-gPOx=RCBfLuHtKh86s$!Au>E;gmT5_L z)p-Nz`|40ss;x@A$r8af5snXn4q(Y(RcFPR8_?o7)d?%QRn8GzYL>dvzJuo!o$fFpl`er+>+>#=fxpjq)1ci?z{YTX9hrlR+Y2wKXNW$_&`U5o9+Tc{dxE z25cgbF3_@?lmL3_Y-1R(i3^VuNk-k2y2lNsO>ZhMcNbxZqE*kC|6HiT*T*;hx3O=y{|(TV8Wp!dQ38|hV&KSlV3%8JJRv&QsxfK5H;q+@kOvQ++ zlqv0F5*xih>d^pzpE|0Gq>1X!drmANhs!!kVAm5cRt7>!^>;X-@M5$excN$ty)!ye4a@(B=z_<3G-GGP(k!vSE=nHX_ z)-=pada$!MX=r0+zlDHp137NGK)4#+OoGwrPGV7LUb5IYiIOu_m2<>GRj6NV5OMbl z2UG_P$NqaNR;r5>+;fy5cnELC<^ijJ=FDm*S-}aMV29XS5RI(x?O08z+5e{dfrGzo zVcg)%?Sf^G0?^D^i-~q<^a}Ze(7v_H4g#{HnTP0+dDbkylX?%zXxyTIX?7+n=89ct zI-{~kjzy5>$NU|R!E8tWFPnqRS1zn63ck*$#(w{imXF5sd|acQNa@oV+_Iqd{{O{I zd7q0Lo`vHDou#puzm8)Ux{qdHC*Ddb1)@sP+z`@QX10E}V_6m4ZLLvuy1;XM$OojS zwk*IN9UIy+4H8AIE88IRGt=#z3c4cRR*P7nzUBp{hkx^-)q=2|6Da0?vleufl|QH2 z&<0?}5fk}PHs>dN&vj$X;mY`kmz8v5zqHiROo7oEe{h&Kj=jrA_I|*;r4lGLOB(Tj zl-Pk+=+wQOO zoF^L%m2cJk@D1Rn`O}oXmSD1Zq+j<`KP|`k(3)%E+|9HyUIu3TGd_&->hWGSWy)1d zxwYD!XEN`iECrc>@uvB|=(-YnC$k1S0&aQTNKIc_rf9#EPo$9%wtdbgI{Q$tbaU!y z4M&618qwKLTghESwOMQKnMSO{v2@gh*$Ivath{QCb@MQ9b4W*F{y~abenyeD@b=m{ z*|Xy?WH`Pw+%X+mfD5PtMyx&AM{=8G$uI0&ts+#t%?MY}JT4s_n0GD7AecKCoZG;& znozg9xnPzf7}AiEeS9no@g`m^#7WAwG^?x$ig85Mw&mxwqDhjxzqSX?`jk8G`E;lP zEN{%sVqfcYVfvLYGvK;og%9KpfV1SHt=*-~$02Op=mM{DUdTL)St@YA;2puBQbhwF z<6;(a#{SUb{!cV1fXLf|HT-|=n{-y}$BuE2os1WH*n;ewQH zk3hAHK^MTi0nUJ2mjol`A8qW5bIuz*2QG1@M&}#c@QhttL6D)9UhJ>g)2t$ifksu-iF=BW?E*oI+W(qP5CeF7W5x(f7PIWryDba~$PVZ~nd zknD7du44kzhhYk0xq?HZ%r3i7($IbeF?yl4YN6w}Adi)7@Zh}`^rx?mKS z_1Z|C44V4Ds&FV(gHh0w=Xl982s0AV*y;m;7_La_XuK9Z1VDwe^VFq}9u( zA4ObDM_rGX8O{3Vj2pa8jfBGxJz)BQlahK@orv?}#O{c1Jp z(9OE`WF(_X&*aZne$mHjT?!_1!!D&Nm{a)o3H{nA_}dK{IUFnKGT6645u1U)QIa=$ z(RQ3M6u~3AGQ1cVP0wrw9hxWYFQ;1_95<$W=@uEwI%kcYrp*EaORE~_P_srngzyF{ z31BhWGyGPan!*Gq?wr#RdFVw#I&YL-`SczrX|gxr4!)|EQj}Y7m}mM92MV4hZNi5T z60uyvRr-PHM<+Gw4D2TXDE0J!bO#^~L(v(z(8}!{MwYA@EPTH`X$hZ{haUd`VJgux zN=Ck_ZGQEbwCc{oJ#1>tEs68ocpP>7c-*fABqB3}8*!VY3CIIfWu0X{*R=V&m_*2V za!T_+?7jDKC)=e?FucT(@jFI5&o7M6Ov_#z1z*0VmcnHw`h?HbA#uJGB8*@tm1pP8 zB7u;oG*F}qF)3A}%n!j8`kcv;Xgeq&)qn}%U38OsO}i262xz{352Tm3!}ogb0Q1t= zUPWEY5!C3!AU2?@AJPyn!(2j1O-!0!+s7q^jW92|L}4+55k+C@1g<63DMR31T{K}t zB-9w!#>5e9HfVN=I{k~fP10F2`7{7QU3$4f0{X1q)VNJhLSHLdxd*@Mi{xUElzmI) zlOQa9zF54=mt@P9xL$0mKUB!%sGypmbc_&_0m|r;s7yiO?EkXCzDgmQ`hFXQJc6Y}+;gxxCPdxsi_73tb`fqYk z9YPS1cwg^5h0>cw{@F3$0I3pE;?h^#Iaj595gjli920Uk1#KU_^Qtx!FXXwER? zDX8onv1BMyVp6Q@C5O`&_#&ubQ#=TdhgN0a*p-wna@sN$v$?}v#*o8*l=B+_5Cou5 zN#A)>BR}Bs?xd*^xCBKgA--^d1g$vdt0$6!mRr7KC$s5@P?b}56_{LcXfdtnfFrK- zs>qETQpMHMWxw=gM|&My;N#2Y+sziDYpn`x}nTb z(wTc_^n`syoT`}cmSMq3&(-BjjYsg=P^Zg_gBhgg-wZju2qkgiWNJmfN)UX?jkA_i z%t6SaF;h4=ezv9PqK;OqfOC$~C$wA~CR5!@wm5-1&R)ktUo;K)Wl!WdD(Ui0S1Zl) z@3|6Eb~tldLVj%3S%L3Gnv&8O8iVy!?x6L}9*tmgxTTI<-ty zN^g6=pwHlQ71d?$=$8%jTjckDGl&2!<`m47C~Nn`WL#@FR$e2>C2I4X8}j>s#+Hz+ z0((RLWl|n6Y6`>8{>U5-VVKRM;6(JM6ctK>slby!PJX%O9l(FQ?EiIpQTJm~bED2$ z-3?v^Z*#cSHlhIy=^Chi%Jp{n*g(SM@Ph0c@0fGsEatLou}ez>-E4VCM*yxCGu7`81X z8R3e~oR=m&tTuuqLJdQ5urQ(cc^5(fW#HZgom;eC)=b4lp4>-b6<{I@jdIeB_mFb> z&T-U(%>1E1D$B{57cD4j+`*f0Q`ae8o=L;v(!zl{E}X=Z1GfpT?AC$Rd8pS+b&c=q z;=@w@G`>XZHLn{w3=lA`rkMTp^j^x+ds;=LR=K()YSKWfYQ_5+%OHhfovRZj4nDUA zrBJhw*a90P=M0S!qzkxyqu(zCQEfFb9Rb|9#U{*_kYFj1I02ZKYQLr?wVW3A5x%nX zyuvDSG#a?N5ftdZt>qaYz=7*p1{(g)m7tqh{n}tY=VD&rJwXU6panV8J}}jE1B!_Z z@%hV~d6F%((<|@?@NeUpPkPakkvg5%D5iio4m!3XwtRzXe^x-i$h%GgQw`3n%kU3) zz9ZDbD|+E=bsh|0Eo!I})kEE(?Jrrvyt?`qh zJ^5zzYVf)1;=Nc|+`5x+3v0ypceqPNC}R%))%j8B3BA=cJfWePVV{UM_V+vqzl*HU z35otihe>V;E8i@TQoj4|XvwW2$mYQM$@%c(rw^2keOJVwpO`RIO=4tZRQsh!cmk7L z=bBYcZXn)gxTD&nQt3=7#DLiUqW0YMluDBmnx#-oaPe&pIqtgmd z^HIvHaAsNFyW;<{tkxaXMk05uf;-P4bpY8a+?5-ZllaIc9xn+NExyuQGvpWH#l%ad zoXpt5i_`Jl3M_X%7y5QMq@K*k@G}B22A@@7dDn#)7?z5NOdX(5yTbHgVv!VMry=AQ zicH$f4)h$67Ao|s**L z-APEun?8DKBixRRTSwvl=9l580R&r^Gl37vD@s{}2Y(MWxO7M}_3y&Le^YI&Ud+&l zpvz#z5?UPbF`63{u&pWEEHae12yhhd$5;z#q*bNt6Yl>P5uEBUDuN!5x)uX%eFc~w zEkqgOw-AN?kkgtF0|H3awUFAkQ$U zV&C6_{us9HK)2y-X=FfdOhI6o%7de{DnV|3T@#5Vq<`B}2D$kTT$v9OQ4AiuH3_kJ zIWuf@Gn(!}7y)-FC8;UpXg#PjBxJJCIDHSW{eZU`$gmA{7j89P6JN=(5xjTDTU8F7 z^nJbkJ}55I)Dg)nYw7g z&F_z=d>RqjVf!t;lY4d;IcSX&z#{`j+iFD47tT9833dFJ8m?^=8@8UtK{6?P$r{x! z8i}`xLL9GpeMM7R$JR~@;l>x%El@}m8Bw#D7gpQcb0OWH#8qzSl8thamOtMO5F`yn zrk9c_2zY#T+(eo)A0VGsgNp>9}306Q4CG<=48qM%1lDqvF`8(}TiDGphsG9q? zzr_EWrM?lLiHiS)r&V{_mmWk%B{8cB$NdFKep(f&^?oZYZdC2jxOD>Pq8sKsjwRas z-H37_9B?lQ236+fr~mLMdv(DAzdvrc{}X)rsFysjNUDjysTSf5)MIJQl)mRYbo>sq z3t(`LNk@6g9$F2;=;g#_qvMC*a|TwySp)O=?&|NDqbF_6CzCC8LYT~UeUI%b{Zw{B z#8_y^*yh@43t~`0>C$oOu68`2c~J~%c#vO+z`=+a=jJ*2wtF;(-j&N${w}h(w_LM6 zh8u&uvpY1BcIlf#2c?Q<>S^hC4#2=2xN|?Lt=wC(6U&IGT-cW$e85Z@3eQNP5EZ6A zGtH3%y%_=uJH>BcSrpunv-eGUz0-uUuT9g2j@RU;aw2@& z+CChD6CS_5E1IwjKOt@y-XD9!fa02!9w{WnSamI%P_TWQZ6Oo3WhfP=>TTY^^kKi4 zrJ!_me}z8&zEiclcND=sRO@xKNBuGXR#2|3Xk<89og1_=+vYzWPv+TV$1*E+0VMD2 zg1AD!6P7PJ;y+PZ#bG~Q-14LN6c;?6pAv^VHM`>LIK||!*>{lV3m*;HF@HkB3aPmZ z>&)wl67g6VKV;`XJPx^G#w9GD2;JWg1Mp1GM$SxQ|NETGKDH(|uH%a6J$m>8rk^IWS$m62%rvs*;F1Xk13 zA1mDt6E|j6yH=Sc@qD=4IoT&t(*3ZwIj=-wS1N3?R&wA5!(p#J=$3kQSZJJcJb}e= z{dJoS$^^Bc6Qs=r;QT!O%glK-)8nG!%$AJ-R|-yZI;vhi2%qK@9B>KbL#vi3X{R>} zn#1K)Y*-jZ% zw^sh}p!fMv4ZnA^;H)_KYtspiCowvj$&A%-Ut`aU2ik)S!5~?nnUka&Yd3&u+=EcMP94SErCS6e+<}x4_;dJ9ty8B%WzCNNr?=MMkK;8g$Lsj=Ce5`TRFwZE-qpb^!|Sh=f1%ou4Zn!o`^4ONQDB3 zA|KloPRgQ5;^83guYDC63ecYmUv&Om4&Dp`&Cf6aDkD&TBXCE1yJIYe_+jc*crhap zFew&Sn^xvANH$LF#uPw|`1;3MKu<6LU*3a5cwy~(kj6F2(P562s}xMZ`Tr_h7*iv( zcw5H3n4)|?;wWsLQkX=X4;ORs166vcnd!C4^U+|%!#Vvg3ek7gWQWxbdsrnNDOOCB z$DD*cKg;taj>5HU2&-&d#kMzUGWhZUJI9e3anXtoDV+wlF!0xG5M6#>PS4SO-xlRr zCUzL7T5!I*o!`Fala}9CB9XQY@v`Nk8qE>berdOODo;*0tJ7romDDI=*mw_gc&24d zROi7(;l>gSw9d%*O&4-a?O6iG=`y`3{KFYC>9pbW<-jP#c99TNL=dKC!XsyCYOp|` z5KH9|7<96<+o|`?J2m<}dhA-YJh)0*NkEH(3r_X&mmCj2diuAvF5*~sF7pooN57wGYUs^w~W&9t}WiA`I@i%xo59s4n4j}IT)+M z6jGdJ0rD+0mqkfI&R(YFQ4@fK9iU=}WLg)-kgI@ZT%;KcoE$c77th{@JftIIx+5`5 zpQ;u!Y^={VrIfK&czEm? z2ZKld>}Y(orB5LcBiIY~BU>j>3!+F=Ak{vh34MkiisSdKL`=Qd#LgX+o7 zg~?Z+#3sX1DO5ehf-T)VxkD#eQ619Z(GhyoHm`L!tDmSx61r(qKx23VeX0tw73$h& z>kthhO_+};OSM>wJJ)>4btsqcd6#QMQLrAf1MH-@l$(-2jt zCC-+V0uw@?ihg)TWWUZPfTM|wG9?!e{W_l(=>;&cNQPqbsCbKLkH)jl(I`(5>l)0E z&6V)MXNnnHysX4{O?%$#8=0ZU@Cg(RBL;=n9f?DX`42gRuH zhkf>3$Hn3~DIlRE5ywOwxvX5#$GgV;5X7T|p(fJ4F!H-aKD0PWurc2i$NySNSvfB~<0rCY5m& zC^gk3lIM*+D5xiFzPHe6<@$j`IN1}8mt2J=@gbwa*l;D~YY6Sy4J+_s+GCK>osmgV zfH2lW6UBV>;i^+6+jr?k#3sh@LOKKnR{3Y33V^A1MO=9BBm9$@0jvE5zg1FVYlCtX zAGkCZgqyj}<-3|c*Sb1e-KZFVJBD!j#Uov#$rYEGvaPJ~H@$WsGm=#Bq8SVZD=4svYxeFwWeA}gLSECYJd zIjF4FTKqj52PyoaXIp|Y8uo&YkbNY$>o=l`YtU9W(AqFe26K1#DAz9Kk`p$OXS(8+ zcu|@tN4xS8ZtruE@aupp)5PR3S0uE-!~sej$Kh*Aa@_jC<}q8?AC(~Am5k1Ob>A1POiVCVyLGq8kt)T>Y(T%Lt{K< zO4VRrDq^n4LuvQoM{_ie@uPQibfBLXHQzEG@(vw)(fXgpm!ck2}k%Ln`s4&kx z1z6|1wr%-_yBgO(*_9aD2xB!?1>`mhA zIleshN|L^bN$b|zAPr0bOJbCdnlp#OMfGOM!k5Z@2y-yyVLo8D!75^-h_J-fS@%Xa zF$3Z0SjI6q;N2-j)3u_3OXWcZU7?!Y$b3U^a;O&ovk;>yVp`-k zK3d{;^cfp~P&Udgqul{55O;g9eI;H4>=7k71rrKJabQifcd@GqQx^Gn7m%pA8_IYX zXn-3R*RzTBYRThp9F;%CCy^_ht&WEzHHzlHtNj{Q!AyNrP%o90oJoX)9-InsQlJcikvm$ zwvL8P(M!KcO73!Vcue^``46MCqPNO5{nTt;`K4TSc>TcUbHQrw+}Iq8lYYfc3(6qz z_mIhU^BfwVFH+TSH(|gzUxN7Z@8;p1VwsD=QibqtGdtsXu7K!hN+EZh=-vh(=(d>O z*xmA5*&3(^P7m?INdX({qJi8J9&Eb?aMRK5e)*KAl`TSIYYKFL%&dzEQk;@C;KQzp ze_CyQ;(Qa^qs>WD&^W~ZT%-4$U|KS=WD>Z|)G$BM*Jm}Oq0bjhX+B;>fGdtGNFnNa zKiO3xhVUvjIh;uaqvU8Z$h$@6Xa>lRqWX7M6Y*ziEUlO=6zY5r!u6mv#x~;QUxr|D zH+qJf2kOzf^@9v%AD}FI5sYnQ99Zz}?8`qZEO->oDOsJ(ERoqR)Feg{yHLnLo92JP z-QAG-ZqBwa{!8*$0dq!_D4aOE-A*!x*DehXss-v8TKlt;-~}qCJ_(Z&llGA$MvkOK z0u9ri7OsMq5U?q8;3;_{kmWc~-_m+u z7wY_{C0S)st0yXpN7&JLCy-cS0Ti!@sg)BQ%bvnWh)0lby?R!wN_(+jTJ zsMlBnY3IKBhMt>auVHcwxy3+l}fm!l( z3q`YZ-nKmFHzlnJJ8v$GW`ysXx-DwA11L5HjV5gKhiKr$TUQx9vz=W|g#uMXPp!GH z|D9mmT#wkIZJ$sn>b25pHB}shf*U%d7USRIzW;91o4gl=CwW&UFu^0rc<&_G>r771 z6;-Z4Q+J?u2Z1Mzsm1t4A#;rlpCNO=qr+wX*^UjCF910U3TTf4oMR<^Nmzi=fd;uM zxSz1Gc4p^gAU?B5i#akb;tb{CK>E>J9T<0vYgO;@g1HtRJk`5OYSAW2h#f~;@Xz;C z7RX%Z*%}`F$!=m^!(}#=taK^PpZjhIyR2!5_~F&q4ksrS^AqP__XmH+&{pWT-dk4- z=Y1~?4e#pwi@{ZC5TWW%9W*n-?4$R2LN0h)qr?WIqM3Eiu%dTqiuQ(iDH({PsyhpK zz`jMnd9-mE%*A!%$j3#t+yXcQ@Mg6{%G2?JB#fgeUR;P6ebgOAFwiiGdz+r`Ey$3} z|2JwUN#JP^AhrvF4RXrb?3pq9_2$vxGH~k)-nO(?{8~!Eu%Fkj*n>!Jy&4!@22qt! zRT7y4ihLd$DUjuceT+zXetS&;#9QcBu1p!!`B5*+%&RjeQNvOjMcL zth`}oizUfNcX29~{sN>McO=>5>)@`*dqr@z2{`q+_}aE&%+y5b!zTJ0tIgaEfaR&O zytrY&XVLF$jvrPng7-*_pfBrdp=Pfy8)kEowK(jTxLY zwid<`K0P{kprCZDM#8bTkpln&gnoGKLQVGQ2w0rAUNe1+ip)CXMLAtpBr{L@-*g@)8vvJWcN=%?L3hc;j;PRQyS{2wYMBsBoMBqg5%XdDAk! zna-cC!WqxVq%bXg`qnBTp_6zO*}*kAsXO)uVJSG1>O1XE+4O4u(1=?a;zkBl-;O`x z59EJI=7Nc<#W=4?Fa^rewMU>j%alv@yB^qA%uE>EE>YIpVDoc1%$-|l?e`jVyP@64 z-w~Ijzw)S^#r5yFcIW6DxQ-VZkCcc&JRkYDP#T9h-|8=7T%3}rtn)h#GR|~Au*tce{2ZXMo3<#&0m2Ufj_!0 zJonn+OmK9^!<637a$m{J26Zc`#_`#5a3Jq}+8w>d-so-^+#s$>8*l10s#&tS-^-%L z9&NlQE4hya3RK2$0BOWjOj>Vt2WZsPYNFSJFG;{(o#xUgQude_J=B0f%8iU!rnmvx z@$&%U97%dKId*wcDf%J+$5MlT_8fH!{d7HPtyL&gP^Ewo6L|GnE0yoU-Y>)oe{^6~ z_rl}oW5+AWvDGK@_z}rj1c0Lb(66x@geBMPi{-~+eZNusLnFJtrtF!jj~-)8E78X+ zxmP#Z<9@$SCaXU8o~b3WZuDoH>(pO}N1&+htGa#TI9DajZexxR1bOXZnP*gX30I)_ z%BN|)#ZDN)iX95k~AtsRlou z_<7WBFM=AoYrt#BAgn=Knu{JNjvn<{C;U*^=cssy3Mdnp*^Q-n=nyvb^#s|Vp&m3> zZRSFE#H|&~j$jWDUxn}typYz%X_>Nq8cu=EoDZ=OwXI|rx#(WxSbiQp20iMUGaIWW zTRF0u^h8&dsj3xjvlTw`5>A_cEVn2d>NFxewCpBQO^lq3(a`H6*BbbQoGde=MUPFI zI7xrVsf+1Tx^UwtECs(trB<$Bvq@pW(Ld*cS*^p8ql-F78-{#Ht^R~Ux)fO0rRHXn zANPlVI?)u>bHJ*OIHMcM`*2Cf-~mYg;cssmHAi$YnC&%_GUt2^j*hht!dKIHtn-VA z=osn!?T2TC7pvk|OyvWrq-Ya26<{iD4tVpNXX}kmg>Rj$M+$8sNJ4XfT6@q>$}^h4 zk zDuZ4^ET^0~mvgjUM6f?9;p}_K z9g*LV9=6*KV6+dEfL8=H%QFW+?%x{L<{2R+l0`+x*dP7a)OxSD$))enoa1k7nFx{< z8qA672%c}z`?|KW4VSgCpMh}z)nY`FSAzfu!PB5oF*23jX8wdGsSFVpOaP6o*^^Yp zkr}lD!hr6#qoyYunT~qv#35{6dITK86H*R_imEhnEevc{Ss`^m;VqfGn7c`q(_8rw zAbA$qTO~*&OeV>zx|L%XgkIz~9lzGP9v_9VIgnH*-4$iU<)tIOuNUPqin@bPSd8~Bwi)Vk5B)@WCF`Ree6Ncykois}Fa>juT#FyY4gm+KUvv>gO{@%a z20g2FH;ES0M8-yWuT`us;3sj&0!$q_aK00!d!~SgjCbttDyXk3{F>y9HT1ViqyZRY zfe=93eGJ*9qmgypLIAkf)X>bHnOk@Rnt6ZuDK9KoZm!u{Lr>I)ujsfHgM-T)WLjZ0 zJ7OHG&)y)^fC4}wV94U1&B@x6wWaStg1d^@345K^Q;{tTZ?wWN{NN0;nu_`L?9-d% zcuB033A-~`>+2g|y$>MF?6BXuw2Y&+lAa?HxS-MaS*{foItlPN(#PA9iDB4YED-}r ztRg@3Ke75z+F(Fr(jZoXrIVFD_jQA4Uj8qK)wv950Rp_+fTLbPiRIY?z2k2Y^^GG| zxWOEkr`LVcs(ES2+?OFPuvFIM`=X@jg&CnPE+$p5f6b?J zAn!+2vD8i)nD?b|ID2F6?r!&oiJnOPN!B=6WnM^w*>w^Y?TmL~sHO0cY%6|yN+E34 z$sz%wZrc_-1IiTz)j5x18Hr@8{rjAValZ}Hzt*$7+U#*q~zY&2rKt6?~I47yW;Lhge5{=paD^e@Iy+5}=~ zvYnL`M9X2LYRoRm0AD4;jL+gg_eK!#a=~&--h%*tM;XtgdD%W9!QoU+*B)VkB};{< zyQK`>oh?97+F}tfa=i%j#7a_bSRG($;O=0;;t{8UKNIJO4yA773R@_5YM@S|tX{hzDdfZt z7!-K|IycUZa-E#zo3?^t_2q3!fKRk_gY(46i*GYO+jNE%SA-Bj@>hJ$fJ8x&*I%>1 zG7mUKO3G}*dDHCPTU~~BpLVXxr8VIm5sJ0XAu z#s*)oz?eZYfUy7>C8)M}Ot=X4#|(*~xmi%;{o=0oKl^l>+R@R&_K#+zOUNxiFWQjR zJrNET8mk1xcyl)a9)9A^2O9+Yq~e&HlC~rmP7Zcs^-W?2G%1+Kwz=L%Uelg<92#FJOslA!iF)cv zUTpW}?tk`i~KI}+%i?os@wVo9uOdT)oKcm1B+Xe}zEyp#2;-qQmxPWmP4-Y1` za~ia6pEx}lWhMY4q`aM3v8?EwSyEUv4!Rg5k8UqX1ZB(_b~OdS@8bxdSau-j@%iB_E{r*v~5 zvu!9g_wf6S6QwOo#Y;5>jJ`Y1BEV5+tNRe+$P4%7j>DdlNW{GY2dAZt2q|7(mGm@b z7HAoRdYMqFJft*gpo-ZG3pOm8WTO&1y$WfA7Lfny{J;gO&d#FA2ZYPiO4Go4v>=>b zKmu7j@ra16hdsrd*i!{iwI2+a5o90nA`xcq1uV~ta`;*;(o0Zk?{}V!#vq544-P-O z?zkWdHX2~UJ~#xbzQG@z`8d^C9~^BfipgKJ2d~<_cCOzTg@W7vGw|>)Ha{Thx)Y|c zX2~-KJPlPd%leu^Btw+Ev&7~!k-xH(kp2J$yKlQGB&VhOT19&ma^m}al|FZ$NE$0g zktJWp?JJ2n;4-T964NY{&OTakgo`1Ii0%-#jD?zpd-d3*RfW_>k3f z*{xe8LP_(i)2Ji95e4G9sEcVQ43m0!#fm!=)F;c<<~rB+moL<@K;*0$3Oihj^C3iN ze3Juab`zCH|2~aYiAKc?oR)sFJIa|#X3+IrZT|V(QY24s$|m14P~$L_fGxrx&YqA^ z;3N_k-l6Q^9av$C{crQR#2xpR8Fx_Nz8KZpYO@xW9?eF(6T(RdQ_Fo|x6txZ9N6BM zG=Lv(y)OnaOsr}rNoAZVk7niez?&15 zb0FI-R4oP)i=Sp|`2i8CPU59Sm=h}(AA*V(B&E-CIY7Vjhlf7ZFTh8BOmKi^EAzj1 z!SrgU9jFipl{v(|Os}migCiV~8@7N2hw)u=(JhY3*=}ojEo3_<%9^<&v!z^k3V=MN zkL1py!l`nq{R09=!qm4S5&Dp`)y5%K%?31bTQ-f5{>{v!@I|*8o5DM8+c=@$%7hPS zec#|g{9q3Agm04J-5&)zfXSqv--6Xh*Y6IMG$gLdvqT9crpA}TEX()&|IecS<{\"name\") ];\r\ + \n#[/system/script get \$expScript name];\r\ + \n:delay 2s;\r\ + \n\r\ + \n:set expSrc [/system/script print where name=\$expName];\r\ + \n/system/script print where name=\$expName;\r\ + \n#[:put [/system/script get \$expScript source]];\r\ + \n:put [\$expSrc];\r\ + \n:delay 2s;\r\ + \n:set FileName \$expName;\r\ + \n:set FilePath (\$DirPath . \$FileName);\r\ + \n\r\ + \n#:log warning \"\\n----------------------\\n\\\$expSrc = \$expSrc\\n____\ + ______________________________\";\r\ + \n:log info \"\\n\\\$FileName = '\$FileName'\";\r\ + \n:log info \"\\n\\\$FilePath = \$FilePath\";\r\ + \n#:log warning {/system/script/get source=[/system/script/get \$expScript\ + \_source];};\r\ + \n\r\ + \n#\$[/system script get [/system script find name=\"\$FileName\"] source]\ + \r\ + \n\r\ + \n#:local gettingScript \"\$FileName\";\r\ + \n#:execute script=\"[[:parse \\\"[:parse { :put (\"\$[/system script get \ + [/system script find name=\$FileName] source]\"); } \\\"]]\"; \\\r\ + \n\r\ + \n#:execute script={:put \"[:parse \\\"[:parse [/system/script get [/syste\ + m/script find name=\$gettingScript] source];\\\"]]\";} \\\r\ + \n# file=(\$FilePath . \".rsc\\00\");\r\ + \n:do {\r\ + \n:local fName (\$FilePath . \".rsc\");\r\ + \n#:delay 3s;\r\ + \n#/file add name=\$fName;\r\ + \n:put [:tostr [\$expSrc]];\r\ + \n/file set \$fName contents=[:put [\$expSrc]];\r\ + \n:delay 3s;\r\ + \n\$WaitForFile \$fName;\r\ + \n(\$FilePath . \".rsc\");\r\ + \n#:delay 2s;\r\ + \n\r\ + \n} on-error={\r\ + \n:log error \"\\nERROR \\\$FilePath = \$FilePath\";\r\ + \n}\r\ + \n#\$WaitForFile (\$FilePath . \".rsc\");\r\ + \n#:execute script={ :put [/system/script get [:put \$FileName] source]; }\ + ;\r\ + \n#/system/script export \$Sscript file=\$FilePath;\r\ + \n#/system/script/export [:put [/system/script/get \$expScript source]] fi\ + le=\$FilePath;\r\ + \n#:execute script={ :put [/system/script/get \$expScript source]; } \\\r\ + \n\r\ + \n#:log warning \"\\n\\\$expScript = \$expScript\";\r\ + \n# \\\r\ + \n# file=(\$FilePath . \".rsc\\00\");\r\ + \n#script={:put [/system/script/get \$FileName source];} file=(\$FilePath\ + \_. \".rsc\\00\");\r\ + \n#/system script export \$src file=(\$FilePath . \$FileName);\r\ + \n}\r\ + \n\r\ + \n:log warning \"\\nComplete!\";\r\ + \n\r\ + \n # :execute script={ :put [ /system/script/get Amster-GlobalConfig sou\ + rce ]; } \\\r\ + \n # file=(\$FilePath . \".conf\\00\");\r\ + \n # \$WaitForFile (\$FilePath . \".conf\");\r\ + \n # :onerror Err {\r\ + \n # /tool/fetch upload=yes url=(\$BackupUploadUrl . \"/\" . \$FileName\ + \_. \".conf\") \\\r\ + \n # user=\$BackupUploadUser password=\$BackupUploadPass src-path=(\ + \$FilePath . \".conf\");\r\ + \n # :set ConfigFile [ /file/get (\$FilePath . \".conf\") ];\r\ + \n # :set (\$ConfigFile->\"name\") (\$FileName . \".conf\");\r\ + \n " +add dont-require-permissions=no name=test1 owner=vados policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="\ + \r\ + \n#:local runningVer [:find [/system/resource/get version] \"(\"];\r\ + \n\r\ + \n:local runningChannel;\r\ + \n:local runningVersion;\r\ + \n:local ParseCustom;\r\ + \n\r\ + \n:set ParseCustom do={\r\ + \n :local Str [ :tostr \$1 ];\r\ + \n :local Start [:find [ \$Str ] [:tostr \$2]];\r\ + \n :local End [ :tostr \$3 ];\r\ + \n :local Num [ :tonum \$4 ];\r\ + \n :local Return;\r\ + \n\r\ + \n :if ([:len \$Num] = 0) do={:set Num \"0\"}\r\ + \n :local rest [:pick \$Str (\$Start+\$Num) [:len \$Str]]; \r\ + \n :if ([:len \$End ] = 0) do={:set Return [:pick \$Str \$Num \$Start]} e\ + lse={\r\ + \n :set End [:find \$rest \$End];\r\ + \n :set Return [:pick \$rest 0 \$End];\r\ + \n }\r\ + \n:return \$Return;\r\ + \n}\r\ + \n \r\ + \n:global runningChannel [\$ParseCustom [/system/resource/get version] \"(\ + \" \")\" 1];\r\ + \n:log warning [\$runningChannel];\r\ + \n:set runningVersion [\$ParseCustom [/system/resource/get version] \" \" \ + \")\" 2];\r\ + \n:log warning [\$runningVersion];\r\ + \n\r\ + \n\r\ + \n\r\ + \n# :if ([:len \$open] = 0) do={\r\ + \n# :log error \"\$SMP Could not extract installed OS channel from vers\ + ion string: `\$runningOsAndChannel`.\";\r\ + \n# :error \"\$SMP error, check logs\";\r\ + \n# }\r\ + \n# :local rest [:pick \$runningOsAndChannel (\$open+1) [:len \$runningOs\ + AndChannel]];\r\ + \n# :local close [:find \$rest \")\"];\r\ + \n# :local channel [:pick \$rest 0 \$close];\r\ + \n# :return \$channel;\r\ + \n#}" +add dont-require-permissions=no name=01-Amster-Init-Script owner=vados \ + policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + source="# Amster Initial Script\r\ + \n#\r\ + \n#:global GlobalEnvRemove true; /system/script {run Amster-GlobalEnvRemov\ + e; };\r\ + \n#:delay 1s;\r\ + \n:#global ReloadGlobal true; \r\ + \n\r\ + \n:global AmScriptsUrl \"https://ros.vados.ru/\";\r\ + \n:global defOwner \"vados\";\r\ + \n:global AmFirstRun;\r\ + \n\r\ + \n:set AmFirstRun do={\r\ + \n :global AmScriptsUrl;\r\ + \n :global defOwner;\r\ + \n #:global ParseKeyValueStore;\r\ + \n #:local AmUpdCRLF true;\r\ + \n #:local IfThenElse;\r\ + \n #:set IfThenElse do={:if ([ :tostr \$1 ] = \"true\" || [ :tobool \$1\ + \_] = true) do={:return \$2}; :return \$3}\r\ + \n #/certificate/settings/set builtin-trust-store=fetch;\r\ + \n #/tool/fetch \"\$scriptsUrl/certs/Root-YE.pem\" dst-path=\"root-ye.p\ + em\";\r\ + \n #/certificate/import file-name=\"root-ye.pem\" passphrase=\"\";\r\ + \n # For basic verification we rename the certificate and print it by f\ + ingerprint. Make sure exactly this one certificate (\"Root-YE\") is shown.\ + \r\ + \n #/certificate/set name=\"Root-YE\" [ find where common-name=\"Root Y\ + E\" ];\r\ + \n #/certificate/print proplist=name,fingerprint where fingerprint=\"e1\ + 4ffcad5b0025731006caa43a121a22d8e9700f4fb9cf852f02a708aa5d5666\";\r\ + \n #:log info \"\\nAmScriptsUrl = \$AmScriptsUrl\";\r\ + \n :local Scripts {\r\ + \n \"Amster-GlobalConfig\"\r\ + \n \"Amster-GlobalFunc\";\r\ + \n# \"Amster-SFTP-backup\"\r\ + \n# \"Amster-BkpEmail-and-upd\";\r\ + \n };\r\ + \n# /system/script/set owner=(\$ScriptVal->\"name\") \\\r\ + \n# source=[ \$IfThenElse (\$ScriptUpdatesCRLF = true) \$SourceCRLF \$S\ + ourceNew ] \$Script;\r\ + \n :foreach Script in=\$Scripts do={\r\ + \n :put \"Installing \$Script...\";\r\ + \n /system/script/remove [ find where name=\$Script ];\r\ + \n /system/script/add name=\$Script owner=\$defOwner source=([ /too\ + l/fetch (\"\$AmScriptsUrl\" . \$Script . \".rsc\") output=user as-value ]-\ + >\"data\");\r\ + \n /system/script/set source=[ :tocrlf [ get \$Script source ] ] \$\ + Script;\r\ + \n };\r\ + \n /system/script { run Amster-GlobalConfig; run Amster-GlobalFunc; }\r\ + \n}\r\ + \n:global AmUpdRun;\r\ + \n:set AmUpdRun do={\r\ + \n #:local UpdScript [ :tostr \$1 ];\r\ + \n #:global ParseKeyValueStore;\r\ + \n :global AmScriptsUrl;\r\ + \n :global defOwner;\r\ + \n :local Scripts {\r\ + \n# \"Amster-GlobalConfig\"\r\ + \n# \"Amster-GlobalFunc\"\r\ + \n# \"Amster-GlobalRemove\"\r\ + \n \"Amster-backup-SFTP\"\r\ + \n \"Amster-SFTP-backup\"\r\ + \n \"Amster-BkpEmail-and-upd\"\r\ + \n \"Amster-TG-Bot\"\r\ + \n \"Amster-TG-Notification\";\r\ + \n };\r\ + \n :foreach Script in=\$Scripts do={\r\ + \n :put \"updating \$Script...\";\r\ + \n /system/script/remove [ find where name=\$Script ];\r\ + \n /system/script/add name=\$Script owner=\$defOwner source=([ /too\ + l/fetch (\"\$AmScriptsUrl\" . \$Script . \".rsc\") output=user as-value ]-\ + >\"data\");\r\ + \n /system/script/set source=[ :tocrlf [ get \$Script source ] ] \$\ + Script;\r\ + \n };\r\ + \n# /system/script/add name=\$Script owner=\$AmOwner source=([ /tool/fe\ + tch check-certificate=yes-without-crl (\"\$AmScriptsUrl\" . \$Script . \".\ + rsc\") output=user as-value ]->\"data\"); };\r\ + \n}\r\ + \n\r\ + \n\$AmFirstRun;\r\ + \n#\$AmUpdRun;\r\ + \n\r\ + \n#\$setUpdExist;\r\ + \n#:global setUpdExist;\r\ + \n#:global ParseKeyValueStore;\r\ + \n#:set setUpdExist do={\r\ + \n#:do {\r\ + \n#:global ParseKeyValueStore;\r\ + \n# :foreach Script in=[ /system/script/find where source~\"^#!rsc by Vad\ + os\\r\?\\n#comment=*\" ] do={\r\ + \n# :local ScriptVal [ /system/script/get \$Script ];\r\ + \n# :local ScriptInfo [ \$ParseKeyValueStore (\$ScriptVal->\"#comment\"\ + ) ];\r\ + \n# :local scriptName (\$ScriptVal->\"name\");\r\ + \n#:log warning (\"\\n\\\$scriptName = \". \$scriptName);\r\ + \n#: log warning (\"\\n\\\$ScriptInfo = \". \$ScriptInfo);\r\ + \n# }\r\ + \n#} on-error={}\r\ + \n#}\r\ + \n#\$name;\$owner;\$policy;\$dont-require-permissions;\$last-started;\$run\ + -count;\$source;\$invalid;\$comment;\$.id;\$.nextid;\$.dead;\$.about;\r\ + \n#;(evl / (evl /docommand=;(evl / (evl /foreachcounter=\$Script;do=;(evl \ + / (evl /localname=\$ScriptVal;value=(evl (evl /system/script/getnumber=\$S\ + cript))) (evl /localname=\$ScriptInfo;value=(evl (<%% \$ParseKeyValueStore\ + \_(> \$ParseKeyValueStore);(-> \$ScriptVal comment)))) (evl /localname=\$s\ + criptName) (evl /setname=\$scriptName;value=(-> #\$ScriptVal name)) (evl /\ + log/errormessage=(. \r\ + \n# \$ ScriptInfo = \$ScriptInfo)));in=(evl (evl /system/script/findwhere\ + =\$name;\$owner;\$policy;\$dont-require-permissions;\$last-started;\$run-c\ + ount;\$source;\$invalid;\$comment;\$.id;\$.nextid;\$.dead;\$.about;(~ \$so\ + urce (. ^#!rsc by Vados \r\ + \n# \? \r\ + \n#));5))));on-error=;(evl /)))\r\ + \n" +add dont-require-permissions=no name="Download cAP's Packages" owner=vados \ + policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + source="# +------------------------------+\r\ + \n# | |\r\ + \n# | Mikrotik RouterOS Scripts |\r\ + \n# | _Download cAP's Packages_ |\r\ + \n# | |\r\ + \n# +------------------------------+\r\ + \n# https://github.com/sebastian13/mikrotik-routeros-scripts\r\ + \n#\r\ + \n\r\ + \n# Set a directory path providing the required space\r\ + \n# Add a microSD card https://wiki.mikrotik.com/wiki/Manual:System/Disks\ + \r\ + \n# or setup a RAM-Disk via '/disk/add type=tmpfs tmpfs-max-size=20M slot=\ + ram'\r\ + \n:local dir \"/tmpfs/capsman-packages\";\r\ + \n\r\ + \n\r\ + \n# Set Package Path if required, set policy to none if using 'upgrade-cap\ + s' script\r\ + \n/interface/wifi/capsman/set package-path=\$dir upgrade-policy=none;\r\ + \n/caps-man/manager/set package-path=\$dir upgrade-policy=none;\r\ + \n#require-same-version;\r\ + \n\r\ + \n:local installed [/system package get value-name=version [find where nam\ + e=\"routeros\"]]\r\ + \n\r\ + \n# Delete old downloads\r\ + \n# /file/remove [ find type=package name~\"capsman*\" ]\r\ + \n\r\ + \n# Starting from RouterOS version 7.13, drivers for older wireless and 60\ + GHz interfaces are\r\ + \n# part of the separate \"wireless\" package. The existing \"wifiwave2\" \ + package has been divided\r\ + \n# into distinct packages: \"wifi-qcom\" and \"wifi-qcom-ac\".\r\ + \n# RouterOS >=7.12 is required to upgrade to 7.13.\r\ + \n# https://forum.mikrotik.com/viewtopic.php\?t=202423\r\ + \n\r\ + \n:foreach architecture in={ \"arm\";\r\ + \n# \"arm64\";\r\ + \n \"x86_64\";\r\ + \n \"mipsbe\"} do={\r\ + \n :foreach package in={ \"routeros\";\r\ + \n# \"wifi-qcom-ac\";\r\ + \n# \"wifi-qcom\";\r\ + \n \"wireless\"} do={ :do {\r\ + \n :put \"\"\r\ + \n :put \"Download \$package \$installed for \$architecture\"\r\ + \n /tool fetch mode=https \\\r\ + \n url=\"https://download.mikrotik.com/routeros/\$installed/\$packa\ + ge-\$installed-\$architecture.npk\" \\\r\ + \n dst-path=\"\$dir/\$package-\$installed-\$architecture.npk\"\r\ + \n } on-error={ :put \"Error downloading the file. On a 404, note t\ + hat the package may not exist for the specified architecture!\" }\r\ + \n }\r\ + \n}\r\ + \n" +add comment="Script for setup routeros scrypt system" \ + dont-require-permissions=no name=AM-setup owner=AM-setup policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="#\ + !rsc by Vados\r\ + \n# RouterOS script: AM-setup\r\ + \n# Script comment: Script for setup routeros scrypt system\r\ + \n# Copyright (c) 2005-2026 Vados \r\ + \n#\r\ + \n#\r\ + \n# requires RouterOS, version=7.19\r\ + \n# requires device-mode, fetch\r\ + \n#\r\ + \n# :local ScriptName [ :jobname ];\r\ + \n# Additional commands:\r\ + \n#\r\ + \n# For scripts:\r\ + \n#:global NewScript \"script_name\"; \r\ + \n#:global GlobalScriptsUrl \"https://ros.vados.ru/\";\r\ + \n#/system/script/add name=\$NewScript owner=\$NewScript source=([/tool/fe\ + tch check-certificate=yes-without-crl (\$GlobalScriptsUrl . \$ScriptAdd . \ + \".rsc\") output=user as-value ]->\"data\");\r\ + \n#:global NewScript (a);\r\ + \n#:global ScriptInstallUpdate; \$ScriptInstallUpdate;\r\ + \n#\r\ + \n# For run from terminal:\r\ + \n#/system/script/add name=AM-setup owner=AM-Setup source=([/tool/fetch ch\ + eck-certificate=yes-without-crl \"https://ros.vados.ru/AM-setup.rsc\" outp\ + ut=user as-value ]->\"data\");\r\ + \n#\r\ + \n\r\ + \n:global ScriptUpdatesCRLF \"LF\";\r\ + \n#:if (\$ScriptUpdatesCRLF != false) do={\r\ + \n# :foreach Script in=[ /system/script/find where source~\"^#!rsc by Vad\ + os\" ] do={\r\ + \n# if (\$ScriptUpdatesCRLF = true) do={\r\ + \n# /system/script/set source=[ :tocrlf [ get \$Script source ] ] \$S\ + cript;\r\ + \n# } else={\r\ + \n# /system/script/set source=[ :tolf [ get \$Script source ] ] \$Scr\ + ipt;\r\ + \n# }\r\ + \n# }\r\ + \n#}\r\ + \n\r\ + \n# /import verbose=no \$ScriptName\r\ + \n:global SetupScript [ :jobname ];\r\ + \n:global RemoveMe;\r\ + \n:global RunOnce;\r\ + \n:global InitSetup true;\r\ + \n:global tmpfs true;\r\ + \n\r\ + \n{\r\ + \n :local RmMe [:tobool \$1];\r\ + \n\r\ + \n :global GlobalScriptsUrl;\r\ + \n :global SetupScript;\r\ + \n :global RemoveMe;\r\ + \n :global InitSetup;\r\ + \n :global tmpfs;\r\ + \n \r\ + \n :local CertCommonName \"Root YE\";\r\ + \n :local CertFileName \"Root-YE.pem\";\r\ + \n :local CertFingerprint \"e14ffcad5b0025731006caa43a121a22d8e9700f4fb9c\ + f852f02a708aa5d5666\";\r\ + \n\r\ + \n :if (\$SetupScript = false) do={\r\ + \n :global SetupScript \"AM-setup\";\r\ + \n }\r\ + \n :if (\$RemoveMe != false) do={\r\ + \n :set RemoveMe true;\r\ + \n }\r\ + \n\r\ + \n :log warning (\"\\n\\\$GlobalScriptsUrl = \" . \$GlobalScriptsUrl);\r\ + \n \r\ + \n :local CertSettings [ /certificate/settings/get ];\r\ + \n :if (!(((\$CertSettings->\"builtin-trust-anchors\") = \"trusted\" || \ + \\\r\ + \n (\$CertSettings->\"builtin-trust-store\") ~ \"fetch\" || \\\r\ + \n (\$CertSettings->\"builtin-trust-store\") = \"all\") && \\\r\ + \n [ :len [ /certificate/builtin/find where common-name=\$CertComm\ + onName ] ] > 0)) do={\r\ + \n :put \"Importing certificate...\";\r\ + \n \r\ + \n /tool/fetch (\$GlobalScriptsUrl . \"certs/\" . \$CertFileName) dst-p\ + ath=\$CertFileName as-value;\r\ + \n :delay 1s;\r\ + \n /certificate/import file-name=\$CertFileName passphrase=\"\";\r\ + \n :if ([ :len [ /certificate/find where fingerprint=\$CertFingerprint \ + ] ] != 1) do={\r\ + \n :error \"Something is wrong with your certificates!\";\r\ + \n };\r\ + \n :delay 1s;\r\ + \n };\r\ + \n\r\ + \n:local MkTmpfs do={\r\ + \n :local TmpFs [ /disk/find where slot=tmpfs type=tmpfs ];\r\ + \n :if ([ :len \$TmpFs ] = 1) do={\r\ + \n :if ([ /disk/get \$TmpFs disabled ] = true) do={\r\ + \n :log info (\"The tmpfs is disabled, enabling.\");\r\ + \n /disk/enable \$TmpFs;\r\ + \n }\r\ + \n :return true;\r\ + \n }\r\ + \n :log info (\"Try to removing directory 'tmpfs'.\");\r\ + \n :do {\r\ + \n :retry {\r\ + \n /file/remove tmpfs;\r\ + \n :return true;\r\ + \n } delay=100ms max=10;\r\ + \n } on-error={ }\r\ + \n# \$RmDir \"tmpfs\";\r\ + \n :onerror Err {\r\ + \n /disk/add slot=tmpfs type=tmpfs tmpfs-max-size=([ /system/resource/g\ + et total-memory ] / 3);\r\ + \n :do {\r\ + \n :retry {\r\ + \n /file/get tmpfs;\r\ + \n :return true;\r\ + \n } delay=222ms max=10;\r\ + \n } on-error={ }\r\ + \n } do={\r\ + \n :log warning (\"Creating disk of type tmpfs failed: \" . \$Err);\r\ + \n :return false;\r\ + \n }\r\ + \n# :return true;\r\ + \n}\r\ + \n:if (\$tmpfs = true) do={\r\ + \n :put \"Tmpfs variable is true. Checking for tmpfs/scripts directory...\ + \";\r\ + \n :if ([/file find name=\"tmpfs/scripts\"] != \"\") do={\r\ + \n :log info (\$0 . \"Directory tmpfs/scripts exsist.\");\r\ + \n :return \$true;\r\ + \n } else={\r\ + \n :log warning (\$0 . \"Directory tmpfs/scripts does't exsist.\");\r\ + \n :if ([ \$MkTmpfs ] = false) do={\r\ + \n :log error (\$0 . \"Directory tmpfs is not created!\");\r\ + \n :return false;\r\ + \n } else={\r\ + \n :onerror Err {\r\ + \n /file/add type=\"directory\" name=/tmpfs/scripts;\r\ + \n :do {\r\ + \n :retry {\r\ + \n /file/get /tmpfs/scripts;\r\ + \n :return true;\r\ + \n } delay=100ms max=10;\r\ + \n } on-error={ }\r\ + \n } do={\r\ + \n :log warning (\$0 . \"Making directory 'scripts' failed: \" . \$\ + Err);\r\ + \n :return false;\r\ + \n }\r\ + \n# :return true;\r\ + \n# [ /file/get \$FileName ]\r\ + \n }\r\ + \n# :log error (\$0 . \"Directory tmpfs/scripts does not exsist. Remove\ + \_global variable tmpfs!\");\r\ + \n# :global tmpfs (a);\r\ + \n# return false;\r\ + \n }\r\ + \n}\r\ + \n :put \"Renaming AM-GlobalConfig, if exists...\";\r\ + \n :local ConfOldName (\"AM-GlobalConfig-\" . [ /system/clock/get date ] \ + . [ /system/clock/get time ] . \".rsc\");\r\ + \n /system/script/set name=\$ConfOldName [ find where name=\"AM-GlobalCon\ + fig\" ];\r\ + \n :foreach Script in={ \"AM-GlobalConfig\"; \"AM-GlobalFunc\" } do={\r\ + \n :put \"Installing \$Script...\";\r\ + \n /system/script/remove [ find where name=\$Script ];\r\ + \n /system/script/add name=\$Script owner=\$Script source=([ /tool/fetc\ + h check-certificate=yes-without-crl url=(\$GlobalScriptsUrl . \$Script . \ + \".rsc\") output=user as-value ]->\"data\");\r\ + \n \r\ + \n /system/script run \$Script;\r\ + \n :delay 2s;\r\ + \n };\r\ + \n\r\ + \n :if ([ :len [ /certificate/find where fingerprint=\$CertFingerprint ] \ + ] > 0) do={\r\ + \n :put \"Renaming certificate by its common-name...\";\r\ + \n :global CertificateNameByCN;\r\ + \n \$CertificateNameByCN \$CertFingerprint;\r\ + \n };\r\ + \n\r\ + \n :if (\$RemoveMe = true) do={\r\ + \n :put \"Add Scheduler for remove this script...\";\r\ + \n :local OnEvent (\":delay 30s;\\n\" . \"/system/script/remove [ find \ + where name=\\\"\$SetupScript\\\" ];\\n\" . \\\r\ + \n \":delay 2s;\\n\" . \"/system/scheduler/remove [ find where name=\\\ + \"_RemoveSetup\\\" ];\\n\" . \\\r\ + \n \":delay 2s;\\n\" . \":global RemoveMe (a);\\n\");\r\ + \n :local Comment \"_RemoveSetup tmp scheduler for remove setup script.\ + \";\r\ + \n /system/scheduler/add name=\"_RemoveSetup\" comment=\$Comment start-\ + time=startup interval=30s on-event=\$OnEvent;\r\ + \n :log warning (\$0 . \"\\nI've done everything, and now I'm tired..\ + . I'm leaving.\\nThere will be an error below, this is normal.\");\r\ + \n }\r\ + \n :delay 1;\r\ + \n :put \"Loading configuration and functions...\";\r\ + \n :do { \r\ + \n :global ScriptInstallUpdate; \$ScriptInstallUpdate;\r\ + \n :put \"Normal removing temporary global environment variables.\";\ + \r\ + \n :global SetupScript (a);\r\ + \n :global InitSetup (a);\r\ + \n :global RemoveMe (a);\r\ + \n } on-error={\r\ + \n :local ErrorMsg \"Loading configuration and functions error!\";\r\ + \n :log error (\$0 . \$ErrorMsg . :error);\r\ + \n :error \$ErrorMsg;\r\ + \n }\r\ + \n}\r\ + \n" +add comment="Global Config Script" dont-require-permissions=no name=\ + AM-GlobalConfig owner=AM-GlobalConfig policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="#\ + !rsc by Vados\r\ + \n# RouterOS script: AM-GlobalConfig\r\ + \n# Script comment: Global Config Script\r\ + \n# Copyright (c) 2007-2026 Vados \r\ + \n#\r\ + \n#\r\ + \n# Warning: Dont touch this line!\r\ + \n:global GlobalConfReady false;\r\ + \n#\r\ + \n#\r\ + \n# Global Url For Amster scripts to fetch\r\ + \n# most be defined in AM-Init-Script or AM-setup scripts\r\ + \n:global GlobalScriptsUrl \"https://ros.vados.ru/\";\r\ + \n:global ScriptsUrlSuffix \"\";\r\ + \n:global CheckSumsVerify true;\r\ + \n\r\ + \n:global ScriptUpdatesCRLF true;\r\ + \n:global CommentsInScripts true;\r\ + \n\r\ + \n# Debug output:\r\ + \n:global PrintDebug true; #false;\r\ + \n\r\ + \n# Debug output for specific script:\r\ + \n:set (\$PrintDebugOverride->\"AM-GlobalFunc\") true;\r\ + \n\r\ + \n# Debug logs\r\ + \n# Other actions (disk, email, remote or support) can be used as well.\r\ + \n# I do not recommend using echo - use debug output instead (https://rsc.\ + eworm.de/main/DEBUG.html#debug-output).\r\ + \n#/system/logging/add topics=script,debug action=memory;\r\ + \n\r\ + \n:global MikrotikUpgradeUrl \"https://upgrade.mikrotik.com/routeros\";\r\ + \n:global Domain \"WORKGROUP\";\r\ + \n\r\ + \n:global EmailGeneralTo \"vados@vados.ru\";\r\ + \n#:global EmailGeneralCc \"\";\r\ + \n\r\ + \n# \$ScriptInstallUpdate mod/notification-telegram\r\ + \n:global TelegramTokenId \"8390868324:AAG3_d1hfVR2M6pGAgDK6ZvhOe4J97nyopw\ + \";\r\ + \n:global TelegramChatId \"-1003631309063\"; #\"454403445\";\r\ + \n# Use this to send notifications to a specific topic in group.\r\ + \n#:global TelegramThreadId \"30\";\r\ + \n# Using telegram-chat you have to define trusted chat ids (not group ids\ + !)\r\ + \n# or user names. Groups allow to chat with devices simultaneously.\r\ + \n:global TelegramChatIdsTrusted {\r\ + \n \"454403445\"\r\ + \n \"-1003631309063\"\r\ + \n \"-5124482807\"\r\ + \n \"1087968824\";\r\ + \n};\r\ + \n# \"-5294757340\";\r\ + \n\r\ + \n:global TelegramChatGroups \"(all)\";\r\ + \n#:global TelegramChatGroups \"(all|home|office)\";\r\ + \n\r\ + \n:global NotificationFunctions {\r\ + \n \"email\"\r\ + \n \"telegram\";\r\ + \n};\r\ + \n# Toggle this to disable symbols in notifications.\r\ + \n:global NotificationsWithSymbols true;\r\ + \n:global TerminalColorOutput true;\r\ + \n\r\ + \n:global DetectIpAddrDefault \"https://ipv4.mikrotik.ovh/\";\r\ + \n:global DetectIpAddrFallback \"https://api.ipify.org/\";\r\ + \n\r\ + \n## Update channel. Possible values: stable, long-term, testing, developm\ + ent\r\ + \n:global updateChannel \"stable\";\r\ + \n\r\ + \n:global CertRenewUrl (\$GlobalScriptsUrl . \"certs/\");\r\ + \n:global CertRenewTime 2w;\r\ + \n:global CertRenewPass {\r\ + \n \"\";\r\ + \n# \"v3ry-s3cr3t\";\r\ + \n# \"4n0th3r-s3cr3t\";\r\ + \n};\r\ + \n:global CertWarnTime 1w;\r\ + \n:global CertIssuedExportPass {\r\ + \n \"\";\r\ + \n# \"cert1-cn\"=\"v3ry-s3cr3t\";\r\ + \n# \"cert2-cn\"=\"4n0th3r-s3cr3t\";\r\ + \n};\r\ + \n\r\ + \n# Script BackupAndUpdate mode, possible values: backup,\r\ + \n# updateOnce - Update once as \"osnotify\" and back \"osnotify\" mode (i\ + n terminal run :set OSUpdateMode updateOnce; \$OSUpdateMode;). \r\ + \n# osupdate - Update if available and creates backups before/after update\ + \_(ignores `forceBackup`)\r\ + \n# Set `forceBackup` to true to always create backups, even\ + \_without updates\r\ + \n# osnotify - Set `forceBackup` to always create backups on every run\r\ + \n:global DevInfoIncludeIP true;\r\ + \n:global BackupAndUpdateMode \"osnotify\"\r\ + \n\r\ + \n:global forceBackup true;\r\ + \n:global BackupPassword \"Peskar55\";\r\ + \n\r\ + \n# SFTP Backup Variables\r\ + \n:global BackupRandomDelay 0;\r\ + \n:global BackupUploadUrl \"sftp://amster.vados.ru/upload/\";\r\ + \n:global BackupUploadUser \$Identity;\r\ + \n:global BackupUploadPass \"root.mnuc.backuper\";\r\ + \n\r\ + \n:global BackupSendBinary true;\r\ + \n:global BackupSendExport true;\r\ + \n:global BackupSendGlobalConfig true;\r\ + \n:global BackupSendScripts true;\r\ + \n\r\ + \n# Remove local file after uploading if no errors\r\ + \n:global BackupRmLocal true;\r\ + \n\r\ + \n# Local Backups Root Directory \r\ + \n:global BackupLocalRoot \"tmpfs\";\r\ + \n\r\ + \n# Encrypt Backup\r\ + \n:global BackupEncrypt true;\r\ + \n\r\ + \n# Sensitive information in Backups\r\ + \n:global BackupSens true;\r\ + \n\r\ + \n# User Export\r\ + \n:global BackupUser true;\r\ + \n\r\ + \n# License Export (not for CHR, will silently skip)\r\ + \n:global BackupLicense false;\r\ + \n\r\ + \n# SSH Keys\r\ + \n:global BackupSshKeys true;\r\ + \n\r\ + \n# Certificate Export\r\ + \n:global BackupCerts true;\r\ + \n\r\ + \n# Certificate Password\r\ + \n:global BackupCertsPasswd \"\";\r\ + \n\r\ + \n# User-Manager Export\r\ + \n:global BackupUserMan false;\r\ + \n\r\ + \n# The Dude Export\r\ + \n:global BackupDude false;\r\ + \n\r\ + \n# User Files to export, comma-separated string or array of strings\r\ + \n# User Files are not removed on backup\r\ + \n# Any directory paths will be removed (/ -> _) on remote file\r\ + \n# Nonpresent files are silently skipped\r\ + \n:global BackupUserList \"autosupout.rif,autosupout.old.rif\";\r\ + \n\r\ + \n# load functions and any custom scripts\r\ + \n# [ /system/script/find where name=\"global-config-ov\ + erlay\" ], \\\r\ + \n# [ /system/script/find where name~\"^global-config-o\ + verlay\\\\.d/.\" ]\r\ + \n#\r\ + \n#:foreach Script in=([ /system/script/find where name=\"Amster-TGglobalV\ + ars\" ], [ /system/script/find where name=\"Amster-TGglobalFunc\" ]) do={\ + \r\ + \n# :onerror Err {\r\ + \n# /system/script/run \$Script;\r\ + \n# } do={\r\ + \n# :log error (\"Loading configuration from configs and functions\"\ + \_. [ /system/script/get \$Script name ] . \" failed: \" . \$Err);\r\ + \n# }\r\ + \n#}\r\ + \n#:log info \"\\ndevMode = \$devMode\";\r\ + \n#:log info \"\\ndevRunning = \$devRunning\";\r\ + \n:foreach Script in=[ /system/script/find where source~\"^#!rsc by Vados \ + GlobalRUN\\r\?\\n\" ] do={\r\ + \n :onerror Err {\r\ + \n /system/script/run \$Script;\r\ + \n } do={\r\ + \n :log error (\"Run script \" . [ /system/script/get \$Script name \ + ] . \" width marker \\\" GlobalRUN\\\" failed: \" . \$Err);\r\ + \n }\r\ + \n}\r\ + \n\r\ + \n# signal we are ready\r\ + \n:set GlobalConfReady true;\r\ + \n:while (\$GlobalConfReady != true) do={:delay 500ms};\r\ + \n" +add comment="Global functions" dont-require-permissions=no name=AM-GlobalFunc \ + owner=AM-GlobalFunc policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="#\ + !rsc by Vados\r\ + \n# RouterOS script: AM-GglobalFunc\r\ + \n# Script comment: Global functions\r\ + \n# Copyright (c) 2005-2026 Vados \r\ + \n#\r\ + \n#\r\ + \n# requires RouterOS, version=7.19\r\ + \n# requires device-mode, fetch, scheduler\r\ + \n:local ExitOK false;\r\ + \n:local ScriptName [ :jobname ];\r\ + \n#:global checkRunJob \$SriptName;\r\ + \n#:global fixCRLF;\r\ + \n#:if (\$fixCRLF != false) do={\r\ + \n#:foreach fixScript in=([ /system/script/find where name~\"*\" ]) do={/s\ + ystem/script/set source=[ :tocrlf [ get \$fixScript source ] ] \$fixScript\ + }\r\ + \n#:if (\$fixCRLF != \"LF\") do={ /system/script/set source=[ :tocrlf [ g\ + et \$fixScript source ] ] \$fixScript};};\r\ + \n#}\r\ + \n:global GlobalFuncReady false;\r\ + \n\r\ + \n# Git commit id & info, expected configuration version\r\ + \n:global CommitId \"main/265/3b138a3e\";\r\ + \n:global CommitTAG \"unknown\";\r\ + \n:global CommitInfo \"Autocommit in repo: ros.vados.ru, generated by owne\ + r: root, in 03:05:02 28.04.2026.\";\r\ + \n\r\ + \n# The variables are received right here.\r\ + \n:global GlobalConfVersion 138;\r\ + \n\r\ + \n:global SumsDirAndFileName \"tmp/checksums.json\";\r\ + \n\r\ + \n:global Identity [/system/identity/get name];\r\ + \n:global IdentityShort [:pick \$Identity 0 18];\r\ + \n\r\ + \n:global devBoardName [/system/resource/get board-name];\r\ + \n:global devMode [/system/device-mode/get mode];\r\ + \n:global devCurArch [/system/resource/get architecture-name];\r\ + \n:global devCurVersion [/system/resource/get version];\r\ + \n\r\ + \n# Variables defined in AM-GlobalConfig.rsc\r\ + \n:global TerminalColorOutput;\r\ + \n:global CommentsInScripts;\r\ + \n:global DetectIpAddrDefault;\r\ + \n:global DetectIpAddrFallback;\r\ + \n:global updateChannel;\r\ + \n:global Domain;\r\ + \n:global EmailGeneralTo;\r\ + \n:global BackupAndUpdateMode;\r\ + \n\r\ + \n# Single functions, without nested functions.\r\ + \n:global GlobalEnvRemove;\r\ + \n:global MiniDateTimeStamp;\r\ + \n\r\ + \n# Include globals \$PrintDebug and \$PrintDebugOverride\r\ + \n:global LogPrint;\r\ + \n\r\ + \n# DeviceInfo and Updates\r\ + \n:global IsCheckUpdates;\r\ + \n:global WaitCheckUpdates;\r\ + \n:global GetPubIp;\r\ + \n\r\ + \n:global GetArrDeviceInfo;\r\ + \n:global WaitArrDeviceInfo;\r\ + \n\r\ + \n:global devModel;\r\ + \n:global devRunningMode;\r\ + \n\r\ + \n:global devRbRevision;\r\ + \n:global devRbSerialNumber;\r\ + \n:global devRbVerAvail;\r\ + \n\r\ + \n:global runningChannelVersion;\r\ + \n:global runningChannel;\r\ + \n:global runningVersion;\r\ + \n\r\ + \n:global devBuildTime;\r\ + \n:global ROsVerAvail;\r\ + \n:global PkgUpdStatus;\r\ + \n:global currentUpdateChannel;\r\ + \n\r\ + \n:global ScriptInstallUpdate;\r\ + \n\r\ + \n:global DeviceInfo;\r\ + \n\r\ + \n:global OldMode;\r\ + \n\r\ + \n:global ParseKeyValueStore;\r\ + \n:global RandomDelay;\r\ + \n:global GetRandomNumber;\r\ + \n:global EscapeForRegEx;\r\ + \n:global ExitError;\r\ + \n:global CharacterMultiply;\r\ + \n:global CharacterReplace;\r\ + \n:global CleanFilePath;\r\ + \n:global CleanName;\r\ + \n\r\ + \n:global CommitBrief;\r\ + \n\r\ + \n:global EitherOr;\r\ + \n:global FormatLine;\r\ + \n:global GetRandom20CharAlNum;\r\ + \n:global Grep;\r\ + \n:global IfThenElse;\r\ + \n:global MAX;\r\ + \n:global MIN;\r\ + \n:global HumanReadableNum;\r\ + \n\r\ + \n:global IsFullyConnected;\r\ + \n:global IsDNSResolving;\r\ + \n:global IsTimeSync;\r\ + \n:global IsTimeSyncCached;\r\ + \n:global IsTimeSyncResetNtp;\r\ + \n\r\ + \n:global WaitDNSResolving;\r\ + \n:global WaitFullyConnected;\r\ + \n:global WaitTimeSync;\r\ + \n:global MkDir;\r\ + \n:global RmDir;\r\ + \n:global RmFile;\r\ + \n:global FileGet;\r\ + \n:global Unix2Dos;\r\ + \n:global UrlEncode;\r\ + \n:global WaitForFile;\r\ + \n:global ScriptLock;\r\ + \n:global SendTelegram;\r\ + \n:global NotificationFunctions;\r\ + \n:global SendNotification;\r\ + \n:global SendNotification2;\r\ + \n:global SymbolForNotification;\r\ + \n:global SymbolByUnicodeName;\r\ + \n:global ValidateSyntax;\r\ + \n:global CheckSumsVerify;\r\ + \n:global GlobalConfChanges;\r\ + \n:global GlobalConfMigration;\r\ + \n:global VersionToNum;\r\ + \n:global RequiredRouterOS;\r\ + \n:global FetchLargeFiles;\r\ + \n:global FetchUserAgentStr;\r\ + \n:global CertificateAvailable;\r\ + \n:global CertificateDownload;\r\ + \n:global CertificateNameByCN;\r\ + \n:global CharacterMultiply;\r\ + \n\r\ + \n:global InspectVar;\r\ + \n:global InspectVarRet;\r\ + \n:global ParseCustom;\r\ + \n\r\ + \n:set IsCheckUpdates do={\r\ + \n :local isInfo [:tobool \$1];\r\ + \n :global LogPrint;\r\ + \n :global updateChannel;\r\ + \n :global PkgUpdStatus;\r\ + \n :global currentUpdateChannel;\r\ + \n :global ROsVerAvail;\r\ + \n :global arrDeviceInfo;\r\ + \n \$LogPrint debug \$0 (\"\\\$isInfo = \" . \$isInfo); \r\ + \n :local CurrentChannel [ /system/package/update/get channel ];\r\ + \n :if ([ :len \$updateChannel ] > 0 && \$CurrentChannel != \$updateChann\ + el) do={\r\ + \n :retry command={/system/package/update set channel=\$updateChannel} \ + \_delay=300ms max=5 on-error={};\r\ + \n \$LogPrint debug \$0 (\"Set updates channel to: \$updateChannel\");\ + \r\ + \n }\r\ + \n\r\ + \n :local Update [ /system/package/update/get ];\r\ + \n :local Channel [ :tostr (\$Update->\"channel\") ];\r\ + \n :set currentUpdateChannel \$Channel;\r\ + \n \$LogPrint debug \$0 (\"Update Channel: \" . \$Channel . \".\");\r\ + \n\r\ + \n\r\ + \n :local StatusPkg \"undefined\";\r\ + \n \$LogPrint debug \$0 (\"Checking for updates...\");\r\ + \n :retry command={:set \$StatusPkg ([/system/package/update/check-for-up\ + dates without-paging as-value]->\"status\")} \\\r\ + \n delay=300ms max=5 on-error={};\r\ + \n \$LogPrint debug \$0 (\"\\\$StatusPkg = \" . \$StatusPkg);\r\ + \n :if (\$StatusPkg = \"New version is available\") do={ :set PkgUpdStatu\ + s true; } else={ :set PkgUpdStatus false; }\r\ + \n :set ROsVerAvail [ :tostr [ /system/package/update/get latest-version \ + ] ];\r\ + \n \$LogPrint debug \$0 (\"\\\$PkgUpdStatus = \" . \$PkgUpdStatus);\r\ + \n :if (\$isInfo != false || \$PkgUpdStatus = true) do={\r\ + \n \$LogPrint debug \$0 (\"\\\$PkgUpdStatus = \" . \$PkgUpdStatus);\r\ + \n :if ([ :typeof \$arrDeviceInfo ] != \"array\") do={\r\ + \n :set arrDeviceInfo [:toarray \$arrDeviceInfo];\r\ + \n }\r\ + \n :retry command={:set (\$arrDeviceInfo->\"devUpdates\") [ /system/pac\ + kage/update/get ]} delay=500ms max=5 on-error={:log error (\"Error\")};\r\ + \n :return true;\r\ + \n } else={\r\ + \n :return \$PkgUpdStatus;\r\ + \n }\r\ + \n}\r\ + \n\r\ + \n:set WaitCheckUpdates do={\r\ + \n :global IsCheckUpdates;\r\ + \n :global PkgUpdStatus;\r\ + \n :global currentUpdateChannel;\r\ + \n :global ROsVerAvail;\r\ + \n :global arrDeviceInfo;\r\ + \n\r\ + \n :local Status \"\";\r\ + \n :local Update;\r\ + \n :local WaitCount 0;\r\ + \n\r\ + \n :if ([ \$IsCheckUpdates true ] = false) do={\r\ + \n :return false;\r\ + \n }\r\ + \n\r\ + \n :set Status [ :tostr [ /system/package/update/get status ] ];\r\ + \n :while ((\$Status = \"\" || \$Status = \"finding out latest version...\ + \") && \$WaitCount < 60) do={\r\ + \n :delay 1s;\r\ + \n :set WaitCount (\$WaitCount + 1);\r\ + \n :set Status [ :tostr [ /system/package/update/get status ] ];\r\ + \n }\r\ + \n\r\ + \n :set Update [ /system/package/update/get ];\r\ + \n :set currentUpdateChannel [ :tostr (\$Update->\"channel\") ];\r\ + \n :set ROsVerAvail [ :tostr (\$Update->\"latest-version\") ];\r\ + \n :if ((\$Update->\"status\") = \"New version is available\") do={\r\ + \n :set PkgUpdStatus true;\r\ + \n } else={\r\ + \n :set PkgUpdStatus false;\r\ + \n }\r\ + \n :if ([ :typeof \$arrDeviceInfo ] != \"array\") do={\r\ + \n :set arrDeviceInfo [:toarray \$arrDeviceInfo];\r\ + \n }\r\ + \n :set (\$arrDeviceInfo->\"devUpdates\") \$Update;\r\ + \n\r\ + \n :if (\$Status = \"\" || \$Status = \"finding out latest version...\") \ + do={\r\ + \n :return false;\r\ + \n }\r\ + \n :return true;\r\ + \n}\r\ + \n\r\ + \n:set WaitArrDeviceInfo do={\r\ + \n :global GetArrDeviceInfo;\r\ + \n :while ([ \$GetArrDeviceInfo ] = false) do={\r\ + \n :delay 1s;\r\ + \n }\r\ + \n}\r\ + \n\r\ + \n:set GetArrDeviceInfo do={\r\ + \n :global LogPrint;\r\ + \n :global arrDeviceInfo;\r\ + \n\r\ + \n :global devBoardName;\r\ + \n :global devModel;\r\ + \n :global devRunning;\r\ + \n :global devCurArch;\r\ + \n :global devRbRevision;\r\ + \n :global devRbSerialNumber;\r\ + \n :global devBuildTime;\r\ + \n :global runningChannelVersion;\r\ + \n :global runningChannel;\r\ + \n :global runningVersion;\r\ + \n :global currentUpdateChannel;\r\ + \n :global ROsVerAvail;\r\ + \n\r\ + \n :local DeviceInfo;\r\ + \n :local Resource [/system/resource/get];\r\ + \n :local Update [ /system/package/update/get ];\r\ + \n :local VersionString [ :tostr (\$Resource->\"version\") ];\r\ + \n :local ChannelStart [ :find \$VersionString \" (\" ];\r\ + \n :local RouterBoard;\r\ + \n :local IsRouterBoard false;\r\ + \n :local RunningMode \"\";\r\ + \n\r\ + \n :set devCurArch [ :tostr (\$Resource->\"architecture-name\") ];\r\ + \n :set devBuildTime [ :tostr (\$Resource->\"build-time\") ];\r\ + \n :set runningChannelVersion \$VersionString;\r\ + \n :set runningVersion \$VersionString;\r\ + \n :set runningChannel \"\";\r\ + \n\r\ + \n :if ([ :typeof \$ChannelStart ] = \"num\" && \$ChannelStart >= 0) do=\ + {\r\ + \n :set runningVersion [ :pick \$VersionString 0 \$ChannelStart ];\r\ + \n :local ChannelRest [ :pick \$VersionString (\$ChannelStart + 2) [ :\ + len \$VersionString ] ];\r\ + \n :local ChannelEnd [ :find \$ChannelRest \")\" ];\r\ + \n :if ([ :typeof \$ChannelEnd ] = \"num\" && \$ChannelEnd >= 0) do={\ + \r\ + \n :set runningChannel [ :pick \$ChannelRest 0 \$ChannelEnd ];\r\ + \n }\r\ + \n }\r\ + \n\r\ + \n :if ([:pick \$devBoardName 0 3] != \"CHR\" or [:pick \$devBoardName 0\ + \_3] != \"x86\") do={\r\ + \n :do {\r\ + \n :set RouterBoard [[ :parse \"/system/routerboard/get\" ]];\r\ + \n# :set RouterBoard [ /system/routerboard/get ];\r\ + \n :if ((\$RouterBoard->\"routerboard\") = true) do={\r\ + \n :set IsRouterBoard true;\r\ + \n }\r\ + \n } on-error={}\r\ + \n }\r\ + \n\r\ + \n :do {\r\ + \n :set RunningMode [ /system/device-mode/get mode ];\r\ + \n } on-error={\r\ + \n :do {\r\ + \n :set RunningMode [ /system/device-mode/get running ];\r\ + \n } on-error={\r\ + \n :set RunningMode \"\";\r\ + \n }\r\ + \n }\r\ + \n :set devRunning \$RunningMode;\r\ + \n\r\ + \n :if (\$IsRouterBoard = true) do={\r\ + \n :set devModel [ :tostr (\$RouterBoard->\"model\") ];\r\ + \n :set devRbRevision [ :tostr (\$RouterBoard->\"revision\") ];\r\ + \n :set devRbSerialNumber [ :tostr (\$RouterBoard->\"serial-number\") \ + ];\r\ + \n } else={\r\ + \n :set devModel \$devBoardName;\r\ + \n :set devRbRevision \"\";\r\ + \n :set devRbSerialNumber \"\";\r\ + \n }\r\ + \n\r\ + \n :set currentUpdateChannel [ :tostr (\$Update->\"channel\") ];\r\ + \n :set ROsVerAvail [ :tostr (\$Update->\"latest-version\") ];\r\ + \n\r\ + \n :set (\$DeviceInfo->\"board-name\") \$devBoardName;\r\ + \n :set (\$DeviceInfo->\"architecture-name\") \$devCurArch;\r\ + \n :set (\$DeviceInfo->\"model\") \$devModel;\r\ + \n :set (\$DeviceInfo->\"revision\") \$devRbRevision;\r\ + \n :set (\$DeviceInfo->\"serial-number\") \$devRbSerialNumber;\r\ + \n :set (\$DeviceInfo->\"running-mode\") \$devRunning;\r\ + \n :set (\$DeviceInfo->\"build-time\") \$devBuildTime;\r\ + \n :set (\$DeviceInfo->\"running-channel-version\") \$runningChannelVers\ + ion;\r\ + \n :set (\$DeviceInfo->\"running-version\") \$runningVersion;\r\ + \n :set (\$DeviceInfo->\"running-channel\") \$runningChannel;\r\ + \n :set (\$DeviceInfo->\"routerboard\") \$IsRouterBoard;\r\ + \n :set (\$DeviceInfo->\"current-firmware\") [ :tostr (\$RouterBoard->\"\ + current-firmware\") ];\r\ + \n :set (\$DeviceInfo->\"upgrade-firmware\") [ :tostr (\$RouterBoard->\"\ + upgrade-firmware\") ];\r\ + \n :set (\$DeviceInfo->\"package-channel\") \$currentUpdateChannel;\r\ + \n :set (\$DeviceInfo->\"installed-version\") [ :tostr (\$Update->\"inst\ + alled-version\") ];\r\ + \n :set (\$DeviceInfo->\"latest-version\") \$ROsVerAvail;\r\ + \n :set (\$DeviceInfo->\"update-status\") [ :tostr (\$Update->\"status\"\ + ) ];\r\ + \n\r\ + \n :set arrDeviceInfo \$DeviceInfo;\r\ + \n :return \$DeviceInfo;\r\ + \n}\r\ + \n\r\ + \n:set DeviceInfo do={\r\ + \n :global GetArrDeviceInfo;\r\ + \n :global GlobalConfVersion;\r\ + \n :global Identity;\r\ + \n :global IfThenElse;\r\ + \n :global FormatLine;\r\ + \n :global CommitBrief;\r\ + \n\r\ + \n :local License [/system/license/get];\r\ + \n :local Snmp [ /snmp/get ];\r\ + \n :local Info [ \$GetArrDeviceInfo ];\r\ + \n\r\ + \n :if ([ :typeof \$Info ] != \"array\") do={\r\ + \n :return false;\r\ + \n }\r\ + \n\r\ + \n :return ( \\\r\ + \n [ \$FormatLine \"Hostname\" \$Identity ] . \"\\n\" . \\\r\ + \n [ \$IfThenElse ([ :len (\$Snmp->\"location\") ] > 0) \\\r\ + \n ([ \$FormatLine \"Location\" (\$Snmp->\"location\") ] . \"\\n\") ]\ + \_. \\\r\ + \n [ \$IfThenElse ([ :len (\$Snmp->\"contact\") ] > 0) \\\r\ + \n ([ \$FormatLine \"Contact\" (\$Snmp->\"contact\") ] . \"\\n\") ] .\ + \_\\\r\ + \n \"Hardware:\\n\" . \\\r\ + \n [ \$FormatLine \" Board\" (\$Info->\"board-name\") ] . \"\\n\" . \ + \\\r\ + \n [ \$FormatLine \" Arch\" (\$Info->\"architecture-name\") ] . \"\\\ + n\" . \\\r\ + \n [ \$FormatLine \" Model\" (\$Info->\"model\") ] . \\\r\ + \n [ \$IfThenElse ([ :len (\$Info->\"revision\") ] > 0) \\\r\ + \n (\" \" . (\$Info->\"revision\")) ] . \"\\n\" . \\\r\ + \n [ \$IfThenElse ([ :len (\$Info->\"serial-number\") ] > 0) \\\r\ + \n ([ \$FormatLine \" Serial\" (\$Info->\"serial-number\") ] . \"\ + \\n\") ] . \\\r\ + \n [ \$IfThenElse ([ :len (\$License->\"nlevel\") ] > 0) \\\r\ + \n ([ \$FormatLine \" License\" (\"level \" . (\$License->\"nlevel\ + \")) ] . \"\\n\") ] . \\\r\ + \n \"RouterOS:\\n\" . \\\r\ + \n [ \$IfThenElse ([ :len (\$License->\"level\") ] > 0) \\\r\ + \n ([ \$FormatLine \" License\" (\"level \" . (\$License->\"level\ + \")) ] . \"\\n\") ] . \\\r\ + \n [ \$FormatLine \" Channel\" (\$Info->\"package-channel\") ] . \"\ + \\n\" . \\\r\ + \n [ \$FormatLine \" Installed\" (\$Info->\"installed-version\") ] .\ + \_\"\\n\" . \\\r\ + \n [ \$IfThenElse ([ :len (\$Info->\"running-channel\") ] > 0) \\\r\ + \n ([ \$FormatLine \" Running\" ((\$Info->\"running-version\") . \ + \" (\" . (\$Info->\"running-channel\") . \")\") ] . \"\\n\") \\\r\ + \n ([ \$FormatLine \" Running\" (\$Info->\"running-version\") ] . \ + \"\\n\") ] . \\\r\ + \n [ \$IfThenElse ([ :len (\$Info->\"latest-version\") ] > 0 && \\\r\ + \n (\$Info->\"installed-version\") != (\$Info->\"latest-version\"))\ + \_\\\r\ + \n ([ \$FormatLine \" Available\" (\$Info->\"latest-version\") ] .\ + \_\"\\n\") ] . \\\r\ + \n [ \$IfThenElse ((\$Info->\"routerboard\") = true && \\\r\ + \n (\$Info->\"current-firmware\") != (\$Info->\"upgrade-firmware\")\ + ) \\\r\ + \n ([ \$FormatLine \" Firmware\" ((\$Info->\"current-firmware\") .\ + \_\" -> \" . (\$Info->\"upgrade-firmware\")) ] . \"\\n\") ] . \\\r\ + \n \"RouterOS-Scripts:\\n\" . \\\r\ + \n [ \$FormatLine \" Commit\" [ \$CommitBrief ] ] . \"\\n\" . \\\r\ + \n [ \$FormatLine \" Version\" \$GlobalConfVersion ]);\r\ + \n}\r\ + \n\r\ + \n:if ([ :typeof \$NotificationFunctions ] != \"array\") do={:set Notifica\ + tionFunctions ({})}\r\ + \n:set GetRandom20CharAlNum do={\r\ + \n :global EitherOr;\r\ + \n :return [ :rndstr length=[ \$EitherOr [ :tonum \$1 ] 20 ] from=\"ABCDE\ + FGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\" ];\r\ + \n}\r\ + \n\r\ + \n:global checkRunJob;\r\ + \n:set checkRunJob do={\r\ + \n :local Script [ :tostr \$1 ];\r\ + \n :global ScriptLock; \r\ + \n :if ([ \$ScriptLock \$Script ] = false) do={:return false}\r\ + \n :foreach Job in=[ /system/script/job/find where script=\$Script ] do={\ + :set Job [ /system/script/job/get \$Job ];\r\ + \n :while ([ :typeof (\$Job->\"parent\") ] = \"id\") do={:set Job [ /sy\ + stem/script/job/get [ find where .id=(\$Job->\"parent\") ] ]}\r\ + \n :if ((\$Job->\"type\") = \"login\") do={:return true};}; :return fa\ + lse; \r\ + \n}\r\ + \n\r\ + \n:set InspectVar do={\r\ + \n :global InspectVarRet;\r\ + \n :put [ :tocrlf [ \$InspectVarRet \$1 ] ];\r\ + \n}\r\ + \n\r\ + \n:set CommitBrief do={\r\ + \n :global CommitId;\r\ + \n :global CommitInfo;\r\ + \n :if (\$CommitId = \"unknown\") do={\r\ + \n :return \"unknown\";\r\ + \n }\r\ + \n :return (\$CommitInfo . \"/\" . [ :pick \$CommitId 0 8 ]);\r\ + \n}\r\ + \n\r\ + \n:set InspectVarRet do={\r\ + \n :local Input \$1;\r\ + \n :local Level (0 + [ :tonum \$2 ]);\r\ + \n :global CharacterReplace;\r\ + \n :global IfThenElse;\r\ + \n :global InspectVarRet;\r\ + \n :local IndentReturn do={\r\ + \n :local Prefix [ :tostr \$1 ];\r\ + \n :local Value [ :tostr \$2 ];\r\ + \n :local Level [ :tonum \$3 ];\r\ + \n :global CharacterMultiply;\r\ + \n :return ([ \$CharacterMultiply \" \" (\$Level * 2) ] . \"-\" . \$Pre\ + fix . \"-> \" . \$Value);\r\ + \n }\r\ + \n :local TypeOf [ :typeof \$Input ];\r\ + \n :local Len [ :len \$Input ];\r\ + \n :local Return [ \$IndentReturn \"type\" \$TypeOf \$Level ];\r\ + \n :if (\$TypeOf = \"array\") do={\r\ + \n :foreach Key,Value in=\$Input do={\r\ + \n :set \$Return (\$Return . \"\\n\" . \\\r\ + \n [ \$IndentReturn \"key\" \$Key (\$Level + 1) ] . \"\\n\" . \\\r\ + \n [ \$InspectVarRet \$Value (\$Level + 2) ]);\r\ + \n }\r\ + \n } else={\r\ + \n :if (\$TypeOf = \"str\") do={\r\ + \n :set \$Return (\$Return . \"\\n\" . \\\r\ + \n [ \$IndentReturn \"len\" \$Len \$Level ]);\r\ + \n :if ([ :typeof [ :find \$Input (\"\\r\") ] ] = \"num\") do={\r\ + \n :set Input [ \$CharacterReplace \$Input (\"\\r\") \"\" ];\r\ + \n }\r\ + \n :if ([ :typeof [ :find \$Input (\"\\n\") ] ] = \"num\") do={\r\ + \n :set Input [ \$CharacterReplace \$Input (\"\\n\") \" \" ];\r\ + \n }\r\ + \n }\r\ + \n :if (\$TypeOf != \"nothing\") do={\r\ + \n :set \$Return (\$Return . \"\\n\" . \\\r\ + \n [ \$IndentReturn \"value\" [ \$IfThenElse ([ :len \$Input ] > 80)\ + \_\\\r\ + \n ([ :pick \$Input 0 77 ] . \"...\") \$Input ] \$Level ]);\r\ + \n }\r\ + \n }\r\ + \n :return \$Return;\r\ + \n}\r\ + \n\r\ + \n# !!! The function is not ready !!!\r\ + \n:global FetchHttpInfo do={\r\ + \n :local Mac [ :tostr \$1 ];\r\ + \n :global CertificateAvailable;\r\ + \n :global IsMacLocallyAdministered;\r\ + \n :global LogPrint;\r\ + \n :local Url \"https://api.macvendors.com/\";\r\ + \n :if ([ \$IsMacLocallyAdministered \$Mac ] = true) do={:return \"locall\ + y administered\";}\r\ + \n :do {\r\ + \n :if ([ \$CertificateAvailable \"GTS Root R4\" \"fetch\" ] = false) d\ + o={\r\ + \n \$LogPrint warning \$0 (\"Downloading required certificate failed.\ + \");\r\ + \n :error false;\r\ + \n }\r\ + \n :local Vendor ([ /tool/fetch \r\ + \n (\$Url . [ :pick \$Mac 0 8 ]) output=user as-value ]->\"data\");\r\ + \n :return \$Vendor;\r\ + \n } on-error={\r\ + \n :onerror Err {\r\ + \n /tool/fetch check-certificate=yes-without-crl (\$Url) output=none \ + as-value;\r\ + \n \$LogPrint debug \$0 (\"The mac vendor is not known in database.\"\ + );\r\ + \n } do={ \$LogPrint warning \$0 (\"Failed getting mac vendor: \" . \$E\ + rr); }\r\ + \n :return \"unknown vendor\";\r\ + \n }\r\ + \n}\r\ + \n\r\ + \n:set GetPubIp do={\r\ + \n :global DetectIpAddrDefault;\r\ + \n :global DetectIpAddrFallback;\r\ + \n :global LogPrint;\r\ + \n \r\ + \n :local PubIpAddr false;\r\ + \n :local Url \$DetectIpAddrDefault;\r\ + \n\r\ + \n# :retry command={abc} delay=1 max=2 on-error={:put \"got error\"} \r\ + \n :do {\r\ + \n \$LogPrint debug \$0 (\"Trying to detect public IP using default s\ + ervice: \" . \$Url . \"...\");\r\ + \n :retry command={:set PubIpAddr ([ /tool/fetch http-method=\"get\"\ + \_check-certificate=yes-without-crl \$Url output=user as-value ]->\"data\"\ + )} \\\r\ + \n delay=50ms max=5 on-error={\$LogPrint error [ :jobname ] (\"Fail\ + ed to detect public IP using default service: \" . \$Url . \".\")}\r\ + \n #:error \"Failed to detect public IP using default service: \$Url\ + .\"};\r\ + \n } on-error={\r\ + \n \$LogPrint error \$0 (\"Failed to detect public IP using default s\ + ervice: \" . \$Url . \".\");\r\ + \n :set Url \$DetectIpAddrFallBack;\r\ + \n \$LogPrint debug \$0 (\"Trying to detect public IP using fallback \ + service: \" . \$Url . \"...\");\r\ + \n :retry command={:set PubIpAddr ([ /tool/fetch http-method=\"get\"\ + \_check-certificate=yes-without-crl \$Url output=user as-value ]->\"data\"\ + )} \\\r\ + \n delay=200ms max=5 on-error={\$LogPrint error [ :jobname ] (\"Fai\ + led to detect public IP using fallback service: \" . \$Url . \".\")}\r\ + \n };\r\ + \n :if (\$PubIpAddr = false) do={\r\ + \n :set PubIpAddr \"not-detected\";\r\ + \n } else={\r\ + \n :set PubIpAddr [ :pick \$PubIpAddr 0 15];\r\ + \n }\r\ + \n :return \$PubIpAddr;\r\ + \n}\r\ + \n\r\ + \n:set FormatLine do={\r\ + \n :local Key [ :tostr \$1 ];\r\ + \n :local Value [ :tostr \$2 ];\r\ + \n :local Indent [ :tonum \$3 ];\r\ + \n :local Spaces;\r\ + \n :local Return \"\";\r\ + \n :global CharacterMultiply;\r\ + \n :global EitherOr;\r\ + \n :set Indent [ \$EitherOr \$Indent 16 ];\r\ + \n :local Spaces [ \$CharacterMultiply \" \" \$Indent ];\r\ + \n :if ([ :len \$Key ] > 0) do={ :set Return (\$Key . \":\")}\r\ + \n :if ([ :len \$Key ] > (\$Indent - 2)) do={:set Return (\$Return . \"\\\ + n\" . [ :pick \$Spaces 0 \$Indent ] . \$Value);\r\ + \n } else={:set Return (\$Return . [ :pick \$Spaces 0 (\$Indent - [ :len \ + \$Return ]) ] . \$Value)}\r\ + \n :return \$Return;\r\ + \n}\r\ + \n\r\ + \n:set ParseCustom do={\r\ + \n :local Str [ :tostr \$1 ];\r\ + \n :local Start [:find [ \$Str ] [:tostr \$2]];\r\ + \n :local End [ :tostr \$3 ];\r\ + \n :local Num [ :tonum \$4 ];\r\ + \n :local Return;\r\ + \n :if ([:len \$Num] = 0) do={:set Num \"0\"}\r\ + \n :local rest [:pick \$Str (\$Start+\$Num) [:len \$Str]]; \r\ + \n :if ([:len \$End ] = 0) do={:set Return [:pick \$Str \$Num \$Start]} e\ + lse={\r\ + \n :set End [:find \$rest \$End];\r\ + \n :set Return [:pick \$rest 0 \$End];\r\ + \n }\r\ + \n:return \$Return;\r\ + \n}\r\ + \n\r\ + \n:set LogPrint do={\r\ + \n :local Severity [ :tostr \$1 ];\r\ + \n :local Name [ :tostr \$2 ];\r\ + \n :local Message [ :tostr \$3 ];\r\ + \n :global PrintDebug;\r\ + \n :global PrintDebugOverride;\r\ + \n :global EitherOr;\r\ + \n :local Debug [ \$EitherOr (\$PrintDebugOverride->\$Name) \$PrintDebug \ + ];\r\ + \n :local PrintSeverity do={\r\ + \n :global TerminalColorOutput;\r\ + \n :if (\$TerminalColorOutput != true) do={:return \$1}\r\ + \n :local Color { debug=96; info=97; warning=93; error=91 };\r\ + \n :return (\"\\1B[\" . \$Color->\$1 . \"m\" . \$1 . \"\\1B[0m\");\r\ + \n}\r\ + \n :local Log ([ \$EitherOr \$Name \"\" ] . \": \" . \$Message);\ + \r\ + \n :if (\$Severity ~ (\"^(custom|debug|error|info)\\\$\")) do={\r\ + \n :if (\$Severity = \"debug\") do={:log debug \$Log}\r\ + \n :if (\$Severity = \"error\") do={:log error \$Log}\r\ + \n :if (\$Severity = \"info\" ) do={:log info \$Log}\r\ + \n } else={:log warning \$Log; :set Severity \"warning\"}\r\ + \n :if (\$Severity != \"debug\" || \$Debug = true) do={:put ([ \$PrintSev\ + erity \$Severity ] . \": \" . \$Message)}\r\ + \n}\r\ + \n\r\ + \n:set CertificateAvailable do={\r\ + \n :local CommonName [ :tostr \$1 ];\r\ + \n :local UseFor [ :tostr \$2 ];\r\ + \n :global CertificateDownload;\r\ + \n :global EitherOr;\r\ + \n :global LogPrint;\r\ + \n :global ParseKeyValueStore;\r\ + \n :set UseFor [ \$EitherOr \$UseFor \"undefined\" ];\r\ + \n :if ([ /system/resource/get free-hdd-space ] < 8388608 && \\\r\ + \n [ /certificate/settings/get crl-download ] = true && \\\r\ + \n [ /certificate/settings/get crl-store ] = \"system\") do={\r\ + \n \$LogPrint warning \$0 (\"This system has low free flash space but \ + \" . \\\r\ + \n \"is configured to download certificate CRLs to system!\");\r\ + \n }\r\ + \n :if ([ :len \$CommonName ] = 0) do={\r\ + \n \$LogPrint warning \$0 (\"No CommonName given!\");\r\ + \n :return false;\r\ + \n }\r\ + \n :local CertSettings [ /certificate/settings/get ];\r\ + \n :if (((\$CertSettings->\"builtin-trust-anchors\") = \"trusted\" || \\\ + \r\ + \n (\$CertSettings->\"builtin-trust-store\") ~ \$UseFor || \\\r\ + \n (\$CertSettings->\"builtin-trust-store\") = \"all\") && \\\r\ + \n [ :len [ /certificate/builtin/find where common-name=\$CommonName\ + \_] ] > 0) do={\r\ + \n :return true;\r\ + \n }\r\ + \n :if ([ :len [ /certificate/find where common-name=\$CommonName ] ] = 0\ + ) do={\r\ + \n \$LogPrint info \$0 (\"Certificate with CommonName '\" . \$CommonNam\ + e . \"' not available.\");\r\ + \n :if ([ \$CertificateDownload \$CommonName ] = false) do={:return fal\ + se}\r\ + \n }\r\ + \n :if ([ :len [ /certificate/find where common-name=\$CommonName ] ] > 1\ + ) do={\r\ + \n \$LogPrint info \$0 (\"There are \" . \$CertCount . \" Certificates \ + with CommonName '\" . \$CommonName . \"'. Should be ok.\");\r\ + \n :return true;\r\ + \n }\r\ + \n :local CertVal [ /certificate/get [ find where common-name=\$CommonNam\ + e ] ];\r\ + \n :while ((\$CertVal->\"akid\") != \"\" && (\$CertVal->\"akid\") != (\$C\ + ertVal->\"skid\")) do={\r\ + \n :if ([ :len [ /certificate/find where skid=(\$CertVal->\"akid\") ] ]\ + \_= 0) do={\r\ + \n :local IssuerCN ([ \$ParseKeyValueStore (\$CertVal->\"issuer\") ]-\ + >\"CN\");\r\ + \n \$LogPrint info \$0 (\"Certificate chain for '\" . \$CommonName . \ + \"' is incomplete, missing '\" . \$IssuerCN . \"'.\");\r\ + \n :if ([ \$CertificateDownload \$IssuerCN ] = false) do={:return fal\ + se}\r\ + \n }\r\ + \n :set CertVal [ /certificate/get [ find where skid=(\$CertVal->\"akid\ + \") ] ];\r\ + \n }\r\ + \n :return true;\r\ + \n}\r\ + \n\r\ + \n:set CertificateDownload do={\r\ + \n :local CommonName [ :tostr \$1 ];\r\ + \n :global GlobalScriptsUrl;\r\ + \n :global GlobalScriptsUrlSuffix;\r\ + \n :global CertificateNameByCN;\r\ + \n :global CleanName;\r\ + \n :global FetchUserAgentStr;\r\ + \n :global LogPrint;\r\ + \n :global RmFile;\r\ + \n :global WaitForFile;\r\ + \n \r\ + \n \$LogPrint info \$0 (\"Downloading and importing certificate with Comm\ + onName '\" . \$CommonName . \"'.\");\r\ + \n \r\ + \n :local FileName ([ \$CleanName \$CommonName ] . \".pem\");\r\ + \n :do {\r\ + \n /tool/fetch check-certificate=yes-without-crl http-header-field=({ [\ + \_\$FetchUserAgentStr \$0 ] }) \\\r\ + \n (\$GlobalScriptsUrl . \"certs/\" . \$FileName . \$GlobalScriptsUrl\ + Suffix) dst-path=\$FileName as-value;\r\ + \n \$WaitForFile \$FileName;\r\ + \n } on-error={\r\ + \n \$LogPrint warning \$0 (\"Failed downloading certificate with Common\ + Name '\" . \$CommonName . \\\r\ + \n \"' from repository! Trying fallback to mkcert.org...\");\r\ + \n :do {\r\ + \n :if ([ :len [ /certificate/find where common-name=\"ISRG Root X1\"\ + \_] ] = 0) do={\r\ + \n \$LogPrint error \$0 (\"Required certificate is not available.\"\ + );\r\ + \n :return false;\r\ + \n }\r\ + \n /tool/fetch check-certificate=yes-without-crl http-header-field=({\ + \_[ \$FetchUserAgentStr \$0 ] }) \\\r\ + \n \"https://mkcert.org/generate/\" http-data=[ :serialize to=json \ + ({ \$CommonName }) ] \\\r\ + \n dst-path=\$FileName as-value;\r\ + \n \$WaitForFile \$FileName;\r\ + \n :if ([ /file/get \$FileName size ] = 0) do={\r\ + \n \$RmFile \$FileName;\r\ + \n :error false;\r\ + \n }\r\ + \n } on-error={\r\ + \n \$LogPrint warning \$0 (\"Failed downloading certificate with Comm\ + onName '\" . \$CommonName . \"'!\");\r\ + \n :return false;\r\ + \n }\r\ + \n }\r\ + \n\r\ + \n /certificate/import file-name=\$FileName passphrase=\"\" as-value;\r\ + \n :delay 1s;\r\ + \n \$RmFile \$FileName;\r\ + \n\r\ + \n :if ([ :len [ /certificate/find where common-name=\$CommonName ] ] = 0\ + ) do={\r\ + \n /certificate/remove [ find where name~(\"^\" . \$FileName . \"_[0-9]\ + +\\\$\") ];\r\ + \n \$LogPrint warning \$0 (\"Certificate with CommonName '\" . \$Common\ + Name . \"' still unavailable!\");\r\ + \n :return false;\r\ + \n }\r\ + \n :foreach Cert in=[ /certificate/find where name~(\"^\" . \$FileName . \ + \"_[0-9]+\\\$\") ] do={\r\ + \n \$CertificateNameByCN [ /certificate/get \$Cert common-name ];\r\ + \n }\r\ + \n :return true;\r\ + \n}\r\ + \n\r\ + \n:set CertificateNameByCN do={\r\ + \n :local Match [ :tostr \$1 ];\r\ + \n :global CleanName;\r\ + \n :global LogPrint;\r\ + \n :local Cert ([ /certificate/find where (common-name=\$Match or fingerp\ + rint=\$Match or name=\$Match) ]->0);\r\ + \n :if ([ :len \$Cert ] = 0) do={\r\ + \n \$LogPrint warning \$0 (\"No matching certificate found.\");\r\ + \n :return false;\r\ + \n }\r\ + \n :local CommonName [ /certificate/get \$Cert common-name ];\r\ + \n /certificate/set \$Cert name=[ \$CleanName \$CommonName ];\r\ + \n :return true;\r\ + \n}\r\ + \n\r\ + \n:set CharacterMultiply do={\r\ + \n :local Str [ :tostr \$1 ];\r\ + \n :local Num [ :tonum \$2 ];\r\ + \n :if (\$Num = 0) do={:return \"\"}\r\ + \n :local Return \"\";\r\ + \n :for I from=1 to=\$Num do={:set Return (\$Return . \$Str)}\r\ + \n :return \$Return;\r\ + \n}\r\ + \n\r\ + \n:set FetchUserAgentStr do={\r\ + \n :local Caller [ :tostr \$1 ];\r\ + \n :global IfThenElse;\r\ + \n :local Resource [ /system/resource/get ];\r\ + \n :return (\"User-Agent: Mikrotik/\" . \$Resource->\"version\" . \" \" .\ + \_\$Resource->\"architecture-name\" . \\\r\ + \n \" \" . \$Caller . \"/Fetch (https://amster.vados.ru/; main/3419/3ee\ + 19780)\");\r\ + \n}\r\ + \n\r\ + \n:set Grep do={\r\ + \n :local Input ([ :tostr \$1 ] . \"\\n\");\r\ + \n :local Pattern [ :tostr \$2 ];\r\ + \n :if ([ :typeof [ :find \$Input \$Pattern ] ] = \"nil\") do={:return []\ + }\r\ + \n :do {\r\ + \n :local Line [ :pick \$Input 0 [ :find \$Input \"\\n\" ] ];\r\ + \n :if ([ :typeof [ :find \$Line \$Pattern ] ] = \"num\") do={:return \ + \$Line}\r\ + \n :set Input [ :pick \$Input ([ :find \$Input \"\\n\" ] + 1) [ :len \$\ + Input ] ];\r\ + \n } while=([ :len \$Input ] > 0);\r\ + \n :return [];\r\ + \n}\r\ + \n\r\ + \n:set HumanReadableNum do={\r\ + \n :local Input [ :tonum \$1 ];\r\ + \n :local Base [ :tonum \$2 ];\r\ + \n :global EitherOr;\r\ + \n :global IfThenElse;\r\ + \n :local Prefix \"kMGTPE\";\r\ + \n :local Pow 1;\r\ + \n :set Base [ \$EitherOr \$Base 1024 ];\r\ + \n :local Bin [ \$IfThenElse (\$Base = 1024) \"i\" \"\" ];\r\ + \n :if (\$Input < \$Base) do={:return \$Input}\r\ + \n :for I from=0 to=[ :len \$Prefix ] do={\r\ + \n :set Pow (\$Pow * \$Base);\r\ + \n :if (\$Input / \$Base < \$Pow) do={\r\ + \n :set Prefix [ :pick \$Prefix \$I ];\r\ + \n :local Tmp1 (\$Input * 100 / \$Pow);\r\ + \n :local Tmp2 (\$Tmp1 / 100);\r\ + \n :if (\$Tmp2 >= 100) do={:return (\$Tmp2 . \$Prefix . \$Bin)}\r\ + \n :return (\$Tmp2 . \".\" . \\\r\ + \n [ :pick \$Tmp1 [ :len \$Tmp2 ] ([ :len \$Tmp1 ] - [ :len \$Tmp\ + 2 ] + 1) ] . \\\r\ + \n \$Prefix . \$Bin);\r\ + \n }\r\ + \n }\r\ + \n}\r\ + \n\r\ + \n:set CleanName do={\r\ + \n :local Input [ :tostr \$1 ];\r\ + \n :local Return \"\";\r\ + \n :for I from=0 to=([ :len \$Input ] - 1) do={\r\ + \n :local Char [ :pick \$Input \$I ];\r\ + \n :if ([ :typeof [ find \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqr\ + stuvwxyz0123456789\" \$Char ] ] = \"nil\") do={\r\ + \n :do {:if ([ :len \$Return ] = 0) do={:error true};\r\ + \n :if ([ :pick \$Return ([ :len \$Return ] - 1) ] = \"-\") do={:er\ + ror true}; :set Char \"-\"} on-error={:set Char \"\"}; \r\ + \n };\r\ + \n :set Return (\$Return . \$Char)};\r\ + \n :return \$Return;\r\ + \n}\r\ + \n\r\ + \n:set GetRandomNumber do={\r\ + \n :global EitherOr;\r\ + \n :return [ :rndnum from=0 to=[ \$EitherOr [ :tonum \$1 ] 4294967295 ] ]\ + \r\ + \n}\r\ + \n\r\ + \n:set RandomDelay do={\r\ + \n :local Time [ :tonum \$1 ];\r\ + \n :local Unit [ :tostr \$2 ];\r\ + \n :global EitherOr;\r\ + \n :global GetRandomNumber;\r\ + \n :global MAX;\r\ + \n :if (\$Time = 0) do={:return false}\r\ + \n :delay ([ \$MAX 10 [ \$GetRandomNumber ([ :tonsec [ :totime (\$Time . \ + [ \$EitherOr \$Unit \"s\" ]) ] ] / 1000000) ] ] . \"ms\");\r\ + \n}\r\ + \n\r\ + \n:set EscapeForRegEx do={\r\ + \n :local Input [ :tostr \$1 ];\r\ + \n :if ([ :len \$Input ] = 0) do={:return \"\"}\r\ + \n :local Return \"\";\r\ + \n :local Chars (\"^.[]\\\$()|*+\?{}\\\\\");\r\ + \n :for I from=0 to=([ :len \$Input ] - 1) do={\r\ + \n :local Char [ :pick \$Input \$I ];\r\ + \n :if ([ :find \$Chars \$Char ]) do={:set Char (\"\\\\\" . \$Char)}\r\ + \n :set Return (\$Return . \$Char);\r\ + \n }\r\ + \n :return \$Return;\r\ + \n}\r\ + \n:set ExitError do={\r\ + \n :local ExitOK [ :tostr \$1 ];\r\ + \n :local Name [ :tostr \$2 ];\r\ + \n :local Error [ :tostr \$3 ];\r\ + \n :global IfThenElse;\r\ + \n :global LogPrint;\r\ + \n :if (\$ExitOK = \"false\") do={\r\ + \n \$LogPrint error \$Name ([ \$IfThenElse ([ :pick \$Name 0 1 ] = \"\\\ + \$\") \\\r\ + \n \"Function\" \"Script\" ] . \" '\" . \$Name . \"' exited with er\ + ror\" . \\\r\ + \n [ \$IfThenElse (!(\$Error ~ \"^(|true|false)\\\$\")) (\": \" . \ + \$Error) \".\" ]);\r\ + \n }\r\ + \n}\r\ + \n\r\ + \n:set MiniDateTimeStamp do={\r\ + \n /system/clock;\r\ + \n :local vdate [get date];\r\ + \n :local vtime [get time];\r\ + \n :local vdoff [:toarray \"0,4,5,7,8,10\"];\r\ + \n :local MM [:pick \$vdate (\$vdoff->2) (\$vdoff->3)];\r\ + \n :local M [:tonum \$MM];\r\ + \n :if (\$vdate ~ \".../../....\") do={\r\ + \n :set vdoff [:toarray \"7,11,1,3,4,6\"];\r\ + \n :set M ([:find \"xxanebarprayunulugepctovecANEBARPRAYUNULUGE\ + PCTOVEC\" [:pick \$vdate (\$vdoff->2) (\$vdoff->3)] -1] / 2);\r\ + \n :if (\$M>12) do={:set M (\$M - 12)}\r\ + \n :set MM [:pick (100 + \$M) 1 3];\r\ + \n }\r\ + \n :local yyyy [:pick \$vdate (\$vdoff->0) (\$vdoff->1)];\r\ + \n :local dd [:pick \$vdate (\$vdoff->4) (\$vdoff->5)];\r\ + \n :local HH [:pick \$vtime 0 2];\r\ + \n :local mm [:pick \$vtime 3 5];\r\ + \n :local ss [:pick \$vtime 6 8];\r\ + \n :return ([\$yyyy] . [\$MM] . [\$dd] . [\$HH] . [\$mm] . [\$ss]);\r\ + \n}\r\ + \n\r\ + \n:set WaitForFile do={\r\ + \n :local FileName [ :tostr \$1 ];\r\ + \n :local WaitTime [ :totime \$2 ];\r\ + \n :global CleanFilePath;\r\ + \n :global EitherOr;\r\ + \n :global MAX;\r\ + \n :set FileName [ \$CleanFilePath \$FileName ];\r\ + \n :local Delay ([ \$MAX [ \$EitherOr \$WaitTime 2s ] 100ms ] / 9);\r\ + \n :do {\r\ + \n :retry {\r\ + \n /file/get \$FileName;\r\ + \n :return true;\r\ + \n } delay=\$Delay max=10;\r\ + \n } on-error={ }\r\ + \n :while ([ :len [ /file/find where name=\$FileName ] ] > 0) do={\r\ + \n :do {\r\ + \n /file/get \$FileName;\r\ + \n :return true;\r\ + \n } on-error={ }\r\ + \n :delay \$Delay;\r\ + \n :set Delay (\$Delay * 3 / 2);\r\ + \n }\r\ + \n :return false;\r\ + \n}\r\ + \n\r\ + \n:set FileGet do={\r\ + \n :local FileName [ :tostr \$1 ];\r\ + \n :global WaitForFile;\r\ + \n :if ([ \$WaitForFile \$FileName 0s ] = false) do={:return false}\r\ + \n :local FileVal false;\r\ + \n :do {:set FileVal [ /file/get \$FileName ];\r\ + \n } on-error={ }\r\ + \n :return \$FileVal;\r\ + \n}\r\ + \n\r\ + \n:set RmDir do={\r\ + \n :local DirName [ :tostr \$1 ];\r\ + \n :global FileGet;\r\ + \n :global LogPrint;\r\ + \n \$LogPrint debug \$0 (\"Removing directory: \". \$DirName);\r\ + \n :local DirVal [ \$FileGet \$DirName ];\r\ + \n :if (\$DirVal = false) do={\$LogPrint debug \$0 (\"... which does not \ + exist.\"); :return true};\r\ + \n :if (\$DirVal->\"type\" != \"directory\") do={\$LogPrint error \$0 (\"\ + Directory '\" . \$DirName . \"' is not a directory.\"); :return false};\r\ + \n :onerror Err {/file/remove \$DirName} do={\$LogPrint error \$0 (\"Remo\ + ving directory '\" . \$DirName . \"' failed: \" . \$Err); :return false};\ + \r\ + \n :return true;\r\ + \n}\r\ + \n\r\ + \n:set RmFile do={\r\ + \n :local FileName [ :tostr \$1 ];\r\ + \n :global FileGet;\r\ + \n :global LogPrint;\r\ + \n \$LogPrint debug \$0 (\"Removing file: \". \$FileName);\r\ + \n :local FileVal [ \$FileGet \$FileName ];\r\ + \n :if (\$FileVal = false) do={\$LogPrint debug \$0 (\"... which does not\ + \_exist.\"); :return true}\r\ + \n :if (\$FileVal->\"type\" = \"directory\" || \$FileVal->\"type\" = \"di\ + sk\") do={\r\ + \n \$LogPrint error \$0 (\"File '\" . \$FileName . \"' is not a file.\"\ + ); :return false}\r\ + \n :onerror Err {\r\ + \n /file/remove \$FileName;\r\ + \n } do={\$LogPrint error \$0 (\"Removing file '\" . \$FileName . \"' fai\ + led: \" . \$Err); :return false}\r\ + \n :return true;\r\ + \n}\r\ + \n\r\ + \n:set MkDir do={\r\ + \n :local Path [ :tostr \$1 ];\r\ + \n :global CleanFilePath;\r\ + \n :global FileGet;\r\ + \n :global RmDir;\r\ + \n :global WaitForFile;\r\ + \n :global LogPrint;\r\ + \n :local MkTmpfs do={\r\ + \n :global WaitForFile;\r\ + \n :local TmpFs [ /disk/find where slot=tmpfs type=tmpfs ];\r\ + \n :if ([ :len \$TmpFs ] = 1) do={\r\ + \n :if ([ /disk/get \$TmpFs disabled ] = true) do={\r\ + \n \$LogPrint info \$0 (\"The tmpfs is disabled, enabling.\");\r\ + \n /disk/enable \$TmpFs;\r\ + \n }\r\ + \n :return true;\r\ + \n }\r\ + \n \$LogPrint info \$0 (\"Creating disk of type tmpfs.\");\r\ + \n \$RmDir \"tmpfs\";\r\ + \n :onerror Err {\r\ + \n /disk/add slot=tmpfs type=tmpfs tmpfs-max-size=([ /system/resource\ + /get total-memory ] / 3);\r\ + \n \$WaitForFile \"tmpfs\";\r\ + \n } do={\r\ + \n \$LogPrint warning \$0 (\"Creating disk of type tmpfs failed: \" .\ + \_\$Err);\r\ + \n :return false;\r\ + \n }\r\ + \n :return true;\r\ + \n }\r\ + \n :set Path [ \$CleanFilePath \$Path ];\r\ + \n :if (\$Path = \"\") do={\r\ + \n :return true;\r\ + \n }\r\ + \n \$LogPrint debug \$0 (\"Making directory: \" . \$Path);\r\ + \n :local PathVal [ \$FileGet \$Path ];\r\ + \n :if (\$PathVal->\"type\" = \"directory\") do={\r\ + \n \$LogPrint debug \$0 (\"... which already exists.\");\r\ + \n :return true;\r\ + \n }\r\ + \n :if ([ :pick \$Path 0 5 ] = \"tmpfs\") do={\r\ + \n :if ([ \$MkTmpfs ] = false) do={\r\ + \n :return false;\r\ + \n }\r\ + \n }\r\ + \n :onerror Err {\r\ + \n /file/add type=\"directory\" name=\$Path;\r\ + \n \$WaitForFile \$Path;\r\ + \n } do={\r\ + \n \$LogPrint warning \$0 (\"Making directory '\" . \$Path . \"' failed\ + : \" . \$Err);\r\ + \n :return false;\r\ + \n }\r\ + \n :return true;\r\ + \n}\r\ + \n\r\ + \n:set MAX do={:if (\$1 > \$2) do={:return \$1}\r\ + \n :return \$2;\r\ + \n}\r\ + \n:set MIN do={:if (\$1 < \$2) do={:return \$1}\r\ + \n :return \$2;\r\ + \n}\r\ + \n\r\ + \n:set CharacterMultiply do={\r\ + \n :local Str [ :tostr \$1 ];\r\ + \n :local Num [ :tonum \$2 ];\r\ + \n :if (\$Num = 0) do={:return \"\"}\r\ + \n :local Return \"\";\r\ + \n :for I from=1 to=\$Num do={:set Return (\$Return . \$Str)}\r\ + \n :return \$Return;\r\ + \n}\r\ + \n\r\ + \n:set CharacterReplace do={\r\ + \n :local String [ :tostr \$1 ];\r\ + \n :local ReplaceFrom [ :tostr \$2 ];\r\ + \n :local ReplaceWith [ :tostr \$3 ];\r\ + \n :local Return \"\";\r\ + \n :if (\$ReplaceFrom = \"\") do={:return \$String}\r\ + \n :while ([ :typeof [ :find \$String \$ReplaceFrom ] ] != \"nil\") do={\ + \r\ + \n :local Pos [ :find \$String \$ReplaceFrom ];\r\ + \n :set Return (\$Return . [ :pick \$String 0 \$Pos ] . \$ReplaceWith);\ + \r\ + \n :set String [ :pick \$String (\$Pos + [ :len \$ReplaceFrom ]) [ :len\ + \_\$String ] ];\r\ + \n }\r\ + \n :return (\$Return . \$String);\r\ + \n}\r\ + \n\r\ + \n:set CleanFilePath do={\r\ + \n :local Path [ :tostr \$1 ];\r\ + \n :global CharacterReplace;\r\ + \n :while (\$Path ~ \"//\") do={:set \$Path [ \$CharacterReplace \$Path \ + \"//\" \"/\" ]};\r\ + \n :if ([ :pick \$Path 0 ] = \"/\") do={:set Path [ :pick \$Path 1 [ :len\ + \_\$Path ] ]};\r\ + \n :if ([ :pick \$Path ([ :len \$Path ] - 1) ] = \"/\") do={:set Path [ :\ + pick \$Path 0 ([ :len \$Path ] - 1) ]};\r\ + \n :return \$Path;\r\ + \n}\r\ + \n\r\ + \n:set IfThenElse do={\r\ + \n :if ([ :tostr \$1 ] = \"true\" || [ :tobool \$1 ] = true) do={:return \ + \$2};\r\ + \n :return \$3;\r\ + \n}\r\ + \n\r\ + \n:set EitherOr do={\r\ + \n :global IfThenElse;\r\ + \n :if ([ :typeof \$1 ] = \"num\") do={:return [ \$IfThenElse (\$1 != 0) \ + \$1 \$2 ]}\r\ + \n :if ([ :typeof \$1 ] = \"time\") do={:return [ \$IfThenElse (\$1 > 0s)\ + \_\$1 \$2 ]}\r\ + \n# this works for boolean values, literal ones with parentheses\r\ + \n :return [ \$IfThenElse ([ :len [ :tostr \$1 ] ] > 0) \$1 \$2 ];\r\ + \n}\r\ + \n\r\ + \n:set ParseKeyValueStore do={\r\ + \n :local Source \$1;\r\ + \n :if ([ :pick \$Source 0 1 ] = \"{\") do={\r\ + \n :do {\r\ + \n :return [ :deserialize from=json \$Source ];\r\ + \n } on-error={ }\r\ + \n } \r\ + \n :if ([ :typeof \$Source ] != \"array\") do={:set Source [ :tostr \$1 ]\ + }\r\ + \n :local Result ({});\r\ + \n :foreach KeyValue in=[ :toarray \$Source ] do={\r\ + \n :if ([ :find \$KeyValue \"=\" ]) do={\r\ + \n :local Key [ :pick \$KeyValue 0 [ :find \$KeyValue \"=\" ] ];\r\ + \n :local Value [ :pick \$KeyValue ([ :find \$KeyValue \"=\" ] + 1) [\ + \_:len \$KeyValue ] ];\r\ + \n :if (\$Value=\"true\") do={:set Value true}\r\ + \n :if (\$Value=\"false\") do={:set Value false}\r\ + \n :set (\$Result->\$Key) \$Value;\r\ + \n } else={:set (\$Result->\$KeyValue) true}\r\ + \n }\r\ + \n :return \$Result;\r\ + \n}\r\ + \n:set RequiredRouterOS do={\r\ + \n :local Caller [ :tostr \$1 ];\r\ + \n :local Required [ :tostr \$2 ];\r\ + \n :local Warn [ :tostr \$3 ];\r\ + \n :global IfThenElse;\r\ + \n :global LogPrint;\r\ + \n :global VersionToNum;\r\ + \n :if (!(\$Required ~ \"^\\\\d+\\\\.\\\\d+((alpha|beta|rc|\\\\.)\\\\d+|)\ + \\\$\")) do={\r\ + \n \$LogPrint error \$0 (\"No valid RouterOS version: \" . \$Required);\ + \r\ + \n :return false;\r\ + \n }\r\ + \n :if ([ \$VersionToNum \$Required ] > [ \$VersionToNum [ /system/packag\ + e/update/get installed-version ] ]) do={\r\ + \n :if (\$Warn = \"true\") do={\r\ + \n \$LogPrint warning \$0 (\"This \" . [ \$IfThenElse ([ :pick \$Call\ + er 0 ] = (\"\\\$\")) \"function\" \"script\" ] . \\\r\ + \n \" '\" . \$Caller . \"' (at least specific functionality) requir\ + es RouterOS \" . \$Required . \". Please update!\");\r\ + \n }\r\ + \n :return false;\r\ + \n }\r\ + \n :return true;\r\ + \n}\r\ + \n:set VersionToNum do={\r\ + \n :local Input [ :tostr \$1 ];\r\ + \n :local Multi 0x1000000;\r\ + \n :local Return 0;\r\ + \n :global CharacterReplace;\r\ + \n :set Input [ \$CharacterReplace \$Input \".\" \",\" ];\r\ + \n :foreach I in={ \"zero\"; \"alpha\"; \"beta\"; \"rc\" } do={\r\ + \n :set Input [ \$CharacterReplace \$Input \$I (\",\" . \$I . \",\") ];\ + \r\ + \n }\r\ + \n :foreach Value in=([ :toarray \$Input ], 0) do={\r\ + \n :local Num [ :tonum \$Value ];\r\ + \n :if (\$Multi = 0x100) do={\r\ + \n :if ([ :typeof \$Num ] = \"num\") do={\r\ + \n :set Return (\$Return + 0xff00);\r\ + \n :set Multi (\$Multi / 0x100);\r\ + \n } else={\r\ + \n :if (\$Value = \"zero\") do={ }\r\ + \n :if (\$Value = \"alpha\") do={ :set Return (\$Return + 0x3f00); \ + }\r\ + \n :if (\$Value = \"beta\") do={ :set Return (\$Return + 0x5f00); }\ + \r\ + \n :if (\$Value = \"rc\") do={ :set Return (\$Return + 0x7f00); }\r\ + \n }\r\ + \n }\r\ + \n :if ([ :typeof \$Num ] = \"num\") do={ :set Return (\$Return + (\$Va\ + lue * \$Multi)); }\r\ + \n :set Multi (\$Multi / 0x100);\r\ + \n }\r\ + \n :return \$Return;\r\ + \n}\r\ + \n:set ScriptLock do={\r\ + \n :local Script [ :tostr \$1 ];\r\ + \n :local WaitMax [ :totime \$2 ];\r\ + \n :global GetRandom20CharAlNum;\r\ + \n :global IfThenElse;\r\ + \n :global LogPrint;\r\ + \n :global ScriptLockOrder;\r\ + \n :if ([ :typeof \$ScriptLockOrder ] = \"nothing\") do={\r\ + \n :set ScriptLockOrder ({});\r\ + \n }\r\ + \n :if ([ :typeof (\$ScriptLockOrder->\$Script) ] = \"nothing\") do={\r\ + \n :set (\$ScriptLockOrder->\$Script) ({});\r\ + \n }\r\ + \n :local JobCount do={\r\ + \n :local Script [ :tostr \$1 ];\r\ + \n :return [ :len [ /system/script/job/find where script=\$Script ] ];\ + \r\ + \n }\r\ + \n :local TicketCount do={\r\ + \n :local Script [ :tostr \$1 ];\r\ + \n :global ScriptLockOrder;\r\ + \n :local Count 0;\r\ + \n :foreach Ticket in=(\$ScriptLockOrder->\$Script) do={\r\ + \n :if ([ :typeof \$Ticket ] != \"nothing\") do={:set Count (\$Count \ + + 1)}\r\ + \n }\r\ + \n :return \$Count;\r\ + \n }\r\ + \n :local IsFirstTicket do={\r\ + \n :local Script [ :tostr \$1 ];\r\ + \n :local Check [ :tostr \$2 ];\r\ + \n :global ScriptLockOrder;\r\ + \n :foreach Ticket in=(\$ScriptLockOrder->\$Script) do={\r\ + \n :if (\$Ticket = \$Check) do={:return true}\r\ + \n :if ([ :typeof \$Ticket ] != \"nothing\" && \$Ticket != \$Check) d\ + o={:return false}\r\ + \n }\r\ + \n :return false;\r\ + \n }\r\ + \n :local AddTicket do={\r\ + \n :local Script [ :tostr \$1 ];\r\ + \n :local Add [ :tostr \$2 ];\r\ + \n :global ScriptLockOrder;\r\ + \n :while (true) do={\r\ + \n :local Pos [ :len (\$ScriptLockOrder->\$Script) ];\r\ + \n :set (\$ScriptLockOrder->\$Script->\$Pos) \$Add;\r\ + \n :delay 10ms;\r\ + \n :if ((\$ScriptLockOrder->\$Script->\$Pos) = \$Add) do={:return tru\ + e}\r\ + \n }\r\ + \n }\r\ + \n :local RemoveTicket do={\r\ + \n :local Script [ :tostr \$1 ];\r\ + \n :local Remove [ :tostr \$2 ];\r\ + \n :global ScriptLockOrder;\r\ + \n :foreach Id,Ticket in=(\$ScriptLockOrder->\$Script) do={\r\ + \n :while ((\$ScriptLockOrder->\$Script->\$Id) = \$Remove) do={\r\ + \n :set (\$ScriptLockOrder->\$Script->\$Id);\r\ + \n :delay 10ms;\r\ + \n }\r\ + \n }\r\ + \n }\r\ + \n :local CleanupTickets do={\r\ + \n :local Script [ :tostr \$1 ];\r\ + \n :global ScriptLockOrder;\r\ + \n :foreach Ticket in=(\$ScriptLockOrder->\$Script) do={\r\ + \n :if ([ :typeof \$Ticket ] != \"nothing\") do={:return false}\r\ + \n }\r\ + \n :set (\$ScriptLockOrder->\$Script) ({});\r\ + \n }\r\ + \n :if ([ :typeof \$WaitMax ] = \"nil\" ) do={:set WaitMax 0s}\r\ + \n :if ([ :len [ /system/script/find where name=\$Script ] ] = 0) do={\r\ + \n \$LogPrint error \$0 (\"A script named '\" . \$Script . \"' does not\ + \_exist!\");\r\ + \n :error false;\r\ + \n }\r\ + \n :if ([ \$JobCount \$Script ] = 0) do={\r\ + \n \$LogPrint error \$0 (\"No script '\" . \$Script . \"' is running!\"\ + );\r\ + \n :error false;\r\ + \n }\r\ + \n :if ([ \$TicketCount \$Script ] >= [ \$JobCount \$Script ]) do={\r\ + \n \$LogPrint error \$0 (\"More tickets than running scripts '\" . \$Sc\ + ript . \"', resetting!\");\r\ + \n :set (\$ScriptLockOrder->\$Script) ({});\r\ + \n /system/script/job/remove [ find where script=\$Script ];\r\ + \n }\r\ + \n :local MyTicket [ \$GetRandom20CharAlNum 6 ];\r\ + \n \$AddTicket \$Script \$MyTicket;\r\ + \n :local WaitInterval (\$WaitMax / 20);\r\ + \n :local WaitTime \$WaitMax;\r\ + \n :while (\$WaitTime > 0 && \\\r\ + \n ([ \$IsFirstTicket \$Script \$MyTicket ] = false || \\\r\ + \n [ \$TicketCount \$Script ] < [ \$JobCount \$Script ])) do={\r\ + \n :set WaitTime (\$WaitTime - \$WaitInterval);\r\ + \n :delay \$WaitInterval;\r\ + \n }\r\ + \n :if ([ \$IsFirstTicket \$Script \$MyTicket ] = true && \\\r\ + \n [ \$TicketCount \$Script ] = [ \$JobCount \$Script ]) do={\r\ + \n \$RemoveTicket \$Script \$MyTicket;\r\ + \n \$CleanupTickets \$Script;\r\ + \n :return true;\r\ + \n }\r\ + \n \$RemoveTicket \$Script \$MyTicket;\r\ + \n \$LogPrint debug \$0 (\"Script '\" . \$Script . \"' started more than \ + once\" . \\\r\ + \n [ \$IfThenElse (\$WaitTime < \$WaitMax) \" and timed out waiting for\ + \_lock\" \"\" ] . \"...\");\r\ + \n :return false;\r\ + \n}\r\ + \n:set SendNotification do={ :onerror Err {\r\ + \n :global SendNotification2;\r\ + \n \$SendNotification2 ({ origin=\$0; subject=\$1; message=\$2; link=\$3;\ + \_silent=\$4 });\r\ + \n} do={:global ExitOnError; \$ExitOnError \$0 \$Err}\r\ + \n}\r\ + \n:set SendNotification2 do={\r\ + \n :local Notification \$1;\r\ + \n :global NotificationFunctions;\r\ + \n :foreach FunctionName,Discard in=\$NotificationFunctions do={\r\ + \n (\$NotificationFunctions->\$FunctionName) (\"\\\$NotificationFunctio\ + ns->\\\"\" . \$FunctionName . \"\\\"\") \$Notification;\r\ + \n }\r\ + \n}\r\ + \n:set SymbolByUnicodeName do={\r\ + \n :local Name [ :tostr \$1 ];\r\ + \n :global EitherOr;\r\ + \n :global LogPrint;\r\ + \n :global SymbolsExtra;\r\ + \n :local Symbols ({\r\ + \n \"abacus\"=\"\\F0\\9F\\A7\\AE\";\r\ + \n \"alarm-clock\"=\"\\E2\\8F\\B0\";\r\ + \n \"arrow-down\"=\"\\E2\\AC\\87\";\r\ + \n \"arrow-up\"=\"\\E2\\AC\\86\";\r\ + \n \"calendar\"=\"\\F0\\9F\\93\\85\";\r\ + \n \"card-file-box\"=\"\\F0\\9F\\97\\83\";\r\ + \n \"chart-decreasing\"=\"\\F0\\9F\\93\\89\";\r\ + \n \"chart-increasing\"=\"\\F0\\9F\\93\\88\";\r\ + \n \"cloud\"=\"\\E2\\98\\81\";\r\ + \n \"cross-mark\"=\"\\E2\\9D\\8C\";\r\ + \n \"earth\"=\"\\F0\\9F\\8C\\8D\";\r\ + \n \"fire\"=\"\\F0\\9F\\94\\A5\";\r\ + \n \"floppy-disk\"=\"\\F0\\9F\\92\\BE\";\r\ + \n \"gear\"=\"\\E2\\9A\\99\";\r\ + \n \"heart\"=\"\\E2\\99\\A5\";\r\ + \n \"high-voltage-sign\"=\"\\E2\\9A\\A1\";\r\ + \n \"incoming-envelope\"=\"\\F0\\9F\\93\\A8\";\r\ + \n \"information\"=\"\\E2\\84\\B9\";\r\ + \n \"large-orange-circle\"=\"\\F0\\9F\\9F\\A0\";\r\ + \n \"large-red-circle\"=\"\\F0\\9F\\94\\B4\";\r\ + \n \"link\"=\"\\F0\\9F\\94\\97\";\r\ + \n \"lock-with-ink-pen\"=\"\\F0\\9F\\94\\8F\";\r\ + \n \"memo\"=\"\\F0\\9F\\93\\9D\";\r\ + \n \"mobile-phone\"=\"\\F0\\9F\\93\\B1\";\r\ + \n \"pushpin\"=\"\\F0\\9F\\93\\8C\";\r\ + \n \"scissors\"=\"\\E2\\9C\\82\";\r\ + \n \"scroll\"=\"\\F0\\9F\\93\\9C\";\r\ + \n \"smiley-partying-face\"=\"\\F0\\9F\\A5\\B3\";\r\ + \n \"smiley-smiling-face\"=\"\\E2\\98\\BA\";\r\ + \n \"smiley-winking-face-with-tongue\"=\"\\F0\\9F\\98\\9C\";\r\ + \n \"sparkles\"=\"\\E2\\9C\\A8\";\r\ + \n \"speech-balloon\"=\"\\F0\\9F\\92\\AC\";\r\ + \n \"star\"=\"\\E2\\AD\\90\";\r\ + \n \"warning-sign\"=\"\\E2\\9A\\A0\";\r\ + \n \"white-heavy-check-mark\"=\"\\E2\\9C\\85\"\r\ + \n }, \$SymbolsExtra);\r\ + \n :local Magic [ :pick [ /system/clock/get date ] 4 10 ];\r\ + \n :local Special {\r\ + \n \"information-04-01\"=\"\\F0\\9F\\9A\\BB\";\r\ + \n \"large-orange-circle-04-01\"=\"\\F0\\9F\\8D\\8A\";\r\ + \n \"large-orange-circle-10-31\"=\"\\F0\\9F\\8E\\83\";\r\ + \n \"large-red-circle-04-01\"=\"\\F0\\9F\\8D\\92\" };\r\ + \n :if ([ :len (\$Symbols->\$Name) ] = 0) do={\r\ + \n \$LogPrint warning \$0 (\"No symbol available for name '\" . \$Name \ + . \"'!\");\r\ + \n :return \"\";\r\ + \n }\r\ + \n :return ([ \$EitherOr (\$Special->(\$Name . \$Magic)) (\$Symbols->\$Na\ + me) ] . \"\\EF\\B8\\8F\");\r\ + \n}\r\ + \n:set SymbolForNotification do={\r\ + \n :global NotificationsWithSymbols;\r\ + \n :global SymbolByUnicodeName;\r\ + \n :global IfThenElse;\r\ + \n :if (\$NotificationsWithSymbols != true) do={:return [ \$IfThenElse ([\ + \_:len \$2 ] > 0) ([ :tostr \$2 ] . \" \") \"\" ]}\r\ + \n :local Return \"\";\r\ + \n :foreach Symbol in=[ :toarray \$1 ] do={:set Return (\$Return . [ \$Sy\ + mbolByUnicodeName \$Symbol ])}\r\ + \n :return (\$Return . \" \");\r\ + \n}\r\ + \n:set Unix2Dos do={:return [ :tocrlf [ :tostr \$1 ] ]}\r\ + \n:set UrlEncode do={\r\ + \n :local Input [ :tostr \$1 ];\r\ + \n :if ([ :len \$Input ] = 0) do={:return \"\"}\r\ + \n :local Return \"\";\r\ + \n :local Chars (\"\\n\\r !\\\"#\\\$%&'()*+,:;<=>\?@[\\\\]^`{|}~\");\r\ + \n :local Subs { \"%0A\"; \"%0D\"; \"%20\"; \"%21\"; \"%22\"; \"%23\"; \"\ + %24\"; \"%25\"; \"%26\"; \"%27\";\r\ + \n \"%28\"; \"%29\"; \"%2A\"; \"%2B\"; \"%2C\"; \"%3A\"; \"%3B\"; \ + \"%3C\"; \"%3D\"; \"%3E\"; \"%3F\";\r\ + \n \"%40\"; \"%5B\"; \"%5C\"; \"%5D\"; \"%5E\"; \"%60\"; \"%7B\"; \ + \"%7C\"; \"%7D\"; \"%7E\" };\r\ + \n :for I from=0 to=([ :len \$Input ] - 1) do={\r\ + \n :local Char [ :pick \$Input \$I ];\r\ + \n :local Replace [ :find \$Chars \$Char ];\r\ + \n :if ([ :typeof \$Replace ] = \"num\") do={:set Char (\$Subs->\$Repla\ + ce)}\r\ + \n :set Return (\$Return . \$Char);\r\ + \n }\r\ + \n :return \$Return;\r\ + \n}\r\ + \n:set ValidateSyntax do={\r\ + \n :local Code [ :tostr \$1 ];\r\ + \n :global LogPrint;\r\ + \n :onerror Err {\r\ + \n [ :parse (\":local Validate do={\\n\" . \$Code . \"\\n}\") ];\r\ + \n } do={\r\ + \n \$LogPrint debug \$0 (\"Valdation failed: \" . \$Err);\r\ + \n :return false;\r\ + \n }\r\ + \n :return true;\r\ + \n}\r\ + \n:set IsDNSResolving do={\r\ + \n :do {:resolve \"api.telegram.org\"} on-error={:return false}\r\ + \n :return true;\r\ + \n}\r\ + \n:set IsFullyConnected do={\r\ + \n :global IsDNSResolving;\r\ + \n :global IsTimeSync;\r\ + \n :if ([ \$IsDNSResolving ] = false) do={:return false};\r\ + \n :if ([ \$IsTimeSync ] = false) do={:return false};\r\ + \n :return true;\r\ + \n}\r\ + \n:set IsTimeSync do={\r\ + \n :global IsTimeSyncCached;\r\ + \n :global IsTimeSyncResetNtp;\r\ + \n :if (\$IsTimeSyncCached = true) do={:return true}\r\ + \n :if ([ /system/ntp/client/get enabled ] = true) do={\r\ + \n :if ([ /system/ntp/client/get status ] = \"synchronized\") do={\r\ + \n :set IsTimeSyncCached true;\r\ + \n :return true;\r\ + \n }\r\ + \n :local Uptime [ /system/resource/get uptime ];\r\ + \n :if ([ :typeof \$IsTimeSyncResetNtp ] = \"nothing\") do={\r\ + \n :set IsTimeSyncResetNtp \$Uptime;\r\ + \n }\r\ + \n :if (\$Uptime - \$IsTimeSyncResetNtp < 3m) do={:return false}\r\ + \n :log warning \"\$0 The ntp client is configured, but did not sync.\"\ + ;\r\ + \n :set IsTimeSyncResetNtp \$Uptime;\r\ + \n /system/ntp/client/set enabled=no;\r\ + \n :delay 20ms;\r\ + \n /system/ntp/client/set enabled=yes;\r\ + \n :return false;\r\ + \n }\r\ + \n :if ([ /system/license/get ]->\"level\" = \"free\" || \\\r\ + \n [ /system/resource/get ]->\"board-name\" = \"x86\") do={\r\ + \n :log debug \"\$0 No ntp client configured, relying on RTC for CHR fr\ + ee license and x86.\";\r\ + \n :return true;\r\ + \n }\r\ + \n :if ([ /ip/cloud/get update-time ] = true) do={\r\ + \n :if ([ :typeof [ /ip/cloud/get public-address ] ] = \"ip\") do={\r\ + \n :set IsTimeSyncCached true;\r\ + \n :return true;\r\ + \n }\r\ + \n :return false;\r\ + \n }\r\ + \n :log debug \"\$0 No time source configured! Returning gracefully...\";\ + \r\ + \n :return true;\r\ + \n}\r\ + \n\r\ + \n# read parts of a large file\r\ + \n:set FetchLargeFiles do={\r\ + \n :local ScriptName [:tostr \$1];\r\ + \n :local fetchUrl [:tostr \$2];\r\ + \n :local CheckCert [:tostr \$3];\r\ + \n :local fetchMode [:tostr \$4];\r\ + \n :local fetchMethod [:tostr \$5];\r\ + \n :local FetchString \"undefined\";\r\ + \n \r\ + \n :global CleanName;\r\ + \n :global FetchUserAgentStr;\r\ + \n :global GetRandom20CharAlNum;\r\ + \n :global IfThenElse;\r\ + \n :global LogPrint;\r\ + \n :global MkDir;\r\ + \n :global RmDir;\r\ + \n :global RmFile;\r\ + \n :global WaitForFile;\r\ + \n\r\ + \n :set CheckCert [ \$IfThenElse (\$CheckCert = \"false\") \"no\" \"yes-w\ + ithout-crl\" ];\r\ + \n #:set fetchMode [ \$IfThenElse (\$fetchMode != \"false\") [:tostr (\"m\ + ode=\" . \$fetchMode)] ];\r\ + \n #:set fetchMethod [\$IfThenElse (\$fetchMethod != \"false\") [:tostr (\ + \"http-method=\\\"\" . \$fetchMethod . \"\\\"\") ]];\r\ + \n \r\ + \n :local DirName (\"tmpfs/\" . [ \$CleanName \$ScriptName ]);\r\ + \n :if ([ \$MkDir \$DirName ] = false) do={\r\ + \n \$LogPrint error \$0 (\"Failed creating directory!\");\r\ + \n :return false;\r\ + \n }\r\ + \n :local FileName (\$DirName . \"/\" . [ \$CleanName \$0 ] . \"-\" . [ \ + \$GetRandom20CharAlNum ]);\r\ + \n #/tool/fetch check-certificate=\$CheckCert \$Url dst-path=\$FileName h\ + ttp-header-field=({ [ \$FetchUserAgentStr \$ScriptName ] }) as-value;\r\ + \n #:log warning (\"\\\$fUrl =\" . \$2 . ({[ \$fMode ]}));\r\ + \n :onerror Err {\r\ + \n :set FetchString (\"/tool/fetch \" . \\\r\ + \n [\$IfThenElse ([\$fetchMethod] != \"false\") (\"http-method=\\\"\"\ + \_. \$fetchMethod . \"\\\" \")] . \\\r\ + \n \"check-certificate=\" . \$CheckCert . \" url=(\\\"\" . \$fetchUrl\ + \_. \"\\\") \" . \\\r\ + \n [\$IfThenElse ([\$fetchMode] != \"false\") (\"mode=\" . \$fetchMod\ + e . \" \")] . \\\r\ + \n http-header-field=({ [ \$FetchUserAgentStr \$ScriptName ] }) as-va\ + lue);\r\ + \n :log warning (\"\\\$FetchSring = \" . \$FetchString);\r\ + \n :put [\$FetchString];\r\ + \n #:put [/tool/fetch \$fetchMode check-certificate=\$CheckCert url=(\$\ + fetchUrl) dst-path=(\$FileName) http-header-field=({ [ \$FetchUserAgentStr\ + \_\$ScriptName ] }) as-value];\r\ + \n } do={\r\ + \n :if ([ \$WaitForFile \$FileName 500ms ] = true) do={\r\ + \n \$RmFile \$FileName;\r\ + \n }\r\ + \n \$LogPrint debug \$0 (\"Failed downloading from \" . \$fetchUrl . \"\ + \_- \" . \$Err);\r\ + \n \$RmDir \$DirName;\r\ + \n :return false;\r\ + \n }\r\ + \n :if ([ \$WaitForFile \$FileName 5s ] = false) do={\r\ + \n \$LogPrint debug \$0 (\"The file downloaded from \" . \$fetchUrl . \ + \" did not show up.\");\r\ + \n :return false;\r\ + \n }\r\ + \n :local FileSize [ /file/get \$FileName size ];\r\ + \n :local Return \"\";\r\ + \n :local VarSize 0;\r\ + \n :while (\$VarSize != \$FileSize) do={\r\ + \n :set Return (\$Return . ([ /file/read offset=\$VarSize chunk-size=32\ + 768 file=\$FileName as-value ]->\"data\"));\r\ + \n :set FileSize [ /file/get \$FileName size ];\r\ + \n :set VarSize [ :len \$Return ];\r\ + \n :if (\$VarSize > \$FileSize) do={\r\ + \n :delay 100ms;\r\ + \n }\r\ + \n }\r\ + \n \$RmDir \$DirName;\r\ + \n :return \$Return;\r\ + \n}\r\ + \n\r\ + \n:set ScriptInstallUpdate do={ :onerror Err {\r\ + \n :local Scripts [ :toarray \$1 ];\r\ + \n :local NewComment [ :tostr \$2 ];\r\ + \n :global InitSetup;\r\ + \n\r\ + \n :global CommitId;\r\ + \n :global ScriptUpdatesCRLF;\r\ + \n :global GlobalConfVersion;\r\ + \n :global Identity;\r\ + \n :global CertificateAvailable;\r\ + \n :global CheckSumsVerify;\r\ + \n :global GlobalScriptsUrl;\r\ + \n :global SumsDirAndFileName;\r\ + \n :global GlobalScriptsUrlSuffix;\r\ + \n :global EitherOr;\r\ + \n :global FetchUserAgentStr;\r\ + \n :global Grep;\r\ + \n :global IfThenElse;\r\ + \n :global LogPrint;\r\ + \n :global ParseKeyValueStore;\r\ + \n :global RequiredRouterOS;\r\ + \n :global SendNotification2;\r\ + \n :global SymbolForNotification;\r\ + \n :global ValidateSyntax;\r\ + \n :global CommentsInScripts;\r\ + \n\r\ + \n :if ([ \$CertificateAvailable \"Root YE\" \"fetch\" ] = false) do={\r\ + \n \$LogPrint warning \$0 (\"Downloading certificate failed, trying wit\ + hout.\");\r\ + \n }\r\ + \n\r\ + \n :foreach Script in=\$Scripts do={\r\ + \n :if ([ :len [ /system/script/find where name=\$Script ] ] = 0) do={\ + \r\ + \n \$LogPrint info \$0 (\"Adding new script: \" . \$Script);\r\ + \n /system/script/add name=\$Script owner=\$Script source=\"#!rsc by \ + Vados\\n\" comment=\$NewComment;\r\ + \n }\r\ + \n }\r\ + \n\r\ + \n :local CommitIdBefore \$CommitId;\r\ + \n :local GlobalConfVersionBefore \$GlobalConfVersion;\r\ + \n :local ReloadGlobal false;\r\ + \n :local DeviceMode [ /system/device-mode/get ];\r\ + \n\r\ + \n :if (\$CheckSumsVerify = true) do={\r\ + \n :local CheckSums ({});\r\ + \n :do {\r\ + \n :local Url (\$GlobalScriptsUrl . \$SumsDirAndFileName . \$GlobalScr\ + iptsUrlSuffix);\r\ + \n \$LogPrint debug \$0 (\"Fetching checksums from url: \" . \$Url);\ + \r\ + \n :set CheckSums [ :deserialize from=json ([ /tool/fetch check-certi\ + ficate=yes-without-crl \\\r\ + \n http-header-field=({ [ \$FetchUserAgentStr \$0 ] }) \$Url output\ + =user as-value ]->\"data\") ];\r\ + \n } on-error={ \$LogPrint warning \$0 (\"Err = \" . \$Err); }\r\ + \n }\r\ + \n\r\ + \n :foreach Script in=[ /system/script/find where source~\"^#!rsc by Vado\ + s\" ] do={\r\ + \n :local ScriptVal [ /system/script/get \$Script ];\r\ + \n :local ScriptInfo [ \$ParseKeyValueStore (\$ScriptVal->\"comment\") \ + ];\r\ + \n :local SourceNew;\r\ + \n\r\ + \n :foreach Scheduler in=[ /system/scheduler/find where on-event~(\"\\\ + \\b\" . \$ScriptVal->\"name\" . \"\\\\b\") ] do={\r\ + \n :local SchedulerVal [ /system/scheduler/get \$Scheduler ];\r\ + \n :if (\$ScriptVal->\"policy\" != \$SchedulerVal->\"policy\") do={\r\ + \n \$LogPrint warning \$0 (\"Policies differ for script '\" . \$Scr\ + iptVal->\"name\" . \"' and its scheduler '\" . \$SchedulerVal->\"name\" . \ + \"'!\");\r\ + \n }\r\ + \n }\r\ + \n :do {\r\ + \n :if (\$ScriptInfo->\"ignore\" = true) do={\r\ + \n \$LogPrint debug \$0 (\"Ignoring script '\" . \$ScriptVal->\"nam\ + e\" . \"', as requested.\");\r\ + \n :error true;\r\ + \n }\r\ + \n :if (\$CheckSumsVerify = true) do={\r\ + \n :local CheckSum (\$CheckSums->(\$ScriptVal->\"name\"));\r\ + \n :if ([ :len (\$ScriptInfo->\"base-url\") ] = 0 && [ :len (\$Scri\ + ptInfo->\"url-suffix\") ] = 0 && \\\r\ + \n [ :convert transform=md5 to=hex [ :tolf (\$ScriptVal->\"sou\ + rce\") ] ] = \$CheckSum) do={\r\ + \n \$LogPrint debug \$0 (\"Checksum for script '\" . \$ScriptVal-\ + >\"name\" . \"' matches, ignoring.\");\r\ + \n :error true;\r\ + \n }\r\ + \n }\r\ + \n :if ([ :len (\$ScriptInfo->\"certificate\") ] > 0) do={\r\ + \n :if ([ \$CertificateAvailable (\$ScriptInfo->\"certificate\") \"\ + fetch\" ] = false) do={\r\ + \n \$LogPrint warning \$0 (\"Downloading certificate failed, tryi\ + ng without.\");\r\ + \n }\r\ + \n }\r\ + \n :onerror Err {\r\ + \n :local BaseUrl [ \$EitherOr (\$ScriptInfo->\"base-url\") \$Globa\ + lScriptsUrl ];\r\ + \n :local UrlSuffix [ \$EitherOr (\$ScriptInfo->\"url-suffix\") \$G\ + lobalScriptsUrlSuffix ];\r\ + \n :local Url (\$BaseUrl . \$ScriptVal->\"name\" . \".rsc\" . \$Url\ + Suffix);\r\ + \n \$LogPrint warning \$0 (\"Fetching script '\" . (\$ScriptVal->\"\ + name\") . \"' from url: \" . \$Url);\r\ + \n :local Result [ /tool/fetch check-certificate=yes-without-crl \\\ + \r\ + \n http-header-field=({ [ \$FetchUserAgentStr \$0 ] }) \$Url outp\ + ut=user as-value ];\r\ + \n :if (\$Result->\"status\" = \"finished\") do={\r\ + \n :set SourceNew [ :tolf (\$Result->\"data\") ];\r\ + \n } \r\ + \n } do={\r\ + \n \$LogPrint warning \$0 (\"Failed fetching script '\" . \$ScriptV\ + al->\"name\" . \"': \" . \$Err);\r\ + \n :if (\$Err != \"Fetch failed with status 404\") do={\r\ + \n :error false;\r\ + \n }\r\ + \n :if (\$ScriptVal->\"source\" = \"#!rsc by Vados\") do={\r\ + \n \$LogPrint warning \$0 (\"Removing dummy. Typo on installation\ + \?\");\r\ + \n /system/script/remove \$Script;\r\ + \n :error false;\r\ + \n }\r\ + \n :if (\$CheckSumsVerify = true) do={\r\ + \n :if ([ :len (\$ScriptInfo->\"base-url\") ] = 0 && [ :len (\$Sc\ + riptInfo->\"url-suffix\") ] = 0 && \\\r\ + \n [ :len \$CheckSum ] = 0) do={\r\ + \n \$LogPrint warning \$0 (\"Added the script manually\? Skip u\ + pdates with 'ignore=true' in comment.\");\r\ + \n }\r\ + \n }\r\ + \n :error false;\r\ + \n }\r\ + \n\r\ + \n :if ([ :len \$SourceNew ] = 0) do={\r\ + \n \$LogPrint debug \$0 (\"No update for script '\" . (\$ScriptVal-\ + >\"name\") . \"'.\");\r\ + \n :error false;\r\ + \n }\r\ + \n\r\ + \n :local SourceCRLF [ :tocrlf \$SourceNew ];\r\ + \n :if (\$InitSetup != true && ((\$ScriptVal->\"name\") != \"AM-Globa\ + lConfig\" || (\$ScriptVal->\"name\") != \"AM-GlobalFunc\")) do={\r\ + \n :if (\$SourceNew = (\$ScriptVal->\"source\") || \$SourceCRLF = (\ + \$ScriptVal->\"source\")) do={\r\ + \n \$LogPrint debug \$0 (\"Script '\" . (\$ScriptVal->\"name\") \ + . \"' source did not change. End of lines set to CRLF.\");\r\ + \n if (\$ScriptUpdatesCRLF = false) do={\r\ + \n :put [ :tolf \$SourceNew ];\r\ + \n \$LogPrint debug \$0 (\"Script '\" . (\$ScriptVal->\"name\"\ + ) . \"' source update end of lines to LF.\");\r\ + \n }\r\ + \n :error false;\r\ + \n }\r\ + \n }\r\ + \n\r\ + \n :if ([ :pick \$SourceNew 0 14 ] != \"#!rsc by Vados\") do={\r\ + \n \$LogPrint warning \$0 (\"Looks like new script '\" . \$ScriptVa\ + l->\"name\" . \"' is not valid (missing shebang = '\$shebang') Ignoring!\"\ + );\r\ + \n :error false;\r\ + \n }\r\ + \n\r\ + \n :if (\$CommentsInScripts = true) do={\r\ + \n :local CommentLine [ \$Grep \$SourceNew (\"\\23 Script comment:\ + \_\") ];\r\ + \n :if ([ :len \$CommentLine ] = 0) do={\r\ + \n \$LogPrint debug \$0 (\"The search in new script '\" . (\$Scr\ + iptVal->\"name\") . \"' for comment in script body, is not found result Ig\ + noring!\");\r\ + \n :error false;\r\ + \n } else={\r\ + \n :if ([ :len (\$ScriptVal->\"comment\")] = 0 || [ :len (\$Scri\ + ptVal->\"comment\")] != [ :pick \$CommentLine ([ :find \$CommentLine \":\"\ + ] + 2) [ :len \$CommentLine] ]) do={\r\ + \n \$LogPrint debug \$0 (\"Exsiting comment for script '\" . (\ + \$ScriptVal->\"name\") . \"' is '\" . (\$ScriptVal->\"comment\") . \"'.\")\ + ;\r\ + \n :set (\$ScriptVal->\"comment\") [ :pick \$CommentLine ([ :f\ + ind \$CommentLine \":\"] + 2) [ :len \$CommentLine] ];\r\ + \n \$LogPrint debug \$0 (\"New comment (\" . (\$ScriptVal->\"c\ + omment\") . \") for script '\" . (\$ScriptVal->\"name\") . \"' has been ad\ + ded!\");\r\ + \n } else={\r\ + \n \$LogPrint debug \$0 (\"Comment for script '\" . (\$ScriptV\ + al->\"name\") . \"' did not change.\");\r\ + \n :error false;\r\ + \n }\r\ + \n } \r\ + \n }\r\ + \n\r\ + \n :local RequiredROS ([ \$ParseKeyValueStore [ \$Grep \$SourceNew (\ + \"\\23 requires RouterOS, \") ] ]->version);\r\ + \n :if ([ \$RequiredRouterOS \$0 [ \$EitherOr \$RequiredROS \"0.0\" ]\ + \_false ] = false) do={\r\ + \n \$LogPrint warning \$0 (\"The script '\" . (\$ScriptVal->\"name\ + \") . \"' requires RouterOS \" . \\\r\ + \n \$RequiredROS . \", which is not met by your installation. I\ + gnoring!\");\r\ + \n :error false;\r\ + \n }\r\ + \n :local RequiredDM [ \$ParseKeyValueStore [ \$Grep \$SourceNew (\"\ + \\23 requires device-mode, \") ] ];\r\ + \n :local MissingDM ({});\r\ + \n :foreach Feature,Value in=\$RequiredDM do={\r\ + \n :if ([ :typeof (\$DeviceMode->\$Feature) ] = \"bool\" && (\$Devi\ + ceMode->\$Feature) = false) do={\r\ + \n :set MissingDM (\$MissingDM, \$Feature);\r\ + \n }\r\ + \n }\r\ + \n :if ([ :len \$MissingDM ] > 0) do={\r\ + \n \$LogPrint warning \$0 (\"The script '\" . (\$ScriptVal->\"name\ + \") . \"' requires disabled \" . \\\r\ + \n \"device-mode features (\" . [ :tostr \$MissingDM ] . \"). I\ + gnoring!\");\r\ + \n :error false;\r\ + \n }\r\ + \n\r\ + \n :if ([ \$ValidateSyntax \$SourceNew ] = false) do={\r\ + \n \$LogPrint warning \$0 (\"Syntax validation for script '\" . (\$\ + ScriptVal->\"name\") . \"' failed! Ignoring!\");\r\ + \n :error false;\r\ + \n }\r\ + \n \r\ + \n :log info (\"Updating script: \" . (\$ScriptVal->\"name\") . \" Sc\ + ript comment: \" . (\$ScriptVal->\"comment\"));\r\ + \n\r\ + \n /system/script/set owner=(\$ScriptVal->\"name\") comment=(\$Script\ + Val->\"comment\") \\\r\ + \n source=[ \$IfThenElse (\$ScriptUpdatesCRLF = true) \$SourceCRL\ + F \$SourceNew ] \$Script;\r\ + \n :if (\$ScriptVal->\"name\" = \"AM-GlobalConfig\" || \\\r\ + \n \$ScriptVal->\"name\" = \"AM-GlobalFunc\" || \\\r\ + \n \$ScriptVal->\"name\" ~ (\"^(AM-GlobalFunc\\\\.d|mod)/.\")) d\ + o={\r\ + \n :set ReloadGlobal true;\r\ + \n }\r\ + \n } on-error={ }\r\ + \n }\r\ + \n :if (\$ReloadGlobal = true) do={\r\ + \n \$LogPrint info \$0 (\"Reloading global configuration and functions.\ + \");\r\ + \n :onerror Err {\r\ + \n :global InitSetup (a);\r\ + \n /system/script {run AM-GlobalConfig; run AM-GlobalFunc;};\r\ + \n } do={\$LogPrint error \$0 (\"Reloading global configuration and fun\ + ctions failed! \" . \$Err)}\r\ + \n }\r\ + \n :if (\$GlobalConfVersionBefore > \$GlobalConfVersion) do={\r\ + \n \$LogPrint warning \$0 (\"The configuration version decreased from \ + \" . \\\r\ + \n \$GlobalConfVersionBefore . \" to \" . \$GlobalConfVersion . \\\r\ + \n \". Installed an older version\?\");\r\ + \n }\r\ + \n :if (\$GlobalConfVersionBefore < \$GlobalConfVersion) do={\r\ + \n :global GlobalConfChanges;\r\ + \n :global GlobalConfMigration;\r\ + \n :local ChangeLogCode;\r\ + \n :if ([ :len \$ChangeLogCode ] > 0) do={\r\ + \n :if ([ \$ValidateSyntax \$ChangeLogCode ] = true) do={\r\ + \n :onerror Err {\r\ + \n [ :parse \$ChangeLogCode ];\r\ + \n } do={\$LogPrint warning \$0 (\"The changelog failed to run: \" \ + . \$Err)}\r\ + \n } else={\$LogPrint warning \$0 (\"The changelog failed syntax vali\ + dation!\")}\r\ + \n }\r\ + \n :if ([ :len \$GlobalConfMigration ] > 0) do={\r\ + \n :for I from=(\$GlobalConfVersionBefore + 1) to=\$GlobalConfVersion\ + \_do={\r\ + \n :local Migration (\$GlobalConfMigration->[ :tostr \$I ]);\r\ + \n :do {\r\ + \n :if ([ :typeof \$Migration ] != \"str\") do={\r\ + \n \$LogPrint debug \$0 (\"Migration code for change \" . \$I .\ + \_\" is not available.\");\r\ + \n :error false;\r\ + \n }\r\ + \n :if ([ \$ValidateSyntax \$Migration ] = false) do={\r\ + \n \$LogPrint warning \$0 (\"Migration code for change \" . \$I\ + \_. \" failed syntax validation!\");\r\ + \n :error false}\r\ + \n \$LogPrint info \$0 (\"Applying migration for change \" . \$I \ + . \": \" . \$Migration);\r\ + \n :onerror Err {\r\ + \n [ :parse \$Migration ];\r\ + \n } do={\$LogPrint warning \$0 (\"Migration code for change \" .\ + \_\$I . \" failed to run: \" . \$Err)}\r\ + \n } on-error={ }\r\ + \n }\r\ + \n }\r\ + \n :local NotificationMessage (\"The configuration version on \" . \$Id\ + entity . \" increased \" . \\\r\ + \n \"to \" . \$GlobalConfVersion . \", current configuration may nee\ + d modification. \" . \\\r\ + \n \"Please review and update global-config-overlay, then re-run glo\ + bal-config.\");\r\ + \n \$LogPrint info \$0 (\$NotificationMessage);\r\ + \n :if ([ :len \$GlobalConfChanges ] > 0) do={\r\ + \n :set NotificationMessage (\$NotificationMessage . \"\\n\\nChanges:\ + \");\r\ + \n :for I from=(\$GlobalConfVersionBefore + 1) to=\$GlobalConfVersion\ + \_do={\r\ + \n :local Change (\$GlobalConfChanges->[ :tostr \$I ]);\r\ + \n :set NotificationMessage (\$NotificationMessage . \"\\n \" . \\\ + \r\ + \n [ \$SymbolForNotification \"pushpin\" \"*\" ] . \$Change);\r\ + \n \$LogPrint info \$0 (\"Change \" . \$I . \": \" . \$Change);\r\ + \n }\r\ + \n } else={:set NotificationMessage (\$NotificationMessage . \"\\n\\nNe\ + ws and changes are not available.\")}\r\ + \n\r\ + \n :set GlobalConfChanges;\r\ + \n :set GlobalConfMigration;\r\ + \n }\r\ + \n} do={:global ExitOnError; \$ExitOnError \$0 \$Err}\r\ + \n}\r\ + \n\r\ + \n# Global Environment clear. Use: \"\$GlobalEnvRemove True;\".\r\ + \n:set GlobalEnvRemove do={\r\ + \n :local doRmEnv [ :tostr \$1 ];\r\ + \n :global GlobalScriptsUrl;\r\ + \n :local ScriptsUrl;\r\ + \n :global LogPrint;\r\ + \n :if (\$doRmEnv != \"True\") do={\r\ + \n \$LogPrint error \"GlobalEnvRemove\" (\"This script is needed \\\"T\ + rue\\\" for confirm to remove global environment variables!\");\r\ + \n :return [];\r\ + \n :error true; \r\ + \n } else={\r\ + \n :set ScriptsUrl \$GlobalScriptsUrl;\r\ + \n :delay 5;\r\ + \n :foreach var in=[/system/script/environment print as-value] do={/sy\ + stem/script/environment remove (\$var->\".id\")}\r\ + \n :delay 5;\r\ + \n :global GlobalScriptsUrl \$ScriptsUrl;\r\ + \n \$LogPrint warning \"GlobalEnvRemove\" (\"Done!\");\r\ + \n :return [];\r\ + \n :error false;\r\ + \n }\r\ + \n}\r\ + \n\r\ + \n# Add and fix global scheduler\r\ + \n:put \"Add or/and fix Global scheduler...\";\r\ + \n:local OnEvent \"/system/script { run AM-GlobalConfig; run AM-GlobalFunc\ + ; }\";\r\ + \n:local Comment \"Setup Global Environment for scripts\";\r\ + \n:if ([ :len [ /system/scheduler/find where name=\"AM-SetGlobalEnv\" ] ] \ + = 0) do={\r\ + \n /system/scheduler/add name=\"AM-SetGlobalEnv\" comment=\$Comment on-ev\ + ent=\$OnEvent start-time=startup;\r\ + \n}\r\ + \n:if ([ /system/scheduler/get \"AM-SetGlobalEnv\" comment ] != \$Comment)\ + \_do={\r\ + \n /system/scheduler/set \"AM-SetGlobalEnv\" comment=\$Comment;\r\ + \n}\r\ + \n:if ([ /system/scheduler/get \"AM-SetGlobalEnv\" on-event ] != \$OnEvent\ + ) do={\r\ + \n /system/scheduler/set \"AM-SetGlobalEnv\" on-event=\$OnEvent;\r\ + \n}\r\ + \n# Add Update Script scheduler\r\ + \n:put \"Add or/and fix Update Script scheduler\";\r\ + \n:set OnEvent \":global ScriptInstallUpdate; \\\$ScriptInstallUpdate;\";\ + \r\ + \n:set Comment \"Every Day Check For Update Scripts\";\r\ + \n:if ([ :len [ /system/scheduler/find where name=\"AM-ScriptInstallUpdate\ + \" ] ] = 0) do={\r\ + \n/system/scheduler/add name=\"AM-ScriptInstallUpdate\" comment=\$Comment \ + start-time=startup interval=1d on-event=\$OnEvent;\r\ + \n}\r\ + \n\r\ + \n#:local Resource [ /system/resource/get ];\r\ + \n#:log info (\$ScriptName . \" Loaded on \" . \$Resource->\"board-name\" \ + . \" with RouterOS \" . \$Resource->\"version\" . \" and Architecture \" .\ + \".\");\r\ + \n\r\ + \n:onerror Err {\r\ + \n :global GlobalConfReady;\r\ + \n :retry { :if (\$GlobalConfReady != true) do={ :error (\"Global configs\ + \_not ready.\"); }; } delay=100ms max=5;\r\ + \n\r\ + \n# signal we are ready\r\ + \n:set GlobalFuncReady true;\r\ + \n:set ExitOK true;\r\ + \n:log warning (\"This script \$ScriptName Loaded \" . \\\r\ + \n [ \$IfThenElse (\$CommitId != \"unknown\") ([ \$CommitBrief ] . \" \ + \") ] . \\\r\ + \n \"on \" . \$devBoardName . \"\\nRouterOS: \" . \$devCurVersion . \"\ + \\nArchitecture: \" . \$devCurArch . \"\\nIdentity: \" . \$Identity);\r\ + \n} do={:global ExitOnError; \$ExitOnError \$0 \$Err;}\r\ + \n\r\ + \n#} do={:global ExitError; \$ExitError \$ExitOK [ :jobname ] \$Err}\r\ + \n# log the successful load of the script, or an error if it failed\r\ + \n#:if ([\$GlobalFuncReady] = true && [\$GlobalConfReady] = true) do={\r\ + \n" +add dont-require-permissions=no name=fetchCustom owner=vados policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="\ + \r\ + \n\r\ + \n#root.mnuc.backuper\r\ + \n:global GlobalScriptsUrl \"https://ros.vados.ru/\";\r\ + \n/tool/fetch mode=https url=(\$GlobalScriptsUrl . \".bak/mikro_bak_rsa@10\ + .30.30.10.pub\") dst-path=\"/mikro_bak_rsa@10.30.30.10.pub\";\r\ + \n#/usb1/mikro_bak_rsa.pub" +add dont-require-permissions=yes name=MkTmpfs owner=vados policy=\ + ftp,read,write,policy,test,sniff,sensitive source=\ + ":global MkDir;\r\ + \n\r\ + \n\$MkDir /usb1/tmpfs;" +add dont-require-permissions=no name=CreateContainer owner=vados policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=":\ + local contIF \"veth1\";\r\ + \n:local contIP \"10.10.10.10/24\";\r\ + \n:local contGW \"10.10.10.1\";\r\ + \n#/interface/veth/add name=\$contIF address=\$contIP gateway=\$contGW;\r\ + \n:local contBridgeIF \"Bridge-DOC\";\r\ + \n:local contBridgeIP \"10.10.10.1/24\";\r\ + \n/interface/bridge/add name=\$contBridgeIF;\r\ + \n/ip/address/add address=\$contBridgeIP interface=\$contBridgeIF;\r\ + \n/interface/bridge/port/add bridge=\$contBridgeIF interface=\$contIF;\r\ + \n/container/config/set ram-high=768M registry-url=https://registry-1.dock\ + er.io tmpdir=sata1/tmp\r\ + \n" +add dont-require-permissions=no name=carkeeperbot owner=vados policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="/\ + container/mounts/add list=carkeeper_configs/.profile src=sata1/carkeeper/c\ + onfigs/.profile dst=/root/.ashrc;\r\ + \n/container/mounts/add list=carkeeper_configs/php.ini src=sata1/carkeeper\ + /configs/php.ini dst=/etc/php82/php.ini;\r\ + \n#/container/mounts/add list=carkeeper_configs src=sata1/carkeeper/config\ + s dst=/configs;\r\ + \n/container/mounts/add list=carkeeper_app src=sata1/carkeeper/app dst=/ap\ + p;\r\ + \n/container/mounts/add list=carkeeper_scripts src=sata1/carkeeper/scripts\ + \_dst=/scripts;\r\ + \n/container/mounts/add list=carkeeper_configs/sshd_config src=sata1/carke\ + eper/configs/sshd_config dst=/etc/ssh/sshd_config;\r\ + \n\r\ + \n/container/mounts/add list=carkeeper_tmp src=sata1/carkeeper/tmp dst=/va\ + r/tmp;\r\ + \n/container/mounts/add list=carkeeper_sync src=sata1/carkeeper/sync dst=/\ + var/sync;\r\ + \n" +add comment="Enable or disable ip addresses based on bridge port state" \ + dont-require-permissions=no name=mod/AM-IPbridge owner=mod/AM-IPbridge \ + policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + source="#!rsc by Vados\r\ + \n# RouterOS script: mod/AM-IPbridge\r\ + \n# Script comment: Enable or disable ip addresses based on bridge port st\ + ate\r\ + \n# Copyright (c) 2005-2026 Vados \r\ + \n#\r\ + \n#\r\ + \n# requires RouterOS, version=7.19\r\ + \n# requires device-mode, fetch\r\ + \n#\r\ + \n:local ScriptName [ :jobname ];\r\ + \n\r\ + \n# Add this Script scheduler\r\ + \n:if ([ :len [ /system/scheduler/find where name=\$ScriptName ] ] = 0) do\ + ={\r\ + \n:log warning (\"SystemScheduler for script: \" . \$ScriptName . \" is NO\ + T SET! Fix It Now!\");\r\ + \n:local OnEvent \"/system/script/run \$ScriptName;\";\r\ + \n:local Comment \"Every Day Check For Fake Bridges\";\r\ + \n/system/scheduler/add name=\$ScriptName comment=\$Comment start-time=sta\ + rtup interval=1d on-event=\$OnEvent;\r\ + \n}\r\ + \n\r\ + \n:foreach Bridge in=[ /interface/bridge/find ] do={\r\ + \n :local BrName [ /interface/bridge/get \$Bridge name ];\r\ + \n :if ([ :len [ /interface/bridge/port/find where bridge=\$BrName ] ] > \ + 0) do={\r\ + \n :if ([ :len [ /interface/bridge/port/find where bridge=\$BrName and \ + inactive=no ] ] = 0) do={\r\ + \n /ip/address/disable [ find where !dynamic interface=\$BrName ];\r\ + \n } else={\r\ + \n /ip/address/enable [ find where !dynamic interface=\$BrName ];\r\ + \n }\r\ + \n }\r\ + \n}\r\ + \n" +add comment="Use Telegram to chat with your Router and send commands" \ + dont-require-permissions=no name=mod/AM-TG-Bot owner=mod/AM-TG-Bot \ + policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + source="#!rsc by Vados\r\ + \n# RouterOS script: mod/AM-TG-Bot\r\ + \n# Script comment: Use Telegram to chat with your Router and send command\ + s\r\ + \n# Copyright (c) 2007-2026 Vados \r\ + \n#\r\ + \n#\r\ + \n# requires RouterOS, version=7.19\r\ + \n# requires device-mode, fetch\r\ + \n:local ExitOK false;\r\ + \n:onerror Err {\r\ + \n :global GlobalConfReady; :global GlobalFuncReady;\r\ + \n :retry { :if (\$GlobalConfReady != true || \$GlobalFuncReady != true) \ + \\\r\ + \n do={ :error (\"Global config and/or functions not ready.\"); }; } \ + delay=500ms max=50;\r\ + \n :local ScriptName [ :jobname ];\r\ + \n\r\ + \n :global Identity;\r\ + \n :global TelegramChatActive;\r\ + \n :global TelegramChatGroups;\r\ + \n :global TelegramChatId;\r\ + \n :global TelegramChatIdsTrusted;\r\ + \n :global TelegramChatOffset;\r\ + \n :global TelegramChatRunTime;\r\ + \n :global TelegramMessageIDs;\r\ + \n :global TelegramRandomDelay;\r\ + \n :global TelegramTokenId;\r\ + \n\r\ + \n :global CertificateAvailable;\r\ + \n :global EitherOr;\r\ + \n :global EscapeForRegEx;\r\ + \n :global FileExists;\r\ + \n :global GetRandom20CharAlNum;\r\ + \n :global IfThenElse;\r\ + \n :global LogPrint;\r\ + \n :global LogPrintVerbose;\r\ + \n :global MAX;\r\ + \n :global MIN;\r\ + \n :global MkDir;\r\ + \n :global RandomDelay;\r\ + \n :global RmDir;\r\ + \n :global ScriptLock;\r\ + \n :global SendTelegram2;\r\ + \n :global SymbolForNotification;\r\ + \n :global ValidateSyntax;\r\ + \n :global WaitForFile;\r\ + \n\r\ + \n :if ([ \$ScriptLock \$ScriptName ] = false) do={\r\ + \n :set ExitOK true;\r\ + \n :error false;\r\ + \n }\r\ + \n\r\ + \n :if ([ :len [ /system/scheduler/find where name=\$ScriptName ] ] = 0) \ + do={\r\ + \n /system/scheduler/add start-time=startup interval=30s name=\$ScriptN\ + ame on-event=\"/system/script/run \$ScriptName;\" comment=\"Telegram Chat \ + Bot\";\r\ + \n }\r\ + \n\r\ + \n :if ([ :typeof \$TelegramChatOffset ] != \"array\") do={\r\ + \n :set TelegramChatOffset { 0; 0; 0 };\r\ + \n }\r\ + \n :if ([ :typeof \$TelegramRandomDelay ] != \"num\") do={\r\ + \n :set TelegramRandomDelay 0;\r\ + \n }\r\ + \n\r\ + \n :if ([ \$CertificateAvailable \"Go Daddy Root Certificate Authority - \ + G2\" \"fetch\" ] = false) do={\r\ + \n \$LogPrint warning \$ScriptName (\"Downloading required certificate \ + failed.\");\r\ + \n :set ExitOK true;\r\ + \n :error false;\r\ + \n }\r\ + \n\r\ + \n \$RandomDelay \$TelegramRandomDelay;\r\ + \n :local Data false;\r\ + \n :for I from=1 to=4 do={\r\ + \n :if (\$Data = false) do={\r\ + \n :onerror Err {\r\ + \n :set Data ([ /tool/fetch check-certificate=yes-without-crl \\\r\ + \n (\"https://api.telegram.org/bot\" . \$TelegramTokenId . \"/get\ + Updates\?offset=\" . \\\r\ + \n \$TelegramChatOffset->0 . \"&allowed_updates=%5B%22message%22%\ + 5D\") output=user as-value ]->\"data\");\r\ + \n :set TelegramRandomDelay [ \$MAX 0 (\$TelegramRandomDelay - 1) ]\ + ;\r\ + \n } do={\r\ + \n :if (\$I < 4) do={\r\ + \n \$LogPrint debug \$ScriptName (\"Fetch failed, \" . \$I . \". \ + try: \" . \$Err);\r\ + \n :set TelegramRandomDelay [ \$MIN 15 (\$TelegramRandomDelay + 5\ + ) ];\r\ + \n :delay ((\$I * \$I) . \"s\");\r\ + \n }\r\ + \n }\r\ + \n }\r\ + \n }\r\ + \n :if (\$Data = false) do={\r\ + \n \$LogPrint warning \$ScriptName (\"Failed getting updates.\");\r\ + \n :set ExitOK true;\r\ + \n :error false;\r\ + \n }\r\ + \n\r\ + \n :local JSON [ :deserialize from=json value=\$Data ];\r\ + \n :local UpdateID 0;\r\ + \n :local Uptime [ /system/resource/get uptime ];\r\ + \n :foreach Update in=(\$JSON->\"result\") do={\r\ + \n :set UpdateID (\$Update->\"update_id\");\r\ + \n \$LogPrintVerbose debug \$ScriptName (\"Update \" . \$UpdateID . \":\ + \_\" . [ :serialize to=json \$Update ]);\r\ + \n\r\ + \n :local Message (\$Update->\"message\");\r\ + \n :local IsAnyReply ([ :typeof (\$Message->\"reply_to_message\") ] = \ + \"array\");\r\ + \n :local IsMyReply (\$TelegramMessageIDs->[ :tostr (\$Message->\"reply\ + _to_message\"->\"message_id\") ]);\r\ + \n :if ((\$IsMyReply = 1 || \$TelegramChatOffset->0 > 0 || \$Uptime > 5\ + m) && \$UpdateID >= \$TelegramChatOffset->2) do={\r\ + \n :local Trusted false;\r\ + \n :local Chat (\$Message->\"chat\");\r\ + \n :local From (\$Message->\"from\");\r\ + \n :local Command (\$Message->\"text\");\r\ + \n :local ThreadId [ \$IfThenElse (\$Message->\"is_topic_message\") (\ + \$Message->\"message_thread_id\") \"\" ];\r\ + \n :foreach IdsTrusted in=(\$TelegramChatId, \$TelegramChatIdsTrusted\ + ) do={\r\ + \n :if (\$From->\"id\" = \$IdsTrusted || \\\r\ + \n \$From->\"username\" = \$IdsTrusted || \\\r\ + \n \$Chat->\"id\" = \$IdsTrusted) do={\r\ + \n :set Trusted true;\r\ + \n }\r\ + \n }\r\ + \n :if (\$Trusted = true) do={\r\ + \n :local Done false;\r\ + \n :if (\$Command = \"\?\") do={\r\ + \n \$LogPrint info \$ScriptName (\"Sending notice for update \" .\ + \_\$UpdateID . \".\");\r\ + \n \$SendTelegram2 ({ origin=\$ScriptName; chatid=(\$Chat->\"id\"\ + ); silent=true; \\\r\ + \n replyto=(\$Message->\"message_id\"); threadid=\$ThreadId; \\\ + \r\ + \n subject=([ \$SymbolForNotification \"speech-balloon\" ] . \"\ + Telegram Chat\"); \\\r\ + \n message=([ \$IfThenElse ([ :len (\$From->\"first_name\") ] >\ + \_0) (\"Hello \" . (\$From->\"first_name\") . \"!\\n\\n\") ] . \\\r\ + \n \"Online\" . [ \$IfThenElse \$TelegramChatActive \" (and a\ + ctive!)\" ] . \", awaiting your commands!\") });\r\ + \n :set Done true;\r\ + \n }\r\ + \n :if (\$Done = false && [ :pick \$Command 0 1 ] = \"!\") do={\r\ + \n :if (\$Command ~ (\"^! *(\" . [ \$EscapeForRegEx \$Identity ] \ + . \"|@\" . \$TelegramChatGroups . \")\\\$\")) do={\r\ + \n :set TelegramChatActive true;\r\ + \n } else={\r\ + \n :set TelegramChatActive false;\r\ + \n }\r\ + \n \$LogPrint info \$ScriptName (\"Now \" . [ \$IfThenElse \$Tele\ + gramChatActive \"active\" \"passive\" ] . \\\r\ + \n \" from update \" . \$UpdateID . \"!\");\r\ + \n :set Done true;\r\ + \n }\r\ + \n :if (\$Done = false && (\$IsMyReply = 1 || (\$IsAnyReply = false\ + \_&& \\\r\ + \n \$TelegramChatActive = true)) && [ :len \$Command ] > 0) do\ + ={\r\ + \n :if ([ \$ValidateSyntax \$Command ] = true) do={\r\ + \n :local State \"\";\r\ + \n :local File (\"tmpfs/telegram-chat/\" . [ \$GetRandom20CharA\ + lNum 6 ]);\r\ + \n :if ([ \$MkDir \"tmpfs/telegram-chat\" ] = false) do={\r\ + \n \$LogPrint error \$ScriptName (\"Failed creating directory\ + !\");\r\ + \n :set ExitOK true;\r\ + \n :error false;\r\ + \n }\r\ + \n \$LogPrint info \$ScriptName (\"Running command from update \ + \" . \$UpdateID . \": \" . \$Command);\r\ + \n :execute script=(\":do {\\n\" . \$Command . \"\\n} on-error=\ + { /file/add name=\\\"\" . \$File . \".failed\\\" };\" . \\\r\ + \n \"/file/add name=\\\"\" . \$File . \".done\\\"\") file=(\$\ + File . \"\\00\");\r\ + \n :if ([ \$WaitForFile (\$File . \".done\") [ \$EitherOr \$Tel\ + egramChatRunTime 20s ] ] = false) do={\r\ + \n :set State ([ \$SymbolForNotification \"warning-sign\" ] .\ + \_\"The command did not finish, still running in background.\\n\\n\");\r\ + \n }\r\ + \n :if ([ \$FileExists (\$File . \".failed\") ] = true) do={\r\ + \n :set State ([ \$SymbolForNotification \"cross-mark\" ] . \ + \"The command failed with an error!\\n\\n\");\r\ + \n }\r\ + \n :local Content ([ /file/read chunk-size=32768 file=\$File as\ + -value ]->\"data\");\r\ + \n \$SendTelegram2 ({ origin=\$ScriptName; chatid=(\$Chat->\"id\ + \"); silent=true; \\\r\ + \n replyto=(\$Message->\"message_id\"); threadid=\$ThreadId; \ + \\\r\ + \n subject=([ \$SymbolForNotification \"speech-balloon\" ] . \ + \"Telegram Chat\"); \\\r\ + \n message=([ \$SymbolForNotification \"gear\" ] . \"Command:\ + \\n\" . \$Command . \"\\n\\n\" . \\\r\ + \n \$State . [ \$IfThenElse ([ :len \$Content ] > 0) \\\r\ + \n ([ \$SymbolForNotification \"memo\" ] . \"Output:\\n\" .\ + \_\$Content) \\\r\ + \n ([ \$SymbolForNotification \"memo\" ] . \"No output.\") \ + ]) });\r\ + \n \$RmDir \"tmpfs/telegram-chat\";\r\ + \n } else={\r\ + \n \$LogPrint info \$ScriptName (\"The command from update \" .\ + \_\$UpdateID . \" failed syntax validation!\");\r\ + \n \$SendTelegram2 ({ origin=\$ScriptName; chatid=(\$Chat->\"id\ + \"); silent=false; \\\r\ + \n replyto=(\$Message->\"message_id\"); threadid=\$ThreadId; \ + \\\r\ + \n subject=([ \$SymbolForNotification \"speech-balloon\" ] . \ + \"Telegram Chat\"); \\\r\ + \n message=([ \$SymbolForNotification \"gear\" ] . \"Command:\ + \\n\" . \$Command . \"\\n\\n\" . \\\r\ + \n [ \$SymbolForNotification \"cross-mark\" ] . \"The comma\ + nd failed syntax validation!\") });\r\ + \n }\r\ + \n }\r\ + \n } else={\r\ + \n :local MessageText (\"Received a message from untrusted contact \ + \" . \\\r\ + \n [ \$IfThenElse ([ :len (\$From->\"username\") ] = 0) \"without\ + \_username\" (\"'\" . \$From->\"username\" . \"'\") ] . \\\r\ + \n \" (ID \" . \$From->\"id\" . \") in update \" . \$UpdateID . \ + \"!\");\r\ + \n :if (\$Command ~ (\"^! *\" . [ \$EscapeForRegEx \$Identity ] . \ + \"\\\$\")) do={\r\ + \n \$LogPrint warning \$ScriptName \$MessageText;\r\ + \n \$SendTelegram2 ({ origin=\$ScriptName; chatid=(\$Chat->\"id\"\ + ); silent=false; \\\r\ + \n replyto=(\$Message->\"message_id\"); threadid=\$ThreadId; \\\ + \r\ + \n subject=([ \$SymbolForNotification \"speech-balloon\" ] . \"\ + Telegram Chat\"); \\\r\ + \n message=(\"You are not trusted.\") });\r\ + \n } else={\$LogPrint info \$ScriptName \$MessageText}\r\ + \n }\r\ + \n } else={\$LogPrint debug \$ScriptName (\"Already handled update \" .\ + \_\$UpdateID . \".\")}\r\ + \n }\r\ + \n :set TelegramChatOffset ([ :pick \$TelegramChatOffset 1 3 ], \\\r\ + \n [ \$IfThenElse (\$UpdateID >= \$TelegramChatOffset->2) (\$UpdateID +\ + \_1) (\$TelegramChatOffset->2) ]);\r\ + \n} do={:global ExitError; \$ExitError \$ExitOK [ :jobname ] \$Err}\r\ + \n" +add dont-require-permissions=no name=mod/AM-TG-Notifications owner=\ + mod/AM-TG-Notifications policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=\ + "#!rsc by Vados\ + \n" +/user group +add name=backup policy="telnet,ssh,ftp,read,write,policy,test,sniff,sensitive,\ + !local,!reboot,!winbox,!password,!web,!api,!romon,!rest-api" +/app settings +set auto-update=yes disk=sata1 lan-bridge=Bridge-LAN registry-mirrors="https:/\ + /reg.vados.ru:5000/:https://reg.vados.ru/,https://registry-1.docker.io" +/caps-man aaa +set called-format=ssid +/caps-man access-list +add action=reject allow-signal-out-of-range=10s disabled=no interface=all \ + signal-range=-120..-80 ssid-regexp="" +add action=accept allow-signal-out-of-range=10s disabled=no interface=all \ + signal-range=-79..120 ssid-regexp="" +/caps-man manager +# bad package path +set ca-certificate=CAPsMAN-CA-51B25E507D07 certificate=CAPsMAN-51B25E507D07 \ + enabled=yes package-path=/tmpfs/capsman-packages +/caps-man manager interface +set [ find default=yes ] forbid=yes +add disabled=no interface=Bridge-LAN +/caps-man provisioning +add action=create-dynamic-enabled hw-supported-modes=g,gn,b \ + master-configuration=2G name-format=prefix-identity name-prefix=2G +add action=create-dynamic-enabled hw-supported-modes=an,ac,a \ + master-configuration=5G name-format=prefix-identity name-prefix=5G +add action=create-dynamic-enabled disabled=yes hw-supported-modes=ac,an,a \ + master-configuration=2G name-format=prefix-identity name-prefix=5ghz-ac +add action=create-dynamic-enabled disabled=yes hw-supported-modes=an \ + master-configuration=5G name-format=prefix-identity name-prefix=5ghz-an +/certificate settings +set builtin-trust-store=fetch crl-download=yes crl-use=yes +/container config +set layer-dir=/sata1 registry-url=https://reg.vados.ru tmpdir=/ramstorage \ + username=amster-dev +/container envs +add key=ENV list=carkeeperbot_envs value=/root/.ashrc +add key=PATH list=carkeeperbot_envs value=\ + /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +add key=PORT list=carkeeperbot_envs value="\${SSH_PORT}" +add key=SSH_PORT list=carkeeperbot_envs value=8222 +/container mounts +add dst=/app list=carkeeper_app src=/sata1/carkeeper/app +add dst=/configs list=carkeeper_configs src=/sata1/carkeeper/configs +add dst=/root/.ashrc list=carkeeper_configs/.profile src=\ + /sata1/carkeeper/configs/.profile +add dst=/etc/php82/php.ini list=carkeeper_configs/php.ini src=\ + /sata1/carkeeper/configs/php.ini +add dst=/etc/ssh/sshd_config list=carkeeper_configs/sshd_config src=\ + /sata1/carkeeper/configs/sshd_config +add dst=/scripts list=carkeeper_scripts src=/sata1/carkeeper/scripts +add dst=/var/sync list=carkeeper_sync src=/sata1/carkeeper/sync +add dst=/var/tmp list=carkeeper_tmp src=/sata1/carkeeper/tmp +/interface bridge port +add bridge=Bridge-LAN interface=ether2 +add bridge=Bridge-DOC interface=veth1 +add bridge=Bridge-LAN interface=LAN +add bridge=Bridge-LAN interface=dynamic +/ipv6 settings +set disable-ipv6=yes disable-link-local-address=yes +/interface detect-internet +set detect-interface-list=LAN internet-interface-list=LAN lan-interface-list=\ + LAN wan-interface-list=LAN +/interface wifi capsman +set package-path=/tmpfs/capsman-packages upgrade-policy=none +/ip address +add address=10.30.30.10/24 interface=Bridge-LAN network=10.30.30.0 +add address=10.10.10.1/24 disabled=yes interface=Bridge-DOC network=\ + 10.10.10.0 +add address=172.18.20.5/30 disabled=yes interface=docker-xray-vless-veth \ + network=172.18.20.4 +/ip dhcp-server +add add-arp=yes address-pool=dhcp always-broadcast=yes bootp-support=none \ + dhcp-option-set=domain-search-set disabled=yes interface=Bridge-LAN \ + lease-script=lease-script lease-time=10m name=nucDHCP server-address=\ + 10.30.30.10 +/ip dns +set allow-remote-requests=yes doh-max-concurrent-queries=100 \ + doh-max-server-connections=20 servers=10.30.30.81 verify-doh-cert=yes +/ip firewall filter +add action=accept chain=input +add action=accept chain=output +add action=accept chain=forward comment="Comment of the rule" disabled=yes +/ip firewall mangle +# docker-xray-vless-veth not ready +add action=change-mss chain=forward new-mss=1360 out-interface=\ + docker-xray-vless-veth protocol=tcp tcp-flags=syn tcp-mss=1420-65535 +/ip firewall nat +# docker-xray-vless-veth not ready +add action=masquerade chain=srcnat out-interface=docker-xray-vless-veth +/ip firewall service-port +set ftp disabled=yes +set tftp disabled=yes +set sip disabled=yes +set pptp disabled=yes +set rtsp disabled=no +/ip route +add disabled=no dst-address=0.0.0.0/0 gateway=10.30.30.81 routing-table=main +/ip service +set ftp disabled=yes +set www disabled=yes +set ssh port=2222 +set www-ssl port=4443 +set api disabled=yes +set api-ssl disabled=yes +/ip service webserver +set acme-plain=no crl-plain=no graphs-plain=no graphs-secure=no index-plain=\ + no index-secure=no rest-plain=no rest-secure=no scep-plain=no \ + webfig-plain=no webfig-secure=no +/ip ssh +set forwarding-enabled=both password-authentication=no \ + publickey-authentication-options=verify-required strong-crypto=yes +/ip upnp +set allow-disable-external-interface=yes enabled=yes +/ipv6 firewall address-list +add address=2400:cb00::/32 list=CLOUDFLARE-IP-Address +add address=2606:4700::/32 list=CLOUDFLARE-IP-Address +add address=2803:f800::/32 list=CLOUDFLARE-IP-Address +add address=2405:b500::/32 list=CLOUDFLARE-IP-Address +add address=2405:8100::/32 list=CLOUDFLARE-IP-Address +add address=2a06:98c0::/29 list=CLOUDFLARE-IP-Address +add address=2c0f:f248::/32 list=CLOUDFLARE-IP-Address +/system clock +set time-zone-autodetect=no time-zone-name=Europe/Moscow +/system gps +set set-system-time=yes +/system identity +set name=MikroNUC +/system note +set show-at-login=no +/system ntp client +set enabled=yes +/system ntp server +set enabled=yes manycast=yes multicast=yes +/system ntp client servers +add address=10.30.30.81 +add address=0.ru.pool.ntp.org +add address=1.ru.pool.ntp.org +add address=2.ru.pool.ntp.org +add address=3.ru.pool.ntp.org +/system scheduler +add comment="Backup Every Week" interval=1w name=BackupEveryWeek on-event=\ + "/system/script { run BackupAndUpdate; }" policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + start-date=2025-07-07 start-time=04:41:27 +add comment="Setup Global Environment for scripts" name=Amster-SetGlobalEnv \ + on-event=\ + "/system/script { run Amster-GlobalConfig; run Amster-GlobalFunc; }" \ + policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + start-time=startup +add comment="Every Day Check For Update Scripts" interval=1d name=\ + Amster-GetInstallUpdate on-event=":global getInstUpd; \$getInstUpd;" \ + policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + start-time=startup +add comment="Every Day Check For Update Scripts" interval=1d name=\ + ScriptInstallUpdate on-event=\ + ":global ScriptInstallUpdate; \$ScriptInstallUpdate;" policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + start-time=startup +add comment="Setup Global Environment for scripts" name=AM-SetGlobalEnv \ + on-event="/system/script { run AM-GlobalConfig; run AM-GlobalFunc; }" \ + policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + start-time=startup +add comment="Every Day Check For Update Scripts" interval=1d name=\ + AM-ScriptInstallUpdate on-event=\ + ":global ScriptInstallUpdate; \$ScriptInstallUpdate;" policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + start-time=startup +add comment="Every Day Check For Fake Bridges" interval=1d name=\ + mod/AM-IPbridge on-event="/system/script/run mod/AM-IPbridge;" policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + start-time=startup +add comment="Telegram Chat Bot" interval=30s name=mod/AM-TG-Bot on-event=\ + "/system/script/run mod/AM-TG-Bot;" policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + start-time=startup +/tool e-mail +set certificate-verification=no from=MikroNUC port=587 \ + server=smtp.mail.me.com tls=starttls user=vadossio@icloud.com +/tool netwatch +add disabled=yes down-script=\ + ":local msg \"Host MikroYellow is DOWN\";\r\ + \n\$TGSendMessage \$msg;" host=10.30.30.86 http-codes="" interval=10s \ + test-script="" type=simple up-script=\ + ":global TGSendMessage;\r\ + \n\$TGSendMessage \"Host MikroYellow is UP\";" +/user aaa +set accounting=no diff --git a/MikroNUC/history/20260428/20260428032001-Diff-Config.rsc b/MikroNUC/history/20260428/20260428032001-Diff-Config.rsc new file mode 100644 index 0000000..e1e6caf --- /dev/null +++ b/MikroNUC/history/20260428/20260428032001-Diff-Config.rsc @@ -0,0 +1,274 @@ +817c817 +< \n:global CommitId \"main/265/3b138a3e\";\r\ +--- +> \n:global CommitId \"main/264/cbddfbab\";\r\ +820c820 +< r: root, in 03:05:02 28.04.2026.\";\r\ +--- +> r: root, in 02:55:03 28.04.2026.\";\r\ +2812,2813c2812 +< add comment="Use Telegram to chat with your Router and send commands" \ +< dont-require-permissions=no name=mod/AM-TG-Bot owner=mod/AM-TG-Bot \ +--- +> add dont-require-permissions=no name=mod/AM-TG-Bot owner=mod/AM-TG-Bot \ +2815,3067c2814 +< source="#!rsc by Vados\r\ +< \n# RouterOS script: mod/AM-TG-Bot\r\ +< \n# Script comment: Use Telegram to chat with your Router and send command\ +< s\r\ +< \n# Copyright (c) 2007-2026 Vados \r\ +< \n#\r\ +< \n#\r\ +< \n# requires RouterOS, version=7.19\r\ +< \n# requires device-mode, fetch\r\ +< \n:local ExitOK false;\r\ +< \n:onerror Err {\r\ +< \n :global GlobalConfReady; :global GlobalFuncReady;\r\ +< \n :retry { :if (\$GlobalConfReady != true || \$GlobalFuncReady != true) \ +< \\\r\ +< \n do={ :error (\"Global config and/or functions not ready.\"); }; } \ +< delay=500ms max=50;\r\ +< \n :local ScriptName [ :jobname ];\r\ +< \n\r\ +< \n :global Identity;\r\ +< \n :global TelegramChatActive;\r\ +< \n :global TelegramChatGroups;\r\ +< \n :global TelegramChatId;\r\ +< \n :global TelegramChatIdsTrusted;\r\ +< \n :global TelegramChatOffset;\r\ +< \n :global TelegramChatRunTime;\r\ +< \n :global TelegramMessageIDs;\r\ +< \n :global TelegramRandomDelay;\r\ +< \n :global TelegramTokenId;\r\ +< \n\r\ +< \n :global CertificateAvailable;\r\ +< \n :global EitherOr;\r\ +< \n :global EscapeForRegEx;\r\ +< \n :global FileExists;\r\ +< \n :global GetRandom20CharAlNum;\r\ +< \n :global IfThenElse;\r\ +< \n :global LogPrint;\r\ +< \n :global LogPrintVerbose;\r\ +< \n :global MAX;\r\ +< \n :global MIN;\r\ +< \n :global MkDir;\r\ +< \n :global RandomDelay;\r\ +< \n :global RmDir;\r\ +< \n :global ScriptLock;\r\ +< \n :global SendTelegram2;\r\ +< \n :global SymbolForNotification;\r\ +< \n :global ValidateSyntax;\r\ +< \n :global WaitForFile;\r\ +< \n\r\ +< \n :if ([ \$ScriptLock \$ScriptName ] = false) do={\r\ +< \n :set ExitOK true;\r\ +< \n :error false;\r\ +< \n }\r\ +< \n\r\ +< \n :if ([ :len [ /system/scheduler/find where name=\$ScriptName ] ] = 0) \ +< do={\r\ +< \n /system/scheduler/add start-time=startup interval=30s name=\$ScriptN\ +< ame on-event=\"/system/script/run \$ScriptName;\" comment=\"Telegram Chat \ +< Bot\";\r\ +< \n }\r\ +< \n\r\ +< \n :if ([ :typeof \$TelegramChatOffset ] != \"array\") do={\r\ +< \n :set TelegramChatOffset { 0; 0; 0 };\r\ +< \n }\r\ +< \n :if ([ :typeof \$TelegramRandomDelay ] != \"num\") do={\r\ +< \n :set TelegramRandomDelay 0;\r\ +< \n }\r\ +< \n\r\ +< \n :if ([ \$CertificateAvailable \"Go Daddy Root Certificate Authority - \ +< G2\" \"fetch\" ] = false) do={\r\ +< \n \$LogPrint warning \$ScriptName (\"Downloading required certificate \ +< failed.\");\r\ +< \n :set ExitOK true;\r\ +< \n :error false;\r\ +< \n }\r\ +< \n\r\ +< \n \$RandomDelay \$TelegramRandomDelay;\r\ +< \n :local Data false;\r\ +< \n :for I from=1 to=4 do={\r\ +< \n :if (\$Data = false) do={\r\ +< \n :onerror Err {\r\ +< \n :set Data ([ /tool/fetch check-certificate=yes-without-crl \\\r\ +< \n (\"https://api.telegram.org/bot\" . \$TelegramTokenId . \"/get\ +< Updates\?offset=\" . \\\r\ +< \n \$TelegramChatOffset->0 . \"&allowed_updates=%5B%22message%22%\ +< 5D\") output=user as-value ]->\"data\");\r\ +< \n :set TelegramRandomDelay [ \$MAX 0 (\$TelegramRandomDelay - 1) ]\ +< ;\r\ +< \n } do={\r\ +< \n :if (\$I < 4) do={\r\ +< \n \$LogPrint debug \$ScriptName (\"Fetch failed, \" . \$I . \". \ +< try: \" . \$Err);\r\ +< \n :set TelegramRandomDelay [ \$MIN 15 (\$TelegramRandomDelay + 5\ +< ) ];\r\ +< \n :delay ((\$I * \$I) . \"s\");\r\ +< \n }\r\ +< \n }\r\ +< \n }\r\ +< \n }\r\ +< \n :if (\$Data = false) do={\r\ +< \n \$LogPrint warning \$ScriptName (\"Failed getting updates.\");\r\ +< \n :set ExitOK true;\r\ +< \n :error false;\r\ +< \n }\r\ +< \n\r\ +< \n :local JSON [ :deserialize from=json value=\$Data ];\r\ +< \n :local UpdateID 0;\r\ +< \n :local Uptime [ /system/resource/get uptime ];\r\ +< \n :foreach Update in=(\$JSON->\"result\") do={\r\ +< \n :set UpdateID (\$Update->\"update_id\");\r\ +< \n \$LogPrintVerbose debug \$ScriptName (\"Update \" . \$UpdateID . \":\ +< \_\" . [ :serialize to=json \$Update ]);\r\ +< \n\r\ +< \n :local Message (\$Update->\"message\");\r\ +< \n :local IsAnyReply ([ :typeof (\$Message->\"reply_to_message\") ] = \ +< \"array\");\r\ +< \n :local IsMyReply (\$TelegramMessageIDs->[ :tostr (\$Message->\"reply\ +< _to_message\"->\"message_id\") ]);\r\ +< \n :if ((\$IsMyReply = 1 || \$TelegramChatOffset->0 > 0 || \$Uptime > 5\ +< m) && \$UpdateID >= \$TelegramChatOffset->2) do={\r\ +< \n :local Trusted false;\r\ +< \n :local Chat (\$Message->\"chat\");\r\ +< \n :local From (\$Message->\"from\");\r\ +< \n :local Command (\$Message->\"text\");\r\ +< \n :local ThreadId [ \$IfThenElse (\$Message->\"is_topic_message\") (\ +< \$Message->\"message_thread_id\") \"\" ];\r\ +< \n :foreach IdsTrusted in=(\$TelegramChatId, \$TelegramChatIdsTrusted\ +< ) do={\r\ +< \n :if (\$From->\"id\" = \$IdsTrusted || \\\r\ +< \n \$From->\"username\" = \$IdsTrusted || \\\r\ +< \n \$Chat->\"id\" = \$IdsTrusted) do={\r\ +< \n :set Trusted true;\r\ +< \n }\r\ +< \n }\r\ +< \n :if (\$Trusted = true) do={\r\ +< \n :local Done false;\r\ +< \n :if (\$Command = \"\?\") do={\r\ +< \n \$LogPrint info \$ScriptName (\"Sending notice for update \" .\ +< \_\$UpdateID . \".\");\r\ +< \n \$SendTelegram2 ({ origin=\$ScriptName; chatid=(\$Chat->\"id\"\ +< ); silent=true; \\\r\ +< \n replyto=(\$Message->\"message_id\"); threadid=\$ThreadId; \\\ +< \r\ +< \n subject=([ \$SymbolForNotification \"speech-balloon\" ] . \"\ +< Telegram Chat\"); \\\r\ +< \n message=([ \$IfThenElse ([ :len (\$From->\"first_name\") ] >\ +< \_0) (\"Hello \" . (\$From->\"first_name\") . \"!\\n\\n\") ] . \\\r\ +< \n \"Online\" . [ \$IfThenElse \$TelegramChatActive \" (and a\ +< ctive!)\" ] . \", awaiting your commands!\") });\r\ +< \n :set Done true;\r\ +< \n }\r\ +< \n :if (\$Done = false && [ :pick \$Command 0 1 ] = \"!\") do={\r\ +< \n :if (\$Command ~ (\"^! *(\" . [ \$EscapeForRegEx \$Identity ] \ +< . \"|@\" . \$TelegramChatGroups . \")\\\$\")) do={\r\ +< \n :set TelegramChatActive true;\r\ +< \n } else={\r\ +< \n :set TelegramChatActive false;\r\ +< \n }\r\ +< \n \$LogPrint info \$ScriptName (\"Now \" . [ \$IfThenElse \$Tele\ +< gramChatActive \"active\" \"passive\" ] . \\\r\ +< \n \" from update \" . \$UpdateID . \"!\");\r\ +< \n :set Done true;\r\ +< \n }\r\ +< \n :if (\$Done = false && (\$IsMyReply = 1 || (\$IsAnyReply = false\ +< \_&& \\\r\ +< \n \$TelegramChatActive = true)) && [ :len \$Command ] > 0) do\ +< ={\r\ +< \n :if ([ \$ValidateSyntax \$Command ] = true) do={\r\ +< \n :local State \"\";\r\ +< \n :local File (\"tmpfs/telegram-chat/\" . [ \$GetRandom20CharA\ +< lNum 6 ]);\r\ +< \n :if ([ \$MkDir \"tmpfs/telegram-chat\" ] = false) do={\r\ +< \n \$LogPrint error \$ScriptName (\"Failed creating directory\ +< !\");\r\ +< \n :set ExitOK true;\r\ +< \n :error false;\r\ +< \n }\r\ +< \n \$LogPrint info \$ScriptName (\"Running command from update \ +< \" . \$UpdateID . \": \" . \$Command);\r\ +< \n :execute script=(\":do {\\n\" . \$Command . \"\\n} on-error=\ +< { /file/add name=\\\"\" . \$File . \".failed\\\" };\" . \\\r\ +< \n \"/file/add name=\\\"\" . \$File . \".done\\\"\") file=(\$\ +< File . \"\\00\");\r\ +< \n :if ([ \$WaitForFile (\$File . \".done\") [ \$EitherOr \$Tel\ +< egramChatRunTime 20s ] ] = false) do={\r\ +< \n :set State ([ \$SymbolForNotification \"warning-sign\" ] .\ +< \_\"The command did not finish, still running in background.\\n\\n\");\r\ +< \n }\r\ +< \n :if ([ \$FileExists (\$File . \".failed\") ] = true) do={\r\ +< \n :set State ([ \$SymbolForNotification \"cross-mark\" ] . \ +< \"The command failed with an error!\\n\\n\");\r\ +< \n }\r\ +< \n :local Content ([ /file/read chunk-size=32768 file=\$File as\ +< -value ]->\"data\");\r\ +< \n \$SendTelegram2 ({ origin=\$ScriptName; chatid=(\$Chat->\"id\ +< \"); silent=true; \\\r\ +< \n replyto=(\$Message->\"message_id\"); threadid=\$ThreadId; \ +< \\\r\ +< \n subject=([ \$SymbolForNotification \"speech-balloon\" ] . \ +< \"Telegram Chat\"); \\\r\ +< \n message=([ \$SymbolForNotification \"gear\" ] . \"Command:\ +< \\n\" . \$Command . \"\\n\\n\" . \\\r\ +< \n \$State . [ \$IfThenElse ([ :len \$Content ] > 0) \\\r\ +< \n ([ \$SymbolForNotification \"memo\" ] . \"Output:\\n\" .\ +< \_\$Content) \\\r\ +< \n ([ \$SymbolForNotification \"memo\" ] . \"No output.\") \ +< ]) });\r\ +< \n \$RmDir \"tmpfs/telegram-chat\";\r\ +< \n } else={\r\ +< \n \$LogPrint info \$ScriptName (\"The command from update \" .\ +< \_\$UpdateID . \" failed syntax validation!\");\r\ +< \n \$SendTelegram2 ({ origin=\$ScriptName; chatid=(\$Chat->\"id\ +< \"); silent=false; \\\r\ +< \n replyto=(\$Message->\"message_id\"); threadid=\$ThreadId; \ +< \\\r\ +< \n subject=([ \$SymbolForNotification \"speech-balloon\" ] . \ +< \"Telegram Chat\"); \\\r\ +< \n message=([ \$SymbolForNotification \"gear\" ] . \"Command:\ +< \\n\" . \$Command . \"\\n\\n\" . \\\r\ +< \n [ \$SymbolForNotification \"cross-mark\" ] . \"The comma\ +< nd failed syntax validation!\") });\r\ +< \n }\r\ +< \n }\r\ +< \n } else={\r\ +< \n :local MessageText (\"Received a message from untrusted contact \ +< \" . \\\r\ +< \n [ \$IfThenElse ([ :len (\$From->\"username\") ] = 0) \"without\ +< \_username\" (\"'\" . \$From->\"username\" . \"'\") ] . \\\r\ +< \n \" (ID \" . \$From->\"id\" . \") in update \" . \$UpdateID . \ +< \"!\");\r\ +< \n :if (\$Command ~ (\"^! *\" . [ \$EscapeForRegEx \$Identity ] . \ +< \"\\\$\")) do={\r\ +< \n \$LogPrint warning \$ScriptName \$MessageText;\r\ +< \n \$SendTelegram2 ({ origin=\$ScriptName; chatid=(\$Chat->\"id\"\ +< ); silent=false; \\\r\ +< \n replyto=(\$Message->\"message_id\"); threadid=\$ThreadId; \\\ +< \r\ +< \n subject=([ \$SymbolForNotification \"speech-balloon\" ] . \"\ +< Telegram Chat\"); \\\r\ +< \n message=(\"You are not trusted.\") });\r\ +< \n } else={\$LogPrint info \$ScriptName \$MessageText}\r\ +< \n }\r\ +< \n } else={\$LogPrint debug \$ScriptName (\"Already handled update \" .\ +< \_\$UpdateID . \".\")}\r\ +< \n }\r\ +< \n :set TelegramChatOffset ([ :pick \$TelegramChatOffset 1 3 ], \\\r\ +< \n [ \$IfThenElse (\$UpdateID >= \$TelegramChatOffset->2) (\$UpdateID +\ +< \_1) (\$TelegramChatOffset->2) ]);\r\ +< \n} do={:global ExitError; \$ExitError \$ExitOK [ :jobname ] \$Err}\r\ +< \n" +< add dont-require-permissions=no name=mod/AM-TG-Notifications owner=\ +< mod/AM-TG-Notifications policy=\ +< ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=\ +< "#!rsc by Vados\ +--- +> source="#!rsc by Vados\ +3238,3241d2984 +< ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ +< start-time=startup +< add comment="Telegram Chat Bot" interval=30s name=mod/AM-TG-Bot on-event=\ +< "/system/script/run mod/AM-TG-Bot;" policy=\ -- 2.52.0