From e250e9ed3042a0fc1d96230542a7cea2e1e68708 Mon Sep 17 00:00:00 2001 From: Alan Bridgeman Date: Wed, 8 Jul 2026 19:14:39 -0500 Subject: [PATCH] Adding a dropdown component --- src/components/dropdown/README.md | 23 ++ src/components/dropdown/dropdown.css | 367 ++++++++++++++++++ src/components/dropdown/dropdown.ejs | 123 ++++++ src/components/dropdown/dropdown.mjs | 211 ++++++++++ .../drawer-closed-chromium-linux.png | Bin 5607 -> 6254 bytes .../drawer-open-chromium-linux.png | Bin 23629 -> 25227 bytes .../tooltip-button-closed-chromium-linux.png | Bin 143 -> 141 bytes .../tooltip-container-open-chromium-linux.png | Bin 143 -> 141 bytes 8 files changed, 724 insertions(+) create mode 100644 src/components/dropdown/README.md create mode 100644 src/components/dropdown/dropdown.css create mode 100644 src/components/dropdown/dropdown.ejs create mode 100644 src/components/dropdown/dropdown.mjs diff --git a/src/components/dropdown/README.md b/src/components/dropdown/README.md new file mode 100644 index 0000000..c4b3859 --- /dev/null +++ b/src/components/dropdown/README.md @@ -0,0 +1,23 @@ +# Accessible Dropdown +Dropdowns allow "hanging" menus when a trigger element is activated. + +## Usage +to use this component: + +```ejs +<%- useComponent('dropdown', { menuId: 'example-dropdown', contents: `...` }) %> +``` + +## Parameters + +| Parameter | type | Description | +| ---------------------- | ----------------- | ------------------------------------------------------------ | +| `menuId` | string | The ID of the dropdown | +| `triggerContent` | HTML | The HTML of the dropdown trigger (button) | +| `contents` | HTML | The content of the dropdown | +| `desktopOnly` | boolean | If the dropdown is for desktop only | +| `mobileOnly` | boolean | If the dropdown is for mobile only | +| `triggerStyleClasses` | string / string[] | The class(es) assigned to the dropdown trigger element | +| `menuStyleClasses` | string / string[] | The class(es) assigned to the dropdown menu element | +| `dropdownExtraStyles` | Various | Extra CSS to be included in the components Shadow DOM | +| `dropdownExtraScripts` | Various | Extra JS scripts to be included in the components Shadow DOM | \ No newline at end of file diff --git a/src/components/dropdown/dropdown.css b/src/components/dropdown/dropdown.css new file mode 100644 index 0000000..b0613d8 --- /dev/null +++ b/src/components/dropdown/dropdown.css @@ -0,0 +1,367 @@ +/* ========================================================================== + Shadow DOM Styles (Component Wrapper & Mechanics) + ========================================================================== */ + +/* HOST (Replaces .has-dropdown) */ +:host { + /* POSITIONING - Relative to contain the absolute dropdown */ + position: relative; + + /* LAYOUT - Flex for trigger + dropdown */ + display: flex; + flex-direction: column; + align-items: stretch; + + /* WIDTH - Full width on mobile for easier tapping */ + width: 100%; + + /*font-family: var(--font-sans);*/ +} + +/* Reset dropdowns for mobile to be static lists */ +.dropdown-menu { + /* POSITIONING - static on mobile */ + position: static; + + /* WIDTH - Full width on mobile */ + width: 100%; + min-width: 0; /* Remove fixed width for mobile */ + + /* LIST STYLE - Remove bullets */ + list-style: none; + + /* SHADOW - Remove shadow for mobile since it's not floating */ + box-shadow: none; + + /* BORDER - Remove border for mobile since it's not floating */ + border: none; + border-left: 2px solid var(--surface-3); /* Visual guide for hierarchy */ + + /* OPACITY / VISIBILITY - Always visible on mobile */ + opacity: 1; + visibility: visible; + + /* ANIMATION - Disable mobile transform */ + transform: none; + + /* SPACING - Indent dropdown items on mobile for hierarchy */ + padding-left: var(--size-4); + + /* Z-INDEX - Auto for mobile since we're not overlapping content */ + z-index: auto; + + /*margin: 0; + box-sizing: border-box;*/ +} + +/* If the dropdown has the hidden attribute, hide it */ +.dropdown-menu[hidden] { + display: none !important; + opacity: 0; + visibility: hidden; +} + +.dropdown-menu:popover-open { + position: absolute; /* Actually works with anchor API */ + position-anchor: --dropdown-btn; + top: anchor(bottom); + left: anchor(start); + margin: 0; /* Reset native popover centering */ +} + +/* Because mobile doesn't support right aligned dropdowns turn into essentially noop */ +.dropdown-menu.align-right { + left: 0; + right: auto; + transform-origin: top left; +} + +/* -+- Dropdown Trigger Buttons (These can be used for any dropdown, not just nav) -+- */ + +.dropdown-trigger { + anchor-name: --dropdown-btn; +} + +.dropdown-trigger, +.dropdown-trigger-icon { + appearance: none; + + /* BACKGROUND */ + background: transparent; + + /* BORDER */ + border: none; + + /* WIDTH - Full width on mobile for easier tapping */ + min-width: 100%; + + /* FONT / TYPOGRAPHY */ + font-family: inherit; + font-size: inherit; + + /* COLOUR */ + color: var(--text-2); + + /* LAYOUT - Flex for icon + text */ + display: flex; + align-items: stretch; + + /* GAP - Space between icon and text */ + gap: var(--size-2); + + /*padding: 0; + margin: 0;*/ + cursor: pointer; +} + +/* Hover/Focus styles for dropdown triggers */ +.dropdown-trigger:hover, +.dropdown-trigger:focus, +.dropdown-trigger[aria-expanded="true"], +::slotted([slot="dropdown-trigger"]:hover), +::slotted([slot="dropdown-trigger"]:focus), +::slotted([slot="dropdown-trigger"][aria-expanded="true"]) { + background: var(--surface-elevated); + color: var(--text-1); +} + +/* Chevron Rotation when open */ +.dropdown-trigger[aria-expanded="true"] .fa-chevron-down, +.dropdown-trigger-icon[aria-expanded="true"] .fa-chevron-down, +::slotted([slot="dropdown-trigger"][aria-expanded="true"] .fa-chevron-down) { + transform: rotate(180deg); + transition: transform 0.2s var(--ease-1); + transform-origin: center center; +} + +/* For users who prefer reduced motion, disable the chevron rotation animation */ +@media (prefers-reduced-motion: reduce) { + .dropdown-trigger[aria-expanded="true"] .fa-chevron-down, + .dropdown-trigger-icon[aria-expanded="true"] .fa-chevron-down, + ::slotted([slot="dropdown-trigger"][aria-expanded="true"] .fa-chevron-down) { + transition: none; + } +} + +/* --- Desktop Component Overrides --- */ +@media (min-width: 820px) { + :host { + /* LAYOUT - Flex for trigger + dropdown */ + flex-direction: row; + align-items: center; + } + + .dropdown-menu { + /* POSITIONING - Absolute on desktop */ + position: absolute; + top: 100%; /* Push below parent */ + left: 0; + + /* WIDTH - Fit to content */ + width: max-content; + min-width: 14rem; + + /* BACKGROUND */ + background: var(--surface-filled); + + /* SHADOW - Gives depth */ + box-shadow: var(--shadow-3); + + /* BORDER */ + border: 1px solid var(--surface-3); + + /* CURVES / RADIUS - for a more elegant look */ + border-radius: var(--radius-2); + + /* SPACING */ + padding: var(--size-2); + + /* ANIMATION - Dropdown slide down */ + transform: translateY(-5px); + transition: all 0.2s var(--ease-2); + + /* Z-INDEX - Ensure it floats above other content */ + z-index: var(--layer-4); + } + + /* Right-Aligned Dropdown Modifier */ + .dropdown-menu.align-right { + left: auto; /* Unsets the default 'left: 0' */ + right: 0; /* Anchors to the right edge of the parent */ + transform-origin: top right; /* Makes animation start from the right corner */ + } + + .dropdown-trigger, + .dropdown-trigger-icon, + ::slotted([slot="dropdown-trigger"]) { + /* WIDTH - Fit to content on desktop */ + min-width: auto; + + /* LAYOUT */ + align-items: center; + } +} + +/* Ensure slotted Light DOM content fills the container appropriately */ +::slotted(ul) { + margin: 0; + padding: 0; + list-style: none; + display: flex; + flex-direction: column; + width: 100%; +} + +::slotted([slot="dropdown-trigger"]) { + display: flex; + gap: var(--size-2); +} + +/* ========================================================================== + Light DOM Styles (Contents injected into the dropdown) + ========================================================================== */ + +/* For empty dropdowns (where we want to put a message like "No notifications"), we can use this class to style the message nicely */ +.dropdown-empty { + /* FONT / TYPOGRAPHY */ + font-style: italic; + text-align: center; + + /* SPACING */ + padding: var(--size-2); + + /* COLOUR - Use a muted color for the empty state message */ + color: var(--text-3); + + /* WIDTH - Full width to fill the dropdown */ + min-width: 100%; + + /* HEIGHT - Use native content height */ + min-height: auto; +} + +@media (min-width: 820px) { + .dropdown-empty { + /* WIDTH - Fit to content */ + width: max-content; + + /* OVERFLOW - Allow text to wrap if it's too long */ + overflow: wrap; + + /* HEIGHT - Ensure a minimum height for better aesthetics */ + min-height: 2.5rem; + } +} + +/* Targeting Light DOM lists slotted into the dropdown */ +ba-dropdown ul { + margin: 0; + padding: 0; + list-style: none; +} + +ba-dropdown li a, +ba-dropdown li button { + /* LAYOUT */ + display: block; + + /* WIDTH - Full width on mobile for easier tapping */ + width: 100%; + + /* FONT / TYPOGRAPHY */ + text-decoration: none; + + /* COLOUR */ + color: var(--text-2); + + /* SPACING */ + padding: var(--size-2); + + /* CURVES / RADIUS */ + border-radius: var(--radius-1); + + /*box-sizing: border-box; + appearance: none; + background: transparent; + border: none; + font: inherit; + text-align: left;*/ + cursor: pointer; +} + +ba-dropdown li a:hover, +ba-dropdown li a:focus, +ba-dropdown li button:hover, +ba-dropdown li button:focus { + background-color: var(--surface-elevated); + color: var(--text-1); +} + +@media (min-width: 820px) { + ba-dropdown li a, + ba-dropdown li button { + /* WIDTH - Fit to content on desktop */ + width: auto; + + display: flex; + align-items: center; + } + + ba-dropdown li a i, + ba-dropdown li button i { + /* GAP - Space between icon and text */ + margin-right: var(--size-2); + } +} + +/* Dividers */ +ba-dropdown .divider { + background-color: light-dark(var(--color-9), var(--color-1)); + block-size: var(--border-size-1); + margin-block: var(--size-2); + /*border: none;*/ +} + +/* Focus styling */ +:is(.dropdown-trigger, .dropdown-trigger-icon):focus-visible { + outline: 2px solid var(--brand, var(--indigo-6)); + outline-offset: 2px; + border-radius: var(--radius-1); + z-index: 10; +} + +/* Utilities */ +.desktop-only { + display: none; + visibility: hidden; +} + +@media (min-width: 820px) { + .desktop-only { + display: inherit; + visibility: visible; + } +} + +/* Ensure chevron wrappers remain perfectly centered inside the flex button */ +.dropdown-trigger .desktop-only, +.dropdown-trigger .mobile-only { + display: flex; + align-items: center; + justify-content: center; + min-width: 1.5rem; /* Ensure a consistent size for the chevron wrapper */ +} + +.dropdown-trigger[aria-expanded="true"] .desktop-only .fa-chevron-down, +.dropdown-trigger[aria-expanded="true"] .mobile-only .fa-chevron-down, +::slotted([slot="dropdown-trigger"][aria-expanded="true"] .desktop-only .fa-chevron-down), +::slotted([slot="dropdown-trigger"][aria-expanded="true"] .mobile-only .fa-chevron-down) { + transform: rotate(180deg); + transition: transform 0.2s var(--ease-1); + transform-origin: center center; +} + +/* Force the SVG to be a block/inline-block so the browser allows it to rotate */ +svg.fa-chevron-down { + display: inline-block; +} \ No newline at end of file diff --git a/src/components/dropdown/dropdown.ejs b/src/components/dropdown/dropdown.ejs new file mode 100644 index 0000000..7415294 --- /dev/null +++ b/src/components/dropdown/dropdown.ejs @@ -0,0 +1,123 @@ + + <%# Because of complexities with web components and specifically more legacy support and the `createTemplateInJS` method, we need to pass the tabs data available in EJS to the JavaScript for the web component (easiest way was via a script tag) %> + + + + + + <% if(typeof slots !== 'undefined') { %> + <%- slots %> + <% } else { %> +
+ <%- triggerContent %> +
+ + + <% } %> +
\ No newline at end of file diff --git a/src/components/dropdown/dropdown.mjs b/src/components/dropdown/dropdown.mjs new file mode 100644 index 0000000..cd3a2dd --- /dev/null +++ b/src/components/dropdown/dropdown.mjs @@ -0,0 +1,211 @@ +import { ComposableElement } from '../ComposableElement.mjs'; + +/** + * Dropdown Web Component + * + * A simple dropdown component that toggles the visibility of its content when the "trigger" is clicked or activated with the keyboard. + */ +export class Dropdown extends ComposableElement { + constructor() { + super(); + + // Event handler bindings for toggle (popover) and keydown events + this._handleToggle = this._toggled.bind(this); + this._handleKeyDown = this._keyDown.bind(this) + } + + // ---------------------- + // Private Event Handlers + // ---------------------- + + /** Content toggled handler (popover content toggled) */ + _toggled(event) { + //event.preventDefault(); + + this.currentElemIndex = -1; + + const triggerElem = this.shadow.querySelector(`[aria-controls="${event.currentTarget.id}"]`); + const isOpen = event.newState === 'open'; + + triggerElem.setAttribute('aria-expanded', isOpen ? 'true' : 'false'); + event.currentTarget.toggleAttribute('hidden'); + } + + /** Keydown handler for the dropdown (arrow key navigation) */ + _keyDown(event) { + if(event.key !== 'ArrowDown' && event.key !== 'ArrowUp') { + return; + } + + event.preventDefault(); + + const focusableItems = Array.from(this.querySelectorAll('li')); + + if (focusableItems.length === 0) { + return; + } + + if (event.key === 'ArrowDown') { + if(this.currentElemIndex === undefined || this.currentElemIndex == null || this.currentElemIndex >= focusableItems.length - 1) { + this.currentElemIndex = -1; + } + + this.currentElemIndex++; + + focusableItems[this.currentElemIndex].children[0].focus(); + } + else if(event.key === 'ArrowUp') { + if(this.currentElemIndex === undefined || this.currentElemIndex == null || this.currentElemIndex <= 0) { + this.currentElemIndex = focusableItems.length; + } + + this.currentElemIndex--; + + focusableItems[this.currentElemIndex].children[0].focus(); + } + } + + // ------------------------------- + // Web Component Lifecycle Methods + // ------------------------------- + + /** + * Does initial setup and adds event listeners for interactivity + * + * `connectedCallback` is a lifecycle method in web components that runs when the custom element is inserted into the document's Document Object Model (DOM). + * It can be invoked multiple times if the element is removed and then re-inserted into the DOM. + * + * Timing: It is called after the element's constructor() but before the element's children are necessarily connected or fully rendered. + * Purpose: It is the ideal place to set up tasks that should only occur when the element is actually present in the live document. Common uses include: + */ + connectedCallback() { + const internals = this.attachInternals(); + + this.shadow = this.shadowRoot; + if (!this.shadow) { + this.shadow = this.attachShadow({ mode: 'open' }); + + // Defer execution until the browser finishes parsing the children + setTimeout(() => { + // Recreate the template using the shadow DOM that is only available through JavaScript + this.createTemplateInJS(this.shadow); + }, 0); + } + + setTimeout(() => { + // Native Popover handles the click, enter, space, and dismiss logic. + // You only need event listeners here if you want to trigger + // custom analytics or highly specific behavior on open/close. + const dropdown = this.shadow.querySelector('[popover]'); + if (dropdown) { + // The index of the currently focused element within the dropdown menu, used mainly for keyboard navigation + this.currentElemIndex = -1; + + // Add event listeners to the dropdown trigger (button) + dropdown.addEventListener('toggle', this._handleToggle); + dropdown.addEventListener('keydown', this._handleKeyDown); + } + }, 0); + } + + /** + * Cleans up event listeners when the component is removed from the DOM + * + * `disconnectedCallback` is a lifecycle method in web components that runs when the custom element is removed from the document's DOM. + * It can be invoked multiple times if the element is removed and then re-inserted into the DOM. + * + * Timing: It is called after the element is removed from the DOM but before it is garbage collected. + * Purpose: It is the ideal place to clean up any resources or event listeners that were set up in `connectedCallback`. + * + * Common uses include: + * - Removing event listeners to prevent memory leaks + * - Clearing timers or intervals + * - Disconnecting from external data sources or APIs + */ + disconnectedCallback() { + const dropdown = this.shadow.querySelector('[popover]'); + if (dropdown) { + dropdown.removeEventListener('toggle', this._handleToggle); + dropdown.removeEventListener('keydown', this._handleKeyDown); + } + } + + /** + * Recreate the template in the shadow DOM through JavaScript instead of relying on the `shadowrootmode` attribute + * + * @param {ShadowRoot} shadow The shadow DOM to attach the template to + */ + createTemplateInJS(shadow) { + const config = this.initializeComponent('dropdown', shadow); + + const cssAnchorPolyfill = document.createElement('script'); + cssAnchorPolyfill.type = 'module'; + cssAnchorPolyfill.src = 'https://unpkg.com/@oddbird/css-anchor-positioning/dist/css-anchor-positioning.js'; + shadow.appendChild(cssAnchorPolyfill); + + // Create the trigger div for the dropdown component + const dropdownTriggerDiv = document.createElement('div'); + dropdownTriggerDiv.role = 'button'; + dropdownTriggerDiv.tabIndex = 0; + dropdownTriggerDiv.setAttribute('aria-expanded', 'false'); + dropdownTriggerDiv.setAttribute('aria-controls', config.menuId); + dropdownTriggerDiv.setAttribute('aria-haspopup', 'true'); + dropdownTriggerDiv.setAttribute('popovertarget', config.menuId); + dropdownTriggerDiv.classList.add('dropdown-trigger'); + config.triggerStyleClasses.forEach(cls => dropdownTriggerDiv.classList.add(cls)); + + // Create the slot for the dropdown trigger content + const dropdownTriggerSlotElem = document.createElement('slot'); + dropdownTriggerSlotElem.name = 'dropdown-trigger'; + + dropdownTriggerDiv.appendChild(dropdownTriggerSlotElem); + + // Define the SVG once to keep the HTML clean + const dropdownTriggerChevronSvg = ` + `; + + if((typeof config.desktopOnly === 'boolean' && config.desktopOnly) || (typeof config.mobileOnly === 'boolean' && config.mobileOnly)) { + const dropdownTriggerChevronWrapperElem = document.createElement('div'); + + if(typeof config.desktopOnly === 'boolean' && config.desktopOnly) { + dropdownTriggerChevronWrapperElem.classList.add('desktop-only'); + } + else if(typeof config.mobileOnly === 'boolean' && config.mobileOnly) { + dropdownTriggerChevronWrapperElem.classList.add('mobile-only'); + } + + dropdownTriggerChevronWrapperElem.innerHTML = dropdownTriggerChevronSvg; + + dropdownTriggerDiv.appendChild(dropdownTriggerChevronWrapperElem); + } + else { + dropdownTriggerDiv.innerHTML = dropdownTriggerDiv.innerHTML + dropdownTriggerChevronSvg; + } + + // Append the trigger div to the shadow DOM of the component + shadow.appendChild(dropdownTriggerDiv); + + // Create the list (`ul`) that will contain the dropdown content + const dropdownContentsDiv = document.createElement('div'); + dropdownContentsDiv.id = config.menuId; + dropdownContentsDiv.classList.add('dropdown-menu') + config.menuStyleClasses.forEach(cls => dropdownContentsDiv.classList.add(cls)); + dropdownContentsDiv.hidden = true; + dropdownContentsDiv.popover = true; + + const contentSlotElem = document.createElement('slot'); + contentSlotElem.name = 'dropdown-menu'; + + dropdownContentsDiv.appendChild(contentSlotElem); + + shadow.appendChild(dropdownContentsDiv); + } +} + +document.addEventListener('DOMContentLoaded', () => { + if (!customElements.get('ba-dropdown')) { + customElements.define('ba-dropdown', Dropdown); + } +}); \ No newline at end of file diff --git a/test-harness/tests/drawer.spec.ts-snapshots/drawer-closed-chromium-linux.png b/test-harness/tests/drawer.spec.ts-snapshots/drawer-closed-chromium-linux.png index 0dc9d0f4dd2118c83257ea7908bd95a863b7702b..7cfe3725c5638197b323bcf489bbeda7e484113c 100644 GIT binary patch literal 6254 zcmc&&bySqyx90m$`49!skq$qkQ%aB)3F#QRl^8;X8oDGD7)rVZMx=!S=>{dGW~iaN zVd(C;1OC>!_usqLUF*JooVCweXP>k8+0S#HFm+Y=hxe)O&(VW0lJZTx%x+k@sH3Xon{1M3$2WQAp_z4h?zv4k$Rr<>n@; zs?gfopAQzl#ujGUo3Zk}?aie`b zapMKCql;Z;Zf?izOH!6|R2rwkjlLJh3!hwu@|0=z&_92NI^Mf|%8vgUAmPlbMyHk` ze0*9eNpX8O|K1&q)6?bUM*Y%Zht*@mpS9KcC|yiyKRB#WFZXcVT;RJd2rt3xosA_U z-#6;BPj`717BqoCi|E-(^TOIsva8(Fl(#=?(7jLijo%7cT0tGo%^C!|FL~q!CiKbBs9n6^pyDF;o*P2lZ3Yw)p|P2FfuYXcqOE!CnUthrKiOy zVQp<~H`b{`Wf<`B-#j-rH=Z^q8gzDc-kxrx#qPIDVlT}51bLmThil{>+UG(JKO5*z_UooqZ6%#we4c9Vq>oEaZ}dl@;&OdZ-8^i( zybKJSuU@fn@DH_BfRl=+3zIfCIP8Uhfo*NUV`HGMu&_gT<_lFc%QY5qjWD=8m~u zP7^9||1jyixwcbV`zlsNL`0B)nC=+88)Kl!!Vc^KpP)qP?zs48Cn5|`Db+tJ<`nN8 zV<_pdu|ToMj;VYs;urqaU=h~^*1KHmh>i~CVg77*ra|TR1`1(OQOxg5QywGX3*qyB z{p~7kH&jwzVun!R-zL2Eg>nK?&OT!=M;+!H%KhQ<4p&#d9S&3b!$NP8>L?UHNDluaj+i9aS|t`DkkK%WBhO z7fn_LMa4_h=gL{Nl-+Yz?m~tTlB)%Dbti70+ySz(v3p%STas9Y6E4b$c^}6&k^ma= zRN&h3Yk;ZC%LYj`dXTfI>%v&@URJS5BSX4$j`lowWnlryGZ@~*^Evp=!RNa~($OgDs z6A2Y|0lV#@+8HaW6&S;jnkt-~l=|_LCohXlTPfv?g&k&@Ds9nL2?qizdnZ6rE3kze;_2*~Y;t#tG>S%>)>aU8u{eIV@ze1*UCJ&*%F7LUKI~ z+L<+8*-;u#Xg;E6hAAy;On_JVf5c=+2#Fm8S%bmclAVJu?#IF2zu=*xrlbTC!~!Gy z&)#q5ziXzyuB`acw|8QiCm&65zG?Fy4xT!Z0e4r&Bsa?1*QnMUqiJ>HArJDu8gLUnbOW{RU%;Td+iT&rqE5bU*a_Xh(5 zgIK5;S$AKTe%bH(isbALcGr>8Ij~%H0h`zLl9CU|9cZm*{WisX4JgrUz1r{Cl3hTpBv;?t`=A@&&VNF=`ebWbR)rneXk;|~ zIhvwRQP&t)uFv0D=ZZ;7PNkwuqex4(vb4(0X6zL6gB)!vA65t;Jh)Y(p~Rr@=f=L(!1zw%~{e$gh}sH!xt%(C9`db4Zsugkhm zIZu}x?^#(d}-wxJvgLR(T$&lTvzo`PA}zSpAyT$kyz+lS6%RD1%d&?YVdBS@E)>fy38}k zOmen0OS@;p9wYQ3Yj!~cqV;npL^wq3@q+1fg&+guKZ+?U$*L_ z74R5CU|tJ>jpDdxnp_umGfiRX#_smB-IS*CYO~&%{x)%Y6}#5xJh*N+8JALz>o9Su zsCP$SteQO7goIu9k^OWX0)!3dOA~Dl4WDjU&odM%NqRXr-ri@|uTD;0je{F|!F|DXl)7HdR_+KV(n4{>s2v^B@VBVLk6CEQ_U6CUB@Jg_qImomc+_;Kbq!W*T zM*IJ|NxQixS@aO=%);eA3Q8%rq(8(k+YXZSj?hOYEW2NL^KrPVvF!z%sf} z3;84B5W-v?nN}_IVOY;6?QhRT=Drb!DG|GlcH!(}38bwwGsy%c)eii|7~fMzT= z3{zl1H8eB~ihO(bj%1BQ=FK7&n}0?gnrf(*nmUqDeCN`s=9wg%|3h28(;%BxgkPTm zF!!Pt-d+HI<-0Jsvt&#h5;fX;uvd6lId!u-yP3euE+`|8O0k(Z7t?rOogWQRfXS%% zAT^M@w{#A(O)9F25&sZ1dY@FCaxe+zi0lNTSDjExK2rAfTQOOkrLmIDt<7Cu%!iZr zV2Xt!_Ghh%qK%2sUQQ1^QLv5_D$EbXv;{?O1OyMIv2O2}?tpI=qhi{abuuKIc_?>3i#B6w&vbgAgH zHzGoQKm*q4(>EdNrF{2lL6TA ziMJMjcIx$&k#BzZ{Hg;#e|{ADq8Z%qy23nr~N>f--Sp= zbwHYQ%iH-SJ+QHIm}Iv>>x@NzN&0n*kO4W^wt{?iOg& zf~5o3kZ_XtS5K5v37V|lNgXcbj#S{@kJxfCB4hhV9A#3bK% zew5N5-N`eu%B9*mb2J4xZ4V5TW~Pse1sNocX;pJ$$^9=+HSPvl+Yl)w?!49nrVNTl zhd(JA9T+lqwjOQD5^MeLCgkGo&_yrj|IflRcHdO)#sq+9WTXmX61b^e86vayFjJCd z{g{ozgfL8-DyKhwiSfDllkwJy3S0G)jN5|^0N4(6Y5%TWSk*sj%127vxl}NO87bts zAkAl6!ieX+-}~6W<->t`;fo&-l~NTY)gS=aKs+TQ`=R)P-2^Rnt#YX(-Xo(BIT{FX3?#k;pZ{4R{^}i1;7$efuQ!l76O35pZI9R<#B9SYj=`h%`en*G8 zg%(g(_n6}Dmeu8}IJS3WPoK)lepV{UTv%H>+%{zaDSWDulM7y5S;4hV^g#9!=oK)N z==0hA<e z2M0*wzCNx96=f!uEeK}#rI1jF@5fkRETYK%j!;haKNY-~1hm`=5D4T4glWdsPV?gq zSv`V#%5k}U$&W3qEQ$=vjU40Re3TZ~5)-6TTHN^02}!Qp)ax{1FIt6tkt^+_!v&|` z)Wg1f@m`ni1A%5*UbqG$#qwso=H^QDJVPTQx@n$!l!@Fp?Ng>D5ZdHgyuCcEld)KWIL+R8#ZQa8w*4X^*sf9e5O?K^mxwmzt8`oy+hZ z1VZtAj^~RW_IBTyN!KtXsdc<|_=OlQ6hIh8Ym?$)J~1KE2UV+2klX67cfYRIfrd|F zMPS96(@1Z32ZDncDldWS3cd65dx3Gr(@nl{xBjrkvfmrP9mr@Tj|uYDHW!YMe)GcK zU-ppqT#*w>yw$NHYyJ&C&(F`dUOnd843c%?5Mhrsoo%w`Z_YO?OoWBUIQop_(l(!t z!dc**?TN0si3te`jTlKaxEWMSPfx0(bsgC0+qkNH=4NCg&udLU@zRH}Py{;J2Q#io zg5Wr$$$6~qp0e!wJ{qihT1Rk*1na>-+nv0-5*}u1etr@hM2#2WJ}cr+HVAJ;hTpkg zfG)Zv2D!#raw)C%h|j*GLH5G3-H9BD+$#XPk>T|EpSp~Ebxz`}?0nK*Pnb&0|DtQW zI9!}+?-+S0#u*P3^W8t)CCy@*)f94_PF*IEt~m(z)64ajv>At1;vx@i?(69}I60^# z1N^2RM|hLy{EL{Z;ODOn4d*IlX1SYj_rU7xl)JQ|Y-RS-IeNIMp338FY8J%DHwZ$q zcS5tAMW`GZS$FxSfBU8@d4Ce)zo(MMTL?ZYiA{LzRG$(TK8YjpzbWQe(R{8Sw%aUh zw>fEKE)HoOm-4E|RZFZ%*1NAoVY?#hQMvx}wd>X`D2&$;476tTFOIh>i z*Eh{{bHgb31!g7ktAuakhM=`nJsIuvTO2=#_E%_5f~C;k?0Bhr=+q)>%*sR3`Kjn5 z94nhF*QMXHCnD+zi_1gk*J^p;Eo(wcCf&EPo-wi=Z?1dpd*ET&0*g&DdDfu;0q=C& zbOLBr8NNSLQ9)c@iq*xyV2s|CDBeY8=foJ!q+?nM`WKGB=VO7jWeZ2tk zhSwzzH>Q)c1>3i*Qd3ir+~8`k3Hj7UciP`cfgF{rcL_x6Ycz8$bCP$r03yz9(L=*~ zGu7_ox2da+_q0y#aH6uXnQp3+jS3oJg*u2SKHOSum&`n|>0Nw?(NWM%6?u6=B@mzR ziJ`kJ0V7bD)c8Hy_S^~SLrM82(4=%G<4SK?IfJi}s3Z(=z9IBtvd*`fL6a4@3trLc z{*+#{B%6uVfhqda==Y%27mPQX2QxLyZ?(0roZlbI0D+o`ock-It4P!Q5{I8`$dqPv zHF*7H>l0 z30cL(swlzP&gdxO-~K#aCM+ObYCFSRqj=P06=ts9;|wPb;kZ|F3oBU2#fk0cT{}l; zckx?sRZ2`Q?u_+eyvpu0bO0^bLz+-oS-JkSLz?F%uIhiWJK2IYGzPwXa^WAW4X5`y zUY~8rdg?DGJ2dX%YlVFg2{f&<$i%5!7B8u2Y13V)t22b@e%SZOA(vfJQw`EZ+-W79 z%JRih6a`%`8_MI#dz!@SRnvvp#S7UvOl)J%UGWJ>3Uv_OQNj?+OxEJ6@wJ%i!ctdO z%=|pe6U z%|U&#vu3qL*Qrdp(X#p3b@8(NQ5a|IxyR9l&V5{m^X#0QI3bFf`ht_2J5i!2Ejjt6 z{YpM8Uh~uc5WptJ+GKo0cly%izFZLUm|9s{Y7PtzP9SFj*fjn8uCvziv$L}+Ds)pQ zDIrn;P=@Evy}b#j4ZS^)l-J2VH1#QZZf-h|!`9(=3+Tv#qf)v(4#o@(Mfne)oU%kW z;dnMMF})Y}&o}xIzMwzq_Q#E^XWymcp5DR-P7=g>eXGLY#PIw7YfCZc7r{dHtlEp4 zq3}ME(2LxvTzGh2wf^W`|994Z%kkGFcz9SWxc@;DZp?c(6agO(V=^yI9HxAES&G;R)bR literal 5607 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

-dM(LPm`O}rE*ARTbrSV2CM+` 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�H1H&*ejK_l(-9Ft*g)pI;zvZCpzE3O#h9Xu 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 LS3j3^P6FSZ_X(SGAJ-G81^l$ z*B0q>d6D06Ln!BM@p1NNKbqYur{F`jKx6*@H+0!G3&>ytna9i^T+Fmrb^eQ`KoJH{ LS3j3^P6