From 13a490b417fc7fc72325db044a293d7d48e95515 Mon Sep 17 00:00:00 2001 From: "Aaron D. Lee" Date: Mon, 26 Jan 2026 15:01:49 -0500 Subject: [PATCH] More host UI refinements, intuitive UI enhancements during gameplay. --- README.md | 55 ++++--------- client/app.js | 62 ++++++++++++--- client/index.html | 17 ++-- client/style.css | 197 ++++++++++++++++++++++++++++++++++++++++++++-- server/RULES.md | 4 +- server/game.py | 2 +- server/games.db | Bin 17231872 -> 17657856 bytes 7 files changed, 266 insertions(+), 71 deletions(-) diff --git a/README.md b/README.md index dfd665f..7343ce7 100644 --- a/README.md +++ b/README.md @@ -30,32 +30,17 @@ uvicorn main:app --reload --host 0.0.0.0 --port 8000 Open `http://localhost:8000` in your browser. -## Game Rules +## How to Play -See [server/RULES.md](server/RULES.md) for complete rules documentation. +**6-Card Golf** is a card game where you try to get the **lowest score** across multiple rounds (holes). -### Basic Scoring +- Each player has 6 cards in a 2×3 grid (most start face-down) +- On your turn: **draw** a card, then **swap** it with one of yours or **discard** it +- **Column pairs** (same rank top & bottom) score **0 points** — very powerful! +- When any player reveals all 6 cards, everyone else gets one final turn +- Lowest total score after all rounds wins -| Card | Points | -|------|--------| -| Ace | 1 | -| 2 | **-2** | -| 3-10 | Face value | -| Jack, Queen | 10 | -| King | **0** | -| Joker | -2 *(optional)* | - -**Column pairs** (same rank in a column) score **0 points**. - -### Turn Structure - -1. Draw from deck OR take from discard pile -2. **If from deck:** Swap with a card OR discard and flip a face-down card -3. **If from discard:** Must swap (cannot re-discard) - -### Ending - -When a player reveals all 6 cards, others get one final turn. Lowest score wins. +**For detailed rules, card values, and house rule explanations, see the in-game Rules page or [server/RULES.md](server/RULES.md).** ## AI Personalities @@ -72,26 +57,14 @@ When a player reveals all 6 cards, others get one final turn. Lowest score wins. ## House Rules -### Point Modifiers -- `super_kings` - Kings worth -2 (instead of 0) -- `ten_penny` - 10s worth 1 (instead of 10) -- `lucky_swing` - Single Joker worth -5 -- `eagle_eye` - Paired Jokers score -8 +The game supports 15+ optional house rules including: -### Bonuses & Penalties -- `knock_bonus` - First to go out gets -5 -- `underdog_bonus` - Lowest scorer gets -3 -- `knock_penalty` - +10 if you go out but aren't lowest -- `tied_shame` - +5 penalty for tied scores -- `blackjack` - Score of exactly 21 becomes 0 +- **Flip Modes** - Standard, Speed Golf (must flip after discard), Suspense (optional flip near endgame) +- **Point Modifiers** - Super Kings (-2), Ten Penny (10=1), Lucky Swing Joker (-5) +- **Bonuses & Penalties** - Knock bonus/penalty, Underdog bonus, Tied Shame, Blackjack (21→0) +- **Joker Variants** - Standard, Eagle Eye (paired Jokers = -8) -### Gameplay Options -- `flip_mode` - What happens when discarding from deck: - - `never` - Standard (no flip) - - `always` - Speed Golf (must flip after discard) - - `endgame` - Suspense (optional flip when any player has ≤1 face-down card) -- `use_jokers` - Add Jokers to deck -- `eagle_eye` - Paired Jokers score -8 instead of canceling +See the in-game Rules page or [server/RULES.md](server/RULES.md) for complete explanations. ## Development diff --git a/client/app.js b/client/app.js index 475921c..22bdb7e 100644 --- a/client/app.js +++ b/client/app.js @@ -189,6 +189,7 @@ class GolfGame { this.leaveGameBtn = document.getElementById('leave-game-btn'); this.activeRulesBar = document.getElementById('active-rules-bar'); this.activeRulesList = document.getElementById('active-rules-list'); + this.finalTurnBadge = document.getElementById('final-turn-badge'); } bindEvents() { @@ -1261,10 +1262,22 @@ class GolfGame { if (rules.length === 0) { // Show "Standard Rules" when no variants selected this.activeRulesList.innerHTML = 'Standard'; - } else { + } else if (rules.length <= 2) { + // Show all rules if 2 or fewer this.activeRulesList.innerHTML = rules .map(rule => `${rule}`) .join(''); + } else { + // Show first 2 rules + "+N more" with tooltip + const displayed = rules.slice(0, 2); + const hidden = rules.slice(2); + const moreCount = hidden.length; + const tooltip = hidden.join(', '); + + this.activeRulesList.innerHTML = displayed + .map(rule => `${rule}`) + .join('') + + `+${moreCount} more`; } this.activeRulesBar.classList.remove('hidden'); } @@ -1351,20 +1364,24 @@ class GolfGame { updateStatusFromGameState() { if (!this.gameState) { this.setStatus(''); + this.finalTurnBadge.classList.add('hidden'); return; } const isFinalTurn = this.gameState.phase === 'final_turn'; const currentPlayer = this.gameState.players.find(p => p.id === this.gameState.current_player_id); + // Show/hide final turn badge separately + if (isFinalTurn) { + this.finalTurnBadge.classList.remove('hidden'); + } else { + this.finalTurnBadge.classList.add('hidden'); + } + if (currentPlayer && currentPlayer.id !== this.playerId) { - const prefix = isFinalTurn ? '⚡ Final turn: ' : ''; - this.setStatus(`${prefix}${currentPlayer.name}'s turn`); + this.setStatus(`${currentPlayer.name}'s turn`); } else if (this.isMyTurn()) { - const message = isFinalTurn - ? '⚡ Final turn! Draw a card' - : 'Your turn - draw a card'; - this.setStatus(message, 'your-turn'); + this.setStatus('Your turn - draw a card', 'your-turn'); } else { this.setStatus(''); } @@ -1467,6 +1484,14 @@ class GolfGame { this.currentRoundSpan.textContent = this.gameState.current_round; this.totalRoundsSpan.textContent = this.gameState.total_rounds; + // Show/hide final turn badge + const isFinalTurn = this.gameState.phase === 'final_turn'; + if (isFinalTurn) { + this.finalTurnBadge.classList.remove('hidden'); + } else { + this.finalTurnBadge.classList.add('hidden'); + } + // Update status message (handled by specific actions, but set default here) const currentPlayer = this.gameState.players.find(p => p.id === this.gameState.current_player_id); if (currentPlayer && currentPlayer.id !== this.playerId) { @@ -1487,9 +1512,14 @@ class GolfGame { // Update player name in header (truncate if needed) const displayName = me.name.length > 12 ? me.name.substring(0, 11) + '…' : me.name; const checkmark = me.all_face_up ? ' ✓' : ''; - const crownEmoji = isRoundWinner ? ' 👑' : ''; - // Set text content before the score span - this.playerHeader.childNodes[0].textContent = displayName + checkmark + crownEmoji; + // Remove old crown if exists + const existingCrown = this.playerHeader.querySelector('.winner-crown'); + if (existingCrown) existingCrown.remove(); + // Set content - crown goes at the start + this.playerHeader.firstChild.textContent = displayName + checkmark; + if (isRoundWinner) { + this.playerHeader.insertAdjacentHTML('afterbegin', '👑'); + } } // Update discard pile (skip if holding a drawn card) @@ -1554,10 +1584,10 @@ class GolfGame { const displayName = player.name.length > 12 ? player.name.substring(0, 11) + '…' : player.name; const showingScore = this.calculateShowingScore(player.cards); - const crownEmoji = isRoundWinner ? ' 👑' : ''; + const crownHtml = isRoundWinner ? '👑' : ''; div.innerHTML = ` -

${displayName}${player.all_face_up ? ' ✓' : ''}${crownEmoji}${showingScore}

+

${crownHtml}${displayName}${player.all_face_up ? ' ✓' : ''}${showingScore}

${player.cards.map(card => this.renderCard(card, false, false)).join('')}
@@ -1734,6 +1764,14 @@ class GolfGame { showScoreboard(scores, isFinal, rankings) { this.scoreTable.innerHTML = ''; + // Clear the final turn badge and status message + this.finalTurnBadge.classList.add('hidden'); + if (isFinal) { + this.setStatus('Game Over!'); + } else { + this.setStatus('Hole complete'); + } + // Find round winner(s) - lowest round score (not total) const roundScores = scores.map(s => s.score); const minRoundScore = Math.min(...roundScores); diff --git a/client/index.html b/client/index.html index 0dc4e33..2e08275 100644 --- a/client/index.html +++ b/client/index.html @@ -10,9 +10,8 @@
-

🏌️ Golf

-

6-Card Golf Card Game

- +

🏌️ Golf

+

6-Card Golf Card Game

@@ -105,7 +104,7 @@ What happens when you draw from deck and discard
@@ -219,6 +218,7 @@
+
@@ -292,7 +292,6 @@
-
@@ -399,8 +398,8 @@ TOTAL: 0 + 8 + 16 = 24 points
-

Suspense Mode (Optional Flip Near Endgame)

-

Optional flip activates when any player is close to finishing.

+

Endgame Mode (Flip When Close to Finishing)

+

Flip activates when any player has only 1 hidden card remaining.

How it works:

-

Q: In Suspense mode, when exactly can I flip?

+

Q: In Endgame mode, when exactly can I flip?

A: The optional flip activates the moment ANY player (including you) has 1 or fewer face-down cards remaining. From that point until the round ends, whenever you discard from the deck, you'll get the option to flip or skip.

-

Q: Why would I NOT flip in Suspense mode?

+

Q: Why would I NOT flip in Endgame mode?

A: Maybe you have a hidden card you hope is good, and you don't want to reveal a potential disaster. Or maybe you want to keep your opponents guessing about your score. It's a strategic choice!

diff --git a/client/style.css b/client/style.css index 0bcbefb..34567d3 100644 --- a/client/style.css +++ b/client/style.css @@ -44,6 +44,115 @@ body { text-align: center; } +/* Golf title - golf ball with dimples and shine */ +.golf-title { + font-size: 1.3em; + font-weight: 800; + letter-spacing: 0.02em; + /* Shiny gradient like a golf ball surface */ + background: + /* Dimple pattern - diagonal grid */ + radial-gradient(circle at 3px 3px, rgba(0,0,0,0.18) 2px, transparent 2px), + /* Shiny highlight gradient - whiter */ + linear-gradient( + 135deg, + #ffffff 0%, + #ffffff 25%, + #f5f5f2 50%, + #ffffff 75%, + #f0f0ed 100% + ); + background-size: 10px 10px, 100% 100%; + background-position: 0 0, 0 0; + -webkit-background-clip: text; + background-clip: text; + color: transparent; + text-shadow: + 2px 2px 4px rgba(0, 0, 0, 0.2), + -1px -1px 0 rgba(255, 255, 255, 0.4); + filter: drop-shadow(1px 1px 1px rgba(0,0,0,0.15)); +} + +/* Golfer swing animation */ +.golfer-swing { + display: inline-block; + transform: scaleX(-1); + animation: golf-swing 0.8s cubic-bezier(0.4, 0, 0.2, 1) forwards; + animation-delay: 0.3s; +} + +@keyframes golf-swing { + 0% { + transform: scaleX(-1) translateX(0) rotate(0deg); + } + /* Wind up - pull back leg */ + 30% { + transform: scaleX(-1) translateX(-8px) rotate(-15deg); + } + /* Hold briefly */ + 40% { + transform: scaleX(-1) translateX(-8px) rotate(-15deg); + } + /* KICK! */ + 55% { + transform: scaleX(-1) translateX(8px) rotate(20deg); + } + /* Follow through */ + 80% { + transform: scaleX(-1) translateX(4px) rotate(12deg); + } + /* Final pose - freeze */ + 100% { + transform: scaleX(-1) translateX(3px) rotate(10deg); + } +} + +/* Kicked golf ball - parabolic trajectory */ +.kicked-ball { + display: inline-block; + font-size: 0.2em; + position: relative; + opacity: 0; + animation: ball-kicked 0.7s linear forwards; + animation-delay: 0.72s; +} + +/* Trajectory: y = 0.0124x² - 1.42x (parabola with peak at x=57) */ +@keyframes ball-kicked { + 0% { + transform: translate(-12px, 8px) scale(1); + opacity: 1; + } + 15% { + transform: translate(8px, -16px) scale(1); + opacity: 1; + } + 30% { + transform: translate(28px, -31px) scale(1); + opacity: 1; + } + 45% { + transform: translate(48px, -38px) scale(0.95); + opacity: 1; + } + 55% { + transform: translate(63px, -38px) scale(0.9); + opacity: 1; + } + 70% { + transform: translate(83px, -27px) scale(0.85); + opacity: 0.9; + } + 85% { + transform: translate(103px, -6px) scale(0.75); + opacity: 0.6; + } + 100% { + transform: translate(118px, 25px) scale(0.65); + opacity: 0; + } +} + #lobby-screen .form-group { text-align: left; } @@ -510,6 +619,9 @@ input::placeholder { .header-col-center { justify-content: center; + display: flex; + align-items: center; + gap: 10px; } .header-col-right { @@ -563,7 +675,7 @@ input::placeholder { .active-rules-bar .rules-list { display: flex; gap: 5px; - flex-wrap: wrap; + flex-wrap: nowrap; } .active-rules-bar .rule-tag { @@ -580,6 +692,18 @@ input::placeholder { color: rgba(255, 255, 255, 0.7); } +.active-rules-bar .rule-tag.rule-more { + background: rgba(255, 255, 255, 0.1); + color: rgba(255, 255, 255, 0.6); + cursor: help; + border: 1px dashed rgba(255, 255, 255, 0.3); +} + +.active-rules-bar .rule-tag.rule-more:hover { + background: rgba(255, 255, 255, 0.2); + color: rgba(255, 255, 255, 0.9); +} + /* Card Styles */ .card { width: clamp(65px, 5.5vw, 100px); @@ -661,6 +785,16 @@ input::placeholder { box-shadow: 0 0 0 3px #f4a460; } +/* Disable hover effects when not player's turn */ +.not-my-turn .card { + cursor: default; +} + +.not-my-turn .card:hover { + transform: none; + box-shadow: none; +} + .card.selected, .card.clickable.selected { box-shadow: 0 0 0 4px #fff, 0 0 12px 4px #f4a460; @@ -1060,9 +1194,13 @@ input::placeholder { /* Round winner highlight */ .opponent-area.round-winner h4, .player-area.round-winner h4 { - background: rgba(200, 255, 50, 0.6); - box-shadow: 0 0 8px rgba(200, 255, 50, 0.5); - color: #0a2a10; + background: rgba(180, 255, 80, 0.85); + color: #1a1a1a; +} + +.winner-crown { + filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.5)); + margin-right: 3px; } /* Status message in header */ @@ -1081,6 +1219,31 @@ input::placeholder { color: #1a472a; } +/* Final turn badge - separate indicator */ +.final-turn-badge { + background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%); + color: #fff; + padding: 6px 14px; + border-radius: 4px; + font-size: 0.85rem; + font-weight: 700; + letter-spacing: 0.05em; + animation: pulse-subtle 2s ease-in-out infinite; +} + +.final-turn-badge.hidden { + display: none; +} + +@keyframes pulse-subtle { + 0%, 100% { + box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.4); + } + 50% { + box-shadow: 0 0 0 4px rgba(220, 38, 38, 0); + } +} + @keyframes toastIn { from { opacity: 0; } to { opacity: 1; } @@ -1670,6 +1833,16 @@ input::placeholder { transform: scale(1.02); } +/* Disable hover effects when not player's turn */ +.not-my-turn .real-card { + cursor: default; +} + +.not-my-turn .real-card:hover { + transform: none; +} +} + .real-card.selected { box-shadow: 0 0 0 4px #fff, 0 0 15px 5px #f4a460; transform: scale(1.06); @@ -2159,14 +2332,26 @@ input::placeholder { #rules-screen { max-width: 800px; margin: 0 auto; - padding: 20px; + padding: 10px 20px; + width: auto; + margin-left: auto; + margin-right: auto; +} + +#rules-screen.active { + display: block; +} + +#rules-screen h1 { + margin-top: 0; } .rules-container { background: rgba(0, 0, 0, 0.3); border-radius: 12px; - padding: 25px 35px; + padding: 20px 35px; border: 1px solid rgba(255, 255, 255, 0.1); + margin-top: 0; } .rules-container h1 { diff --git a/server/RULES.md b/server/RULES.md index 37f7305..985c75a 100644 --- a/server/RULES.md +++ b/server/RULES.md @@ -272,13 +272,13 @@ The `flip_mode` setting controls what happens when you draw from the deck and ch |-------|------|----------| | `never` | **Standard** | No flip when discarding - your turn ends immediately. This is the classic rule. | | `always` | **Speed Golf** | Must flip one face-down card when discarding. Accelerates the game by revealing more information each turn. | -| `endgame` | **Suspense** | May *optionally* flip if any player has ≤1 face-down card. Creates tension near the end of rounds. | +| `endgame` | **Endgame** | Flip after discard if any player has 1 hidden card remaining. | **Standard (never):** When you draw from the deck and choose not to use the card, simply discard it and your turn ends. **Speed Golf (always):** When you discard from the deck, you must also flip one of your face-down cards. This accelerates the game by revealing more information each turn, leading to faster rounds. -**Suspense (endgame):** When any player has only 1 (or 0) face-down cards remaining, discarding from the deck gives you the *option* to flip a card. This creates tension near the end of rounds - do you reveal more to improve your position, or keep your cards hidden? +**Endgame:** When any player has only 1 (or 0) face-down cards remaining, discarding from the deck triggers a flip. This accelerates the endgame by revealing more information as rounds approach their conclusion. | Implementation | File | |----------------|------| diff --git a/server/game.py b/server/game.py index d27f625..ae36900 100644 --- a/server/game.py +++ b/server/game.py @@ -1066,7 +1066,7 @@ class Game: if self.options.flip_mode == FlipMode.ALWAYS.value: active_rules.append("Speed Golf") elif self.options.flip_mode == FlipMode.ENDGAME.value: - active_rules.append("Suspense") + active_rules.append("Endgame Flip") if self.options.knock_penalty: active_rules.append("Knock Penalty") if self.options.use_jokers and not self.options.lucky_swing and not self.options.eagle_eye: diff --git a/server/games.db b/server/games.db index acef4c71a6b3d48ed4fc3a641467f763785169f0..8a2a54438c87f0fb35f71adcd5a23646a1859b80 100644 GIT binary patch delta 110728 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 YP6tn+|1`X&P9WNsPNb57x6e=hf7nPjOaK4? delta 8230 zcmZ{p30M@zwt%~OoqfPPXmlI~WpEo@5Em3oBx<4=6x68E8AVOh#8IO$F&9Uc#^-|L zdKAS$0&3JCqEOx>Pe_Q%btSl9Tyed|C?Pj_Vo>p&?$NxwcfU8^_gB|cS9Nurs&nd` zYHv-6##^&l;|mevt}#r|?A4Y5Y}~bdu6(nmop}_4MX#?l1Pv%@@<|*^EsozFaDPop z9K1-@CbcV;u%>ywxoW@3l5GaxuN}fg<~N2Bn}ToKl5mzOEOs=uV+WotcCtYs8=1kn zj8JUgHUDC|Zstv?Mz3L;{%do|+BU8(BxCI`S2$~IT)V(!rA>lbJ|=(da=n9Z-_f++ z#I<9S=ej?hlst9H%z=XLTSkMgfIrilTCO=e?_;+oCTeZrj6rOlo@@U#<09MR*4mRZ zPp~HI+D)@E*#5)UT0S@)VJ-~j!q|`8Gp9~Uet+H+_uOP{FMLGp|1Bl%waq@9#j>C6 zPyH~ASb_sx{h4aZj9feN=j(J@dvtb;Ce)ON70k8Jwz46fHgU%J{?|AHW5UriHZji< zI4v7<344B`HJq9eXt4F}ZN=pd!l=H&~%SLaw zVD1bL%K0!be#duW*&2wQsrN$c4;CA5?8+_u>tCz>8@0M}lU}OeZ%R;<)ihOYo;l?t zPp6y|wvLim6O(`)!cvE&7Yy{iss)QhY-{2#3SMEfW|+o8Zj-OTTi&LPN%N6rtL7L# zj(6~dd^$LalAD3IZla{|k!hqqX~IBoWwR&Xi?oVR>#&4ELX@@B-k|;*A+Rpe8V0u_ ztyS<-Uuz_6h_r^n%)ZtLh*OgFfii3|yth@tyO`_L%i@6ZQPzbJ)6cp$P?i(@@~$)h z%cjLxw}CzeA5akW@}aH!;NM@PF}cwnlU^~_M3R8-WU;FSL>nXUDZX}ri?;fmQ(b_F|` zjn@22a||c^Bi2M9*b!|1%fwENv_wEZB?-oaIKcNUZznkQc!4`7_!LqPHQ(VH+3+nN z3hwXt@qt`ssOUhUTWoN>JI=0}>)jon&;=?xh<2K06MyAc?f2lDaQittbYR8h%I&UD z-az&!OV>u%MTj0DlaIAfKDPa{UnJsVoXVg)KB)z)a9BGpmTcl@;z%)EXcW$gmEv|` zm)Kw)Yq)7RXfzn3w6)srmEmgRO|of%sk=#Iykp)Jjs87V z2T%n10s3aly}&AGSLj-yh-y#^RB>@jxrtm)PWPvkfW4k=?ZEYFPrJYMPZ|>8&$*`| zNvy6_U{uPQqb1#~b{0B@xvl>GKWoTh|3j>q=>M@+sXyiy4fz7vhq=T3EM}AZdzE6c zU6}wo{kXT4BY~zHu~Cx0?7oJi`1KF5Q9#-J3$ep6|6uizamrmV_eXV6yK~^PlKhg| z(N$~{QT8>y0IvNX2Us%#RnqZhr_9|0tw<6FP56Nhl z_5+ZeTX`17M;zYFGsMiul-QT-LV(b8ot2DhjLx^9A!BbE-*NyRM#r7W|Z|2P!0})y{Hg1dC_(VUJ{iKcT%Hl_(!%+I4E;9Vu@p(I)**|sBkC$#<#e7<4? zpyT%F#V^dMA{>~$JPLIvuDOj&QpE&0OQTX?%8ICQYAIBwM0x0!|#wON8M^^HSiK71|hE@uOowzc;pRa2r?8IhP;Wqg$zeVAa7IA>wNNDuWQ9P*~yGz zEEHpHfe_2)7O>E=xi2_tw4K4@YSW4~u{0M6Zs1!`j0plY~&cWT(gisLD z6C5!0gKQfuh&qox4C!_LQ$juqY__*k6T)a&#OBt#(%4RVD3_@v?7%?0Z-CO_Y6;N_{TTxA+!gt~P&ZPBV`)JItc#3VKG% zOm0(elhJtF__cA3@jc@JV>99=*A4d#-x@X=W*Y_@TI+w+A0;LF9Q{1~P`yQ0PnMJ3 zx>LG*-6GvcUAXqS_JVegHck7Ewi|OxD{8K2iZx3$6E(dwdg&&sl@78!q*c;XslPO+ ziFi*uB(4`{ii6m9#aDzn;i#}x_(*tDXwTR4r}%t+5kHa`*-Sp1Yvj&zySY^E9j+TE zu$S3=;$Ae4P$?d3gDUeyIPKZqy$fA}CC6>x9q9IAlOzIud!kL4sAhj{<+RaVq3$t; z#e6t3j=3w4AXM5_tdUzH-WSWo4dN{EHRUb1=hzpIeH63HSU1~S6;e71DU#1MOQx%e znE2x+7YfRx2uc{Dh>GhXY*EBzxKC~w%K6{9F@_C>4-BshM^up=6Xxo->gVg<)LY|p ze~`YqGrH}%&t6Cjho;@FU4rk_Ry$VPRV(~eYGkT(Q#yz;n}#xL$}J(QaO*c339;W;*g7@;)*HnTgDz z^qUWc@8{~d`Bd`pO*ym(R){0ZYA}4m{Uih@ypF&qcx- zOTqDbsa+6o{wx@75j(w}>Y0Z(5^3=Qr zv?Q$IL$EB2u?v4N44DTGTT8p}E_OHxYkTd2nPH^IxR52gu!3QPSHSf_wq01mFxvfU z7G7QHS;3il;QF)l7|-haLHV+#cD}R8hb1-5y0S(qcs3Q<`AOylYDpI;&+<%Q^&Yht z-dN@Nn){3y0fNty^-7*5Ubn@tLC|R`4F>L*@SUd7Xklgc0NvyB+$L~g0fY)c_)3G} zhraG`TC>Ju5LoVg@GXgoz&SC);=#=$cq0x4;&z>i5S$FddQh?*?7{#X`0{{@J&jgw z^qj__U#7X)o&;9-6bC#MTr2bK&@RXGE@!+Lcvsf+49C;O&VOLe4~&oqaAQ_zM5cSI z2bqJ+Mdl$NA@h+1$j8V+6fB3SAM z@IjJI8X@IL3#CWWNhLx9i>IvFdWTWxUx$@CbLiVZaF7ih_SKT$KYUzIZ2p;;J_Ao5 z%UJ*Sm<=Q8>JlM^{+jL_vHP!M`pob7ho0EWjvmvK(WI>TNj>=&@t;4VN1t@JnvTIV z(a)*r-qT86!ZaPGJ}j`64erB{MI`VH-2apn=x^Fjd2BiMX!ox^p(i`Z%s_`^M&Mf3 zD~2OyaNDT#B1@1|Bn?SNG7uTbM3y4|fhM>DlnSDEF{f`@gU#H3We))L4*r^-J#IpepY8# zvj|X~=0hTs-Ooa&1uK(G^^!UL=PWw?=T$k0!zL&W(~I!I7$xjd0){{s!51pwhcZ3N zG^x`yLb53irr4kaC4ms-rL$?e1e)Ax8}!eu9s%1u+rq(jBTk?XbE}VVaA%OuMi<5V zSfXa3W4tdBGGFsOrPZ(d(6Q{5Uu~l~JFBd!^Y^4DIK@k8pP`gpy>anG5M^9=5f78Yra+EuMA>s3$!; z9~Kd%lAU&H{uE;wMQJm076P&n*+g>|W+(5U#FhPt2CnryA4+qg&%Y;8!Lhk)joI!@*ma;@292ukByK;N62ove8ythl-P z0dV>gn`rRu&7Ji|gHk1M8r1U*2$}cch`=`K6>O?qr^kQU+}Fpy$rUr;D$nZ(-Mm|7 zgTvJ)MB<9oiKW3c?e35g2ageQd3J>e15&qyW?oL)g5)4u5kHcPY@?Uc@;dZar27t; zhT*DXKnLjR_&5qI<#`TpdFEE3OkzX~l=DLAs&Dg7;>6F5vC*XYF%7Kh8q=I(c@NQ% zoEu{&ttnpKV&%#_x$<+lGQYI4fCNce4>JZ=BzWp3hJdx)yN>AbOr~9=Y6+ig940Ils09@ zy@N3XuPZ>dBRi0t$QQ^iWH+)0`4TBa_98`;uiN+RZOP0tiR#&ic;KrD zgEJej?WCLv44-l;B8V(Ii)H72*?B;AmXtb6`5=B2bC1Pyl+wPU;&!q|NOYA>Gidv2 zgEart91>1y*3++Cr3WM$RGH=_tDPqBC3F>FRgNo^+Gdp2WMH6LxJg5E#$KKxrPK6- z>3>iED*fy9Z_@uW{ZM*YdU^V{>E9iwAU?BL$t2>ODi%YL5KQn@41!_KA5C2YXB;o1 zQ{_ZMI4A5*%cV9t*)r!aC6Y1iT_DW zSD#SweNO7oxKBEzqC< z^r?R(KBmh5H9j)M-&9T4V<(CJIJK*mN(zx}ld4szm*pJODF+c<{1rRlj|~-_#r zg3~9pg5;p8*QwXLZ!8`r-a+r>lU7$k>09-sXqZddR@tCa^QuVL_@vZIyZ&B^Ds(uc z%0|zOzPyLP(U2-DX#wRSRd%{Qq-wUHiIloyAI3#suvCqtE=$#R5&dKbYlsJL()V_l z)UoO(Rx5yIXSL#JnpcBmh|exuN6)bz)D&;F!hkWZRQ&VK*c2o7jEn>uO-oNm z)n^K^=aCCkh^>A)NwLM~HZYJ|&bLxGIf|Q{NYuSo-BqC-z9*d6QH_TYJF4+8Vml@s zw^#3kP6gFJ!Ugei!xCUT3;NV}cgh8xOtpi|NX@N?$X zu%GGGum`qJ6(QoAGJbEahV+FG>*`NJbi$0DA?8~174vcPLGyO=I&&&FmW#(zQY#n4 zHi9Q%Tr-}1z+Qq`+aA~?-AUb7x}E4!SS*3@L7Qjw0kg3 z8WudO9|!4;^(9d7yng(@iJ)J$T=YOLdRSUii=K@6G>K+Y7&lxrR4j z<+%nMj5*g31%uBu1Vi_84NbsuuAwQImE5zl4NYjym4?d%Pv2^Tw2*wRc3Qx*snfSs z7lC2m=|3M_R9aKZ;~5A)grNrK`{-)0qgvHM-Tp^oF&6qopl1&~>Ow^IdsT5JmLPS= zugJfU-;m#t|DxW4N9j8LH+}>|ot2HFIp|s$>VSwUOeR)_wu18gk6J<9yxT6Ylspn( z^VP;7(CJ#E58k}qIEsx)qu!E7ycU)ndNc@bUTqu-Un@7mN*=k$+|u$#yqD`GO$8~o z-Wf7gH%b?wBid?hp*BN1Ub?02uGMO;Yf3aU*xT~c7a!ozG0RfjhH$#_jrxyvO8O4W zKgdqTe+`%FAjqw&&xXR>$vr^p8I>jmz70a|w#lu^@c5JD{=0$=7))pUR^M5I8Bgnd z0g;yDk)EQGW#4EuWF3FtF)5O?6PQPA1p!TvaWu>-daR@2`yLwzE1ZU`xE?7`8QbHK z|4N)lf@wwZV?Fn$CX$`>V##9@DZ3jlk_9aGfcutrW917M6Lro=hkf&yzJ|VWqp}yG zw@-71_>{dc=npCeH9RSc#D#T;&1V$#Vvpf2mCw!itMc&%t^vK}3*7fyF_+6_ai2l# zoKYcQnKR0wh~%xZM3l}05->E6&ov~n|E6V}Kqpo=;CqH|*O05)OrfTM3N=rjccXmy z{rMVr=*_of=Cpc>Jfk_S8k4DH(2?JHktv(_D@%HlvNLle@*D9lt7FNb7Fu>-XJvg2 z?4+g45T@HmGt?J{CG;dt%ezP@+m45=ei2WgU;$1x