From e6090574a2eb4c01f8a0e075b220a6928bd6e749 Mon Sep 17 00:00:00 2001 From: Emerald Date: Thu, 12 Jan 2023 10:36:25 -0500 Subject: [PATCH 01/13] add `file` input --- action.yml | 3 +++ entrypoint.sh | 18 ++++++++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/action.yml b/action.yml index ebe4a0c..8f5d95c 100644 --- a/action.yml +++ b/action.yml @@ -42,6 +42,8 @@ inputs: description: 'List of dependencies by name & version' nsfw: description: 'Is the mod NSFW' + file: + description: 'Prebuilt .zip file to use, relative to the repo root' outputs: url: description: 'URL of uploaded mod' @@ -64,3 +66,4 @@ runs: TS_CATEGORIES: ${{ inputs.categories }} TS_DEPS: ${{ inputs.deps }} TS_NSFW: ${{ inputs.nsfw }} + TS_FILE: ${{ inputes.file }} diff --git a/entrypoint.sh b/entrypoint.sh index 9d33e7d..d862fd8 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -68,10 +68,20 @@ function publish() { else repo="https://thunderstore.io" fi - echo "::group::Build and publish" - tcli build - echo "Publish to $repo" - out=$(tcli publish --repository ${repo} --file build/*.zip) #capture the output to get the URL + + # skip the build if there is a prebuilt package provided + if [ -n "$TS_FILE" ]; then + echo "::group::Build and publish" + tcli build + echo "Publish to $repo" + file="build/*.zip" + else + echo "::group::Publish package" + echo "Publish to $repo" + file="$TS_FILE" + fi + + out=$(tcli publish --repository ${repo} --file ${file}) #capture the output to get the URL # A bad response from the server doesn't exit with a non-zero status code if [[ $? -ne 0 ]]; then echo "::error::$(echo ${out} | grep -Eo ERROR:.*)" From 0a682bbcb1a1fe6dc578f2d2aed15611f8696d8b Mon Sep 17 00:00:00 2001 From: Emerald Date: Thu, 12 Jan 2023 10:39:04 -0500 Subject: [PATCH 02/13] update README --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 580b3fd..c24bded 100644 --- a/README.md +++ b/README.md @@ -48,9 +48,10 @@ Check the wiki [here](https://github.com/GreenTF/upload-thunderstore-package/wik | `name` | Name of the package. | `true` | | `description` | Description of the package that will appear on Thunderstore. | `true` | | `version` | Package version in SemVer format. | `true` | +| `file` | Path to a prebuilt zip file. Will skip the build step if provided. | `false` | | `path` | Path of the files to package. Useful when using build artifacts from other steps. Defaults to using the contents of the repo. | `false` | | `icon` | URL to download the icon from. Will try to find `icon.png` in the root of the repo if not provided. | `false` | -| `readme` | URL to download the readme from. Will try to fine `README.md` in the root of the repo if not provided. | `false` | +| `readme` | URL to download the readme from. Will try to find `README.md` in the root of the repo if not provided. | `false` | | `dev` | Publish to https://thunderstore.dev if set, https://thunderstore.io if not set. | `false` | | `wrap` | Directory to wrap the contents of the repo in. By default the contents of the root of the repo will be in the root of the package. | `false` | | `categories` | A list, separated by spaces of categories to give to the mod when published. These must be available in the community you're publishing to. | `false` | From 30591e1273e8f382c7f69d88333ad67a1c6c5191 Mon Sep 17 00:00:00 2001 From: Emerald Date: Thu, 12 Jan 2023 10:41:21 -0500 Subject: [PATCH 03/13] typo lmao --- action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/action.yml b/action.yml index 8f5d95c..f723f39 100644 --- a/action.yml +++ b/action.yml @@ -66,4 +66,4 @@ runs: TS_CATEGORIES: ${{ inputs.categories }} TS_DEPS: ${{ inputs.deps }} TS_NSFW: ${{ inputs.nsfw }} - TS_FILE: ${{ inputes.file }} + TS_FILE: ${{ inputs.file }} From b3b7bf3266142a7ddc75f407cb01e31ce0cc627c Mon Sep 17 00:00:00 2001 From: Emerald Date: Thu, 12 Jan 2023 10:49:46 -0500 Subject: [PATCH 04/13] fix check for file input --- entrypoint.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/entrypoint.sh b/entrypoint.sh index d862fd8..2f4771d 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -71,14 +71,14 @@ function publish() { # skip the build if there is a prebuilt package provided if [ -n "$TS_FILE" ]; then + echo "::group::Publish package" + echo "Publish to $repo" + file="$TS_FILE" + else echo "::group::Build and publish" tcli build echo "Publish to $repo" file="build/*.zip" - else - echo "::group::Publish package" - echo "Publish to $repo" - file="$TS_FILE" fi out=$(tcli publish --repository ${repo} --file ${file}) #capture the output to get the URL From 1d24479370a5367590ccfb9d75ab1ce06514862b Mon Sep 17 00:00:00 2001 From: Emerald Date: Thu, 12 Jan 2023 10:55:09 -0500 Subject: [PATCH 05/13] update to environment files --- entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entrypoint.sh b/entrypoint.sh index 2f4771d..7fc62d0 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -87,7 +87,7 @@ function publish() { echo "::error::$(echo ${out} | grep -Eo ERROR:.*)" exit 1 fi - echo "::set-output name=url::$(echo ${out} | grep -Eo "https.*")" + echo "name=url::$(echo ${out} | grep -Eo "https.*")" >> $GITHUB_OUTPUT echo "Done!" echo "::endgroup::" } From 2190762d72d5564be6a03e0bdb07b89e442af9c0 Mon Sep 17 00:00:00 2001 From: Emerald Date: Thu, 12 Jan 2023 10:56:09 -0500 Subject: [PATCH 06/13] update to environment files --- entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entrypoint.sh b/entrypoint.sh index 7fc62d0..c3a5441 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -87,7 +87,7 @@ function publish() { echo "::error::$(echo ${out} | grep -Eo ERROR:.*)" exit 1 fi - echo "name=url::$(echo ${out} | grep -Eo "https.*")" >> $GITHUB_OUTPUT + echo "url=$(echo ${out} | grep -Eo "https.*")" >> $GITHUB_OUTPUT echo "Done!" echo "::endgroup::" } From 550d39bde5a35f6ad4b5620d8189c8389f92c52e Mon Sep 17 00:00:00 2001 From: Emerald Date: Thu, 12 Jan 2023 10:59:54 -0500 Subject: [PATCH 07/13] test file input --- .github/workflows/test.yml | 14 ++++++++++++++ test_zip.zip | Bin 0 -> 36105 bytes 2 files changed, 14 insertions(+) create mode 100644 test_zip.zip diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index bf753c4..d518d1b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -32,6 +32,20 @@ jobs: website: "https://greenboi.me" categories: "mods maps tools items" - run: echo ${{ steps.pub.outputs.url }} + - id: pub_prebuilt + uses: ./ + with: + namespace: GreenTF + description: Test + dev: true + token: ${{ secrets.TS_KEY }} + name: test + version: 0.${{ github.run_number }}.1 + community: test # needs to be test for thunderstore.dev + file: test_zip.zip + + + # publish: diff --git a/test_zip.zip b/test_zip.zip new file mode 100644 index 0000000000000000000000000000000000000000..f928b2bd7a441644e848fcb2d80ced37bda2ed36 GIT binary patch literal 36105 zcmV(qK<~d$O9KQH000080HJ;?R{cYO9ZE?60GCSu00;m80BK`yZZ2?cXUw`~Ta;1T zHav7mmvl%9f^;_s(%lWxCC$)XQX;K%gLF57fV6ZD-7)k4Lp+1mb>GjkZSNm=KMb?+ zfpwl7$A0Xw){0hDmc>LTMF#)?m>=b&)d2uFz{>{}9`-ejBgO&yLbR4pk^lf|)lOD#Xl$@}^EfOmEvgPm(j)?hctqHj(k z8-PxQij5s96`neSaUBK7KdlokJ6Zb(K=uxTD+avRJ1FatIPDduW9K6Vwhf^@#DZSI z$vt#^+CNY!34Ks z*VmOZnIAqlPb@iQXuJM^jrmWRqA@QZ*7}K+JKCMBfzJWezCP_wsTIqA!Eg${q z32i6(?Fv`a93=9j`a%5=U^*IOSAT?UFd6_5Y=WouddAM$r2){%_}h1%|Ms!j^ob@$ zRd@Un$Hm1J*Fv6})RNnM6e#$B>3=Tr=G?P8E%J0Y`V)FGqWkAnUFMI>lA&gw>==ZH8Mq_|@8d9IAq{eigX+JeNg3zdu&d|8Aeebe#j> z8Ag>`&4u6I6AjA8fy47rUAbO^?uKF`ZDtV{3)b>Oa*!UORW8xDN#k))@;$uQiq>d% zB(e6J_Gptq06I9rAq2u)IQL+h_XyfOMEvl4HSo8=rZ`x0@I+B4e}b?%CD;~Tp^M`# zAl-z>t0Ejqys?2}6i4C5WD6Qu7i>X04MH(R{1UonirfKriGyfH!zmrSO`|1;!5K74 zjckeCDj}*$O@JjM^%(~nPqKBAs1)^W_}e`FQrvqYK_sJ~DoKP%5gUTckbrPdAF5(V zSq*0;CRyLB1+<%p&0fkk@St4*XsII!p&hFMSe0zT7W+eIOaGOIHvX_hZ4#5mu-%^ zoVK8nW2Z&34DxJ@Zz6xjZ}I6MFvf5Wh4j^*FW%z$iF9EEB8bK3Fv{V(qk4v!O2V6Q z<%LX2wn%%+dCSn@%|_4l18CD)qID&Nl{+NK>AT+iNxb^VRw(y1u_4(#%styZ;VMRv z!9JPd53VJg4`XYRU(!SRgLVk58QlhbZ|VY*8vS234yJQSJoYmB1G-jiPT4xci^6Tp zKeo&r-JwCb!aWo=NEvUX(@ z@>3?2CnIdYX-w>&^?&KrS$rJ%+Dq@|8si%8O5Q5js@*E&3f?)maJq=TXx|aqree+| zxFUon;3UL)Yp9;CUHEqCZ5;syp$Zd7CnV)61wLhtnL_(eBU4LT?M78u3smi==A$28 zyjl7+SH0L(`;&Z1zFqaO);kT6lKU@g3SRk)e_8fLu1I+3c~p4v^ndDiFLkuV1EYZ1 zz>51fm?6kgZ?p>(3k)niXlPCAaOu?RU3L)}$L0}MH>yboz1XDDs6;id_vH1XA+XU6T|u?v{U!fO9al?cw1!eP2V+IRj*N zwq2bvllq#MY!+cwzfp=iHZ;gIQQEg3UR(S*?A&R~cuR$Wh~Xo{H3PQdCqcSAicmwqkgemKK2p*S1Gqys5nKS@^u&3#3a7OT3H9Z1Z~KddA&;qspuCwmSBF z<|@qzO=6Z}o4LC^?xk+to245=o(?YGU8daRT?BWpel7NAfLC^f_sqBIKsy~Qn}-|v z`%7SkEuu~BgPR4TRgv+|MgM`mUlu%%7`VK8phI*Qrzq&$uVK-}BY* zMd1+;&JbKNEC{sF-AY6`MZGT+(&XgkY~XNb8|A6wcCbu2FTbv+iew3M>l1oYgPVto ziCbT>stq<0p|r)-!x3osV68NlSz%8&$M91GpPuCR7eSJ^c&u2bn5UjAi#ZN!iw^U0 z3oBi=O8?3|2U$-N-x!NQ<{icUrQfLo$^(nPPolG8yrS3>a(3HXSX$Zfh4Jn1cJUtZ z66o0I!s#0sw!Ri5tDIYUM|Wfsq83%jM@BASL*%i=k6PobXZc z8qFizAiRL&hD3|RnM;aG#p$d}Ec6&O0x+(|uscbt73W zCI?v?pPj?#8h_Uxi|M~(VPnx*fkRw>SjK!i=^Yewx?G=%A8LP68f0P6q2D6)Eju*N zI>74AW;(RRMtO);6D+Ex9;61BdD0>fDWk4waV_N zb~#8*#4E_(^elI)HQTk9=nxAo2i-4ucw z{`pY4Ez1!v{WYy-wI%fByqn{jjQHF5r17)yU=0>!53fbfMt|q4$E0byl8W)6Y-Rxk z{;WXH4a4!)#mln2683(h*GKV(0WP0se=m!`i9Dutup6}=2i%!gYk*r>Jav>!8e4&f zq+9xf9wSF5{zU$cV!98LbIyxv0ey!b_LPpYj1Wdp#<2un8Mo{Jk1iamm*>Hi9bE4T zINiPYUA?#2pr_lNg}&@y>y@0qngg19vyC@pvO5VWl=F|J5R0RzouLf1`M+I^5-OBm zY6r5PzdcPyoZhe)j|*VgSittNT4R#rx>R?9zc+aD5!?=6p@ zqJKExdk9k<`Vv#4su z2{Gk54>N}dOckkPf^$U%Dp48*{5g9opHh0rn|HfOyNMhKm?3+ej7AfnvFQ z)aej}2r87)mH%B@U27J$biPlwVl*i}A^y-vrcashjN5T+Ma~0W_(zve6!DHG-s=^N zvXbnGFQS#ANXRcRy~;#Ih4kK$#yBs|N5$ z=|F|R#sf@M(2<9Y5JkY31(x}r1b!@oGjxfNJq(#LrMT=LTYAiPC(x$I&Bq>0GC-Mi zPS*KEpcqF<23ExwR0$p!nAbYrh{Ri+AGb}QU9Tl(#xlP-NJOXmYo;*8X;ZTNJgl2Z zOW=$&*XP-0zOm|!uWB|opE;m^>sstSu8l7cM}ckuwOq=<_>F+{*i}FhJ%6W3WT}tf zjXoT7Gx8?9ptROv-Wo}FR``~t!Q9986PMZy&NNiX2EhTuZnOGm%$6l#HnkE2rwZ9M zXjBnJA~`A?HoL~cZA4Rk8=0OvgjWJ#*~hH$?M70H%Td@4j@E?(BJh78Q?>MwJ<-Jc z+hHO(V}r1Qz~l0?-4mY76xka`1ZYeU&IIlX5TN#^K9L?Lemcjemea+fmXkwp2kYdX zT%8AmhiH3-_;fD{$&3Xn#YHRQJDw+xSgv0rxXP`l!X+Bk6`sm=(_FagN*UeTpGm<` zF-pxrmdp3GYhGwZ7gRCa@A&C=wQD3A&Lp&mRK>v#)Oz8KIoUyVQFBFg(#0VEYZDng zNIHMRD}c|~2vd*4n6ezgg2Ph+IU>mPy{_rs)!IG|`DNGNUwg}}DL~1hDuD8HfyP#A zNLqCgimTP&Bld=vjEd4`t()TaS<7em+?&6HUq@0U2GTYCJBp-d8a~pu%&ag-D=C*J zM0edL*)_0}%fwOC8{jq!t5vJ+93#o3rfEl@<(ASEL$W53`8!MqjG>#Mqx?^4N=e7UNBN2K$9y_Nr$j)h@10f@9DyeM(-?*ZmXPKUlpa>M zN{J9THRqtyNAxz*5nsD)MK+ri|n7`y}ftwr8KlxmED4t6nNb z78woTYb;UkJqoA0Zi(NPeP%l5B$@5&g;`kX<<(1FMXJ|z1USrSi3B=LWXsQ`wKT@i zj1gEtYhL$5>pS(VI*3kTfKup2g2f-pfR4nY)!P_Wn)MVFp@OlBp+yq7Sxxd-s*05S zh{4iKGx%IWA-bP_iUfZT9?`833geruh_?r(fBNzks3H!F0?NT16~Gfg!D2+8s8ZYH zx4nN{$`%!+nbne$4>{ph6avlj%g)`Rh1V-#WKo0H7d8_?JEFkShp74jb&*0jvh}m4 z4*kJAm1%z?Rvq$TVL*BLVc?mRV6k{jQ8%&>!P3;4PCR(hV0!sh+k9Ha(2h45O^1zx1ycUi6iq`)3x;Jm zp6pV)a)G==2zI04zK92Ec)r>ITq5u!PWo*T=6QpIp9fDh+<(Y`TRj&>2EmmL!{@KH zxD){|bRaXM`ArIj&veYhxT_A6H)-~(*G^rJzY7czs9XJf>>iQlUAVSsIIreDYVA^T zbgl)ZAfE?x!g+$5O>fVy^0+Z1ZTSMQU#6Kz>Ix|R{=jH-Kr^57dm3T8>#BX zrSlVs%?*nf#!_XWX^&%ltdL{~2>~UP=8r%L2Y^CC*kH-L+ixa-!fbyw4tp&0psmjA z(N5kn#5B^0dz*PD?42af-kH-X7~**eQL<1;~wN(Pd+ z`OWtku89I_nq>5Jsp{T-Nrk{zG=~3&1Pp#&4ZqU{%))))g$bdwmgFqX7?fT*j#qs8 zn%XXOE$39o_fgJ(w*lfB;U#G zX1u)E3|4qETC!aB0D?wC-sLu^5kYZ`D|%4*EMMOZF;Xr$UzaCODhzc5<%Sb1w^~jd zy|n)qd%gBS)6n2k3zIMI4Y}{NzNr8b6GXMZI@Eo3!0sWu?{3aId;bcIqdM02AF?g5 zi$Dv~K2B`7;82r>=?e^ff&)9^G+e^&j?a-yiZq|_0gXp|n(qwa;eD#p@JN7;>h!}a zZvxyBYSi<0l{!`tCyB+>M=FAvZ&-XX~MVB+$aIALS;*irJE1b}XDOyyjtlS6X#mMGIV zd!KaL*A!8;n%|J zMw?0gt8V$f>h3-w>U|)~|_J><-N+s%}$hqZXLO}8kxk4ak zWyFZ_^OVW#A1utcY{8^1?|_a15g}oMkxw7PpQ48CbyfwBke(z`#}ZQT6!oHkM6>8F zMo(Ie4o%lO&%Pbq#4-`(Z);P~8o2J)t9nsN{rtS&udc;iaI3Y!;W*o*Uk?WUa`NK& z2u69B+2*zoV32$_J^T0h9OaEH*6si!^t$rydD~=;t^1?U8*#R0Z`UQB2o?uT9uYYp zw%=Usi4K!AKhr9`>gq@}8dz2@aG>{@QnV%T0+gfg&vF@n zb#5Wk|IIxPw;$@k8H!-k-jt8CQ7jE(Tbs`@YsZ*O`?Q$`Z^Bcb`VnPP-^2cky)?0t z<%c6fU|m8UA-BjKt->oY-gc|r-A5wsM&0=mu(fQ2>K7M{e7K&jn`F5jzbv+2@_wsG zPX#IER$PB)b!kHiA)O{zR11TyW~#o^nM*0h5PNx(+g54g$eZzv$1c0tzZJyL_^`Pr zvMlviL7DBRRb3uGXQ4`8j@rhc(aq;Cge$F8vrDoBAsGqpA7wNNJ8VS8vDC=Fa+xPp*=>~tHw2i;I< z9gApHg=RyNdsp_6aOttSEcJ@{xBeS@cs}B`S&KsEpCVZU%xkMw4Y;H>geBS}nSR1- z)JdGTF68 zd>odba$I~itnd8%5B{~31+EAhZ{bwk))2J#e!hJHkHX||krfwikxygqgr{Yjpc-mu z=I@b1r&bE2NQgnryT?DMsB(_2f0M>3rtgY2FN)~kgI14E;`o$^YsWiLgt!;u*b@(q zC>BUA5Nxuty>ZvZq981jpv8{0klHJhTKkEnbGT~-XIu&9Xn>pu)X#O!fxtaSm80s2 z#=$T62^%yL7oU%VJd2SwQ{9=oqbQb&RQd5x!cA%7TqAkMg5qZ z;)!rPw@}mAh!nS8U#^a1Q(VTja|RR(0LpdN470iyv-)JXn^SWKTV|rrVp!E?*O#!t z0H!cR<0lG`GfggpES3tV{-8EKq2&JG``?GAOPlXfJ!F*^jp!PWHw!=_tWg$jUDaTy zD@Q(hx)FmWWOPw}>&pd#LS&wg6E2RZ6ahZQOF~%?gf6>dnW!J_P43_y$2TI`a%_GZ zeE2-f-^S_@j1jI7+N7<6E#`{L;}Wop7Vk!AMUX^Mr%3>fWR$iKDBWYO!%>On=$ns0 zc?^uNM)V|$OP>425QLiZaPY>&9%M1SM5r&OEINwSbyQbLVT6bYM#-gHUHyDe{p5Zj zHV2nU1+)TLROheH1J=mC^Di9`FNm{wewwcqQc;{RstvL=fd74Tcxd8JfrLgv{Zd<; zekfYT_&5wyxj1-QW0$0-{X5_L2&Lyf;DFPjzQ!kjuzo{>t3ulcfP&JX)gX92{_`c~ zS#K>-UYo|VJmTa=4_(e3MFYT0=b5_sz^l~h0R>BvVgm&J;VwInA`?zy*H7^FK;K=X zPIgAZR-~9Q!b~zAcY=h7_NF~NYDMq#Aj-t|^+lYaPXpB_Ky1ziI4rPN#lemsTSa+W z1QK>vPyKYy6{5K7(?i=}j-`MA?e6|-#K$b+kVsw0jzHJ|z8UQPz(H5OJNmOb*68VH z)q19H#01Zj3oFg;)IofL)YIlbPsWxMarc|JhRtPSMYyWnKLOgc3oFZf#a8U%W_B6b zfYQL^wPU4tR0;}#X;dLggZm=}$(dPQ$xyni6JN2>oDS4XN?$C`WTyQ|kU+D#hB7Ku%lbw+ETxYJC=(WAEW6-x43)Zm${w73K1#pY9?vl4$s2 z9V}7FOzORgQ%wIv%o~F9e_NCzP+#wF{Rxk~I>*yPHmY)Q>3{_md^P!*-0UY6(IKpe zhtRU^Q9Vou@;ynY4Z`L{02VCLdP4=DPkPGUNWMkRNRo(x^YQ$t*YLwhOdHMS_pEDU z{q9)%rJ5S&Cq-L8KN;zf36OrxO;8ZglWBiI2R3CSbX)WKkzEU8JMV3QSFO@t*E;lJ zssSjuNZpg9%g_5^ojX7UKR zPboTE9@n%gvMBQVri*D$r2qDKxa7o3ycBLtNEOD@7robj1plU2ECE+9ehZ#?U!cam zvK})$zn5~h<;chr=w-sq{nFLV^v*Zhe-3BzQ5F+^m3%3~2-@DHFT)(?YY7558_#>d zLS0X%-S#qmK}lEd*E1X7Rfe<{5BkNnpSnz{6e<1QvSwcw)3z_4=;U-K<94?}`|A$x z^5^5vNhNXH-Y4H8TQc)X%wruZv@VxWj&|83@@^H40NfAjvd31=0x-C*g<>+KD&ufmbV%N03NSZjm}-|B*ub*I~H}D17|8}Z9AaY``f#!^Ba3%G6tmt zVT$TqlkKMF$bvDE!z5fBCK$Pq1g{M3xFM`jno)78hAOgVS zvYr!(H1VKCuzbl&=tg%A+EW!%I_%gKw;|SjbZTppx76Lf?ZN^FnSf=qp}S(c?cu>* zykdr*?)b#&af}Z#W$3|Qvn@=n$T7JYL>RkCouJt}4r;^lnqs_Y4xh9PydfGqnDwe` zq%zn+_d07)^L11PXW5su@gC}*sr_aW2WeMW%5D2JqL=g=f9O+A?ouWs z;pU!64Wr7jWJTvkq=TH{wfl6~8%|Ll2Ez=iJRt37-RZXk@HZM)) z<2jQPK=Y@r9(27gk*2^RYX;59Pt7uV1R9w@Nh%bG9DXJ@GdtmZ`}yaOba@9@^h)>r zgh;Oa-~B{!a;p9IjyvaLDlq@+HeeTI#*AQw>sMfry&-{K{1Ok6c~M!}?pJ{du%m7b zUihZ!C?INZQ8vfnuPvDJ7uI6x6ED6|9DS3n`S#R77k12r?_%+_3d5~$X3&2e@9}SZ z!chf4dD#wP7HL$gB67#GpcB>1%^g(laap#~HKz*q8!ya{NL0L|G--OmZ1P|xm3bAk z1f{CfZ$(E!vQR%EGx<6FLJ|0@i2WV2J*Np=t42&=vb0)!7LWLMmvz%+j?^bf>2}88 zFKpYf-$B&{uvEgc+Tl33+@~{9z>hoiC_;hawQaxUe_mc}gx~;U3<4!3OOnaP2p@&4 z`JrV7f?#u)m2PT!YUI;HemXL`F!j;8aT)J?A?(~QzQrZhraEd}T(4qt!X6$e4>Eh~ zzkYWvw@L@t{KopoLWM8m4(x{ic16BC|Kqv*vj2d;K|^@r8zj8p!yw^u|1b$1ZAI;N zaN5_|My4>OTKL@4j6M8%t0cCUEwq5vfRfVJ72M)~` zJOHM1M@nfG!|EG0jOWkPHm&f)9z3bKp@@HWfotr;Z#Fl18o79d!+mb6vwNLSWm36< zThq=uMB$?aec8>t0t&J}vNc0qD@1GoHT9pDi+KO$rrdbi5 zKVCNSu5D)GK*NAMepbmUw#I-r?X!7P^hbre?cWBk0uZ$2XNH1qz$>W-;4RmoQSbF6ON8!N zT$(6|o18`pZen?VSUF85L?Mbas_z}Kf!H14@CJwIOyEgHLPN4pM-Jg(EL8<*FhrSh zw`{4gZ4qN{wfy0M>D8}S0MGhn9plRbN-=_^fwcFaMUECPM)W+q>MEzDA<^*lhj-Igb|YIu<-C}B>KY%r)^86|3P)$4f)GKQ8b_6gX-Gcq!Xc>O^36E>j(UdcSBjz z2)AV$)RW+%Io85L+fgu*jjYWiPHch?E=XU`P z68TrkuxGFplB(Rss;9^-I2mS`EoHRIEDnVNXr*dhOB>x$z1wNv0*9 zb+gPDalvt$Xf--VRwdgd0GFt`I_Hw{87YtoHIaqN9++1Y*yT$rkwmWyM!C)FW%qnderDH(t3l4o@HoA>YHy`|{_)vO9RO^O{kvCmNiekHOsbus~GFg4D##+5H z#9|WRO)mq2Dxz6KAVa zEw+tR;Y;~`x>aOk)#GB0WhAnXngC7$J9O~5+_P6b)#FF^bH@)O3DuXZz9R&csa?4m=MlpV};e+d1)C*;N2Fm*7kQs+gyR5@+fYXgQb(;%*n2C>vjTIFX?NiMNSW?M#0O!~ zJ=_}vwdF#20=1WeK<`lM;IBK+JYa;vdBw z2STz;xq>d}P-y_=L~M9s*j|k(8;4)Vq`%?uxQPcRfxCj~anN_f`^K8**$f4HgE!GQ zl4y0WDWA)sXVy$A?=t>wJb~k^H3b=B-C@H?bUs54XHGk-`&CYRehhsh37!U)vbug! zR3^ctK9T?DyejBdty_s26ZWPXr9W=HkGD#-eQrAc)V==*W4E-A;Oh=o2AE~1Nrd3D zXl|heejNKg`1KF2B!JGUP6aJ`4!bnVI=MR6VjOe5X-Di2w?$$ZBv9dSs()f` zKblit{7--qVew%S%gtLm>WJz&eEv%e6XZ9u-udOsyR8np!&VEobyRjrZ?@jVGbbvI zsicZu21G9kx#cQK-eu^%&N3x5fFO>y&d>5hy8L7q!O?vzAv$BEHBbZYT?HU9wcZ>Q z=Z$QvU2fi=cWN%G`IeO0R?*U=J=efm;977s7>U$o2}WR{x7!VZKTKyJExt0oNCt>K zoUa?XV1HBpCYu_p1&*$6!-{;a3_Z$y`@4jCp(y4bEegOBXl_O4BWrz{qIo#v2?Gq> z3@7C1K_!=O_06Z zK$q(-k;B>yIZAh0Z@Vdpl)OFkMTJXj9cY%Q^#A>sl_r{d98lZHw;G~u%e9BQ(?~~3Le`Lkl*|=_L3u1@qP%C<`>PUP^q_3p6vGVJzbwvh$?Zvp(w*E_yDKicX z$(Xk%zj|xh+BWja0xFjfIkcbeBx+s}sE~IeSJ=1nV*8s&2HvN)J4w~8BeOJ_N%`_{M?RIh;(pTH&33 zJUlqWH}@N@6lOoj8OxnwDcluJHN`GHFrh=?>zpShNXRF>WET~1hxRF#RE2+-%+!Y`?`aWHn_(+;{h=!4H>6MoKDhMvqQDEBh&p ze}Uc?BFy3=N2R*^NNVWdZEA7-tIW4j--T3rEg~%tr0kD~BLETpTv{6kF3wTx-BJ(H z;IpQw3{*{2nq^dgyx@FUCQ%=*Tz_z}FYnLi?-mYLTrX;1JXUHbc~9~84iOJsnE9;Ly?aS+?**z(LNQ+s<7sC}PXlT^Z9h|0XeV0Tm6$+QF8lXG0F_n#H&5$DU{yAf!@YO* zT|00;7lFjyV9Wp8Q7*YQc8Vi=%xABO4HUrpn(Nhc?@Ch7P877J^c{ z8nS=`lv;C9?XjGDEqjevJw$U1^y|#h;03P>)%oE3m2G#|{xl~)DGFcC{+9!Y)tRPo*xp~LM-=Jz zik+;94=6Ep)U5IV0PG>(4i0#cLoM2?U`+UO#|K-mKF9Z+u}0-!`JHMYzVVaNcHu=> zw<-7=Tg}UiCR%?@g+I=i#qR#<{5At=3`%bWRs=&_DkMZKq&jsHh>zaY>cUun>?krE zXYd$L@p}~Xc z9jbZ6>U}1)i>j*>;@}so5GgkFCGvSlN}?7X@LIst<@i@CHK;nF%y&y+awa|7Znj~g ztb9?%r!o`6^UkCWZ#nk{>r!6@R*jRI^G=%;ixR|A+wUUJYudzgiVqgWUtXwP%j8DE0hAZJ(Zuj}Xp0efxj{5*an<^v2@tnUt=ak<3+%Vq zoS9TUaLc*P8lkb$nEhSO*j}ld18KG1k1S|+jGl9@MY6Dl(hy5f4-KT{uy}1$C}m?1 z2Ad;`v!-_W+3v5463qNf5}87|YUAx5Pz zCnNde6;0DFkF5D}Ti|spRd7w_H!M2dG0I5~c*@VE z1*AK~CT6#U27k4HL&Y>cdyucRyLBW#1({GyyYP1T%nVzLT)Wb0tx%1}Vh1)LFSG?I zr9_H5tkoBB^L2^WF*M#vj4YG(_%gQlYE1D2^YH*+tLnT#t@s;UmFir)IUuWn3urw* z?|KJ5BTtiI>{OfVG?CD;@KG7-9=|vcSkmu&@(&prkJ(;>{e`o2tNr16B54 zz0-<@y?Z!B#6WA1(noG!`YM2B*JJhYQTm-&H!-%;AEG_xw6HQ%fGI2w6_j)n`uK}q zp93u6NW47UFTClUSaJ`72g~;&Tv!}g?wp^tlahz=pF&PFNqN!9)*NfjwPNI>mohGQ zS9>V~r3Wd`W(^4lt@{3y=3xhJh zPJF5-#v<7H{H$Hf1{he@M}{Pqv=V&UI?B^DZU!1XX1Y+87yQzGmPddM?@+7&Yz}L) zu?Q3rii?`Z4L@fIV03uB^sl2W6B$-$HLg%PF^&0gKYKGATyICRo12 zRl~DrvT#)H3PTt=2%|z&OHDp2tbWyET3{gT;T@8qZUQd~dc*02(xV#Qra9C+6w~HH z>_cG__;;53TLvsIbv<135)_9qV+I{hnyxV#_@w%D6Y>(>Q}4hV&O`^(90$ehdqVq#LlauYl$Yr!p?* z45^T(zjlzS!pz)Q0O$ARAs*)|w&!9SRr*4vpK7gL^v(e@^j60ErO~F!MekZ&fDA&M;K`=5;eOf$ed=@CVUm}d67HRU*Ggsj1U%P%-lj9`|4-K*P1hejep4V^ zfYxPoGK+A+f{c$*&g1~`h08|dh**rq$Q5Fbw>7k95A>MLusc}SGa=urSz*xC_Ib6F zNtyiQf*tQOJdDhSNub?AQ+GRzOyAztYlHqaSjH_mR6w#i-GJR#YL`|qY0cS7WW&>J zRiOuHfZXS4N0Iu7*m6X_uG?vVwd+GYahnj4-n=?|4r98|J+}o$MTxM zTD&}hXMOW^by6_ri#6xzEwVB!nRUj{Ns{UcNa{O+MC42L% zT!g;!15Y+nBs%gRh-}j*$)u=FMX02%v)sy+XCrT5H2rhg`63`){3tr0u6bmpLi z|1{3S?{*t0mI+ZPjoo&2*jg450U!64RXOW>PjE50c)y5}eEYyTGQRlBrKL8ss6zrk z=&H{0gx~L-12aJcfMKEaNVQ0s$6YPf^xwz@yCNlQ(^vj=ZN+zG(W@V@svggAy^^9E03fowwuPOc>B1VI8_hBP@48O} z8uiajw;X?#b;s?))SnR}fjD5QBZtoWjR}8HzkI}P9i}sXJNUl>#GCBE;D6wv_V0DY z0GyqxkG`Te480qVL=Ca%hqeE`NV%sTo65IJvd`=4@}fg@LV}}Dn+6wTCZ^+K5MEYQ zr<(y3>Fu~+*ME9HN=>5yXz;7IcQ?Jyfe1dr0j^H&EIZN?!k3|Xd4iQMdv+a{`9l{r zvk(0h(V5?d+Ji;{`#4818NMy?J8VJgr`B%akFA`sJHNoYOOxPOJERy=ohEJB>zi5J+Wah``15!OEHb^P4YUVY;)wu<eMXe$nTvTgLC3a@(Q!79D%vo=QjlMS(yWi7^nSN zo&Qp+HO%A#KvZNl-3ynX;`i1NE#+4;3tqAO=VI1yp*&0W4dp5y z@C2Q`hRdtqcA9e^7HCN3U?_C!$PLea3A% z{}gymA<^1kYuI3SQ{FC<-CoH{U1(3F8pjxuNkV6d4yZZg_p-^o^!=s~goh5u-Ajhl zzsV-6#np_Q-F+nb;${3vU4%t#q1DU4$|lJAWK^pQ;yg1D90x`bBRgt~Ft^1|U`%yN zPM%{95!P8Nta{6Uop2)*hFOw06*=r8=$ zRs@-}?&yj4yxW7#LM2ImJbM%7_jd_#?2~>+q1R)uPE}&mks%f>96Sn2kMSVs#DmGn z*zU(b4AQnpfXQxWowoW_cY938)EXHOE%iN*ExnSUs1IM-ITQ`A`@zleDPJ=j)-+J9 zvk*GHN?ozjIRbm__bH@^0K&=Wv>L~ z%;?_tOzNd&ww&HKS-oxnV(MiE@M(c3KKo&{RZSICPovHp+UBgQXFx5ZHMxb5=Ed`ollbi}W~a~KNMO; zAh+ERwLtNVpIXtbpL8qT)^48ai@Zg+K5A;Q8$I90Fa~f@s@VK@8f=kpcygF+ggOID zO9;d93ZxML`*&BN$CJ67mHbte{XAEApVW&|%%@s??LB9}jB*bbffet0Sg3@3^B-fG zJAD_gaaFW?!vj|no=l&9G%W|0b!s5Xy4in(<5?yEY+i_o@;*HNoq9y@5pDu5QI;7b z7Nbzv2OJEt^0gLq3mOzS>aabI1;*Yzp;{ayJlpog7|3Lg`nMe|-Q_%ow_d3fA68`T z=9-3byQ(u8;d`eH;{RD{n;G@N#Lyl!Y~t115_uhr9n!GLd_Wr7!uev=3M9NX7sf9O#bxr3Z3_msM_$! zpqu?d-cgu>to7{jS#)VJqVCs4b3pay-}*`H3vzHe8l-5?M%qEb(v^NJ#Cjj7!LmGP zuxGL}VseosLY_82O>YdIT@RhT2)|Dm!NavW5P9}7MG3f#h3QunC?EFxsebIF8VbCX zG75YA4cXHMJ9ixLQh}R)&30JK#86}7vM>#PI80np1UKUiL1lJ)jy2YI*vS35zjabE z9RL6k6M=m0hfJ13h5C_{3h7ZYhlMYfV^lC!yeZk9F3N4lvmlIan+9stZt_Pl~y;x1gO0a{9ul# zzFMa7VVOB(u`ulzQW7SK;G*s^#3A;8^`7+}n!FdoviUtru(d@HJ~ly;TVjzgFg)2|$nfUFL1%%`w5(#<7jXfT56Oz*sIo zG%^?faPL{Ymzqb7xpvPBQY@F{^VD{%K_VgDCKl+u2oiI#?^e@2kkWcbZ`K? zIn;P2ot^l&FYFQHVqDpkrpZ(z5>2n#t2B*#;W=b2P<;Ndf%`0EEg3*iY`3db<^b#EU8dvMN<0@7@=WNp(-Mk+57R&Gj0h(OV~yekNIAr+`6exQgI$A}W5D;#6WGP~aP7<&ay<{mB7jSdlG&OKzR4#>VVIcsosP{gwT{`)tZ5c}&Qovh5ufK3{x$CP+e>%#(@X#Mvh(J1 zII3cL_&pK#$|3JvT<3~krki!``H!Drv8Ah6r<%jZ#(e6;cSx$d!AQ>ixwf##Yq?3- z;U>9$dFE?#o~%2suJ7f}bqjz(eaksuLdJesY|MQ<$gr*P;3B>m*xPC({|2dUYEe4M z>iCq-ky5$z60@Qrq>z)XmtR8&o2Raow?xM(o6@}A?sr>Z3rzxsHmq*Ecn9VYK|$)M z%{Gy;ehICcBApXQJJ@Opj85?#W zQDy>OA{^aDqOuAyGfeHW(wAg80epkQ!OOBlYAW=XA~24d^DTM9!?M_s zWKsk37u3$Q4U^zl3Oc-r!^a3kf<7}?@Z5xsY{r%wnRvS$-ax((?m=R2*xVwdj*nbh zvHoWp{zwYP)(61JCpdTfG-?RUy?W86az9GgRw3U?Rry)GrjbTu{ODzg7EjuA@(JL~ zf6qey&lyR8*O6ZjkAn{!b;bSMP0f#bJAQy}Cw4v)2vf!7*8=S0KKlNLN;5u-&?eO& zLzMyX(4_8~TAO=rrr@J^@}XAeAYc#zsVR52#RBZo#*L?|Q@?ZzRN7?di(Y zu)7`!?2et!ZP!?(`-b|vc+)zuZb>?ZE>eY%hQ;F9lWu9B^|;~FV<*-2QXlsr4KkgG zjo7v~)*556boEd>ZTDS_v;*ZqM^&W=4)u;n9H;gtFs--Ys6HHH%N0W zU19vv8U{yf*RezKmxqN|;l=42CsNE6`f^YC%DEv+!ch;4#t-_ht<1&F1gWB)Q?DPK zrpx0CW2TV;sb-VsEZBgSCQu4Tu|3fcNPzWa588&q>s8tEG>X<<^A|5AwJuqC%kNj6{0b^nCrC) z*qW)H>Bn5}otEkG{@S<0)}frX3dQd&btbrHZ(T-2~&Xpl$r#$wo=5rpa7Gf8O)e&@PPx>Aw87q zaV|jBY+5l}djR$7`@UBFNKuo=LMFeo+9Yi|Evq@oy^{YdTNqt)heG6pnD%k%qs5%D z&Gw(-D}6mI00ziKed=k07FAXHc?R;7hG{ljCN3l#$X_zX!Az@t5ENsu z%QzG5(?(FIkWZ#n;_S6l0U~<%NhVTy;Anlg)`*I82KV4*IZ!+cUyGU_3nK)3c^O_p zh$VPj__nl5jQ2SGZN_3ZT)tZtMkvE{%ySlQ=Q9A3rwf`WoZ$je+sR^;Ge;#mM|4k& zv*JchO8859(1!I3US1SW2UITuL&RS~>>4*J#}F4Nx9rNJC> zujO{oyn?QE2}+5cmz2;E-k7sZ6s{Os=XAn}XM<5Ja?N8LhpkD!YA#98$ZwhyXwze( z8t~YhIWZBwyrw72vqCF|!tEQ|S^xtT#!jhfjq(|JQk89Hbhiyut+X`YQ^I#$bl=ii z_IVSe)PZ^#H~@luhtNb0>q?65Qz^0a5GG#Nc`^ly^*eJ&5Y-!!BnoUZjL`~z9xKfEQj!7v01Pym2z7ytmsf4n6nQ9%(| zQ94_b95r3LO)&(&Q_4{%s5Su+*8401Y(=7VR3hn6KPwPHgqrb!cGd|~w=|^`4)Zhb zJg?~7GW0W4t}f~MWScV4XCf!}ldL{_GY=Tie=-|3R~-{VsgjUkv)MrHR-xO(#d{=; z{El&fF&W_kg?VHlUBDd}@O;q-P#7ryXSKA)?nC2rYUe}O17!n9eN*!o0OpuRM>srz zurg`|CJyUit<%bFD@1`#l^?1NFqzLk655Z^{!|W={Qhztt(|-8WM+_T$}iTBqMc9b zJXQ$JeAYJU(-J@^8J7K_VO)IH-Ea3@V9m2JH6<+m;^N{#RhRcBE4VXf>)9`(MM;=C zbLMw;JbC>#U#K@1|4Dh>vWO!(m0Mjn6=ch9AxKd#{pxjDLz^&Wjv@di}1O zs}VS&a@728JflX8vdHvCm28Gw8)Vue_oaeWMAA_(ZH%VNmoV+dOF%M&_9kDyx3$kA zs%@pTdfUzs1?-(wY(4V01z`9+cIb^Nrfoe>Kui-VN(CuWMN6a123e?V>yk%xI4J>y zDS`<`_ta3>q)DS?MTe0OsEX8C?t@mX&gNTp>fTRFC=yTzBGm+7ebND#q`;xD>CJ~RgBOs+_z2n?5SYO zNJ*Pd1BQ?D-G2P)`N-O7bcC(j?#O{5i4t-*f`n~zFlc~9>t-s&lQ>`!|j9~-M zFBNtOZL`3vr?t5G-&I=&(a<+P+-w1F3EuW%J+TeQgQj5&=D4rA^lkqJu_OHn8PSVB zK{?I@x9HSBnAfdGkW9EC9SF0ei6jXo4K%WD6sa(KHdM$0b+Oj=zqjSWc!Z{f)(Lp7 zsEp}Ys}gW+TGb!q2PjXs0}x{s!nEVhe=*(&i!|+k6Sc0X=O`cPE!5V+&L!!8z{vnX zTA#b*bDGcy^6HT{Viqk;|A|H-B2?ZG1+O$);o!ARG+xOcHXT5Q&GWPqPk?71MRk?F z9hG**-tYwDA#!XuAq++1FpAh9JPp<$OattkFmvjZMtn9@A+e)FpL|LPGFN&GKgo8g zMk=P=hAFuYL8L~q{gWL#00%;wA1x=X9cl`neeg$m(T9m;qhQU%?Gqc+*}NtN(AqKs z*|D%(_36>3W$l`pGPpL2sbl=?Y{Eyvq~LJUcy#+Z>4f~-?zZx_Z2z|n|6n7v$O@#~ zw|YxCY8WP2==;kNP%nch16++Q@i=vxMFS|YjWKiB zCkf{BO_jG8zEL|;ViD7i>z_seLaOPEV(d&s?Rw*WtR8f>pSrisFB%aE(X%xzUzoS0 zEQw1JS_}FFd7BxJ!BolP?Qep@e{7Vb3YC^=-|_i)i6448K6buDax+IqQ(q$5>9YU} zDD@I@lV87XR>{fkZm<2mCwcT`p7fCvVY(W`4tuHTM%xT!s94Eqxn|rQ8c(J%Y#plF z`52>Mjp8G2S>hp&#y06aKjSuB|`I2i#jeqc(&|x+JP~nG$Xyn~3?Do9?-<@c&K6Iv4L}UjNc?(Z2)x z@7NmJS(=$TyU)5v)a>d@Pyfc*>C>&n{$C@(STr_%{~5Oh2mk>8zed`d zIMa*R8(W(?nOWMHn###a4>O>2zp4l8wRl2Bf!F!<6SYcfCWxXmj+J*#E`^~5$G$uikX=T_+gk~*ovDV$QOk;c;zGtp0zAkR~t;`{pWfBYu zX4p5z-89a`ItmD1uW6WucSX{kUs1*$b4!VS4K?%~mGzceQ44>KFr?5h`78=|&bVjU z$U(VQVjD)M&$;rvj zni}4(+qTQOm$vukFFQ9=d;Y#IEgh|o-}mS5EgVm*-|w5u)^h64!=;})_)q_j$#wkR z-yd`1E7P7$_L0NVCiAq@FX_($$Jw3L%NtJX>~Dov)m+!7mnFK&<&f{w(o45%`d!~P zyH#}8$G7de(b+tmraH^z!WQmTo2Xjnj%%x~!ed*tV>bGYTFO-4QySi`V$ilX<9#jT z%a&`lC$oP8*iX|`!4 zL(1^jn!y_?8Ss;efp?5x{)x$Wg#>c>vo3pNS{BfMH*@t0F0HoMsLv>A&>bPB4H62iZFd)>Kt9k1c?kGqy`M;O8R)Yq z^Rx2@DZgUv0i|0vQ$%c=owW~jG+S0T0X`s>7EEd50i{4L(!4_%F1uuB82oCyyC$jh zApM7^qG@^krNzswOM~gL)z{61hG$K80pJ)A_A(CSIrI-#YAppegE>duQBdsMU~?i~ zx(klu^4ug?-2y)Bl3d#*nkI6CMUarBI21AN0QkI1SGRef-WQ>?wW}M7ed#u4-dSt} z%{4j>An9LcprlV`7kB{_<7$mdkI`qC=h45@yCcn!nBX=SFWYScZAt$cCQPc`tTSXI z?glW^yw+6a4Rw0Pux6M+^iAfm>RoSDB2$@ntUlPP$T_rIZy`(K6~G|S?bEm~7v+9P~y;4&&T&`cH%nNnoN z?I=Z-P`1*qjebZZ2W_;c#S^$*@UoFyal6ZwdZPJ?SreJ9wulh%A9f!OwKh{TdF z+2W`%J}Ij+h^2R3Z=4&p@!lWOS)bdZ8W;|@s|rG^1q<;hwz`V#Tfsw6tIr;Wh>^(I z-)5Yb{#Yi(=NeEekk&90J3$JxU=yL2+K{3wXxG?c4)+)u75by*%3#RfMsQ7ffiD;U zs8B@Y_w;ay=?yb%kGjo?;N}qbSkCTbBd^DAU23d`KY%)cr9n^feeP#F$Po#hK?h1^ z?DC+==iW%YN(}yKv73_8TfSlG5!AZjPK}kK*k5U|#*=%Fd{s?&ox~42rpHf;Z71Sf zkNpKDNRl^63#9=%WzGcL+76|}%|LKgQ?0yplxo7TPUpJ2(2$P_ zf)vj^EGXy?@yWPzb4g2Fqk)?+7?0*emsN8Hcp@;U44xu>YWFdTgJ(Rv#a1_&)EZNsPq?!fsl|;OMH(XTDReNtg@#rU|Bb9-ZQlDc|D>tDh)80B9u2!P>JT` z5;j620nsXkvt%`MZ7N8Lo94;nPk3XfK+!Jkxl~oH0!RmWI{#p&PJcIt2H;&{XH7H8mnT@c^9|sz~y%$rwYx~~-D~toOKoL>M@itD*1QWM^hA;vvGz93@aBXtUIC*E#?aw^ zY83r_h|m@Y-Cp8#DfV9wp(66}6DQr3EBYlR1ZjX*)Dc9;n;mK5!&hQDm4bz~Mq4A$ zx0FIbJhvV4(RuQ1x$%=AKIPXMK01o9P`BMu0#Mx~>%NLphrls3l=bg%SX-_EwC z%h#8OlaKEMLq})dxUjxH0@qeLs`Z53JRTA*Golm9-MZ64d|>>X=0VefJvF)Ey`9cz zIn<}^%f@_aiYD`vOCzO4G2z{R;t6Kec_EUsR?v8nYDiPDQT2e$gs!o0xq;9a{FiAB zpurV&{FriO`wEMgu$>K0v8;3A1I!anUC$}1Q8|fYxwDFh-n|V-{Rt8*R^&h%cq<80 zoB`=xCpFaHBvBva3|SGcBc*u67DiKoNoGyAzeg+3niyoRkkf1z@M#v!({d^SN z`Xej<=ueF%zfkZ-hfkFM@{F7sYmMmKo;$K=2sMhqK`qr)MOqHcTorap(bF8@#NN$S z!rC*!9A^@wH)J8cCbh{?*oik5X!zQ=%QZqai1?*IW-;#BSfhbe(5;G! z^;W2H0tLv}gXM_)FgKAI0pmBg3-))M_H)iCPygd6v?O*k#}{g-$9-}{NGx~PvU4DU z#A6ySeku6sLz2#=5dvGE61Lt=ZTX9T*j&9<+A&u$3tFkm%l2 zAfGSNYmmmtdWvZ~3owJzVZ8x&qrUdqHqH)$v6iqr5Wk_AMQh|I59fM- zzaUy>&=wiCr@WAHEAn?>Ri}~ncW3Ctyj=8$hz%~paYR>DTG~Xc>OLzKZ8I&^*aa3F z2#}7o((wRgpg*Eps)OhnccS*lCpiC*i;LtzEM=-5+l6XkF697~ZE@IN^ndb}^#j7D zkubRK09#EBC^b)5J$5LwIyDd_w{;0z)EiBDG7$J80R3vtH`LodEVk64fVR~8gnT53 z0Gf*(5U03N$K}>c!Z@4qBkQQqiz5VZL`0$L8(d>@G$6*p{qf|T1dzf%qW0+`Td;5|M&N}mY} za?2~TTs?6;NKD(COQ7_o2;wy0PyE^(fJ-(?r#5b=jPPV4Wo9t*k>G;&eT7euRx|q= zt|!AwrJkV?VOXR#&7JxbNMiP>s&7WP(F%$s)%f#qg*Xr|)z2KhgIJK_%{baTr_z?0ul-ILkJQ2FdY=3+*XSJ4 z`>@#|E+mRB>?C*_cC>Y&{X!x1qx_;D94w8b?ut5iFrXQz5=jPV+aH&8Y?VUd_{!J&Dnrb{ZZ*G0|3Uoa} zvEX%uC#&!sL5TRp(nTlLTDjo`8j}m%bzwV+&uUa>k%rKL&75YE=%i#E$u_ZYU1bwB ztkS`5sz_M9@-h{GWseGC-_Hz9%n}o5xn^h8%_YhflKzi}N;1b~7Hg~TNuIi`OBljx z1TD=pk-ex8AZaMkXc4^a7N9prFm^{p_>&wOxPB|#Av*=wGU~}DK+=37fR3-w-7wSx zzKOYhW2zBa&6Vnnlt%~{J?_D?4v+q#yOLcNhY*C5mVa&W^&Jw7lm|h_;ci?}NPJ+rkIxxjY|v z!9BIt;DViw60}9!0Qch1Ir4w82vhx`D%%!+ID^qI!PfsL1`O~)?196S|D zM2Mu%EE`=P^Ir@Z-w~K~N3E2XO}`;bg?dd#EvLhaNGL>X>{opyH@Zza3xN5l+|M2z zLdPMzA4jY5>7zEYL>ycoZWc2+J6dp@oA`a~cagDLrM!eKnIv~*%o~xKP5Ix2M zYqJh1_+FSb=u@z9es8G8*ItPvN`&3#WVYL6$%Jf^mTf?!Ag=Z*nOsZ&vBA^L;Ea*& z?(EVb^?q-!n(Iml&@Kyjbrm7e`7`4Bufd`96G) zfx)Z#Y4O5=g-54U>0J-IiuI?qQtKDi6lFeB4+;kI5EJlH!dGbX){Qk-4;eV5!GmBW zm;u6HKH@s5?RtsnhgY^auADCB2_K`<$~GFMY>`o3c@@vVz2JS zevCqGQAci(#iziwa@;QgM%Qh2v`XYV|4Kc$-WSP)M=H5sGE8A)3I%I*UMM~qdM#JM zNOUJ<(Pr<#zXjcV^Zi=^#eF&lVOD~*lIB(|K7Vq1;1FR37! zvq=$X`(W{-C?pY3DJ6fbif=rc5Ozm?;xIGv_L4MwD3>b!MY<&_sdtfbPvcnig!EEQ z|4J%RX;1JTXYn|wD)1O+AgCKkAOF*Ul8%=>D`ocdOJ-9XA{OCnq)rx4aCr-|qarQc zp;XKY;vUhQZ$lcqvu0La(G!tP_rwOe5^XSLs=5)c^h1z3XNHF-^p=H>Wq$W4_xT?o z6RjzvwVS0JxmzNxth7DlU04dgYq^GZ|*GPikMTJq?_1d#zYVOZm9>pk&dPXuL84V<7 zvKBn!E2b@IAHw3Se1%*OnX%~dIe2F_a;FOh1t$^%9F{_GLIhSl=>*Kt?{_hg43d|& zkxXIEDn+nShC2%p+lGzJ0tBxr9hDjqUxZW-%x6sCxeZ4Artn6nEvwv_?F;Q@zt+h} zRQAZ5%fm1t7H?i-PusSs>i(e=5ov7LM zHmi~mZMtN%3?z-D0x?d=G-R=R{E!0qqP3&ywv}aZ`hpA@`q3mQi19~BdyU20lM@gq zg@~1S4h)}M++q+;FyhbZx#0zKu}w!6+U|-HY`!9~QBP}a^PULOo}c`ilBJyRbq2;a zlo_Kks#Kz}W>qIRy&}KN&9u6P1XyB4QROmd1X}ijGm&oCj;WWc)_j7_8X>P$$WfA5 zO)OCQhJ$8=(n|D9RN=EADJ05jmFh~PDcKE$(#5y|K|KL#>YZXkWE^!F>DAZ(Ixbc^ z`CEb$lBdx*>~LP{JRR4-oAmQ&dd_hy%6DSMJ_oO|Wkm79db^qa&7qEr^ngLM5_#Lt zK}eN2X+{)`09%1ehCgK%Gw2=FWpBb+zCsX1r2%<`F@pu>8?_7jLjW?1q$E9gE+*15 z!&joP;s)N|n@Q0j^q18s0Xf&1%A;xwgZSBB!OsaGa<(y>a90zioXD(~~ zVt!K|>J%PM8K*A+9tsmZ{*VCSqNhOI#F`9-bqLZFpm2qQE=)<2FSyM>3D-$BE%%BM zImLw9FRjWAi`3Qzdq7m{hDRsv83Pe~fsjxx)QcBjV&HHLOUE{0q#MWkkW*q{xML!% zzcXYx5kMs|k$@cThY5zsVI+$PJ6{`Y+K)`^iFX$vQ{~8n=_&HD>Oylb+)d-$t7$O= zNoA?jeS}G-nQ1SyD>ozBT77W8Z+FP+wI~9AOgl<=HaXEb+u9OP%4y7zpy@hddc{&n zB*P9$=D!*oqoq9H;xj?72p5?82Mx)|>b*|cZKvtbFOOCO>&oi#LFTTmE6ZHqv9s0QxFpo>85CIlF{NXDryX# z#(e(WWZ2l6Bup1%va1URWiJwk^)lp1b`rgT2f5d5V&uFfK^6#b&Wcc3XEZ2hfHFH$ zY>p#%O-rdB01PU|9Tw>Vkm9{Hl!dND5QW2rX!jkFZlVp?{p+VyJB|s_N+w{8vy@z) zu?Qp}y}9m_EeovQL>uaB49sG&sIUShoL$qi~-trI)kukzX7Y_#p?>@8Ra z(Mwc&4QiL$%;kt6coDLd&{{Ke7Fsuk4FCaY(irqwLf*`4JKq855e}8nDqc~DU4<#j z<|euUUn84V9dy{7#SrJJ#>g3-0~DcZXkVFcv`!=pB7 zb~!5XB?}i;mfso}#unM6R&yiQyyHOg;zwo9R>=Ux) z;BOJ=*es5!q0^0_&n9t-aD;T)M~|3~uXp6w-@sjKAj%kvFbViE7Z^_P6e_kYS5;{s zjt1cK>)5OT5=szb`@DyhaI%(jEt*@v(GCat81o*AiT^Y3NPtDwWU&0Cjh*E zGNbslQ6h;r1TyaV{$zf39M+FNj;ex7Qb16t*9sGc$eW+Uo61ENXlOUI$5j|7@c9u3 z9#@o0+YKKMJ(nb3Il`Ow2)Q0=r8rhsPN~Umx1I}W72X5UhpTXS&h22G1n6YG@=Wq9 zWDL`XrH8LI4uktmgB!+z!&&$Z$6AHTqr+r5?q`40c6YtvNJ@O_2{sq-0~-jTSTdJJ z^a^POBi}+OSp6$&wW4eC=&xu_O!2be%jFVxM?t_h2C&jncLGLR^gal>&o^fUnzZ7G zaZwjQ#-Bq|l1lSNJzLO~?a)s+5E`9JF)3zP-y0z(BHmrVvl2*Pi_Jtbw~V?NGiDZK zlF+Kk{!|Onik*R`1t$%EzvlU+$Blj874}6269rs3*Ki_5cppml5=Px5D!!umoRdOl{y0#qlOHhwyrp3 z9B#h(xUE?JQ-R`u`@}DyH)G04XXoT2iRQ*-j&$nIpfArsf%Sls%bBZ%|K4B0b5uU{ za>Px5!8N2K?+MG5D`Z>UXdDt1Jt8xu;z0btlAbb%~6#7rqUI)`5($ zRhL#KN%Me?otUZMC(?`cfI#i_N?-xgXS1C&f_j_uQHMI9O>L#aM;{^4`Dl%{wndSxf0No9kvo@hYsSZ*IMu%EkFe{}@i$;KY z17j(75NIF5L>ff+;OdH%k{hR~O)s1lY&15Y0LS)sQ;1Kwljl7tuV624Hqk{MYB*-2 z^mt%X$7C9e@u#&$Cf}<`zyOe7nXx`|WQ`S&3fljUgLYGhlsZ7P+y;Lw3W-hNfVOgR z-uOGiAb{CwA_FePMFV_Ppv9nj9_psMz)mFRw>A?zp}Z#{iGOlj*sU)vGdxFY zFb0yDnDjO?xN;0E{}=;t41E}ok9`0lCAd*6lrvv!R?2fJ7RN*j-?{&mnX&49!`y=3^eOTai- zU{1nn^bRBpXqnKxI=Q0&))7BVfe`v#2<$sS$4p_n-a9W+o@r}G5xT1!>vPdGJy#*X z#p3IkANFYRV5>AlA!Dw7dUKA31mUOumf`Dr%RSiUNa3A`^(B>`l z)Q4$nK3|cT^Ver)MV3)?biar&WzY%d!d0tuRZI(Y`m&ATe%>egAZEs8u`SDb zG?IhrHliRskGa+~6_8DR;9)pV!Lp=O8?=#D^7APg4C^Tt^ua{ZwfOVs22E4)@Ph%* z$oISmjW0_vilb~3e9PtJKkDZabc_RF#^3p`jFrljb`z#ga}FVy7q=RlrS}-?kFD|GtSXne8{sFr4y=QhmyOZoK(T zCE&$`%att_zKO?-I_;Eio0OPMU6q8$x3v*d8F9+YsIM21jW<9za7@jF>dX{qrXxyL z7r-cA=TIxYn8|(rDs2#}1U{`7xgW?Hm0u1i8k{mhGojXq7>QPzl{Pdcj5U~-%<}Iz zxh9GAEEG7bk)!chs!wFGqra@gwLB4@QblmB%nYONM9YZXsf3?7$@e3&`xO@_4Y&kZ zGPXGak+(HO957DW`(m3TkBUL)7v>uvv6m`@-Fp{=ncSJ+geDd0HmSth2kB!g@zBYa zI+DCEne1EAXi=H=TDB??huMKgs>t~MZdR?QI^+#W=_mYaM(KobI)j z%vov$TJfl5b^@bwBk}|vaR&lB*v`PT5O~?>kT!XybUmv>M}s%kJFXImE`zkL3-1@n zKoWo4#jkiyD-;|y;^jIrUp8?UPefAL10RRswPficwQws+e$ReQFYG8#b2Fu)Q=xT@ zH?~7dE;l#0)-hS%)+G4C>D}`QroX&b9Vuta<0U!nVpFR<0mm( zADylYKsGIP$~aJ-_2fJMp4UpEslS62F>cB$j z`wVMDJ}dPPoQ1fU;QFZXZ(G=25eFVzlhBCxejtkI{DLY;ypWBn2!dg-H&O^>($uUU z47ZGOgvn2!2p0`8#ACzvnWb{6o$_6{5j6lA-jB5mjh};I__PHXDa>gD(>7}4Kp22n zv8gMRlv1M&+~B6sBa4y$dwLWASxnHF7xm1Y>^$Fqp{z77RI_tpW&)BOE=!H1ViEM( zU*|GMbd5$KIMe-H9hyOf+AJd2wU-POlZbVhvFa@Y8LDJ!PMS($-coehM%oOpc&_oQ zu7bek*IqQ;!U8F3cD4GU>{&VkRFfvfgInS5ccwHn``=N3>z4@YvaM9!d@R1`tb) zSg#G}4h$|`<70yI1qnFpx_Q`8qsSx7!~jXbk`thqlg!k5f|hWWR&J;4Y5xFWfM`kxS$FYuFTOfbytZ!J*Y?3>S(j4lFyh`v`w1}@l0?*GXGR%J*ncK6!H9WT+vz?mrUHqRm>}&ScNdpm8rV!XA=h--oNGg*@@W1RU)n zic&mPUu!FWM2B99hoA0jH)_%%vU7L``!gi~ZDNf%BA2pTL&~)a?D*`yHx2?=XowZ?UV_dJpKGkDpgI?TbA9 zkqXCM3J$(G*!~DXo7H};nOS3H z*kh9Jf7clpMJfsc*&K;pgP(RoRgl)FyT&cfF5~cfvtUmjGe|73SYeMSWm*MCVC};C z-H*l;Z8?z6|58DZ#*{~x1KfY^@7Yhd?@|Uki_%=q9QhY^PVF1*1ssW(QD$ zf_M;ugG);4FD%YyKByfWhZP|U<3jF9CZ8LOoe@1b3S3@MR&=QMg{&Gk5Loaq6@1`S z1NgjRKtY&_9*V0=tdoIQONO-~iYyZC6?)6{0P{6o0u!pDU+)%%@m#uNi4=KkTqS$mgyM%7%MbcC&G?4Y z`BKRna<>N*Vf3>$g^qSk@4&1k*RHYU~In-EZsKi=G zN&7Bg^rW{9Ddpk%8~XaL%<43Pelb(y0AcW~XiR3=VzNDap_8=oP5vyb%IiVQh$41^ z)S21>(8;H?KbZPQ;(kx=uAvz~9U`kb4Nx(%{_|6m0v28Aqi|%O=zwqb_QcK6zRvzC zZGC(D>SMp^+rc@Ee{HiXYxl-1uk>X<)Iaz4)6nnR!2Z-d4-Fpv@%3d}ow=*0M@wgR zM|b9W`3kx>`{{P-{W|FT!O_pwzWyt1>{}7bk-mY(l*6;Jp zfNw{qCvW#2y|TAx`(4zVyUSZ+`WA5PHtO{eg^W968+i@+)AauC{^U^@U}wuGU$l3_ zpSE^a{@P~%dgj;Ho4v1(9Khmwggnqg&R<7IU(eT1zFy{S9uFjvjJneOuj|zwgu6al)fLYj+mSy?^0&W*b+n zqXUiU<6J0mN_g;aQk^zxxE&01#vk0*r?(e~?B?Y6J!2M%szI1);G=2x<|O(om~1)? z6fkrXI@mCTq4W#tn-FPKou~o(^Zexd0Jv5Z^7P+?&g=WCcal-a9gd{i%MDn#r+5Gj z23{b5#$ZoRo^R$iTc11yus7EC9(qmNy8XC7bnJ~9!;xEVTn z{$0ereaLRXzgzxfa5_3uwtL;v2T@(Gqs*9#*J0}i7mwTNclD331qjkifMo21@>_ZG zuynh0e1Fx_@SiuX0#f=m;#^Q~PoCDUzHgz;#J9r&bSUJ`T)G4Q?GC;@g??{^;EO<{ zxckYMBvsXW7dQ)v#o*C^gWycv4I{)?vc&E?BM+6=G+z6|Qa5g5SYxk7x#ifEoD6}T z9(H9{x)YR#}_OTQwK!C{xv#DyP8G`ZcgCVF7ETHPuQt&p#KGH1ZV?qsN14 z3iO$fE@>1rBD5fAuV6!iK}6KbEe-aR|26#}9woUMH`a;w9(R^_`#y{gap;eK+$F~> zmXPes`?m0}t?apKQcVS5n<%(&`%zDShtnr@HHG<pG7>op!=FQYg5Yn5T%h=#JA5bH{WDcb*mvY>{F}g1irn}=d^$L|BXi$BR=QD%?ET4VUe%I$)rcdzWU`jcTZh2IoX>i=fv4`*}S(T`I3`nM_Ft|HTZe1%iEJ53FxXdj5d*`<^+9+JYNv zYd1tk84Nu(Y@IiGE`gfI1pF%{jAPRG62%d*QYT!>%+O@#BJ`zBhY6bIa7lZR$W^(I z!%JRP?Pg1#&+GQ%_}_oN zE{N#Z&CbfXHPX9~J|#??`ggkn>z&Uc;R=G=&fTiiDG7pof>YT(aSvj$>6`bNgYo!6 z3A<}R&iK{yTDjoK2Xi4jw7i?lq)AL#i~c@oXVK~difMX`z0_2`?()$eycvJT0s}8O z*AK{z8xeJCtoX|a?H315kCc|T9O>dRy7h=l27y%{nj?IXf9p8Uit0KzNIH$bu5kPl zgh(&}O(#jSJdiQQ;h%IG4@)|e>AF9+Jy3c))uCz_ zLN}3x_>id4=Aw%p7V#2f;gw6ZjA!u4Ihs<(M2F)llQ$Z#+H3R007J2 z|4*f0XzXHXZ%5~8YZIb6<+Q56^b)l7jdG%F;lp4!^*X z?DkwKEkUYZaIBg-H%MaEK(v1ZBGcbbW^d$N3WUC;CLYrg0Fb0NA z@G1LMKe_U_l3Dh>qLOAgMoHBtmSkJ!Cufo5Rmy3!IR}(KlvWJ@?J_MMu2Tm?T1g`w zo?7A-iuZaAbl|HyLEJ*fno-4fb(-0mA}O}BYY4Vc2^Tyc?8i-UV%zt%oz<8MIRdaYVvqqPC_Hv-xd1Sux}GT3~fyYlN8vjL+4@&&KmSo4Ec?2Io?L4XAQop z%=o~uO_t2~OYTpAYFKsu-(Q;QN8)<+H=ICb!nh8%VgvG>$ZeATH-*y*_08{I*2auL zDB9`e>6triwnb8jxGFvA*QPPIZwuAi?@RU<9NchgBqi8sp!5mJ;@{ftC1zR5&~U0R z@qfsVjruB2raV&`lwIiDP?-?ee$=*ru1=o%Og$G|9JpZ2H8G)m<3Mu~Z{K*wd5_DA zgaM~eLo?=_bSxR?HZ{jZ4jIC>;ys=gKecj*5@Q(<`?Sc=T9(BMThzeOkl$(JUs)4Y z{6n+l6<3&I_usG;>Ws-~p@$%&nw;bSxDI+v&GLa&i>Ke7ajVf9oM4`&Lu;)Rc#o5B z`eWd4)CJN_Ch{11t1(#cFQmIaEsEjyxqc9ld7kG4002EwIQjmyOgsaEgTew4J^{gs zx4j?Q!x1yaya(MC*?*d_+t$HezvFdyRlr^>hUHBigAOhSpPx|kcSn_vtEpx!G=+G< z??LNdLHM>jCvZ8pyv8Fzim_avDyLd!A5s2u=_g3=)aR(_66WT#3`V8IOlN^G;5d@g z=;XD4So@%^qD^O+!8j-fs%`pUW%S$9f#sK0aI7ed7sg`aG({cLEx?;hbMEjFEhK3l zh9^y&X67eEXCJr;8r6QV6?hzGAqGKNJhO!Z4va2yS(pv5qpgGcv2}xP4{?wWUmZR4 z6{jV1L^X4!5e@klRhB5Jpk6tFSmb_lEQ=nil1IxxeX%deT4a_5A0(Rx+ba%p%ZO}k zuDwtPl|t?MdlxyE=clEiJVDpt-z8`ntlWAYw{(TCn|GueVYK#HnaPSJ#6$&oY>e84 z%&WIb(`Aqajl*|cmKwr^(#!g_-8M|&o-f_(I~-alWtx58_;#mydQqSI@@;cypisjC zkCe`Np6Qfkm@>NPg`-p!;i*Py%7Jh^e-x%*I$u_w7hFz~JZk=HtrHP{+FG<#_wLoe zo@FY77OA*K{QTK?(}_L~4t^!A8|z}bc28y?czl;RFb;Opp-s$WKs)#OxD4E(y31CoJ0$(wAVwjP-I0R1&o^0bT2VOPnCcbgP@V)@ zCnPaHqT(aQqoNjEx0Sk4sg@EppN$;#3v=ts^EfAaX6G2hw>^mqyMInK|(Cz$Vf$9m%@+CsyO#S5~-Y)`yhJE3zV`0r(}pu^!_0@1%A{RzRi zSIhI7Trbuz3KjM_Wz^8=64s4v{ThJkM+$&{4g zl#+_T0+bAGE&1iQK*Y~4SFLgmNX!;J_8Fc1(e9N@n|cviBbA_V(5~*K(#oB1t*aS# zJa~M-)3^uS{P2WDj}vb;){~T+`4)$|0A>o{Pn<9dA7J07;@#TL1GWwZl3UI-D5-PV zXgki22D*`WCTwPcoAWBo2Y=tT|FFB3F_*JW*~GfNEGQh)z3Rw!Qjaw3UOVM{^be^* z;{yBa-S&>q`@GGNbEkV231PsEw{~G4{h9*mC~UfKBAF8?k&a6=?lei}d${2xmaq5_ zgeq$Uc855x>*w59LQRgE$*%dS4?7XhRV3>R^slmZ|NEr2Nk|Uac;0yvQML*By?iuv zDs!Wl007Lf zH!hrulQ;2M_8?@M#1zheF^Ahi&_mxBcU&b*iQ6m7D?)94lC@Y@j9_*$%dnNNlL4{P zK1Z(_|A()ZBiuI6J83*={Gt_CVyQh{3; z$f})o68H8n=9p^ZqcN(rB-(JWJD7kz$VVBz^6axcT_qrXN?KZ>(!<;{?PS%31C?sV zdXYq9;H!rj;44{5e-$aGQ<^Y@=q>Q$i;HW85(U{a8b2`(*{wcXNm48IW*Ar{MI}rm zu_HKH{eE#;{B&C$=!#>)T?x%%9zXWIG7a3uWm3ICm|a_tS#^hhB!{##Iv68`xaYDd zl@))MQ!dYK-CpfEdR2OVIW;fWDHqn&SA%tRF+)Qx&qgAGb(Sdk0b9 zOu|Rjt+x;~hdsM8xOI`1g`uF&WVwJ-%dZ3S5g|X%Pppo3aaV98UZFNRY?pXGNxYc< zT2(<%;4#5ScnPPTZ@A02Ui2KgJXo0+2UQy~B*uCm2w6%znP?=61v!Q(W}Awa2tMi} z|FCyRcVk^LKGU2C{t*?e)T9$J+5KpLxp;J&Cv75|WpNr6E)=3Z5_RGsT0^{g-`mWB z5}u!%ddP^7vRPfdq*Y@o?cmgo6||X>EVr(=aUP#a{_35S@O^2yUc^bts5VZrAm~P; z|daMFZqID+NH1OIW{F< z%yvCns4P(S>3^fg-S@mX`WOKxht8Mmus@(AyhK3wRT~Wuv%O zDtbX$dXd%fqp^F2eGsmd$=R3D5@%?7H}QUK$FF9VuoCZf zy(ID3zqn7+{nje%o=mjWi3oo(knI(auzry zFRnD&vA0(o1dhDi?yDUV+F+r7cevr#63@U0WC9+2k8FVaNO}8xgJ>aBC;*TJ`*r8| zs5#Pb0RSKOqg)#paEqRz-{9e2u7)A-=w1J}-2**FFCrgfhZb~NGCfMK2Opz_mj5FQ z)5G+>>@nPH^}9VwPtxc8W70JGAM!Z;)5G)u>KInP_YeGAoTBIHE9fzQC;lJ)|J73~ U7&FVSC)kco%F*ZvKKOO@Uk2Znn*aa+ literal 0 HcmV?d00001 From bdc3af4d08ce1dda8b6fbeba854a38d774d1d569 Mon Sep 17 00:00:00 2001 From: Emerald Date: Thu, 12 Jan 2023 11:02:16 -0500 Subject: [PATCH 08/13] checkout again --- .github/workflows/test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d518d1b..dbe69ad 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -32,6 +32,7 @@ jobs: website: "https://greenboi.me" categories: "mods maps tools items" - run: echo ${{ steps.pub.outputs.url }} + - uses: actions/checkout@v3 - id: pub_prebuilt uses: ./ with: From 079f25c0dca73e92484f913c2c0f7fd713dc6ab1 Mon Sep 17 00:00:00 2001 From: Emerald Date: Thu, 12 Jan 2023 11:13:29 -0500 Subject: [PATCH 09/13] use prebuilt container --- action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/action.yml b/action.yml index f723f39..361bdfd 100644 --- a/action.yml +++ b/action.yml @@ -49,7 +49,7 @@ outputs: description: 'URL of uploaded mod' runs: using: docker - image: Dockerfile + image: ghcr.io/greentf/utp:latest env: TCLI_AUTH_TOKEN: ${{ inputs.token }} TS_COMMUNITY: ${{ inputs.community }} From 26a08ff3df5cc057a9a9540a8b883cf71a5be05d Mon Sep 17 00:00:00 2001 From: Emerald Date: Thu, 12 Jan 2023 11:20:17 -0500 Subject: [PATCH 10/13] make file input a relative path --- Dockerfile | 1 + entrypoint.sh | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index a29ba19..ed5ae7d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,4 +8,5 @@ RUN ["mv", "-v", "tcli-0.1.4-linux-x64/tcli", "/bin/tcli"] COPY ./entrypoint.sh /entrypoint.sh COPY ./cfg_edit.js /cfg_edit.js RUN ["chmod", "+x", "/entrypoint.sh"] +RUN ["deno", "cache", "/cfg_edit.js"] ENTRYPOINT ["/entrypoint.sh"] diff --git a/entrypoint.sh b/entrypoint.sh index c3a5441..492aaea 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -73,7 +73,7 @@ function publish() { if [ -n "$TS_FILE" ]; then echo "::group::Publish package" echo "Publish to $repo" - file="$TS_FILE" + file="./$TS_FILE" else echo "::group::Build and publish" tcli build From 8c60bd9d94fd807f9c5afb48f1aa59c02d4fc9c5 Mon Sep 17 00:00:00 2001 From: Emerald Date: Thu, 12 Jan 2023 11:26:34 -0500 Subject: [PATCH 11/13] use deno npm interop --- cfg_edit.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cfg_edit.js b/cfg_edit.js index a7c7fde..20cb481 100644 --- a/cfg_edit.js +++ b/cfg_edit.js @@ -1,4 +1,4 @@ -import * as TOML from "https://unpkg.com/@aduh95/toml@0.4.2/web/toml2js.js"; +import * as TOML from "npm:@aduh95/toml@0.4.2"; //init toml parser for some reason idk there was no Deno native module await TOML.default(); From 520ab81d2de886d18a64a75134fed8ef04b76c24 Mon Sep 17 00:00:00 2001 From: Emerald Date: Thu, 12 Jan 2023 11:31:20 -0500 Subject: [PATCH 12/13] deno or whatever --- cfg_edit.js | 5 ----- 1 file changed, 5 deletions(-) diff --git a/cfg_edit.js b/cfg_edit.js index 20cb481..f703681 100644 --- a/cfg_edit.js +++ b/cfg_edit.js @@ -1,10 +1,5 @@ import * as TOML from "npm:@aduh95/toml@0.4.2"; -//init toml parser for some reason idk there was no Deno native module -await TOML.default(); - - - //Read in thunderstore.toml const tstore = TOML.parse(await Deno.readTextFile("./thunderstore.toml")); From 3398068f5d7d5ef02077e2df1f2b4fc96047bd2a Mon Sep 17 00:00:00 2001 From: Emerald Date: Thu, 12 Jan 2023 11:35:47 -0500 Subject: [PATCH 13/13] I forgot that I move all the files at the start of the bash script --- entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entrypoint.sh b/entrypoint.sh index 492aaea..b1c4e4d 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -73,7 +73,7 @@ function publish() { if [ -n "$TS_FILE" ]; then echo "::group::Publish package" echo "Publish to $repo" - file="./$TS_FILE" + file="dist/$TS_FILE" else echo "::group::Build and publish" tcli build