From ae79b8fd49400a5b938c715709c7c84679c363cf Mon Sep 17 00:00:00 2001 From: Chad Nelson Date: Thu, 27 Feb 2025 15:57:06 -0700 Subject: [PATCH 01/24] updated urls --- Formula/msg-cli.rb | 58 ++++++++++++++++++++++++++++++++++++++++++++++ README.org | 10 ++++++++ 2 files changed, 68 insertions(+) create mode 100644 Formula/msg-cli.rb create mode 100644 README.org diff --git a/Formula/msg-cli.rb b/Formula/msg-cli.rb new file mode 100644 index 0000000..dccd291 --- /dev/null +++ b/Formula/msg-cli.rb @@ -0,0 +1,58 @@ +# Documentation: https://docs.brew.sh/Formula-Cookbook +# https://rubydoc.brew.sh/Formula +# PLEASE REMOVE ALL GENERATED COMMENTS BEFORE SUBMITTING YOUR PULL REQUEST! +class MsgCli < Formula + desc "MacOS Subsystem for Guix - Creates a virtual machine for running a local guix environment on your mac" + homepage "https://superkamiguru.org/projects/msg.html" + url "https://forge.superkamiguru.org/MSG/msg-cli/archive/v0.1.0.tar.gz" + sha256 "8092e3e240dd79e8254158b6b73a401845b84268a2c6fa80f6a5e9ced51e52f4" + license "AGPL-3.0-or-later" + + bottle do + root_url "https://forge.superkamiguru.org/MSG/homebrew-msg/releases/tag/msg-cli_v0.1.0" + sha256 arm64_sequoia: "e840f2176ffabecb65b0c3e1cbd9c9509ae2d1f33007197681bac0dad0f9e513" + end + + # depends_on "cmake" => :build + depends_on "wget" + depends_on "qemu" + depends_on "autoconf" => :build + depends_on "automake" => :build + depends_on "libtool" => :build + depends_on "guile-next" + depends_on "texinfo" + # Additional dependency + # resource "" do + # url "" + # sha256 "" + # end + + def install + # Remove unrecognized options if they cause configure to fail + # https://rubydoc.brew.sh/Formula.html#std_configure_args-instance_method + ENV["GUILE_AUTO_COMPILE"] = "0" + + # We need this so we can find other modules. + ENV["GUILE_LOAD_PATH"] = HOMEBREW_PREFIX/"share/guile/site/3.0" + ENV["GUILE_LOAD_COMPILED_PATH"] = HOMEBREW_PREFIX/"lib/guile/3.0/site-ccache" + ENV["GUILE_SYSTEM_EXTENSIONS_PATH"] = HOMEBREW_PREFIX/"lib/guile/3.0/extensions" + system "autoreconf", "-vif" + system "./configure", "--prefix=#{prefix}" + system "make" + system "make", "install" + # system "cmake", "-S", ".", "-B", "build", *std_cmake_args + end + + test do + # `test do` will create, run in and delete a temporary directory. + # + # This test will fail and we won't accept that! For Homebrew/homebrew-core + # this will need to be a test that verifies the functionality of the + # software. Run the test with `brew test msg-cli`. Options passed + # to `brew install` such as `--HEAD` also need to be provided to `brew test`. + # + # The installed folder is not in the path, so use the entire path to any + # executables being tested: `system bin/"program", "do", "something"`. + system "false" + end +end diff --git a/README.org b/README.org new file mode 100644 index 0000000..ed8dab8 --- /dev/null +++ b/README.org @@ -0,0 +1,10 @@ +* How to install formula +** To install without adding tap +#+begin_src sh +brew install MSG/apps/ https://forge.superkamiguru.org/MSG/homebrew-apps +#+end_src + +** Install with adding tap +#+begin_src sh +brew tap MSG/apps https://forge.superkamiguru.org/MSG/homebrew-apps +#+end_src From 4e793cb64235cad0686c0a2fee7fad80a3262500 Mon Sep 17 00:00:00 2001 From: Chad Nelson Date: Thu, 27 Feb 2025 15:58:33 -0700 Subject: [PATCH 02/24] updated README --- README.org | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/README.org b/README.org index ed8dab8..60b52b8 100644 --- a/README.org +++ b/README.org @@ -1,10 +1,5 @@ * How to install formula -** To install without adding tap -#+begin_src sh -brew install MSG/apps/ https://forge.superkamiguru.org/MSG/homebrew-apps -#+end_src - -** Install with adding tap +** Install by adding tap #+begin_src sh brew tap MSG/apps https://forge.superkamiguru.org/MSG/homebrew-apps #+end_src From d68990400482d4c38092aea1d688d349e21545de Mon Sep 17 00:00:00 2001 From: Chad Nelson Date: Thu, 27 Feb 2025 15:57:06 -0700 Subject: [PATCH 03/24] updated urls updated README updated bottle url updated sha256 updated sha256 updated url updated sha256 updated bottle updated sha256 updated sha256 removed bottle from directory updated sha256 updated bottle sha updated formula location updated sha updated sha updated url updated build updated build updated build updated build updated build updated build updated build removed bottles updated update sha testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing testing --- .DS_Store | Bin 0 -> 6148 bytes Formula/msg-cli.rb | 62 +++++++++++++++++++++++++++++++++++++++++++++ README.org | 5 ++++ 3 files changed, 67 insertions(+) create mode 100644 .DS_Store create mode 100644 Formula/msg-cli.rb create mode 100644 README.org diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0 :build + depends_on "wget" + depends_on "qemu" + depends_on "autoconf" => :build + depends_on "automake" => :build + depends_on "libtool" => :build + depends_on "guile-next" + depends_on "texinfo" + # Additional dependency + # resource "" do + # url "" + # sha256 "" + # end + + def install + # Remove unrecognized options if they cause configure to fail + # https://rubydoc.brew.sh/Formula.html#std_configure_args-instance_method + ENV["GUILE_AUTO_COMPILE"] = "0" + + # We need this so we can find other modules. + ENV["GUILE_LOAD_PATH"] = HOMEBREW_PREFIX/"share/guile/site/3.0" + ENV["GUILE_LOAD_COMPILED_PATH"] = HOMEBREW_PREFIX/"lib/guile/3.0/site-ccache" + ENV["GUILE_SYSTEM_EXTENSIONS_PATH"] = HOMEBREW_PREFIX/"lib/guile/3.0/extensions" + system "autoreconf", "-vif" + system "./configure", "--prefix=#{prefix}", "--libdir=#{prefix}/lib" + system "make" + system "make", "install" + # system "cmake", "-S", ".", "-B", "build", *std_cmake_args + end + + def post_install + system "guild", "compile", "-o", "#{prefix}/lib/guile/3.0/site-ccache/msg/machine.go", "#{prefix}/share/guile/site/3.0/msg/machine.scm" + end + + test do + # `test do` will create, run in and delete a temporary directory. + # + # This test will fail and we won't accept that! For Homebrew/homebrew-core + # this will need to be a test that verifies the functionality of the + # software. Run the test with `brew test msg-cli`. Options passed + # to `brew install` such as `--HEAD` also need to be provided to `brew test`. + # + # The installed folder is not in the path, so use the entire path to any + # executables being tested: `system bin/"program", "do", "something"`. + system "false" + end +end diff --git a/README.org b/README.org new file mode 100644 index 0000000..60b52b8 --- /dev/null +++ b/README.org @@ -0,0 +1,5 @@ +* How to install formula +** Install by adding tap +#+begin_src sh +brew tap MSG/apps https://forge.superkamiguru.org/MSG/homebrew-apps +#+end_src From 0909866a1e2e186d8c022ad11f80975dfcb47521 Mon Sep 17 00:00:00 2001 From: Chad Nelson Date: Fri, 28 Feb 2025 10:20:43 -0700 Subject: [PATCH 04/24] removed ds_store --- .DS_Store | Bin 6148 -> 0 bytes .gitignore | 1 + 2 files changed, 1 insertion(+) delete mode 100644 .DS_Store create mode 100644 .gitignore diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 5008ddfcf53c02e82d7eee2e57c38e5672ef89f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0 Date: Fri, 28 Feb 2025 10:24:33 -0700 Subject: [PATCH 05/24] updated base sha256 --- Formula/msg-cli.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Formula/msg-cli.rb b/Formula/msg-cli.rb index 913f86f..cffdd24 100644 --- a/Formula/msg-cli.rb +++ b/Formula/msg-cli.rb @@ -5,7 +5,7 @@ class MsgCli < Formula desc "MacOS Subsystem for Guix - Creates a virtual machine for running a local guix environment on your mac" homepage "https://superkamiguru.org/projects/msg.html" url "https://forge.superkamiguru.org/MSG/msg-cli/archive/v0.1.0.tar.gz" - sha256 "62f1f61fe6282269590dabd0cea6eb1e5cc912c5d4e81e9cc0b80fbf9164313a" + sha256 "5fdc36313d8903f705a6ba012dbd09326c103709f722135f0f72b1191ca8940a" license "AGPL-3.0-or-later" bottle do From db3d9a79d7c22fed5a5ab5dfe14a395a4c9eec70 Mon Sep 17 00:00:00 2001 From: Chad Nelson Date: Fri, 28 Feb 2025 10:26:09 -0700 Subject: [PATCH 06/24] updated bottle sha256 --- Formula/msg-cli.rb | 2 +- msg-cli-0.1.0.arm64_sequoia.bottle.tar.gz | Bin 0 -> 39841 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 msg-cli-0.1.0.arm64_sequoia.bottle.tar.gz diff --git a/Formula/msg-cli.rb b/Formula/msg-cli.rb index cffdd24..3b6ce22 100644 --- a/Formula/msg-cli.rb +++ b/Formula/msg-cli.rb @@ -10,7 +10,7 @@ class MsgCli < Formula bottle do root_url "https://forge.superkamiguru.org/MSG/homebrew-apps/releases/download/msg-cli_v0.1.0" - sha256 arm64_sequoia: "66463cf2cc149385a125c82745cc3969817c59b6a6f3724fe083cb3733b4eb02" + sha256 arm64_sequoia: "e143f7bc4a551676c538125c527fbf5dec6acb17bf46ca704686ed18fff83114" end # depends_on "cmake" => :build diff --git a/msg-cli-0.1.0.arm64_sequoia.bottle.tar.gz b/msg-cli-0.1.0.arm64_sequoia.bottle.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..87ccbc378fdb6ee710056125f06e48c741d7fd1e GIT binary patch literal 39841 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 P#^OjquciM16aMpmU;!ZW literal 0 HcmV?d00001 From 561f0f54e13ff3461788fdfe2dcfd96e92616ebf Mon Sep 17 00:00:00 2001 From: Chad Nelson Date: Fri, 28 Feb 2025 10:30:43 -0700 Subject: [PATCH 07/24] fixed issue with postinstall --- Formula/msg-cli.rb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Formula/msg-cli.rb b/Formula/msg-cli.rb index 3b6ce22..58607ab 100644 --- a/Formula/msg-cli.rb +++ b/Formula/msg-cli.rb @@ -44,6 +44,12 @@ class MsgCli < Formula end def post_install + ENV["GUILE_AUTO_COMPILE"] = "0" + + # We need this so we can find other modules. + ENV["GUILE_LOAD_PATH"] = HOMEBREW_PREFIX/"share/guile/site/3.0" + ENV["GUILE_LOAD_COMPILED_PATH"] = HOMEBREW_PREFIX/"lib/guile/3.0/site-ccache" + ENV["GUILE_SYSTEM_EXTENSIONS_PATH"] = HOMEBREW_PREFIX/"lib/guile/3.0/extensions" system "guild", "compile", "-o", "#{prefix}/lib/guile/3.0/site-ccache/msg/machine.go", "#{prefix}/share/guile/site/3.0/msg/machine.scm" end From b62ceb8fdceef5e7133bc333669a473d62b2c086 Mon Sep 17 00:00:00 2001 From: Chad Nelson Date: Fri, 28 Feb 2025 10:35:06 -0700 Subject: [PATCH 08/24] Updated readme --- README.org | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.org b/README.org index 60b52b8..c33ae03 100644 --- a/README.org +++ b/README.org @@ -1,5 +1,12 @@ * How to install formula ** Install by adding tap + +*** Add Tap #+begin_src sh brew tap MSG/apps https://forge.superkamiguru.org/MSG/homebrew-apps #+end_src + +*** Install Formula +#+begin_src sh +brew install +#+end_src From 735c632f3edc38eddec618bc436ae70e1c547abe Mon Sep 17 00:00:00 2001 From: Chad Nelson Date: Fri, 28 Feb 2025 10:35:39 -0700 Subject: [PATCH 09/24] Removed bottle from repo --- msg-cli-0.1.0.arm64_sequoia.bottle.tar.gz | Bin 39841 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 msg-cli-0.1.0.arm64_sequoia.bottle.tar.gz diff --git a/msg-cli-0.1.0.arm64_sequoia.bottle.tar.gz b/msg-cli-0.1.0.arm64_sequoia.bottle.tar.gz deleted file mode 100644 index 87ccbc378fdb6ee710056125f06e48c741d7fd1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39841 zcmd>`)mI$Rx1b{s2pWRBySq0|aCdi?;7%vFOK=bFE*;#parX|=xV!h{ckj%7n!jM? ztW^)S_Nl7@?%*%1`9`#`;uR%a>WDzQ6rR>gJM#lgv_-z$rvq@NZB z<4*Yc@sol}Z^*k6#WfYRqad(|WB%@438vMVccVwEFvuG8KbC>Ftc z$$Bbo^xSFLRlP}5u?I)5QVVQ3gS5jb>v%Z7Ej8?#mtaBBopbD;PClA|g=qPZz9G81pt z=4MMhh#dHuC^I4cT+%$2Pkp~9DMeey>e_d2}t+afc|H zkqF-5t7GBiamoxOxR!1L`JK%Hi^qkk826;F2MsC~$CCeqq|m!$C=i0NClqc^rM2C4 z-Q$v~fM!Y4u#`z1I+hjd4BlTXRJ56+( z>dsY>S52k*xusqv(&}5)ugV!vTl;=nq6c`qpM$a#3n{62@3qy_H*G}dBvVEc^7i-k zgs4`^fa3b-Y=c_}JMY?QhM5z+@lHf#r=j}atqT7o&LeD+-t37f?A95+^)(}0^S*M$ zOtUgoVmN1q%stZJsrlZ<&e)>rN$QM)&U|Hk+%r&Ex?7_fx%FV%fZeL!A0 zJO9mi^KiQ)ODDFNGe@5MQg%~?GCFSS-Md7v`(b{i97Ey4pVr`4YQQl5!oMumu)gcL z8h|aXP5_`=;?adRPGqBu>&?D@A-8`kF;!k0ax?xII3MFxI3~<$0SPMQy(N!dU9w|< zx33~FmTTO&~*!JivXbg}Uj7#?U#*3tHD0@ZqPCF+r!6DxYrAF6WaQ>jPJSQ;80 z=DKUAZAj_G24yz2Ae3i=%X$}Pb+0tM$qZ-z%^f9Bh z){R}RIFJP!Nlo3&icON>>b_Z%j2FJIUP~@Y<-9INekbF}qp2l(woEYNiG!2 zoxA#InGvZXH=og6n-_59!*=tR_4z#nrOf{=TDg-2i0|h27C!~Vte0d3z5%IKR^C*z zF9~NJhEtz+=_eIFQ9-E#*)|PPl@6MyBpB^6L z8Q<$XSV|4;z~e7yKotV3B*K21l{Ms7H1OAqWpQERH;9tyYbp3>?oY37^-gXP=jeMm z=wYJ1HZb?7h&@&z4({InvnY9^!BR3P%E92m` z7ty;*Xjb&jpEGXz4aeC2s0=?dnRt!LEKk7 zhT|MD7^82?WghoL?bWogg>c&Nox#a0N7Wh&ZMUid`YjH8o1hPG_e|aG?x=ANY$DC8 z;dtbZe0ft<374{+^#zS?3Y^2yg{sTN?r06q1UU~2cJ=l>0?@d&Zh8FM~@c= zDX1~kA1&A`_r_0ENDF`KfSmPCKg`~|Mc5gVNyT0&xyxEhNrA1!@3*S0 z_1fR={^7|_^|w42y~3Zl(w$fPir1u#U+J0P=DVXgXV^xp-sY^pS-L@K&b-^zXr9r; zQ))p&T1Qaj-m^G1p^{f)?KP|t_#D^V?&-M9-{CWS*MM`}HR)?}Jw}suN|WY=UTg1R zA4<)TL0?j~+ME^EBHdO{FJlyMA)0vhhc^w9)<4&$e=S>C+q&wk5KAx^RB^7^u&SfV zDotMQwpOF)$>_;2@0f$x#BZt>5yzjqLUkP~Ye-1Q8-7`1T}>dKTM?Y~n^=z7=C-#X z*M+-viOwo#qjfzSC;AsY_;|XwQL7TIM)Bq*RjzFMl80Ko$$uqDiMrjlecQ0y5^Qd0 zoBl0jQx(2sW!{FNrGs%MD`w}UO=u%cW}w}7mK`x>Xa~F_Yq@fDmOiUD`}W(h?l`ri z#)_$yU`H=sj&jvMbjJ@Ky`wluCJu!JnmE&S-%LVuV@%ilIYV zBT}5ix-DPbB=WPINjHT$Jo=H2&)(f(JPIO+koAwhZ@-e|&r6LCtN3=IdSoM=a>!bN zlCa9%;kkctmXH0L%erqBm4Y7o)iFf;_~bPCWnpT>u@3h{@2G3zT{NHTPyU8q@}u;} z2y%r|>%1oUG)jhlSWgq~d#yf?gKWBN#%`80+zBK6J})Pa)!l;aXdGxPm=T_6pjDZ( zQ7gYWq6~bX_u9P!KJlB!iP-!Ib0h|hmQ9@%RcGP4y6SFhv8xpp>0hhO1WYu0 z%S9^tUa~n%7I}~|(XOxPnE2UvkN@by6H7d5XpMT*Owry~`0i^lS4u)BXjo*!UbMLN zi=u;r+?qU|#ae(ERp1`M5-q&6kh6p-J9JU@41cvzl_aLmTn!U+INxc)9oXDBne6cG zg?04ldip@}!Lr1&-%Q_>O{rswRekWZFceHeb=w^mLOiUnaN=hCmAIKu6LK|EvY{2K z3$_SU3VYE4S~%)iDnX|!a}`dHxY~_M3ksgw zkGzg3z+?yJ+*CgksR92zQm%Qu5+3O#X$V2oh_fMicYwc|60}#xUUS^WL_%p{#x`B_ z*vf~A)3z147Q2V(IX9*`ERB>i2$>?TFB^3QozYR!s9n6JM&U28!iGE1V=Eu}Teb}G zEm^-G!l=(L#}HlV%aOsF>TgqKRWGVfs*6HhIo8fwn})3ydD&swfEK%!M#l(I`(R}^ z^hZ;_?wx>v7<<*EOpf;a;jHjakn!|!Ll~~|s*Y0Q>`IA+fqb0)+Q%0|A%bGlu3tZ` znwfOcmNe;d7E3LxIcj%iIP`sT>6PsTmMd}HR99*1*y)9OEjt%KHdA#fsudRkyQ z-&P?z7GhcAhD0weJse*GUwQ3Q9K}(&)sPvn*xskHoxhE$niHdg;$z!omX3sce zu#x2wtKm3xy_JfT8;9M-W4#~aNyYTFjwDTd4xA^D%`7=abyc9Da#JmQjp-bW%SpeA z?;_ypnh%BMz6U5(K9>RXoP-!4?>D~OclShUk0kv$2Gg1?oJW#$Td^SWi;y>~us5VeZId9_nl z%S5jMl)*N$t>|D+(5QDl>D_TX`5YbP1TY!({N^G)cU?~5WM`Q@u*9jZs$Kr}$HOY= z-6V!!wTsP0CTGv%1K5_#JA^PojqBPQ4bN@tn>2IyniuwW7DnsQhg<}K#p?`(KvJz4 zKsjBOT>cR=aQJY3wp?1CI(aNEC`_CUy`L(EITp2;haFlUZ<# zURf&Ksoz-{_Ws}l-pv8(p96U?Xp`Za;Aw{HU>TI`w={c7DMksz^25!NW4irsqPsec z3NtNLH%zw1o`@f<>jb|nm&~{e7fyo>;gzta?Lkg>D{bbdPZ&Zq4Q-spZ1TiKjjQ^C z709(~^^S-Xn$3UVF&BQazKRMbTBym!RnBRgw%IRTggH_Yo)K-<1uX3muX#;Wq2*EU zR`rAOqcx6kwELna3-Z16>|GY*JSR(1LGxoScD1^Xhf?!pugtjMYQyAyc4$zUAef?1 z&uNf3U1w$gd#p{G7a?11-_5%m8LL{`#I=hA%$U&P#g`EKeWc;2*hW`08aR75@Le!Y zVU3!Wocwqzl2R+G7e|HZ(IAx*(77P=Z!%*+RRMNT zPBix{#g%})vAwQ&PX)X=SE(LjNoQeZ$yQo`aG#6imH^Cj0ynKaM*a_MZh>(B9#{ic z(JbO*#$rvI?)U8FG5Gj+&KP8Os*Jk|)*hm60(!B+UWc*8PVYc>(P_motstP6mv#{7 zUloXQ3i04KLh}233K?F5jhWz_#&_f7Xyd!t0gvy2!on_ZZxF^H-4+o8RUD0tp3+Zl ztduN3FLc=Lk6lJDIAr7Go1d z0jx%NOVhNH`6ftKTv*GQ3o}n$^$DvneCZ0HNK%|?(?}HtHKJdT7sN6uiYOjv5b>!~ zSE00=KHoE`&5QNR$$o?x_&!g$zUZg4H_eD#KPcZ&t?zVKM#J8AqJFPFfC$=MiDrvj z)0{y`b->2=>ro&)N*|xJa(h`fHs^Hx`B4vVHA8T0^&}KJlH)3wiH0&ZXJDys>}Tv$M-HlH%r1HPzQno|segmv9?bWQF2B zxb56kw^s#!4a>AkapozNW#b*E;@ZE*F0XAmev*~{&gLq z&9`~np49>VIQP?T8@qD`L{d`JnDt5$Q)hBL8Niun%yFg({kZCALqa^_V)jt`j zX=^49JM_U?>nVSE`mK76KWeQlgK#c!lU=FS^zzwt>7=VLF}~ZX$c^`LOViKPd-P$t zV0bni?P1@bm(bxK&-SgVtOzj2MR>^7P6%|E2hp_Nl7~9xUCc-B2pQYA8p-GQ9^|Ri zBRdp^N1c=veqksohPD`x5QRHm9@SzQ>9q+pOd2EyaxGhx?I~K4Hc_j8CoaU32GB!3 zl{-<(8wOE}Xd;T+Ire5L3dSs%k(YX%?mwbUwdiU)-hB)_-i~6>Z*AB;iK*D7h(WKa zBj|UHSb$XXb$+q8kBtE}%&yf5u4>yjR`Y3s#vX#$@zHzONfesDf@5y#L}ifyv!H&P z2olqM%WQ_R*+rk9hftl-njjT7OLj}bhDN$Pm-xEzWGgI=v7+^{K6N& z!vb7jBnCcc^7yx3!F>;dgCVOnR}!=}L49AiRZLS`e*Z4{vlLi|_9)%Rd{CHwUXy$v zPUWQGD9+5=?t^p_8gqR3tj*zMP$@qi>vVo86!{Jc)NK#=q3S}iNw823iT5^#B6W8on74zG4bj zK7&70Csh}#scg+H8=$=H~c_8eJ(%4MrDdhEe%du=AIfaO7z%AGp2 zCbnv-D!eO_{dx+ERdZth35lr@?0ilKC4GdZ6cnDjA{0l{JansY)OzQ`WyW6>JYrLP z`UnH4LM`*}KNPD+r&!L|TB1L2>evzZLZUq=zJc|TiTn;Jj_s!88hRXS5cOd5kp#Cf@Pm(924DN02 z7brcQWNUzbB)8OS*bwIzB0iiXQl`h|C9PV(l)yNCxqlsf=^D5Z5M|FQDK?9p{Um&` z`Lol~W8X=rbIe@ciwdC@T z#Ce-(dX6;6jB;KUT7OT|N1`OfyPBIj{;nbO-SAY@+ZnHQS9$FgwuX6GIU0z!%K6N^D#t2%Sxh*9UIp2}<_k#>Bz z5&GFkLaCM;sW~6b#stpujy3K|hwlKtY3}R~z4z&eYnqxSJ3QVxT`e1~>x@02H^J38zxEUNZX-7w;h`63(Ytb{ls`uUIG05q`yLTieN7HR=y^V z`@}G{y%aueDrtwUbZnzOy;Ct45I^3K5(wWSK8Nhj=_$U^xPsU!I0e(!r&u)SsL)IB zvk7^#U{RY_t4lZe@OHr-dd_5a32r$%eC*KmSYfR7KKo!@&yajHhh2#k9z7n;GW*jY z)RIBb zt0S}rM0VQ_8$ZvIPDw;csdE?1ls&86PE;X}E#rcGM^!ZAB(YvPec=2?(`$+}`d?dO z)@q6}u!$ERLqaenkjWn_y{hKwZ=BY+VbDgg`k~}t#RE|ALwq( zSb1ew#%>OIc5uI!`%pTYR&HaJylLvPd0vk9y!cBR7=*@??7R=sXPvGiY1Hz2_gpgZ zb+Sv$*700M8ld~-DX-4Z&}@A^^?|mnYy}(t-HnwvU=%^&y+Ce zo!>sQBLNj|nrGa`oF4xY|DE8!dRdT0S)0Yqp|b-7$GXiH4kG%bWj}6wryI-ru~7)d znYRPv?1FW&VtD1jj?Z?^ft?g(o^QiGQC3RBu$*w=5=IsJ{Qtq)#+zwpS&N!-I zbda-c={GB_K82>l&Rqmt+~dV2Gm*2w@+zTFe)I)C^yX#W3wE_O$8)nf97%s4O*lw< zU);X_z7tUlRD$s?9)4{9LO1L-%3#0z^^n$54t&<;N?jE`YWp&GMtq}b@y8{|mwqs2 zl!;D+A`P6yA_(8nq|P1fJ1I~qI#`9vu_b}p_9)jUw`t1XTol&XaA@`P*DABtrMD7l zZ_n<&t7Grcy4Iv?G>)t2UYJpu+w>@o&63?hT<-n5p=DuFZ)0fIZ;c^GlP8%&Qm4g{ z1IJgNu+1?b)Bx(&xqONIM=g4+x_CI%n_(0Kf!JQ1oS{Rqgp6hQ!h&bY8jv5$W44Opz@-u;7+s2=XNj zt?syH3O6Xs`@`hgpkF#d=jX_>=)Ca{_pCGiwuu(YnGtYkN$v!;xPR5uB{ zUqd+Fm3q^zOvR>kSXXd^6wUj?K6V*>{+MPOn_>DIf6otlLw~^tc{;su=2=s^O&fn5l3kjb4$2Z>YRgnANHki`?DENCN zU_JX$+54!g@WssfSk{f!$m#EM7VY7fC5%1g3sd|_b;tvU$Q_A@=4Mj>s6$m-(?{66 z$c^urla-j`xu4rrXq9^Z_DfgSkgk<@onl+XXysy;V=BX<=}99nW@~!=Zt! zadsLw{QKlIx4+>&%M*aQ@Z;2u^ZYeGX9HRdh6g@O4zXw(n{jtNpXy$Kv!J1aC!`r< zzvX=ycu1Xlf*twE&ob#&|AW7^VWlBdWq|=CEs+IsUdPbw_OZ5D3iEilm#qRN)HK5? zB2tq<46XGPMq6hMZw$^OzUp2@R4t~@7nAMcrw?yO*o(Q}ZMm9EpM7~H4u-zG`NU(# zZBjaejHm^(SxxXN+6r#8#Evc3ISh1b>d@4BI1rB{PESuCTmj!Cc2wn`tlg^at=A?( zII+56ez{Ec9%CLZ?d=f*7;@o^dBZoyR%;EHh1f!fdjfP zb-c;{CH3<%gi&8)CK$sEKMQr39!sl!DLMIr00^Q4{+LO6-<#Ni^6+Uy(;|QHxHICd z6jw`4Uoh~Q*o9XZpA36m30K!ASRpS9M}|6uXx2D9T_JfOkRyc}(zjjwt#&DNG2wabD1cVZt5S!#cWc zJ9!s=Ulx_D4b3+hw+k}c)IM>yABYog+Om!3OtyD`Z<)fSvW?zRT*$+tj%52{g%UQ; zVjoyqPS$@~h7wzfd7~CNHiMDWpLyWLM3Pl!KceY}2;iu+Q_>-fZXov|rxrkP5K-yc zEq`2{5YX-C8*d7jTyl|5DGj-SqW6`Cf_qagp+Cg&3 zAn0TTz^y3|QS=9ndG$>BzdQY5yHu#e%3Qj3e!somw5EKzN%hcsE-_yUI70rsUH0x) zf!lX9f2}+hq&0K;ZG((g!QVy>OA^&9>Lk=(FFVGHaI5%^u8}zNFy!&@y;>Tx!*#^!dEKX2oXqp`?W+HE3#Po z-?^#|mDW+eFSoau7IA&YM?g3L5!jq}L@XHq$g?@Tp1Euu-N)1tGx}JxK|W9gh+2M^ z2@1NZ4kANCDkxpS%+-p|S^NW#3Cpj8>NxeNvOLx2Jsk=zpMQAYt;tgKt$tlpw5LM` zyE`zUS$llJsCvAX*54?o%W;@5almSd1aDY^Ee>HUU=sX9bl`A@E93TV|A+9vX}h5o zv5C+Zfs!0^lRmrBAnyH>@00vu0_dIL3#_5HNmP0wGRDrgjOl)&o~wB8Rs>%-bax5^ zr33U|2Y3%~speO-i?csm5A!h(Tc`c291$Y#j77NhDEz88cphK+&VS~iNtK;UXg&>Y zRKWn#&bP?58?1Uvod8qngZ5Pt>p-5#^b>B)8%K*LGnRl@1>?qdr|;bCW%I(1`rEW) zc&E3-UX8*75x=Q+hfkt!7}XBXq8~cn6b7;$kXF=bUa1)W&f(kdh<@C5fVr>LTD9D_ zI>6fB8d$p^#v8b>$|wN(+Jk2aJqFtAE4TS+Ye}o0DCQLxP%FxZ zb{MOJGhl3}cnJS{B>J)){~X<*1J>52ka#~V3LNRH{kSo@`?f$G?%)5R`Qu!cOfiW9 zgkt)lTf#fy&}X7}pH^Wi-q6>`ZMiXH^lgOt*;(OEGwmdv=$0fse=~Yf<;jgE*u!|z zVzSl3NY}8WJ4Lo12p)FPe75 z`{+m4MRYkm3a>cd_(L$u+ovH2T+{gnD7wU-+{>lbhb%nUhu`RIZ&rvR1AR*pd_5NW z1`W{}RVedQ-ZgHQ>m%MyAC61`wr;wI^pvSqMdPxg$%X*HeR|DG-j6HvgC}fH=AXDBr^>Y8`8xh@PFKvW& z18cOC`FuZ}L8*4pGk)>X8Pxr`Z6wf0(cp;y{KS9;TzR~W5r}`}gE~GpRo&L)skKch z4S$r-JWk&5i)nn%Bg`{1tnGlUN$N#+Jvmo^8Pj&ZPV0w523#z!N-4df~BybtPKGCGaF& z%50WndnHkW>#8M0z9&gz@qtWXOioYI@;)Jl=e^n~gfzJt^B6$!Rq?=?dyh!Z9IM7+2E7(6W z6)pOS^TQ10gLZ!}YWclL`ha^TK-3tn4c7*N>wB1hMlw}-b!T&DC-!SYX)Ait$8jl& z=sfdVGA5%oSpW9jEAbjBczIyg@{yH^jOhQL(M|D3u4w*P?ml7cM$bPG*ErI*qI7AN za$#CMy4xk}<%$0Yc{~xqD-QsXT3^Kr!dxFat=@>%Y-nmUMqt-f^KMP1W$T$c?PN|jo5x9CX!*)AKjcy~n$(Vx6W%4~&ve%CkUdXN3_e;Yo|HBgQ zJ!ab6AYUP`{5FVH!%iFjRr|06bJrPzXUosn($V>3!B?sxkB8DyV3X4xje!Y^Sm!?N)}P)b7+#KRJ4FcwzjqT`w@W=4z_-;QBV@#p%&A?FAW`!FF-* zJk?n0AiV*KfU7mzhjPUS@g8vx!JT=k%@qqIEC*pY^5 ztGpSh6~gA{=C8;9n4mr)*d@b=7$Mbb%)lb8$C@|$+B~Pn_$e~jF=sMth2ScbP0^4i z_$AG5B+uf?Yk~||64udV;<mz}6-rp{(&A^K9@s6oR>P7X$STeqUiwDI-KCUO+K z`pGO99QNsqhzkK7g#_zU9>xg1m;j^9KHMR;>EAk;xQJQRL?QZLrIJ@Mc!5e(tP#6a zc!5$>wb5)f{ojOk%fgB7WoU&Zb-GL=J8W#fvr~)7wWxiFHtC#KSe0Swh(SrXb-eFs zdWaAu!7dtxb5$T44oyu8^4BAqLf(}U^OYs5McmcQhhiiy(}d(G5*>gsAH4F zZom0zdf&+5+V~jR@Y6PRFpM}OG9yS`NSvs;tbDGA+SWsx=tLM>glJoYScgb1N4^PP zxhSv6#`}*^ia;X+`sZ91=dRjHp&j1>2iC62K+p(Y&-wO~WDqn41SK?j^l=79Z>BbG zE*IV)9T^U6M$3G-E3IMGsL3uM4v@Prh<{DG?ev2?Cv;dxe@yMWC(}Q;_fu}1#y3Xy z7wM~+$MI|Fxp%=4WQYPUtCXPheK3{Xp@4ia&1d!J#v-J~3u&d66N=?JXr48pxUc83 zSAuBFb5yKj$4c$g+Y|_LWNM@hQ_?H)(#q1*7Ez4)vsA}oNMxv-e*fpNsK*w~H>r)M zd)jG@(wkG0gn4|36DBe>+VWSAKnxNEDd?J4B{fLL7B$OH|FX02*|z~WOQ){c)?K6s z9bgLaa{EeaJ=I)B<)%3wTzod_y(Ta2UwU^bVs+Ua;*BsM;@^L(_2S3$hLH+0i~xzg z_S`M1yc6-CWib9*HN|;`jQW6+dkZhR&R~Hgg4H)Ho z#4-LG#QJAUyL(LAYmv6<+DH4*A2z)2GrqqTRDeABq&N9g)4qvobcp;Cro4Q7U3K+Y zqD!h$WyQnz+R$&2c4NOX`UxlJHdMghL*GBYF_RT>Z0gBBchtpr<0*>i(pZvWIztW% zoYh-O?!QONITJ!e=z*@Bo_$#ND~F$Uuu$2ma9x( zB3^K#&&!FSzTvzYV@r$_VS&A?peSyu_e&C0oi|1GcamavOF;h-aQm7FVm+*y zW|S)P1xyS6sip@PvXz{k+gyB;d%g89>tp}S+>MP5j@hnFlIS5!_UIwANN+D^uXv*K zv*TEg+d*I7=Up9&#f1&|-Q_HGs2mn5=8(0+rloF5JtO>$$Y+wxI*&p+#9}`bzG?wb z<;NJ38cZTv@DJx722wbB9Sdij%id36a(4E^&fSz}CE>?1@Xd2lTAO5Z`z3cCe-x?1 zZ<_5*4Ka+U8MFTSmgFV;YvGKfk)kK;MYR{z1yC%JR4!A<#hpF~px`!R!~{1en-eX@ zh`jUdJHJKiZ@YZ{0{C0Fw0Ry>t1R{)pKw=t@lR9slz8F%vblTxnX&hwR`ic9Q^H=4 z?W}=_WM-&v(F!n%YpGK%GhkTO?SRQa6hWr(9?>?eAxjv+bmxhv71iCR?&ndx(X@Gg z6I$Nz6(KQH;z1(ePPg4Z0!ET*yhO(pZdB~sF`p5g9!Fp12#?TBm(&S5*#c3 zaWC>?iVrQ358xZg)1_OS&?xnNpfP{#WD4)B@ua=`;S1YhZLg{bB4fhc!#l_QjW0mb z#o8{hcf_}4lz*q|%X{T&_0Ied44^#qLJ{2v*O?(hn2JW9S>0xw-!G=sITA`{5Ph*- z&94p-Lfi_Ej3-)E7{Q6B%f0dbkatt(M?tuPz{|jq&&$9TCs)WNgwi1bCn7{OG(v8Z zm-2=8cXqgQiH~vp^)}bkK*u20d6K7*-~^-DrY6_hbI%gP(?QwT#?IA!1-zM!k*<6Ahw9#{6^ z+(kjk%6$(8%RgS5jFzz~FnM}IAwS8kox^2FPzr#cL5t^>U{qct2|3(bxexDcLv(Np|gU$3gqDgT|?1A)WUnny_ zavtv1_5Hl*vPU-maIwo)$wi_mE4mO5>pj)>#q;Bj%>!I1Ij`%Di_GME|7P z7!HNE-BcBvA`Rw`fri>_KA#BXp|}x%D+_(j>#sXZ)7Ny2geL?o_7~;??~!iWKavc4 z-%md-TgQ7vz&I})uDs#0&Q%CwL>QS8B;*lS$b3VXDPqJ_Zw{8j^Tj|BB;70|gbRJxOT|X(a*ocW9ncD2N$UD(naNq&0rE?b+fF(gT-yw5O2|=RPHHLJi=XR z>dr)A-GKxmLkF0eM{n5QHk3m;W`7Fsh;#-gvwx+NMgUy73nJZ<()oCH`xtur-Wbsvj*(gBUWf2g+3DF! zut-*>0LIr*xQovAEQKu6xMj~^5faJvzj7qQdpPu>L)5ZIUTg1O&o;lLVj$%rK2|q4 zTUvH=x<_?9w;fuZxFxIVee4nOdX87mQTepm4)}|{di~N5$;%Wsh6!9hBH#_)o@>=z z@4Pm#YBu2?yeNni8<)*Wx3kWQfCQiRiOF>^C5oKbs6@N@j8vuF5=QG|??q+L5F?lJ zS|-`~9$n(w>=Z3mBcHhEytR~eTFnWjqHKi-4KGjUECL(Gm^qK4AjeU#87|`P_SI_h zKJ0s6#vNmiedW2whoi$lU-|BKq8V(UP3E}$+|iQGiqUN;!?rw?9@<^8Abw}sgl$G( zTkQ%Yeu?-uvTvMQx7+0nn-5`#$cHt=A)s3)2dU$#D_dn!$03hOV0aQ z0!Yn0N!?anO~Z3>(@%C-R^r+8kF?Uju=eN&{6n8`k=(3aQW5uuoh;6W9a7@cTkV+p zk1U(R_~#%z)*%>h=s6Jg90C9QKM$(q*t~D`28Le-CSIDoDC3`F;GUbu+?oQgWGLx|Q>7}ju?kn6Xcxb+q z?B(uST^;WYWfeRtg1%+W^nx(Xf+B*tg;|v?@;&8xSOJ#y^NnO@`0lw9Sp$}5E@HOT zZRX1s^Saf@^dc0JXR-xD-I}UnyQ@uNdYP&`u>2ARgxi|p^m`k$oI=;_1WukjkuxIr zOtpF&>uQ#aJTpxH<2aM|c^1%D!N!js9ecBvm?b;bmGl7_GgBN-0BKUIruZ4^n75de zdyYGFts$@UNxB`~ahr%4Qg-}ZKas{ugfDLhsc%t*okpH3&%v6O?T-BIxwR4xeoU{l zah`wbqMknWtBbee3&V7We z{W+(BCIU_-9PHB0mO_yWH)^E)%V)5G2TT@`8;;iZG)u<`{ZB)>0(&sZx%ywD9lDaR8 zOWow&Sx3OLYuQc2SPDdg1$6WBE-#}Eywsr4p5p{j=ecRpnlMs`r}8Z=Uejtj)#u1R z3QL`8J#B=h(n+}q)heffZDhHv6)LqyCYAS)liGNAoV051f3YtN3_JXnGt;Wp^@`^@ zCsUlA)3uS}v{ne^;`{|(o=_R9b=$MPlBF*EXUq)msM&E89z>NZmc35;KVO#K-V7&h z>im+o=jZ-csz%{AcV;{1Qd)f@4?4JfdU^YSg&1~JB~#Yb1;DcF`EH(ciW|dX z*ELqq?dkCw{%~Q*z<#i{-M7A&R^gVZ?k0rTw+~s~cm2*Hd0j^pKWhx?K`_Hn z?Ec*GQW5iuSdl)l$gIqM!@B^o8toQ(&n@9cH@S0NbtEEEDwHgc)%w-BsxJ6y^wE73PlD(AO2S_L1!>b|USG_8V|I8tg^Ww8@5_6$n62F4^DH?A{`xG-ff}tnMc-tq##zsD$P= zX{0DLKR#RQo=Zw~Hcsb|t!WHvbT)J%unfkpP@JkXscF92E(uniXi_HEQb3GIPq>GL zS*^J#@l`!?A{FNZk>*fI3co)O8{JFODyBSk{9!7nv`q`BWGUXXEG`z<$3+KLNom2NA$1m*2+kpRnB5MLuSJp5+{vdjHBWEhus05c~Ot6)`vEbF+w8?w347 z;hDDq%-vngglQT%v-Wustjm?r+&w^*@(;yZis-aSj|T6xz2lE>+(DbO-*dV>{f)~D5u6=aSJk5L`!D=MUY9voK zu;fMWj$aksW7X~F;_*bLHH!zaZ8|yREdJV%)syXM6Mx8$`EgJ8YJ+deHPw*(5xjwJ zB?vS;dgzXuk-wFP2|*F|=$)6GX&&VlfUS#{E35o-T^AD-`xUxlg7y2>xFxBP>gs3i z__KSNMu>{a-B^exJ44753u>jcl*kz!oyr1!n$)jl_FLb<#^7DyVyyfilA6l@0d#~D z{~OTt9y1;;8NN9AoFD{-zx+i_X<`c&I{PSOAz-FG_hif&{KE5XMTrQ;%>WD;JhiHW z>f>z~7QT>cz42)CeoyO8(>NEI3bQ?eFA>s_c>75JC3Vg)e2t%H$h(EGMXzm)FvBhh zt~_B=lPYi4_9N&raoI+`Gz#-0hdo)%d$Gk57-zNk^w%navO{ z>jc^&*Oyk8N$gr0W7P2DiX{lDpT7e(*pzUC>6K68JFdF5y`iMdQ{b{rwmbGMi}>8X z?gC;k+3RceB>T{zO0A5TI{hCWXTctb05$n;%Z7*kNgFPhFsOIKi-ll?Sb-+k_Um|( z*J6Lo_j-5vKZV8mMhh)~7LS#So}6I6Ff@DtXeUY=Es@$jM_NTbGy}8}v^;CcD+(B`JBhYbgFX$gBR7p^Zn#E`L z*K*)z9s4HisO)1l<&)aEjn8*N{jDQd*%u-23Jq{d?7t~^6XdlYy_vIL1*`Q7M}ImC z8~|NMI3KV>rYQpt|A@TAAO2u81bfV8mJEpD-3X>tD$fm9= z3Y&;Y-*6Mmkt2RMSwq~jksK5#79u*mlByWj{^89tDoMdMO|15n2VxwdKl*&*cmAw0 zM))Hnp0X?3hEdRE_De)$R9*FqI#He3KO-PfodaZJ)T2VUV75}}$kN15olG)mb&68V zg=2;@I$R|GUaXXbvK~G{zh>Rtepw(%f^Ds+(%5atl9U1pg1X4EzT! z-Gnlxiks`p5}Q&5naib9z2f$+tt?t|J~4Wi9|3yZ%nQHi9<~oL`Wkg@F#~!Ty#Yn; z4+3OwTZ95t5BEARluU1i5s(j;J4}H%+st2Jo2X0AI5KL>axYC3hUfZ-NP8LiST8y>*#|EQfLWd~>}^5);0<;y*$tt@c<|039j8s9=zizJ4CP zOFY6+pu_*A-oSvb9ph3^e3zukAs~k26TJKFoU(*NdRFd}90OgZQWXC*JV7)*_c!+! z4wa$^V_i#;gteU_lcNE$K}$(()TAPFDq`A0I9abmcV5~11b0^1`@|a#4pW9g6LEpU z82k~1o2C*gwNIn$0u>pb>gCv*5H!@9y0Cw(r7e+r1)W4o4dtJSnjX;fnvW(sJ-P+3 zXXPYgOZ*egPxZY(->*Q4rLyh*9!_#0q=?#py_qv(6jilGABC=6VRYQVmG1 zB{aRp{{=q7k>2Hu>m@fZv{~6zsE$?3G#8fpf4$mJV8V`4`4(+XsmGE7>K{8O`zOM% z|7{4Kjw$|~s@|LFQgWjRr$Cr!A$=TTOGj`#Zc~_}1utM~cJ%KH`&g>#+@;95X!aT_ zj+y!w1MvS1d=@ZnQvT1c2{r-zsS$&1W|DE8_}HF>HtExAX4fp>iWo!s-!R#Wi?C`! zDKWZ@;2zt#R#XxbE~d|MO_n{pqBRuA%$s)iG7dytEx%S*FW1f^+HG|x{@Y+-{%5eP zE*c3H^KhiGGqko?qTZ_-T^Lw;JD~QW1iX~Sx{45b3 z*~BJg5&r{`?Hv)-#H{Ts(+T;+oBA%#^j2>eV*V@paS8Y8(Xi_=F?3PgPuR2d3k*J$ zunIS`c)yH<)nk>SWXEOX-06RD_m)9zy)~u$Vkw1X2-!?T+WH9b%LSiDt`*%>^%YgD(=J28|?KG}YF%)VASRRo>3&8*ubidHT zU8=XCHxoB*3T9ozjz5H7fZ$=|(^nW{QQ(|Jx)= zfEue_fVTg3^;gGt`tDCGkIaYX1Yv=%l9!@R^Jtr_v|sNN`%ZpkTFAC~IQVc*FfMAu zs4T&%Ol^XU_!o{cE*HSw8MR4Cq`%W@8=#+rEH(#u9h)O=jf&y@sBAOblyHEcUT{buWU(uxic4;!JF+0IoSP9;Ka8odH z8|YLg|N6-k|}i%Kx^sE*_9BVEEB(zNu=YU9a2{k@a1Bzz7r){7%o9gth7G zC7juOhS|KnnSe3P)v7fl8W{7Ib|;DPro$;Hz{>@53=>T~4EA}MU4I#hn?n!ncJ?7Z z2+-szY7BgZSUUxL`Yuau2Yn0z*g@Y=!{KvpA0JyXKs2`3i@!p0@{Hx4v=p*}CqdN( z*8~-f(~E(c9f9y=?$PI~_}3?8vj1mzi3cN9byHO8gg1Ua>lsP#1r|B5&3>9|>DV@{ zHQGmUD1|Jyu2eJcMss^Wa!Pm1K7U;Fb^YzXEkF%!tfydq)(Whkk9U}0sG8US9cl`B z`Pt*G`${#T*AiJf#57ysb+v?@dP%#E{l&3Xwh-`G|b-4eP{Px|{rNot`sG zuxuXiF6;$ju3&$s?yaUhYoMi!y#7!MNv>phrhfsL_auW)yrfWQ4ciOHdpq?4Fu&$Q zGS;B&yNLu4&yW(~Un-Ir-TU;n1t-kL^)$Bi85_(grv?Mpe!V3JcNw|r?JpxuXidx< zg-t?-HDJ)17Z^GcFvs-tQ#W-lpQ?q|H!tX152XIl;@F7)#O)r7k^fkAfNbd{~ zf6L~D4SJ)yqI4GjiKR)8O;r_v`CK!tVDH4I5R%4s`NUK z+&_C7gM59=j;IJ|?uH0Wy|a~ev9y6SXV*_$VXu+0Wb{1)2ksMSIBAa&j zxD9mibLwgH-ic2DO0Sv45!m|qRUg8E_y#WmL49bL7C_P)I5vYIKg3Ui`!A^Tz}|&H zEw_Ye{RnWZo)t6VTv{C^K#mgQ$H3_6spI-w@ywG1awy?oLzHIl1w3qz0b0o+(eq=4 z+&^@F3y{cXYBXss(IUEn=Uw)~`O-e~8(?D4W!s8%s_ie5Roe?esYfxq{w-p=Vsw5)szWfv%=p#JaiI@-eD7>KD}&)ev%!!tJ|R$E zQ03?BP!}r);PauNL#)BvrxsA9;T;Fn(XBWAf6VU(NUZRTd-waS`H@gwm!zr#`Fwl% z*=Wm4!UHsB27|-1yQ{0IY4zy#p(*9}I7_>wJ&}E&U`KVw-}vjnBxA#|@?VZpy5oON z_xzqZs|tSqvesOj&mPIpkD&FDuLT_t+%qlZS~BYE>5<|t$h8*KVF4BL0F>9<`iDkg zb^Dbe-)EnHX}Vb{*f{!8RlQ!EMt3x*`g#OS%`SVP9`3bhX_0^0d}ZtwD=L$)%$! z-L1I3MPur>qLZQzz^cYwUq7J$5)|Z;GIInxFem`!(2IxW5J2RUb3>>>et7rSk07;+ z=k@pwlBhWuD=#wYL#$+YxJtq zv-^pb7UTc-+fbmPF_YHu_Yz+v8y`-oyqH>f$@y7_BLfXNb! zI1D`m4PwDEnQMjwSz`k;oLli}&fdDKk4u~N1;OJ%qJIN7^Lc)}$ZOa$sv+0Wv|Vh& z3DGlF^rG)onC0mkz0h|g$95_g3*vpsGuLESisR4g9WZ(!B|T{cX~-FpN)eu5$)wQ@ zAK;tp9|v+!Lh3gG+CLJ`O}C=Xk+wp63lp$=)G?XEK{!Be*w4i0iu3PV@F&()1wL-3 z$`6BPI6W>{fy{nJ_ZVADTfV&so4$-vAqX>~5CCCB#2NKZIn3@r4w#Oo(Z~s&?#(MfiQKUFpxl_ z#H#D5@VgrSo=1dM-?kowp_xnTt+~}0LmVf!fC{%zgxS~5v$(+p#osFl0!@I0InPGc zZ&j?{I?GQ-O8aL&vVRh0%5_rdoNC;5)ZRAM-cBt&|K&P%;R?ZmAj(}A%U!oK&wKf| z&LLZAiX^LJ2;k(lcyZ7{$bM$Us-gpPR z@&5Y8+v<&XV==%E3^5O~WaVF@w(pI;gr$*a z&nbP;EJ)K~7!y~#^5(B!`xN@UK}RO;E#=w8wJ@b5M_ z{GRhQU~=1*ZUgxOy6)QL5`0a?e##K-(N+5i7EwELaQYgElN@RF`|ZFbm%zSC%MJ$R z6>TZtYgt2Fbb3ik9ZsXKQc14jG1a7^h@TBz<_Lv?2~)Jxha?p@V! z)XZqw%;>CK4DI$Aj8qIqBFfB4?J>n2%I%TGzRK+h#p#-ITBtfnSlZ+he;9K#2XRvv zdiC$=tb$hxLb5%?9uN!U^62ech%Qt2oN%_R~hN=&r zWFY$g!QO+t8DSgF{Ed2Gr%WiQMm3Hmmf6H&qw6s-r&E+-^vhmR`+;${BU7L4Z9zQA z(1%82F_*~HX-$)yzgGWjF!-lDJT=D3%_l^(M|o}kHNH{)()cOEv#@S5R%qp`pc=E9 zd``rdieJU^dg9-FMr1K5sj0?5)v@{<3+wBg45yIOIy;Fs4R#!9O4kD&KD$4>%v`D} zxffd=^a|}VcufCqFqX;F&h1RwES357rtJSL#ByzlFP}dXTv`H_ z|4)u})DvDDvT{Vvu5S6bHrFlHT)vwK-!znc7dC6nR7DOxW40zE*+>tr!PR{6^-=)? zBAEV!Y*M(SZDz0932~nt#v=vy6X*hZAvgG;MR3es42f&Qdz14UR!jtI@w2GkS!Cn- zYXoJOu(yP41CRV~|CgdH9(0N%q?r>*rQap9#mm~X6T#ZW25WM^pZ`Ze)&ua=kHAky zFBRbroyhX$f9R7&R(p7QXNM(_tR@>oM;Dl{F++ll+!PKE9vN5Vv*F{<$qXyLRcC7) zW3&G}tuVkjuU}`As@pjCg_tPq?zr-8dse^8x%R*<}-qQ_tNrBeHQ;{7wJJ75hkRbgqTIW*)Ni znX&b6tnGx&@Z1o36!=PddUBB3dD9(LVa0MuEHc{BI#l+iQzP=raIGFC_TyLWF#7Q) zdxz!|PmK8?H{e$`FRa7uZ?>6ziochy3W<4;KZ{2Br^;!pP!{5hdgQM^ra5+iA)eLm z#d%jJ=|nZ5R8tW)w@t+cLf4G-qn~zlJ*OIC;)ObP?Hg9JRcR;3@@djUd&(>?j~GYU z$~NuYLu$0^t#JQJ(X?DoD;n|FJr^^%i+@@!zc0lC1iZw#50R@6y}Vd81n#P zf>ALOxPD`DW)xZziX0`r6UlvTW{g+f7p8M zS_K`tT{U>h@qi`R-lX%ydv;JVT^sB(zl;vKS!|<@{7}cz^&bd11IaBQNR=(7QfuZC z#eXlyzMZin*BEpd@qeEi!`K(*Y@|kn@2qeAh3tjGTbRQ{uPi&ZWRP9w~4?i%A@o5Wj8^LKl{;w?pu2tF^;mXVhPqi2`nSg@T|)CFs=Nw zOj~EKE{bJOG+9)6f}>j*_hj%Tlv(N381p8S8KhlY`;U_@|EO=c@E|%2fnr~CY8ifN zwq5}ITvj&vlQaHEG&m*42LU~3&=`=o8mCxwIF-U1r$wy%Etm3yvWoARhjU&AGJ|gG zRZjG2F1gIKPuV3K_(BoX^$nL>&Ob`lxi)|F%LQpFcKK~WzZTpqMeU8%f8?gw1x9*g zaV*gw!F|qkL##0G>GR2;B~_oen|Bku`U#=$RXgwAG#`*%a5eopb^Tx$*6Fj~(PMeV zn8>MKtJ{x0!M0J?zmdG5eUB@Lzk}Pkiq;98 z?jrR&Xbe<9B0|k@SV4HRiJ2AW&c2kT0e~01NdTR}G45!TD3nG(8w_@wjPH>wCG*(* ziF9m*+r5xY722W3tM8UdR#o4>8J>1RR>l8FjV<}}Cel*^uTiboN5o{^k?H}Iw)Pz| z|6Uf}#MI#YY@&MBo(ggfaBp6J8npAu891AsKH-4uS~uh<4aI%Wf!&eJiiLW%<_gR< ziB2x0=gIh#Or+V|^-0{o`1_fbQ_2q(UWWDGO(OU)PUIeqP5TGoEq^6?SWE8Ynm;v~ zeSw6<98b86Z5Lh0 zeKhV2)Ld$))ypP22LTpU7hJPG7nCNIQj;e&4kJ>efs^NPycS}!9AbGwM}8?sDFz<5 zzddewsL~Y<@PArQh@a52bOUebVZWm!}Ti@Tmy1J+sP+ZfQ ze9D|u=Mc+zpL55Xqb_U%X#}G4dd*~5Av)8Kw)|A{j!ryqpI?2a(joocZNUottnHn^ z2LKs(r14T28+A{qEf!q2y}6`_U0R}^`u>@s&f;PIgCi}K?NfjEzGF_?2T4Z{pkfZN z7wxYbKIi-gIhy4zAq=ltXxy-eyw)_8ocjFRi-I*==eo!l|wA-Na7MC zaCRp=`vWb@{a|1${c1c0G%Hg360hL+^Qvtuvs+}u4>((RrJX#9y>Hv3aKMy2=~mjX zR(K_uJV~H$5J!?z^gaiDzihJb3buFRec`VPKT!T++WBv^ZK3e0u{_&KZOCfcd#3n` zs`P4>DecCb(bv>3=IFcd-ee5@SSMNCc-@fNo+JncdpX7C-gu`7I7OUWE4|@h0IWag zPC7CkV^-hL2Yk6`sNA;u1Gbry1RP>nTnBli3=A);_bgxTs?rxz*x$_fhgty}$eLZ_ zwDQo;8*-IC!j*$T{mkCBM>~PVQ_b+MXoOtQMY40dnyT zq8GRcw%nBIgU{7x6!-3N9!?AXaz14KW7u&;abkIJCHQMLc0O};PXHjZ# zUzL-pYXMPjB7*odYwihnl#E z76TY+_M0b)zI6$!8(V2acBp;pdj8&jGws%n-n#V8)l&KP-QQmm1&z4pCPF|xv7Dp} zW0awLlYED>BB;>*QIXh+qOSMjAFS(x-;Z_+kfWlnjR|uS{sI`VPr^6TyS%q=R^%uK z+-y`Aj051HsZY$;ImtKca(~JWZNZXDUu?4_+IbsFkKB=Q1J|wFTl(4y8a}iSLcWJy zvwvLj@;vP5xn34s_X@koNscS{+_k1Ad2AqQer9Ud>w`PBL~)bx(dxRZbdBt}7-?a+ zR4q2%Qu5?AgWs7m#ju1?`ci{{wj?!Y3B)##$jNpr>Ez~$Y?XUd>3u{DmWetLEWbGR zRkeO`%qwB)=6aO_xR!)?H3rPu)6>7qqwbLk@ug7(`y-v^*F+kaa0`D~)TJ1yx&iTl zfiB~>{-o?rSZN5eG}sM;NA(bVko4^}kn|P!uz0WVR4?nWi*S%UA;@+)H}oJlo#Mh+ z2JzY4%BlekqAL%9HA(ColA(Gmwc3VVr`I7EI})kEt&@GC$Y$Mr2S!5_NAA^bd`e@Q zc3`f7hIom5$d*`9LW5|dso5+9O{iD8)cIZw( zM%V6}YfJ*4RVnHr9uEmW^3G<(eUyqp#C+}~KT=S-*mk$}l^Kp3tOhgpYxi-PhdFPF zNh~#r=t^Ng_Hw|8P=uNN%> zOA+0c6_J`73V|Om_7>lg<(b*EgL#(y*VQ2*u&@6eR2T>U9RR-xj3_+QOkNj$Zsdws zn|g@Pdz7a>7!W2ygygNzBDe$WLnQ`}jA8-!*9h!JE^yu4UWX&B+ngK-=6yh*HAvdm zNe(&!o$4g*D-P5%PK7y}!56map*KGa@?iv-RF{Y^Y=}q_8gAZIZD|nSa~?8+Z3l#m zQ2p|x9dioGJmpqGt(sy1%9B0Kp0*JI=llRl_GpM14m!@`!zS8zp>XR{v5ErM*zqJPBV2g ze!#S8X88zgI79$S5sLW$OEFSTvGk0|yr5>@yg+ogLMZ|x2A-DzkIIvBkv0vv+3u(U zsstkn5)Bjs#$jsu*{8NMmKFSXhpeUi%Z2=@N8_lEwQ9D}3byF0>3(Wn5#@f|=ZidT z_DLXt2rx5kKHzOdEJ$DdzHvfTI*bblD2{WaWo@ug)Wd29p}R zLxHBS08xGj?*LxGtOo;e?^$CJ0_U^j09-$`9Uwl;Z!nPJ{>xw>={?zw`YVLxaKBRY#`+i z(j73)%Xc9_HtV@h5T3dVOax=RI1&hf=JX476kzlPVon-*lZfCue+dJSI7iyN*a*Np z!#!V$&*=MeAsBsTZJV|>Wd#*0-5d0^rrL@s1+qF`*!rn2!Ezb9J)CYR&fS-RN{BnzrIRFMPHV$loxVUpTkYp4p5%_NrAeLh1O-8HyOL-3#hK;m?|Jrdx1yXJ zLzS4@{bLM5pO)R&1Zqmkiu5k0yeyj7yC1xsMSETj>)uy!&@2VZ;KW7DfLu@Wz|6hD zR?H8L(!CV%@3oO$>W>{@7o1Bv)PW;99AkNO1d4sE4Qo;E;@4Kg4&xPS-4|Vbxj$GE zXF4UfG+sWsX;fZ)t`e9`5O;EhFE2*|p#DIEKex%g>o0icur4VmK%40zx;yC}y-3BN)rcz_WlTkr zJ(JoS&J66(cL5FN&Y_Rzk89sBuHKXeI0IyrkaG;bpz1&ICaMjFFnSr2U(^rU(iBxL z*6I}TR@-Ua*qS@oC=1zi$+qL23QBc&HZ+V{{;WiTGwk(GuI7Cx zj*sUcoICv)>i+QXtZ(^bmkIB7ikUP2Oc$l_EB*N?xZoJOiR;oH2oGWN7ZKRQkL-Mg zlYBqZjUb5cU2Uw9mWRMqM(X6LnSvIV+B{(n$CqymS27_l^{n25Ub)j- z16HGT&98d-Z>_J2Nx)l9cPQd+UdN|yxPJFFuQdEs)#iJ9D$HG*X+n-}0b2V#8GX&t zphkD|2$`3^vuit?)Y|CahtwX&l|w9+2})P;CtK{Fg+0IaRJY>DTTQi}>mG#vjvCOa zK0@D~406&rK;5zb=p~?AbeG&#Drm@Nrve(OS%d>Ux-^VRX4UY#`i={HwArYdOerIs$rm8HOic!2z>3ZlHxHlVwVu?TX?{>_V-Im@+i@m?2tl_%5C0?+$#M-x zqdBdb3t#6_nM{{*C5SKi>DdHz|3b;0#aOQG(p|UiDQ;MM-*hM5Db|3F53B$~RTps) z{H~fof>}EO-cnB8ieDl4_hjxm0=daRcjP#-FV^r31%4U%%E#*>EjxAmbop-42?P?l+z?XEkPXz zCh(?M924EYjC-2>)68iJ7nkQOf(VGE`<#2~gm-MS-Adyi+4?-51wHI0BBFP`a~izyE^km>T3hM*cvt8>haysSMV zt|WembX1S7igsW5@yTOZ-j$*Nr*jfTV4j8gYS*JV|6ao?@Am2Ft*wOK>=_hG-q3CA zXIOH1n#5z{V;h`keHk8ig^v?T^6@Jc*=*PA+{96~%0a@vA1bJ%&q37lTuHu&Bl}sx z-|$`0d9+61*YTUsQ!=h3JTAS@ZG$MpT?g;XvyrAh))h6{xzJO_Y|A~{>v{S^tvyga z$==gwSg4f|O3J`u^xAuWIN>PLPid~ZMh#M{nXmS008>SDuZgifEleSP>TAr(a@yMj ze)MpDw56E68;QM5pieN|9rWgRksvbUdr^M{XYU2zxuFdFk}PWQ*n@8l+wb7I1ZVZ3 z`Y&#nNxA{(z5}faxDi%|O7tl1S3UK>5W9gzY=-S2JY^#dQVm;+f*Pz~8pMO=k=l_D z3B~<|Pn^ZO5x9@it3hdfA>RB`DAF!HUUI=3(V?nz*2Dn->_dB)DaO=lP)!JWO%Ifi zSVk?#l%o)M6a?gN!ap?3hXmge&w8!mznz7C%zgFvX%52&BcK-f-4EskoWl?KMnNyN z=&!E1^5vNBi7dh>*$beHIT$|NE2)I_VNuo89KH(h-U2CJ;t%5=$|Hti?uFTzPLjV^`e@2cO?SaBk__wFWc`!a68wEmTYz84f6WmESw6Ez;O zaOSteUh&f){Z%XOM8t>1+7`pw#DHnCn=1Hc{mY^D_}F>pD#$TK^`icc6_v2n4V2B? zb`TCQ?cNSJy-clqpvW6Kn^Uq7Pbi@dUvXFmf~(fEau&6MVd1gewg1|`4weJVy6YRH z*G?Eo9n9Dr^<>?6NyIaEEjc``Oh|7Ht~V;&CuqX!j))Dp0c^&S!0g>ZoI!+)+unCj zmegNX>jT<0vKW)@3n3Em@ZDZV+d=BYoM8q4Zaog#=vNDmM!zO$xN9)11nn{sdzXM@ zI8T?>?C-GR?5aL3Vjb=Bj&wLMUpl}y7?z24*@brLi?jQ32=H<{VipX$BOVT{_~(~r z@=r>(elL9g!tS97?Go^r7Fa1AQ1H z;XA;)=qXg67C7a{(&(&{XpF0(SHt0D+C_85v8neX`C(9uXTjaR;Q8t%+bE4)uZGfV z|BOFU`iuMCC@9o;gaP=Ifh3V?oB@ndPqpU_>qNq2BzmgitC?V)SkGhT z@wGBGZI#NBl6pSA)z0WjNy9YoFqduao;Phu37nL5S~Ob^$Q|f*@fMn5m4Q1Phd)#2e_F~b?3Eq!HPK8u+O4Ra`rTOohKos>(V z39ej8gAnbdZ`xaUM>xFju#IDS>(H;Wy_XBG*`T42XSW*l6q+!|PYG`pK;(n>rAAF} z|3iDW5orn-Yf+U0MD~6O!1D3}FK@rX&T8Ck3!lG1PD+GqG(nIIhDH3no5k0c^$e@{ zi`*#$eIM$3GuvF`)EIS4B~lX!#FR;w&{YPBE zMnmT|>de2;R{xrkSaPU;l)vz)^N;b{)Hl;Wxy#d33ArRUX)OZf)V?GiH7#|eV*_PT zZdTHg<@DlFs^)f+=Fu)8o8eN*zY|h+m6Xl%R86|MjT2HfS2<0B*)0#~yO&h;wi-1{ z48HioqjU!3Y3oDQdtp`CN$a*Yd!1FrNvTL3^|NOiPI|X1sn4E!`6i-{UNlYYL#MmN zCZbNvG$c~*rLErME@3okdyWQmK#&#m$98B>-{GzI8KOdZj-g-w|P2om@5KUhxa94@@`_XMBpZ0kax(vFODQ zA5;78Np*-h)=Jpxsjo_so*qZ7Hw+b=x&MfuV!NI*P=t6#LPPq1+7~CfFu7=G)Ha~> zev%D-741?s3pl){a(yHa^=Hn8YkvZxl_8R5TUPhLkV`7hhlEzYG81?M7dWcYNl_D0 zLl1`2BYNn;7xah`dT==XcfD_WXO=hS-}bgFZ>+!V9a-L3*4gU)Z13oI|0^$Pye(=V z%axL-%4A*K-_W76ZgebaTtUrxlg*_IO7lSSU|wIM3%3=dMu+?e=LneY?sVVQ8s&nd~#Pa)gg#jT2OLDbBmn>qxdlD65SqRiy3 ztl}otd8*4$`aUkV(URP6-XDxdLl*rlWAJabEHGX}3=~_3qF?S3ul=^cP#Hn-+ zC7z=zxcQ@jCHIt+f7UBgO-&;C7d4M?1WmJzv6l;L@NZN3tVBRb>OU^#!>=~)_-3<3 z8tgo~K()=Eo4uP^Og^)_)tYCwy+yjaddLHHGrWznPG{WWJT~+!yP6)$${{}<3@X&wg6Cw?4A}`i#RE4)HZXU>Au40L7rm&5y{$ zLU83xcyhV5>SwG1S3YX2Ykr(5rII+JEjwH7m|rLArH#&Mm@h~xDb~(V!X(FBPo(0P zxjYVI=N3x}<zD}h)VQqbw)xyCQ7~glT=Cj z%$pVvUILh$0R~+=DnYG|_!DoXA5+O^_bx`$J(ihKMm@ZbIo(A6u;}vdI=K8A(j6&D zJWgW%Q$MxDEXn*Ltw|U&NwTjYU-xNEdmO#`%S`h*fYZAasQRwuW5v=v*AY|wh0L&? z6bA@*jCj^YJyoJjGxze%!*8}W5e|@ZQo*~~0`yhu10nBQ(D+E+NN$!(B9-9Olzm;h zPA=>Eip}M;FbPfl!J_c+Rq=yvy&)6GF-5g`WI(qbb;2&mM7O>{g}O!A^P^%ZjBDAH zX)LaOj@9?~ZdP$2oA(5Ho6fN)L%Pn$Ex{Nci}HX;#P5_J#Xz}^q4Ek_$D#ML)wb2-dBu(dgAUu3E@qDwAJPF*j6RwB$ z58guKq$8Z-_#=d|`g_G36RA|&A$(+vP-N)Lw?e;Pg8#TA5yOK#*4OLw;v}!u(fR5Y zP>i7;mg$I{P-`%v6ID{i{=IiUaam(YFbdZV`X+KlGWb?GuBBKIAAtNTaWr<5n4*V* z`G(@L*Qc#fIoD8|A>l3PM33d zx4OphSuwK{M2~otOw%|F7~DPJa4Uk_Yc|6g)B;}KVDp~F`m*n&ZS+bl9%MQG2)4LH zdJpJdxuZ|s;V0|=L;^yXUs`w~8>rUb#KiSsBqNxU_4vG*l7XYU4w;<^BY}OpL$M5a zBd_+T_eK0Q9?bljr{2W&CrM((p%UgWVwwufP$(t-peJE0KNC5M{_e2xgLWPbyN8Pq z&qL0l?)BG%8yhrcGMulB#D{8&^4#JbVgi&t{@3Wc)jBS;A>S{y6gdMJzc$GZFK!L_ z!TvC>Dv9gxujQQiMB7W!&M&=c-B#Ahi3+}YRbHC+Q>Q;`=20ucQW5$0?kRr$mp?Qs zr1(kpQT}XG_>DlLG9AH0%(7lXzML#3!K4EH*O%2QYS;>Pr;<5Yebez7Js2yiM25A$ zkU2x+q)Ev*J~WCg4`jQ+S}$%`%|0@&nHCX*y=(0$SB|i#!nn~iu`4xxe{z8MiQPOL+mmwXH%eDmn>9`e2mW&D=~bwx#cx%3!M`@Y zv*W047A&M@s(=7Q2x%1&@UE!Z0iEtwcYWDF!Z+n}@YI&X!SpK5Q`y{M(=Wee( zT-@=A(g-hDW7f>)mCv&Ef9PJ4(w+A~DsezP3LRd9yvV^6Oj4yC5!rw>+2IJSrMzFV zlV33tWCX9*HElf0IFXb8S`E|LviO1PFB+9M7JjyEmM!+l(8qJHV7_j z;!zXQ z|9rVGFTNbc?qYg8`v8xStb`QyQL|P7>XneihDaL5QG)q~NP&l4_D9yxe}w>y7~a7W zd7TmTKL>1^G$j7k;wkf(M+CBuZ#4QlKQOq^PdvRI)P6g{C&M&R1)4fwb6t6lx&1o( zXWE<8Mw#l>s8^)Fg0T0@9p-u_Yv}B@pYMY>iguFX)QR=QVk^48oCh;pk` zaJNi1Mkwy$)7GO=>%Q!A0+RpRnn*@Jtq)4rHDtzjJ@ZIGXDy80-owz$I%PNaSt4!@1RVj=;Q>&)Reb85ttF;W) z;Vf7!(S@yMZ%a@o6UbjXYt}RO%hXeyX?~7LDq3!ohQ3vxLt1a3+P~oYMiV?>Y)=$k zD5UAp^fRg9V8;Q-UCYnt>W>~I>7c>ZM@$Hzk*-aELU~P*YBz7>G%y8)NX=t4dE1crY}NFCsC}Xb0tu(l5)T7tkM+| zP8Z`OmRy9S)dGX8ba@8|?myB#1>nTc6en!y>%RSOJ~-QDfA7m*10w0yj$NaksPI|0 z&X0DkK1W)r|AVcX;$OJ4#DAIfB^0N6ZRFZWwZFhOWayUsp9uOIfbkOkbK$;3>v?gq zROe%YAuugFixS%nP(Ok1v(-_ws+>H|UMv?v?`V4OMLu321t1Tj$KAiQC?KO@J|P~I z(vrFMmrnqxMG>4Zw6I0DnrRk?Azxg)UNbroGyC8Qb`{9lz*sJ4iAQa85U)}lOZn`U zOfRzfHYx%6LX$CSLfX?YzltvwZ;Hau&WE>%{i?t8hON%PFLi0o!18KRqV9pqaRu_R z&fpnLD>Rh#)p1g2_S%J<$=mX3Xz@eBgo_!4q!7@DQ(S0q_vZvYi&qk>&=~@~&O3Hs zpNQiK!r-16!ZN%HHWpAvP; zKB-G#Gp7m3cp7l+rGWJE=YPNj`QftI+YYkd(Boa#rO0!Nf+Nz7)tt0JiB%)V8?Wsi^FS}YwC?hX7UEcppo5r^#e*^ zr<=_%Qq2k+r`%(j~S*iF}~F|RT*7$mOG?gBH<)2U4N`wO0i5dVckm9 zlUP&?p6&UuzL;5mMtJZ3&xp3?Ly~c(a6&G3nO~L@2i)xIc&dNb^s$3M{N#y5_x|o& zkBzeM!IIAIg1F+riiFL?7*TqrXt%s-JKfOxU$YA{C*B%Z z^|_(S=wscL7z7MB0#oz#!tU%{KL&Nu(cOuTf`Ib3FdWD8ht;tCwF4KgpuC9)8YS`R1Qwk8s*iVlxq+NvFFo}cnI=WOUFCV| zc9vvSo!2NOfr$Tx)iyxN>Eg;@|A3zakSEmC@khD?#N!h?9Xd{OqwwVkE9NvAkKBIl z4r|cro@6GScbzawb`7-mKc{c9vibOj~ ztrFcyAT0^+x{R*5__y+Hwz_@|4g3-Obd<{1ik(d>{Px$j06TOwMfPVx=u{5x&R`q) zqc2W~g~d|QIbp&!nU6f_$o@yPu6VJdagZGT4J9u!WMoGaIM9tc{&Z_U6?%nJiPR+X z)skmkI(xIdAD4C0X=kGPP`Wr*?sWt(<$CAiEmj0R&x+M7h_E_c6@^Qt+_FS2_Krwx zSjlu|n2uaMTN@A#S7bNmN+0mI=n15`a!%?Zzxw2+rPR{GRG%zS7Z_*M3KK#O^thGP zwa+Apy_Cw{1$maN@~D_o47ZJ-q*M&PCSn{9sHTip@)^u~P=3Gw@=CeWP8FBLP=5H6 z?c#(55n+>YUy~?^@Dk0ufB!0Os4Vh(dtcHjTy5O&whf^V02=18s<;ZVo`@86_SY79kS$Dw{uB#riotGaEUg6)` z-k*CoGC=fkR8HsyznI0LRU4O#{;vmnuB}r*Un}`b%s3t*BFCU)F zSh-%Wd+Z_77*lu70}{@D6tg$*S3XseV@`C{g)TR5X~+CfYnC=D8?;o?@c|a@EE=+y#eZkTr0%_#H9`3;@kTa3$W9w~7JGO`|mC#$K9@fp~E~ zZGW^-+z(=^-Z>AJWn2FUg>eO!KTWj&yl%6F4GVcDUN znOEjr5J4aEX28Vx{PIww5zi%J=>k_)>4SqlCish_%k%u{*b* zpY&#^6|~7xpAh1yS4(Pld1&?)<*tAu%+5Bx_(-1dK8o*+z9Kh$nTaC)I(h9%-+^~% z@WZgXvyAb^l1z0bkdFZrYpdG;sg5ZmQ<8Y-(!rC1-fQ%#&`j>1&T|T>(k3luvgW7M z7<1QQvBqcM@CTahC4rN>(M1+@H)~{o^D&C=9X+i<0T_ z28CrTVjNo74+Uwp6t$|)lg>+O+bCbSiN29dT78b1F%%W#W1MrCfp)BDWIa)+((k6Z z_;v(fda1N(L_yluCBS=!c!d8O?frfiHz>;?s zm#yY*(czxdLY#xm8<*z|(HQOeWg|;3)AM)5-t+>&g_3tJ^_bFqiZ=U|)3Ak`ehE?k z*Oe?tH|u1j011W>Wzi;vG@P5Ll%Bp*^lw*N$0 z#~l}gcvx~}GBz6MfFGPFZ+YB8gYu5=Wb`9Px#NbdbkUBZ0mu$fct|8OK`R5M=NF|s*8gUSZ6}hD;D%Y@0V=3~NuI{2Knl%_??m_2 zT0T~Y>^>W>mT$6oBE|X)z8Zic3>JrTe`Pxn0^%jxN=L1vI){?;!aa#Ozu(msl%6mX zi8V9d3kh4vP!HhYNmLKpiPC-%o(U9~4(*-+b$v%eKFjdGIt&h8nbL-0wDr5gIsV3@ zDn@P%dxM5#xE`6k`8VaBmzauc{XMz6iniMQ6OzQ|-d^T3f^6fe^Bz1UN{;$p+_yw` z;ZwcVaHnliuG=c!mE;R{25e=gZady`hpS8(T9n;2<6ajx*ouS&B?Zq)&?cmcMpSKe z8H68tLRXtyWRgEyszp%WK$0o;1H(IzcjsgI8xyzGwY(xJD)qefzOk<@zO@q<&l^uU zR57)LZoyr%Ygn*if48=|5i}s*Sk}fX(yop~8)kZgK1pLD#o#{~)$B zVEKTwT;H9c)d%?g#zLq;uF(TVLeBeaIR_wIw`)7*7FLO&b`UImu1M?7J2>04SebP? zZjAb|YuJ?U_?;yOs>MjQs(v3UdnZk#rLB_zZBHLJdsrPktZC*elp!Ep3)a-_ zdIpAlcwDDB*4T6QXsGGuIf3L7c^S#QuFelUc0`vXG^Fo^JPS+I7C#*m(HI)yggRgC zg5&E`_ypgzl{yc(1!R_4nCrDHHw|?ao{u&1yRw+IDH*lt8%c972WhZ6;@d0h_`e?l z=`vAf;uZO*`LaCDyzk|+0m|-s`PCL34hU)S>NfG1SBaTE8*k6{eM(0=tcMUs{2ITh z&YT6ODvv5$QDa^=+pkDrnTLIH!V)r$Z+ zOTeac^+L;NR%`Vow|p&qg9**;QZ;2a_2SI;9%lzH8U*!=9#^@p5MZ$HD_tCQ5wN15 zkOaUbt$_tV&!4W1f)?7-mj~_3o9fFG?#oNJ@hd2?QC06NxQp-{Jit6ZBmV$?Dxe#u zIgKbC>ejnN>-p48zbTx4Q$8)Mx3?e+LP*1GR+|&>Zm>N_2Novrf zD+S1x`jSu=%WjQlg%a0Q7b~b%KOL*Eig9y2T#z1;wT0WMaMf?Uf6S@b_ zEhmDgx zi<9*mkf8zvF5}Gw64rc@3)DiaxbFFbbl-hV!{{#)l{IT?vpJTfY3lzTE4Moa`&a=O z@-$MkpO=+okm?VnIM-G|F;l-!M0{+XND3#L<*4`rx!TI0g}a+4zCNK+lES%WIUxTL z))0p@JmKHz44b_Vef$YqMBX0cs9%h55IJP5f7 z)OF{T|Ij4CUQ7)cXdArlC^Kj=CFU{LSmv)?_US9T%6zWD`#6s>J6mZ{DaKKGBsc5s zMHY{o@y3Gu5#)yY>EGy9L!Ec{myf%{fL<(gYiZ}KLSt(QcO0H~JN4RWMd=TTCjpJd zhu^JdjkEUN3Ru%CJZ>VXVH8eLocBgPjyvL)xp3P`K^Tti0 z1@=*5EUE=_fX_|Uin#W){GHR^i_`D_3#kXwfUFq@pCv`VcsceOU!kCh5HUFR1fJp= zZ|C=NKDl+hVB6emiaD{gJ&}wd=VX#CgP{BeSVLrJZeDqJhN0>Ae>1)B3FVDnGqPeV z9Z?VB30p-cL5m^kGFcq=sIwXXt}ca}UZS!QzDMXO1Y@3GVOlUmfBMvz@7Y_=F9htDcof05l(iAIE_=P zQwcjI3RuLX?icyQlhctJb)7Rs@`p0D7?1^VXlklqZi3r^b~58(Pj`JWAi$aneuy ziFAagDXd9})csy&Mne8MJf7t-AmjK|UYiBnaZpdTslf|Y{d@WB4kW)(fJ~<{ih4Z${0<^zW&6hu_8=#1|H)s3WVeaCc2=`u4!lI zD%I%t%?hR#rSd_K&(Awe8XChV6jyIwcM_1&m3J=QEE1f>?}fM~bV&tg@X%*pB5urAc|sI1K{>^4z|acc;TBi0EOW;(e3|+4RWEej_*D194OH zdNAq3dS&epxsN9N-B$NaG|jmhow;hGj_q9D>C#F_Ij`YzqYYw`j5n)N9A?}R+~>|X zTR99_{^5Wixt};5hOD+*_l!1GgT-MjVY#gr{yLUT8%#|#MqTSBhA$}9IA>-C#~9hI z{o-Ay3oF?88Nj>{qG;FI%KeZpMKfVcLJlDCfS~!=to2UCbJ({Ma)r<)nTGl z^Gd7Ix)&1gDl#v_JgSv|bS8m-sc`K!_RMuB?lv*(OxlW>fVPpy>T~R(QfJ@UJ}sfE zw?F@p5!ldBIzl0i;^W2QVqZgdWQ2EzU}Wbrue|r1g`%2)MCSFPZDhl)kT*J zzqbAe7o|r333i0_d>(y4I;U8)!Q7x;eX^UI@_MDPT$c>+d5?r^#tw)eY#>#h zN%5ivP#C}Z*>`+-1;&nfPjB(b2F_E?yK|TJ(_R#MW^mD#+@{G=(u`TLMKU){qsNZB)eO`~yrUx-b8Q|%_L zpQ!|;?%SJa%UDfm;A@(cPw;zz_oP*NoI|f|ynKy%%X4LfPTxzl& z^ejll??*09P?1f}aOdn9+TLtf`MOuJH;~zYt6^^)3SU;*RcIojOD9E^WE#PhuJe>s zabfzT3^VaU_OorK({|dmnq(X^{1%=|38lkL-@LLP3mejk)vtKH=M*Mz|E{7XY!>aH z%10SZgKNT^Tv|(7+Zu?c6RSxK^W}~lrD>JVE#ME^Ss0Wo4-R)7-t_Wyr zUvU~qWX#LvzpXHQizhVV<~iwi$d_G7$=Q&d`(RpwUaOxW1U6j03P8QYsH>V3$qnLm zfNNck%)D@<%tRV5yA4~?B8Sd@u!2(8+q%K8->?W*x_9lff2|2Jx zsbCyVnlSrsRaI6rRX^WaXjH>sdHXh^_5noP`O@6w(-Njt4!4&rNyNcTRpQE))5n8WVBQA z(Xi?$i}@xm0?{1K`(9vCF(3QvB%x7JA#)V#5(uu~88EB$2ts(IB$)rNd=_hq P#^OjquciM16aMpmU;!ZW From 5f5becef1284506f3bbe4cb78032aca0ea231b74 Mon Sep 17 00:00:00 2001 From: Chad Nelson Date: Fri, 28 Feb 2025 10:37:53 -0700 Subject: [PATCH 10/24] Updated formula with caveat --- Formula/msg-cli.rb | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Formula/msg-cli.rb b/Formula/msg-cli.rb index 58607ab..7601a78 100644 --- a/Formula/msg-cli.rb +++ b/Formula/msg-cli.rb @@ -53,6 +53,15 @@ class MsgCli < Formula system "guild", "compile", "-o", "#{prefix}/lib/guile/3.0/site-ccache/msg/machine.go", "#{prefix}/share/guile/site/3.0/msg/machine.scm" end + def caveats + <<~EOS + Add the following to your .bashrc or equivalent: + export GUILE_LOAD_PATH="#{HOMEBREW_PREFIX}/share/guile/site/3.0" + export GUILE_LOAD_COMPILED_PATH="#{HOMEBREW_PREFIX}/lib/guile/3.0/site-ccache" + export GUILE_SYSTEM_EXTENSIONS_PATH="#{HOMEBREW_PREFIX}/lib/guile/3.0/extensions" + EOS + end + test do # `test do` will create, run in and delete a temporary directory. # From 5ec1221f5a30ede9bf30ef41189b3c8078ce3a5a Mon Sep 17 00:00:00 2001 From: Chad Nelson Date: Fri, 28 Feb 2025 10:48:45 -0700 Subject: [PATCH 11/24] Updated test --- Formula/msg-cli.rb | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/Formula/msg-cli.rb b/Formula/msg-cli.rb index 7601a78..32c407b 100644 --- a/Formula/msg-cli.rb +++ b/Formula/msg-cli.rb @@ -63,15 +63,6 @@ class MsgCli < Formula end test do - # `test do` will create, run in and delete a temporary directory. - # - # This test will fail and we won't accept that! For Homebrew/homebrew-core - # this will need to be a test that verifies the functionality of the - # software. Run the test with `brew test msg-cli`. Options passed - # to `brew install` such as `--HEAD` also need to be provided to `brew test`. - # - # The installed folder is not in the path, so use the entire path to any - # executables being tested: `system bin/"program", "do", "something"`. - system "false" + system "/opt/homebrew/bin/msg" end end From f718d8946f3e3b9d944dacc8725d76fe207493d4 Mon Sep 17 00:00:00 2001 From: Chad Nelson Date: Fri, 28 Feb 2025 10:49:48 -0700 Subject: [PATCH 12/24] Updated README --- Formula/msg-cli.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Formula/msg-cli.rb b/Formula/msg-cli.rb index 32c407b..85c94da 100644 --- a/Formula/msg-cli.rb +++ b/Formula/msg-cli.rb @@ -59,6 +59,9 @@ class MsgCli < Formula export GUILE_LOAD_PATH="#{HOMEBREW_PREFIX}/share/guile/site/3.0" export GUILE_LOAD_COMPILED_PATH="#{HOMEBREW_PREFIX}/lib/guile/3.0/site-ccache" export GUILE_SYSTEM_EXTENSIONS_PATH="#{HOMEBREW_PREFIX}/lib/guile/3.0/extensions" + + Then run the following to initialize msg: + msg machine init EOS end From 9282d035aa1dd7f57e1d72649f63d3053473a01c Mon Sep 17 00:00:00 2001 From: Chad Nelson Date: Sat, 1 Mar 2025 08:12:04 -0700 Subject: [PATCH 13/24] Added updated guile-hall file --- Formula/guile-hall.rb | 45 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 Formula/guile-hall.rb diff --git a/Formula/guile-hall.rb b/Formula/guile-hall.rb new file mode 100644 index 0000000..0e8bba0 --- /dev/null +++ b/Formula/guile-hall.rb @@ -0,0 +1,45 @@ +class GuileHall < Formula + desc "Hall is a project manager for Guile modules and applications" + homepage "https://gitlab.com/a-sassmannshausen/guile-hall/" + url "https://gitlab.com/api/v4/projects/7016408/repository/archive?sha=cc0c9016220de42084f9b61f7353edeb62dbff82" + sha256 "997331e60cd009be93fd7d6d3dacaa4eec87499cd6345ee14602ae323318ae62" + + depends_on "autoconf" => :build + depends_on "automake" => :build + depends_on "pkg-config" => :build + depends_on "texinfo" => :build + depends_on "guile" + depends_on "guile-lib" + depends_on "guile-config" + + def install + ENV["GUILE_AUTO_COMPILE"] = "0" + + # We need this so we can find other modules. + ENV["GUILE_LOAD_PATH"] = HOMEBREW_PREFIX/"share/guile/site/3.0" + ENV["GUILE_LOAD_COMPILED_PATH"] = HOMEBREW_PREFIX/"lib/guile/3.0/site-ccache" + ENV["GUILE_SYSTEM_EXTENSIONS_PATH"] = HOMEBREW_PREFIX/"lib/guile/3.0/extensions" + + system "autoreconf", "-vif" + system "./configure", "--prefix=#{prefix}" + system "make", "install" + end + + def caveats + <<~EOS + Remember to add the following to your .bashrc or equivalent in order to use this module: + export GUILE_LOAD_PATH="#{HOMEBREW_PREFIX}/share/guile/site/3.0" + export GUILE_LOAD_COMPILED_PATH="#{HOMEBREW_PREFIX}/lib/guile/3.0/site-ccache" + export GUILE_SYSTEM_EXTENSIONS_PATH="#{HOMEBREW_PREFIX}/lib/guile/3.0/extensions" + EOS + end + + test do + ENV["GUILE_AUTO_COMPILE"] = "0" + ENV["GUILE_LOAD_PATH"] = HOMEBREW_PREFIX/"share/guile/site/3.0" + ENV["GUILE_LOAD_COMPILED_PATH"] = HOMEBREW_PREFIX/"lib/guile/3.0/site-ccache" + ENV["GUILE_SYSTEM_EXTENSIONS_PATH"] = HOMEBREW_PREFIX/"lib/guile/3.0/extensions" + + system "#{bin}/hall" + end +end From 2607129f4241542a783653c63a5331524fdd168f Mon Sep 17 00:00:00 2001 From: Chad Nelson Date: Sat, 1 Mar 2025 08:32:24 -0700 Subject: [PATCH 14/24] Added necessary packages for msg --- Formula/guile-config.rb | 48 +++++++++++++++++++++ Formula/guile-hall.rb | 4 +- Formula/guile-next.rb | 94 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 144 insertions(+), 2 deletions(-) create mode 100644 Formula/guile-config.rb create mode 100644 Formula/guile-next.rb diff --git a/Formula/guile-config.rb b/Formula/guile-config.rb new file mode 100644 index 0000000..3c5c6c8 --- /dev/null +++ b/Formula/guile-config.rb @@ -0,0 +1,48 @@ +class GuileConfig < Formula + desc "Module for handling application configuration in a declarative way" + homepage "https://gitlab.com/a-sassmannshausen/guile-config/" + url "https://gitlab.com/api/v4/projects/7016362/repository/archive?sha=8a4f6442ac42084b00713dde3181c3538d52edbf" + sha256 "6e5099475e23dcab4253f8c59b113c1cf0cb250fb9709582af7a5b2902999698" + version "main" + + depends_on "autoconf" => :build + depends_on "automake" => :build + depends_on "pkg-config" => :build + depends_on "texinfo" => :build + depends_on "guile-next" + + def install + ENV["GUILE_AUTO_COMPILE"] = "0" + # We need this so we can find other modules. + ENV["GUILE_LOAD_PATH"] = HOMEBREW_PREFIX/"share/guile/site/3.0" + ENV["GUILE_LOAD_COMPILED_PATH"] = HOMEBREW_PREFIX/"lib/guile/3.0/site-ccache" + ENV["GUILE_SYSTEM_EXTENSIONS_PATH"] = HOMEBREW_PREFIX/"lib/guile/3.0/extensions" + + system "autoreconf", "-vif" + system "./configure", "--prefix=#{prefix}" + system "make", "install" + end + + def caveats + <<~EOS + Remember to add the following to your .bashrc or equivalent in order to use this module: + export GUILE_LOAD_PATH="#{HOMEBREW_PREFIX}/share/guile/site/3.0" + export GUILE_LOAD_COMPILED_PATH="#{HOMEBREW_PREFIX}/lib/guile/3.0/site-ccache" + export GUILE_SYSTEM_EXTENSIONS_PATH="#{HOMEBREW_PREFIX}/lib/guile/3.0/extensions" + EOS + end + + test do + config = testpath/"config.scm" + config.write <<~EOS + (use-modules (config)) + EOS + + ENV["GUILE_AUTO_COMPILE"] = "0" + ENV["GUILE_LOAD_PATH"] = HOMEBREW_PREFIX/"share/guile/site/3.0" + ENV["GUILE_LOAD_COMPILED_PATH"] = HOMEBREW_PREFIX/"lib/guile/3.0/site-ccache" + ENV["GUILE_SYSTEM_EXTENSIONS_PATH"] = HOMEBREW_PREFIX/"lib/guile/3.0/extensions" + + system "guile", config + end +end diff --git a/Formula/guile-hall.rb b/Formula/guile-hall.rb index 0e8bba0..66e7a53 100644 --- a/Formula/guile-hall.rb +++ b/Formula/guile-hall.rb @@ -3,12 +3,12 @@ class GuileHall < Formula homepage "https://gitlab.com/a-sassmannshausen/guile-hall/" url "https://gitlab.com/api/v4/projects/7016408/repository/archive?sha=cc0c9016220de42084f9b61f7353edeb62dbff82" sha256 "997331e60cd009be93fd7d6d3dacaa4eec87499cd6345ee14602ae323318ae62" - + depends_on "autoconf" => :build depends_on "automake" => :build depends_on "pkg-config" => :build depends_on "texinfo" => :build - depends_on "guile" + depends_on "guile-next" depends_on "guile-lib" depends_on "guile-config" diff --git a/Formula/guile-next.rb b/Formula/guile-next.rb new file mode 100644 index 0000000..7d62228 --- /dev/null +++ b/Formula/guile-next.rb @@ -0,0 +1,94 @@ +class GuileNext < Formula + desc "GNU Ubiquitous Intelligent Language for Extensions" + homepage "https://www.gnu.org/software/guile/" + url "https://git.savannah.gnu.org/git/guile.git", revision: "bce91cebedda016b479972655c680acc6706e539" + version "3.0.10" + license "LGPL-3.0-or-later" + # Credit goes to aconchillo + + depends_on "autoconf" => :build + depends_on "automake" => :build + depends_on "gettext" => :build + depends_on "gnu-sed" => :build + depends_on "bdw-gc" + depends_on "gmp" + depends_on "libtool" + depends_on "libunistring" + depends_on "pkg-config" # guile-config is a wrapper around pkg-config. + depends_on "readline" + + uses_from_macos "flex" => :build + uses_from_macos "gperf" + uses_from_macos "libffi", since: :catalina + uses_from_macos "libxcrypt" + + on_system :linux, macos: :ventura_or_newer do + depends_on "texinfo" => :build + end + + def install + # Avoid superenv shim + inreplace "meta/guile-config.in", "@PKG_CONFIG@", Formula["pkg-config"].opt_bin/"pkg-config" + + system "./autogen.sh" + + system "./configure", *std_configure_args, + "--with-libreadline-prefix=#{Formula["readline"].opt_prefix}", + "--with-libgmp-prefix=#{Formula["gmp"].opt_prefix}", + "--disable-nls" + system "make", "install" + + # A really messed up workaround required on macOS --mkhl + Pathname.glob("#{lib}/*.dylib") do |dylib| + lib.install_symlink dylib.basename => "#{dylib.basename(".dylib")}.so" + end + + # This is either a solid argument for guile including options for + # --with-xyz-prefix= for libffi and bdw-gc or a solid argument for + # Homebrew automatically removing Cellar paths from .pc files in favour + # of opt_prefix usage everywhere. + inreplace lib/"pkgconfig/guile-3.0.pc" do |s| + s.gsub! Formula["bdw-gc"].prefix.realpath, Formula["bdw-gc"].opt_prefix + s.gsub! Formula["libffi"].prefix.realpath, Formula["libffi"].opt_prefix if !OS.mac? || MacOS.version < :catalina + end + + (share/"gdb/auto-load").install Dir["#{lib}/*-gdb.scm"] + end + + def post_install + # Create directories so installed modules can create links inside. + (HOMEBREW_PREFIX/"lib/guile/3.0/site-ccache").mkpath + (HOMEBREW_PREFIX/"lib/guile/3.0/extensions").mkpath + (HOMEBREW_PREFIX/"share/guile/site/3.0").mkpath + end + + def caveats + <<~EOS + To use `guile-next` you need to unlink `guile` and then link `guile-next`: + brew unlink guile + brew link guile-next + + Guile libraries can now be installed here: + Source files: #{HOMEBREW_PREFIX}/share/guile/site/3.0 + Compiled files: #{HOMEBREW_PREFIX}/lib/guile/3.0/site-ccache + Extensions: #{HOMEBREW_PREFIX}/lib/guile/3.0/extensions + + Add the following to your .bashrc or equivalent: + export GUILE_LOAD_PATH="#{HOMEBREW_PREFIX}/share/guile/site/3.0" + export GUILE_LOAD_COMPILED_PATH="#{HOMEBREW_PREFIX}/lib/guile/3.0/site-ccache" + export GUILE_SYSTEM_EXTENSIONS_PATH="#{HOMEBREW_PREFIX}/lib/guile/3.0/extensions" + EOS + end + + test do + hello = testpath/"hello.scm" + hello.write <<~EOS + (display "Hello World") + (newline) + EOS + + ENV["GUILE_AUTO_COMPILE"] = "0" + + system bin/"guile", hello + end +end From 425bc344fc050fb6cb49c7595c9869159a40bf6d Mon Sep 17 00:00:00 2001 From: Chad Nelson Date: Sat, 1 Mar 2025 08:34:28 -0700 Subject: [PATCH 15/24] Updated dependenceies with fully qualified name --- Formula/guile-config.rb | 2 +- Formula/guile-hall.rb | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Formula/guile-config.rb b/Formula/guile-config.rb index 3c5c6c8..3f321b8 100644 --- a/Formula/guile-config.rb +++ b/Formula/guile-config.rb @@ -9,7 +9,7 @@ class GuileConfig < Formula depends_on "automake" => :build depends_on "pkg-config" => :build depends_on "texinfo" => :build - depends_on "guile-next" + depends_on "msg/apps/guile-next" def install ENV["GUILE_AUTO_COMPILE"] = "0" diff --git a/Formula/guile-hall.rb b/Formula/guile-hall.rb index 66e7a53..d6dea76 100644 --- a/Formula/guile-hall.rb +++ b/Formula/guile-hall.rb @@ -8,9 +8,9 @@ class GuileHall < Formula depends_on "automake" => :build depends_on "pkg-config" => :build depends_on "texinfo" => :build - depends_on "guile-next" + depends_on "msg/apps/guile-next" depends_on "guile-lib" - depends_on "guile-config" + depends_on "msg/apps/guile-config" def install ENV["GUILE_AUTO_COMPILE"] = "0" From 0b770fcee50412c061ed96f16865fe4df3b3ec65 Mon Sep 17 00:00:00 2001 From: Chad Nelson Date: Tue, 4 Mar 2025 13:19:45 -0700 Subject: [PATCH 16/24] Updated reference to msg guile-next --- Formula/msg-cli.rb | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Formula/msg-cli.rb b/Formula/msg-cli.rb index 85c94da..755b256 100644 --- a/Formula/msg-cli.rb +++ b/Formula/msg-cli.rb @@ -4,14 +4,14 @@ class MsgCli < Formula desc "MacOS Subsystem for Guix - Creates a virtual machine for running a local guix environment on your mac" homepage "https://superkamiguru.org/projects/msg.html" - url "https://forge.superkamiguru.org/MSG/msg-cli/archive/v0.1.0.tar.gz" - sha256 "5fdc36313d8903f705a6ba012dbd09326c103709f722135f0f72b1191ca8940a" + url "https://forge.superkamiguru.org/MSG/msg-cli/archive/v0.1.1.tar.gz" + sha256 "5c543e46e3ac9c0c387fc70dbe660f6ea4318ecf187ae8ff573b8da5bfd0ff11" license "AGPL-3.0-or-later" - bottle do - root_url "https://forge.superkamiguru.org/MSG/homebrew-apps/releases/download/msg-cli_v0.1.0" - sha256 arm64_sequoia: "e143f7bc4a551676c538125c527fbf5dec6acb17bf46ca704686ed18fff83114" - end + # bottle do + # root_url "https://forge.superkamiguru.org/MSG/homebrew-apps/releases/download/msg-cli_v0.1.0" + # sha256 arm64_sequoia: "e143f7bc4a551676c538125c527fbf5dec6acb17bf46ca704686ed18fff83114" + # end # depends_on "cmake" => :build depends_on "wget" @@ -19,7 +19,7 @@ class MsgCli < Formula depends_on "autoconf" => :build depends_on "automake" => :build depends_on "libtool" => :build - depends_on "guile-next" + depends_on "msg/apps/guile-next" depends_on "texinfo" # Additional dependency # resource "" do From 1fc98f8aee4cf61215bdd05343f8ce8d64bf91fe Mon Sep 17 00:00:00 2001 From: Chad Nelson Date: Tue, 4 Mar 2025 13:54:12 -0700 Subject: [PATCH 17/24] Updated formula for guile-next --- Formula/guile-next.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Formula/guile-next.rb b/Formula/guile-next.rb index 7d62228..4cff909 100644 --- a/Formula/guile-next.rb +++ b/Formula/guile-next.rb @@ -64,6 +64,8 @@ class GuileNext < Formula def caveats <<~EOS + **** Credit goes to aconchillo **** + To use `guile-next` you need to unlink `guile` and then link `guile-next`: brew unlink guile brew link guile-next From d32989fa1c613b995db24925c050a6d50b7b0c95 Mon Sep 17 00:00:00 2001 From: Chad Nelson Date: Tue, 4 Mar 2025 15:05:30 -0700 Subject: [PATCH 18/24] Added bottle --- Formula/guile-next.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Formula/guile-next.rb b/Formula/guile-next.rb index 4cff909..4521a63 100644 --- a/Formula/guile-next.rb +++ b/Formula/guile-next.rb @@ -26,6 +26,10 @@ class GuileNext < Formula depends_on "texinfo" => :build end + bottle do + sha256 arm64_sequoia: "c903805af62c14273d16246aac455a6e24abe5c2c35e9fd8933aa5ca263f7d59" + end + def install # Avoid superenv shim inreplace "meta/guile-config.in", "@PKG_CONFIG@", Formula["pkg-config"].opt_bin/"pkg-config" From 5f29c3a9e1d1328d2c3bca12c4d48e85761f0617 Mon Sep 17 00:00:00 2001 From: Chad Nelson Date: Tue, 4 Mar 2025 15:09:24 -0700 Subject: [PATCH 19/24] UPdated root url --- Formula/guile-next.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/Formula/guile-next.rb b/Formula/guile-next.rb index 4521a63..0924285 100644 --- a/Formula/guile-next.rb +++ b/Formula/guile-next.rb @@ -27,6 +27,7 @@ class GuileNext < Formula end bottle do + root_url "https://forge.superkamiguru.org/MSG/homebrew-apps/releases/download/guile-next_v3.0.10" sha256 arm64_sequoia: "c903805af62c14273d16246aac455a6e24abe5c2c35e9fd8933aa5ca263f7d59" end From 7570dc366ecf4a7ec4641916bbd65047728f7f05 Mon Sep 17 00:00:00 2001 From: Chad Nelson Date: Tue, 4 Mar 2025 15:30:42 -0700 Subject: [PATCH 20/24] Update msg-cli bottle --- Formula/msg-cli.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Formula/msg-cli.rb b/Formula/msg-cli.rb index 755b256..2530e62 100644 --- a/Formula/msg-cli.rb +++ b/Formula/msg-cli.rb @@ -8,10 +8,10 @@ class MsgCli < Formula sha256 "5c543e46e3ac9c0c387fc70dbe660f6ea4318ecf187ae8ff573b8da5bfd0ff11" license "AGPL-3.0-or-later" - # bottle do - # root_url "https://forge.superkamiguru.org/MSG/homebrew-apps/releases/download/msg-cli_v0.1.0" - # sha256 arm64_sequoia: "e143f7bc4a551676c538125c527fbf5dec6acb17bf46ca704686ed18fff83114" - # end + bottle do + root_url "https://forge.superkamiguru.org/MSG/homebrew-apps/releases/download/msg-cli_v0.1.1" + sha256 arm64_sequoia: "11a205b49daf8660ffa3dc8a01271f9d3b0708692140fa586cd5ad306c6f7e0c" + end # depends_on "cmake" => :build depends_on "wget" From 447c4361ee3dbca0fa91f1870146679f60ac3a94 Mon Sep 17 00:00:00 2001 From: Chad Nelson Date: Sun, 9 Mar 2025 08:12:15 -0600 Subject: [PATCH 21/24] added msg-desktop cask --- Formula/msg-desktop.rb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 Formula/msg-desktop.rb diff --git a/Formula/msg-desktop.rb b/Formula/msg-desktop.rb new file mode 100644 index 0000000..f8fd53c --- /dev/null +++ b/Formula/msg-desktop.rb @@ -0,0 +1,14 @@ +cask "msg-desktop" do + arch arm: "aarch64" + version "0.1.0" + sha256 arm: "2888260f69bb00a7fe14b07e5a311cb69eb31cb40f4e6f3e414c75c6d07d08a7" + + url "https://forge.superkamiguru.org/MSG/msg-desktop/releases/download/msg-desktop_v0.1.0/MSG%20Desktop.dmg.zip" + name "MSG Desktop" + desc "MSG Frontend app" + homepage "https://forge.superkamiguru.org/MSG/msg-desktop" + + depends_on formula: "msg-cli" + + app "MSG Desktop.app" +end From 5351f2d8fb9299e21ed0efb9c988f9d997d091da Mon Sep 17 00:00:00 2001 From: Chad Nelson Date: Sun, 9 Mar 2025 08:14:01 -0600 Subject: [PATCH 22/24] moved cask file --- {Formula => Casks}/msg-desktop.rb | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {Formula => Casks}/msg-desktop.rb (100%) diff --git a/Formula/msg-desktop.rb b/Casks/msg-desktop.rb similarity index 100% rename from Formula/msg-desktop.rb rename to Casks/msg-desktop.rb From b61ab31caa6b9ffab1a17235374f36bdcea6474e Mon Sep 17 00:00:00 2001 From: Chad Nelson Date: Sun, 16 Mar 2025 11:02:24 -0600 Subject: [PATCH 23/24] Updated bottle for guile-config --- Formula/guile-config.rb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Formula/guile-config.rb b/Formula/guile-config.rb index 3f321b8..c4cd339 100644 --- a/Formula/guile-config.rb +++ b/Formula/guile-config.rb @@ -11,6 +11,11 @@ class GuileConfig < Formula depends_on "texinfo" => :build depends_on "msg/apps/guile-next" + bottle do + root_url "https://forge.superkamiguru.org/MSG/homebrew-apps/releases/download/guile-hall_main" + sha256 arm64_sequoia: "8c54a47417b8b0f6553928c0363564fa2b38d8bf90bdf60c5b98c1059dc2995e" + end + def install ENV["GUILE_AUTO_COMPILE"] = "0" # We need this so we can find other modules. From cd594c2f349cecb3dd9cef87dccd9607ff58cd67 Mon Sep 17 00:00:00 2001 From: Chad Nelson Date: Sun, 16 Mar 2025 11:08:03 -0600 Subject: [PATCH 24/24] Updated with bottles --- Formula/guile-config.rb | 2 +- Formula/guile-hall.rb | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Formula/guile-config.rb b/Formula/guile-config.rb index c4cd339..c447500 100644 --- a/Formula/guile-config.rb +++ b/Formula/guile-config.rb @@ -12,7 +12,7 @@ class GuileConfig < Formula depends_on "msg/apps/guile-next" bottle do - root_url "https://forge.superkamiguru.org/MSG/homebrew-apps/releases/download/guile-hall_main" + root_url "https://forge.superkamiguru.org/MSG/homebrew-apps/releases/download/guile-config_main" sha256 arm64_sequoia: "8c54a47417b8b0f6553928c0363564fa2b38d8bf90bdf60c5b98c1059dc2995e" end diff --git a/Formula/guile-hall.rb b/Formula/guile-hall.rb index d6dea76..39e8a48 100644 --- a/Formula/guile-hall.rb +++ b/Formula/guile-hall.rb @@ -12,6 +12,11 @@ class GuileHall < Formula depends_on "guile-lib" depends_on "msg/apps/guile-config" + bottle do + root_url "https://forge.superkamiguru.org/MSG/homebrew-apps/releases/download/guile-hall_main" + sha256 arm64_sequoia: "59a2f2434d8c3563abaaf3d88bfc9f17753e4fe095dcfddc4247081a1fd828d6" + end + def install ENV["GUILE_AUTO_COMPILE"] = "0"