From f60e1c3b93cab3862b13f43b30e5d545455c6be0 Mon Sep 17 00:00:00 2001 From: Chris Hodges Date: Fri, 17 Nov 2023 10:37:33 +0100 Subject: [PATCH] Initial commit --- .github/readme/cover.png | Bin 0 -> 68151 bytes .github/template-cleanup/README.md | 25 ++ .github/template-cleanup/settings.gradle.kts | 1 + .github/workflows/template-cleanup.yml | 70 ++++++ .gitignore | 4 + LICENSE | 201 +++++++++++++++ README.md | 126 ++++++++++ build.gradle.kts | 19 ++ gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 63721 bytes gradle/wrapper/gradle-wrapper.properties | 7 + gradlew | 249 +++++++++++++++++++ gradlew.bat | 92 +++++++ settings.gradle.kts | 1 + src/Day01.kt | 17 ++ src/Utils.kt | 21 ++ 15 files changed, 833 insertions(+) create mode 100644 .github/readme/cover.png create mode 100644 .github/template-cleanup/README.md create mode 100644 .github/template-cleanup/settings.gradle.kts create mode 100644 .github/workflows/template-cleanup.yml create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 build.gradle.kts create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 gradlew.bat create mode 100644 settings.gradle.kts create mode 100644 src/Day01.kt create mode 100644 src/Utils.kt diff --git a/.github/readme/cover.png b/.github/readme/cover.png new file mode 100644 index 0000000000000000000000000000000000000000..bb6ca6f50f20854e1bb88002e9c50ace5318747e GIT binary patch literal 68151 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≷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 axPQ!|-2L#8&yEfa_^ByrDOM?1e*8aD Remember to join the Kotlin contest! +> +> To do that, edit your project's _About_ section with ⚙️ icon and add the `aoc-2022-in-kotlin` topic to your project. +> +> **We will find your repository and count you in our giveaway.** + +## Content + +After you create a new project based on the current template repository using the **Use this template** button, a bare minimal scaffold will appear in your GitHub account with the following structure: + +``` +. +├── README.md README file +├── build.gradle.kts Gradle configuration created with Kotlin DSL +├── gradle +│ └── wrapper Gradle Wrapper +├── gradle.properties Gradle configuration properties +├── gradlew *nix Gradle Wrapper script +├── gradlew.bat Windows Gradle Wrapper script +├── settings.gradle.kts Gradle project settings +└── src + ├── Day01.kt An empty implementation for the first AoC day + ├── Day01.txt An empty file for the Day 01 input data + ├── Day01_test.txt An optional Day 01 test input data used for checks + └── Utils.kt A set of utility methods shared across your days +``` + +> Note: All task input files are excluded from the repository with `.gitignore` – we should not post them publicly, as Eric Wastl asks for: [Tweet](https://twitter.com/ericwastl/status/1465805354214830081). + +When the first puzzle appears, go to the `Day01.kt` and for each `part1` and `part2` functions, provide an algorithm implementation using the `input` data loaded from the `src/Day01.txt` file. +This input data is common for both parts, and you can find it on the bottom of each day on the [Advent of Code][aoc] page. + +To read the input data, you can go with the `readInput(name: String)` utility method provided in the [`Utils.kt`][file:utils] file, like: + +```kotlin +fun main() { + fun part1(input: List): Int { + return input.size + } + + val input = readInput("Day01") + println(part1(input)) +} +``` + +The [`Utils.kt`][file:utils] file also contains the `String.md5()` method for generating MD5 hash out of the given string and expects more helper functions for the sake of the [KISS principle][kiss]. + +Each puzzle describes some test conditions, a small portion of the information that helps check if the produced value for the given test input is valid. +To handle that case, you can put such an input into a separated file and perform a check against the output, like: + +```kotlin +fun main() { + // ... + + val testInput = readInput("Day01_test") + check(part1(testInput) == 13) +} +``` + +The current approach of providing both `part1` and `part2` solutions within the single `Day##.kt` file may sometimes bring a disadvantage due to the first solution calculation when we expect to work on the second part only. +With simple cases that don't consume too much of your time and resources that can be almost unnoticeable, but when solution takes seconds, it is worth considering breaking daily solution into two separated pieces, like `Day07_part1.kt` and `Day07_part2.kt`. + +The final result of your algorithm will be printed on the screen so that you can pass it to the Advent of Code website. + +To go with the next day, place the `Day02.txt` file into the `src` with relevant input data and create `Day02.kt` file with a similar code scaffold: + +```kotlin +fun main() { + fun part1(input: List): Int { + return 0 + } + + fun part2(input: List): Int { + return 0 + } + + val input = readInput("Day02") + println(part1(input)) + println(part2(input)) +} +``` + +## Getting help + +If you stuck with Kotlin-specific questions or anything related to this template, check out the following resources: + +- [Kotlin docs][docs] +- [Kotlin Slack][slack] +- Template [issue tracker][issues] + + +[actions-user]: https://github.com/actions-user +[aoc]: https://adventofcode.com +[docs]: https://kotlinlang.org/docs/home.html +[issues]: https://github.com/kotlin-hands-on/advent-of-code-kotlin-template/issues +[kiss]: https://en.wikipedia.org/wiki/KISS_principle +[kotlin]: https://kotlinlang.org +[slack]: https://surveys.jetbrains.com/s3/kotlin-slack-sign-up +[file:cover]: .github/readme/cover.png +[file:utils]: src/Utils.kt diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 0000000..09ec797 --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,19 @@ +plugins { + kotlin("jvm") version "1.9.20" +} + +repositories { + mavenCentral() +} + +tasks { + sourceSets { + main { + java.srcDirs("src") + } + } + + wrapper { + gradleVersion = "8.4" + } +} diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..7f93135c49b765f8051ef9d0a6055ff8e46073d8 GIT binary patch literal 63721 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鯊%1Et zwk~hMkhq;MOw^Q5`7oC{CUUyTw9x>^%*FHx^qJw(LB+E0WBX@{Ghw;)6aA-KyYg8p z7XDveQOpEr;B4je@2~usI5BlFadedX^ma{b{ypd|RNYqo#~d*mj&y`^iojR}s%~vF z(H!u`yx68D1Tj(3(m;Q+Ma}s2n#;O~bcB1`lYk%Irx60&-nWIUBr2x&@}@76+*zJ5 ze&4?q8?m%L9c6h=J$WBzbiTf1Z-0Eb5$IZs>lvm$>1n_Mezp*qw_pr8<8$6f)5f<@ zyV#tzMCs51nTv_5ca`x`yfE5YA^*%O_H?;tWYdM_kHPubA%vy47i=9>Bq) zRQ&0UwLQHeswmB1yP)+BiR;S+Vc-5TX84KUA;8VY9}yEj0eESSO`7HQ4lO z4(CyA8y1G7_C;6kd4U3K-aNOK!sHE}KL_-^EDl(vB42P$2Km7$WGqNy=%fqB+ zSLdrlcbEH=T@W8V4(TgoXZ*G1_aq$K^@ek=TVhoKRjw;HyI&coln|uRr5mMOy2GXP zwr*F^Y|!Sjr2YQXX(Fp^*`Wk905K%$bd03R4(igl0&7IIm*#f`A!DCarW9$h$z`kYk9MjjqN&5-DsH@8xh63!fTNPxWsFQhNv z#|3RjnP$Thdb#Ys7M+v|>AHm0BVTw)EH}>x@_f4zca&3tXJhTZ8pO}aN?(dHo)44Z z_5j+YP=jMlFqwvf3lq!57-SAuRV2_gJ*wsR_!Y4Z(trO}0wmB9%f#jNDHPdQGHFR; zZXzS-$`;7DQ5vF~oSgP3bNV$6Z(rwo6W(U07b1n3UHqml>{=6&-4PALATsH@Bh^W? z)ob%oAPaiw{?9HfMzpGb)@Kys^J$CN{uf*HX?)z=g`J(uK1YO^8~s1(ZIbG%Et(|q z$D@_QqltVZu9Py4R0Ld8!U|#`5~^M=b>fnHthzKBRr=i+w@0Vr^l|W;=zFT#PJ?*a zbC}G#It}rQP^Ait^W&aa6B;+0gNvz4cWUMzpv(1gvfw-X4xJ2Sv;mt;zb2Tsn|kSS zo*U9N?I{=-;a-OybL4r;PolCfiaL=y@o9{%`>+&FI#D^uy#>)R@b^1ue&AKKwuI*` zx%+6r48EIX6nF4o;>)zhV_8(IEX})NGU6Vs(yslrx{5fII}o3SMHW7wGtK9oIO4OM&@@ECtXSICLcPXoS|{;=_yj>hh*%hP27yZwOmj4&Lh z*Nd@OMkd!aKReoqNOkp5cW*lC)&C$P?+H3*%8)6HcpBg&IhGP^77XPZpc%WKYLX$T zsSQ$|ntaVVOoRat$6lvZO(G-QM5s#N4j*|N_;8cc2v_k4n6zx9c1L4JL*83F-C1Cn zaJhd;>rHXB%%ZN=3_o3&Qd2YOxrK~&?1=UuN9QhL$~OY-Qyg&})#ez*8NpQW_*a&kD&ANjedxT0Ar z<6r{eaVz3`d~+N~vkMaV8{F?RBVemN(jD@S8qO~L{rUw#=2a$V(7rLE+kGUZ<%pdr z?$DP|Vg#gZ9S}w((O2NbxzQ^zTot=89!0^~hE{|c9q1hVzv0?YC5s42Yx($;hAp*E zyoGuRyphQY{Q2ee0Xx`1&lv(l-SeC$NEyS~8iil3_aNlnqF_G|;zt#F%1;J)jnPT& z@iU0S;wHJ2$f!juqEzPZeZkjcQ+Pa@eERSLKsWf=`{R@yv7AuRh&ALRTAy z8=g&nxsSJCe!QLchJ=}6|LshnXIK)SNd zRkJNiqHwKK{SO;N5m5wdL&qK`v|d?5<4!(FAsDxR>Ky#0#t$8XCMptvNo?|SY?d8b z`*8dVBlXTUanlh6n)!EHf2&PDG8sXNAt6~u-_1EjPI1|<=33T8 zEnA00E!`4Ave0d&VVh0e>)Dc}=FfAFxpsC1u9ATfQ`-Cu;mhc8Z>2;uyXtqpLb7(P zd2F9<3cXS} znMg?{&8_YFTGRQZEPU-XPq55%51}RJpw@LO_|)CFAt62-_!u_Uq$csc+7|3+TV_!h z+2a7Yh^5AA{q^m|=KSJL+w-EWDBc&I_I1vOr^}P8i?cKMhGy$CP0XKrQzCheG$}G# zuglf8*PAFO8%xop7KSwI8||liTaQ9NCAFarr~psQt)g*pC@9bORZ>m`_GA`_K@~&% zijH0z;T$fd;-Liw8%EKZas>BH8nYTqsK7F;>>@YsE=Rqo?_8}UO-S#|6~CAW0Oz1} z3F(1=+#wrBJh4H)9jTQ_$~@#9|Bc1Pd3rAIA_&vOpvvbgDJOM(yNPhJJq2%PCcMaI zrbe~toYzvkZYQ{ea(Wiyu#4WB#RRN%bMe=SOk!CbJZv^m?Flo5p{W8|0i3`hI3Np# zvCZqY%o258CI=SGb+A3yJe~JH^i{uU`#U#fvSC~rWTq+K`E%J@ zasU07&pB6A4w3b?d?q}2=0rA#SA7D`X+zg@&zm^iA*HVi z009#PUH<%lk4z~p^l0S{lCJk1Uxi=F4e_DwlfHA`X`rv(|JqWKAA5nH+u4Da+E_p+ zVmH@lg^n4ixs~*@gm_dgQ&eDmE1mnw5wBz9Yg?QdZwF|an67Xd*x!He)Gc8&2!urh z4_uXzbYz-aX)X1>&iUjGp;P1u8&7TID0bTH-jCL&Xk8b&;;6p2op_=y^m@Nq*0{#o!!A;wNAFG@0%Z9rHo zcJs?Th>Ny6+hI`+1XoU*ED$Yf@9f91m9Y=#N(HJP^Y@ZEYR6I?oM{>&Wq4|v0IB(p zqX#Z<_3X(&{H+{3Tr|sFy}~=bv+l=P;|sBz$wk-n^R`G3p0(p>p=5ahpaD7>r|>pm zv;V`_IR@tvZreIuv2EM7ZQHhO+qUgw#kOs%*ekY^n|=1#x9&c;Ro&I~{rG-#_3ZB1 z?|9}IFdbP}^DneP*T-JaoYHt~r@EfvnPE5EKUwIxjPbsr$% zfWW83pgWST7*B(o=kmo)74$8UU)v0{@4DI+ci&%=#90}!CZz|rnH+Mz=HN~97G3~@ z;v5(9_2%eca(9iu@J@aqaMS6*$TMw!S>H(b z4(*B!|H|8&EuB%mITr~O?vVEf%(Gr)6E=>H~1VR z&1YOXluJSG1!?TnT)_*YmJ*o_Q@om~(GdrhI{$Fsx_zrkupc#y{DK1WOUR>tk>ZE) ziOLoBkhZZ?0Uf}cm>GsA>Rd6V8@JF)J*EQlQ<=JD@m<)hyElXR0`pTku*3MU`HJn| zIf7$)RlK^pW-$87U;431;Ye4Ie+l~_B3*bH1>*yKzn23cH0u(i5pXV! z4K?{3oF7ZavmmtTq((wtml)m6i)8X6ot_mrE-QJCW}Yn!(3~aUHYG=^fA<^~`e3yc z-NWTb{gR;DOUcK#zPbN^D*e=2eR^_!(!RKkiwMW@@yYtEoOp4XjOGgzi`;=8 zi3`Ccw1%L*y(FDj=C7Ro-V?q)-%p?Ob2ZElu`eZ99n14-ZkEV#y5C+{Pq87Gu3&>g zFy~Wk7^6v*)4pF3@F@rE__k3ikx(hzN3@e*^0=KNA6|jC^B5nf(XaoQaZN?Xi}Rn3 z$8&m*KmWvPaUQ(V<#J+S&zO|8P-#!f%7G+n_%sXp9=J%Z4&9OkWXeuZN}ssgQ#Tcj z8p6ErJQJWZ+fXLCco=RN8D{W%+*kko*2-LEb))xcHwNl~Xmir>kmAxW?eW50Osw3# zki8Fl$#fvw*7rqd?%E?}ZX4`c5-R&w!Y0#EBbelVXSng+kUfeUiqofPehl}$ormli zg%r)}?%=?_pHb9`Cq9Z|B`L8b>(!+8HSX?`5+5mm81AFXfnAt1*R3F z%b2RPIacKAddx%JfQ8l{3U|vK@W7KB$CdLqn@wP^?azRks@x8z59#$Q*7q!KilY-P zHUbs(IFYRGG1{~@RF;Lqyho$~7^hNC`NL3kn^Td%A7dRgr_&`2k=t+}D-o9&C!y^? z6MsQ=tc3g0xkK(O%DzR9nbNB(r@L;1zQrs8mzx&4dz}?3KNYozOW5;=w18U6$G4U2 z#2^qRLT*Mo4bV1Oeo1PKQ2WQS2Y-hv&S|C7`xh6=Pj7MNLC5K-zokZ67S)C;(F0Dd zloDK2_o1$Fmza>EMj3X9je7e%Q`$39Dk~GoOj89-6q9|_WJlSl!!+*{R=tGp z8u|MuSwm^t7K^nUe+^0G3dkGZr3@(X+TL5eah)K^Tn zXEtHmR9UIaEYgD5Nhh(s*fcG_lh-mfy5iUF3xxpRZ0q3nZ=1qAtUa?(LnT9I&~uxX z`pV?+=|-Gl(kz?w!zIieXT}o}7@`QO>;u$Z!QB${a08_bW0_o@&9cjJUXzVyNGCm8 zm=W+$H!;_Kzp6WQqxUI;JlPY&`V}9C$8HZ^m?NvI*JT@~BM=()T()Ii#+*$y@lTZBkmMMda>7s#O(1YZR+zTG@&}!EXFG{ zEWPSDI5bFi;NT>Yj*FjH((=oe%t%xYmE~AGaOc4#9K_XsVpl<4SP@E!TgC0qpe1oi zNpxU2b0(lEMcoibQ-G^cxO?ySVW26HoBNa;n0}CWL*{k)oBu1>F18X061$SP{Gu67 z-v-Fa=Fl^u3lnGY^o5v)Bux}bNZ~ z5pL+7F_Esoun8^5>z8NFoIdb$sNS&xT8_|`GTe8zSXQzs4r^g0kZjg(b0bJvz`g<70u9Z3fQILX1Lj@;@+##bP|FAOl)U^9U>0rx zGi)M1(Hce)LAvQO-pW!MN$;#ZMX?VE(22lTlJrk#pB0FJNqVwC+*%${Gt#r_tH9I_ z;+#)#8cWAl?d@R+O+}@1A^hAR1s3UcW{G+>;X4utD2d9X(jF555}!TVN-hByV6t+A zdFR^aE@GNNgSxxixS2p=on4(+*+f<8xrwAObC)D5)4!z7)}mTpb7&ofF3u&9&wPS< zB62WHLGMhmrmOAgmJ+|c>qEWTD#jd~lHNgT0?t-p{T=~#EMcB| z=AoDKOL+qXCfk~F)-Rv**V}}gWFl>liXOl7Uec_8v)(S#av99PX1sQIVZ9eNLkhq$ zt|qu0b?GW_uo}TbU8!jYn8iJeIP)r@;!Ze_7mj{AUV$GEz6bDSDO=D!&C9!M@*S2! zfGyA|EPlXGMjkH6x7OMF?gKL7{GvGfED=Jte^p=91FpCu)#{whAMw`vSLa`K#atdN zThnL+7!ZNmP{rc=Z>%$meH;Qi1=m1E3Lq2D_O1-X5C;!I0L>zur@tPAC9*7Jeh)`;eec}1`nkRP(%iv-`N zZ@ip-g|7l6Hz%j%gcAM}6-nrC8oA$BkOTz^?dakvX?`^=ZkYh%vUE z9+&)K1UTK=ahYiaNn&G5nHUY5niLGus@p5E2@RwZufRvF{@$hW{;{3QhjvEHMvduO z#Wf-@oYU4ht?#uP{N3utVzV49mEc9>*TV_W2TVC`6+oI)zAjy$KJrr=*q##&kobiQ z1vNbya&OVjK`2pdRrM?LuK6BgrLN7H_3m z!qpNKg~87XgCwb#I=Q&0rI*l$wM!qTkXrx1ko5q-f;=R2fImRMwt5Qs{P*p^z@9ex z`2#v(qE&F%MXlHpdO#QEZyZftn4f05ab^f2vjxuFaat2}jke{j?5GrF=WYBR?gS(^ z9SBiNi}anzBDBRc+QqizTTQuJrzm^bNA~A{j%ugXP7McZqJ}65l10({wk++$=e8O{ zxWjG!Qp#5OmI#XRQQM?n6?1ztl6^D40hDJr?4$Wc&O_{*OfMfxe)V0=e{|N?J#fgE>j9jAajze$iN!*yeF%jJU#G1c@@rm zolGW!j?W6Q8pP=lkctNFdfgUMg92wlM4E$aks1??M$~WQfzzzXtS)wKrr2sJeCN4X zY(X^H_c^PzfcO8Bq(Q*p4c_v@F$Y8cHLrH$`pJ2}=#*8%JYdqsqnGqEdBQMpl!Ot04tUGSXTQdsX&GDtjbWD=prcCT9(+ z&UM%lW%Q3yrl1yiYs;LxzIy>2G}EPY6|sBhL&X&RAQrSAV4Tlh2nITR?{6xO9ujGu zr*)^E`>o!c=gT*_@6S&>0POxcXYNQd&HMw6<|#{eSute2C3{&h?Ah|cw56-AP^f8l zT^kvZY$YiH8j)sk7_=;gx)vx-PW`hbSBXJGCTkpt;ap(}G2GY=2bbjABU5)ty%G#x zAi07{Bjhv}>OD#5zh#$0w;-vvC@^}F! z#X$@)zIs1L^E;2xDAwEjaXhTBw2<{&JkF*`;c3<1U@A4MaLPe{M5DGGkL}#{cHL%* zYMG+-Fm0#qzPL#V)TvQVI|?_M>=zVJr9>(6ib*#z8q@mYKXDP`k&A4A};xMK0h=yrMp~JW{L?mE~ph&1Y1a#4%SO)@{ zK2juwynUOC)U*hVlJU17%llUxAJFuKZh3K0gU`aP)pc~bE~mM!i1mi!~LTf>1Wp< zuG+ahp^gH8g8-M$u{HUWh0m^9Rg@cQ{&DAO{PTMudV6c?ka7+AO& z746QylZ&Oj`1aqfu?l&zGtJnpEQOt;OAFq19MXTcI~`ZcoZmyMrIKDFRIDi`FH)w; z8+*8tdevMDv*VtQi|e}CnB_JWs>fhLOH-+Os2Lh!&)Oh2utl{*AwR)QVLS49iTp{6 z;|172Jl!Ml17unF+pd+Ff@jIE-{Oxv)5|pOm@CkHW?{l}b@1>Pe!l}VccX#xp@xgJ zyE<&ep$=*vT=}7vtvif0B?9xw_3Gej7mN*dOHdQPtW5kA5_zGD zpA4tV2*0E^OUimSsV#?Tg#oiQ>%4D@1F5@AHwT8Kgen$bSMHD3sXCkq8^(uo7CWk`mT zuslYq`6Yz;L%wJh$3l1%SZv#QnG3=NZ=BK4yzk#HAPbqXa92;3K5?0kn4TQ`%E%X} z&>Lbt!!QclYKd6+J7Nl@xv!uD%)*bY-;p`y^ZCC<%LEHUi$l5biu!sT3TGGSTPA21 zT8@B&a0lJHVn1I$I3I1I{W9fJAYc+8 zVj8>HvD}&O`TqU2AAb={?eT;0hyL(R{|h23=4fDSZKC32;wWxsVj`P z3J3{M$PwdH!ro*Cn!D&=jnFR>BNGR<<|I8CI@+@658Dy(lhqbhXfPTVecY@L8%`3Q z1Fux2w?2C3th60jI~%OC9BtpNF$QPqcG+Pz96qZJ71_`0o0w_q7|h&O>`6U+^BA&5 zXd5Zp1Xkw~>M%RixTm&OqpNl8Q+ue=92Op_>T~_9UON?ZM2c0aGm=^A4ejrXj3dV9 zhh_bCt-b9`uOX#cFLj!vhZ#lS8Tc47OH>*)y#{O9?AT~KR9LntM|#l#Dlm^8{nZdk zjMl#>ZM%#^nK2TPzLcKxqx24P7R1FPlBy7LSBrRvx>fE$9AJ;7{PQm~^LBX^k#6Zq zw*Z(zJC|`!6_)EFR}8|n8&&Rbj8y028~P~sFXBFRt+tmqH-S3<%N;C&WGH!f3{7cm zy_fCAb9@HqaXa1Y5vFbxWf%#zg6SI$C+Uz5=CTO}e|2fjWkZ;Dx|84Ow~bkI=LW+U zuq;KSv9VMboRvs9)}2PAO|b(JCEC_A0wq{uEj|3x@}*=bOd zwr{TgeCGG>HT<@Zeq8y}vTpwDg#UBvD)BEs@1KP$^3$sh&_joQPn{hjBXmLPJ{tC) z*HS`*2+VtJO{|e$mM^|qv1R*8i(m1`%)}g=SU#T#0KlTM2RSvYUc1fP+va|4;5}Bfz98UvDCpq7}+SMV&;nX zQw~N6qOX{P55{#LQkrZk(e5YGzr|(B;Q;ju;2a`q+S9bsEH@i1{_Y0;hWYn1-79jl z5c&bytD*k)GqrVcHn6t-7kinadiD>B{Tl`ZY@`g|b~pvHh5!gKP4({rp?D0aFd_cN zhHRo4dd5^S6ViN(>(28qZT6E>??aRhc($kP`>@<+lIKS5HdhjVU;>f7<4))E*5|g{ z&d1}D|vpuV^eRj5j|xx9nwaCxXFG?Qbjn~_WSy=N}P0W>MP zG-F%70lX5Xr$a)2i6?i|iMyM|;Jtf*hO?=Jxj12oz&>P=1#h~lf%#fc73M2_(SUM- zf&qnjS80|_Y0lDgl&I?*eMumUklLe_=Td!9G@eR*tcPOgIShJipp3{A10u(4eT~DY zHezEj8V+7m!knn7)W!-5QI3=IvC^as5+TW1@Ern@yX| z7Nn~xVx&fGSr+L%4iohtS3w^{-H1A_5=r&x8}R!YZvp<2T^YFvj8G_vm}5q;^UOJf ztl=X3iL;;^^a#`t{Ae-%5Oq{?M#s6Npj+L(n-*LMI-yMR{)qki!~{5z{&`-iL}lgW zxo+tnvICK=lImjV$Z|O_cYj_PlEYCzu-XBz&XC-JVxUh9;6*z4fuBG+H{voCC;`~GYV|hj%j_&I zDZCj>Q_0RCwFauYoVMiUSB+*Mx`tg)bWmM^SwMA+?lBg12QUF_x2b)b?qb88K-YUd z0dO}3k#QirBV<5%jL$#wlf!60dizu;tsp(7XLdI=eQs?P`tOZYMjVq&jE)qK*6B^$ zBe>VvH5TO>s>izhwJJ$<`a8fakTL!yM^Zfr2hV9`f}}VVUXK39p@G|xYRz{fTI+Yq z20d=)iwjuG9RB$%$^&8#(c0_j0t_C~^|n+c`Apu|x7~;#cS-s=X1|C*YxX3ailhg_|0`g!E&GZJEr?bh#Tpb8siR=JxWKc{#w7g zWznLwi;zLFmM1g8V5-P#RsM@iX>TK$xsWuujcsVR^7TQ@!+vCD<>Bk9tdCo7Mzgq5 zv8d>dK9x8C@Qoh01u@3h0X_`SZluTb@5o;{4{{eF!-4405x8X7hewZWpz z2qEi4UTiXTvsa(0X7kQH{3VMF>W|6;6iTrrYD2fMggFA&-CBEfSqPlQDxqsa>{e2M z(R5PJ7uOooFc|9GU0ELA%m4&4Ja#cQpNw8i8ACAoK6?-px+oBl_yKmenZut#Xumjz zk8p^OV2KY&?5MUwGrBOo?ki`Sxo#?-Q4gw*Sh0k`@ zFTaYK2;}%Zk-68`#5DXU$2#=%YL#S&MTN8bF+!J2VT6x^XBci6O)Q#JfW{YMz) zOBM>t2rSj)n#0a3cjvu}r|k3od6W(SN}V-cL?bi*Iz-8uOcCcsX0L>ZXjLqk zZu2uHq5B|Kt>e+=pPKu=1P@1r9WLgYFq_TNV1p9pu0erHGd!+bBp!qGi+~4A(RsYN@CyXNrC&hxGmW)u5m35OmWwX`I+0yByglO`}HC4nGE^_HUs^&A(uaM zKPj^=qI{&ayOq#z=p&pnx@@k&I1JI>cttJcu@Ihljt?6p^6{|ds`0MoQwp+I{3l6` zB<9S((RpLG^>=Kic`1LnhpW2=Gu!x`m~=y;A`Qk!-w`IN;S8S930#vBVMv2vCKi}u z6<-VPrU0AnE&vzwV(CFC0gnZYcpa-l5T0ZS$P6(?9AM;`Aj~XDvt;Jua=jIgF=Fm? zdp=M$>`phx%+Gu};;-&7T|B1AcC#L4@mW5SV_^1BRbo6;2PWe$r+npRV`yc;T1mo& z+~_?7rA+(Um&o@Tddl zL_hxvWk~a)yY}%j`Y+200D%9$bWHy&;(yj{jpi?Rtz{J66ANw)UyPOm;t6FzY3$hx zcn)Ir79nhFvNa7^a{SHN7XH*|Vlsx`CddPnA&Qvh8aNhEA;mPVv;Ah=k<*u!Zq^7 z<=xs*iQTQOMMcg|(NA_auh@x`3#_LFt=)}%SQppP{E>mu_LgquAWvh<>L7tf9+~rO znwUDS52u)OtY<~!d$;m9+87aO+&`#2ICl@Y>&F{jI=H(K+@3M1$rr=*H^dye#~TyD z!){#Pyfn+|ugUu}G;a~!&&0aqQ59U@UT3|_JuBlYUpT$2+11;}JBJ`{+lQN9T@QFY z5+`t;6(TS0F?OlBTE!@7D`8#URDNqx2t6`GZ{ZgXeS@v%-eJzZOHz18aS|svxII$a zZeFjrJ*$IwX$f-Rzr_G>xbu@euGl)B7pC&S+CmDJBg$BoV~jxSO#>y z33`bupN#LDoW0feZe0%q8un0rYN|eRAnwDHQ6e_)xBTbtoZtTA=Fvk){q}9Os~6mQ zKB80VI_&6iSq`LnK7*kfHZoeX6?WE}8yjuDn=2#JG$+;-TOA1%^=DnXx%w{b=w}tS zQbU3XxtOI8E(!%`64r2`zog;5<0b4i)xBmGP^jiDZ2%HNSxIf3@wKs~uk4%3Mxz;~ zts_S~E4>W+YwI<-*-$U8*^HKDEa8oLbmqGg?3vewnaNg%Mm)W=)lcC_J+1ov^u*N3 zXJ?!BrH-+wGYziJq2Y#vyry6Z>NPgkEk+Ke`^DvNRdb>Q2Nlr#v%O@<5hbflI6EKE z9dWc0-ORk^T}jP!nkJ1imyjdVX@GrjOs%cpgA8-c&FH&$(4od#x6Y&=LiJZPINVyW z0snY$8JW@>tc2}DlrD3StQmA0Twck~@>8dSix9CyQOALcREdxoM$Sw*l!}bXKq9&r zysMWR@%OY24@e`?+#xV2bk{T^C_xSo8v2ZI=lBI*l{RciPwuE>L5@uhz@{!l)rtVlWC>)6(G)1~n=Q|S!{E9~6*fdpa*n z!()-8EpTdj=zr_Lswi;#{TxbtH$8*G=UM`I+icz7sr_SdnHXrv=?iEOF1UL+*6O;% zPw>t^kbW9X@oEXx<97%lBm-9?O_7L!DeD)Me#rwE54t~UBu9VZ zl_I1tBB~>jm@bw0Aljz8! zXBB6ATG6iByKIxs!qr%pz%wgqbg(l{65DP4#v(vqhhL{0b#0C8mq`bnqZ1OwFV z7mlZZJFMACm>h9v^2J9+^_zc1=JjL#qM5ZHaThH&n zXPTsR8(+)cj&>Un{6v*z?@VTLr{TmZ@-fY%*o2G}*G}#!bmqpoo*Ay@U!JI^Q@7gj;Kg-HIrLj4}#ec4~D2~X6vo;ghep-@&yOivYP zC19L0D`jjKy1Yi-SGPAn94(768Tcf$urAf{)1)9W58P`6MA{YG%O?|07!g9(b`8PXG1B1Sh0?HQmeJtP0M$O$hI z{5G`&9XzYhh|y@qsF1GnHN|~^ru~HVf#)lOTSrv=S@DyR$UKQk zjdEPFDz{uHM&UM;=mG!xKvp;xAGHOBo~>_=WFTmh$chpC7c`~7?36h)7$fF~Ii}8q zF|YXxH-Z?d+Q+27Rs3X9S&K3N+)OBxMHn1u(vlrUC6ckBY@@jl+mgr#KQUKo#VeFm zFwNYgv0<%~Wn}KeLeD9e1$S>jhOq&(e*I@L<=I5b(?G(zpqI*WBqf|Zge0&aoDUsC zngMRA_Kt0>La+Erl=Uv_J^p(z=!?XHpenzn$%EA`JIq#yYF?JLDMYiPfM(&Csr#f{ zdd+LJL1by?xz|D8+(fgzRs~(N1k9DSyK@LJygwaYX8dZl0W!I&c^K?7)z{2is;OkE zd$VK-(uH#AUaZrp=1z;O*n=b?QJkxu`Xsw&7yrX0?(CX=I-C#T;yi8a<{E~?vr3W> zQrpPqOW2M+AnZ&p{hqmHZU-;Q(7?- zP8L|Q0RM~sB0w1w53f&Kd*y}ofx@c z5Y6B8qGel+uT1JMot$nT1!Tim6{>oZzJXdyA+4euOLME?5Fd_85Uk%#E*ln%y{u8Q z$|?|R@Hpb~yTVK-Yr_S#%NUy7EBfYGAg>b({J|5b+j-PBpPy$Ns`PaJin4JdRfOaS zE|<HjH%NuJgsd2wOlv>~y=np%=2)$M9LS|>P)zJ+Fei5vYo_N~B0XCn+GM76 z)Xz3tg*FRVFgIl9zpESgdpWAavvVViGlU8|UFY{{gVJskg*I!ZjWyk~OW-Td4(mZ6 zB&SQreAAMqwp}rjy`HsG({l2&q5Y52<@AULVAu~rWI$UbFuZs>Sc*x+XI<+ez%$U)|a^unjpiW0l0 zj1!K0(b6$8LOjzRqQ~K&dfbMIE=TF}XFAi)$+h}5SD3lo z%%Qd>p9se=VtQG{kQ;N`sI)G^u|DN#7{aoEd zkksYP%_X$Rq08);-s6o>CGJ<}v`qs%eYf+J%DQ^2k68C%nvikRsN?$ap--f+vCS`K z#&~)f7!N^;sdUXu54gl3L=LN>FB^tuK=y2e#|hWiWUls__n@L|>xH{%8lIJTd5`w? zSwZbnS;W~DawT4OwSJVdAylbY+u5S+ZH{4hAi2&}Iv~W(UvHg(1GTZRPz`@{SOqzy z(8g&Dz=$PfRV=6FgxN~zo+G8OoPI&d-thcGVR*_^(R8COTM@bq?fDwY{}WhsQS1AK zF6R1t8!RdFmfocpJ6?9Yv~;WYi~XPgs(|>{5})j!AR!voO7y9&cMPo#80A(`za@t>cx<0;qxM@S*m(jYP)dMXr*?q0E`oL;12}VAep179uEr8c<=D zr5?A*C{eJ`z9Ee;E$8)MECqatHkbHH z&Y+ho0B$31MIB-xm&;xyaFCtg<{m~M-QDbY)fQ>Q*Xibb~8ytxZQ?QMf9!%cV zU0_X1@b4d+Pg#R!`OJ~DOrQz3@cpiGy~XSKjZQQ|^4J1puvwKeScrH8o{bscBsowomu z^f12kTvje`yEI3eEXDHJ6L+O{Jv$HVj%IKb|J{IvD*l6IG8WUgDJ*UGz z3!C%>?=dlfSJ>4U88)V+`U-!9r^@AxJBx8R;)J4Fn@`~k>8>v0M9xp90OJElWP&R5 zM#v*vtT}*Gm1^)Bv!s72T3PB0yVIjJW)H7a)ilkAvoaH?)jjb`MP>2z{%Y?}83 zUIwBKn`-MSg)=?R)1Q0z3b>dHE^)D8LFs}6ASG1|daDly_^lOSy&zIIhm*HXm1?VS=_iacG);_I9c zUQH1>i#*?oPIwBMJkzi_*>HoUe}_4o>2(SHWzqQ=;TyhAHS;Enr7!#8;sdlty&(>d zl%5cjri8`2X^Ds`jnw7>A`X|bl=U8n+3LKLy(1dAu8`g@9=5iw$R0qk)w8Vh_Dt^U zIglK}sn^)W7aB(Q>HvrX=rxB z+*L)3DiqpQ_%~|m=44LcD4-bxO3OO*LPjsh%p(k?&jvLp0py57oMH|*IMa(<|{m1(0S|x)?R-mqJ=I;_YUZA>J z62v*eSK;5w!h8J+6Z2~oyGdZ68waWfy09?4fU&m7%u~zi?YPHPgK6LDwphgaYu%0j zurtw)AYOpYKgHBrkX189mlJ`q)w-f|6>IER{5Lk97%P~a-JyCRFjejW@L>n4vt6#hq;!|m;hNE||LK3nw1{bJOy+eBJjK=QqNjI;Q6;Rp5 z&035pZDUZ#%Oa;&_7x0T<7!RW`#YBOj}F380Bq?MjjEhrvlCATPdkCTTl+2efTX$k zH&0zR1n^`C3ef~^sXzJK-)52(T}uTG%OF8yDhT76L~|^+hZ2hiSM*QA9*D5odI1>& z9kV9jC~twA5MwyOx(lsGD_ggYmztXPD`2=_V|ks_FOx!_J8!zM zTzh^cc+=VNZ&(OdN=y4Juw)@8-85lwf_#VMN!Ed(eQiRiLB2^2e`4dp286h@v@`O%_b)Y~A; zv}r6U?zs&@uD_+(_4bwoy7*uozNvp?bXFoB8?l8yG0qsm1JYzIvB_OH4_2G*IIOwT zVl%HX1562vLVcxM_RG*~w_`FbIc!(T=3>r528#%mwwMK}uEhJ()3MEby zQQjzqjWkwfI~;Fuj(Lj=Ug0y`>~C7`w&wzjK(rPw+Hpd~EvQ-ufQOiB4OMpyUKJhw zqEt~jle9d7S~LI~$6Z->J~QJ{Vdn3!c}g9}*KG^Kzr^(7VI5Gk(mHLL{itj_hG?&K4Ws0+T4gLfi3eu$N=`s36geNC?c zm!~}vG6lx9Uf^5M;bWntF<-{p^bruy~f?sk9 zcETAPQZLoJ8JzMMg<-=ju4keY@SY%Wo?u9Gx=j&dfa6LIAB|IrbORLV1-H==Z1zCM zeZcOYpm5>U2fU7V*h;%n`8 zN95QhfD994={1*<2vKLCNF)feKOGk`R#K~G=;rfq}|)s20&MCa65 zUM?xF5!&e0lF%|U!#rD@I{~OsS_?=;s_MQ_b_s=PuWdC)q|UQ&ea)DMRh5>fpQjXe z%9#*x=7{iRCtBKT#H>#v%>77|{4_slZ)XCY{s3j_r{tdpvb#|r|sbS^dU1x70$eJMU!h{Y7Kd{dl}9&vxQl6Jt1a` zHQZrWyY0?!vqf@u-fxU_@+}u(%Wm>0I#KP48tiAPYY!TdW(o|KtVI|EUB9V`CBBNaBLVih7+yMVF|GSoIQD0Jfb{ z!OXq;(>Z?O`1gap(L~bUcp>Lc@Jl-})^=6P%<~~9ywY=$iu8pJ0m*hOPzr~q`23eX zgbs;VOxxENe0UMVeN*>uCn9Gk!4siN-e>x)pIKAbQz!G)TcqIJ0`JBBaX>1-4_XO_-HCS^vr2vjv#7KltDZdyQ{tlWh4$Gm zB>|O1cBDC)yG(sbnc*@w6e%e}r*|IhpXckx&;sQCwGdKH+3oSG-2)Bf#x`@<4ETAr z0My%7RFh6ZLiZ_;X6Mu1YmXx7C$lSZ^}1h;j`EZd6@%JNUe=btBE z%s=Xmo1Ps?8G`}9+6>iaB8bgjUdXT?=trMu|4yLX^m0Dg{m7rpKNJey|EwHI+nN1e zL^>qN%5Fg)dGs4DO~uwIdXImN)QJ*Jhpj7$fq_^`{3fwpztL@WBB}OwQ#Epo-mqMO zsM$UgpFiG&d#)lzEQ{3Q;)&zTw;SzGOah-Dpm{!q7<8*)Ti_;xvV2TYXa}=faXZy? z3y?~GY@kl)>G&EvEijk9y1S`*=zBJSB1iet>0;x1Ai)*`^{pj0JMs)KAM=@UyOGtO z3y0BouW$N&TnwU6!%zS%nIrnANvZF&vB1~P5_d`x-giHuG zPJ;>XkVoghm#kZXRf>qxxEix;2;D1CC~NrbO6NBX!`&_$iXwP~P*c($EVV|669kDO zKoTLZNF4Cskh!Jz5ga9uZ`3o%7Pv`d^;a=cXI|>y;zC3rYPFLQkF*nv(r>SQvD*## z(Vo%^9g`%XwS0t#94zPq;mYGLKu4LU3;txF26?V~A0xZbU4Lmy`)>SoQX^m7fd^*E z+%{R4eN!rIk~K)M&UEzxp9dbY;_I^c} zOc{wlIrN_P(PPqi51k_$>Lt|X6A^|CGYgKAmoI#Li?;Wq%q~q*L7ehZkUrMxW67Jl zhsb~+U?33QS>eqyN{(odAkbopo=Q$Az?L+NZW>j;#~@wCDX?=L5SI|OxI~7!Pli;e zELMFcZtJY3!|=Gr2L4>z8yQ-{To>(f80*#;6`4IAiqUw`=Pg$%C?#1 z_g@hIGerILSU>=P>z{gM|DS91A4cT@PEIB^hSop!uhMo#2G;+tQSpDO_6nOnPWSLU zS;a9m^DFMXR4?*X=}d7l;nXuHk&0|m`NQn%d?8|Ab3A9l9Jh5s120ibWBdB z$5YwsK3;wvp!Kn@)Qae{ef`0#NwlRpQ}k^r>yos_Ne1;xyKLO?4)t_G4eK~wkUS2A&@_;)K0-03XGBzU+5f+uMDxC z(s8!8!RvdC#@`~fx$r)TKdLD6fWEVdEYtV#{ncT-ZMX~eI#UeQ-+H(Z43vVn%Yj9X zLdu9>o%wnWdvzA-#d6Z~vzj-}V3FQ5;axDIZ;i(95IIU=GQ4WuU{tl-{gk!5{l4_d zvvb&uE{%!iFwpymz{wh?bKr1*qzeZb5f6e6m_ozRF&zux2mlK=v_(_s^R6b5lu?_W4W3#<$zeG~Pd)^!4tzhs}-Sx$FJP>)ZGF(hVTH|C3(U zs0PO&*h_ zNA-&qZpTP$$LtIgfiCn07}XDbK#HIXdmv8zdz4TY;ifNIH-0jy(gMSByG2EF~Th#eb_TueZC` zE?3I>UTMpKQ})=C;6p!?G)M6w^u*A57bD?2X`m3X^6;&4%i_m(uGJ3Z5h`nwxM<)H z$I5m?wN>O~8`BGnZ=y^p6;0+%_0K}Dcg|K;+fEi|qoBqvHj(M&aHGqNF48~XqhtU? z^ogwBzRlOfpAJ+Rw7IED8lRbTdBdyEK$gPUpUG}j-M42xDj_&qEAQEtbs>D#dRd7Y z<&TpSZ(quQDHiCFn&0xsrz~4`4tz!CdL8m~HxZM_agu@IrBpyeL1Ft}V$HX_ZqDPm z-f89)pjuEzGdq-PRu`b1m+qBGY{zr_>{6Ss>F|xHZlJj9dt5HD$u`1*WZe)qEIuDSR)%z+|n zatVlhQ?$w#XRS7xUrFE;Y8vMGhQS5*T{ZnY=q1P?w5g$OKJ#M&e??tAmPWHMj3xhS ziGxapy?kn@$~2%ZY;M8Bc@%$pkl%Rvj!?o%agBvpQ-Q61n9kznC4ttrRNQ4%GFR5u zyv%Yo9~yxQJWJSfj z?#HY$y=O~F|2pZs22pu|_&Ajd+D(Mt!nPUG{|1nlvP`=R#kKH zO*s$r_%ss5h1YO7k0bHJ2CXN)Yd6CHn~W!R=SqkWe=&nAZu(Q1G!xgcUilM@YVei@2@a`8he z9@pM`)VB*=e7-MWgLlXlc)t;fF&-AwM{E-EX}pViFn0I0CNw2bNEnN2dj!^4(^zS3 zobUm1uQnpqk_4q{pl*n06=TfK_C>UgurKFjRXsK_LEn};=79`TB12tv6KzwSu*-C8 z;=~ohDLZylHQ|Mpx-?yql>|e=vI1Z!epyUpAcDCp4T|*RV&X`Q$0ogNwy6mFALo^@ z9=&(9txO8V@E!@6^(W0{*~CT>+-MA~vnJULBxCTUW>X5>r7*eXYUT0B6+w@lzw%n> z_VjJ<2qf|(d6jYq2(x$(ZDf!yVkfnbvNmb5c|hhZ^2TV_LBz`9w!e_V*W_(MiA7|= z&EeIIkw*+$Xd!)j8<@_<}A5;~A_>3JT*kX^@}cDoLd>Qj<`Se^wdUa(j0dp+Tl8EptwBm{9OGsdFEq zM`!pjf(Lm(`$e3FLOjqA5LnN5o!}z{ zNf}rJuZh@yUtq&ErjHeGzX4(!luV!jB&;FAP|!R_QHYw#^Z1LwTePAKJ6X&IDNO#; z)#I@Xnnzyij~C@UH~X51JCgQeF0&hTXnuoElz#m{heZRexWc0k4<>0+ClX7%0 zEBqCCld1tD9Zwkr4{?Nor19#E5-YKfB8d?qgR82-Ow2^AuNevly2*tHA|sK!ybYkX zm-sLQH72P&{vEAW6+z~O5d0qd=xW~rua~5a?ymYFSD@8&gV)E5@RNNBAj^C99+Z5Z zR@Pq55mbCQbz+Mn$d_CMW<-+?TU960agEk1J<>d>0K=pF19yN))a~4>m^G&tc*xR+yMD*S=yip-q=H zIlredHpsJV8H(32@Zxc@bX6a21dUV95Th--8pE6C&3F>pk=yv$yd6@Haw;$v4+Fcb zRwn{Qo@0`7aPa2LQOP}j9v>sjOo5Kqvn|`FLizX zB+@-u4Lw|jsvz{p^>n8Vo8H2peIqJJnMN}A)q6%$Tmig7eu^}K2 zrh$X?T|ZMsoh{6pdw1G$_T<`Ds-G=jc;qcGdK4{?dN2-XxjDNbb(7pk|3JUVCU4y; z)?LXR>f+AAu)JEiti_Zy#z5{RgsC}R(@jl%9YZ>zu~hKQ*AxbvhC378-I@{~#%Y`Z zy=a=9YpewPIC+gkEUUwtUL7|RU7=!^Aa}Mk^6uxOgRGA#JXjWLsjFUnix|Mau{hDT z7mn*z1m5g`vP(#tjT0Zy4eAY(br&!RiiXE=ZI!{sE1#^#%x^Z7t1U)b<;%Y}Q9=5v z;wpDCEZ@OE36TWT=|gxigT@VaW9BvHS05;_P(#s z8zI4XFQys}q)<`tkX$WnSarn{3e!s}4(J!=Yf>+Y>cP3f;vr63f2{|S^`_pWc)^5_!R z*(x-fuBxL51@xe!lnDBKi}Br$c$BMZ3%f2Sa6kLabiBS{pq*yj;q|k(86x`PiC{p6 z_bxCW{>Q2BA8~Ggz&0jkrcU+-$ANBsOop*ms>34K9lNYil@}jC;?cYP(m^P}nR6FV zk(M%48Z&%2Rx$A&FhOEirEhY0(dn;-k(qkTU)sFQ`+-ih+s@A8g?r8Pw+}2;35WYf zi}VO`jS`p(tc)$X$a>-#WXoW!phhatC*$}|rk>|wUU71eUJG^$c6_jwX?iSHM@6__ zvV|6%U*$sSXJu9SX?2%M^kK|}a2QJ8AhF{fuXrHZxXsI~O zGKX45!K7p*MCPEQ=gp?eu&#AW*pR{lhQR##P_*{c_DjMGL|3T3-bSJ(o$|M{ytU}> zAV>wq*uE*qFo9KvnA^@juy{x<-u*#2NvkV={Ly}ysKYB-k`K3@K#^S1Bb$8Y#0L0# z`6IkSG&|Z$ODy|VLS+y5pFJx&8tvPmMd8c9FhCyiU8~k6FwkakUd^(_ml8`rnl>JS zZV){9G*)xBqPz^LDqRwyS6w86#D^~xP4($150M)SOZRe9sn=>V#aG0Iy(_^YcPpIz8QYM-#s+n% z@Jd?xQq?Xk6=<3xSY7XYP$$yd&Spu{A#uafiIfy8gRC`o0nk{ezEDjb=q_qRAlR1d zFq^*9Gn)yTG4b}R{!+3hWQ+u3GT~8nwl2S1lpw`s0X_qpxv)g+JIkVKl${sYf_nV~B>Em>M;RlqGb5WVil(89 zs=ld@|#;dq1*vQGz=7--Br-|l) zZ%Xh@v8>B7P?~}?Cg$q9_={59l%m~O&*a6TKsCMAzG&vD>k2WDzJ6!tc!V)+oxF;h zJH;apM=wO?r_+*#;ulohuP=E>^zon}a$NnlcQ{1$SO*i=jnGVcQa^>QOILc)e6;eNTI>os=eaJ{*^DE+~jc zS}TYeOykDmJ=6O%>m`i*>&pO_S;qMySJIyP=}4E&J%#1zju$RpVAkZbEl+p%?ZP^C z*$$2b4t%a(e+%>a>d_f_<JjxI#J1x;=hPd1zFPx=6T$;;X1TD*2(edZ3f46zaAoW>L53vS_J*N8TMB|n+;LD| zC=GkQPpyDY#Am4l49chDv*gojhRj_?63&&8#doW`INATAo(qY#{q}%nf@eTIXmtU< zdB<7YWfyCmBs|c)cK>1)v&M#!yNj#4d$~pVfDWQc_ke1?fw{T1Nce_b`v|Vp5ig(H zJvRD^+ps46^hLX;=e2!2e;w9y1D@!D$c@Jc&%%%IL=+xzw55&2?darw=9g~>P z9>?Kdc$r?6c$m%x2S$sdpPl>GQZ{rC9mPS63*qjCVa?OIBj!fW zm|g?>CVfGXNjOfcyqImXR_(tXS(F{FcoNzKvG5R$IgGaxC@)i(e+$ME}vPVIhd|mx2IIE+f zM?9opQHIVgBWu)^A|RzXw!^??S!x)SZOwZaJkGjc<_}2l^eSBm!eAJG9T>EC6I_sy z?bxzDIAn&K5*mX)$RQzDA?s)-no-XF(g*yl4%+GBf`##bDXJ==AQk*xmnatI;SsLp zP9XTHq5mmS=iWu~9ES>b%Q=1aMa|ya^vj$@qz9S!ih{T8_PD%Sf_QrNKwgrXw9ldm zHRVR98*{C?_XNpJn{abA!oix_mowRMu^2lV-LPi;0+?-F(>^5#OHX-fPED zCu^l7u3E%STI}c4{J2!)9SUlGP_@!d?5W^QJXOI-Ea`hFMKjR7TluLvzC-ozCPn1`Tpy z!vlv@_Z58ILX6>nDjTp-1LlFMx~-%GA`aJvG$?8*Ihn;mH37eK**rmOEwqegf-Ccx zrIX4;{c~RK>XuTXxYo5kMiWMy)!IC{*DHG@E$hx?RwP@+wuad(P1{@%tRkyJRqD)3 zMHHHZ4boqDn>-=DgR5VlhQTpfVy182Gk;A_S8A1-;U1RR>+$62>(MUx@Nox$vTjHq z%QR=j!6Gdyb5wu7y(YUktwMuW5<@jl?m4cv4BODiT5o8qVdC0MBqGr@-YBIwnpZAY znX9(_uQjP}JJ=!~Ve9#5I~rUnN|P_3D$LqZcvBnywYhjlMSFHm`;u9GPla{5QD7(7*6Tb3Svr8;(nuAd81q$*uq6HC_&~je*Ca7hP4sJp0av{M8480wF zxASi7Qv+~@2U%Nu1Ud;s-G4CTVWIPyx!sg&8ZG0Wq zG_}i3C(6_1>q3w!EH7$Kwq8uBp2F2N7}l65mk1p*9v0&+;th=_E-W)E;w}P(j⁢ zv5o9#E7!G0XmdzfsS{efPNi`1b44~SZ4Z8fuX!I}#8g+(wxzQwUT#Xb2(tbY1+EUhGKoT@KEU9Ktl>_0 z%bjDJg;#*gtJZv!-Zs`?^}v5eKmnbjqlvnSzE@_SP|LG_PJ6CYU+6zY6>92%E+ z=j@TZf-iW4(%U{lnYxQA;7Q!b;^brF8n0D>)`q5>|WDDXLrqYU_tKN2>=#@~OE7grMnNh?UOz-O~6 z6%rHy{#h9K0AT+lDC7q4{hw^|q6*Ry;;L%Q@)Ga}$60_q%D)rv(CtS$CQbpq9|y1e zRSrN4;$Jyl{m5bZw`$8TGvb}(LpY{-cQ)fcyJv7l3S52TLXVDsphtv&aPuDk1OzCA z4A^QtC(!11`IsNx_HnSy?>EKpHJWT^wmS~hc^p^zIIh@9f6U@I2 zC=Mve{j2^)mS#U$e{@Q?SO6%LDsXz@SY+=cK_QMmXBIU)j!$ajc-zLx3V60EXJ!qC zi<%2x8Q24YN+&8U@CIlN zrZkcT9yh%LrlGS9`G)KdP(@9Eo-AQz@8GEFWcb7U=a0H^ZVbLmz{+&M7W(nXJ4sN8 zJLR7eeK(K8`2-}j(T7JsO`L!+CvbueT%izanm-^A1Dn{`1Nw`9P?cq;7no+XfC`K(GO9?O^5zNIt4M+M8LM0=7Gz8UA@Z0N+lg+cX)NfazRu z5D)~HA^(u%w^cz+@2@_#S|u>GpB+j4KzQ^&Wcl9f z&hG#bCA(Yk0D&t&aJE^xME^&E-&xGHhXn%}psEIj641H+Nl-}boj;)Zt*t(4wZ5DN z@GXF$bL=&pBq-#vkTkh>7hl%K5|3 z{`Vn9b$iR-SoGENp}bn4;fR3>9sA%X2@1L3aE9yTra;Wb#_`xWwLSLdfu+PAu+o3| zGVnpzPr=ch{uuoHjtw7+_!L_2;knQ!DuDl0R`|%jr+}jFzXtrHIKc323?JO{l&;VF z*L1+}JU7%QJOg|5|Tc|D8fN zJORAg=_vsy{ak|o);@)Yh8Lkcg@$FG3k@ep36BRa^>~UmnRPziS>Z=`Jb2x*Q#`%A zU*i3&Vg?TluO@X0O;r2Jl6LKLUOVhSqg1*qOt^|8*c7 zo(298@+r$k_wQNGHv{|$tW(T8L+4_`FQ{kEW5Jgg{yf7ey4ss_(SNKfz(N9lx&a;< je(UuV8hP?p&}TPdm1I$XmG#(RzlD&B2izSj9sl%y5~4qc literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..3fa8f86 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,7 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip +networkTimeout=10000 +validateDistributionUrl=true +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100755 index 0000000..1aa94a4 --- /dev/null +++ b/gradlew @@ -0,0 +1,249 @@ +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..93e3f59 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,92 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/settings.gradle.kts b/settings.gradle.kts new file mode 100644 index 0000000..46ec124 --- /dev/null +++ b/settings.gradle.kts @@ -0,0 +1 @@ +rootProject.name = "Advent of Code Kotlin Template" diff --git a/src/Day01.kt b/src/Day01.kt new file mode 100644 index 0000000..284d028 --- /dev/null +++ b/src/Day01.kt @@ -0,0 +1,17 @@ +fun main() { + fun part1(input: List): Int { + return input.size + } + + fun part2(input: List): Int { + return input.size + } + + // test if implementation meets criteria from the description, like: + val testInput = readInput("Day01_test") + check(part1(testInput) == 1) + + val input = readInput("Day01") + part1(input).println() + part2(input).println() +} diff --git a/src/Utils.kt b/src/Utils.kt new file mode 100644 index 0000000..543b7c4 --- /dev/null +++ b/src/Utils.kt @@ -0,0 +1,21 @@ +import java.io.File +import java.math.BigInteger +import java.security.MessageDigest + +/** + * Reads lines from the given input txt file. + */ +fun readInput(name: String) = File("src", "$name.txt") + .readLines() + +/** + * Converts string to md5 hash. + */ +fun String.md5() = BigInteger(1, MessageDigest.getInstance("MD5").digest(toByteArray())) + .toString(16) + .padStart(32, '0') + +/** + * The cleaner shorthand for printing output. + */ +fun Any?.println() = println(this)