From dbbac99356b47d18748001bd1fad7a465636abd9 Mon Sep 17 00:00:00 2001 From: mamouneyya Date: Wed, 23 Jun 2010 14:27:11 +0300 Subject: [PATCH 001/290] fix ticket #1051 --- lib/gallery.common.css | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/gallery.common.css b/lib/gallery.common.css index 5dd0d031..2b86700f 100644 --- a/lib/gallery.common.css +++ b/lib/gallery.common.css @@ -822,6 +822,7 @@ div#g-action-status { .rtl .sf-menu li:hover ul, .rtl .sf-menu li.sfHover ul { right: 0; + left: auto; } .rtl ul.sf-menu li li:hover ul, From 53ccc4df11e5b39964a585b3857521921b385a08 Mon Sep 17 00:00:00 2001 From: mamouneyya Date: Wed, 23 Jun 2010 14:30:56 +0300 Subject: [PATCH 002/290] correct format --- lib/gallery.common.css | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/gallery.common.css b/lib/gallery.common.css index 2b86700f..054bc29a 100644 --- a/lib/gallery.common.css +++ b/lib/gallery.common.css @@ -780,7 +780,7 @@ div#g-action-status { /* RTL Superfish ~~~~~~~~~~~~~~~~~~~~~~~~~ */ .rtl .sf-menu a { - border-left: none; + border-left: none; border-right:1px solid #fff; } @@ -791,7 +791,7 @@ div#g-action-status { .rtl .sf-sub-indicator { left: .75em !important; - right: auto; + right: auto; background: url('superfish/images/arrows-ffffff-rtl.png') no-repeat -10px -100px; /* 8-bit indexed alpha png. IE6 gets solid image only */ } .rtl a > .sf-sub-indicator { /* give all except IE6 the correct values */ @@ -822,7 +822,7 @@ div#g-action-status { .rtl .sf-menu li:hover ul, .rtl .sf-menu li.sfHover ul { right: 0; - left: auto; + left: auto; } .rtl ul.sf-menu li li:hover ul, From feb839a11804f5774cbbe10a348d6ffe28aa3f5c Mon Sep 17 00:00:00 2001 From: mamouneyya Date: Wed, 23 Jun 2010 14:36:59 +0300 Subject: [PATCH 003/290] more fixes for RTL Superfish --- lib/gallery.common.css | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/gallery.common.css b/lib/gallery.common.css index 054bc29a..682cef70 100644 --- a/lib/gallery.common.css +++ b/lib/gallery.common.css @@ -828,10 +828,12 @@ div#g-action-status { .rtl ul.sf-menu li li:hover ul, .rtl ul.sf-menu li li.sfHover ul { right: 12em; /* match ul width */ + left: auto; } .rtl ul.sf-menu li li li:hover ul, .rtl ul.sf-menu li li li.sfHover ul { right: 12em; /* match ul width */ + left: auto; } /*** shadows for all but IE6 ***/ From 2014e2b055fc75ee3aec61c563ce5fac5ba6d534 Mon Sep 17 00:00:00 2001 From: mamouneyya Date: Wed, 23 Jun 2010 14:56:53 +0300 Subject: [PATCH 004/290] flip the window title and cancel button for RTL in dialogue windows --- lib/gallery.common.css | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/lib/gallery.common.css b/lib/gallery.common.css index 682cef70..a83acdbb 100644 --- a/lib/gallery.common.css +++ b/lib/gallery.common.css @@ -846,6 +846,22 @@ div#g-action-status { -webkit-border-bottom-right-radius: 17px; } +/* RTL ThemeRoller ~~~~~~~~~~~~~~~~~~~~~~~~ */ + +.rtl .ui-dialog .ui-dialog-titlebar { + padding: 0.5em 1em 0.3em 0.3em; +} + +.rtl .ui-dialog .ui-dialog-title { + float: right; +} + +.rtl .ui-dialog .ui-dialog-titlebar-close { + left: 0.3em; + right: auto; +} + + /* RTL paginator ~~~~~~~~~~~~~~~~~~~~~~~~~~ */ .rtl .g-paginator .g-info { From d91cf72ee9ba27e7c2a97ee807f4a49df2f24ff9 Mon Sep 17 00:00:00 2001 From: mamouneyya Date: Wed, 23 Jun 2010 15:10:59 +0300 Subject: [PATCH 005/290] flip the padding direction for sidebar blocks contents in RTL --- themes/admin_wind/css/screen.css | 4 ++++ themes/wind/css/screen.css | 3 +++ 2 files changed, 7 insertions(+) diff --git a/themes/admin_wind/css/screen.css b/themes/admin_wind/css/screen.css index dbfb59e8..e2817b78 100644 --- a/themes/admin_wind/css/screen.css +++ b/themes/admin_wind/css/screen.css @@ -487,4 +487,8 @@ th { .rtl .g-selected img, .rtl .g-available .g-block img { margin: 0 0 1em 1em; +} + +.rtl #g-sidebar .g-block-content { + padding-right: 1em; } \ No newline at end of file diff --git a/themes/wind/css/screen.css b/themes/wind/css/screen.css index 1e55a967..f5cb6601 100644 --- a/themes/wind/css/screen.css +++ b/themes/wind/css/screen.css @@ -457,3 +457,6 @@ td { background-image: url('../images/ico-view-slideshow-rtl.png'); } +.rtl #g-sidebar .g-block-content { + padding-right: 1em; +} \ No newline at end of file From 3f2e68d4b15bea6974201523b70ef18d3d5b1f8a Mon Sep 17 00:00:00 2001 From: mamouneyya Date: Wed, 23 Jun 2010 15:20:14 +0300 Subject: [PATCH 006/290] oops.. remove the padding in RTL for admin-wind, since it seems that it's zero (why the rule is duplicated with different values in the file in lines: 159, 301?) --- themes/admin_wind/css/screen.css | 4 ---- 1 file changed, 4 deletions(-) diff --git a/themes/admin_wind/css/screen.css b/themes/admin_wind/css/screen.css index e2817b78..dbfb59e8 100644 --- a/themes/admin_wind/css/screen.css +++ b/themes/admin_wind/css/screen.css @@ -487,8 +487,4 @@ th { .rtl .g-selected img, .rtl .g-available .g-block img { margin: 0 0 1em 1em; -} - -.rtl #g-sidebar .g-block-content { - padding-right: 1em; } \ No newline at end of file From a77266d8e06ed960955b654197d4bcc9be2cb618 Mon Sep 17 00:00:00 2001 From: mamouneyya Date: Wed, 23 Jun 2010 15:20:50 +0300 Subject: [PATCH 007/290] remove the original padding --- themes/wind/css/screen.css | 1 + 1 file changed, 1 insertion(+) diff --git a/themes/wind/css/screen.css b/themes/wind/css/screen.css index f5cb6601..66645cef 100644 --- a/themes/wind/css/screen.css +++ b/themes/wind/css/screen.css @@ -459,4 +459,5 @@ td { .rtl #g-sidebar .g-block-content { padding-right: 1em; + padding-left: 0; } \ No newline at end of file From afa99c93f2f7ad5e46a2739a92e1f898dc9afc84 Mon Sep 17 00:00:00 2001 From: mamouneyya Date: Wed, 23 Jun 2010 15:33:35 +0300 Subject: [PATCH 008/290] improve Superfish menus shadow for RTL, and add round corners support for Opera --- lib/gallery.common.css | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/gallery.common.css b/lib/gallery.common.css index a83acdbb..2bb5b6e2 100644 --- a/lib/gallery.common.css +++ b/lib/gallery.common.css @@ -840,10 +840,18 @@ div#g-action-status { .rtl .sf-shadow ul { background: url('superfish/images/shadow.png') no-repeat bottom left; padding: 0 0 9px 8px; - -moz-border-radius-bottomright: 17px; + border-top-right-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-topright: 0; + -moz-border-radius-bottomleft: 0; + -webkit-border-top-right-radius: 0; + -webkit-border-bottom-left-radius: 0; -moz-border-radius-topleft: 17px; + -moz-border-radius-bottomright: 17px; -webkit-border-top-left-radius: 17px; -webkit-border-bottom-right-radius: 17px; + border-top-left-radius: 17px; + border-bottom-right-radius: 17px; } /* RTL ThemeRoller ~~~~~~~~~~~~~~~~~~~~~~~~ */ From bd052d72f27efb703d2cf5c128300a2be7f6fb04 Mon Sep 17 00:00:00 2001 From: mamouneyya Date: Wed, 23 Jun 2010 15:39:19 +0300 Subject: [PATCH 009/290] flip the padding of footer for RTL --- themes/wind/css/screen.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/themes/wind/css/screen.css b/themes/wind/css/screen.css index 66645cef..063c5015 100644 --- a/themes/wind/css/screen.css +++ b/themes/wind/css/screen.css @@ -460,4 +460,8 @@ td { .rtl #g-sidebar .g-block-content { padding-right: 1em; padding-left: 0; +} + +.rtl #g-footer #g-credits li { + padding-left: 1.2em; } \ No newline at end of file From 9eefbb8d213426d3a74f2b55cfd99e2e608c9f26 Mon Sep 17 00:00:00 2001 From: mamouneyya Date: Wed, 23 Jun 2010 15:42:42 +0300 Subject: [PATCH 010/290] fix the footer padding for RTL, complete the last commit --- themes/wind/css/screen.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/themes/wind/css/screen.css b/themes/wind/css/screen.css index 063c5015..44582a92 100644 --- a/themes/wind/css/screen.css +++ b/themes/wind/css/screen.css @@ -463,5 +463,6 @@ td { } .rtl #g-footer #g-credits li { - padding-left: 1.2em; + padding-left: 1.2em !important; + padding-right: 0; } \ No newline at end of file From b46fc38dcc539bf18505b60e0f462aaec6e2c647 Mon Sep 17 00:00:00 2001 From: mamouneyya Date: Wed, 23 Jun 2010 17:12:25 +0300 Subject: [PATCH 011/290] centerize the group labels in Edit Permission window.. i think it's much cleaner this way --- modules/gallery/css/gallery.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/gallery/css/gallery.css b/modules/gallery/css/gallery.css index 282ebec2..08bd4749 100644 --- a/modules/gallery/css/gallery.css +++ b/modules/gallery/css/gallery.css @@ -84,6 +84,10 @@ clear: both; } +#g-edit-permissions-form th { + text-align: center; +} + #g-edit-permissions-form td { background-image: none; } From 8e1ae7549362688dd38e053dd736ddc5fc6a4982 Mon Sep 17 00:00:00 2001 From: mamouneyya Date: Mon, 2 Aug 2010 05:45:05 +0300 Subject: [PATCH 012/290] add a little space before the success/fail icons, for RTL status messages --- lib/gallery.common.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/gallery.common.css b/lib/gallery.common.css index 2bb5b6e2..315ec363 100644 --- a/lib/gallery.common.css +++ b/lib/gallery.common.css @@ -638,7 +638,7 @@ div#g-action-status { .rtl .g-warning, .rtl #g-add-photos-status .g-success, .rtl #g-add-photos-status .g-error { - background-position: center right; + background-position: 99% 50%; padding-right: 30px !important; } From a0033ce75968b3c134c0e439046f135b1e646550 Mon Sep 17 00:00:00 2001 From: mamouneyya Date: Tue, 31 Aug 2010 18:08:01 +0300 Subject: [PATCH 013/290] flip the float value for RTL --- modules/gallery/css/gallery.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/gallery/css/gallery.css b/modules/gallery/css/gallery.css index 8012c6cc..275a3d7d 100644 --- a/modules/gallery/css/gallery.css +++ b/modules/gallery/css/gallery.css @@ -200,3 +200,7 @@ .rtl #g-translations ol { margin: 0 2em 1em 0; } + +.rtl #g-add-photos-status-message { + float: left; +} From 078a287d62207c8df757cb9f672a7151cf2c7849 Mon Sep 17 00:00:00 2001 From: mamouneyya Date: Mon, 20 Sep 2010 04:43:32 +0300 Subject: [PATCH 014/290] Revert the revert of (!): 93d1a8103e757a87fb00 f14290f34f097f525a56 ff8ee5bdfcc0d35e14f3 returning Tim changes to merge gallery.common.css contents with the theme css file --- lib/gallery.common.css | 897 ------------------------- themes/admin_wind/css/screen.css | 850 ++++++++++++++++++++++- themes/admin_wind/views/admin.html.php | 1 - themes/wind/css/screen.css | 893 +++++++++++++++++++++++- themes/wind/views/page.html.php | 1 - 5 files changed, 1718 insertions(+), 924 deletions(-) delete mode 100644 lib/gallery.common.css diff --git a/lib/gallery.common.css b/lib/gallery.common.css deleted file mode 100644 index 315ec363..00000000 --- a/lib/gallery.common.css +++ /dev/null @@ -1,897 +0,0 @@ -/** - * Gallery 3 commonly re-used screen styles - * - * Sheet organization: - * - * 1) Text - * 2) Forms - * 3) Dimension and scale - * 4) States and interactions - * 5) Positioning and order - * 6) Containers/widgets - * 7) Right to left language styles - * - * @todo Update .g-message-block, don't force it to 100%, bad things happen is themes when you do. - */ - -/** ******************************************************************* - * 1) Text - **********************************************************************/ - -.g-text-small { - font-size: .8em; -} - -.g-text-big { - font-size: 1.2em; -} - -.g-text-right { - text-align: right; -} - -/** ******************************************************************* - * 2) Forms - **********************************************************************/ - -form { - margin: 0; -} - -fieldset { - border: 1px solid #ccc; - padding: 0 1em .8em 1em; -} - -#g-banner fieldset, -#g-sidebar fieldset { - border: none; - padding: 0; -} - -legend { - font-weight: bold; - margin: 0; - padding: 0 .2em; -} - -#g-banner legend, -#g-sidebar legend, -input[type="hidden"] { - display: none; -} - -input.textbox, -input[type="text"], -input[type="password"], -textarea { - border: 1px solid #e8e8e8; - border-top-color: #ccc; - border-left-color: #ccc; - clear: both; - color: #333; - width: 50%; -} - -textarea { - height: 12em; - width: 97%; -} - -input:focus, -input.textbox:focus, -input[type=text]:focus, -textarea:focus, -option:focus { - background-color: #ffc; - color: #000; -} - -input.checkbox, -input[type=checkbox], -input.radio, -input[type=radio] { - float: left; - margin-right: .4em; -} - -/* Form layout ~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -form li { - margin: 0; - padding: 0 0 .2em 0; -} - -form ul { - margin-top: 0; -} - -form ul ul { - clear: both; -} - -form ul ul li { - float: left; -} - -input, -select, -textarea { - display: block; - clear: both; - padding: .2em; -} - -input[type="submit"], -input[type="reset"] { - display: inline; - clear: none; - float: left; -} - -/* Forms in dialogs and panels ~~~~~~~~~ */ - -#g-dialog ul li { - padding-bottom: .8em; -} - -#g-dialog fieldset, -#g-panel fieldset { - border: none; - padding: 0; -} - -#g-panel legend { - display: none; -} - -input[readonly] { - background-color: #F4F4FC; -} - -#g-dialog input.textbox, -#g-dialog input[type=text], -#g-dialog input[type=password], -#g-dialog textarea { - width: 97%; -} - -/* Short forms ~~~~~~~~~~~~~~~~~~~~~~~ */ - -.g-short-form legend, -.g-short-form label { - display: none; -} - -.g-short-form fieldset { - border: none; - padding: 0; -} - -.g-short-form li { - float: left; - margin: 0 !important; - padding: .4em 0; -} - -.g-short-form .textbox, -.g-short-form input[type=text] { - color: #666; - padding: .3em .6em; - width: 100%; -} - -.g-short-form .textbox.g-error { - border: 1px solid #f00; - color: #f00; - padding-left: 24px; -} - -.g-short-form .g-cancel { - display: block; - margin: .3em .8em; -} - -#g-sidebar .g-short-form li { - padding-left: 0; - padding-right: 0; -} - -/** ******************************************************************* - * 3) Dimension and scale - **********************************************************************/ - -.g-one-quarter { - width: 25%; -} - -.g-one-third { - width: 33%; -} - -.g-one-half { - width: 50%; -} - -.g-two-thirds { - width: 66%; -} - -.g-three-quarters { - width: 75%; -} - -.g-whole { - width: 100%; -} - -/** ******************************************************************* - * 4) States and interactions - **********************************************************************/ - -.g-active, -.g-enabled, -.g-available, -.g-selected, -.g-highlight { - font-weight: bold; -} - -.g-inactive, -.g-disabled, -.g-unavailable, -.g-uneditable, -.g-locked, -.g-deselected, -.g-understate { - color: #ccc; - font-weight: normal; -} - -.g-editable { - padding: .2em .3em; -} - -.g-editable:hover { - background-color: #ffc; - cursor: text; -} - -.g-error, -.g-info, -.g-success, -.g-warning { - padding-left: 30px; -} - -form li.g-error, -form li.g-info, -form li.g-success, -form li.g-warning { - background-image: none; - padding: .3em .8em .3em 0; -} - -.g-short-form li.g-error { - padding: .3em 0; -} - -form.g-error input[type="text"], -li.g-error input[type="text"], -form.g-error input[type="password"], -li.g-error input[type="password"], -form.g-error input[type="checkbox"], -li.g-error input[type="checkbox"], -form.g-error input[type="radio"], -li.g-error input[type="radio"], -form.g-error textarea, -li.g-error textarea, -form.g-error select, -li.g-error select { - border: 2px solid #f00; - margin-bottom: .2em; -} - -.g-error, -.g-denied, -tr.g-error td.g-error, -#g-add-photos-status .g-error { - background: #f6cbca url('images/ico-error.png') no-repeat .4em 50%; - color: #f00; -} - -.g-info { - background: #e8e8e8 url('images/ico-info.png') no-repeat .4em 50%; -} - -.g-success, -.g-allowed, -#g-add-photos-status .g-success { - background: #d9efc2 url('images/ico-success.png') no-repeat .4em 50%; -} - -tr.g-success { - background-image: none; -} - -tr.g-success td.g-success { - background-image: url('images/ico-success.png'); -} - -.g-warning, -tr.g-warning td.g-warning { - background: #fcf9ce url('images/ico-warning.png') no-repeat .4em 50%; -} - -form .g-error { - background-color: #fff; - padding-left: 20px; -} - -.g-open { -} - -.g-closed { -} - -.g-installed { - background-color: #eeeeee; -} - -.g-default { - background-color: #c5dbec; - font-weight: bold; -} - -.g-draggable { - cursor: move; -} - -.g-draggable:hover { - border: 1px dashed #000; -} - -.ui-sortable .g-target, -.ui-state-highlight { - background-color: #fcf9ce; - border: 2px dotted #999; - height: 2em; - margin: 1em 0; -} - -/* Ajax loading indicator ~~~~~~~~~~~~~~~~ */ - -.g-loading-large, -.g-dialog-loading-large { - background: #e8e8e8 url('images/loading-large.gif') no-repeat center center !important; -} - -.g-loading-small { - background: #e8e8e8 url('images/loading-small.gif') no-repeat center center !important; -} - -/** ******************************************************************* - * 5) Positioning and order - **********************************************************************/ - -.g-left { - clear: none; - float: left; -} - -.g-right { - clear: none; - float: right; -} - -.g-first { -} - -.g-last { -} - -.g-even { - background-color: #fff; -} - -.g-odd { - background-color: #eee; -} - -/** ******************************************************************* - * 6) Containers/widgets - **********************************************************************/ - -/* Generic block container ~~~~~~~~~~~~~~~ */ - -.g-block { - clear: both; - margin-bottom: 2.5em; -} - -.g-block-content { -} - -/* Superfish menu overrides ~~~~~~~~~~~~~~ */ - -.sf-menu ul { - width: 12em; -} - -ul.sf-menu li li:hover ul, -ul.sf-menu li li.sfHover ul { - left: 12em; -} - -ul.sf-menu li li li:hover ul, -ul.sf-menu li li li.sfHover ul { - left: 12em; -} - -/* jQuery UI Dialog ~~~~~~~~~~~~~~~~~~~~~~ */ - -.ui-widget-overlay { - background: #000; - opacity: .7; -} - -/* Buttons ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -.g-button { - display: inline-block; - margin: 0 4px 0 0; - padding: .2em .4em; -} - -.g-button, -.g-button:hover, -.g-button:active { - cursor: pointer !important; - outline: 0; - text-decoration: none; - -moz-outline-style: none; -} - -button { - padding: 2px 4px 2px 4px; -} - -/* jQuery UI ThemeRoller buttons ~~~~~~~~~ */ - -.g-buttonset { - padding-left: 1px; -} - -.g-buttonset li { - float: left; -} - -.g-buttonset .g-button { - margin: 0; -} - -.ui-icon-left .ui-icon { - float: left; - margin-right: .2em; -} - -.ui-icon-right .ui-icon { - float: right; - margin-left: .2em; -} - -/* Rotate icon, ThemeRoller only provides one of these */ - -.ui-icon-rotate-ccw { - background-position: -192px -64px; -} - -.ui-icon-rotate-cw { - background-position: -208px -64px; -} - -.g-progress-bar { - height: 1em; - width: 100%; - margin-top: .5em; - display: inline-block; -} - -/* Status and validation messages ~~~~ */ - -.g-message-block { - background-position: .4em .3em; - border: 1px solid #ccc; - padding: 0; -} - -#g-action-status { - margin-bottom: 1em; -} - -#g-action-status li, -p#g-action-status, -div#g-action-status { - padding: .3em .3em .3em 30px; -} - -#g-site-status li { - border-bottom: 1px solid #ccc; - padding: .3em .3em .3em 30px; -} - -.g-module-status { - clear: both; - margin-bottom: 1em; -} - -.g-message { - background-position: 0 50%; -} - -/* Breadcrumbs ~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -.g-breadcrumbs { - clear: both; - padding: 0 20px; -} - -.g-breadcrumbs li { - background: transparent url('images/ico-separator.gif') no-repeat scroll left center; - float: left; - padding: 1em 8px 1em 18px; -} - -.g-breadcrumbs .g-first { - background: none; - padding-left: 0; -} - -.g-breadcrumbs li a, -.g-breadcrumbs li span { - display: block; -} - -#g-dialog ul.g-breadcrumbs { - margin-left: 0; - padding-left: 0; -} - -/* Pagination ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -.g-paginator { - padding: .2em 0; - width: 100%; -} - -.g-paginator li { - float: left; - width: 30%; -} - -.g-paginator .g-info { - background: none; - padding: .2em 0; - text-align: center; - width: 40%; -} - -/* Dialogs and panels ~~~~~~~~~~~~~~~~~~ */ - -#g-dialog { - text-align: left; -} - -#g-dialog legend { - display: none; -} - -#g-dialog .g-cancel { - margin: .4em 1em; -} - -#g-panel { - display: none; - padding: 1em; -} - -/* Inline layout ~~~~~~~~~~ */ - -.g-inline li { - float: left; - margin-left: 1.8em; - padding-left: 0 !important; -} - -.g-inline li.g-first { - margin-left: 0; -} - -/** ******************************************************************* - * 7) Right to left language styles - **********************************************************************/ - -.rtl { - direction: rtl; -} - -.rtl #g-header, -.rtl #g-content, -.rtl #g-sidebar, -.rtl #g-footer, -.rtl caption, -.rtl th, -.rtl #g-dialog, -.rtl .g-context-menu li a, -.rtl .g-message-box li, -.rtl #g-site-status li { - text-align: right; -} - -.rtl .g-text-right { - text-align: left; -} - -.rtl .g-error, -.rtl .g-info, -.rtl .g-success, -.rtl .g-warning, -.rtl #g-add-photos-status .g-success, -.rtl #g-add-photos-status .g-error { - background-position: 99% 50%; - padding-right: 30px !important; -} - -.rtl form li.g-error, -.rtl form li.g-info, -.rtl form li.g-success, -.rtl form li.g-warning { - padding-right: 0 !important; -} - -.rtl .g-left, -.rtl .g-inline li, -.rtl #g-content #g-album-grid .g-item, -.rtl .sf-menu li, -.rtl .g-breadcrumbs li, -.rtl .g-paginator li, -.rtl .g-buttonset li, -.rtl .ui-icon-left .ui-icon, -.rtl .g-short-form li, -.rtl form ul ul li, -.rtl input[type="submit"], -.rtl input[type="reset"], -.rtl input.checkbox, -.rtl input[type=checkbox], -.rtl input.radio, -.rtl input[type=radio] { - float: right; -} - -.rtl .g-right, -.rtl .ui-icon-right .ui-icon { - float: left; -} - -.rtl .g-inline li { - margin-right: 1em; -} - -.rtl .g-inline li.g-first { - margin-right: 0; -} - -.rtl .g-breadcrumbs li { - background: transparent url('images/ico-separator-rtl.gif') no-repeat scroll right center; - padding: 1em 18px 1em 8px; -} - -.rtl .g-breadcrumbs .g-first { - background: none; - padding-right: 0; -} - -.rtl input.checkbox { - margin-left: .4em; -} - -.rtl #g-add-comment { - right: inherit; - left: 0; -} - -.rtl .ui-icon-left .ui-icon { - margin-left: .2em; -} - -.rtl .ui-icon-right .ui-icon { - margin-right: .2em; -} - -/* RTL Corner radius ~~~~~~~~~~~~~~~~~~~~~~ */ -.rtl .g-buttonset .ui-corner-tl { - -moz-border-radius-topleft: 0; - -webkit-border-top-left-radius: 0; - border-top-left-radius: 0; - -moz-border-radius-topright: 5px !important; - -webkit-border-top-right-radius: 5px !important; - border-top-right-radius: 5px !important; -} - -.rtl .g-buttonset .ui-corner-tr { - -moz-border-radius-topright: 0; - -webkit-border-top-right-radius: 0; - border-top-right-radius: 0; - -moz-border-radius-topleft: 5px !important; - -webkit-border-top-left-radius: 5px !important; - border-top-left-radius: 5px !important; -} - -.rtl .g-buttonset .ui-corner-bl { - -moz-border-radius-bottomleft: 0; - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; - -moz-border-radius-bottomright: 5px !important; - -webkit-border-bottom-right-radius: 5px !important; - border-bottom-right-radius: 5px !important; -} - -.rtl .g-buttonset .ui-corner-br { - -moz-border-radius-bottomright: 0; - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; - -moz-border-radius-bottomleft: 5px !important; - -webkit-border-bottom-left-radius: 5px !important; - border-bottom-left-radius: 5px !important; -} - -.rtl .g-buttonset .ui-corner-right, -.rtl .ui-progressbar .ui-corner-right { - -moz-border-radius-topright: 0; - -webkit-border-top-right-radius: 0; - border-top-right-radius: 0; - -moz-border-radius-topleft: 5px !important; - -webkit-border-top-left-radius: 5px !important; - border-top-left-radius: 5px !important; - -moz-border-radius-bottomright: 0; - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; - -moz-border-radius-bottomleft: 5px !important; - -webkit-border-bottom-left-radius: 5px !important; - border-bottom-left-radius: 5px !important; -} - -.rtl .g-buttonset .ui-corner-left, -.rtl .ui-progressbar .ui-corner-left { - -moz-border-radius-topleft: 0; - -webkit-border-top-left-radius: 0; - border-top-left-radius: 0; - -moz-border-radius-topright: 5px !important; - -webkit-border-top-right-radius: 5px !important; - border-top-right-radius: 5px !important; - -moz-border-radius-bottomleft: 0; - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; - -moz-border-radius-bottomright: 5px !important; - -webkit-border-bottom-right-radius: 5px !important; - border-bottom-right-radius: 5px !important; -} - -/* RTL Superfish ~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -.rtl .sf-menu a { - border-left: none; - border-right:1px solid #fff; -} - -.rtl .sf-menu a.sf-with-ul { - padding-left: 2.25em; - padding-right: 1em; -} - -.rtl .sf-sub-indicator { - left: .75em !important; - right: auto; - background: url('superfish/images/arrows-ffffff-rtl.png') no-repeat -10px -100px; /* 8-bit indexed alpha png. IE6 gets solid image only */ -} -.rtl a > .sf-sub-indicator { /* give all except IE6 the correct values */ - top: .8em; - background-position: -10px -100px; /* use translucent arrow for modern browsers*/ -} -/* apply hovers to modern browsers */ -.rtl a:focus > .sf-sub-indicator, -.rtl a:hover > .sf-sub-indicator, -.rtl a:active > .sf-sub-indicator, -.rtl li:hover > a > .sf-sub-indicator, -.rtl li.sfHover > a > .sf-sub-indicator { - background-position: 0 -100px; /* arrow hovers for modern browsers*/ -} - -/* point right for anchors in subs */ -.rtl .sf-menu ul .sf-sub-indicator { background-position: 0 0; } -.rtl .sf-menu ul a > .sf-sub-indicator { background-position: -10px 0; } -/* apply hovers to modern browsers */ -.rtl .sf-menu ul a:focus > .sf-sub-indicator, -.rtl .sf-menu ul a:hover > .sf-sub-indicator, -.rtl .sf-menu ul a:active > .sf-sub-indicator, -.rtl .sf-menu ul li:hover > a > .sf-sub-indicator, -.rtl .sf-menu ul li.sfHover > a > .sf-sub-indicator { - background-position: 0 0; /* arrow hovers for modern browsers*/ -} - -.rtl .sf-menu li:hover ul, -.rtl .sf-menu li.sfHover ul { - right: 0; - left: auto; -} - -.rtl ul.sf-menu li li:hover ul, -.rtl ul.sf-menu li li.sfHover ul { - right: 12em; /* match ul width */ - left: auto; -} -.rtl ul.sf-menu li li li:hover ul, -.rtl ul.sf-menu li li li.sfHover ul { - right: 12em; /* match ul width */ - left: auto; -} - -/*** shadows for all but IE6 ***/ -.rtl .sf-shadow ul { - background: url('superfish/images/shadow.png') no-repeat bottom left; - padding: 0 0 9px 8px; - border-top-right-radius: 0; - border-bottom-left-radius: 0; - -moz-border-radius-topright: 0; - -moz-border-radius-bottomleft: 0; - -webkit-border-top-right-radius: 0; - -webkit-border-bottom-left-radius: 0; - -moz-border-radius-topleft: 17px; - -moz-border-radius-bottomright: 17px; - -webkit-border-top-left-radius: 17px; - -webkit-border-bottom-right-radius: 17px; - border-top-left-radius: 17px; - border-bottom-right-radius: 17px; -} - -/* RTL ThemeRoller ~~~~~~~~~~~~~~~~~~~~~~~~ */ - -.rtl .ui-dialog .ui-dialog-titlebar { - padding: 0.5em 1em 0.3em 0.3em; -} - -.rtl .ui-dialog .ui-dialog-title { - float: right; -} - -.rtl .ui-dialog .ui-dialog-titlebar-close { - left: 0.3em; - right: auto; -} - - -/* RTL paginator ~~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -.rtl .g-paginator .g-info { - width: 35%; -} - -.rtl .g-paginator .g-text-right { - margin-left: 0; -} - -.rtl .g-paginator .ui-icon-seek-end { - background-position: -80px -160px; -} - -.rtl .g-paginator .ui-icon-seek-next { - background-position: -48px -160px; -} - -.rtl .g-paginator .ui-icon-seek-prev { - background-position: -32px -160px; -} - -.rtl .g-paginator .ui-icon-seek-first { - background-position: -64px -160px; -} diff --git a/themes/admin_wind/css/screen.css b/themes/admin_wind/css/screen.css index 0d891149..3e155764 100644 --- a/themes/admin_wind/css/screen.css +++ b/themes/admin_wind/css/screen.css @@ -4,13 +4,15 @@ * @requires YUI reset, font, grids CSS * * Sheet organization: - * 1) Basic HTML elements - * 2) Reusable content blocks - * 3) Page layout containers - * 4) Content blocks in specific layout containers - * 5) Navigation and menus - * 6) jQuery and jQuery UI - * 7) Right-to-left language styles + * 1) Basic HTML elements + * 2) Reusable content blocks + * 3) Page layout containers + * 4) Content blocks in specific layout containers + * 5) States and interactions + * 6) Positioning and order + * 7) Navigation and menus + * 8) jQuery and jQuery UI + * 9) Right-to-left language styles * * @todo Review g-buttonset-vertical */ @@ -86,6 +88,168 @@ a:hover, } /* Forms ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ +form { + margin: 0; +} + +fieldset { + border: 1px solid #ccc; + padding: 0 1em .8em 1em; +} + +#g-banner fieldset, +#g-sidebar fieldset { + border: none; + padding: 0; +} + +legend { + font-weight: bold; + margin: 0; + padding: 0 .2em; +} + +#g-banner legend, +#g-sidebar legend, +input[type="hidden"] { + display: none; +} + +input.textbox, +input[type="text"], +input[type="password"], +textarea { + border: 1px solid #e8e8e8; + border-top-color: #ccc; + border-left-color: #ccc; + clear: both; + color: #333; + width: 50%; +} + +textarea { + height: 12em; + width: 97%; +} + +input:focus, +input.textbox:focus, +input[type=text]:focus, +textarea:focus, +option:focus { + background-color: #ffc; + color: #000; +} + +input.checkbox, +input[type=checkbox], +input.radio, +input[type=radio] { + float: left; + margin-right: .4em; +} + +/* Form layout ~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +form li { + margin: 0; + padding: 0 0 .2em 0; +} + +form ul { + margin-top: 0; +} + +form ul ul { + clear: both; +} + +form ul ul li { + float: left; +} + +input, +select, +textarea { + display: block; + clear: both; + padding: .2em; +} + +input[type="submit"], +input[type="reset"] { + display: inline; + clear: none; + float: left; +} + +/* Forms in dialogs and panels ~~~~~~~~~ */ + +#g-dialog ul li { + padding-bottom: .8em; +} + +#g-dialog fieldset, +#g-panel fieldset { + border: none; + padding: 0; +} + +#g-panel legend { + display: none; +} + +input[readonly] { + background-color: #F4F4FC; +} + +#g-dialog input.textbox, +#g-dialog input[type=text], +#g-dialog input[type=password], +#g-dialog textarea { + width: 97%; +} + +/* Short forms ~~~~~~~~~~~~~~~~~~~~~~~ */ + +.g-short-form legend, +.g-short-form label { + display: none; +} + +.g-short-form fieldset { + border: none; + padding: 0; +} + +.g-short-form li { + float: left; + margin: 0 !important; + padding: .4em 0; +} + +.g-short-form .textbox, +.g-short-form input[type=text] { + color: #666; + padding: .3em .6em; + width: 100%; +} + +.g-short-form .textbox.g-error { + border: 1px solid #f00; + color: #f00; + padding-left: 24px; +} + +.g-short-form .g-cancel { + display: block; + margin: .3em .8em; +} + +#g-sidebar .g-short-form li { + padding-left: 0; + padding-right: 0; +} fieldset { margin-bottom: 1em; @@ -131,6 +295,19 @@ th { white-space: nowrap; } +/* Text ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ +.g-text-small { + font-size: .8em; +} + +.g-text-big { + font-size: 1.2em; +} + +.g-text-right { + text-align: right; +} + /** ******************************************************************* * 2) Reusable content blocks *********************************************************************/ @@ -230,6 +407,30 @@ ul.enumeration li { /*** ****************************************************************** * 3) Page layout containers *********************************************************************/ +/* Dimension and scale ~~~~~~~~~~~~~~~~~~~ */ +.g-one-quarter { + width: 25%; +} + +.g-one-third { + width: 33%; +} + +.g-one-half { + width: 50%; +} + +.g-two-thirds { + width: 66%; +} + +.g-three-quarters { + width: 75%; +} + +.g-whole { + width: 100%; +} /* Header ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ @@ -417,7 +618,180 @@ ul.enumeration li { } /** ******************************************************************* - * 5) Navigation and menus + * 5) States and interactions + **********************************************************************/ + +.g-active, +.g-enabled, +.g-available, +.g-selected, +.g-highlight { + font-weight: bold; +} + +.g-inactive, +.g-disabled, +.g-unavailable, +.g-uneditable, +.g-locked, +.g-deselected, +.g-understate { + color: #ccc; + font-weight: normal; +} + +.g-editable { + padding: .2em .3em; +} + +.g-editable:hover { + background-color: #ffc; + cursor: text; +} + +.g-error, +.g-info, +.g-success, +.g-warning { + padding-left: 30px; +} + +form li.g-error, +form li.g-info, +form li.g-success, +form li.g-warning { + background-image: none; + padding: .3em .8em .3em 0; +} + +.g-short-form li.g-error { + padding: .3em 0; +} + +form.g-error input[type="text"], +li.g-error input[type="text"], +form.g-error input[type="password"], +li.g-error input[type="password"], +form.g-error input[type="checkbox"], +li.g-error input[type="checkbox"], +form.g-error input[type="radio"], +li.g-error input[type="radio"], +form.g-error textarea, +li.g-error textarea, +form.g-error select, +li.g-error select { + border: 2px solid #f00; + margin-bottom: .2em; +} + +.g-error, +.g-denied, +tr.g-error td.g-error, +#g-add-photos-status .g-error { + background: #f6cbca url('images/ico-error.png') no-repeat .4em 50%; + color: #f00; +} + +.g-info { + background: #e8e8e8 url('images/ico-info.png') no-repeat .4em 50%; +} + +.g-success, +.g-allowed, +#g-add-photos-status .g-success { + background: #d9efc2 url('images/ico-success.png') no-repeat .4em 50%; +} + +tr.g-success { + background-image: none; +} + +tr.g-success td.g-success { + background-image: url('images/ico-success.png'); +} + +.g-warning, +tr.g-warning td.g-warning { + background: #fcf9ce url('images/ico-warning.png') no-repeat .4em 50%; +} + +form .g-error { + background-color: #fff; + padding-left: 20px; +} + +.g-open { +} + +.g-closed { +} + +.g-installed { + background-color: #eeeeee; +} + +.g-default { + background-color: #c5dbec; + font-weight: bold; +} + +.g-draggable { + cursor: move; +} + +.g-draggable:hover { + border: 1px dashed #000; +} + +.ui-sortable .g-target, +.ui-state-highlight { + background-color: #fcf9ce; + border: 2px dotted #999; + height: 2em; + margin: 1em 0; +} + +/* Ajax loading indicator ~~~~~~~~~~~~~~~~ */ + +.g-loading-large, +.g-dialog-loading-large { + background: #e8e8e8 url('images/loading-large.gif') no-repeat center center !important; +} + +.g-loading-small { + background: #e8e8e8 url('images/loading-small.gif') no-repeat center center !important; +} + +/** ******************************************************************* + * 6) Positioning and order + **********************************************************************/ + +.g-left { + clear: none; + float: left; +} + +.g-right { + clear: none; + float: right; +} + +.g-first { +} + +.g-last { +} + +.g-even { + background-color: #fff; +} + +.g-odd { + background-color: #eee; +} + +/** ******************************************************************* + * 7) Navigation and menus *********************************************************************/ /* Site Menu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ @@ -434,10 +808,205 @@ ul.enumeration li { } /** ******************************************************************* - * 6) jQuery and jQuery UI + * 8) jQuery and jQuery UI *********************************************************************/ +/* Generic block container ~~~~~~~~~~~~~~~ */ + +.g-block { + clear: both; + margin-bottom: 2.5em; +} + +.g-block-content { +} + +/* Buttons ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +.g-button { + display: inline-block; + margin: 0 4px 0 0; + padding: .2em .4em; +} + +.g-button, +.g-button:hover, +.g-button:active { + cursor: pointer !important; + outline: 0; + text-decoration: none; + -moz-outline-style: none; +} + +button { + padding: 2px 4px 2px 4px; +} + +/* jQuery UI ThemeRoller buttons ~~~~~~~~~ */ + +.g-buttonset { + padding-left: 1px; +} + +.g-buttonset li { + float: left; +} + +.g-buttonset .g-button { + margin: 0; +} + +.ui-icon-left .ui-icon { + float: left; + margin-right: .2em; +} + +.ui-icon-right .ui-icon { + float: right; + margin-left: .2em; +} + +/* Rotate icon, ThemeRoller only provides one of these */ + +.ui-icon-rotate-ccw { + background-position: -192px -64px; +} + +.ui-icon-rotate-cw { + background-position: -208px -64px; +} + +.g-progress-bar { + height: 1em; + width: 100%; + margin-top: .5em; + display: inline-block; +} + +/* Status and validation messages ~~~~ */ + +.g-message-block { + background-position: .4em .3em; + border: 1px solid #ccc; + padding: 0; +} + +#g-action-status { + margin-bottom: 1em; +} + +#g-action-status li, +p#g-action-status, +div#g-action-status { + padding: .3em .3em .3em 30px; +} + +#g-site-status li { + border-bottom: 1px solid #ccc; + padding: .3em .3em .3em 30px; +} + +.g-module-status { + clear: both; + margin-bottom: 1em; +} + +.g-message { + background-position: 0 50%; +} + +/* Breadcrumbs ~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +.g-breadcrumbs { + clear: both; + padding: 0 20px; +} + +.g-breadcrumbs li { + background: transparent url('images/ico-separator.gif') no-repeat scroll left center; + float: left; + padding: 1em 8px 1em 18px; +} + +.g-breadcrumbs .g-first { + background: none; + padding-left: 0; +} + +.g-breadcrumbs li a, +.g-breadcrumbs li span { + display: block; +} + +#g-dialog ul.g-breadcrumbs { + margin-left: 0; + padding-left: 0; +} + +/* Pagination ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +.g-paginator { + padding: .2em 0; + width: 100%; +} + +.g-paginator li { + float: left; + width: 30%; +} + +.g-paginator .g-info { + background: none; + padding: .2em 0; + text-align: center; + width: 40%; +} + +/* Dialogs and panels ~~~~~~~~~~~~~~~~~~ */ + +#g-dialog { + text-align: left; +} + +#g-dialog legend { + display: none; +} + +#g-dialog .g-cancel { + margin: .4em 1em; +} + +#g-panel { + display: none; + padding: 1em; +} + +/* Inline layout ~~~~~~~~~~ */ + +.g-inline li { + float: left; + margin-left: 1.8em; + padding-left: 0 !important; +} + +.g-inline li.g-first { + margin-left: 0; +} /* Superfish menu overrides ~~~~~~~~~~~~~~ */ +.sf-menu ul { + width: 12em; +} + +ul.sf-menu li li:hover ul, +ul.sf-menu li li.sfHover ul { + left: 12em; +} + +ul.sf-menu li li li:hover ul, +ul.sf-menu li li li.sfHover ul { + left: 12em; +} + .sf-menu li li, .sf-menu li li ul li { @@ -449,6 +1018,10 @@ ul.enumeration li { } /* jQuery UI Dialog ~~~~~~~~~~~~~~~~~~~~~~ */ +.ui-widget-overlay { + background: #000; + opacity: .7; +} #g-admin-dashboard .ui-state-highlight, #g-sidebar .ui-state-highlight { @@ -466,8 +1039,265 @@ ul.enumeration li { } /** ******************************************************************* - * 7) Right to left styles + * 9) Right to left styles *********************************************************************/ +.rtl { + direction: rtl; +} + +.rtl #g-header, +.rtl #g-content, +.rtl #g-sidebar, +.rtl #g-footer, +.rtl caption, +.rtl th, +.rtl #g-dialog, +.rtl .g-context-menu li a, +.rtl .g-message-box li, +.rtl #g-site-status li { + text-align: right; +} + +.rtl .g-text-right { + text-align: left; +} + +.rtl .g-error, +.rtl .g-info, +.rtl .g-success, +.rtl .g-warning, +.rtl #g-add-photos-status .g-success, +.rtl #g-add-photos-status .g-error { + background-position: center right; + padding-right: 30px !important; +} + +.rtl form li.g-error, +.rtl form li.g-info, +.rtl form li.g-success, +.rtl form li.g-warning { + padding-right: 0 !important; +} + +.rtl .g-left, +.rtl .g-inline li, +.rtl #g-content #g-album-grid .g-item, +.rtl .sf-menu li, +.rtl .g-breadcrumbs li, +.rtl .g-paginator li, +.rtl .g-buttonset li, +.rtl .ui-icon-left .ui-icon, +.rtl .g-short-form li, +.rtl form ul ul li, +.rtl input[type="submit"], +.rtl input[type="reset"], +.rtl input.checkbox, +.rtl input[type=checkbox], +.rtl input.radio, +.rtl input[type=radio] { + float: right; +} + +.rtl .g-right, +.rtl .ui-icon-right .ui-icon { + float: left; +} + +.rtl .g-inline li { + margin-right: 1em; +} + +.rtl .g-inline li.g-first { + margin-right: 0; +} + +.rtl .g-breadcrumbs li { + background: transparent url('images/ico-separator-rtl.gif') no-repeat scroll right center; + padding: 1em 18px 1em 8px; +} + +.rtl .g-breadcrumbs .g-first { + background: none; + padding-right: 0; +} + +.rtl input.checkbox { + margin-left: .4em; +} + +.rtl #g-add-comment { + right: inherit; + left: 0; +} + +.rtl .ui-icon-left .ui-icon { + margin-left: .2em; +} + +.rtl .ui-icon-right .ui-icon { + margin-right: .2em; +} + +/* RTL Corner radius ~~~~~~~~~~~~~~~~~~~~~~ */ +.rtl .g-buttonset .ui-corner-tl { + -moz-border-radius-topleft: 0; + -webkit-border-top-left-radius: 0; + border-top-left-radius: 0; + -moz-border-radius-topright: 5px !important; + -webkit-border-top-right-radius: 5px !important; + border-top-right-radius: 5px !important; +} + +.rtl .g-buttonset .ui-corner-tr { + -moz-border-radius-topright: 0; + -webkit-border-top-right-radius: 0; + border-top-right-radius: 0; + -moz-border-radius-topleft: 5px !important; + -webkit-border-top-left-radius: 5px !important; + border-top-left-radius: 5px !important; +} + +.rtl .g-buttonset .ui-corner-bl { + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 5px !important; + -webkit-border-bottom-right-radius: 5px !important; + border-bottom-right-radius: 5px !important; +} + +.rtl .g-buttonset .ui-corner-br { + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; + -moz-border-radius-bottomleft: 5px !important; + -webkit-border-bottom-left-radius: 5px !important; + border-bottom-left-radius: 5px !important; +} + +.rtl .g-buttonset .ui-corner-right, +.rtl .ui-progressbar .ui-corner-right { + -moz-border-radius-topright: 0; + -webkit-border-top-right-radius: 0; + border-top-right-radius: 0; + -moz-border-radius-topleft: 5px !important; + -webkit-border-top-left-radius: 5px !important; + border-top-left-radius: 5px !important; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; + -moz-border-radius-bottomleft: 5px !important; + -webkit-border-bottom-left-radius: 5px !important; + border-bottom-left-radius: 5px !important; +} + +.rtl .g-buttonset .ui-corner-left, +.rtl .ui-progressbar .ui-corner-left { + -moz-border-radius-topleft: 0; + -webkit-border-top-left-radius: 0; + border-top-left-radius: 0; + -moz-border-radius-topright: 5px !important; + -webkit-border-top-right-radius: 5px !important; + border-top-right-radius: 5px !important; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 5px !important; + -webkit-border-bottom-right-radius: 5px !important; + border-bottom-right-radius: 5px !important; +} + +/* RTL Superfish ~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +.rtl .sf-menu a { + border-left: none; + border-right:1px solid #fff; +} + +.rtl .sf-menu a.sf-with-ul { + padding-left: 2.25em; + padding-right: 1em; +} + +.rtl .sf-sub-indicator { + left: .75em !important; + right: auto; + background: url('superfish/images/arrows-ffffff-rtl.png') no-repeat -10px -100px; /* 8-bit indexed alpha png. IE6 gets solid image only */ +} +.rtl a > .sf-sub-indicator { /* give all except IE6 the correct values */ + top: .8em; + background-position: -10px -100px; /* use translucent arrow for modern browsers*/ +} +/* apply hovers to modern browsers */ +.rtl a:focus > .sf-sub-indicator, +.rtl a:hover > .sf-sub-indicator, +.rtl a:active > .sf-sub-indicator, +.rtl li:hover > a > .sf-sub-indicator, +.rtl li.sfHover > a > .sf-sub-indicator { + background-position: 0 -100px; /* arrow hovers for modern browsers*/ +} + +/* point right for anchors in subs */ +.rtl .sf-menu ul .sf-sub-indicator { background-position: 0 0; } +.rtl .sf-menu ul a > .sf-sub-indicator { background-position: -10px 0; } +/* apply hovers to modern browsers */ +.rtl .sf-menu ul a:focus > .sf-sub-indicator, +.rtl .sf-menu ul a:hover > .sf-sub-indicator, +.rtl .sf-menu ul a:active > .sf-sub-indicator, +.rtl .sf-menu ul li:hover > a > .sf-sub-indicator, +.rtl .sf-menu ul li.sfHover > a > .sf-sub-indicator { + background-position: 0 0; /* arrow hovers for modern browsers*/ +} + +.rtl .sf-menu li:hover ul, +.rtl .sf-menu li.sfHover ul { + right: 0; + left: auto; +} + +.rtl ul.sf-menu li li:hover ul, +.rtl ul.sf-menu li li.sfHover ul { + right: 12em; /* match ul width */ + left: auto; +} +.rtl ul.sf-menu li li li:hover ul, +.rtl ul.sf-menu li li li.sfHover ul { + right: 12em; /* match ul width */ + left: auto; +} + +/*** shadows for all but IE6 ***/ +.rtl .sf-shadow ul { + background: url('superfish/images/shadow.png') no-repeat bottom left; + padding: 0 0 9px 8px; + border-top-right-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-topright: 0; + -moz-border-radius-bottomleft: 0; + -webkit-border-top-right-radius: 0; + -webkit-border-bottom-left-radius: 0; + -moz-border-radius-topleft: 17px; + -moz-border-radius-bottomright: 17px; + -webkit-border-top-left-radius: 17px; + -webkit-border-bottom-right-radius: 17px; + border-top-left-radius: 17px; + border-bottom-right-radius: 17px; +} + +/* RTL ThemeRoller ~~~~~~~~~~~~~~~~~~~~~~~~ */ + +.rtl .ui-dialog .ui-dialog-titlebar { + padding: 0.5em 1em 0.3em 0.3em; +} + +.rtl .ui-dialog .ui-dialog-title { + float: right; +} + +.rtl .ui-dialog .ui-dialog-titlebar-close { + left: 0.3em; + right: auto; +} .rtl #g-content #g-album-grid .g-item, .rtl #g-site-theme, diff --git a/themes/admin_wind/views/admin.html.php b/themes/admin_wind/views/admin.html.php index c4b51f41..c8041069 100644 --- a/themes/admin_wind/views/admin.html.php +++ b/themes/admin_wind/views/admin.html.php @@ -16,7 +16,6 @@ css("yui/reset-fonts-grids.css") ?> css("themeroller/ui.base.css") ?> css("superfish/css/superfish.css") ?> - css("gallery.common.css") ?> css("screen.css") ?> i0QniLUzuY3 zpb=}-RZ+2#-==)ii-xA!u9MknGx!WIn~PoZYC;Fw~M*ayogtybJ2&^vZ%*7 z!5uCmmRN*7hobq%^{K0?kOP(3@OPrguaMz~GN!VqwiqBPpB8Z5GMoKvszV~PIslt>E$UYUQ!8=e3xX=V(`hyRZm2M?jVCt?D zN~kJbLqmS%z+zFU*5s$<+qme`O-J?84N3y28fs7|HjbfPSzHY;0h!sZK$5c=ZEV?a z4nR8>RIkdHJ?PhX(aQQp;kbe&K{jlm0}Wm=mnWM)41z!Ncy}?$o3XGet90SIDVwxG zYo(NvvMNu(m*P5UoX$pG&C7Ih&1Zn=>X_zZQZQSq(&jY2e#Rwa6U1Es095JW!&%PDwFyjb4~m(aIa6 zIcmJo!P4=gMXv!PsU_&|nWUO8o&B_cMqv62a$Lu4bD3&|re9&8DqHCS7@EFGXG@Hi zYl4`ELbykS{)M@$jJ9Dk7;?KN&2$cJn9kBf1x?8|*M)Ac58hE9yt6*|w9vxV^A(wk z!|k+R=VKChiH zONB9-G}*m}Ev*bwny9PX)<}sha;cI>i(A@~in?nC<(39iG=R{Q)UFvV$j_DLeqbCZ zt1#n}8dNjw&esCa6!Zu$U6>}oV|#)_#9}pXA+%#0bR}F0RKR>AMFD&bFE&PWivFD2Cfs(bwXYs zubil)vIXvQQBFuZP~fBpo(RmRXOcSR;M;HSvxu^Qvwm zNJXQyTG2h=)>gx5faVDz$+4_?^%`^~!&q}}k+9vD79Y#$B52HJ!pj3)KiTfjp^^F>zTqTgWO?r`!6-?K}Q-#4QfEzf2=H67- zXmh>wdS@X&lE*<2(j*(x>W5kBj811!(&?*|6&h!fIoJxVgVD_L6R>_~feUp3W?2wt z7zPN}FRZa>!_>M7YTfFyX35%Q;+mxkdGX{xb$5W&3NL4g`z5y10WJ|YJK){Ca7zu_=F}55 zV>K==H_$y3&^Gv{3F;)zf%BH{+5~4jL-r%%HV3F4lnF!?bI+ zY^c}1>bQ~~)oqID;q-@^@`4?hD#3)IH0T1OK~)=1ELm3bQrufJ_EliQuov?1D^c!; zbD>C=W2vYGDsQ4YQBHU@bh=`t`vy=56j6$Vw@-r(QlXIT_khEr!BIzXFjWNtV=!FR zj2?-3QM%(oiV;mw4q-HSVa9Zpk4_fLGak){Q-JQlmpVbCWhaY0f`&5J#(`<$R7DyTZs0ZWx=QD&<< zE>IP?aMoxzd!Xc~-yK%`RGr>6qwUN$pkMQ_@e3+9H7+VsIa!iZT(pvq{%J2tAZeBh zSQ@YHLPqbSK3#rt%6vc3Bcq{G(3sIwuS-@Z3x#rqA|%N=@X6I}%m&NJP)D~)k zoLsOS9gtO^9+aixe9aa2Gm4x^%6W}E0<7)y@d9H!X&CmFWF-%C@?^G*u4Ex)wr`Af z&)FiZ*4sg~9;E8vhuX+iVyc05YBt!3EANw&g*>i2>yo>liCBgtZwmBPhk2-3a*e3K zqtTKM402U}xWJBw90s<)I}kXT4@%2hHHF@ZDzCd_xc#_{XbQs(2vpg#g^Fqd2kBy+ z2>^NsmuXP8&Z=yC06MH7;fesAHbkUpoDiTis3AKwvToEIu~K0Y`4k=*@G%?e-8{&t zQNB|r{3=R!srnM3i|&q4vUhRvhg`i?^zExA?>eUOJ!XP;FnV`t~--YIdn$p5ZS(Rf+xTL1=-~o=wt=>!QH9{9~<9TH$Q-G$|nTUsuFJ3*5 zYVw2@GHQPfmvNhzj8o$=ZipAklKkSbo=Ez{LTRx=B z@YT?e)^tX^;DQ}v8zNCv7$s*`$Ehq7p4HJuE2IxAFRoeYJ`nOICO}5SO)3x*QrOCn z5Pnes@o+<5RcvTu-dW^KBfz2BDRpnf`i)vZ|U``KkPSx_`+$zEok@6wP0=rSGfW^0y%cdhlmZ$Jc337ZnMnC)Jq6au=VM7MKw)W!BE4=6zQQ_O3hK^E^T^h{;%vdRl+?G0BIpLiu z;{1R-gkrE{+@>9G2TLHhU|)1KJ$-_m+lf0@3l>S5FyRH@pdL$uXiHC8yyj}Zt|)T# zF`q7Y%%>szhpJBiF3YOg$vf!MQaM>EtNa@&%b|jch2aqy2-8m<1JY>>3^!5e>f@z)pxLsCs&2a z?AVXK>gIE6=MtbQr_?QN?MQYT$5zx9eh#D`zwMSYrj2IKFlv;C7T|G4dIq{rna-L5 zJQD@O(_kp&d#3pO%1;Wg)x)N`SuM6gub*;WR`|-juNhQLw zl@ma?x=IA&i47pFI*rWBr$r9sCkv@6*#asiE^;Feq`XsMTgyuqNL?#bv zsg^|uHO7+4zC*$_Og0Zd-o`02{yl z88RN|kSUdVkz)4H!WT0M7yafCJ4r=@n`(}0v9%D>Fu~+#+cfg?gH;sOqAju3z(sx@ z#D-1bVElr9&4?=uC?wMf1`jRJrI8a3G5z#()trE}Ty))b0j3DrAA%ZXEE5an=c{rv z4!MlmHX%Oxh6^|uQeoOfl}OrncG^{vtbI8zI7l6)6@GgT@5{KEEJE+jxap@@W~iIX zC@gD_c1Q+^xY_K9mvmW==A>v$mJ64S+T6rAJxdOSf4Uxt2L>2O0up6Xb0dCb1%&iC z*B2Nm7|jqsCtYda%|=BU<_wu6*q$^UZIXU+%U`p$)q1iM2Z*GdFJ#hZ{awha+X)`C zLJdkiji{`1c}-|@Y6mHe#R@vl`el7~X6w>2m8;m1Pc{rZY#cGM%UBKHHN%+_elRL-N|Uc) zlxWUMDF*2^X`ZUJ$$$pcnq5cRZ7!3CkplCyu)-`@Dqgb)JXX;13~_l7=ObR(-~v#y ze#)?luiz;Fvl1qP_JC)o>V7wphf#Kkjz!re2A*=_HA{Za!a)~m@VKn5DfeWm544DrV5=*C>JMKP5Aen@c1FB(5TpI%O@f)s!uC2(@#-1?lBeI!-FZM zI#HLRP)(nrnUxDP)TOP}$J5&PsW4+)TUozovsE#74`aw|Dcd1a77Q?h@496DJ6LWL zs-#0taHMFUz7|`?vj$U8-cTB)fc`>$sEDgYv_UZyMiH88iPj#fE_N_{2lmTw!GTKL zaDg4%gTy_2=bCv`lSg6;1*qO(Cvw56nG=N8@1P^06H$ySF#7rBx_X2W>@p4&*TpoQ zIbNV`>``(s-nZ1>Hdq9EM6Qb7D>{EvJ^0uR0}fRYE5`A%*%^>&dn}k)QbW zo2HnuQd(E9$!c)$SY5GF7Wt7P4=)z`J~j8SD2trq{Hn!gL|8c+3%y4hOU-rq2QTyJzx=$!t=~xPHsjAUQf!6)Li< z?$?)TkhjNtH!jdqqad%Vd$YBpDw0dPMUph5TvU3&e9Dp}fYh$yo(-S}2mY5`fxfCGG*aK!R-$$EB9 zwmF9Ta^}25=rvp)aIs*v8Ls40=y1vOm>_d%<4e`{skq+`(`}{xN8EKi&%;mIvJXGA zoHzrdRn)dHB>l9bL~&5oVL zifcOG=&Mp1RgVlDLi4z|XaMrQ-#Cs<4-Kxs!=ET}(Q=~P1udoDuVtzVc*_Oc)=O#8 z=w4u+-B3Y)i>7f`-_KP8S^iCKV1#t3hJL43i{-&>NX_FjonFLKmlK-8!_Qfw?#7)+ zBtuhaIs@yc{m|EFEUcOK)bxXoLEWXb`^i6by?l|&2Pg~LWmU3Cs;F+YjTvFg2LSr=a;k91k3>xqrnd-GM7 z(#xhx>1Qoo*puJ<-Y5^?Vr$K%ansIZcV%*NW>875s&lv8gyuFKKJc5|ouvsJLj3d{ zZq+i**qJW#b_vS0)o-MS7T5{!{fTUuU&J(k&6J;*v~wojH`N$%U{Ht%y#abPL>F1+ zDM{8^IA|&>M8|6+RoDL+439@tou2i|<{og;vf+*&(*;GIrXxjBa$8U{gy?0EW_ED94cPx%u%Q+@}j>Rc$gH zR1&!L+H8Eg9oa)hNl-p%!BID?`sppsIN5pG))MZok8_WlvhAQ+U#0~78VilzY*l8;R5HzoI zup33tANc8cS-V}xtKzTmuU-65w6??~=_jDssT_7_-jOeqv*{V97S?*Qq1kLv3_%I-3KoE^=CJz+Dcd+LXu2MYF@^t>2kdN8FfKM^F74>GowD@?o5W?DSWnY9IE|%DS487RoL6@XfuoC+Grg|4-jj*Dj7=GOO!l zVhV4lvk$)I1U;}2+Y7zWHB=dA-xJrDfwk~0C!E7-*|D9r_3}k8DOF&~G0nW%svJzc zZh3sBtf<5IUG;!mGY>mtde}nb6OtWdc_rmCB6#+f68K^DSfSJtt$Q-wj3B0qbe3_# zoAOf$9PHWnTlW6u-LevYfFC?BqMcFwJon zor1Y=&5=|*IM$b#9%5_8+TQGNAyB)4>M@r)e6lLrP_lL55hs4svf7m0NlpYIN{AoO z$Mu9VV>)$rV-}*-JxQ=&@6D(0%hByhe~pnmBe<&7ILy!Ywsk*UI5w7=*VVVyQHA4S zOV7;kN5Jes(|JKNfLhzbjRUqvXtMaXda?aX9v*oo<6A#xS}R34wKIJ68LJk$?!@ci zbgd(_@O+nxt&HO(dr^iVf@==!A_jD74Ng~~7W`#L% zruS;ugW!~!(QRn471P%G3UW1)i=G;$i>e+ushfjR*>P+Zzy_65ayTbj#3F$S!-jNIWr&X6OKZ_Cnt(Lg ziELI$8S{1(X2&9!E9#i_>d>rsIg&G=U8>sJPZ#=ZDd;%6jB84w%)<2r8;T(5=aQY3 zJl-r(QqJ84cHqrqM65%Dwbm;^tvxXx-pehiKu0W(RJO#%ftRg0ad?xtAfRxvMJB&o z9or{YMGDCa7Quqd6T^c`W!g^b7PjaDoZ#Tlkj9hQWr_{;S3(xxS@NnxZ;BKXNyRcV zX-O9)X4?SI*6|HV6pMgO}_z&1~)rbF$R_M=}_l+#Q&?ln{q z&2Zc{lY4tmu3CXWT@SA_OwVBF`)DdSanQ>9tCX@rNlF#CJESXOg%a1p%pfkPgSN_c z%;F_r3L`2#JBYjSP`R?&z)l=jl|{;`gXKx8ff_SW$XNc+#L&n)Su4?yL323JH$d-? zpd?$Qqgr?2iA^^b0T3sE1sFa@rylX7k-)PdTy6~A14LNuhUW*8|p*Vpsg7cWx%2>zN% zZ+a)aMKL|Hw&Tx;pc?x4tCkaJ^M@9K{52!XUo-UFsOHiW zL`rGnN%dil=t2O~;F&yMqNYN$>nz+VkfJ6N^zsOvNk@TmMhoHxmozUeL$~q{%fJz( zG8%(K9l)!bhD4v8!kyY~g@mUuXrPPoZe}`|I{E!0>ZZ6JHjGZ7BA5~U+L=-AuPZax z;MlS23QoDeq+5OtRlBOsp&lCPM8z;8*xAZ2os+myw77PoAF!QFO!MP@;9{3&8Z|Km zbSa$uDSvTl2L#=kBbF^MNhWg13LYZ`59q48QCmA+-O=>0;Q}7cTB>>WBy#D_!$6GG zA|x(LYayV%IhfmRlt95_IG6yndW%QLSb5RK$}9E3Kv3$*?_95{(udq8)84BW)o!>l zQ)?)^^&}A}lCK)cUt>$WX5poyCfI`ueRN?Qn)L(|u^G+HZgf!hDJPnYbu3pDR}-kS zb@2!Wl25-zLcJ&0k*G#oD&w%DPP%|=Tojd1-Jtp?`M9jJ@Osqlk`4av&dl$!{##X<#y6#4z@!9U&@_(?1x&iM>FcA4|?`zp!A-sO5a1c zf*@wq?(9Uij6|wTGbfb-DG989XXQ1dPSic$VI>ju1o}kHoaL62renBex{ga#j3Mo) zkI1$CwHkxb_E%{N&|JopaDol`lSlTa%t74R7UsHfj!P|rot;5eRB&}_VdTApj65WbRXf``z8`5?2l%D+c}2g@}Setb^z zN;DOW7Z{AkhvlK+3wxvTz+ik}s3EKBR^K&wgj-0^VtWR9M|Su0%h7$&{$X){XU}j? z|88m5NGui|1eZ9_+j$|p9Rr;sL(y(~w7)yr?N;)Y$u2tHQes!UzdzbFY~K}yWSo7` z;m+>P;ZFO|aOdE#oyNlYkMu=tc!tyw>*?U3)w% zS2@}@Fnpn#dtxKKy_y>naQAi&K^>!zZMS1&0P>33ql1I-L4SXAcxZSq+S$kI65s{v ziSx<@uqwSh5PL8R&aSAltG8!B?(FXNPzUR!ZWnHcQe|BA$R;CfZj;*zC}O%mtvC4g zMF)p4lm3yuUC}|0=I!Z^#odPulY`Vu1IUOl=KM7V06k{=e@?t*O4UzpI~NzEUCjO$ z{TdKsbdsFq`vq=j(P25(+0z^C4)NaXjdyl)P$LKR^zVyb5Y>QC+4#s{SJaHTq^F-Z zAhwj;A0OtO?>wZ;4B)u5;l{AbxCU#oZ-lnjK(pe8u$`0KI<^gX2){ePK2&2^{21(Y zQFH&)Ab|%rQS$T>d^xj}T0YUR@C+e6F$kmGn*vy}JOG0XPZ1T_+f$^2jxi@6H}2X= zEs~VIhJ^$)T7oPr*Ik%Q@EZxNP)-;cc}!G0TvL5T(}iah*{Kw#cHi1`Vbi$zt(y*3 zafKSsj6knzwve5riE-*+FnT4Bt?m!*-qpz{&JELGwn#+;m96yCyQz3kgIx;ZhxVB1 zDu+rB@;fHz%Z6R4-799N&Bc77j5C6lcck1M1&2${GGk_%Wy(Q?iTaIvDRjVm7&^p( zBgPqLGl(llK9mg%iyt12!Ir@_51)Cx+|RaWL=>@sQk?kiFXWXFJq|pgojS$~i9X{H zGJ4%I{T7;vo$A%jxKoM5r}>zXD?O0er_y}v$eF$C!mi$^jzV{uJVt7TqO&XBH_#g$ zj#>d7?fkGMI&kRAP4vExX8H`IRG{BvS!9lBXDU0%0L(G%)=l0ea$dd{%8pzD^BNkC zcFP)za*Xt2Z#plCUN`_lb;#B?G8_dUeeH|)0y}jfXB_Gpj7IzYhEt9n=oxnP#ewb0 zabQIfca99B;Y&P@+F4SfmsS!v8+a$}Ir>||Ul*N6=#gEtK|&o4Hr0sywv&&gp&b;32G5Zaj@wnz&Qyp5jhqg>F*A4fQjEUz#O%&ryCeMVqrkEyEz8@eUFUbIMii0 z+K8sFBT$PK=;`a+9W?>$6vN&*(%loc(?Bbv5$x;fi^{_n z4n*a?&Vd0K7oIel5JHIs2D*paJ*FMpcqm_(%10^L>%btQ_7>(L9E)TKIMhQ+BbYQw2^%kDzwQ0G9ny=`aPnc%0F3D8m8Y#(>Az0IYXgW9aQsC z?ew083x6s9RNeG`2m82?hwY?O-l=-&^$X31ykl=g0nSesIoLO@aIRoZueM6XRv)0% za4VOem_sMMYECc6P#a_Pn#F73B`s4fi z?O2CSS8p^nEbkhG5#WZgvxmDqI{1R2d3$ON~3hk zWH&Ti9Z#p3K*Nt+c~REaujM)D_QC=7x-dxRNOs_cZ{;wH2RKRDL8$Dypn-Kt)p=Lv z1pgMrQvRi)u=d zhw(!gEP5oISEj=BxMsMq>WiBlY-F@n1M7c;a&D3;T$=u1HyE!*&NlbxblBH@Mv8lzxI z&=eBouwz%YJeerE#_0<;`9*FUvVk3Zr*d*3ziS2?GswPA5}u;EHBzqx!(UFD>oY_ zbd}q~+-!ZjsgsQy&{hga3oOGHm8Te1K>{ByOoveu=m@*Hm!A2cJPYH}E6hu~G_P)E zDXh?AR4a5ux~s}KMVRlnw&;Pz8O|`sDt1cLtBh}JA!EpexkU@sT&d+o5f&T~^y*<) zwN-k{A!Nbz@TGV~4@1~zHLxLgP8;%tux6KDgCP+!bmMzp>kMagNljh0nzuE#9jv2Z zZqx*tcGgx9|_JIl5*$mJ_3W1~YcT|m-dokUC3 z5nhor+o=yj-C!(h!Oi+u)$ZdoC|_yl=2$dd??saWKKJ@!aT|;6a%FE6Jptr9q-^W+W*Ji zo5xpGWc%W&+WVY3`wYp+d^iE!hzMv%2-@A6Zd*aY#sO@=w!3lYkOW8zNp2Dvx$oZh zKxLFsL}tMW5fqtJ22n&%5d<6nMNw2H5ht7h^?g@W?cton`|f+ce}CtEzH3+2u3fu! z4XakIn(W)EM=G9KSy^4*L={~ILL2AUUcSmwZH}mDsAbh*kGEN*p_IoCWxJc~(ZOYM zfx#70_>((=%Ax&X)NLg;6dD2UMDsbrjn$-AlnbLP<#|_`{n2OWd#lqUjHx-~mA8?K zvznLNVY{;}9m;LFO1Q33AF4cLIIYkdSU0pO2w52NUG$2I`ig;gpB|*Tk{WopJ8id< z{VlIU@t-yn?ci3Kayz%!c~Tz^OT3ldEe|#eIT|MuorLOhQcjEO*okVYVyyZ`m0jmN zK;cyABj0QiIGQ?8c|rq-kUHz0yiK!iYQPO_XK#^Wx1!3HSH6g1+f;E|wd4zKQ)tU6 zmF0DnmBZ_)WgR%ucHfQnsYmfnU&U9OgqNa=PO&p81~zs|`=WCFC8;k*Q8C<*S^IOE zg{>d=!p(Kksib0foz5W=nVl2*Iy)z|*`AuN*shW*XUSE|QnozVvGH=xld7e%3u8O# zy5cnNNZ@KTY;qBNzdaT;sz!$iGZxZIaS_)dV06F=#_nLp#HR! z*R8&N(4i*HNl2M)=pT~Wc*Of^-Qb`J_*b<(kP=F-{-X-voVFzS8r3Puu4<)#2~W2B zaCJjr(A(MYuLesUmzcBrthDBlE>y}3HMO@8NM(t#5OYuiaUA8%Bcx|N^ID8;2GY>0myj9>`M4BEf{u!%aW|HTE*Y@h&qg!9Iet6@MSjs?5 zpx=;+`fBS|r*{>0mgIM9%Jg=rATc+n#9VU-YHW~pT^v4)*#UfJO;cEDTja7sr7F9= z=Jx8LjS*irj&%yE?Jum_y3Wc}iUtV-uboT36SovR~F?+Y^BGYId;JEdTLr9Xr`sYV58K1#Kj0#X`OM z+$x7;GW+$o;)cGx`u|N?bKT6P4x?fT*}Ajfon&8_dZb&iBWUEf-__^{IGxhHQp4i; z8iAUopFYQtR2_C^J1a+QDpgXwp-(O;x07iik{cpEJ*B{x+r3iLv1v%PFZKVg5;arz zVYMKe-Ap#m^VOn3&KW5o)!6sC(xeY;BV$F(sM!f`$flV8kT;tZTW%AaNPW(GBrvFg z6ie#FB3X^B24}}0UPtHUsJ+O8s@I#-ydN&~Y(dNAS3*yk3o7+hKu+~L_X?Gcs%qL5 zRh@^_RoYU|XFKCujY8VXZKK%ka8}Csd59`KO?{~bxp^pJrdEq*4@fy)?Pj|}w(ggC zqEH0N=v~n}S8gdH8|8W}QrHD(KO1dl(-9KYX}H-wN4X%b zdL%KmlSo0t^;_IIqjEJ@U2UEWQE5fp@XnHU1V`8AVdcwb)Iv+|A?<*tq@np^=R2`< zn~9;|DC*?4G_PlstLF7rZik$)6w6gUM6|q5B5SELQ{ASW=BY;eQ_a_WDh-<5)_+)B zx%wJi`vz9qwGdv;_xm6jQ0c3xs!DYb-pjlCy%wv$biYRGIP?=$zDF{hsU+7S)EaM! zg1Zy5-rGc;rzcBA$Ex(+W{DJ8hM{SrIJ?@UkdBQVQ!&=IOug%~enC6Qc9C;*ZJyln z8``AQ!1O(%vc048^fw1;8c~QdrP(dNt!z)v;>ZX}EY0y{i;kryoV8FBa*9)*M-u0H z;)mz=b7UOMWA1*JSTHJGIBIg~6&4tNX|% zJ^g+JDJHefmcCUPd$`^8e;W>FMO_V)OXBJ&y?e#lmC)9t1VL8~fc~(7uB!<&8eQsd zXI;*6&+S-_6jrvcB%Wigp+*!^kZn8JrOlKInzHgtaXlS{ut6ED_KuOj|YN6J@dgdFL z(Ix-I&0^cz2U2!JDMVL`m|3hkY^t)_9qVd))oHOxs+($*JcV?WY3@E3c0JlO2d76x zid~t<&Z4Pu$(}r zHfdA(3TbXNpv433AdQ8Z>gv^`m?BQFR0*g~yYaka(hz~%zDBvq{P=X@1a* z|=km{z6zKZO>Mll3CR@f}{@&@`+*u8E`{~#zE9JPKj-7<=nS`9qMo1magQk#t!h_uP1=d>G zK82lH1EUlcy|QL~4fEi5zjsjJQomP3)kL)-X{-EpN{H{M14N%N;_pA#+xhg|BA z(@%E=DqZz|qJvveYdxlp66@|RPw@-eDn_?eHs-hm#fhYyMf_w$MMITVFNdm!4Xmc_ zjWMYH*1x2WnYr(CHS_f4)Q+NmM_i`Fz8d%XRW{VryBZHE=Rx?a()%%%1Zb^SRdBdG zd{@*o(vARfwu+jSp6PA3CO0Uj86FinmoM=2E=YdwGhlC~4G|;Mwi^-3YJIRrh-7nW z2f}2~#|P;yqFxz{1f$Sp0f}q%o4al+Bqv<PMdvB%|vcL~5dTHrn2Rpw@@@8VC}h3T63L{f`m8n^EtWppKm^ z^@45l?pw&RYV$P9I||egOT?fI({fMgzSDz-ZE*aHVXFc z)Azb=*G8*+Zn-TCkR&{MG6 zvIZ%=pYFB(1`oN82 zEjrVD$1SE5OSku`27hHQf?gD(_}DTYH1KHOZpVCQD0S=<_t|XPhR37_Le5uY6}$X$ z7?_hC93s2xd2SC(oxdohKtb>8T{j}P*)dFLZ+!srXR6tI!|4n#q+WSLeOMVN^a#C9H@i_XQ_&|&R_a;Mw)xwV-?VS-oE?Rp zoazbs^vhwV&==dqj*$}EVKr*17s_y5gVPz1VF-Dn+?JCdq-fo_h0~>ENIL1{P@I}@ zh(NkHTROWwl?Te9+EfmX9L1*ytpLt1K zB>`RS4oT(e=u4!dp32oB)`sKB}1Bq4Gnf1NJ(Xsl$4z7t`o91KW2CB(&ggLUAvT(`KR#p8QDHnwN2xaYEyK` zlOydBGS8Yuwz;bJ4fa(%diUtt?OOZ#8@gZH>k1p_(Ys#{yvU@(vEu4OrQ$>G^%YTL z%>v3(5EBeQj0>KetTRepd>6P#AO}Miriu|tnlq`2H*RPCf zqzaAAkDT%twN4Ba((|3!61LtGh&T&+!M9ge4sX(P&-81HM`(4sBfWSm%@?5dY`I(4 zn~i7&TRaKIIjqX0=o-lPc*@!`#Hp1#ESi2N>I@o_%-)7hC8`@y;;fD>8PZTasH90x zM>xBxu5vg{jsKPV`R;wh$8}|wv3A+IJjx|&L+TovN(Cvp;9^w{0lyB~O`n!@Y z_?HRo5WKa%u6}rZD`#OFRXAs2hrAQhu_nik9SS=XceuW;{)YM+r7LVw-*RcFSTT!B z+Y~p|)uB7qaOueE#$r_LI_jJ?G?KMLr`GSSI15{1DuUHZ?@G=BlM-}8;q`9+sj2eYKB%w zouEYu8Y!;Y#p+t_s(+lg$cBT$@J+8y`V|=RTPvD$ipE@7n*vCxBetle*ZJ6}2J##2 zc4|~rPnSwjl(@N{RqT@(VLz{hXFLzijqYMA|%8TSgTN}iIIx1#*D zL%gC+M~LP%$aC&#VoxVEy@=%d>f2FX@NU&@Ym_BOX>Dll5&JxEl~0;ins(`Uw57^R zu6e$F*ifN8M)b8eT2-T>VX%pQTXnRv@0VLFTW`O{!wxGO#W!ATrye&Ia$Xp$MDMIy zQ>3Zx2GZ}4el@7>SyV*jxUDg`y2(JQhsZ@rpkAleX}LW05j7&w0nSk%X#XP}ifuiB zU|SB0u$^gX?rcR@>v!2@fApV6M!gs*hU&~M_K&>EDncpkbV*5Q%X62Y{9RWVnw{;A zjXRDg>yX*J>2(8bld4$U8K02RghQV5fD)RexMvrt+ww-Wnw<#_R&M9I@75|*c#e2S zr`av;tL`3?W_1Tksglc?uI=`>9(}EWjy)`OiL}JIF)XK8%Sm`=yQ?4MJheeI?^+dp z+B3i0Ht7=UR@+q5ZD@@;b1>BH%D;5$eMOHeV-eBLj!X*YT~7K^sgJB6fJ^}gG? zp;0;2>kjlvf$GL4M?clV!BsLX9KI3u^x5a9`c3iX7A<;rx!uO`l%@)#qUq|#C`WBJ zAm%^U$}aS+kJ97sRA@RF$n-y?jNm(K9UOmXL*0c6vMSQJpj|TvpIco;Th{niQ0OI; zm!W6koP8B`Pryg8FKIs6NM9*ZGZ)VBLaG=fxj6AU zpSMP0IlAGFI>}1qvvul`UP=a$!jXNc-MZM88>Z9Octdo0z&=cRX_X^c{)51fFzr%$ z;r_7*j~S{(M~Y!|DDpJT&}K~U-ptIw7*w}@eND%X4~ zMZMv5kW})@0dJj$vZ+Wo8gV3~vq(hg#+@!!s>)pU&!}RjP3Q4;@s>QsnY7zlzSWs6 zEob<6K80K&*z3yks=X$;S-|euQ?{KldQV-)y2cbAw0C>G7It$ReKP^HTSOiWBgb2- z48$%=odM@gE-Fx`IiwwhW9Ps*b*FJVSSfe0PCBQ8QTwJoqEb(2_^oD6`fF9Xm7p&@ z)MJV_^u1OIz+iTj6%8~+t56*;CY8LB^XY=-sw&-&Euqd^$EaWBYS~Wb{x>Nnc2VqH zDa0A&a)#}6T!`siQXw^la#gVxb>BwXCEBT2uibMrlXmOD-kdF`7`RHhOvN-C^ssAQ zOMW80rJ8yElfbC|RfVSUs>;-@$4go`6H52ui1Vm%AXl$0Yk|~)T;0M~{XYhEtv{aB zoVbV7(NGliG-XwA+bG?SmEy0O=t7FsLBktJ{ZinT!V*=)OL`2eZyK53%$bIO@;q0{ z-x4{zm7BU6Sq_oqHuG3l?+cPP6fEg2k1tE6x%R4+8%U9S+oo9{{!{DDO4-`KL>o)` zR;v|sty{jW#%9lUOQo7CqeND@s85czq%E+fh@G!?Ka{O^di|Hl?d5MmPTo zc35rIA`g4*-Gerw>(>8Tvj4rhp{`Jg z;C_XQtdlv#cG@w0cF*Rka@6Fs|GOnQ#r{1SQUf7XqCVA^*v)0=XZsXj%44}*=&a0; zOMt_>RsY+-u=?u37a8@ngN=XI4>tb^n=!a%kkL3|kbjnV>Fu2d zRW`Osb!i+@M+46Ps_raHnI*d=rFfAx;dPFw{vy|OVc0QM4_4a|A}GYLKH^yDIXSRg zikO6zi6Uk>M#qF$Te1R_;!D;1&Qc0V8;5lL?M3=NA`n$3{VvCX2VFCg#xo;%5Z4YZ zt`>7n;PDoWMI5JcyMuqIpap@hjNE9IIcd=p7m;cWXRXd)`6{X-6}6HbwKWFSG?_yx zh7L06KmfB6qGZPw=g=tV3xz;#4zNg0E4)s{H}yhBa2jwM2ROJcF*_JE|@Z`DWB z$=a!=fOrSemD@t!c8`dneWW64QK>Zd98pbERXVt{)a3M*k=0ElCAQwIOLGT@0qV+y z8sdAx8s>aa0KO}$bNxr*=_F5FQ=_*R8Cs>Its11l+B)|$9L<4TVK$=L|BhniNlmjF zVYltvV$^Y~SS?;xaz(WcI_f;!b9ilKmOEQgF|@8~GKDkUH+3E)5+h|jTBA(aWM6M) zZrT)`0_UK)Vm;$n>h|oI;`@s6HioYPS5&)73hk8T?OGs5$7#nVPmgH1<6g2WuXaZ& zx6iHgPrGurOLN(g99?MVdV(nbD}K&N3CQWEq=Wd3(yM40+UP^NBl;2{qcS@P^QCruTx)p*i)^P|ddebzeawR1x4P@x8 zYg%7fQzestL?Ja{%v&89q1mh2G3+^KUMUq3HWgwB5$)ZH&}w~JvAp3dr=!*9wL?di z1R&GYH6+y@rtTtg`J9ySOYELBjmDK`v|d%+wEueDwIxPFW22~4=bo9gr{MX+YrUDH zs$h`vFTImQUSp0fNakITb}8uBFRsR+DSMQ1GpKaKp@HgvxJHwq%DSeSdY_^t;!_VLo!+Z^TV@fZyCo+z$jQ&%GSDogj&xNNYQc%# z2*M2`OY(jyC+b0~);X3hi1IY3=5|&ds)dkwO-*f88F{0cAxEQBJ)+!`1*)N@`d?}` zquO1D7=L55v|T~ZY%ysFBM96SQYc88{W_`G*C~6_0a}QGOn%c>PFgFN-|r!!uOV> zJFDN_q=H^WDx`S&nS&j@6#!{>Y`Gf2tu1;Rp=Q2hL!#nYa{{J8syFp*LpC;CGa7gWDhk}q>Jo^{I>H0(-@*eE0q{ z{a%50ue{|))TW!hdxbYZW~o=HT@5>0_L|!I;Y|^rySLM(692v3h!O+*2kqVL6_J44 zgs&AkEGg?9-9?i{1JVxM^F14)(Ru13#eCE7FCZl?q!2aD_AJuxRHzLsZ1*MJPAvoc z2k-fUc8{{dW97bs^2%-Moz~Fu4RUKt--a};SJTGnm65`V^wIu@X_}WFcc`ns%nqtb zA#U$1>xmett|n4+Xs^@<2iDLIcWRa8Fw(xmv90Ytqz}=Cyg0N`GYu#D9Xl0zF-i%u zf7;V2YdxCzhA3VsJ1MEI=_}qcy~n9%U*dK*X=;7N?dqY9gLE%8Z40|jQNMScA+n|? z2l$UZyxDfo5-g_)Ki+wQ|NKqccQA6Tk53Xpv5*VB5f7f}IqLRUdA3Dwgg zt@h5wQKp<_s`hZyo%2k`rqUbv;vPtbNZnGd`h>N0!v_z+mkg@YeUnO8*XYa&D*^LV zI|2TO-U*NxKTY8H4>eW1`Qo;cbIbj2E4IBO&TUy^$ekuQItpAR`DS%XT^V||OjLI( z$11faf$bdQT@tQzH-8RPlIq7ma?orWxpzfQb6E?0oZ*c_65jBv_M-1cytTS^L|x@- z&$FG*iL<>!n(S~^dAW8(%IdtQrcZY}a-3l>yV@BC>#mnFxW_QdHdpV!S65%3(s7sL zL1}OA*y-$4dChAawG5FcFK^*ETSV~Uv^Ps#MfyACz+T$9wq0F`wn9p?&KRH;KwFAL z)IB$?*dB1NcXC?-rO1IVOMZcX%+Sase+U~p6e|;O>~pf z0X#K#2UjR`v&Sio{uwKB3X7{aNKG{71N6)$Em_Lwx#zjrA;**>7ul)JYirb$?a~Tw zD7c|f-*;Z7_QgqgVOH8(Sd&kv=s-G)4nCoR4QlPXD>WP`w`=_mlVZw$H!2IXJa?tK z>Kwbr?P_CN6oVnvw}UMVrWV)rj>dq5^egm83LD58*zlqo=;>i-!J5PtQjU5IvuN}H#)YvupXuTDr?lHvXzvVYMx-Nnnp~FxKU0Iu61{8 z5_*bprqg^%p|EWmdHPFdxxIxxUqDq2QVLa_>;HDUW3`t`r5#Av>u`PtyA!*Fbz?n+ z-sh^FH<*&PzSGr*H5O{W<$fg@SY|-#%iF4SPv0T5(NpisqaN{mcG@{{9XoaP>k!qU zRjSiem3Bm(x7$FbQ_QOBXfniam710A(1aS_* z=dg;M#buFVFZRJ9@{F}kKAoBpGpNy)9k4pB1RhpF>0KRn1OvTgiXGP+*XQ6&1*%a> zgm|sm38lf=jIOiu`k^!gtd=sk^9WMYoa89mJ8@1eC#ov8TUvG}JLx6P^E9vQIz96q z+3&xF+|j*6U8JaAT+@&;cTsJ~L0?d$%DTH%jOLoOd6wF{nNA9d)Od%>ePR@_0<*v> zh!n&MvI=qv&MxR!P+IVt!bm}R!5<3GF1Vu5EErNyR~Rd}z0fMSlNF3-1yfk)L6&%g zg;ub{Q!J2?c#p_R4ziXfp5=*+Foxddp@Teeh=-2w#CLRWi~-k~M&c18u^7h0V?>q_ zS#Bg&(Dh{_@d{l}61me1-EAhOn1PIf*=FKNGqD23#A`&}Ao8A>c;8H%BIAz%kPSf! zfynE@#2a+|hR7)*6GY-}f$O709wYK3k*A4l7m3$IVka5*5c!Z zA=vIEGCver5K24{N<2umCqs!9p~NaOK11ZiP-1H+^hzl7YACTIRIoFY*c}SJ7b+oJwQ{ky+u;oN!`(ICOtF@c=nIMC1t~t3X0)!ii_-`g}O?VmPrioOp?D zy+-8CaOkaYVqZA%HrWmn`JBi}kb-Z*iSNRR@571Fk;EO5#NCm^x!ZVnQ@=ceG$qG%+Qbm=;ak6HVM3 zP23lyHxO9}5?UHftRTxeA{&T2PtIGTp;x1!ozcYZXyT1%=*?(iFWq~a$a_RSB=RMZ zlhMT2bp4UY9Wju*h>RsNp2%b(_Ys)~qW(!Le%?R1Ba}Q6^4amu$Fp#KiX|Um$>mwe zC$o|(vXU#alB=?k!O#i1_Z};_Cmxy=hmk5n@;hGeOI$wvh>;v)B&TM>xZFrm@lUQW zLhH%?ihOU9ihS~vnS7tFKL(O_(v?bg^5tM?LN3LCEL6IaPm97UaM_OHnxrC}q#~T8 z(wm%!I47ylCg;o8Cm$g53L;culg}vE7v-gJXDGQlRQSGfJ4pAbtR}~!Bqph-CaI_< zsgx#PunHb2!1ZUcj15zaiBOSDQjx@Emb%O*Cn}UlDuT(a;eyeHxKc?gypttIqbww; zR3)i2C8-=GsR$*h2o+9YNh(E2Dn-e8(IgepB$bOK6^bO4ha{B;c>RT9LWLkng&;|V zAW8Y2qsL9?z=%p9$C+i+cUx_@VG0mvffQFD-o^esI4#GdJ=N zc(mI=8G&eT+}+4Od&I) zC-BzqIBfA78NS3k!At-0S=v`xf5YRS!{cASAlo1o{gNYeePvJ_%(m?egS)#9?(P;` zg9Hc=90mw(!GaAI+}%AuaF-xMZ~`Gna2YIw;O_AF&N=sZxO-}VTj8g>n!O-Oq}o$u5k z99R9JajrF|xaRW-ED`cJ@Oog^OuBpslIFk6?X!MZg1MkXQNLy}pm`S5OK^2!|Ko^{ z#rJuaG&Fghd~k>yvrYKySumcu9W-TCvgl()U+@Y?U0`ALELePzA=KDFh&@(aXaNyX zVvuz5Gx_@#yzj-BYK!Ouwj zVh?QlsQ~FbojfyDqA?%|TL{?R?uhtZMl53dmkWF zU9rmPBrvmE6?@o#{bs@0kw3nX$~7`q#;1-9wdg`%+3uj&;6c5PWi>7$(6a73{t(s` zasZ6wiOH9=KkJlu@p#j38%1HLZ`hzGW95o$Y~tgx`7vqCLSPtwl(ZU`j_7y4j2>(B zpoDLEKgzY=>`?I_9H#^z+tQ5GbwtpVUXSkpuZm)qDWC8}$9K=+7Y!f8ysmJU>RHz@tE~S z4}7l~a*h9BZ(&M5&;s_!gLfkx)5q?IpW61_qpxWq-eClW!h`TOC=^cWzCGkbKAB{K z5PMZla>6}h%%5>>!g)}lUzPDxg;fy$rnSH(78L}aX!f}fSXM-06Lh`Zp2IkG0k_F) z3!+IG*9S#CB!QpT72wkHH_{65AoSB-d2>R7q4!MaN9M&RTugk!0IMn2SSv6uFmpuS z9G@pE>aC8O3ps)BOcv^T=sqUglqneph{LbloEddf(#{2>mLpXQHiS7YWB?ODny{W+ zv~v}vcXfzwfmOkR;~$fG-R5Rs{IGZCRQ1#g00|67Nb!V6yA+Nif+;`<#0?(jY;Pmd z4;#h(ZOGmC#5Z0CST+wLx;kt>0+@ol5WYfJVf!$O_GhMA7oZ=s8z$A>9k+`o-HPmk za`hN_|8+c?&w>W9h9U*PMxa5U0n&gXp#3mBIEyRh4WbCPKYA`e3M7Tn1L%Q(&xmT7 zgX@A_pf173(3i)!p)|odFgrNr3Bd{f2?kFzhM#~diYv1#i9J%|AT{XRATvqwN+fd_ zL;#I~t-=`0`FM~r(bYkpLDv9&s9$gvEC9w~F2sY9i7^iP4Z?ul2ZzJJa3EX;P6xMu zb}KE{>@Bk&V9~1o$4z+!0v|-^|s6*_&f+J`tV>oM6^tznZJRG#(Ik zb)$}6@txeblUNZ3aszUJ5NSWWc~02dMi4jX1skY-@F5HvE@;kNkFjwubmlPEhyc29{9y{iIKc_fgwqu|XR6;TIIbG4!wtC%NavAVMhXp{kA;vRD9uoVo%hD$crJAJk*&0b;Lv> zM(-^#w9HuB&j6iZJJ<&}wK=kD9i8ei$fj@IF--Ws_-(k*)uZ|Vd~khGeHL&{;B6QW zUcu|N3E!Ne=*Hl0k=yv%(>8ATB!Z^i02H>`+Mll6ZocBIpCQ(2l5gVs_cKW|VE;`&=>6noC*J%nbT{}l3Y^`fZ<@xU;>yeY!^lX%Xp90%QsM_93dU(6e%4D5+u=M^=D(G$G=7H<*t(0`%`B z44JF{>r33o>ljO+!8|fFg~DI0bkaMoCP}T9XBUf)xq7GW9?h65=6j-iKairbN!>fT zhKqsPNixw^P{#QNi9B5MFvk1ue{XdH+Gz|>IS{C!_o3}lh!U6*2pq`NNa=utji)!p z85?&ZCt<8N?#9}pWNh?u){u%w{Y{G60pSaI(fy8TLP>p)1GF4k9&D>VWyP6qgi?(n z1eipi2;K#-c}#9~qWJ(9Fvn#KU%n0Wn;<4+nb@5D1pkEZ1ic>1hiDQdp zZ|LJ^)b1F4O6V;JP8*KlkLZs{iGU4)Zyuo5Dg|4m>cZUEs9|Vuez*r51Fi;Vhre{- z9z?n!zQMksz5(7$5zd2s>lDteq@1GHY}Jz<32Oh9&j`iWFS7tpC=%{zyUycTM~Vdw zA&i8qZMjn6r~{Y~yg@0@Q5c~)8xK|{_6lemaD-%oa1CsNE&`^@gkJ(NVa>z5;Qu8A z<(wDR1SKHKUs=MnGcy1QK(%0N*w)ECV(oXg0DJ@BxvDu)J-Gp>t=u($+y~hJgF~LW zw%=2-9_T~tle9okJK6Vq-tPPlYtBf%q%G>C)8Hi|-1^23X#x5CpWH<`A+IM`_;=z$ zdxhNsFcv@uNLN4?&@td1wAtzH7VvLg08k=IAxa@gA!7q0g6Uz}aMBYrSIQeg5uiV^ zKej*6pA5ImY~v&T4fzf7fAFHCy~{;_5#JRaTn9sbp;SNK%>dmb4Tdfg^J^m@o{wY; zLFkcxCSlw@&V-%7l3;PDc<@&!FU-LFKOAs`%mhpcW`*gRlk-Tj)b=v7+>OI7O&4tc zjU9~AoQnr16NdwEghGrEbFu>RIg-hwL7+ya1`>nbe_DJgHGPl6a2M9`@6ch3AOr(! z3AAd!TZAfC7r}aDA9SC8VO9;ALs2mE_cId^JTT0p!@63H-1mT;!kI_$-o z|Gzl*bdicsxQC2zs?Bv3bP(=KQ~NJ?f!kYgs0rN|=YB9CJV4?eSf=^v0f{P%A}L}j z)b%;>q5pyRh$`fkr&h^T5}gtx1&jw3ASAwWLB#obiZ~9}7Y+$pMV0d0vaJvLX9m#x zk)Xl~n&6eX&`p<{x!!=7eQ($`>T^UPPY`A_@TDmp4nUI>DnJUT41m3WA5u^dx_KPA z3pF#RVH^O=J_AeKxhrYi?e11G(1nNC_(Z5;Cv{iV+2Zp%O$A&wrN65k&1nyrA5ZAG+adPH-Zt z3~|AZ5+CL5VPxPlLpS7(Q0M(b`b^r&3F#(8k8GHgNGS8N=D1`YdJ|#Eu^hkK7Cs>I zsf%j(X93xyS9rBr<R_m6cAS zLXG;mh(hPUQNl#FCXFbC9;I?%MT$MO+RsDz-&#z^n-!plSUdx{63yzNeQ_!3A`j@? zlSk&|d+5$M@lcIZ7QG>N`6D>;feh~Gz>?Ye8OSZvKaY;!4m+iCCr6f5I;{vpH0_ZR z;Wm7P1q0F?{?!||&q@d4a;AatT8L*3e@H}ayfDJHJ_^#AgZkwFvo(2y;U-&ML&rQ* z^^=|aXM&E15lpr5(qY@iEJ$a<2nr-mf$769o5uO5LjG?yDKnJd#2nkk4oJ2VL@EhM z{)o9TaRdy;!SziXk@I=(htZz}$Wt>m4&XN}%wQsJ?r6-V zbRZb0r0dE5WXK0-sUi*4%1Md{LPq2_@lt=Ef-0fys`^odm47o4Kqil6i3z3^mCvnRd!hxZ|V zp(8o+Yv4wd(U8f)gkqQC$x`lOmm<_!v+0 z)ph`w23J&hTMqo^?++`Qq&+KeL?k7Xd)SCJcsSBOB!h~%zx<39T!43*Yx#(j#2r;Q zFHsPn@Hs`kC!K~vCqyDh>GSdEMW{bn*>+6oUj{>Z?xS+u-hw>vj9u3W=1B@8af7x+ z-!W@{aJ%!9&mQ>|PZl*@ zW9CSSd^)Z#CJrZ3I`F-BaYDr4j4tAWyU4%F*r&mFtyq^Xo(9!cns~n1sL=;vY(FVj z@F^CScu)~{uyogi>OCPQ3B$sGM4ZK@ZJt4ZZ%CIM<`PWklfp$uy-&Im_)OLyGbfnS zq9Ljqv!5LTm1v1_!id@3>v-+RWoTALv3zXJR$te5@T6z+ZoIfVZ_4Tc>QTm?ShQE!FwdEE+Fd=C$x)#*!Ore2bdJWB#l#} zN}YW!;U7SqeJvqy?pv|#`@ZK~>+oD_|NLj{Zqecoxu(1bn|nqtsH{))$UW*Yh>w!t zj4mnRk7Q!9na%L%@vw!qD~n?bPP7wYiPM2H={5^qv&`}WZ|N>G%nfkJE9W=XX^G zVpmXhlD0YuFG-LUe5Ezww?KH4t=jssH2aaUdm~omTFK;J zEZ>xo0C^j{tk)3iqz=4>1casG-zjJkjx5#e-QO@p1@ zQrbvCqbjPJZeK?}pJ|_8e(oE$DlriU+Z#s{dBi!Tfv*DsYu1y=cJxWRFPY$a>wqitBqw=O#*mOes8saLDsa=&QQWkP-ttm- zKxPw&vL_d{hv=m^ptOBSZ*L)8>_^kEx_u>v$MXk9fp^M#DVti?ytJ4(M81!QaV?$D8Yc`0Z_D4tvF z%_{E|o+C}l%k^a%rhYuIQWPcqnTou8f)YnPrdw_*)iC2e=$v*9PZAH0d0|(+hc?8B zc_9OJuPX8;)jsF~BJZz3jlZ6_fdM|b5cR!N|9B$=?kPQfPG0GStfyR}fTh8iIuMc9 z+nA2hNgKA{UR*LFBr>Y-M5Gn86{OgxX!t?}&x=kk*`yE>Wjp(fFjKPWH>zy|+aBY`!tada+$L6R3Y*@|3_lT5vJYqkHqX_%)N&niN(j5 zc6UD#KOPG-q!sKL1=_?E)4q@~u8frYr--OmFkqoas*KA=6@-bxOtb)ad&pysZhBtewrsQ^vWrPj<&-|YeN;!~` z`FMT?7ex+3kDSYj#_Krn;S)!|0oZuK2sZ-!V#JhXY^O?l(%gk((7 zppK!DlfnuzrnHS&BQe`9YPzwz+<3lOBkc063WJC}c_Z-^BmSKBalwgFNpfAQqh1PA zKE2dLDWaLz5UH#YBjsR8Z3nSX_3^&A&(q6f#^q-L+Pra&Ga{WPGa_u5>ck_&;O`@M z*uFA5nLo5&F9dGyeAVU+rJ+5O!jljPE$NzoSD5qPpeVf9X7X!91NER0Nj(IF5@2vSQnA?30yu9rE=8J;IFRD*zgAETTf z)HP+f@+UQA?KhR83WIYeg>hw4(1H-2l)biaKkmBWql%7(EaKni9*(& zWN9c5H6rzY6lDT}8gv+1mSxEqF!=74=sWyO=Tgzt-eGzrRql0YZ6Z@_qL^+xcxnN_{} z8Yz6Jd_X<~KL3{E*3p*(#&hRwqs=rL#|Xzj6zDBw{IRX9KgxgnOIz6wDAHr%h-Uw2 z^9J>X;2_y;ktEHiT-r0Tq{%3M8N`59tOqr|0EKM^>c{^`bRTrVO+VwHe_W-cVP1r7 zfvg`8S?4EKf;fJA>jr}xN52fqecm!ON+%10FMxc09ISy$RqY&ye}TSc8W|yb>zfelQlS3HBELA{5Oj9(vIIsd12;2{k1){0`{KI(W$&x;@YPNij2Wz1 zgn1acIq1CYLbX^e;4H>HEymfr!>uRGbf&d)HF;U-M`%%h$c^W1V!Us^mcAZoeHyCn z4|d$IPvZnHisA7h5>uR>xQqLb5~W{5dl4({&Jb2Dh6+r{nhe%VV^-eKW2r z32XgXjtZYj)=xJ6?nA=7XTer%J3mH4KtZo4kD96T0R*y*}M1_#; z$Uhq9Bx{WnFeL>Nu-7&3ez;a}3mPe4fB3{5RRohVxJ?tfC8`h(zC$wZLF_^3LF)P5 zFn2DyPd?j0;}MNNx0j2U-9U*)nHKW}aRvBd;_XIj-kRDxniw4VXtVEEDYMHr6M+}e zY4X^MJ)rkM-RwUv9%!lqRtX*}X~xzqQG4w;rz#kf0`?{{e)~U0C$!}xyp!4_V*ek8 zb*#N~maxmiRdJx5Sb(-=xYy8xj*DUV*5k~1yVpd87{(xxY;4sBWjmM*PSJ;*I>0I5 z%f=2J<_ZcGW&3!2W);=3V@>b)-I5a~*zKLV*}z~wI(B=j)uEUljmay2U;eZ%k%Jpq zC&%h*P_|kxW%KiVX_{gj{lhsMTeqV)2-m7>+ItYYa&5a2XudWcj%Qhjdnn~Q^$D*v z$Dsc>>KdOvKOsz(cJN;5jHTx~k8&EPU1aN-*bUtO>s(tNr&` zKsj^9KRtLq1@)Evuv3y@5>V)0V>T-OhU@1#lyq#;%vK8QCnfEx~@DV_4 zNo;Uh4Ahb*Gt_eqRr73^M!tJNuy2mh*bw+bY5?B@z=9_g2uy~^7YoUbS_ z$GLHFNMkVM*W#gqS!8nsV#JR_o!KI@(FhK@H*IrN7N!^C4yI4X)w~<=bL}UCZ_P|U zM0tX^+1dj6#EBn!{@~07Y(!pu{9QIj0ef+`vNDKG&`mw;rf6z%+AnDrmVqt zp8+l~2TcUC&<%eKe-zs3DSo6mshdvYYQZBG`6@sxYqJ-8qua+rr=lXqlVxS~j)Stf z2g?lD(fE_x*IFBApe90)ZF=zqQx+J**0u`Eahih;5G84zffsw6i8YhV;T0mC3RfW%s2q_k)U! zZo+VV@6lsw@qLd;zJ+z&1Li|v5wNL5&x#YaeTDD!LQ1jprf=cWyVhXC$m=E?#~e>>iQWw(i3TY~;7-rheoU z^F?z|t*4RC2)le+T+o8TEv2_WWA~G0Z)!bzAhwu7evKJzf0ZRlYn`b&0q?o;z;eIp z&!9q31F?KuF+~kcF_3C$7KM%eWt5{nI={OIFjE*`^5lq%YW7|i|C3BYU zoM^sH%l9TQHj9joIF3)p%wm#OZESJ`PRC9Uk>Anmjr4_cP@Xu(Di|k|i`lL)tjqt( ziL9_4!97K>v{Qq*MSjEmL`O_-q@Gh+P*0E_>kIQ;c^pwslhyFq#!WZN*=d7}Dc?zU zc-w^U%kjjh4JPFxbbN*)aPpMuI$y```5s3(s9W_ulk#X zFsEdHonmCfhd%d|&pVnp;-04xg`u^-Vm%qARen$3iWMf-{k)ISR&>w_P@?_&q{Wh^ zR6brN-|1;jRQ$({`c)hj0S&E9zr}UFYOv1p^y(^j{hgws$FB?2n{H(OrE?omXvN6L zxtVYGp5}I;4qGUzN*!r-j@DC%XD|Z$oUp{Yos_SlEl-WP%=owpQ%YoUQ7@{-G*&@H zuEEdJFXUS?hcmNM6UhczzlB8Q!9at@tLEj{G%c@TRe|LvPl{*;^+qj3%f`r&&n1MX z^L41=b%;8;+Inv2!&b>H6_I0~+1C`L*`pR2=aAaI<@!@#66=Mk`e5Rez5UkC?dxlw zHJF`Dnx5BEk&@*`{V{XUJ67@cG*?DX(p@i<&qR~Pu&7*K6!KtqE zN8Thgotal{+P8G7JX!kHRb$rliAi!%W1G%yiIwCD`(8iIO*}TEb?Aac(2#?4>pYJk zU%Ut{Op!mj=`a2qn<#ou^be@7~Nm^o>C8g5J%SpTug*nDAEl zTJ0fGyY`mm)S8S}k~-(WTXUTSUPyoFGNqR0TFzr6aVv=J(aq2rgf@Xu>dLBRmqNU# zEEK4>f?ld?&TBY{v9v#)={tD`h8Hyq2`nK_DxL3`p@xA(Hr)Z>u$I8uW2OZ z+{xN=Zz!#QO<8_CCl#oxeBIqf zr_O}Akn{tFLaa|&A94-GXOWP)`w=de98P#Vo$4^`lcy;Dl-Q$nS9iRX!vH55`Xnz< zp-`k=pG5C_j2Qha{7b=~;!I*9G}4#=-_Mn?#~4F-9m;R0=3-4YYuLJ?!R8*vmhV`% z5%GnN!63Clx~dSP8Nz5LGo_unbZ=Q6n#u9mW;JzvEkjw_?96RWXzyq2(<|Gc6d8+f z2-6y^2d@IIM<;csr48cDSNf-S4#=xdUn+Z5yewWHy=Uckl;zS%6=xk&k3jpI?KCzt zrL&r7t{OtM5^_PPat<^=sKpZfRZPZ>-brlw%7hWLGCe!(D-p5(N3}tXxTv(}JLt1n z{b;*bo5z!&scGqFxvUwxCyapIxCuS%TGR}`358n*<|1zuB(%ZE(PF|~l??F=(J=wT zoNc4rwx?f}2WM$PI_3w**nY`nrRw%U5|?O5l+Kc~| z$veA8(QmG#{yo6WcN653E|ci29@-xtt>E-4Yb6V=%Vx;-il?p%PNVM^uh0Xm&s9|qEdwyf8*C*^kw47Yz6kQBO z_?njcypd?+5`JGZfa+4Ce0a<^xx=Kq*dbTprKYu6(Ahc`22P`b=KKe$F0tr8+|$ zc+etCM_TavoTLn???;@){gpfValWw?+?A_$=Y>Ae-$ZM7uJ{&jkRlzD%nqSq$E&iB z+#XB&P#e^{zs*Nd*or-4(?|ASF%=v73e!!u4`F(CY+cTrswNXLdSZ1z{vKM3N=0ox zr?ljEY+BXBTf^_7H>|C{C`42rkV-%-pu-aaWt_HYEd9t;)qHtxMV$s1i_%`TX&ttQed}G= zaGl76R<(At52Dj3&zB60BSgF&EVWdRtJLD0h$?b?=6nmMv6}iaXP_!5T!(W)sW+fP zZY8mHz^M|piJ|62{bVDAqspZGlVMSfl%Y{n$a!RpO^{15(LuO`b3RZ~m^wpF4VYis zY&Yx+Ev@(Bi}iYALcu^4&4FuU@Vr8ZS*p@o`9-6bXQQ#5a3_CD@9$YA*B>(bT(!Sp z@T0pe$x_795YMLXW)XZJFlfI<9Z{|FtLWEOK}V{tkp=B}LdtMJEI@E~#b-|=1KNcy zk*f0cy03dWAHIkg*9^yg6V zzo9=);-G_rC#uiYL6;z(xI1yF{qAwFTa#>?8%4&YYj_M5IptJ_MWHXYelUciVgO$+ z7uP^-orwracO{+a@Uu9QIrT)BY;rvEwD51L4;lUmJF?{j22Fc}P3VpCa7`gB)qVh> z($=yIrp{y+iTQ~(3o?Dmz@jPK2>HTFTb1p&2%3n9){~BO5LC{6NY9GbDC0P?Ys{MV zO3B(yTm!8L%&XHh%dqDs$_%l#zpB;ode72SrJFALn7Pv45A@MryzurcgJMR+j09Q- z&wQ1$tgtWj+%y)`x~_mZ+Rbt(gxQQ@PtXsisT(|D9QY+&e!qtilQe$ z8Ov23>*H=7TcL=)8sz^IQ^S4IOj@<@Mt!x;v&DwhZSFKJmiSlz55oO1M6I$=KmDx) z45srzkqcCgQt>q7@mU!9w=(Ui(y7lh|BRlIC3UHkz`@(Ku-wRrRj4iPRvf7BPQ_&< z*Hsj>!ZJrrFrdI#(lzf886P9<+oF0ZbXT3-+{!37r~l>xzyHpqMM?2htA8W5k9-`% zOFO9Ojg)L7dp=_aar?~IP03-<*s5|xt7+uzmfB@UTJ8l3563Xovw7lv+pd5?i zXH0ZulV2SxWj*VN6w;Hl)JXidx0lybs$KIA#nw3cv-s&gKIAYa?Ur%Ya+Py$b+|l2 zl@-53xJo0^nN!qORP=jn{c%t^|4$E z6ZTMGoKFBH<=ORCOQ7|!Yj*(up%0p{LmA)pW5 zrM*W!r2~uF<()O{;`(x{I8X1^2T%!TZt9(J^Ds-XUk|OX#+!MprbsVwY#j(h6*Lun zgjv4lFiG{!)QD~_z}Fq4GWaxQ{hlLplRI5Vm{ZWqBwXI;ag}G}2e9hWZLd(AbK+Uh zvk~@7bVW?7Kz3=&S5Ib_t>2CURTYT$gO3P7G`rNcc`TJu)A2$DHoG_eoBCr!oT@uTRY>Z3v;#ayLOPsR1o|9dTt(yzsX?Qv#s-S9JP7hz$?qtfy8<{NQO1R z1}VN1I)=(zwc{%{A-cua2&11&v|3g;J4WXh?O|9>{nbq8nyRV)1pT*Df zjZyE{pLZuwf{s@@_-&W6_-%jpTo0HI%@(n6bz`tVOTl+UDghZIeHq8U9)w+bRc{_` zdllPzA4_>!?ikGSq(3AmK5lSDSsHfD_oskAXi5LTGK_R6z{h{4uR$|Maq~YNz8chg zwE8=%P`y-Xm9b2bx$M=uYc?Uw=*je)RTnI675H?V^&~9AgDL%5)2`d#QfI$Q>-l2$ zxWf8AdQjS7F?sPEN7{RGx%kB|}0{mOueXSKO!QC2a5jz-ik zCQIJQtit^G%MlQ-%i6LxPLtp@-7nq&M?99#>(4C|XW~z5c@xCX`w(w+$>(OY=VsV* z5pj|5~|Q`(D>(qi+3cw!h-`t4+<#|Pgfi-%;{>#|m+!{BYh zBhBURi{V2KB(`LDp4*YVW`B+kdsPgrCMb02l@D@n5WBUD~obX7JG6vyrhCr|Ln*U4v(J@#) zaV?2Xo&pm<8UR1XPklJvZgf?z0?Hixy1bPOTM41!;=%@mFeQ-u3DW z5ZzCeKez^ZYuXiv-9(@SW6_G@T!Y`bO zgFI6ndfe4LD|N|R{q=S4!1(TQAn#43CKa=rfa7S#~x{ijt7SM;QTLoA;Fky5FOi?W_i^Fv4bI4jZs zA9!5b`0(wkrxA}(k$}hI$P{f3V#;wl6Y6h!=V)>YKBP5A)nPL|0whm2yPxC+O6Z}( ziU#`s zE-`bY8>?3Q2j*5bQQRtpf@(Z%2ZhOMkeTg%U*z|=4;B=#xLl`igBHBA2Q-^7X(s5g zAaE}ySU)G2ixYNj6kKZroo_{`a{&d`Q;jSDA7(V*N?)Ng$H;+=C^vhi@VEe&^fAhs z1mNL-_T*d+#*Gbnc1Qfg@zP zEGxk0Gk%u!cEtX?*N3i~A_aP5xjhF`6+O2DAD);_B8*@(%TS!g2K0bT&;u*UjR!TS z>MhI+9h&eF_^gNe;Ozq6l7cY@lwoUK2crHydorh{0sKA>HV4umUTrG4LNGe2GpP*B zYKhb?3?KXOJ+E+26|GtFuebVPPhE(VFwe;c2|{D)_}zpiJeHEo1Vof`?PNp()=mE@aAU(>*db2XJ^n$1nbl8$eW^R zY;N_9cA-~q{DKoo0jqZi`YQeL4ThORXMC_k@-%__zMKoN@(_L>D#(xR8QlEA^3Wz< zNs$O)sK+g)MBcD%$oVaYE6_0wePY&j%Z9fA#I@nkSLUD3AeXjF-<8V^&_4;sZAk77 z#f&pH4XbGJ=WUPY2F{AJ{L4f)ODBsl%C z7RKg7jBdnS+0AgAx8mSlJ;0Sd;Slj#CRdV#;IF=v?pIL0yc zEPiBbXYKmLe2A4^VH>i+a1vO28x=bv6y+a#h@W*!h3^FQisoHbpkQgGu%_JggAw?1 zZ|85{<4O%)hnC+0PcWrX^LHX(9uGV|`7}W8lM=W>AZFJ<0{yXdAi@Uw1B1P9S^+}c zsf*w5jD^>0r_B}fWZHF2A-jl^7^b*gEVCEMsAj}1U%@^^$%ADzB zk|@9pDoH7s!`Fvo-_aR{TH6~5F}zjP*FHW4E2X`hIeaNAQWlpXN7hJHg{e%tx;6?R zR44Hfo>w`3DUD6FyHFez$fuv`6pLay5!mA$^iL90{`>yaKUQ7RJI*Fb7k!VvtO3r! zddPde?^wiOCbx&dFxIO~9>E+_Hcxm?;h1%yoTW~$$2B9SMVIocE_HM$fuuCtszWz? z&4^Afl)VfM&SnR0f0vC|o5U3AP)6?BEr7H_`zs`;w9;Jt3utRvfQRliim=)xU!^N( z0XzXPD$9Zk*%7y!WMdsA{)VLo#84$J^he)1c^Q24s#VY5l$a_yx4w%WMsO_}Cyu(} zCN>7Q>$+yCpPP56uU{Jgvy@8H;M#U+98Ff!_7{C_c374g$_{-g(_$y7&D0W{f+4o0 zSa3r-`ZxJ0LUjJ7(ZM98B0k!x(2P>1lg4H;yISQ5xLzd^?|kXousSs(+#Wh7g`3aK zSY3=xO6obypbbY~=1lry1dp9n^ZYK9@r>)@!*z@Po%aQ#*^idA*r?R0a&tyf@_#vL z6gPX$@ahZvQ)i7{ZmcIJgo1Vmltq=L(1=INVV1W7n<(FHVRUDPt`+{+luQLEYTLrs zW53s%M%`V3Z6(_=@b|a)B8okj>0|n^hBH0aTz@Q%l)BKJGpu^q9<;Y(ZLm{!3Ij%4 zb_1ksO4pFws#n8160XU)b+5F`N8N$>vt!+`N_RQ~=I8b{%O{XSV!>XC*4KMB0q7&4 zy?0RfTq6*jtUVYUm?-<@9Ya1bJLEU=%oH9)@lSbDHp@?F>5-Wm;CWQn(r=2a->Asq zENw@uU|D=weT(j_-#oS(;Ksg`BAQ$vlCd2)xI>msp-SGTQi9r;Nk91ej=gKR1kjjO z6H$LO1@`L<;#y-2s!b`UJ^t81?3g-g?wnZ8_UG)lk*ZP7ggRwE@#QQ+g08bm1@oJY zFZpK9&YpP;Y1rEi>J3hJP^U+g1n8y1U+OwnuY?|N@363%-?j$7g6%jMeCZh8L&AqL z%izmpqU)P4yUvnTm*^pm5Vy|G4P6L0lXdOwLY1K1wQ!PV;Z`ie8C8SzyGvQdkEr2E zv2lYEM!yqfQK2w;$(jbAsGJaaMLQzZmJjOL*lz17yS-(?_<;TEuOAc)Mqf@JLsJyfr1?<&9mU!0>@MKOKAb)F!inB}B~^F>n|#=+U3Rxrr1qznXfXSQ zhTS(o{f)mi#^;2!g6!Nmb!Wt78E3E9yXS3;!ZaL-?iyZySnwizTX6vJV;Ap}8sj4T zMUq++RRwz*b1nl3BoRY{$EYQ!5XXKFbhCUm*tnA#z*&h?*$QkGEVu)wQ{%U&hqS2t7|@ha>E;O_1-9zYMW< zgAO2U&$vCyz=&%-5Zr8jwsI~ga*A!`M zs4iM}6{Y9_eXmueFIkCo?n2#mZgrw>L33XOPJnDRP5*5Gca z_MNg#G_j?P8??X?`=U1Y7_|RF=;{;)H1Vp5G|QvQJws;X$3JN2eAMnm#*>!Y&SMo( zE1N_cCuZGcs1nQIN*3Za9KHS1z&VECTGfcV@|gpnjXkE1Y7GC9NU^h*aNb1VP2_3~ z2g)@IJFI(5)wQ4zeWkAYtxCZ>6eUeZt3?i-vxM&=v-uI#@YRTD_Vk_Am{?k>SGVfe zQY16;DFk$+!Aj9LGsbihi{DQ$-O(OBsILOuO=B8JnsXW=`e-Xezr)B_`^}t%Gm?J7 zp>I{MjHv6gqfG7o*xS<1;QDcAFf}r$vUOvLsh02i+qSLv3m5St_g_@)^jIswU;RCq zWs%rKhr4G@P)WXg#apLHHK6gtnU=lh;In_6?e>|b35%&blJlWO-7ieW<3zBasu(_T zsaLi6fQq{R>MODnt?XlDSN|`$5pjgnB51@ZgfO2{X660LsAKF$LbtL=@lRhH z{_?KGmE~}G z_Yvr=3%!cq_YsKRL76??&t=S{X}Td9vL zOp#g?uYU^R$~PWdmAE9AJ^!`u(*sCdl)XfLq5idj-od||5{3w4KZk_EGAb9B*keEN zDuu3UdGw{(=QB0v*-N#*3w^07D#;1! zPBK(Kj39Jtk5!O6mkGE;`Dy!woAgT+{x>b(~Giv$0u3MW46~YmK zHv;!MRCoeYD&tr?NKDu208dDrzOGEZBs6`4oT@hV=g28FnwNEnz?qAp!v{+~#ghKC zH?JMr`U>jZ61(&{LD!W#ZFARe=-PV&l-}FtngTUuYI8lpCiFPi~ zRL3@C{+A&f%Ts82U3VASHro+tr?VTpxa2>u{T>5m%tjyZ13kZFQ}P2j!ed_YU7-!AtI?l%+L*nC7%d*15NK0?1W;bmTQlaxH?W zI5Tr0j7ws!?TQ*ts7{jK=vx$BQ(J-fiVhTgyh}_2srJ0C)x;>nc4+nL4hZbc6Xs=e zu~KApEl|C8?3Q0zIN^v+>>}FB$QskFa!U{=6oZn0U6kJm26*VZsZ}rSEDF z=~jPTg;X^M!0nx++ZDwDwZH!OyXJY}Zd@+W)oY7mI{%D^QnZx7nGQ)wXW~QM4iPhd zY9!Cumn%E8%$PTMAv^y15n|LlPjt@g_?0++W~5h&`@>O)BKx*NQFum}mnrc_UxgC- zzAEy7#a;3nrmxs!;sVpjc}rNX8D0b{acdb1)Q801{91&j)i{kZ7J-M_i~gZha|Uf~ z<3TpV%^IR&RvlvBXY3{>P%u8ssg+M-c)pAE+b_Ki_`ud(ry;mk?rlEY@+8*$mI9DJ ziyTtkECaWzK`qOjicb1nEo2ZeXD^2vWJ(czg5*T{jid$tBw2{Et2z!)_ntm!|BDd% zhQrePlTSj(U6pAeZOsklIYQXuQ{Q36-IU`q>@fdse2$;Pq1_j3^;&hve)|M4sXO`l zIw`b+a!us>eL*-N09{1uIm)tUP;t+uMk7F4uUu|UEHC|!U9sHf64OC3yQ%ki&F^D1 zmh`@)c*XtNzib;XXmWoHMrH_1n!sJO{kyF*K5h5MX8*&sm=a0tqp=BP{g2QQ^Z+Tb ziZ^CZ)!2EG5WPEa{W~*Ejh`7%g3B^ELjakGp&7Quls>fOPSy2G4|?^Ce(20aM32)G zhEbuzb_&<*o`6+Sk77_X=iGdV+Jz_lO@L&(x{G|-*Hf&-vlT_{U#~57t%}dwrmhfg ztmhcM<#VsA%n*62HMw-$HH zmCv(v`cA~H*LQ)9`fhN8PTQr8`W}Qg>3hMLz7LG+`@w{M0Bq6^f}8b2V6%Q0Y|)RP z$6EEH2yfAkfm`+C;5PjPxLrR9?$A$xJN47xE}cy8Zks>05dmn$rfte=@QS*mV%zlaXU6 z<~yvw&~pt^^E`vvm~W7f0t3^==mqvM3c7fMUMK1{#m|5jpxAG#UB{_7@x= zI8aC$WRR{G8T9R3+Kdk}Xj@%m&^b%7Q4D#5jltj$V+c6ZpygqhF%;nvV;DHxC;>+p z!@-fp2ym1!5*%%e0>>Dm!BS%kIMyfy#~EY6GGiQAZj^x)Mmbn%RG^{1WDN#_irJIR zHrOw)>G%~}U>M^?RjUlLY1K%)(3pT8T4YQFml%iS4s5A$7F=dbLdJFf8o1V|Haf6%#&m?&8}(qLL95#aqXFTK#td+iF%yg# zv%t798|5U7IS4lybHUBVJj65`^T8Hl0b*JaBeN~WLd0w}$Sc@pEJAp@u^8N8kcY6- zSb~(hjHTdiV;Q)|AeGu{EJvDs#tOvjH@=2l?fdMI5v(+52eV3Wwa|byf@=-ZZ?YeU z4cf&XF_OF3qsBVp6?P1F>rj>B#y0&GcEX@}2TeD2;O>+`GY^_>tVhZ-qWLmAYdoTu zzhf7SPK`o?HW*|;HX8KhrA;$vTU0{y68_YHLfO+O#FyGt<7MS}<*UbZ9p?MJO zZ5|@MHxHBEo7Ccd=25V}N$nkA9tQ`SCs30?AhrwUNw64{*kJP%IK(_n8f{XmhnZ(d zqs?=q(dK#5X!C+$8UMjXn`oS3{+^99(LTle1FJIG3$QtVWE0JYE{p!ZB6wBsnn4!l zxY$rWl=DkU7b011Fo=CTBHf4mia;fZ0}SlC79(l8aSmlI59Zmda1D=_V;d zy_suDtij9!XMi%BY0@TcmPs46+2(%anqz*+GCySVO()-^5i2n16;v;ju)v(JVqGx{ zO{^a@x!Dil6(+sWU1|0=74y$*oe422YcjO~c(%bD z2yQe7ft$=CFlH8madR-3Foz(|U)Ua#eO@s?Vuwt3D81Q6=Za$hQ=AzJju0FvI10@= zY>ozxm}9`BW+`~g919)?Wp=_Ghww?Wqip^+J7cn^A2UB@7fp!{;4g_Tx@?xA=ug;n zQ!O{C|0__R8)hYV(;N@pGONHg^LvV!!}$s+&$_Q#bkqb>92tljPNJ|XPZl>dLQbjt z3d^^WYeRuG#e9YJvS`#~Rw%Zpy{%eQt&cTA3Rz!kD$3|*)ge`Xq^d)z0oF9c4YZ~s zZV=+8Bd*A*H@|1(!K7Ne0i!b1nt{saL**=tEK~U`bF3xLhTPHC9B>RMvr?-w9?dnY zEp;A5mRs||3TpvaX)OfDTZ_Od>$klXvyda@6iZu-?31j;$UfPkT|$kugc`TO;7i4? z7m~A4Yb`T>Yxd!MxjDnSe+6<(vsNI-bZaHT_0}pp0t5kC-`D3u5M4v?ZEn(Y9&6McbwYRwJG+v^Ic?tc|3H)+W+JD+VsL{+-?{ zT2h=;&`O}pl~xn#)t~dt=6XwSM$B5P8TDFcwFtdw72G1mZ!2;&TBOh$tZinKX%3*~ z?6scTj%-cVc4XUZwPMaRTXc}oV(mbDD+mK^?L>GhD6?&%$=j`62=4$Tw$q}M)LqtY zgm+tez&+MplNObIg8Kyzm~<$9(4?j1kl84m@m~2allL9oSLp0>a0vi{NqV5_rP844$;U zyv;NR!i%xID?;P1n&dZL6D3_2ydf0+rl=;payo0>Le6s-$PVnh)dm&4V3DR=w6ZOU zU9xh(%T_LU#rle87QwVzJWqTNEZEtC~=FlR+}SYT1Hy)5dNLW`Q#+oGko zk444y72JjSRc!ae3>j?GhH{8a?~#VuG>?Ya1Hck{AUNEnSv0~f0!P}#;3%8k_Kdc_ zs+dFJW7v-l7R3z_1q~G(W|0{#5d{qw93ePTRB051jI&3BW%d}b+%5$x?6F{_Jq{di zmw{DwIaqC1fD`OWaH2gPoMcyllkIBsM~yv!%!54g>q~PqS;t1lV6! z%o0o#8#9!uS1T$rl{ncH@8)ONbPP1prZ@DnY&ry*ZI^P1%>`vP&#pr+kHBQIt!bjM z(}kRR@Lfz*adwG<7TGhw#r7<4i9H)!YR>_e*>l0=_D|{Ewf)FE+^n+agRAWY;2L`& zxYk|-uCo_|>+L0AqrDU@++Z&QH`>d=P4)^fX0HU}_9{ze341kCHrZm)euG*InbIraCUbnAU5xZeuMf#gIy#u{vUqgJGjVZ~pof}|| za}&&UZh?7Dn{^+{2P0PCWZMzz<>Y{c;C-yOlWW7La`M2wPCnSrDFFLBz3h+;a0(F~ z==25$Ieow)r!VprJN>}H;C*a}(;x9eodGtMePG(P zgo82Hp>=+qGtpMea?BJ56CP@?&f$}hc&$@|_)54y4yL_gj>l%#Vc(U_D(rC`mQGX5 zk!w+h9nMq~vD2vocR8;r<^<@ABTutwx>EIyih_`b|a@8 z+98~F8X)3~LpzYO4())>IWrJ*-sz&4HBc2to+*TqxGT;q)bgq`8+EIN8|1+3pia3i zpNlLx?mWcTVSrsWpW=&MX#tI{yO2iLJ!&b&bj}yqBVB#5=&~g?O}3>p#_lp2V^C%# zE@|X&cRAumxIa|P28^lu;0l|*c(hVvS!L5STrIdpaIN4vnoh^G}UHL%j9DL3Aos=dOh@T3mcYFroKIsw;Bq!yx*liU~@ zI}_&FRpU0z{RE!Xx=r9zcQaV$HiOgLTwO6|bJpNWEjC$|R>aP5e~uc?ca<%;neA=` z=eXOzx$bsUW}aJsO!HuLU3Z7*shwijcG+|Qvs;MSV+(_{7nzp0`@p5{esGz409@f7 z1XsF;z*X*HaJ72`T;m?4f!W|n$8fjaJq|XyCv3}D2=Cj4QBllAFsd%ws=s9}=4`ub zo7KJYuwCwXNZRdQ0Qa~T!M*M!`z>=R91YjJY}3)# z6(QiN;5EVPqTg>k1t@*YE96r}c42hx$5HVn63TcHQj{ z5jWfc4h)_<5WM9MLQI=m1ZI21V2(E!%=LzVdEQVk-x~%NcqL#jZ#Y=!jX>Vspv?Ms zBf-9)#QJ%o!2aH7q#59i0S9`e;2>`-SmccZi@h>%uvZQa@hZTfUL`op8;`stUX=qE zd=2N-&PdOnAeuB0d;*q?)gzC5i?d%Y%bpSKy@?=^!5ycY1F*9so;wt$Ddt>6)F8+g>)4j%J< zshBM=!rp^BL@7JL-@}xX53<{#FGK8ck`r7g>pq7L`1gZNOUGNSg=Aw55yyP7PFMG$pE8cPNszAH6UeRRY770Sr=`AO1! zZ!;Xit(>27^8ANSi`tzLJ#|*_oFhIa2>y{>5WMJ+7j=n#V;$>-IKpsfUviaZiGPh| ziGQ7DiGKs^?cW6Z__x5mejC`&&xUR7@8^I6{9IRN13`%m^79Zb^79d2>=z(ru;0r? zO~?3pA>xMly}=T{4>;WK3y$#nfg}C?;3$6pINBfRD&`K(2e~!AQ-qjtelb|)4+hKq zAz+0+6s+`VAsX+~CmO2!VTh^rOTY>KaB!kO0-WU2`|Zj8KJ?H|%mCjQ>C#v3MhT8~ z>9>K#xMbBzUFx^7w1)V!=1lWx#i{qpQJdYISGaS0wbG@vY`iP{20Wc9+B-|MceY>c zD#l)__k7=*Af!!nY3DIX4Nnxjdg=d-`1Pq(ma_dN}mNeYkV5twf<~` z*ZFh6_5NJ2QHTnRQyss@5?OB3!Tl}Tq zR(~0|&0h{~_g8>B{FO+37|V=rtfFs1VNGLL(b!s-zM8WRN%r{b!M%PXxX<4J?)Nu> z2mDR$Tjo*DWA0&Jjk{#D5~3kZczVR&3?B7qQ+mvAM#|%q@}zIKh?K1^Emm7Z`mIQL z%HM{{pZ2%A9oQM4UV)wU>HWqzpQN1^(k=*T7yTWOc9NuB@vWVZu*=0NN#gbhaeI;U zst|Y0-v@Emg`gWk&`lxemJrnD??>BDV;KtWJ0QmDpvZs7rFnK(@Q6zvX(3M_FF1;v z`N1);AUF>83QmB9!AY=pa0=`boCf;_XTW~JS=69^aE|6*Kz`7`;5^O0-~w0_oVG8z z##yXR0lVZ{#yQNnfL%uDJmy-!t{`*~OHRP9x;@NGm|=lZ>~vsdK@nIU3;`>GL11NY z4Jj^TW(DeXGBhQ^*&>Qx91I4R z1chD)wlwIC_+>#KaCy)dToLpGR|fsTRlxvobubWIBdV}gRAHT{!untkBs2zpQOuiI zo`SH*qk$^+=&S651&4q`J*@2FQsU9Za=1t9_Xv;d`$&%__$ZIg!AGNzSTF{R2c=*l z7z;K946`_O|M8bLtzZe#v;|AS>~I;F6D|jH!xdm& zxDw0{SAhlLpP0%woBcy&HEw%{YrsC?TCi`p4(u2Hj&?Gkv>rEu!bY$t+~6V8MsHZi zH{pJ081p)r{UkObWN~yxe~FC?v4E>=LZ~L7gcV`JlUQZggz$J!VpZX0WULOGk$j-U zTfCakXhrq^6D|rhWh4Qa8S8q(rk7t)eFE!>8u)5AY1W|72Zgzk2cWrr9% z_%ATqyF4=6yFD`Jdqm7$Pke44eKRxMhwQV${WM2Ha^dHOVow?#K*i>V2T`TL5*DZ> zp>;@%%waG2fkz?es7H3^m`5uetyxRM<1|-7vi2)Nvhyp$6A-j2Tmy?W6nomxKPjqn zN>uPP34`N8;j_rOE<6XW56^>*;RSF*coEzfUII6TmuVV=S7;i9S7{oA*Jv7q*J&Dr zA1Y=EoV!rFA;jJk1=03*OGs}swuZD{-3H2Rdw2^i8zHe>A?Ckgj+EHm&}{Q)bCB%| zS1ZS-j?DGN2lB*$spy~mVV;i(5a#<5I~bBHdMGUL6?3%2d-+GhCksWk-e4ae9t}+#h$j0TSih(S>>o`52Sl~tz-THs zD5?XCqG@1pG{t<14UVS!Pq86UJvcOK0Eb00z>;Vt(hQHta*c?FdMI)n6*)RGW}&c; z;PE`g#zb?Fs5F`jj*aGlPTDcx6hXe5zUv05zUuL z5zUv$5zUvHXo=s+ti&XWl%+nY$ujy*D7+zw)kQ17X;B{^HmOQt4NtL7g2nqMCD}4dC2pBRDVG1kR6Q;DRWQ zA{Ryp-!dmiY-!{-`SkZ;Hv8ljG>Z~j1X~5S2yP{%ggZps4k^nb`ZDG6h`vp^BBHNT zu8ipWl&d28c;o7bKG?V>`baS+p`WDnk+nlKXs1t03w_0?F`};+ZHVYo^&2DlqS2;k z7X-&6`YdH4qAw0LMf5rN%@H*?gi`z+>jN9e`EFn1QjWuia&3l*hybgGT?}5Y6cuJrm3tRJ4)%%Gf0^RcTAJg z;Eri>8r(5WNrOA4scCS>G%bx?@-;n;UG_C2ja~6IGYuY?W~IRc)9f^OV49N#4@`5@ z;DKpg8ayz~PlE@h1!*ih(84s96KGKyTruswH27ND{b}&Ev|ZPVBxO&yKOJqmYD zlOAQIfhIr7#s-@5DBL#Hkz#2v=$;ui@69ft>$7>b&I(KRo!YXMOC+%6Q$7Dj`1m3TpN8Yfl;_}hGBv4Q=S@7vA=;Vf>y2;tA zgj&pLa-_U4ls7y1c+~7{apZzf+#-&q?SuR`XvUM)oL_2?D0y+E>+@n3l zZjZ-M)5wzH)!*{STOR7Ou|BKy*$kh}^T}y~|FX+xhkUHoSZJ|cvcUlx7O)Wk8y#RZ zVO0UE4cN4REeP1gfXC61e}T!sd}hZ2%p`UrfRaM%*pQG751}e%g8HYw%bRG-vVFdp z#w^$8&Cnt#-{&pRBdM3qThZvz;TAM{Ot=+|E)BP#(PP8%kWC6XEr63ljLyPP-kzL6 zNWUoDiS&!ZH6d#W+0M|}MNL%Y-82?l-h-kdN#2W+B3s^vf+9!Wk9iTf@&QbY$deCZ zW<8HA_7^knqbNe8t-{E$SaQ?Q!-0Pe-Ba1ge;@?)7UnX&1VZjuMhYAa)OFTp2 z(QJu7rm*{#(9eJJ`*%wGHHAHJP~vlBg+Evz^M@7o&{98+(w~~5 z@gFGc^IJ9k9ffr~sPWeo_Vf|BA_{wEkj}d)?AdWT|B1rBFkR>MX#W?N>-47%YC(-7f5qfaE9~WLi~VOy!v5vB!(UZcw+jv*q$=#~YYy+C@PBP{_-v%j%yao1TjAXYxO^V2 zJqEjcKH}dQce>vgt zMqEF->G5AG?7wn+{wsz3_YjyO^ykN=KJVo!?2{=zABbxK1% z_#(ti=F=m-1c4g9DB^t(n8MdaJb^$hZ;tp!3Y*GT(4P;KW%|=%ip05O$2xbL%b$FU z^@L-?RL%`kj&*)jd=1;QqFCoxyk|C#C3@!YSVkeIKUAhm+_avKbpt;GDdR* zCll%kV+bR8@^S3hp2MhikISjNv1c~Tg^(k8>QO2-<6VaGsg1U z!~7JN+Q;+rcY+-i&9bMXpPnpejXi@QgNPbGF8U%K8Z242O5WwkY^9|mdq;`qzM}>| z$29Aq_E7$&pf%IZI^;K{Uky0oR3#kO)@G=NlAy-ML>0zL33}LG9mbv}<@h@&N9ytYf0L|i zB4a!nol2Kco$7!fOg@c6iX=hRGb)6NJ;UYpu6R~KuY5~%;tW4l);^SBC?-v}>tQVY zddO3AheUO+q%N+$)5Tw)VR(>+2~R~eGOB1gB%glq&V=f8X8@j~SUs5stxBVj{(AB@ zYl;+oPV~|&KXsq1RmMa#i01N>J&SNxLuDiK1KE+eSyR>-9i+KI?Y3! zig>C*$&RWs`*=A%!2fO$Z7-EW1#vuImZ8y6?6;B+)=75 zN7BSS`RT5Ec0~CT_vBBc^5>`W=O^=LM`&zkGK$Zp=H#Pdn3jsU*DXh*xQrZ)V}J(p zXSzI#fqkBm{{YFwaCNh~S`5#+%~wU*`6^U4eJW=?i<5E1$v8ZtaQB=jIp0zBR6x|> z1sa-;SPpWdZh2A4qIS)Tl07+9%E*nRc*aeM2Is3f(ms#0RCKo09M2+?2J=S7DS7kP z_AQQ@e~q--O*S-6wW7!uWy7-TFx0RK>XX^-I~qaH%#R==j*hNOFNpXbS|}nP5&5Zz z*36F+X{-IRdf{)$YP>~D3jLm2mw0Bc zs3E!!+TSa}|M7HqLRp1TS6uMy*@onb`D{G>S)SE9qN;W2)+d53h?6Zy?-TLN9~EZ* zs3q|VO$_wQ*J<4u&#AYDaxA5+y+0D?#@~@8Ft{h#D(0{dNna=87E1p1Q~rJnHG>_lFu4ibjCMs+n&K>d%k(c zDt(KBR?3bDbNlVvX@}A6OQaN`FqWIzSDX@Bs=h;iTCx+=tY7q*j?G*6|1J6Plymb2 za{S#LyZHCA6uJKKcVoa>glBT+{+PJ$mdi7XqpZOZaY#fSV&)tZ+Cur--uXO#1)V)QEWo)7Bd|1S|=Q!Vm$Lbi}4)BZvLhAQOQlWIOsJ*Gu zFLTlH>FZ_o@^>>XDv-W}(<<1lQKw+~LhRccb>5z+d$xw$``X*K0;`?^m3R+hbe^;9 zN8X1Im5a`JkN-x>YBn5`B|VY9Q5a&XTJyo*zmT(?tCt zrMjskV$vflU6yR;pTxX6?576x$Xz3MM2y_gQ~?Wl=0j;$wDf%v&$uYllVd5-In=0Q zG?X_*r@tye_rFN0zZ?^#`*MW>PnYoSd7MJ@FY83u{bU%+XcZZ{D9F%3ROGmy>V_w4 zN>Xl7`z;jX`&8pcX$|@-0?<-dGr`{<5HeAJc4mg z#;1>nct@)&H^3IAqm^4OYMRe+T_dho0Vvqf5z^KqTS9RnSy^(Od`&|gKcNahYZ_&i z9W1#CBb1ky26`3+-OCtQ_ z%Rfvyk$hA{?^ypymW5Kqvu;S4-zd!f2Dx|V;M1j@_mjdhb_tF7k&1-BBuDZaEh6y? z4bfLo5maJKkaofE_5#JGzreFf<+8Mke%YOf14>!iB}hBSrQj)Y2-}OIkxgWb#AHlL zxlF#~L9q+?v5bKsx0$BtADUyGTC!I0;!drJrtYh_AsbTs{)faMU-45-Zo1PSnIFfH zI_)a;7GjscAQ;t+!*)deP9280(>AC8W%JrQsd*t^|2zl&twpKao^4@}7%7Xb!qi z7TVn4;Vu7mG>Yz_M)!;8Hou2*Cqq(Bc5qL9#bcqf3DVilZEbO3v31N=o}9ESw+vVUi$1n=@LAGKIk0p{Bzc+rBmnU#3GR! zWQ>XURu5glU1g!R5cM-!ieJBL zCH~AF_ySq8#ax`!;7SjkKBB+;R>ovm4({!q)T)2K!dvLy1n z+4W79yiMbn9-Sf;WhOE^HFP4~`C=k{V#GeAbyb84-ce%ltP&}$C@70(4U@_e(G%D# z7X^v39tsUnT5$kf6$+QebMFM2G7gCu{tHPK>naU58fc0Jid9S$k~t}gXIzzNG1$j> z0x1yr#mvc3R!www@~uctzthqwPCI4D{TEWGko500QmJ^?*QB0{scX9_nEvC%URY^) zGW+dTad?tdq0srs?^EX|pU1OA=GzTXceFF}?Ls7jnwJDkSyQ62v=KpBQ&uekBN0fS z8nNVLLsZlO3q@94)UoY;4WW+jcCU-5c#$e|TGW)$%aln-+UVeZbZo4t=Tc7RDuu~& z6|vY-d}@Jyn_BTz>YYVAtwu}V0$<|6!t4i|<7s1p?$fa^g4}1juTn%C>E_8e6@je( zsv5Sl6z=;MTEFm)@`ZO)G@ulV)cVxX00JF(a(@HiVSC{2Qd$zJ=%sgt22Mb2grOl% z?G$Gpb|OoajIWQf)+u8DUYD|MV*^oCqT{>R(4OFO5KsCMR8cqqAGF5OPr^xqn#2<6 z$2tFij@_C*_~0D{na2ewBL{>0jw({379B_jsi-xII1!lEiG1{A)Vfqu^ct+&yV&7& zeBqv?v}wE(kxS}+Ctq%PdILNfsiK@pOJIvCY7A{oPW2v2c`{Jh@!g8Mlc1{Q0m(@o zq@~p>7?=cnxfxM{8v2YF9xQRsWQ;N-8YmH+$QXUsT}E%XI@nudRF+^vt@Y5mujhtt zkZsJQDUy+#A~ZY+nUi{^jpXSwBk^~0;>kwcam>0T(njC=blu%gJJKK8=`O<%d_-$2 zdNxchER{iW{~vGaJ}XKco{kUNUCUJA7=`;&^DY&WHbNBk;fJ(FJ|=Qi!2+aJ2T5rO z3U!~|E^&g8h?ez`px!Tjs%6dM2;kW+@%9Gd?it*TzUz(-Zr)MQE#ITeOL;O!yJ}^- zgIV}iB^xF#pY)o=NI4c%} zL~23El9INIj(n36pG96g_$7Ig54{ZsvgZO$?qcj7cd@4dcX6$hTFXC9n<6r&R`ltn zn9T3-ZgV0;rO%0Y*4(HdIe%}bNjop0M+$_GNe&~%8k6RW6illNl1G&_5jiI(6^cwB z8equiugAW@vXyM*eTiaAI+3R&a^-fSqxDY-$j!YYS4ul9(ZH7Eei(g|+$$ki%3LaC z?NTy@D?)qmK>@KSNFNrcXgmhxuC@n1Zm&?gG}6#+QYwO+B8e9SFsxLMf~4%1f7z{B zdNS6v8J^-_6_ZgC=-2|z6W;NB>;M(^D;1;iw{%c=fwOLpv~P4{S4+v~`&{)xC2_f{3*GAclYG7dh`fG7>Qjh-qk#!Px$q zwCvgBA$SnKz1xeYZ^xYZX3B>iZtz6bJ_W`7hLV3bwXs4ivnCnXTXkeDynqEDivu*sk4_p7WFY z{!MV8A8f|h%;)hZpUt?z72$Js`ixTo%5m+U6@Q!jVa9o#^!T^b({G5Ee-IjzSO76**M}Y~$(`P9>yY<*ej(y&82nyHRhB3CA~C9SHv&ZMdIF*_>=)bK0%P z?TEDD!q%Ye|4z2|t9SL|JR|%0=6Kd|wWJgIU0;ktaj*zlB8bkc4{Az2Y)K&Nf6!Lx zH8_FwdeW9Ggq^)F~A1kT|RQki0{o2l0#&LrS_|!Y^n_kWY}ve5WBoVVRc< z1PkLCa|7z^Kd9)BGT{$y;4nuEpnnAtnWMKCM$hzI7}2SnleGxZy`8+%LiXt>jUhI0O|h^ODD*cYD`MBPI1B4;B4m$|@#LSJJBk zMn@}n@WH(gs%}5{kcRppQrs_f{SxarFL{7FPq^xM{3jaQrD*vx&0@2&K+DX?I_BS( zoD2(v@qD(K)HF;+EfVvCqR`+6|4ON$Y-9+Z#1;Ry#G{`jo$IWHTGn=zdI&NW2kj?B z8RZ%aUbvHFM|+Ybcan_P#QUTK4Q(Q$N&`;nETB7b6GaqS@@MLSC+}!!_I+f7@+F!V z2;@l_mlSI8f08>%uPeK$FafkLf1X}Uq^rF9nGnzaLeF2u?k>HL%px({;#pTE^6yt; z7fnI9_{nfT?C+NbWw+%dH}{7)mGcqR=P{~JBb?0pO>t7OiDwkTk?+WQHd31ZqBQpl zgEm3B-QZf$p8ux(QzxpYE2O)^V5Ikvq$s&BUUsL8szr{E$(dO#y!z*13|Dhed!$?* zkc6_d6|_HDmfB|1n->~6n4gEq{M=PcYB*8Uhmn~&JftGTC}nG6{rDKdkvKye9r&ocvaEY_(N{jdbSQBx14dm}d#L+&WuPqP)yy2Jx|?-uX5iPH>B zxd5NYsuR|7TFP6o1N_4K@_YQrZ1;Ud>;~WCiT9;$u2_Iw+6>Y{cfatA#M=2pL(-(Z zN51p>a`3mX`B?a$poi&C(84aKFON9MqXSrqP(<ξ#;yc#l6vh5kmqoh@rc^uVmP zHu?kavCd6&0Pv0?P5_?i^0=X3>;KqLK7y}|N+V?z)=ihK#=7aUH4&3Fwl-pl%d$Bg z^~2-KY@p76h)mz*|HIjPz{hnQdBXGZ03eA;qHM{uVH*N1daSe#^4hx#S?eJL+dJ#q zHIF{uz%zh6H|w>(y*nTE-M7EJ-60sjEJiSsV9un(93)X<5EZF;Z%BZmBub)4G3P8% zUCSY_Fk;JcP*Z6my`EUJ$GeCN_kW+)IK0yd-4x)a78~T7oh-Qx;g)`r$p3!TJ+UB> zux40@#8kme4rAVfc8Z}22-V$k!^^&-CC9NYi@x9HZ_00&0(SQYuFVB@@~;X--j$&GO#)xI@^?*trR6!O2ZjNnoCY!5&SRy1@lbKo^ej!;=sm z>xU;IJPsAoLNpw&@$r{F(CCwcnEWI~P|p+|XnMCgKDbBj-D(1kCy-&X=?yK}$22N> zDoUN87>Z$1ol;iXrXioIreBYw_eL5m@LUrWi(-lFrQV3d_l4qfmG~AlZinJdD84_G zcq3vG(j-(wC%Ts^a7B92e*;bG0Ae=-lS|q^MX@S0o%n}l9U6%NT0YcbrR+$fO#+S` z>DLl;iX`G@ok*>^AX$uPc6whVyFbzl>5=|FK&uVZ{@Xpbl>u6FF!^4!L3y?-W)DsO z?^O8bQ)U^K1g)RAf% z1~;h#k;Vg5>jS8D{7@(}TeF*kPV&u&+8oRZd!p3QYW^%vZOycJGYj!r)?0jCDScTbHDqx8Y6~tu$5qjMa#(}d{J2{ty--TRWPk~LNA)t$> zfxNsKDl=HzErWTCxM-8Q9h&lQM>20m z9x{#ak=wU}X3*etH7K0Fin1C@{ie-A)0QcEP&W$9uY@}3A9Qq7u0ds)HJCK%Nfk7f zh3o<)u`{GXVyrd#^{X`o=nVi;9F;w6za2j!h3Z~Eqa9OBxlV?@Lz6Sqg~_Kwi&atN z>QWh0@ARQavypf=qEPLdb()NNvtGnx?7Ds1X$bv*wx~l98wh`DF=ehW^e}n$e(o=| zY&i_}jbG4=q6Q2LxeZ`LoJkcWz#So)M^vH2vmvDc@ZDZ(nen1R%(frgeV^BO9HF{Tu26`hvEKV$OmN21sLZhIJ9FrmNh&N$CxEhJ3V;wN|t z!fLI-$D|%==r&q+LcLQqR>*4&Rk?<$u#T5|2y2A$*z4vI2(0JU)QQ%-;kSllE#m$} zk#G3u8;BV4sPaJ`30M_&QH)|g7!=)`QaPMZ701|!xq7LR06OAflZuc!@oaEr7X)yUWS{wi~d$* zSoFuPT8>?j=iSNBita=5WnMs~BXUa8lU1x_-NJ*?Qx3{LInlQ=0sV@ks>$~v;8uMa zom&8MzKxM0TqmTq-NhaVJo8ym+d1l4k5PMHZgastxhl%;ImNZL-lMoS?44@Oz=~W2 z!CvxWU-x2nQfy_er9bYmt28MH)^te!RUmf=?8O`9+iSrsS8%NQz^XpE7eKmg%2{XW z`KXt3k#g>ldzfG!DtO8svB&*d=`{m;=9&n0qJ*D2$@^2>-w(TJAA~t>?f`v&#O4ml z9r7LUx^JTJQ`}KsMn@mSc_9o452$t_aa0Xt4nr?^`tvY8bTQ8G78qos{<1KuciIuo>kUwGQsW@YbO}-Bq#8dTf&c^cMe?Mo^a*M;4N9b` z8PckH1X|u6J&v-P_dJcKZfs!7>-{zP>3Szr7H_GAzPUqGmoC(^mA2I3U73+YReea;!ha&}Lk~ipxxn+``!o&f8tVf2y8X5^PC3TvI6M8V>~SLh z$7Sf=>UfU^7m=$_>z8g$+G2btwH zO8u5vt8{e4uZKG1lo8$4uajbgamQOKj5}m(tRHn=9rZqEa6_to-d1a(VL8n{60kz@ zZDu4db0cbGi2!auk-r~@?Ch@U4n9SW-;{xqjCiFC@sm=-TV;q>6@wPa7$93Ky zM1RfPWtcAARC8CUqbW`HJZt?5*$YDDSIAy;KQ6f+m&Ht{Qg2b+43jNW&#P$-8}V(b zlmuN-vmc=ac~v72sQZrq1a9Mx5HVP-pop&v+4(Vu&J(owcr89pi_h2M3$*w`jRfc* zVYaHs)e;3!cnF7M2wzqC?3{iZ3i?gftf;DLm|_5~qN9fSsjmQGxQc26p)Pj~2yNW~ zBm5NCkYc22>1NePrPNIFbR<4FEKa+GLjH6ldnVFK-8osMp6{C&qNynj6;5bMw!P$g z3iZKgtwYWs{&we3@@&Ka<6cI}(&yCp&@f0D&r_mf{gtZU{X@Um5#=18RgF?B4YTT^ zr#S?P)qH&qMm9by?ADAaC{<1l=TJ?440At*)5q{IeYCld5t=Y?r6!(_gr&mp|I`C+ zIR%uFXw|?k3=4=XE$C$mYYf%31jPkrf zJ)w!7xDa8#4HqN0Qa+j|!dK*6oTEY0X*Z-gD(uFN3MDbW0w>~QNVYf3e$?S%j<(}t z!eEBliPxp=B|bK6cQoK{t(v$LQD8ka)}I|b;l_2FolpAV3kZ+*!xs^r;D;|EJkbwd zM|e`nbi9t~IJsMfQ@Ul?-Yvtae)uxN(^OagblKNGRrl$W`w_Goj4a5=4Ar1?Reb#n zN-*$DGimvnRxe6iot~_wKUN#7k>@N`CvZe8-riWecO-)w|L$Fl**W+ z8dS#5+%m3L$AI=zN}Kqpl3i8NK)_4Y^yfDIT*RL%_;aCpfI&&*6)BzTMTBD*>OGh1 z{ivJgP^ks+N+1@4@=vd=SOYl4^m;Z?V8yJG# z6Iz&gJjl>No~VwWRdXi*oUfXeX+^pJg`(^+gUI$oZ1M|;23bA+_5XqdrG{u}p9U4g zVNO9DNOS?rc^P)#1xZDelL2!i^9E;#euj{Xsb$u9Jj}xy|G<7wd1gEBx z)rDG`xZ$6uxs%mRrzoVxCm?jHy6H59wD?4XPFFXbp^zS*gwUDlrn3|>;*$|NTitZ7 zx-N4L!?zlWHD)ay3#89gN5n<0DPg|IW#?uZYsoeG1=KtDCOT_i21zt8ThZ z-)HfCy}IcJeV@nojq0Y4=zDsYzCWsN`k1~i0RC}x(@pxmi0_-#O`p*BC47HU-E@n- zFXQ`Gb<=J7eiz@jtDEv6N{c$@LrsI}`wHNLLrtypeHGuWp{619eGT73LQO;I`#Qdd zhMGutj^DuduuxN5i0wKuZJ{*%ccGeA9{tVSh#+`_gE!pZWe#3;gI73s#SLEN;8izx zjf2+^q@LfRO5v5FAdh>&;RtS1!FE=1(9Yg~#QqGEn4X+~#B@zSpXCjYuMj$qse}zV zu4%Yz!|)K&7etBAaRx;C<1@nP+1}*b&R|ff^blyZ_zrh^Xb3v3=XtA%x)b#)^xwc3 zt-Cm7_d>~J-Jy1qj5{=G9kamwSg47KJP#9jJ|^-`wW?A#4zmWecS}VfJ72RClY&aV zcfS^^W<`6ymLP=0LbgMT&kQ$P%(U=HD6Lz+GgrJ)qTG?zl zh3q^nJ3f+lFQnyri&7}d0McWrc3E zU_ny(>$D;jts*N&w7A78$`%ww3wp{H6m75W!GcpLqOc+rR;0p;R9KM;^UA7d27A4m z=gxgl{jb;9l8SZ{d}nV(h#}gg`>G@#zsqep8LuD@R6>h!VM0-&Vug=K}m{so0EDl7c8 ze^23i-NILu7rwZx@Hf7o@Fiu1@BQ}_UQjg}`=^CTb&HPsrbbQvz814K&|(#`3$)gj zU}zZBCBbIvt3crrmxiT%Z?m56*@laxh7)UIg{9VP(9}xb*OtGpUyJ!fKj``IEw%~^ z^k%cTq8%25VOXXYVK?|Kn)xs(>cEPS#jla(1}BT}4}%T)=*NpRnJC%G6PH$}_=v zeqMfE$j^>13wJnDtXiNIsmYvuNq$ttA`k7OG|kgPqJ$DA!hs=P5yr^ISBm@l^qn1P z(qB*+9MJ-0m5(AOz&_Qo4C{5a5N$D8I=t_XW~ntm5yE1#4m*=(@`z{E_h(2xU>Ew)=>%JoN!z6}~V zQy7C#x-0tRT98 zXl78XiJ`P6%)l^O5~i*Vj|TL+dh}?E1`MOBYDhF--WM1V4OqPcBcp-feS!UIrKKCt zgi;r?Io}5EVy^8*xjWfz+q^Agc!k0rPGV+I&HuW^BwCqWAEEg^M4>-J@#j{U{^Z3b z0QsZhbmO4nA6r*ptV#5+#2EK$=>gj-qUSv@ zkcH+d`dH5&h4@s(E;d`um4s?|z-hEQ>Ysu>S8dZ8=nj3Jpk^twxk_B&3k3qr!J4Rv zAIzubss<6Itij<%YDYzLRpX8dCI0~S+2*R+04iPYE+bBem*Ly z+)KcNL_iE{1gl$Gj0ZkvDg8mM5%OapzLV!y@+k;o3%s?2of6gAQc8vYpo;l^faZHt z6-z55wA>VNySn~OH$qKrtzdXVKo^sdW}Ny!U^wV=j~=7MWPD47-v2Kp8?i0yS`jbQ z9BiAYkByHa*e7|_h~lV2+o4x0qW`JMZ>t7P-G8E)GA3F~jES;Ieocd86Jjy;Wx3*> zrR?L+g*%EJ@$G^{;YgJto=3zB9I=DQpY2k;)O`+YAR6z}v2`>XHEfJQADOo+nqfKf zjwgnUjS4a3jy}1cQH2h%4A($X$mkG>X*fsYzc?mxcEz93Vz@PUq4H=b35 z(F7Yxq|J3=XLfMnD!+_%pzsbZcQiQZ5Z@WKi_A*)#Z5%o9q$kawUeUhP@6;h|D-5Z zBz#3U*~!s6-oJg@Zh&=!)7oN%{(_BZnoU?@5S8JK`cRh5I<0!0(mMQ?Vs>jPfN zgChl$!Vg(y_!-(_tsoocpJb-DiVbKrJ97x#af(NU6&loOQ(%Q~TJ?-c2rcoFh6Bqp zDvmdLNuX0qjID&we6}3-6~;Zs(s#Ygb6k|qq@@A8mOZ4kOEtk>p(e;~(O?}8OF%6# zx-yX4!Z6C{JWJkuaIr&UM>vJ-UabJz-^7ecCAULE1R-7^nxz{*1~c*yja=y!*Sn|> z9dvm9p?)no$%J-H!`0IU|JLX`;spGn8l=)5L}}Z!n%LKId*ROtS(;v1nm^eWv;w!M zo#$8MpP9LB8ZdG8!}WxCi0a8JK8dB3=#0xM4#DGYoV2{po9XW+mQ-r#@3!T?yWeI> zqmVtQWnK+pq^@uxcve|c=^4$}G_I*s3-pZ~>JsZK)%5qEfV%1r>sHOCmJ;k5*XVvZ z1XH7sSX19`{C=PTIpRa)CSoZsCH;Nmb)ARqZkcXc6sk%=A}KhXf`oHJ#VOHn!3giK z$^U@Z#+_RDpI~=#RP$~(`F@!87vg(V`+lP~FhEUqYSatwhwQi=7T>#7JAOPQzF(tn zhvBIoH2xq!Svz)Swo;%d&2GZ8qQ*cZIqHcdV>S9U{#wX;2G_eY>^TlHZBXbhNecZ zEQs&>g7{Kq<21|$+IG?tLc%8&eK-jk>LsTTqVea% z&{N$D@q^(GTezOEaey{6nh$ji09URT!}p2?7UFLa62*2nXoiqb-VXaG&^VXntFxg- zw*E7a4V3`JlsNO~@ojKeHL)t$W$%Qc+iy1QoBA$-D|d1wOMV8pMmt#!t~Si{}n^H_1YxbX}U& z4{`-{U3M5Q+BoC;EZ=aYPf0<221R511|K*O&U_-bb6KYrc8F3@kSj zhjnMP)Sb4|c&A!Sp5duDQ`1yFhoUH2A_6!|Gl+KehDS``(}Y7Bt&Z130FS!MG^Z&| z;xw~`a~KFp`k|KoaduD0PJYPPbIT)6dl4O)p^92@#D$PuQ%6ytHuE?Q@j7XmqVI<} zR!9sks?1}4dFB_rhy~>lXT6Apx<h$ZC_m%WIknj%hc2|5Cj z!Lky-NC1{Iz~lc{U>J3D_#7U__ci<*_~kx*a{rN{S8A@M+tZrsbo6zrX5d}9q3Er( zB}2VV(+tD>wm)}9>Oze^Q7<^TCv_4L#)6yAP10fGGzRI{b35*b{`YWL9*xSw@DIwu zY>PBeXIms#U1}sgn0HZGPHuu;sL4&ipUK3J4}g~))OVw%>ZbWkJ3BWjFJ7fo1QM!} z=!gd5M`iwNaOQ-X2bT#=mEK*hE@VgQ@ei56vjZs<26YsbmmU|1{}%4R&->4<#Q*e}C;BaD&uH?q)GRbJ!8~8hefWjy%H%%{Or|Ibh(d@!#W>HkO zKe0BXh&_km7IWN^sJM5fhici2Od&f8IsiSpG@5t_&f#?2%L7E*vf@Y}VcEZa`!-i8 zITtRr#_2*00;xK=To0tKXsKRogH_kJv6sg891F?WI?Wq>843QOz;Y7&N!DK>B>$Hp z0o@F2)^MF=5mRYukjS-~D^2})j{C81!)KUzEzrevC+ZqXNcA7q>Dzoci4I-ytiJv- zyOP-dc`^ZIiz}dBIo+8yi7)cZG5&`3v!yU!!A)WSbwU`)O zA%tceTrAdA_z^PdGB3jJirAqgy6WE3n#H@wHew$v>k&IUq@rD1olmXM)2pJmXPj7} zt4~B=dO#&zag~I1nIRQ+x)xXAuWCwap`Kib`4D)9I1wxO4K@)7z(jx&T@6!Ke1e}I zrPpuMlB=VxYnX2Zo~0#h2CGY~3hJLBzF1im#R30w8Z2m7G@y*Gho#-ucFnUd84Vfe zd75jcIaT5Qv$L&eMO3z8O_UnpH{`#HhTQP9owgDGC>(=YZ;@^jc5;!ff_Xv05s~y$ zQE`8nLQj*x1ub`KnVw!774eB>)Vn&0O)b$=i&-x~9WFY#X>GJFvlf!i3&hEr!QcBP zsDA~b($_PRVx96$HT_p@h~dV55>9;_W=C~Y%Ew_>Ki3z8h`RB4?#2STy^x)t3!~cP z1PY0jsj(xuz?vu?`dLd0(+KR~O%;x<`t8q-(Vy?vX*-!QdXNNdxjbWWIiuh`ZI#{; zza5q?T|b8m1OhuXoaR0tM<^e0vWucp#Wz~F5y~v3HTtCZPUI_;Aa~aJ)#pZZF%dtrND!PwJ^a$-OG>MlaQqZ_r1&Wt}*LC}bz; zPsnTX1Z{KVHTf4cou>bHWgiWV;4-wFwl~;}zK|WO;~SELcSE`^`ME4886GLJSdjWZhT zD*0a$8Fc-ezJ#GP|3A6>hE#a70 zRL+Qq?fMW)4We~4NJ;$=ki-ua642pstXYqb5qdXfj1ie!2VxR^@rGZ`F1_wOF`l#}!t|Hv?z#mT$mUS$%JHv*x=;@_ZSjRV+$9UDJHRC~R zUh~6a5PsbcwVbkS= zZB5!x6w>z)Pn*2VtIp9(>hV5;KMsRGPT$jp^u#8Ib(c*pdikIJbpDcS-uGGT_x@78 z@}BI8YL~C)~5>V^1PJ-3^FMn!V3 zil3Ks8?HzSxa|q`9hN)6^LlOwiR9U#-GD*2EbZQm)VML z`att6-L_%+9>GGggz@q=ARJ`?>oYg$c4iZ{vky5@PXVKbWk11@!m;kq+khS~Prn)I zPn2N}mFZ7*hjRK;B^BC?3Z3?Aycsn&P5wgPs& z9JURx8|AQP0Q-nxeIzXLnyx(I-h|mC!?4;fsn$+Z>!x3=ov79)es~kYw>aF(8@$A` zQCKJ6E&~sB!Fk;SZ`HFe=@LA+4E(YSZY=}9;(~{ifnRmOL-AS&YighK7WQf#{|54< z{d!o`b5gOmhwHj-f%Ln#8g$t5Jccc>O;=Sb$mbykbX)3dM(7#=X=KwYsu-SlTW1@4 zBFk1VCg7=Ob-3iPoy6cUx@Qy>Xa%{ux)2`CIg9@7LjR6o0NnlC(DurP_7uF$WIU*g;|hxAWD-_tYieH!|Kp7{Woj^mcpz}_%(T*$xMBz+4Qjk zf#tfT>iXAHFGN#QLc(wHj%a#kG`%aD-W`QEwx7QsOd(e2dWCNO6>DsQ4}5`95&bn` zGSqCb`49V%t6xs6(l$6_wq9g$b4L`H@m^p9vpvy(UJ=+C4H#-*S2SR%f!)!7r3O~& zWe4Z0bXWiRlGK0J^vRt;Pp{T}PH&BF8p4MMaeCEkYS>t<_m%9{Q+kQEvs!99tF^w8 zjeA-zVbR<)YxNQpXkW?9t;1;x3}eA+;pzb`iz0Db@P)CS3+csiHMZljZ5wpRMm=3H zK|we-mS=RnG^0)BahFQtHkZd;EREYz9(RG_>fE@kpN{j=Z7YwvT$=8gPse%bo-L2N zQkw3$Pse%bwwK3UElv0Qr{lbIFOGvLWFx6CNi5!Q0*%#5^THPaB1r+xnKHhk<2Kq|qH%@nM1v|LUn+Yru_K6`@DLAXZ-FBHaLAk>S-h)5g8L@B zis)nyJ+P;IC7Rr2D9(gIokB5toSX6+~^NWrb2d-0dFyn zy53^ge0Y+9jAgP=ALx@G$2s6D(ezK-9#Mp^IYRpVE75y*xMzUWiSRA6QTUdDII8Q^ zpR*P3>9y?2irPSRh9^WJJ_D0sWrdsulMDo?1aXQkg3Op_UWt}Or$cSh_fNI3i!6)5 zxQFf)Gj3*tdhe_utzjen0k3%U#&G%i!#V`^zhG}%ZeBFOgx#gXg|W(~`c9GW?1-o~ zKSU-@SRoG+MKY~6-zK#yy{W1wvZTp3H>|oKTUHAeF6_ODL<3_`VvnIpERM$^Yq3G( zan`VblX%fXDe_56uRBDI=0p(gh|i5k^%#s&j_8_cTFsaOKW#Cb+CWcg|A0V)TRk3H zI2^&XSAz%FNxWpJ`JdvXcV&egi;CPkA~MrvURD@yq`;8BaQiljI?8STK3p+Eukh2h z{7<{!rpqC+F`s@@Kefd*LpZITSNk|W;#B+i{LIP&J~_fxR$kLjKaO0*8fe!MVn zYdZ0&5f~;f?qu5y7|NXRQ@11aNltyY2;0$0e&B32XxBo6GHgeNr-ZlrEOs$caB&$)A}WPXqq7(ZJQSnMtsu@G2uID!t@f4c1$xIRF&I8&>mq< zFdy`M0m!&~?G1f@o(HOea^@WeDiS7>-{-|;La&{ARUAf6fzg4USQb(fuSS(&p%6P7 zEQMomFEZ8qFGxP!5clP$8x1H;`eepud{IPt1H+n1_s@-Fj>C~50?_2} zb_sn&y1$)h4=b7J=$dQ(G|w^Mx<8X=pf_)ntb-Xq_=q!#F<_Q~wYgZXO&G~>C3%CH zZOGU0W*gbpqKP*R=|ue|5B%SQ9`lnLBwv~9&Xm#10?~EkWo2!Y~Fr3WS9Q4t9lh zZK07q)N@^{d_UE0XE#PPc1t3BVsWS^P!flFD*VEzomq&yhWmvrL}6`)H-{SR#Hf&x zc^7CS82lZs!#ti5OR+AOMdWeVSTPgmm&H1H3NX^od>%3%#o@a}7(>V0VRmCx0|599 z1V$TJiT4y9h%b*6r0;0K2NaA}v5OtiTU~AEn3BF(go=*k(P$Qng%?NcZ;)oT;q?o=c?P05#|s0yDj@h^iQJfMaG{R@E2YUO3Gf0vY-6FD!WitcH#eA zw(XX^n9E*_vd44TUlqf~j+kjkRz>jOOn-pv%n%H~1jD23A24N~$bdU!I=|5D5Kx*) zpOx$C(p*{nKiSXq2h~K-2+*wg2up!5y#!$?5N2@4{y$#F zjt#GHEyS0J34&V(Ya&dru>kInOmw z#Q7+(gTwN^#5@CR?t{YQYhA=+*~QtXdpgD}?|QJjH$68r^Gj21=$;ZLYRS_w<;L=q z3%CL?UsS+-6;4bQTIknyIcmFzoAV#IIm-WY zu-q?g1xi~{QrZfXw$evf34~Q82rGfG+DBLggf%4ytAOy7kFXjDPnRI92Etk&VGR)0 zl_0EPeVLCi83-Hv@KXqHEJ^Sb>&1M8xj@)lf-sjAU_QdrK-gM>@HA_>4D9RBC0=&5 zC`9QYbw1-KU5BL4mLy%r3N0UDEfBWzh5}M!C0hYMK;TkCowZGanip`;+z8SF4r_mFO!V25Ejx0BJnC!rAR_p@NnFFlPn1}HWx z;TS5Ud)t-nu}*h!>VEus^LPVZZ}66}(VvlIaDvfa=or>lVd3oNBt1ldc4A!>DB+8K zCyYlY?D4}B__DX*y9+VIdxbAEh|Ty%dwj!0Lz;FKvNH|Qz*iXW4w1Ah79#ztpBH-@ zv9I~nn22h;&fzbMuwXceqdB7cmj?Eh^!h~BY57^qL>7e-gqc9FKeGmV^x9jff#WCN zfaFC#yb zOD}QhtyW3C7Q)Ls@lBEBO8S}}ibw%_a|AYSBvWmUNQW!a&4QDgVit``pr=+|tQrA^8SBGH{roAu-e@jlWsQa?$2Ebx znSC~xe8p5nPH(ck)={SMvbe3?i*u3(gHWG*Xh_``u(n0q_~bjm0BUorH2N7o`jCh| zUK;(ZAN_%dK2aL|oF9EeM4#m7MiISTM)Ug`XR2e6ziSxC2XZ8o?#L1a0u8u zQ$F`}%BOZRBP^%W4DI7VPgk#SkKj3cim}d=*7kY7wns&6&l(@{_z6Gen-TPF}bK~TKdk!f>0oF zO;ZH7Jk!KO82HWZ#?{x0yv~?fPBycr!I4}tJbMHh^UUcW{2rFW&H#4Bkcu7@xXY_f z_6#z)%DWuDl|IF^@$MURm5!b6oqWyI3aQ>sqBp;&mE6GU{&MqQ)q=yfFlav3#5)H!hSr}yIGfou;)?S!h@*|-@+^6N*ik#oAuUo z@3u$SE25#BruByK{L%&AEqHRQESY|q6omGZ=RLi$0mLE1`XkW zV47*y@XLRqo28c;T`=NP%p&~3K;2-dx@r9ZSBG%#|8;Z4r;56(q^Pd=0+dulK^k7R zwIy?pU+HbeE3VUlpyh~H19>oHp*NY9e9bL%ni=COPZ)4oi!{XRO%+DjpZKJHDyHNu zKRgBD+odG%MbM-@krEPkOst)}3HJN}f%OuwUXFAW#JegT@-bx&WV;Nz_VEStlUqzq zNUbSZ0cY6}B!lE^PaNmvHKYt}KhTEyAkG;V{Y-D2%%Hmc3;JQW2}NKJ33G)1&NdT` zBKCmoE#t35Jd4ZycJ?_mdxW2RyP4gCYlI_BnxHI5q#m*Xb{Zejipd=&avWu1@{)W~ z5|@9d#VF!Tp5}0~5x=DJ)KAhB7B=D{J4}mwMKpi0%LH*XZ;w)w`CrW?)=>KlkW}xB{YF?cTYSlIhMxIvQ{fK`KJ9C z##foBq^Fqa{ZUwf&J8N!3-4z>Le-LiHo~{@My5PWcs(M_XKBp^dO#ao#IMG7uzB{$#bVh%zIo~_MhZrb-?2dXc6=l{>+$S(x|}M zqYrW^`$V30--Z4V-Uw!f;w#JnD$CY`x}d?WDA+|BPAB=Qsrok-j)~iMCI|)|9KpTi z{P!s`b0AuDGH*uH|5i+n75CyyUzv{*reO*3G!;@A%Ov56_Y}0#|rrmS}7hb~q zsIzIJe^Fe~D|=qbC* zNuFa)Y;HH`d4_hF^grtt>^i{^$9d@A{Sli_o;oA$g<3syH;xONb(#lwzTxp^qfl%% z5=B#eMCHRmo)d5JoS0|o6_%A(zuwyU_13Phx3=iWv@4Q6809Cq4@5fbDZ*vYThaKg zs@P^)Q$Mxi&jcy=_?wZ$t0A?u6X%#V4l)1PJ;ZG7qI`<{%rEAnxcL%)Aqc%6{5;v& zx1;d$^nmN{RuS(6Y5P~Z_Bzt4>ELl z*_P;F|6AdcglQlND@}-P*yav-V%vYD{|0^&LfbE3T4nl1o~zyUp1vB4AEZ6pNnYgV zxz?D$3M+W0=fDjPeS(i!kh2b<=}%E6!JwYzjq_xA33~l7K~~eEV(#1FZBjX0{zvYa?e|g^ahE$Q8E#zPRHUCZOS}m`M~JyV4tLh5BREs19GWgheAsoT+EuZW13 zG{vQ}FK~V_R6ug^CAHYWb@yVRAVNkx&l%!^25vwVs{ZKubFLJ7^IH+tm(B>q_xGxQ z%1q7(sR+EK)j#b8-j39-^#XZZT=zoTDfEFC8e-P3^8!Q7`t@F5p_$(81;&`^RbF72 znO^J#ZdvskyuilF`i)+o%}g)#0>jPp5)S-MNfoLJjfEsx`Y9i~G zqk>1Kh7dVr`f-2+J(p(WAM7f!pM}Fp{21h~;}O9sIqZ69J_)1qiQG^zMJfk$=Ot6x z=of5|r~^!*V1sDtniWh@#X!eG;>9Rf6n_v^2EnCB`gUZ{pw85osKZXezD3z@Fxg$Y%UK%fZc6-M@GG;@?aO?3)qCos%;oyWcx?~!%5 z5`5f*;&iWB(ZdQ()`UwH3x9%CNsnx^W%g@kGxc8+^d{(y)3P_3O%mqhRpH*vrc|b+ zM=I+g4^m%_R7#+Uk&4oadW=|`vRM+N8=Mm-JV5JlJUvTc4H)DSdo#a$A z)jRF6&N7>l91Bh{@u8_U>yTAVn!##fk!E10Lql*`Q{?eQ2{tIYmjJ`sY`VcOXj{t{ zwr#y^+giVE!AkTh4PRw*u(hQMLNC8!NaKfb1lL+2$E>O{e3-_pDp<*Hn!VvJ*aFPE zO%*~hHHt=$igoyAH#H-{}jQkTI*SW~totX8h^y{p=Nu-qIN-OZ`On|wfJ-L(( z!fkkf5B_y&R>l`)WpGx-0?$T2vt?{=>yYek1+&6mvhGi;E}B7wR>R``9%4a)p_#N~G?0Et5 zSW8>J<&Qem!@UiVZb5BiNKI^4mF%2~$d3eXawa0(BkHafQjoo#>=;oKCu_n1sfNR~ z#PcM};sIPFJ^SxUnxv$dC3u39-=Z*hZ;=n78u1yS2IWWFm7REVLjRD-{4o|NjuV;J zd-NC)4d^X_eK6z;{u(a{Kst872*UUl6uDTdBwp4u_@6PTn{i^_Z1_(ofkIbb`waFH2E9_T)O4lO)M+35 zy)6$U(kG(nhu1~EPQ^b=->t%juHBk=SmA4?>66jq%hWN{rKzxhP>SAys`sXET8`P3 zkzwdbgib{R!zfK-ScCVY!CYh)iDtpduYT5JwBkU!z7s;)N$%4VxCzpu#{phf-*t6y z*L+=ESCM8|{9I2gbRBy_c3miY1agM$Jfa7&BfJR-hcD@#E|qY8LH`Y`ccNvFFSNM?WD*pOf z2c})Aw%m1-@+oAmoAHlCR`glOjAu#d8sv+&O&H^ErN#5Dt{S0&yK2T~hBzOgNMlaD z9(hj;DGjVK%lGUoWG|ZWr6ImrzAThIE3cLdv0GY;bdSuQi?&A|#coPzZ}JLp@c3z$ zmpxO1VrF9m-FwN*o{tvi$&UrKkI#=U4s~QUQDlQ(p+Mjr6F$gl`C$?>eoLM_>=x!H z$(v??^-al7Scp4hdfxR2`F2DY6jR?`h-NQFGnZhh@U97Oe&3cjL!tubvUrkvf5A@P zGQBisWSaL(yc_AJ85-qUUy2Hp6;eN43WDcOlV+#!pZNt9Gd?WJUhI0v{u$22_P4Vq zjmUj~T{2U@t_}3Fv+o;r_OQ|TYdv#0%BXFkw9CT%b|@&YYbY8=iPT`js7rrjrl&-* zSEB53fKP$)ck;@)GqDig(zU|}#0DAGZ%bTruxvu<;MXAa2+t3>ML(h>u0{hi-Euc* zeqJ*%yIgGSu8EI{XVrygtQ%&Yh+kF)vEJuB7tsOV3$+{{qZEEl#)jgJOwR;X#V3tO$m#{f1v z)HKJ1tx@A+0h<$Qn(M-zQsd(Qn~QVVV`d)&|zmg1#G< zn`uE;RLb}FXhl_44HOb>z%*E`4%%XTt1Fs09NC3wM8f1>SMgQ$Q`75FG>XFiVN z*U8)jGI1wrWtEs>BhY&nXr*#BDEA4`^n^$u@kvyXg$%XQLzMJTC3(0?6}`JXn4DrM z1z8M#Cns4TB^OPNGKvbl?kLOG>*COq3*mq#=-Io3g)JPKvB#S0VUFAtnUuU9hJ19HCT3+7+w)AcTr;hS{5nK> zAULEe-0|c29J8TQ-sebspa$3+@n7SUqO|kRiYT-(3+r9PJrPNv)*~!X(x2k2?_DF^ zkewc8qYnC-8qPOhZ6hMzKpCU=Y^GNNVLA{rIOAu@~ zY0%VJ$X)U4E;*Lum#3{Fh50u4^~McuPDZnK^c?|igb-4e746kxadiP4POKrcu} zzjm@z!)!hR7@9@In~J9~oH7s~DikwGAEorqp#6)vKI@>AQg6C?OL zDMA_G(A!jKZVRgO5fAcrd0J29y#qFf=?B~L4|Y1VF4?hS!Kq8mWZt38BD`r)*Z!QQ zP*qhheJhIPhr?Ra)T?^lD0$qiXX)c^zvK1Dv>sjXM~yO@5d}NTeqQjwX8<#!_*Pj^ zdO;V0(yVB!=XN~OOuciWiXHr)sN$_Ad6IuMoR(9rvqi3Ab&j<7$ZUn?eaF{pwPJ_5 zWF(hpI`s~7*xnQf{h461@oEZR;rQ%4goFRfM*YVoWn=X3AJA?SPxxRU9}B2P;1==O zJp-SZn##nF>NQtz1vS)>h1750iYM_Kg-CI74iSh{6n&qFGJq&KjOTfHe#2=yqQLL) zeD{dK8m&P-z%LIP{F)-;n=)f0q0Z(w8dAz;o=X}XP+KbFHm|0*ykrKysHwrGAe@wv z{=-qdPnF+gs+_kJwW^9(iqTLp54JR|s%P1ogXoz;c9xYKVaV^3n;${w8o&; zqHR+W^W+4k!9y$z$^G1|3!|Qut=n!2%VxX5-``-{*P#}=>TiVeRCkdaH2TH_WmzOf z*J0J; zRk*gWNW68wi@jD79!O0oiQ)4XfRRdAk6IETMQ&@IOOn4$DY{$EeQ73puN7S-Qct$EZ zAmdK{kcC1JI;&ERmuOC2z^;pGEN>pN5JJ#S(dBAc#`U%z&Il{B<8y6>iIzWT=;?X*B(e$K9C+r{|)Th zNBl3Bq9o%jUs|7F`4Y=&u#*!lxEgyXz1qsIF^RO+R(1^POs}%yD4(LBJ}k!1e6(A5?j*u7 z6&%x-qWDB)Dkln3KFP%_zE5M^UIakXR-5e^K17{v!SU!MS_|B3YiK7J9uqr3TkPj; zG2vD^)x~Gs!T^GDxD!~3j*!Ckkbg&1uM`N5G5wTrwx6c6_XUx&^VZf54hRdv;@>jrZ({F<3KAiUst$ z0yN^rU4hB5fO%J7N-SXA6_{zki#Z#HqU)%m`JOuh0|J>5F&FG4+hdqUvn;$F@+a^( zppR}Eas5Q1CZ@)e+S?3+EAy^UU%qN90A@g$zhY^E5=u0}`)LWtzaA}s7{8ZrQJ8{7 zstB$oS)LpJHPF`2DWL^xKnvztuJ&SDOlU8@)hG9Nu)wi=^}swP#omjV8zJ1UN9y^^ z%RGVXl6x!=uV-la2(J)n3 zu?5Q}OI);D#Dnsmct6@DI%B8o3_G_$48jIWDl2vigp(z`byDXWQOTWFfZu7T4J3C% zg|Lf8Gr5g<*u@s~2z>c=qm>;Wk!s!@yqF5f?Toa9k?!HkKvs5@$`;I{t#pqp+#kQd zxJ~E7b-D9+Y<4MQ(?*-R81_*vhJn&ope*Bt!Sz;aBsC-=vlUL0>2tN3Y>lv053^5y z3(nz66tC$NvRf>lliXruXT(}PZ*-LMv<@p#UXa{smYKOHB7O(JixXvBRrOWswmm#o zQoF4*p`FqZpWb5OZADxQvvjqp=Q_pp^10cny&a7*|G3%Wx5d_3C7;Y52p(abRr`2m zmyVl=;s3^y@+EIJi>L7DdyhL-v<_0Xv9yuFHyfp3IbrE#yK=C)Yq zgmf&sBvQXZ3>k%!od!FK;&FJKeYu)p$(6tI#kJr{%nYg=z@uq}?0PG^*<{4o8gxv; zg3*IY1MAg1qCx}ks>{6de9djPY-&tcrrKl@g;}ntf`NXK=hqsp>9;xYYjDA9x-z#3 ztp`D0k9t*N z@`@7S%M?B&IgG%IOqSTZA-CV6`TQOel|2mRTRL5qojHh@w;)lY&@QYiwlv|1yM(v8 zg5|DDJ8BDyUl@LP7oPW8?e6$cRYd)d^Xh!rRdbZqcV9_;MRVV_ zx;6Bb5|XeV=$%m_IF2PZFatDmuO+Sm?WGJ5KES{5;l;i5Jw9gGYbDR~S;St8TQhJS z#PZZYuJJ&HcF@}Dd9#*I0z$}PCS&CMRPo^bWFwk1?EH8LW3#sU#J5Ow>h)Ti&L3wi`9YAI5>m*%Z$X_Uptl%$mY|0% z3P|V>LuQ;eWa`20$52CNOdl}xaJ61`c9@9^tTuO66o3)t6GHjm#yQ*~zFmI6!oTdC z7|EoWIpAQ6EP%t%KJ}*6_@))e9dP?E%$vbco^JbiGq@LYhnUC}B}}B4v-zHw2gzgL zVZ;R8?=HvG$cT;e^7Jop^3ciUeS?Q=jwJ?wMs!sKM+D3}?PcBxC-uyJVxK46gHf7M z?nNj$9g>HvfVYzRe8J=s>?7uy!W)j5vVyflhe+kHd(g7CNE|CWxblgJ zxI*n%{rN8y|Gvu;h{X&u1kU6)m@AIOkBTERLOm?o;8@8O8aLWw_;7b?pC#Rg?6deR zjC&`{ZTvu{q?nal(YJVJe3Pk2rv;a+)LdL*K`^sE0*Ylz4(4s%E&f5=x1-FCcpC0u zE+yr;I!w@Xk5C*C$|TlG*2LJ;Kg#Hmx9v~_UwxBP_LM(w-(eazLd?3OG(P*Ow>JkB zp_9jBUET#K8S?}+N4(Y!NMX^jT*WNroBN6h z&pr2QD-W+n_PNK9TyVAT@sR$C%Xjbd9$*{>R zb2PM3x#b;?+OB@zmQ3hj%RdAAfaN#IryOxrp0rEsgOF`o4*QIvjt&&0k^fQ4J;QCn zEOF0pn;`mq=y92Izktj9w##L{1}^hh372`CDj=@>3m?^2Ex`m`LuIZ5`-Fun8t_AS zh1NU4iN9~WVyXEn7S;#5ho;}FR^~mOUk|ms>lD|ZfH-COcRsEm!_z*(bs(H6LEsY4 z`Up3GaIOU51`y6$-Yt-;mg{Bj0@u^^o=tG+J^P|%i0in3qfVad>`Rs^7*d%+`j)<2 zQruM(cg1o&uAhh&_{dQBAiC<;^CQ&rT1mo>knp;X@G%f>lpuTzgpZg_#g(;=ST~R2 zaSYcLAbo84w@q$Z@YW5N;^}#@?EF~n7BP>`V_1`)Se_s2n<(s-<@>R|iF|JR2%i8U zAM_DE0m9&*hj0rBttAMzfG{KoyD_-+UQkxuD;E9@{0>jCAL8UH=qsa#1))5<%Qqcs z4T>o?G)Ply2ySH$54sOo77}g2Kw>yw9d8TbsrNgC=udJM#Qym53MulBD2qKEEsq@; zG&KW`gS-<$enu*liJyt4H*1Npp+HCcY_y|qU1LV8Zwn?VI~U_zw5~5f38cE9^U=QD zK^LMT?Fdc_U_(Gz7z-%B4U7sZs&2qr%5NKg8_555znxqZ3t(-G4&u4FKH!NK$JjAY zu_g+wbvm705-UovVNB5V+`Lq3=64^c(^mK-!a3gBGA0C771Rlbqh_|!LVt5)tY&c`Og~!S;d-)t0j9-nq zPvrDo$3zr&Y?Bj${F24QpsL9iQlAXk!fLrfxCX3-6}*#K1FmFJ5GqU%Tla=z`VnDZ z`G_s;yF91el+kMWZqdJA z7Q5FiT6~Z3zHMAqW}VoR!Bmq?TMfHC5S!U7p2Rr)T3>+#@sFY~+hhYH&H=q6jL`Ev zyNX~U>|$A?WkVg|?d(&npY3&aw*i$7Puz7OFqcQ> zKG{Q_I5s|5Kx310g5X$2xgTTs1B&nKk=)D*Qp8*I4}wC5*FboXsEufACA!O<|3_Wi6mXgCD6 zhaGCOoqSDYr)!7An#R#VP^D4*14gy8CjYP)*#W|F8_v7O1~Fg{dn4NkkV8#RKio#> zMefFaEqXe!PVlA8dio#Nwe$2AKHg|tUl8MJCszuBzcALUr&dIIr72DrHuKH zG!Qj0wysO93^|FFAq7`;9r3gjpToyEY{!)q!r7%=vqH+|@z&T1fo<1B@qD~|jtX`- zlVUoW*}?B#cF-@#_cAUMPA-;KG4joj8tH}?2rLicNrpQ>euPm&d`QfH*>VMlNyX1f zHtO_}P<&|2n_lVD5uV3qBT9p~*j6&tfIBRPImEbqK)jW^>iXec+v*t1F@@)6gL8>#`2NTL7i?Yz(j_Fx(HSTj8Zl^3zur9Hn3h!P&`lUsliwgi3oZ!2}SX;!eM(bF*){BH|>>fKAY ziBX=W_0&J`3}P+sV0aOD_=U*y*`P1mFyOhM?_d@z)OOmrEvqW^pq+S7k$S-AAz@T_ zkK-*2)^88uDOzavgShVXm$*&xny6>HfqvWa+rn5M%WrpKkMwigI{2M! z-8;O~8pzLDb!e9ujcta)?>O#-#4_7o$kG3BEKo?z^`mz;`mqzdzi{W*yQD}z$6u(+ zclxbp9qY$97W@~*QZ%S~S@0)uXO92AS4r-vSMsy`Y|Wko(Pd>bCYzWdzQDO(O)X%# zXfvnra|4;O#gA97cSvQTwI%2d;o6}+) z!hLVCz9;6O{dE@w(4o??#d5DI+Kyc?6M^`@S$Y+=*bDtF(2_)p#(wVx5Vb=>Sv-{K zca>Ky@x78$KdZ6YZP%ngvRjp37&l|p#6d%=K>75TJWymjpgAZC6aE>#$rTWELjlJo zA~)REDx{ufPiqCy7R_Z^93Zy)#5U1OTxL;BXgF3CnyZL8Eb_b8`5+of>oTBYMhu80 zDKsei-NL3MXWLFa0P}LJ{Mm8tVU;I5(ax5JX8Q+=MyJO0mstSPETRN=CVV=hVf6+W z9+mp>7X4O2BFvf6z+3}$8~?;Puz|~!7BNM6j|+rurMMwrSZP*!mcLa9V>|tDw)Q7% z{?;!{*LV6E6;UbQY|OclM$y2t{DRIdF6sMhkoP9}WR&oiKghhq?kwsd*zn|v{ec*z zuf&|gV{v)b=^qvqP6b|#Nqd%^SaEjwr3bhIZ4TG@)zlhhA-nz3SDdUh9KZPS3U#sy z#?^&aLRR!|rOotMd6KX3La0(Z(4rwG7K4fsnAUEdpd~S+@FujxBZ`pxUW67Nc4I@dL$!`Rpt|%;bnh+(TP}D!(+0_`0OY>CsrPwi6`55h>^TvTS;# zH`GJ{vyZDjwzBGf^MzHfSB!GSC;tDa_Cy;&MSUmUtiJpGuCHyQkh zG67iRerGBa<$xdWfxpG`2HplFnv$>{coQtb93uMw_`qHTF%9tz4h9P0+V~xR{R1IkVGa@8GgLso1L)HZx{UxhQvt9M0B0S5O#t|)0)VS` z&H>mAfb$gqn*s2#-}YJfX6)uZ3%@PyUA|4gpHv9;7yQr=y-m8+66d$?`U&ke2-G|L zg;KuY$6HE^t(LN2&m3&KKlg-zy9a-ji=PN*nhUvYm=8P9#*`^%`BRG{P&mHK$6qkc z2YZlgMYbPgs|L2+O1Z4meCCi>oYT&2sOMEak7w`R@A}O-F+NnxH0S0;Ql~`DLbBVh zfWLyG)ObTdqA(|UjjOg=tl8ai(9=h@z0GpsB=H*aEuMxIuNfeKm2%xMY%R_q`hH|t za^f5q^5E?)q2MK2%ozJ&hB%wSdkAD|_6*2g@s@FojYx~QrE(5=LQ;!WxJkC{T!>&BtEG2& z7#)B}TeKZTSjFUCziTks4|3up`}X{-KesI)ZqJileyqTKd!dJmfww42U_uovxYw!v zCw5^*fGho-;xUXfJ~}7iG?hu4Czk_(kxQ5;N+>3&NWnvJ?(o_y-IivR%&b6PNX( zGS&mlo*$}0i1jgsg)vD@hq)-$(d?7g1@vWcj3nMY-VXCkr04cZBMH&xWhcKSM*{_y z0Q3rhE@e<;T2`5fzv3*c+1Ef*&u+l*Um}ITg#aoO|A-U!dZTx6z?tuItG}0KaV5N6 zJsLpa?@8L0Gi}XYVFuea93sYZIrEbhnF&!dkTNtC^&f||HTUcSsyfj^d0-KeZY^dUSG6AfN ziPz8$*2kIPn80cmNvp*;tQKRnGK1d^;3v4WZ_3hE$I?t#2&s3()vr{K&9?j$ZJ7GVHwv9g(dpj(WuvK-Jv{fZ;WzYogl1M5BuP5`< z_LiT*y3J4$4d042`>o;+UAO!FFkQ7#n6AR3A8x@xP;ENuSFFq+>AHuw4o$e!JQ@y$ z9S^r-oh_vH@WIU#ZVVkOx0QM+gwCI;*|!8s~u7CRg24chW!AZVdIb2c}OJB-*E%^pqgG9;~S@?F;xKL3Wi@m zFN^(q>rh|jSEhQmI@A;XzI}f-aA*~E$XC+KW9Hgea(PUZY&^3fmRlJ!r>U%>gMCGF zRd!XZ7UolNA+uUs$TWNWo|a!d?8z(%o9p=DQF3)mVfKeNI!J&G(?6i%;FY=Ab1SF^ z^m;%G#+F_dmKKq{{PcHO*bV!pTZMhoA1mH9F-0A!tmP}Kbuq>LfU-WOcz&h49aFpy zC^Izpp`PGkgKNGbk=-`bQ_N8XHpFu8#LOw~PH;^-Wn;|T9P12IgEb5r%A{Uz8&_YR=L#h1j5gN+hehj z!e&)+OH55}jj5IYajv=YT+=X5AVGnlE z3mxF=0AA$8KSO+R1@_N?{Y?kpDgfT90JsW(C0tycsDON>%oT;Ju%q%83P)v2HT&>> zM_;9^?}4A*g=>=v#=M+3qo&t6iZ~-Q8Zvke5Xz0EwtQTZdOa&>P15v5U;r)shk8np zyA_44%tMQzUda|>__bmsSm1z44UW5Lf8OHB7LhojPvTqAa0@&*ux%E+YlE!IaP+Ap zjJQ-J4_ARE_eM0g)gzw9MS{E$qLj@d1t!l*gdC(GdD9JmTlxSJwZde*k6nUh=S7P! zmR8L4mlpN=x3~1iqcYm?m0~UZQE|5D`<7ufzGbMnQ7V$GlF*iaPkimZE?le}o@( zVm6w7l6R;<2mthPFE(QPVjVD7-(l{Lb!6U-%H^Re{3U*xIYLXXj~0{bqpEozCUH(91*Hemm_FS zMt0Ca#_>ZjVGO;ylC+XdnmEZ{=PpUoU@lp6d-Uo*sJPUlV)$O2N*T0bW zGguAOd>J?CE&UWVsH`PPOVjU_jd?g$v?(g`0I0r&&Hh+L(GGLiQ#OU!g&_<9{Th~l zxKE2ok|gnBhkNu6iSdZ+(e(RKC^;qHkE%jn$-0kCV^GEv$(y*Kqp7XwI&aL!Xu?q! zqk>`k^g<)^RJ3uSq2}8(T(dDSOWVLOfib*e3s33yVqYLVeP2pX-^5*8S@u~D+2<(B zKFcBdY|=DZ)7QW$^G_OoqO|;k1jo$ISgtFU?T$5jt?aH?dUvdGcT8#79iw#>b0f1n zYh_#ch00bNo2B(aRlvteC&fN~Xkm4C8SaPzY<2faSZ(Vr*(w(b+)}5H z^fMoe!yx4+QMChhc?Xv$K>}zDP?E_f!ZB=LdIno&Ydm=(28e$kh_zwHzLv1VBIEG5 zyaW5SIR9?;m?y(XYW7Z}Qd|r)GLqa!6D~XuhR|{+WA))zntk;uLjG4~QP4%fS*(52 zt$AE-Pk$VlhhM#|M}6I@_lv*yxgSsBc4<)f$O?DP<(6 z_W$jH)2ULuo5~yvg)os z98q&byn~bY(Z~L1kyEHD$pcg>C8XCO&$_USTbff9Wp5=$v#kO}dS$rCDF9v>RtJ~M zWJ_NYH3y%|27!&^eP4`mbp^)Nza8UhiE+Q?#YTchyHJMV4TVK87{{{Nd-~EQYrv9Od$$eO>BF-eX_zexEX3yO?yE&pkHAWYy z1MbE_+)=HHTG|lSq#Fj5819$`wZFSB?zZDJ`uNn@XQ z8Z3}b(clwrDu_DnoT5ApzX>Ot_%n!~bmEf`Kjp+HBmSWipMv;l%`wd|1qGaO0Hy-q zZ24T^v}~V0tIgjE<4%JXJCFB=g!^Q5!944_Tg{)WZrT_wnCB4Q$fcO) z5pD@LZ4R??Y<6=vL;p@z)5=Z1*|X5q{lxBV`h<5C<>)3vFKT!<3>^^bUX_w?D&Mq8 zqT3Xv6ssWcT+-kpG01rE{vvl4SB954m4rKUOg!T}%D7Ul+ecituh73CKcKqZMwqTv z46AFJn`Y5p7Vi97YkA3F<=$_URX|BDr8VwcthKwuUX{T4N+j8`{UlocO4)O)^}Agh zGJqppFCTUBaGQp1{ge-g4OSkXrX^=+m?)p|0n%SegYoQ7g%>Fq@|HuwNos-Z*T1a6 z8@gwqRD-YUl$M;5uiyh7eGs!@jc2L5#QYR`IYl^5Iu}FXY(zxz(W8Qo_Gn(e*MF@- z3HetKd&);Rb!{-d!h3RQCZ6s6^BIonoZ&p=&XLISaZE9Nyo7EEm-p^l!me;aRUWht zTim%%aL(fu=RDmw$z|U$x6-;daA?(6(iixc=Yn(0b1_E9&1Y0r&0%*c)b_PFjKdMk z8gT?u^1DGe)ma?qc*4IC2Rcv@=BkL(8$v~GQP=N&=s0r%p}!Q%kw7&`?G)@aR)MJo=0ek3NqnK9|y>+YGZuGK3%2<~uOP9@CwX-Ks+`m&RNA4HC8+ z-(X>TxQ+{p(U_FY}>U;6rV?!>DEfV59@^8UWfW0A2&Y zC>=wdrh)ln959%fqn%8zBhwfiGXVBK?g2<4H%Du{$JKHVj2F)pV*TSfUebtKjdilm zMD`~t%AAQZ$8il=((j~tXIr3W{iKtt6SP~8qc=I#YtAN!j5|8 zRn2@VUU8D;#UNTD)z{Sl-}_T2#Sf1w>OIPcIP9uF1In?~rrVhEd+6Vgzkn$T)N4}3 zfS9afQ4X_uVHK9TA{IKFMeDuR%pZpc0P z#rWJopS}D-`Ze8_)YsGJWS&pbbgU?UOe@N^u({2j-xh82$R@E0{lB-LxZI-;>=DZYt1H(9rk|HCw0ayco z**a_^H*(d|*CU1G^$4`KEptK~>dp18j%0gWHAkpy-ffvdp~htfE&u5q;elPb9pNlhf=or zOdQb;b5gvcqirV`ie*j~X%sK=D+0pO!FuI$xo6>wZB*Reo{sVi`7!nFKjWlLcTOqi z>+nSXZSgYV{<0hTjar2p`mcVG8~O!0)u-wnk-3oDM4P-2KR%u5Bf-Ag0*)_LKC!sd ze#3QVJI*SA?t}6Ji#PQ03EXD%z(Oa!3Gqcb&KTkSRJ=vo2)<*nR#*trftoHiI*#?u z;C7@)OISSX3g_P@ZuMZ}gGzq02K0s0TD~@0th=jxRb%-m$J1Tca;I3wMFU7(J}l)h zyG%sqmS|RgFPu8u**+L6_W`+bN0aQgt(?*9m2sW65ZXcrv|9s`TQpb8o$y%d!wI^L zYMVfX9qyaD+wZHI!2V0_>~6pf)SW}U4Y+{Xs9996s5I~RmX=wg_4`XzDPkSBTJA)3 z3oUn2t`a_;wy!fewmsZAY^aAp3j)*vDC}d~u)6e_Ac1MOZ%etpVUeSX68=BD(x#Sc zO1O)IfZZ0x_MMWKY4}}1AD5Oto~edPG9|C1j6!1EE=OM_tgnrmD!O z8}kN8>pf7&ulM+?zTDZ<7q} z#DLD$Qr+$IRkeyy+SSm_6RcsUunq@QUN(5n-t#1`BsJQw?vgXzi2Twp>3w3@u$_>4 z-W5`hd{^_u-H<8JCPAh4KwXycoPSo*B3dX`MzAeR2r$7?@AwqtLlX$jz%rdgy+15b z4;Vb4lHt@l4I-$fmgL&dc%y+>CZ3vSr)VA<<0YF|@TKKEtDlgwn&wZ2>n5zAqQKvD zRZiA{eP(%b1xlm&Ndvz){x@Bgv(uxpX{zp!vz{1Fe=&Z~R5siNn-&6?XHyNMMmHnt z%`UCs6A&M#nZc+qxeyOms} zsj`QP!-jPgn6L4m8~>Z`3id`+6(NEXX>IJ*YFoICXe^aUDuSd{y6r2K4YZ1ZAcqkz zFxxfA8>@LN=9%!F4PBr&+38cF_c`z1j+--BS!0IKDGmDag9(jaUo*;1RuH%HyFkxY9hYm+JkAuu`7W)HDTVXh z^v4PlfRHZVWzPH8MCsUm7CS++wLZGE=y$Q?t1r{|fF$%NUiu+^hpQUSi=$RDiqon` zag!usj}Gj5bZ61;;%)CX+9%j=X||VJZ*1?@YeegnKjOki0(z>6qt3_749rq&7K+1U4C?DGi{cw>Eb^kYC1o2w0MmO0B|}%a$1pV zOna_ONpt#PPuQX|cov}`MHE!h%WA_1(F^bCP(7}#=moFr1=;QgQInlcu0zPx_1khC zLauHn*Ae8}Mbp9`OjSO@6zjtG#GB#=>eYb*>(w86a6o}+hQ$04?Z-E}I7)9d8n+q> z?OEb?eFxV^PtcyFzp~pY^BBr}UzaZ+dQ(c`pV0NRq$h7d_A!vX$3bx%DE2ansEr~f zKu-d6p96Xlp!=QpX~Ylccs=#sP=f!By$FiY$i}}i?}cIY>(QOaF1!JKsAcwsL*FU~ zr~Rf2WaKs&^*u2*T6jpCSj6wk)97=@U=ijZvJ6g-izmm$3GS>m?Y0wDGprdn5OwJK z5Of{X-G;yV2{-!*({J<>*6hK#OtTkf8O=T%Lo`=CTt&bBhyC=cJ#264&+{Gh*nXLv zVV-IjY;v$8waZDBL%)#e4(Io35V#6=HtW1I4RD_}b%!&%!rAU{tv^6{`2d45vlAd5 z2nRK`8cIb`P(ZjUAzU=-1VmSuf=F_ss0O#iMfS6wiZe-1#;I5w=dflP0yG$K z^1>ry05KVu_?3|^M(&qtw3$8OVKf{BMH*8?l5Ep1lLARcExXOm|e{GfZLj?=&aWtGVZB4|+!H z=p43_i)BYz1zxyPmxRE4M8|uF`zi|JH@7VMRFuLJRDtJw6+lSh1qE)T7?|p!0efpx=7MQrYA~Bxt-2x*3Fu!z(SK<;4vK!U(T`@ zv9Al+jV8UpD%4&@wtabN^6(Root4~xiGyu(;Y^X{aO?C(yDXaF##ce|aTc1*yBcdf@n9l;0O)B#9%FR44&EDnw7WnBS;gtewkXX7Z~j9KYYZ-2BTgIO1zvIb zGy*Q60c6daJvXg-vj^4{QSakA-oNmpuJc-vIy}Nkq!i{e;w(mh_`ojzx=WV0KEgs= zvdx*CU?ksmkVshU|M-}pB(tfh=li*A6g9_K`QW4uUyBP|c3%ra*aN$%lh+LOl$t%+ z4>d??+#){N`#Y&CP(SVsu`NTdqpw43XzPw#Pjy=t>>p}E>Ee_ItrXt)z<2`}Nb5 z>LiKy7rSsp@1=$AtoGYSrUW#*8Mh0-k_XXK6=pMIUdxUlW9DvMeZF&cdXo(U3 zn~U6RpP|@_l{>v#D<*eqYAX>|Q7#a~*ql2R{vt(N^bYf-cn3arm>mdQ)9h#O7r8x1 zem1AY1;BIw5WVIM35my7dih=0RY+}@o%m;nUvc7}B7Rl3pNVz!?a}x7{~`a6P&WDl z+)MJ+3GQD%sWzVsZvxL3gvsMn=VwF<3sri)lCs=+&l1ENw<}p4nWE2IwAHnSEXJNh@S`I zDj=?+%n~tz5-}rswl`hK{;J6S>~G1Af@fDW94>@)D6P=$OgL&0mc!Dg!o^bVwRrMW zSg7V%C5~rb!%bUD0P5{oY=9|^U38zK>X(7jClEUkR$-sNXceh30GPg|+1GdrJM>My z9(NNikTW-Ke-}2UaNlk<`$S2P1w5MD!xmU?8S1x-t3m-)T)>Y+W6p~=S4j=UH|(;i zP!>FGQ&}yy3>@mueHN)#4ES%R?Pm6~2o>X}Vq}R`qQusK+vV|ut<21Ly=z8CW>y@Y zUU91$pmblXuip9(S_6X>*Gy~@lv&s#C?h0>`UhrE?&$*2G~BIz0frHMF^mkj2$Ceo za^dX(m)qm(WvOK(z^&<2DlTAegdgR=j|t$`_rj;j(W(W z-4KN}sF##-opEs>>|&K_^SG%cUi% zp;aXkWvbXd74{2N(y|rc2U!r+l9R)3JaSCW)0=&^Yj1w?FsS|ZqO{dwnd?08UOWuv zj?F%z>BBJM+#}6CM5zH%V|5qK$I(>MR~&*8*0wt&lO#MpCVYll|JSnhp?C9h;VDfv zsw_S79oEW=g>ZLBX~c9o<6+td@+<#|PI?d0g<{&9te9p|9}J*QaN+88om*H1c%FAy zleqaG6lMGHBRb)&xW(oPmIyW~dmYr#vMrQ(o4rinP#;@UNJs!opq2mMkb{z-w-;f9N^tp&SPm*?TsKq)bu>;8>K#No|RT5|Q z+sn7eQvx2t6 z285ZxK(qc;q6QDl#FyqONq<0RGlK!YPCd8Q-|R)t4P-6s75;u-<7a6;k%zu;b(Y7Q zeH|hR)w)abNB)CQXnsGp@YDcQSx8P3#{$H@vH22Q|5zk`YsmcZ3{XP%Nd03*b>66Wd8Hh^wsw zBRmex=fa(>@CU?31{?oig$R^k!H^i1lahcVm5%gjsVA zo9}vgUJka|$Qof>WE!LtFTe4as9S`t{779yWjj*pE$Bs8MLPYGK#=U{^O$Nncicu+$9--&mWa&L&fEFzSBBaR+ywclTyn;gp)QNft)0uUnFKt1<j%Cq>+G`_(t4(n!Tw(Bu$s{~EP0%fKvuMG(!8CrERO$j6 zU+KFn*nzma>>~NHuC$4n_^v$@@l4y?hMK+u1En-rI|hq5 zLW(kzwLorqWrKgou#_jJfCvjZ^4G6dG|3c06y z^=HxP&k}}P>24*HXm3gIC98Os*peU~19(VQo;scjFtOb1DQ0I!d99igzzh7J%BmOR z!Z1Pl2X$truc7e=?v_LsWiE2wLUN|AAiu>9bCIDG$1A%s1Y?Jv^m$Rpm2_ngg0QKYvai`br)MV zL|QBCmV3EY`(&;5$3?Ad*JMA&4yOoq zcyc|VnP!DAKQ+l2W&+J~1PfGpKnlbDelm!zDi$opg0 zX7xqabl1QaqD$P9JrL5tt zlF7b#b@RixJQ*^pSdj=OGzJ$Fn~5REPV z#x|+f(JJaSMyrmE6A#oeoM~g%lyZqr54o{b^>a74>y`O~ImtfbVnv6}NrQ2}+uNc= zt>0tgN^Xs-4uo0((J+Ob+tn2~<9xfk_1h+y_+QuN=YhLz2-wPI9|UY=v!Y%%FegORID1-eT zgB_;*;WGiHka{|R3*jqF)Ug2EZJQQ}#hC*-*d+ZS5wSH4&3pI;rK+0?!+bAF;&v-U z-{a`es=aENEB5Aq4f&%w{T$OXi=ZarGS9@}a5!x(!bbjEGdnxdP zV}aBK4?pT@$Ufy`$d72+?6&2>-FmBi(6^g&@m5rNy6Vzf%Vth@>BHbcjxn4QWi{lF z>pa&}XLOZkED?4ah3{nbW2Av?8->bK)m9BBv^zPN_ zdZn@2Rj;I$`lu#X^wbr(uxu)rH(1oq$-m`-gq~KERcO6~FCNI7WMw3=#H8 zylk33eT~t8uCT4&!~PxuKfDJ@Vnm}lNIA)U?|6i!k=yu}hb(O9<(OxOC>F zr)K%!J#Lp?Alg2wPCXaEaQKk-ur-ve+==k`rCX`bbsQy}=I>Fy@;qvP`iwuFVPOE) z=B&ETe2>oMt%%wF-SYc&u!dcFG1VHtnaEj&zXcQka6pg065z!$VG-Mp8bF_C(2oKz zWOu6sy>wI1QfhbrqS`sGc#W*MRFXuGBu59Z**MRw`}#`zY*M!1gDF zmb_+PP3KPNBl#%OIx+B)b#L?o+3fT`1)lu0CZ*@;~c6}x%7ObDdL1wdAdfiZ9!O`7zp!BQc2SkLW;??k=v)u21u6)zM@ z$xn4PHJ-=uV+P*7Rl!$O0Y?k1hD%gRx|~bRb}RgDs8CFe_GNh_^fO z(}<5UoI!CKgJQISJ^$~^9&bsMI?R({(dz>Uf~M9|Hh@0Hz-}1s3#?M=kjq7jh-kaV z4as?+GBvg`@&ptAb;o@Y74TTX>M&aq9hgCKY>f$6QV(RD;XGP=(!k{WDj(#Qr?8xN z(~=9L>K(4Rc$LWY;Q{-h&d+`6ua!JwkhqeY4Hbg%M%f_V`?|3BH^FI?J!q7P6^*h7 zjqBNKw$-uSP3EAaoa zJ^z6Y^5nr~yOVoVLL6MC=L8$)1QmkAyGo~XXnYZSW2^Yn44eWjbjv0lov?D(UAbLx zY0dK>_jR%(s9MQ+0ilHpxG@Qqw9%Yaa)jZ0c-;PQOpn@WV-q|zC1&%9M2u}+nz`$| z&W69KD)zT=ni^2}O-KVV2KwpI!x;y7 zVgjCy!uL5TPbWIXUffQ2rf;-yE05wl_1l(xIbG9%ugZal0F%Rn%LvWyddfAlhK0Wtr%yy+p4LVsgXnMPP z+a|SfyQ=2*>43__aw|vxh zdnlfAbr5ioacV-kL~}WS(Hpk#ynnsf+Dv8DrS^H%@NKL&-ot`;dR(w^Tu`BvnDNs3 zioYxn3-^&+FZJ*L@t3r~N!gl~IoG|)ZXsL0W_YQ$hC%NQ#U)=1s4e%3v68+QDUJ71 z0t*aRbdmu?x8EQJuUUrLBWhmHic{O%5Wzrxkv#=fq*d9M*3enTgwCt)^?jF{6B zWp8nl0xs&?@clQOU6g^R-vE5O4eYuBct&5~^1%wIe_1pDXszR&g8Pnp?%fc5A$rF> z!}iAUXNKyGh+ey`PFjP!-di(cWI?YbEG+NlQ(>#(5Kyr7*~A&VRsSiRA>oMOmk*21 zqUGjC!lPe#Vd2zX3k#spqH<+`p3ByK%s1T1s5Sg7&bfKbjU*Dv*QfHme9I>OJ(*zYVVSMh+X;?HXH-^c57 z=Fab0(bqAdcu+ zj-IunA93^}J9>_z=j`Ztj-E#p2lIB1(>O<2V7iDO2)wI^KDQ^zUJ7CHEqN`hCa?^&~7W?pM}ggK5P z-0l$qK!MbC{GlH{053jGL+SXop1*~Jv&EvRCO;3u#M|43TX%bAvf`DNb~U<`wxOPe zp{%g;C=B`HPZjii{Cw4JHT!XNUlb?!vAHo@OsZon}v|g9@ZvRTDc<248H+Lc|x!Fl1r4qUkYn);IRr3!EIb;|9*t+_M+XD)&EJB%2xaQHi;GZ{9R~C+sqU23 zA^_NrwsJ3NQepZfe(;g*(29*6nwp%hNx#ZP_N!blY#V=-%7Zn~JW1cm&6m7YrN(n~ z1krFG2n9i_cfS_P{d!#X>)+MpJJE5aimCmc0lPKe0jq*mYJ(SCMAfK>xh!EWPnatb=E}tVp8Tjt)98q~B9tE;X&MtTS0&8V33E-t zT$?c0CCv2+^X-JWAz{9gFwX|=*Yjf{O^-*+jR|v8!rYuNwCtwiRDh*{*{5~sY!zdISei+{WMcNhQe=CAMb?;if$%fI{hcR&9g;NK7M`?GlV zsYuiK$bjs4wD}=JIttA^MWgu?7L&t<+wb-~BAw0F4NgBDv64?mV2)C_dC5%ovwv1R zUaMCr6Pw+XK3NBX6^4SsE_$<9noDfiEvdn%d-6PO!N4ILo#wNAw|u6AK&&i1t1>;c!8{Kr<$vIO@z zYA54Knx%t?AeB#o;`8YhyTtVnt? zG8okm^h+I<>I$5rBfZi9{&=J}9I#TYonl2^MLEtj`HJkP0fVWOa)lVdeArjy1FbLf zB+iVFNGpwp64K|}e9YgIj;uBxvf3#=^P;_|c{qV2Tb%f?EW>>$IY7EL|6^PSRPdWK zoLQQDzhB8O2*}&3H&E1B7K`r|0;+k0rBmSzagH>KntR+gNm6-KP?=j0;3t%Y+#3PF zTG`W(gg!FLE3AeCAGLSf6)J{}u#<^S_TdDIk)lhxpwUW4J}6 zl~Ic~nKlK#IL#^>7s?#*jBJml+WeC^M!U!>=kpM1C)3!rEk7VfIB!m4Ufg; z;c?X&MvF0wt{Ht)NB(DRelTtpDn`qvECYV0&wBVJAxnG|ualN*DcE~O+%Hzd&kSjl zP1t@aVwMRTj=k5eo^nr}lRcHG&A)}pv;^%%WOz_6A`dEcL$diL_&Or!klMy!lDyL| zN0Ki`l-zkV*vP)AA0xHBZ|WyV9o0AW0#Zi@VKn+7>V;X++$tZuN81*RyP##=O>$=L zVjSjSFU3`8o|jmJxfsuW5-+8X^kcWn7vr#`oITGeMJM57nc%V$F2tc9I40;4q&)DD zn(T-u^*ZF^$NQ#gNF5vO)s{~L`@9ZmuFWq)V~r~}<%FOuO|A;m4H=qWj?WV-+Vbfj z4)EB~&KjJaw1&->bSrg%eFr}iERUl#7)O(W&YAogV457nPB;O8)dBN#dGA@wUIt^B zawGDNGV-ZGY&XNsE_!u9RO{Kk)q0>de-eB3=PKxaKIqoPfe`P!-^R{+L!eN4RA_79 zN$opWWKoJGgVn2m)aJ(xVb*2sma5{9H54BeZeIBp( z>zTa)^CLNXGy4Ko`f$+7><{FItN0zEHXaVTv)3`D*H8m_t7J@GlLWkWPx5LZW(H`9{HJeEkF47%8O!u~*}HIbUc8a;2*D&ehq-#H*g z9ic1O=b)JIT~4rWm^jz_ARxTlQTmmHoy3pn>+&B29#qjB0MA{ION0-3A`zM6s>B4B z9}lWOSRZWZ&x(W|R1(&B8S0vSjo`&Y|M0hE^7RD!5y36W1$Vu-al7iG5>Y(gqX1sq zqYyoOkK%1jK!2qrq0qd4EWu~LpT!l=;h-`+p?Lc%8+hulaJQF4!mBPdJ7O$RKUZlwIALd6zDFY57mJ z`8G_;E#+ysy}YOvXp{Sk{7G;Qn%QL^I)z{_=Vn&$w>dZarF7468kmZ__7hWYdM%P( z>uOx zOdGbV5_YBy+Z}{3cN?bfUv&{YYe}=?0Sf2Z5}Chhrw_%umBHA@?dmO+?C!gKKUAAP zgL=Ksts+`z4=w(BV36RwsS5!GqqF`lzT!JiL-TwNcNpIAZyZ|ob&Ia&aF}>W2D1tcPAeN*D9^;26X9Lk;7{q4-#q0%7030Na}N*97kzx>jC)j{x7qoMkc`gf>*f(3+YS2#!HlXMWkMl zsh5L|mnrp{NWCUf3%Too6>Seo+j}t%91M^*6_YpOs z=GSOrt8zDA3*djdo3EDBuLkhHold16inZ*H?X*x!bfSAk_CSnDOpQvYNKF&Pp9aMB z4pUnX1^XDyz2RIAMg!xdzpcrrnjOyBM1h&{QI3ca|7z4ND4?=FkJy=b7+rHxuOJnJ zi!)yh)GIPC$FKE?Uv}c6MJusj95U4$L`g8V#6$8M#9~G#zIaUjvpps+@i|BZGd9a=Nkblkp51hK!mn-DA zD?!+pfCbj3d6D$hAp3Z=ilxS@K~HvGq-lO6{V5X9a^k0yI6u;~Ad(&)qQujjI6UOZ zE{HU}5lLSQvcp&;UL(jiB25b;>Cce(At!!Di3=mejPUN7SrmcogQi81^naGve~+*6 zKRww+=&-9n97e!R{Gy2M)AL#onr4F>QFEjrO$!(_=SLaDil!S_gDEh>z#0sT1E}!z zAWm^umu;kBw%3%eU&k0UnMWB`YODdq{ArNdMe1RF#@m_*Qveu}{*oObtW2Lfdyvs^ zquRreA&GrdjWm4I5~@rdZ6`n0D|w8a+#0e~w|gZI4?&XYP-Xh#HNuDR51Axs+>b?i=?!3PL%)=^}=L&~3g&Tz3hhnC}?h?3Mh4o!s85iN@K&1YhmU6*zmMD6$9+OWi;A6GV^_dREo4j+ zxRnm#5Is5CtxW2Y`U5S4x{;$`PN{)&J*riSl|2i&F^15hBXm8M?w7esw}Z$hYUU+-PFFRB!m zXHTUfS5Q%&4oO{F-dJ46W}*Sy3=PR!nerZkQjy^qr*FRiVp6F5N`QNRl6*K<9>2q) z_JDk`MyP#Y1WpdwCohl7UCSf2`DUEJg&emZQ$tW~sCXRsnjy~$X4-*SlB>UNSeeF! zY?mby${ir#snd{ZS8c_%N=4g07xKEjzWdk`T~{IZnqj`gQ^kTAxTZA$ZaV$ZS+HPThz-dVSww2QZw*Hc~`^G9~pfyg5?%7h@B*b5;bPDjO<0 z;&>ekP6v%Nudly@zvZE>qPU$aCTE0jZ!yiuG80**JMmeF&j?|=B>Lp#kV@#JlG`ij zMd*H{pGZ_V%J?M5{a(#3{5J=n>QOqRdpHENUq^-$3M7PMvHREz#3oO!CnBA7z812i z@7VM_BRS6~e>bP7jjx5ggGC(nv8rhtrWc3ogvP}rS`_P5iFET#kPfdv%HPe&Wu%+? zBHdhp)FqK_`7M-g=|kz3zDT!JAazTmTYn3sTl-MDwJ*}GWuzE>voZX)e#2B0ta^%;!AzQOfj=`mpeJlawJYE%_#PXAyOp|MgksPn7Eq_OhKvpUkT9KgmF5hr<49(Xyu>Kd4uf|s2)0Cdm%PNt3|WY0_vs;wdWc%2x)-TY zQ?05?Se63#aIrx`katKpF%I=Ppm?-4{}w1-P{AzUU}gy|VDn{?ScQ{!NI}i$i6Rbv35{o4kBu<|fw}inIv68oA$c zAlCqL2`>g;7IEb6lonPfn0Yh8J_whFdL3djo@Jbdo0Z%uBO(e|g%8Vlnf!?$g)p!& z*MU0;`}i)am|bJ|U9hr?uPAa_y%LJt1j7C^gqmMt6s?z`9>;`e z!fNRn)Oj_h3=oY$%juVxu2n`^$X;dSR`@dioZA-072BHfN;+Pyr2kf%e-K^~LbyoA zAy3m=5%YK`|5l`FNu<6fza-MMG{R3&vr8jQ%Ob)K@v=zMavB2J<&mZp5$XDAMWkt^ z9bOq}T4je6C>wUMTEc6eQ+X}uj@j}f&lWZxDqjaaz}SmM@)+``|j z{m8$qt61#q9ICC0z>5UVSILD?v9Uml57MmcghXapgs=9k%(jp)w6;7lusgRrGG5p; zULKJat=__7H82@;%}d6~dy`Ux~$gob@W5E8eaA$~D|SJw?(6UhE6IaeKz z>32d^v@hPohA#f4+sYNSUw26W%y=0@x-@gWnP}fk0{>dB-+&kf%eqK$0P3|qV)0+f zRK(vE48wZG+atx)cFMLYLfoIe!A%222GSA(Yc>-SdrHT}{RQU7My}BmStGl$f_fRFDpnS~cHj+V)3OK7 zy@ROUA*et1!5u?Y|!CZ}v*d{LTJiXY{97 zl81?FU<<5;I;z>9q@EfEm*_OuC`O}g*f0`rs+xU#q)r14VW8~Kmf&Qpxhgd=!Acf) z>00D}Q&n}pChRj2tFVYwpcUT@d33i2XOeIZ?fqJ-G?r(ZSnskjv4yya=8fNWwLP~- z`!$gs6WUn$%Tl<9LFc&W~qjRGu{eI09DL+px}#8d#Tw=(Cj+(V)yGnb2?{IDlSBtpD zpuE&jem6c=!1A?*L{h}{#Q?U*ussA-)(0g$w=+F>vQk+rZBYbyXapj$j)=RFj_6lN zn#LVSv0RkM$lO7cwj-t=GSBKv??T`qO*jbPcewJBd)Vp4;SB0bPp278eE9D^F45VE*N4gnEyB*jqfZcU-*e!tF z%>>lnoB(m>h!Vwm^M1%hTc#SJ^Is@Z6$&LP62|`+*`AQC`}z#G&x7=D$bXQ`m&1Kj zMHB7gQXzequhp=)xW6nePIAP>|D>#2f%rgKTr5QD^?U(~`v-h#6A-GmY~55*4u**R z>kC~KSI!T>uu5IaAh=8E<5dMy_+d}R3bAjK?uZ%@x?```2qnJl2IWaVfUk`YsM3?H zH#s?>m@{iSh3ZP$$EIhdB$7UoALd3E2#124I5m-bHi5-pyl@Lj%fYRJ9z23VMt8Dg zxIkO@TNUr0sw(X&WC{_yv&?KW%-MWgP+>=*ihZE47XD5H?wS>~UDEmt(wbO91x9H^S2?gEyCAr4m%5^8<4`w%a z8EUG_;O6~6G_UNOQrXho;gH)S&#tJwGCwXRCq&eiA9t5<(?H{IG4^(ssynFb8wa}F zRw>KZC`UptGWeTbZ9NZ$%eakO=IPyny4M7Cf7**W(C}srOy(w(4)d*=4hqhsAk!q0 z5f`ZgQj2x2!3t3W+-P#)9jaJDeOx*tT~bp_&H~P5H610G?JN|N-G(Z)o2jpbp|l^$ zLAt!A*(+?Ad0}K3mdCv8jX^k##KmGum_#}@C1~Y7^0Lq8&IHaC`SgXx3nN-VmFX~7 z)^rG*x%V7OVJ5|tawNx3weL#y$17LmBR(kM<^fIh6o|EFr+g!*eZv) zM7GiKf_@_8(Y*e#Zrc<^1GsD-r{aPEIz}p($ugkio2oNE{~ZF3u(jn8wzfbZ801j@ zSJLwn=K7lC{6yK-)`A4=KC!JWYzV4|z*@iGUj-`H2`ZaCevhE%ArH5E^bcjzZm6+e zr-~13iHSG{xI6>AQzLYS20ZKzH;QdTZ)#hmxidKG!XAPuYV&!4Ndpr`c9KpZnU{oQ zesfG;>V?V6zN+}iEb%L3{y=2r7pu~Y6%o0Smk8n^n`$KYP<(F?JO33Jwrh~G5IRcA zq69pQcQ89&%WxN3xPN%%P;+l4cn}@&q@x^vi{tRor-W+63e)#XwwwDj zw@SwYZ8zkrSROqMgVp~zR(%SK znrkVw!UM7uPK9VY;Qa@iMdX$xhS{q8%M-(Jaakm$LhBQa1M|2mO)J!!iAI-d?x;!o z0N&_R&B-dl%Q-xS!z&Q}nJ2X}!3K#!P}}{UbLh9tD5Q57rrNl}Q1jbGq)@}Lf{0ln zW*I`JJk2F4_Yh_o{%6(YI4|5z|XBhd9Sk=rhOJc%hYLe5!O7fJUMjQB1{y~t< z#i0oKJ@uiXT5R=ZKy+=j*VMPM1i3pG`g-L|yh7Hpb}!W1#`a z3gRO56Q=IJfN-8qYUyNZh}Zg5MwG?V&Idy95ca^MJFR-f06Fzaex47g;o>2S;6a1! zO;i*Igh0bZQlsadjYZfw7!kg+Mm)~{z>q3h7x);CZGUiug!S)>Ayujn6U6|##O?lV zS^X{t3)^ovV94CrVhAxSTjIZ|_d>{gnahB&+sw{Ta&lP7iwpqC6+>JN3Y9|K;ti>z z+~QY4<<~2R3=4O@ctO!CQC>-1bIxZEVgquWfoR{rui&W*38C=MdWa^|K$G(`U}<0v>9G)n+}rG<|8?6E<0*eEeci}hFfx~o%(_HoeIj+;fXS}5YHyXdYN7Dk=;QsycJ*QH|Kh(< z*o`}96zcL94Y3h$C0l}Oo3Q^l$=-6E$CiudkGZQRb>2|rrXks5kcfoM4BMycW^tMY zC}HFr%LGIy_=S9^irCuML}C>!YHugZ1<_7n58O%GUDFv|iT3@-FyE)K`mwxEDD=w3 z#`G3Mg$%H}rqvuC>tFzt06LP_h;4mh+$_(Y8j)x3P4iqpZ&SwHWkc>+{AgO*c5R2Y zmLZsxY}AJ|-l_j!L^Ze-;+QkxyCm`Zuon0n;(cYRZc@UJ6>S5p2tSo}8{VOHvA?p8 z*2S+W>uFsKD;sHDbSax?n-f+xClr5J*^*GS?W!`e+AA(|(!ZhIL2Iy(`;@SMW;Ff= zuVve-VW$6f?B#@udz>nva1ydpR}D9`B1F6nQK*Jg0- z(V!d`aH%0I1b$)+6W8^h@N{Qytn^)Q+Y5pP6jSGTri`w}RR0$HiK`^(K*61(G ztVe5Pl6=d|;lcdr7!Br2_T|_m@S!KF!H4=2%Tx*Q0E*rrh6vrJc ztdGGAo~*{A!-lv&HgKd{Hf{N_!5L0eOdtxt##goT_~SfqjIWmFT5y^?p}Nc|F9LdE zwY}uOD;e8=)#l%0t6tSMXM3UA)~bFoSU2Rq^CN@s%}~MGUaEF1b#+vPr&WZfS36o{ zGb++wt_Z(U5q`BI{8~l$^@{M!itwz8aA$R|Q?%J!M?7cUChORu*5=2d7IP|UF_#C; zcO3@(LQpX1=YupSo(s|do*EQJ)20SnlI)={`BG46N#>^l*E}Ak{m}3*idD!x7qp70 zx%>!Xe)SFZ%NG2!@j0Pb$uW1{l?1B}V#i>2pCwX%T%VS`7yk z5#fv(MekGUCx;NImATmdRNXOEMl;sDu(dXn*l+mLbHaL(Ex$-uOQ}!v>=D0Q0oZP> z@HoT*DAe1JVtmBFDPGj-FRn6U%?acAfpIV6_pH$BU+gWqI44ZSRzcJ%bxcJxaZFXL z4^=we^Wrooi~~LoVotc$=NINb-=$5t?px)sMMkp4Fk*|t;Qg08Z1FO)1?1gw>4o8Z zbszXE9i022f@iYTp2_wsm|%@}vaK!V!*%vtv!AzzQ+q8a^@^vxS2Y~_e<|O49El*w zi%Y=j1y782Ek2Mw3g!ew;(Qog0<)8m!c>@w4&pjP-ojJWY$o zlCZSaMDa5sj@t;9MsW}O!f^N~*Kl~=+z@QFO|7*;oyY!IED5un*>V}N_A;kcxKS$? zl?G?2$xnprrkhlsi|R5l52N7OJPk(r)8KG@Hj3luasz+b zSi_+|Z|)KbCET;R^iZ?o+a?$TP36pIu)AMw=1V>e1lh=Lt-px*=oI ztHQJmULMY*(gV|U&eJciJ67ieI>G4X%T@nwN`}L zy?G|NB8-*iEzigCZOyiGO_ho*Tw6E`)Me8vLD+XZYuX9`-gWm3ZDAN_@vd=MH*pmb zb8dVE;(0f|9P#(GYm|$Zg~jUF?y%Zk$!a5s)m}sgIy|h_$(*VSu^Rf)ZV4;tO~|y{ zZD+Lx1;OD6R&j6yf+`0`B3Qz~Q3zh- zVxtlKh=XGgJPe;e=25-kZuShv2Bh>vS5$#NGR#{)yFNC@#>FV()VrMdWW1qQGfkT2 zQ5`rz=kf^5q#7P5HJkc2l-?A=)ue7wiScn6RrG(u#jPFn!+e)H(T}W`*F9(j}HNA8{{x2=P`5y~~ULW@qF7*@wg@RTn+*BysUMSpIC{V)I zAU;ri*Yy;rce!Tz4_E2?G(6qilev?y4YMeCm(Gc$3T}PP(MEGeE<>M}15q#(4RLFU zFrv^=D46R}kxz3*0!{Z-1tO9Z+f=d$WKa4@zUB{Z@Ar z%w~ovCjoz*NQX zTBmVIrvZMx&js`2>&~~%JksV-fAGUG-dN!n4>nc#Vw~@Jt%JA`4~iS{PLNFqdl0`2 zc%aueQir1EmdeDTsC~q%I~=8PnKKkViRbwxM*=olaHy-&w@zwd)6yhVIS$N0g%E@w&m zNG@rkXi3|M)#`v}N$cj7s#+{*sh#2Mz@4uef(n}-#S)uT& z;(x!BmZKbwKP@?aG;#dvVBX`JtIc|XwirS!m=85Mq@QHi_gIZ{c3fZHVeIBh zR3FDEw(jG*=;4Q+5q!kG)$I}Nrpda8w^|=-L2B)X*x#^va;NBECwCCP)>)&*Hz0W) zY7KU*rhGthOC%rx$qNQ*I;}x>nrC|_X8Rc)N0o?YZ24&fZTaa>v{0zLcSPjK=2(4@ z_P{v&eM)<_^4_BFXEkVA59STt?l7TyF5zXjJO>K2c2KPy#JwI#tj+?G4+ zmU)03JiyeLGSMZ9jw!?D`kYIU4oQ&n4ngLNhM}eD5ag3DA;?&VAnhQ?XC8uFEGEc7 zBFG^o$faut(k%$mEeXay@)DqVY&N9kkEu zUGCiI;<+J6S9c&hCfyYV@CM}Ta>>_KM7}PUeBE4FlCQ@lUza3b!6DxQ(I0{}>Nfe# zehK-;Ipo_9@(t77Z{Tnpw=Cauj|E5Ng~u@*^^W6Mcp{vstF>kt>60itLibCP_1St# z&efj)bR<_JJWU=An+xOOoSUtNW2TICGTd0(-oG=;_3+x9ct7kL+Nu8v+xc2+mIQvx z!0!p*Yy)_tbL2;1g`oWfbdJn=nzKd(aIR5_164n&6|Pyc)K$pejM78FK=1$?PbGdh z8)maa;v{(v5urLp9ey?rLcwA%MV=${9t&HCg3abe*bJiZVG1vbH`~4rXy8=a!XX{( zJ28ja7G$gw;Wpg*yU}HE6H667AJ6j>$>O+pB3Tk2E}d20%qQ97xZ@-=Q@LE?gK$am zOxUmUow)!mq*F>JV>jCnKpvzaAI^fKb?72jvlohdZb9N)6t)fn*)|qR`LoW(2LFsl z3*9z9l|@YpvfNcvgZBwtzKimp@QlEXi$)OQ5efwbk$61ZCd|3h7+V>GOxIeZI&O~6 zg@+1VN6NG`E**&#S4}A|N&@(N<8&NUt0gBbvr8Ng*Z3DQ){`HGS;_QC&iDuL?z=!vIay z?Qi{g`K^DFzV$~i4WH88g?XBeRnxfyoz5%8-+rN$fb(Je-9O%0Do(@fzzp3rJJ6&T znH`vk3QPNciP?b(ifzFFeVgT}YIbo|bH1{wiFQ?=p{lu_s^%3}HUBHCnq*gXk)Km^ zS6KBKJs1?4lKc(77Z1P9dO!(=enV4hbcMN^d93c)3f>9TtupFX81=)|)Z7a8ZPEWe zrGH{>MM>l~TK-u*wO{@5U}}B^<%F7SYMzr%s+_mz5RZ+E+ShRHsi!NTAD!IGmO>Wj zP_7J%3~TKV)I#pm&j@OFg;HOQaObE~E4`iScc0RaI|a?K>$>7<%s&gn1){`N7nrLW z=->U530LV$z|(UcJT1Bbo}TB9_Jg&LE zXyPZxB{Z3Xq5mlc`bwM-E3U$M6z4S>fr5%Lf)$<-oY$!PsPF~GKEFZ0Pk-H7+tz`@sMy;WZmVJ~sMZ`lYtS44`Hp32YJqTZn{J>GFk{+oNkuugeHDirdlV<~djy@@(mjl4dM%q!aZhF>g z48giE-@^z6DO{xy1aL~$6P%|(7$v{q!S@ixsTs8}^9Fi}ljr9fSCMY4whlkJpA z0$sy`5bGYR!o-UHW9E_ZHjhlO0~1AnYN5`2ruCy(iKt7YPqG7JZLZqNJOR!Th6Wl# z;v$SM?nkOph-(|?iV7SY35Z?ANVOj&vt>M8v32jABCi+0glVqrHVfOZI%#zQ?>&s> zDmN|lOog;tA+0X# zl%*S)EbLlla#?FsC^294*XG%#U!@Ctnt-VR=Bx31v#<`Bb+?pF5W30fc(ME!Ope>w zE4gYwbvw04%Vb~-CS%Q3vjZ1tf%H=}N+p(2qgo%TgJrm0B8i<0ixv!1EK!b{dV9H_s7XU%pUPu_o$FWyK! z5wxyE8-LxAGkzgNssYB^c3<~xJ7Y~z&Gm7iKY@$uqvGN^TlZsYjA3qwqZ-l zXi*iG%&4x-ap&r{mqRkWL$@V=2-^lraMYTcWXa9AN2ayY7QMMD_s`R5|NK`xW$Cu) zO}B1~-YizD@1LQhAHg-ShqVsru;+P)%UVk$YrUWnPb~u*wK5wmRq=58BADs0F5M3D z4J}gy2k*oR)iso&Q42IO)Be+z-LqkNXQgZ-isM?4N%SzCf7>(GGF2EyfR!K77(>t=HE%6Z%`I^WYc{tM zl98#|+-4tpagR%>Y%qaWL5>iRhD=?udZ2cF+&jh-x+{BhQg@$1PwCePWHb>0o(GEF z_n`O#y-1ONHPS!S;m!fydY~p_tyb|T5cH9^>5sjU)1H2u@$}=9Yx^;i`tdT_`PB0r zKdVy#tZC>+F1=Qz&b$HwucOA-sVoG{cl`vw#hVT@Ei5RzPR-`(3z!h+8TfZl?;X;? ziW^AHS%qkp@52$PrmVTCLppMZ;Tyh(&3#rnw@x6^}%pWrQi(_9g}E`5x<~e0O+s_X1V-Tg@zRs8p(w|=hc`_Fsb1&kA;?5 zSdZ5L9anVMM9Wp35ZSBBoirO&;Z6e+WfOAu5Pd_vU~%KOnZ)bFqlvBfZ!`YeqWT1( z3)E()*PZ<0tiry>dNr|L^(AISlpzDKYJE#WxQdocVjKOB&Ndp}f+LmG1~svvxS)V= zvsCakS#X$vZbjLMLX96<0J7wE6&)JxCMz{1P#BOs63HXnWPgqCy3!-v#bGto3Q!CZPN?N9^5ivF+V+^8iu7Kqj z24Rd%YM#Okfy79nCfr=WqHbz{UD=Mf@NW}>DpEtBp;t>o2v&ShsAY)G8skHT40xcl zR%b_oZZ~$K8;~4opp|x4oPO+bQVqzrdus;h1!HlHZ}ldajaw6xSb4=_XEwMb|M@dY+Pg8=N-NaA)`| z!!d3025yMnj0@8yvkiNzF*fGts?G;%XHdl)1IntzPJ?oWIU$_R8H4hM*{G%S#-R5M zbGVj%&luEhm?O1xyD_N4Fh^_Y4rsK_HE35+_Al;Z_FySVSgeKW7ak8iF1Y*G-cnk^ zlH}uJzPhYxbr^l5$q^;;Uv7u`%abwabdHbt{DXb-j1p-~BCBR=l*C?kWHP@9T9DAE z4O%YCeq-weRf`96SG=7c(kH}xiHR{5Q%p?aUw^YTIflIaK3Al~Q(Y^3-IvrVvAe$q z2YORtP|cZ2eT(>>is1$K8KX#2ui3D#wx-3ziu^RK$XOt}#Ub}%huj@R?q`(r|H1u% z;eI$?FiJ`SWp@cjdzrfbFeg+brpJ^YDYfwaMOy=OvO{xTY} znq|qiZZ!wNH?#tIZ`le0Li!DP52!5t)~!nEw}Yct;(zuqR&kPG3l&&5l`f1dG&B zPdqSLeysuF9I<;Z z1oOlwGS$RxxD7IFr!rk}rl=H3dev~XpRf~KZ`cQmd6LUph|3?xRghtOtJ?=}bqC_` zR<{qIf{g||to()MT9Y_O3Q5jZ>D{I~j<0duKEpg1M@qAKNU*CEE`cU^08e9O$a6TJ zZ3tNN1+wy~E<;3fi7vwr5tFTfh5$=fy;~?`@;_o1i3Xh9-~sWwx$HHbvODwA^W71A z6pxCX0p8U%8$~-|1O8cQHvEJLMlU`c4!2&M{ivFmPNw6l8fIAq5#o z4IMbt*EqC2lRU5b^n(z96v8g`*kO_aP}d~X^~sHT1gCSu-7cNr zYO0-T@bxf1jW+~DJqZQUNuR2qhJLpWe8E2DmWBt@s&(Gq%0EzG}KSbMdQzgqbCYN4#BknAbU?I|4TDV*skP$rl{e$&9+Q)_@P zpRhdIe4Z78T0{v`=@4{S5A*_U{#&YwEkCtsr{j`r~_=w@q zdx(%Fw&@K5Ux+*O{x>g0gG}I0TzZ4RpSkoN;N^x=Ch*0$LvNeFR*@_5)`*3Q zN9xTUl&MEMR7Ns{EWJh zynz2c<4@tce7ZTsCj=VZ5uc6gFK02tF6u*w0x(St>eW9HbGM-```F-Ur zvNF5!GP`n+I_OQ5?ATbvxZ6Pd{VP=CtlYz@#LE3oVkWm!ZMGO{70svL+ajp;Z1VGL zB3#_OzEJT0Q=#y`3WfE&!N?d=feQJ`Je0Xel=+CWWO@I$qi19 zLxDEOCHkO5&R8zZYM8^T;MFZ}Ku8R}iQuIh`aJUc1;xjlIigDDC&uIa?->D6S8B7C z%@Aop88=#%6pW@j7b#jxA9O4!1B(GwZwA zTtSAtZicJKu+Ni$YuNAX>ler#JWD+o3iD=s1M~px>kq*2=>cO})t8-orSHA?!R zG3by{<4+$l1|2qPO45goK}U?5K>CO==%`T>N*^@_9W!crrH>hdjvFEp(r6Gly0 z`h+p)B+Q?kGzOhAYI>(n;iPb&_^PDaLCZqfspqIuJ?QU24_Xcx*H|PTrU?WU_(g&b z+%0^!co*JehH2)gD*1}3S%si9ls38wTmP)k85a+Xns}DRQ*?jf?Dp9hzun1d##GVS zV@E*T2#Q_0{WhJ!TGXf+u-E}pB|8=Na@42+D!m+y(8MviQIijuM-1DP1!}hsY>nDb zdv-Qz)||?r;`~OX#KY=Qz7AkB_yyJaxYSx&1`E1W!`Lbq%Y_TpW_!H3#PE>Pcvoj$ zu1vI)4cA&~{B5k$D4rpyxu;ag3v=)x3m5g z9_%Y2NSM;H12rfrYdKt9z-{NE*ifu>{gX{vi9Q1xRlMU?YEJItY)#SsQzV=(N|-|l z4~T>dTIJ17f~XcAJ{QH3bE(?zi%gfa%D&fRO3u^#SQ4`=9NIJR73!p zAhR?GY*1jP2C*HkYhsnuam^>6VG@33NV71UJgG{az2|Gm$r>A+;RA4`M3W%uSbGXz zGUSWyb%~j5vYE?Y<}7zgLftAxZDloKJcF8?TqUmfBxR^z3m5#Hw|zg99h*{x47S@7 z2Yq7VkJV~?^~5)MY*VTmH9Uo68?{_=fyT1uJTY&Ry%ctV#P|pg$%PtoMUE=KGnnDX zbdJ}=+R)>EgT`xk;xd$gjqb*Xd-pfY6CNIMUo}T~!XqOtsc3m~>KPremzd|}67xKk z7_1p%JVnMv{Qgkr4#(B!b*?*$;*$;R1;#}Jp-}1LY#k?f=MAmm*cQP8_p(Zyl3uI{ z6FJXo4=VSJjo9uRGu9FfDs%mk7Xl^4fDyrK0A~ZlUBSgMpYm7Vl91Zyi$(Y zG9dzCps)>3ZYbwBuxp?j89FI~cV*S7Be|)Zo$5sJ=vpDc$sOgGNK-g(Ur01DC)!0e zbCIbLT3tewvPk2vAwN!C%5s;Uir8<=NVK+=!-7dMY#U(Hi(#(;HlrA}1+b=K*z17J zj6ebj0#~#)?GD!Q3Z>%01$n9^8fNhz{+=znu&HUvH&l2V$ykfEY~x*GmrCHqyFe1i zoYXz7)$d~Qkl7LYx%x$(1EVzj-M<)bdW$d<=6GhpTqY3Ys&aYa+SC)->VZ%A)2oqh z9*;oY+0ADj`v=A>Sf@@b8g+8b0J}|>?3S@sYqVN!(2@r0*R?&SW6@zJg{VOr%nmHdSB9V12w`$HX*{Fdcs%iFn=Sl!J+Uy3nIzO0mVk)c}5{`F#N|NKIIADa$13Mn(tYM z#a4J(YzbIwI`(tVMcn<|qDYB!Xkokj=KY+tNi*kGvF?!1_q>NC7f0+}08Y6}BA#8q z3!YCyt0%nFS@u`TW&Z^z!-9!l^whj80x1{6G5Nej%jDBrk*h7@2%K!ew`sW>--`H( zi2X{w%6%no#c(&H_)1SBt9bT$wy&?t?dx`IU*AObmm-itd64Z?yPNx+Vsjs~_u=r3 z`Zs)P*r_2^o*Lc~8!&0^J-vg{Uf0ZdRoL;#@A^)$1L&WA1FgLrv1MK;L2NFNH@%B% z6<>a;VLsKcOS9h?S4SW&z#1x)_H>nFI*LlUP2;7Ghx=DqyV(BOrs&&IBklioXf3y& z?6t5N$CB-u=c6lpao8Y;7T!XWTa*^XGFk;Kd^uY9-qfspy=x_!*uM!?UW)~9Eq9?^ zk$vC|5q0_*xgkovgUui{ay}@GkjVqmcCfy2GfoOYwT~>+T;-q;TeA$ZCEnJQ$i2?- zi0EmyRLPZ&iY%z&x^@R$(84NNJ%ixss**RT11lBbbL|bSNvO5wWX5UB**z6SXx{Y* z12O#s{nqgkiHinmBWr&!Xb=c5ug$Wv`K4toS?j6Li-e9>A|;_<=oLQj{^Wt6#GKfR z*OV{7aj<6a0>S`V%O&2`{Ed2NUOvs`<2-6O9&V4B+YNO#jTh$;3+Yn4- zG{v}6V(&RhaM_T@a#3pt(rEk*K}py8wld*OkMb{KY}?+S(01Rcd{y&m1ajrybrj4y zYl7$tgv#>STtk2c(3035RPdZksSSZ?!he)6-c=~z`EEUbL;fp})>a0aZUyNzM05gB zFc8H!=cVSmS2^j`Lgfi1-qjTU?0gZTA%Ku#4}d;v=2nJ0eh| z5^B#_)_1z`-H7i3iQx@4wI=ojs#P!As#Q6V{0+}{?#)Qi?OYd@`~ArDR>UzY+C>|h zHEi(d?PB0s2EG%)sZ*7}T>s>&er!$Ojo5F|0N1~Qy=(@nLa-vWHdePT_VcwdHW`-1 zCau@sy8=#6cmD(ZTdAee9ucTaP^Ym;e1p{eL|8*tds1{NP`{{qy>U2Op_@^pU|2KK84JA4)&&E4^X1 z9}Tgr2Os<4A0Pfh{o@Zm`bS^+S5@W<-7v>5DV!Yo;A8aTQ?Je8DgN^Zt;c=-8&>hp g^?w{%|L31S`p~1kzzs7boH%E?herQ@0pzd*3MY5H)Bpeg literal 110762 zcmV(#K;*weS5pcJNCN-tdxy z#krQHD@#O{R9!iVDX&c_Y5EE+p_F~8343YTq3lp7r9f%zu=TZleWfieef{a{zP!FZ z{&QyLF0$o-KVRKh&YU?jbLPyM?cDvu{xd=XcM!5bBJJUYgpg0wzDfx>wUkOX_qE3( z`^R#5tr>i$t`Uxb*Qav{EpzHd6A;ssv*nz6dP}M>qDJC5 zb$?`Yq{U3npg9Nvr%Xamw-hshsW&7GV;hU5LTWq-G^GI*OKeSoD2n4FxvZ8^OQ(~>Q~aa z!oFfIF`<@}y;*gi(pyq8=;&T!5+yNsV<-i`fD877CW zBGSV5mVI(?^7g+@93U&6f8RCml}S>(_U~tZ^XGSwT|;Nm;r;*k;#J9Cp8kUc#Pz!; zm(ANfOfqXB!NI=}*F-N_cHJlI-;Mo6$z-5V&wbmz?*0gQ>Bkq{v*hD%km!aHzR|wLQ2hr1uzt(sFuoERdaHh+-g-hWqvcF(m1b}otmy74KtNkATU=5FuGxUIE4jj`4a)CTG^CzYx|e5* zRiimrhz+2;qiPwX1FL;|HlHmAAVsOn3cWJ{-fSLgLQV0i^e70!QoEH>q0A~a+{YaG zQG-+L3P`M=9v{nNRipxid`l{&rUnWOyHkPwpPGQsP9R!m25%v6323_fs2XS)(aNPnvfN)RWy`9Qzm`|4oJvSpQ_F}|Rx)aKG*fme`?9HW z#-1uA_Boi-$s>GYi9BSO+KFMVLcUMcAemo;ZeuVjtK~PVP8_Ua14gZ}O0;X`LNO>x z(@8FEiSzo0KGy@CBslou1TXiWaZw4oS+xI0(d0B)(%clzt zwNxsUYLXc>xhI~@m7$-qSj~}AN5)5;3J7ks7)taYT?G-fMMar4+JoKWG zLayutdPmjL(mA4=d9<%11-WO_S*)&Q)kH^U`E zc9f7CT}2^hY`|I}=-w3~&66?&lFazLcfX5sdhdScg&k0^{c@q0NM_3u^4_eL1ybB1 zK3R706v?t9kt=2r&XGd7To?;!GxAt`tcG%q7jfkF0b#%hEN=~FwJD^oOC3UQ@ zS4F2A;#&()(c04L*mP+M&D_e!kQGjjb8jLyu4-8Fo-*hkqOvBuJbDMly0N;L%dS8z zIm(5BLJg5Xf0Bbi&KSqF4$S6qh?P35`1d1#?8IlWL9u9^mC11J%5| zR+-1c>XkX?syjA1NX7m3Vs2csE5&5lUM}?Rw<*Q_4pv}bdNon9L4;djPHeA)CR&{j zq=V1{msabQX0)d>wj}=`lb|*zgRYhP&cf7~Tow2^Yp1uHg_Yd~=_Qm@9MO1sN zb#SYXbzvd+anJzamrtr%fGdw9DsS7`baubqko{^I<)v1m^KY+ONM61q z)rp~M$qx<8hYBW|!N(k7J=myqWF;=BT^e*e6#D@kh=)6Y{El;D&Jq{yFhYz01$)(j zi6RVBDYXbA1J;PMWpH3yPv6q*fH-niDKW08k@MKBKpoMbnhT{3DRs!flzneDpUjP? z*w`D4cf>l|mHt?7tgmIDr_UZ~ZjLyVOg05#8ApIl9Ikt|2F8H@OB4P1L=klSvK;{& ztg6FhKr>JP7Rjc#RI_7ixVu_*L524YY;(g{&f6Nx);3-$K_y|{@{U+ve@9QZ?Su_Y zZqy4pQPPG|Y7!)hS;a0Dxd=L@i0LlmIa6pp0h-;f=Co>h#|A_12thw)g19rQl~w52 zftL36Si3UNqx287Y>jz1SO*L?uC|`8-p<%SEK;cztXbO}VZ(j|n$rth$s-*&_+1`~XXFLqW01%UNKz$WT$5rY% zYt}}RiChjTM)KFJZJZU)^aTXq`RoIY$jM>dd3Ap|jw<-cJRmAyQUw)>DFab^MGa1< z<*11YkwlP}NqIxeF0RI+dX^s6;4QiAXx=r@)2npG;sY?4fj7Wn`k_(OE?{?8H}Gs* zOJ~fj=|LVSHQ)!)qdB=~Tqb7B=4`p8fAdC|p`NsHWE`}XY`(r?cF}C;?{$^oTq$j= z46GPajj{5$N}vuDg`n1gwBmq^j)7#cbwbw6dMd^z%2+kdK6Ny5pjn#pB9h{LgJd29?)rohq%G||Y=eYE~N++B-Ho&>G@nR9#e;zdK z+2hbK=`2h=u&J?W?Zt5|LpL}8b+#-uH#@a))as=T>l|#S z*~OGg5Sum-ySDuxdZUqv=7>8QVdHLd#1oD1(YQI{6BXBwDtA~6BxZ;=KG+E(URz%* z)?Jr|D(MGZUCs9w#zBzcWG(<5s%KwbS32xv7((Qc@e$OcJxLq`b2ugj_n^O&=ry}V_VQC)1{3G-J(AAq2yN;pnCB3-SKHTKA! zk+t+ZNHAE0!nFZ`(oiHIcxpdzKt7QR$Ap8iL>ea^&{s5=&Tp`zz_ab@>XhNZ5yGb{ z131pwBBw?CI_M~5TXdhtxo0R6stAweQ?B#a+`f(p4xy6=o9o$kIq2cmiZofnnD`X^RvMg?fX1947s4tY;7_Ff&5Fx3@#n zJ5VM?P|w%~t*y~!4>-HB`Eii*=%QX3kAupaX)QxML=W3<~wenG=Z%FP7D!i zVS45hk<1%>GSD)+kEeQ|NNTy^XD&~ zf82uQ4l;k$f>Rd69ArT^Jm)PqAAVB{GV`+w_PEAe1y|8^FpHPdtIz-79G0+K<^chfkn3=Suo7^(UX; zUP;&DyLrBQ3ALSa>e|Jpo$#sYkZ?WP3oSL79eR8kQZk zGOd#x^JHheY+E2Z7s|E<*|tcQm&mrIvMVAxmdTzKvb|CEtdza0WzQPfvsU)3lRd}F zG%9=6%bpFgYoqLGl07HLo=vi6v+Oxh_IynCoFsd;$ew?ZT_?+qW|^KU`_{<5(`4W2 zGCf14XUeoi_O;5sHrdxM)3_YiD${LpphNbz$${;1;4C??K@N1vt}Z#$BZqqB(AhHW zlWD(92V^=Zhjz$xrySZPht84h=gM?QuH7xyDl#3GX+o|Yk*O-vv<%{W{spo#Cojm$ z3)Ai#buXlH!^h=@lH8!l4Q07uTyEGaH=HRq?2{Yz%MBB9!-aCgC*+0}x#1$Y;a}y3 zPs$CSk{b>{vQJZa(P!Yf1fDbGMF-*aS$GandC3}?{u`BPNnY}KcwGu1m%;lB@O%-T zae2w*@Hz~SCNH@HUS9%;E8+cRc&>s6&@Z_f-q*l$Ej-s#`MA^N<4%+54dA;Go}1zM z3YC{l!uu9@AA$F+@P?dk11BcF9lUqI`%Ws`@1k<(tMKfW={@lJ8a!Wz=U#a31CaaS zJtBu50Oy17JOt0fR9^82ydQ<<8}K|v<;KV1{RBKu!t)e7Pg8m2v+z6z?r*~Td3b*d zo)^LWZFs%|&&%L{1)f*o`7S)KLD=`;{e5^(!7~ldQFva5=S>KIi^{9shW8KP`FD7J z1kaD*`44!00?$w3c?X`K!}BgYzl7&KczzAf`|$i0p8tmDkMR5zp1;BKzwrDYJRe}y zO7iMY!*j7Ddp{$|j)TxUJ`2wwaDNWo{|3+J;ki^=1ixRF+}B8w`#K3a(DeXu13WiE z_)YNKEV)m%K`VgsH-LCja&NRPvO{wK=36Cs?QQVf0nc^t+$G7IzXs3O;kg%{`y_Xx zL#B@axvV79F!1*FPF9H0klDy@6 z;GU8eL3f@8*HOs$bt#Z{yKj-)?thoufhXYkp#)w19Z2wVc;1EQm+<@wo>6x_buW+? zdEAR+cLPX;KLCzD!SkPzd#Nn1{k!D8i#ondiTI;bVvGOau;Gv0a7n~NeLj#|5|75s z1(`n>>B30yCsCIRUM`H8>0l2-;3l*GsQIvL(IK!I1bXnttN*Y~4g{A)kPir%>usk# zuh&l`8^xEPT{e;1XaMqZNz_Jd5)A|(+6zCnU?30#w<}=$gv5{J3VD&lFpyyftoW|@ z(+M>lGc(0MJMq@YGUV*>c)dj8;8p*qiRxG-WjRPd5cr^ZD5Sv_VztE5dtGx8YW=I7 z;m5MmfZqH@+gd!Nu3D>`&0kp!&RIWXUS*EZB)%{dWqu$m@@7QLcXFSV?KpcNj(S#h z1o3(;VbvVS27ZyPSFjQ1xY@t6s%92WPN0sbvfZ4V*jhb}-ivJY^{fnX)jD$ueAfIW z7jh|d5b9!4NV3ao%`m)Rq1#PpO#>l|$YMg4kfoG(j-$jCp+sIriETNeU4b!;gsdd1 zuv%A3#J2`FwtyIqXB{Pu<0-L6fqB+b;@&`se`Ax|M;7`{pd_>jQEvuHsqIAe`!Pxu zoV0?}oV1*Tx2zy_|00ojCsR`2ERp$JmXq3*8{K}g*nJ8mOHRdnPore%>69!#V;MQ_ zOiGruP!ee+q=~c<(oR4|2FV&x+pom z8w=ARkrR3-+1TrJhsl}5<8;@M4)@s-Y3qaNLE6tsb+(PP57@}IK^ut=NM!2{h)dEz ziNxHJyN-0)b`nxUb}b`a=PV=L?F(J=$l2svr@NjElk-6OsnYopNuF;bsao)5=@2EE zFmXt`mCw-nVTpWV*hVf&*vO~ph>d(IDUpk5%0@n^Qj$yCNPbiz<%~oMS&5V`u#t&9 z64{@#k&o}Ok$o3Pg7P9516zjgmvOOv%5| zaY`44ja)-N4buBCy_h1vXDB6;^b!d9GCjybJ_{jVq5mq8>*+2^ZlH%)=;t8xW>9}@ zP10MDC!MGdz&$ z9?+4{c?H1V4N8)Y+{rL}jc$?1U9{fmj!@-(8om;;`35LYlsp3J6ZVj+!TmI-Pw2iD z(mhD8qgZIj>H*NED0v7pDM}uuS3=}tpi$Y#6Z9sEJq6!a@fo`i6TJdX4~1i5F2;lZULuoJRU-&3s82Scu=O7sfd(L|d zNc8s6$EnlheSy-hu5Qb`m;5QPuF+rkb`A+`0F7lT%GoLyM-iFQS=- zsSYya+3q0+Ja0}%2NP#cM}J5YgTsradyY^#m2QYedb;S)X+5Wrq3_XQDgAv2T+{PC zDsk^4;N5`U;VJY^gExX+$V$SjG{`FYpLF;rO}|bjqd%jQ=zN1t_ACX^)iof0r=q{0 z=o?zOeI>~>4!sExjXiHd?mZg_I!_^p+@5|5BGw`DspzjL1f}0*Xt=8}6$DLfswYCW z;*k&P@g5IZrx(`%D{q||S^`@7_9Zm47=ngv=^p^9;~A>-V!#hc>`3jNsU}WoBe`c? z7}Tt_oLcbWKr$8mFQX*Cv6f`(RP_H3K95|F&#aLq%I2m_D|BgP)A(Q}oO-Gx~CF|Z^*L3_C z9a4s9r`mW{T%uf)aWljRd5iO&E^e7u{Pgq8gdN1OQV-a z@pmbWJLtAh2uYhp(%xdEEpbVaZPYox0r3#G1dO_Zaa|Z26W+tWr0HML#Cuqo!@s8K z|DuWCP-rv{GU$Bd>4xbj6b5?b0CNmrtQQe2GTHaObv0J@y>A;KK06>dor6G^`F}Ke znUsE?9&o-n9R_`S)wb#3-_qz+QuJ!6Rf^L1e^V)XtrY(qh4cXcSiNl(VDUQu%LzzE zBS*fG9x)s}CrAdbo`gSJ8W-P!%nB3+B#=VurkYeT>}(qTJ#88eG!6d&UVntAscCp2 z{O=-5_+MrLqzHok=jLK7B-z}aAmlooIdSS}X7g0f$;ilI2?X16DAJ#3BdtXyOP>ht zBirCTzAo&58kn-5G!A6f*d({diwLIDTYyYRT&pMkvypf+xH0i&Bk>kYT&E|VN}n{% z6VF4D>cna|5dh{JzRlpPH^uD&8_-=343OSA72i(}%!huRKIy1V!a^J6#S+qZ6G&qS zZh)$Ct)6Nc`U|aIS53R9sHcqpzR1jPF$%u5fUpCE&6xz`UgIWY=~JiDrwXyx!o}XH zT%*<+0`TQ10dt6`t!4xppzUa43;e==`p-1+Co0@0 z9d49vP5e#wZed>R{;ez)eACQv3%Dj39E;cj-lNRHBmRzgu0TG7v0>AZJ7_y7>Ck|djb2$(Fo zvkoS5nEM@=dkCft)6qUXY?6g-!mt57>{b@G6vK{4df@FW(9J!p9FWOs%)|rK-bJUO zL=dvZCfOYuIj>C*dmpNS6!1QD5R(r5lTOF~N$J5%H_$rO^M5GUw<15SwNbmnkDX~M z-5u|wnK%TlbGYq}SLsw!agi1KLE@_Y6Da8*+ zR9lyHfNY8oGGZTbG)j~4PfPURTO4%6-bh9q5F#c1L8CP3gbGc{p%~QYhzt_3rUsHZ zA%n@+M`XY|c`yX?PwqZ=FzEy`xF>oyAcou;NstjWB3}WBMr6!o-UA8|PMSEZvpJ$5L4vH2IN`O(buSeTwew9 zRs(YTboBc=^F7Djdt1Lxsl@dm2@;QJwT;LQ6qSL%%;*2`Hdo5eE*9Nhcq+ z2QU%_G;r`S8{A7=&aHHFv5e!T{bGqoUh)}0nFuo zYzrLur^V=a0tKF9@;MF-vq=KRmDyl|ytf$yf-MATKP#a?aPG1#$t;5K6Cv2n#p=gE zRkNQADh3o4iZeYFJc=@hNuFEcK?)-0btCF^7PUo>VnXL68}#)vpo_A$ILd#ALl4y~ z#w4Mm@emH%iIa5q8#J*c1PazPj1~|I14d#CpxJ_*uyLv>`hYZ@{u^jF4@#5M>A!>H zA#|KH8GRVvTPC5D|6+66?1!LP8%YwnLelX%Q)+Qo0}Ah{IUcY>Qcme4qyLLK#skE0#E^r)8UnXrk8g03U2fRVY zLk@JjPEiXu-2o_(q|EQdHv}XrePD=y+#OHNBorP6N957bF5% z0lu{(_MH8ouW<>6Q$haA~10uH?k^K<4&5Z1a$c_p+wj&)uU8{5MaxBSs zAowf^fP64oJVK+-(99#)2RiKzhcke9ULUb{*g%cj387sM>TuRULEOWagIcn4_^>p5 zg|yvmhn%}*hy$f|=u1-c87caN6jh^7O3|mJ=(AG%OOg{ndLVy0Ccl!^g9QJ(oG@&= z0d=pb7oCk-jX`wZM^Qy(T?1%`6#b|HoDb#s7L5*MzD0LGMx%Y1$LQ|oX>>62Jl*{) zjjqW&OLsp-qc73SQ*`%>bma#$^CI2-9U6UuX1+srKTe}B(9Gj>_cNdYJVSRsNmnJF zq`RL6-_uw>1IWkgaR_`f`ka&k`S%^@*x!^U(fK$ypO+@z1UGuWMW=fPP!$_QC87;G zdHGEoJHITYuae4dM!zlLta9Z6*RA+K=Zs$sLsRP3$>?{aNj(a~CZjJ)lW!e`s@#F7 z!c$FV7DsyqP;=i|8S$7Av8yuTc_ZSS%7|x;h;wx<;%U$#SgFsm!EE$%Y~<%+3LfY1 z(==QH{o@-jwj{nmcfSnKFVpBN((ubPevL#Xqu-S#llI{!X^kKI$k0nP{t_jVfC73J zzJ{-rqTfgG$q{?cb&`aGwT3!C(t%SlH<0!Eh$DTy)bnjhpLdKnMx68BW7^dD_8Oc0 zYjz~)?Z|-}q@*1vbHL+-2NZ{-3m$jmz>QMU!{WUV?t{k8ueSgBv6zQ-vU z`UYK>45hz8pG$^ELL*@)jw|d69X+@%Y=gcYr3c?0x=EUj-y~5$2D(l9W(o2edX$3l z@+hS>aTF2%OKa*uPk2Qdaj>$#J{f%jBt7UXerqrUpytBL&MSU$#EHcZ9Zx|fM_qND zgkbcWQuHn9^+}9^(uAfjPKHAZP%{D=mqIazzD=h=`MF*ik)eX5P2o@&bWJ22Q@<@i zLK=D-<$N?;*9ADCr6}$Y3FJQz$fwg^k+h^6YmHSq!|T$k-8JGGabvYxkY0@KdCsH+ z^}8#prn)0|BzVe zpeL__o(xPgB!PnP5ODG8w?YA+aMfF(Bk%&>4UqNQQTOW&I2@AD1<+g)_t4M~c4Q{j_QV_?IsD`2E1G63URFTcz!{N(6n;pGiY6fFggJMB*<{DEKd=NfvPX%z!)e zfZIjDog!fPDbTE$d{MCP9|uEnqx(J_il^guN#r0_eDpnuc_t46*l@-8l9(~RxRzwj zh2RlFZ8ogLCB~cb%7qGM0R;HwGgt0P`e$YE}<9)liH!XrN}OC zCJbQ*sh;o)M(kH1)|aV)urE?`V7(l#KjG*$6}=qf@TF|E^DsraahObBOraQ8P~Zqh zE9i{F^$%g^oti$HxCchKiRtLCQ9teJqR1*k^;6U7d!%?hJ({?df^TX%{z=M1dakEf z2VY|Oq4o&*)!CuGJ`V~J{4n?B=)RJ>uR!+|+f&g-cia5nNvjo(ZO63O2e@z){d-GSP|4U8(N@u7L!=aB>R-kfHsc9G%w zLy3#&G)v2U2hn$t@LV*_&~VQoIt{39q^Q5F1V#Hd5=Kr&|DQC8=_jM_qvK+5{1zP- zp{9KkMGdJP+h@GajmsF2?PZieTWH*WQ1>68b!?&OBH=Ib_(ME?H6Xhgn9%MRk*sGHMohXq5AFhBy%wpj)S`6BJqYv z6_ZW3Qe6rEnoz?1OEU8y;x>!0xSet38UU)>UPlhpAy;0mbKB*}hlh3FVa9uRnEmK- z>_>Mp1SmIAkl>;_I1Xhlry<5kfCA(OWOSFA?l7jiyL!6ABHdv<-B(#Zy@m1&S)B!! zaLgiLxOX~!Kc%QeLe1iwg+;KcU!X&tg#Og60`>^27Ej8FxU*qJKms6ZalCy-7RLiA!Fnh_4;G4>Z0jY5YEkUX9ycBP<$&CK*FqH3Rg< zN>C^^Jd>>ZUNZ;id^UMby`Dml7K#y*Ewn23E3HXhPaRDmNDC(il3*^^(deJ05j&P> z1jmp^S;f|4X*mI5R3imyi2sJ!$*#dp_84m#7n>YkgZ1^e32+qxJYfM~75XI0VU3Now6IY#Yrju_X=*@Frc?H5>!TnGp z9CRDt&TXJk;A$`ME1-XY;@S+1*GH#0a=(BYavg0XJTU&CBtZ`Z=x@;q74t<_8_=1C z9ulN4zUf$T6=_C$nYashgcI{^Ygv^BcbY@^iKCen(0kwuhHo^?35VJET36#Cgs0 zL{FG`&hgYeXO#Z)O<(oIc{ee*ASEb|JD-oIeyYv0;U z?rf4i_xl6U_Oq8=w{QXd*|7ZNZRgy3#VrR`T}qyO{QBSiLRvNKD(|`biVZiDRr^US zeo@3geEIUl-(T{;pML!8$A5jn&8PnGzQ;fH^C!M}L-48i%1?am^|N!$AFsbUuwt;~ z{-^$Srk>=kDbI?NBF^pk-!$y#`q6=_K4*Jl)za^i`){P9-#b7rD1PSlCfjc}o&STE zwdZQjA<8@X$N#$V{6~@>_dodb3Aa7D-~Q^bGt=L&jGX*T$ROjZN62}vJoML%r#}4B z#{*_oU%R2^)-`hW%N8i593bx3-giHxgo<8!ktc8ese1qMxk#^%{(N~8J^q{O>1M7k2QR+*wPAYwtXB`wYCkM&wxWWIyU*_q^{GVSQTwlNK{Vy-7Q=QM&U3T^h zjS=Y+XOf#Q@9^6mY|1UFTjYFV!zsO21hena)(c7Fsq0-Y)#cO^8~%Rg`{mx#e)Lnv zp)+aXcaQ#a@!<5A-#t-X7@L0a?85KfT0mo;CFi{`72QYve2bR^TW;QW&KGiz-gLnu zn@(A?@cT{FJ4ssqe&x}Netz%OkKX*{M?Qbunirg(c!M1IGimx>djGwptIoRls_ox< zG4spfbJCwD$sBxMRsGZ(k95BC_WJh^tSJBF%ahA*{sDQ%?c_BhvBSJybUJOsPF{TYq8~P%NczPk1=*S~S+qEF_=itg@f8?TjmU;1Qn{huDZ{))Tq*!ITGbgr44 zb?wRx#qaDp;k(HT2gtlq!Ts|Ga>B4{rM3 zAKvxqL$RgLNwpWXg;;>WivsH~>TC%xZqU%%&x+7+dr{^_aoz~Vcar$6)Fh52hQ(3|xG21SDH z3v&1U`mFyu^vu5>aa=z6e>a5=-tpgmIro2#YfJ9}3OqUmZi9ji6put^Na$Lmz=jmu zH*aL=vI+_?10FM`xZ>8Brg>lZ-jCv!Ue$0T@vJ7&?;pSG@q2rv;v~5-e9zUFoc_xc z@hl{CQT(p>75CG_lO(kvmD{^<*>A7fbi#j3A9qT6F#W_va^&5wK16md3IFk|mAlGh z;|WLq@Z*2`ze{iU)LXy1{=|QLi`;(~i7x;4A13dA_Uxzs@uer8F1~ISU=?YbXzZ3wc}0qRX38e7HxWi)Vy|6ZhG{* zzUS!l{zb<>_rMe1uDK+;h%EFFXX`KH?>&C@-OrIDMY3_x^_O1%E?Mm%?r%0co@x7S z`b=`mVG@2g1J&r$tI=yzuUmNJd-3O--&enSfZo}8<+|`~>W#L&$zOf_ANMW}uYLc27oXI3Y5EUj^=sE% zK-|Ay{p{%Wp|?Kq+OK!tAAhSSaLs3Ke*FD!{Qk^ocR)8@Igk-`;!f;J?N8e#FxkGvb$xQ6WsDczx*!!+!aUcKqmY9+o!I- z4*&lB4DSEw8QlN)8JpSP>*D?MGv2wd?%u8MydwNB2)LKexV)a*@)5>!s@lPEv)j3C z;GAK<<0=u_VZpH#a_-&9e|R{^P=?&t)~M-J$@8 z=~G7`yfiV}2#~jz6@~%Nn_a+kcGSsDpwu8BUW9BjiftGt@}H$nj1&?jexF`PiB;!j zA$VodwY8KeX0l0bj@!1v&`??3U-p>w!!9^hH>o6y5czlsyVP=~kkYFJvkqFS2MKWV z4DxE(J=oVNT8h7X9X%`wgRSXTljG1-6J`*<(QUO!;RRq6oi-?5=E$o8D^_ViL(nOZ0)3BZ}Zx+*a zj1_aH*(uZ3lxcf}^E%eLt8H8@7NCNH7z8bceJuxtcA=j&Y?qqKCeTubyBjTKl+?r+ zH-r^5njw~lvZ~?ucrK^0OVC}+CQ>P2(%+iUR43k>9@iY~`m}oh4Hsn9T#Bya7QY0q z@uCG8mtp~U&kn|o8`iviEmdXSKA&L(s;YUdAS;mB&q4-=^^X^eg;Lqcv#HT5)@(_a z;L)rXlLP%-YJNOqar0KR1ay?uF?X+iW!%-4$gw-$c=dT6zjPc)Ch};eVMLAK{o+~+ z-*U@RCC$~R7SRe+DbxwooG5KA7y(7W&TR!~bhWI8b`)~sW2#v?e>XF(lUG@X3a}=` zM&O;%jL~^Cz*|`NdH@1z6gVWrZzP)mR;z0slWd>f#jwd;9fB1+9fN4>2g5~AAH!w{ z^y8)Sfl?x`;Wc<4^R{K6O4QtPgWvSxz^GG6-r{6oOc*HC)DkoN!5DJG1zI8R-rnES zJy6)A=7lXbuONo?cwSNcn!DvrA!Fdqsu-IhPM_<$aTzV;P7y(XI%+xPl(xP87TA>3S~y6lP{Y1lq_b%m85yx z`p66-0?d$*kuX$ZoyG)mXbhjiUd)~wQXwlmgCLZenKNOAuvEe;IrCsLYazqDC>}4&Sx;%!BfW(@)2DENoX5);$8NnNQPTK; zSgSDGOwjP=xZqTZIDmVVB$lxa2r4@{ulbdtMf%sFrdDY^BBcftp%ZF+AQk2TxxEZI zlhCk(*6c;QNI*?zHVLDh3c3@TBH|)_puqG8k5Ux!L-X^p_3ulgQ4wKnPnRxrXiTPU zT!TJsj1ijGVjk2d3?!mR()_8yHnWokIjU}TA1{$#bQDgAr~sx(as!MZC|q%ZiHhz* z8E6lo#V3ZUi<`x%XV&=mXry)Mc8=7P2dQK>LN=Ms6GfZM7@|#p6HMpk1)|uqR8U_b z&zO;wyxxSW(2Zn;YqGUGep|U*)GJV{K|3EU`IMz%JUZiymqU;{g0pVM8c!+C#J*%! z2s8ZD&P{T71x?thuB_I}Y!NNuf!4a)mQ4xEm#jow_Ynl6Y8Qt&3)9L^BA6k`>P0H6{=1{a>^+tHBWVXnh(HSJjj+i9JBzs#WsiW4b~r z!hB3*a!gu~)effREVV$>$>Wq^J+pBrq$DbvJ*0O~opFPrx9KyNTH&|y751+zDol(8 zJZ5DdVSGd&^YV(|MHD>7nn&>1EJbob zRuf#QwdD3CCbX9EaseCFpDT=VM5qhbigplICz*T+i;ic`|HGi|812M3p+-s1%yE%6 zv*C3$Uro*DRL+zPA#O9y%*bcW2s~!7g2LvfuC`UT0BOvn-KsGoPzq3_4ms~U@p`fMk+@yi@yyq2-=w2Zw!ej z&t)WMuml2M(}R2*xDV(Z*MdANgN%@gnQPdg8Cma|8E}rrEDu_PWLXCo+Wrj8B~Wd% zgQ!ZmM)gRX8nmm)0-rAixJf;|0@uvB3esG;3WB3L&Y<*AETyoc325xt!9q#FU3$ml zb|HNjr!yY*-_|Tnv@M91RJTVe<}SW$elIB1d`Z9!>4gi89Whsh3DihcT-MofO3dE4 z^=94Is=|DLuhs|)Yff$z&#!kXVeL83AuVA(F3Y$+W}?T=Bp3MVg>yVVf{mg_26RUc z&jS|%${l&JHd9&iIK7U3)Mi3phcaHuX~MX%UhyuWW@ zt5{6oss}9=AxG)RIA*{@7f1fVHnF4K9@m-3*u)Jz>RV-4>*X?^TUrT9p z91Yc<=m!zaY??790X-Gu@h1M-%wH#RtHRaOf6T!WI2fc8$_DJjf;Lx&-&8$VWc9IH zRPl<5QP#&`l21C8@T&s8_FB_%-R zOJ_@lrW$4*wyq^Y81j$RWtniRq{gsGTr)doW`kK)cr66cDySuWpvb{QA{lrO6r(a4 z8`HBzLAL;tb&RoDHdAT!^mADo7Q@)FIxJrdRkA55n`)>E$Cf!9%G_3sjkPUM8`=2j z6ug^;2N^pbYjf@yx2D)|gsYHVZ8EB?}$9X7;2isB52m;Z}3w z#1XM**iwAd6Ulgacu*KS26yVD&saQdoV&xCKp|y>jkkufA4(Pa*y@Y9;$aR0V#*BK zow4YnB>!NeC4 z)G&r-m1^o3Y<+k53}U`IFjhCfdSo6D{HcO$Pp!6r`c95 z`BXeB`bS5)8)O)$K9=#@WXyFRHq?I@Xw|JJmm>CL9V59ya*zI50=J?Ya~B^G0PV-k z7tF!sK_SL=gEZqC1hP{35d!f|f`E>n3p3*z2Tss;5a;Yq6v((3kC~V@yLlX7nDxbi zS)WPJzm4Ek%;Zjmjq>_u5nLrvAmcj#3#--_js^j9si7yIn}80*j7lf=XUE3J+^8h< z7op8ye!%ChUQt?HFR;NxBB)d%@G9n<+h@gP$7zR8u_X5>26~_1Xq>2)mLE%N;2^bz zCT8-)nq#YMCZMB`2YK$*WgNJjTn(1l5^kyN*P~ihU_D$RRLhC>L^&a21Zo~S0L-pH zkRm)A&SPW6@`O*1>{r!2GOAV3yA71g2O=^KeN4-^nXE+J0c5bTzr?4F1{$Eur{{nk zwqV3Z`95w88=^ZCny~Zh=4*;AsTBVx3=n7}M|o}#&q=_t1EHwni6J~}5QQ2m(z0;Q zs>S^U;0k@4R`YUAl{KoqxQQ5yk0AIJp?ES7hl2Z1=4TMtw>NZ6!j~8?7qFz=Oc+~| z&DRIk$|`ebwXSRmC%$f+Td}_3Q!Es@6tUyQmO+c+3lv!mq8S!%iI*bp zbISb4zD6-!FrQOdMtmI!I|iD0hPf*mmj{%+1&vL?{W=;}`hZg54JwtHFrmbf`K-D5 zxUF-31cKXkW~B`4EooG90GgxEEQ5@-i*jI0Ft9L>UzZa4alBL*L*~Y

)$9L18{$ zZwWuPgrTtplnSp~(Xl(&-VLf(YzZB5s^beA6=w`IsGV-$L#C4gy=)zktsS$bK^8D~ z_L*6CCu6&mJE_xCqr195x5yTAS^Vac&Mj_jtWYRt@Iw^2>|V7dIcrnduUI)Ni0fgN zN^>iE?HHeDKqXAC4C|)_Tsoc*pEa5zPe4f`fZk92DDMoPOK)ZTAciGpzhZ4@mrjO9 zFfCL`onq8M2gnPYLGM+47V1Fr&}RfLHlspGqFHLxm(}>j7*s^TjVl41kBvPjkC{cS zmFGEUXt+NKBC?LP63^erJIs2or6MN0`kD`04YKr*`NkJqQhKYfIh-=PWou>=5!PmA zRIAKxW+aDi!RQr_=_*5lY%#2LLeD@J{W_#*AQW-V(8EPOZoc4xNVYJpS(+>?mOBOt z{9MakH8>-o3-=1f#;_TU^-!dvvQNkg@0kt-dDf-3A?P8P6uU~GvQN77_6jRAdC#j0 z6-FPfv04b$YO8RN%xBUmk7D#4V2z$UE*ir$F|RYvoGbI@p&DO`ZG>>G&5?%ka+VoY z?N~AFt72?!%ps5+4gJBBF;WI9H-vEgqO8`KDziQ@t9AqWb29NR?4lC|LC{j5nmes%|k&vIdORNn*(agSy5L@d9we;Ft@9S^I4VY8q1knvHZQN8qdrI)6XJ8hzAJeM|y?i!Oa8I ze%L8r+(Sqqn1i{N&%O4lD_Ks3scZ8}%&(TV>LVQjnahN&6G9H~qi4J``1C|^KvBc24k~1e{ixT4{gbu5)H=+NWk?o5C(qnr8S0WlRH&t;d-_HsWm*} z$aYRgIUPPLyvNi8{7P0VudvkR0@qeWM$F^U7fpN8E>!Xuz5Kgt0i7T|FRRyAerBwI zxpCWvuZ8K8c9t8^$X1VZ?T{%2>~s(J%L0ASBE0l^JkyFM=5grG1s9hVOPyr z^A)3ld&HtzGkpSuo=>rOyj*UwB`uF)!21+SxKm-m@)##WW}mNw>CQfAT(;UFv=yJ& zC*^k}5D9BuC#ur}g#~&eYK9)xU&Pe~Hsvd;{FD)XQ&+Q~LHv5(nlG3}Z%&wpu{9jN zCWpf}Hp@VvCXFgecOlR5v)eK{H6HVbTU9;YjP{tPaH~R^(e<TwiV5zueABYFLapN%oE*Wzs?r}d zAfvl5ElYguSbVLTeREttrNciT4-Lv?r{#mlps*y0x)$O>J*Jw3V`5N`Tz0G>nvK3e z1$t>8`>ZG1!9Xcuo+g1w9)6S;m2azSD|7i3)pGE}SK*m~geM48X4Uv%`%ozLj(IMH zowzoxyy5zgT3S)9K4!r9#cC1{_6Z-m|Az;OisNOuSSsMx1m`#tCzf_R`tD;#$_L%0 zj2m$5i@P`!6!K7+)=*@DUi|~2Ud8;DsO7VwcKpPkL&0CKVqy=rPvjG0*`%Iv^{Sfz zlFEJ_OvU?a3Ag3iT#fvlWw! zpKI)mwTCQd*tI~v4z(4({kU{ybaO?tE2(#olDI78*H0d>ZPHL8Kf(IYwuHt6pJzPJ zHH(3QThSA{6+JZ`y#qB5zc`r_U@m>JmF=Qniq?sa_Q)KiH|{_Ai{m*>Ws+-eB4;gS z7FA2<)&gc!KQp|UhdULP9C#H*f+YWFxOZGrjkOkZcf~Gz(6xJv;)b@at5t3_V6q0V>!k6{A$B8u|!p zO|j&dr^kHa2p<2myMETo&q|;#gu59nIKlODviMi!jgw)bz&iNCSvOXj#f?=5t7#A4 zi@@(jM~?OVcLZ2jeQca@BFW9qV51<>jPoIy&$1z>)m9!UV*SU#4lxJJOCM}oMX5L& zRhi6hRRp!LMHS}RteA^j%lRsAo?n>3ep0V5y;k1&V;=+-XV$RV#c8y~e4+tRqa3`~3daH#- z^?8(j^e(IMC_scsQnl&qe!ZLE;0nCX4s&sm7sF`D)ICNmkg1C*1qkw+UOiV5<-U%w4EyNE9@Z+sJ6WQ`YkR|$H%(Lk(l;hZ|eTq26fXnr@)?)MB&^J2HNK@@s)u3K%*rI)tC%h05%YVt zHLml%*V526mOUMDF3h-YDC&Pc+ZitDJFgiv!A5|2qgKL=dybaOu{qgttSky0Qf8dU z4Y85KLi_T$&y5<#D~(g1{2&NF(d*0?%GvaUOOI>(u*F{#D?VKC(kZV#t+7IQaEUDr z+Hh_nXkHfQRwnrQdz>CM%!q0>qwIK#eA%(?nKvWEF;3NEuUb2|Fqy%0wYc4&R^HQ> z1!J?7+-weH@sc^S!#b+oA{9p>+=9tk%3@;4R+RXXRVzC!R=q@qH3-LEChHaUaPVk8AujK%8skLQe$olg=TJG;qi&C#C~jRpShJaP!L+5 zNT#{O7L(?)QX2WNLfTPp@!-iNenKNqX@2QL4nDAJs1{pH$IZ3>BjST>8P8n$TT%UL zdj*V-FX-`0^dYMUZ8G6vFiQ}&#xQ$MHP&SnzAm-;LziDT+%Z-UtLOS!wDgkC^z_hD^CLe@USymmR1;UQJTVV%@ z-GQmsPxFJS*n;v8x1!VIakc+EWqG{F*&)8GYM6U5Xp76#AdU670Nt%n`S+%u^I(4P2dC-ybcFb)t)@V7^w8RQ`r*lBQ?sb zrH*-4QegVR}h^l`|Fuyu0_i3e9I)x~l8a`CC8RjN4%~=8RESqoW^XdTHp~edV!Y ze*){Mh2`esqctDmy~6qn9tp<7=!qgb#R~O{SIr^NZv^5wHUQbx)r;Y^I3$?4u|Z`0 zG3c5N%}=rSvgIF8PTTs&N3>)qJAxXW;sxsg;)5K_`y_cm^a&8UmDAEiabTv6X1#W`M9>sI%{j7VJ~GVUAb>YY8@Z~0Jy ztEa2w=ex}a$g@_dSSw&$`0Uw1DVUKAD4<}%MNzE$b(QkL7gt^V3L4CBoi?{Jp~>u z@tOdtlSddBVRGTp-3xWcwnQ%7vKQEoStCPmm?I!2=C&9{J#J1FUTEwy&8#+lNCE~F zs00emu*5oJPTV{r+9!@VGqriuvDIuHEM%P4fFTT&sZy|`(jSHj=*p%v<7kBD!$q2p zkc}10%g^XC_sU~XW%iKmp^3GV>l|dAAa9p@LnFIoU#=d2z~((+U=` zU@nlRk31t5v+6~o#uBBFk0uC8%9%>d0;74jZ8jq!IKv;}hSV(B%wss_lm~K{kq!yc zPo?W5ann`WD7%I)!WJsp9AwY2Ph?Ig>Z;5+*fmtctFluFwc2dB`FwIWGq^_IZZw0| zR3~FLpr5VBtNZvymP6Ugj+^q+M_~{ym{YG>N`lxxTXmpoL1U{hLGd$CT{Ep=cX>n< z#}$ZY_v0pZ-s$)$KD{BX32@l6< z>_DN&JwY~A#T&ES&u%kerrhf`nt9nAThONYOHWo~reAOrEvY%&bk+U1UDd+o?0iL- z*(%@x<^*EtF>_$Ylhx8*RTj8?9i3TZA{M!Pj3j%LeJGUEYZkm7m|Kf;$ul=xLXU2nmJJ2Pkom#HS)Y*1EXLH$Lj za~r5rUWDox&Eu2_nL^#qGGN%bq3u;4jb2kZ!WrpDEF^*+Lv5Zh5<1y&7&PLwTwuXN)$unu^Oau>f@gK@ECahb5p1}{0=njX12e<9`v-a4Um!+NR73)QATN7hYHrmK2QZmLYMq z$h@Y@?==Z?6JD|Mz>j$4um??GdeabFj#&v(Qy;P$WHB<#Og*qOw272qWzRi=8>cX1 z%!#8ddPEJLAME4i>x8xIdIl>N%>)>x46|@+NNrX#jMD03Y^blNXF%y6IHxnF^!D}i z_WOD}2e)=~E3qB1?g6iwA0KODoSkyF4#wlLzK-s#^3Ily0eCxmTL$}M?Q(Bt%Q@h6 z#JbyK?T-F|mc9W;YYdRcZ9U!Hv9D|zMei;TW3eF($e1U?2GjecEx-m zNvx}P;2c+1Y@h}5ZSmkn5}Vs;a=O5-%j&q}gPooB{#fiR8-Tdl24lTF9o+-L?$|*8 zKwqq-i&GNV5$o$my1ECuT4R0eZYk(Bz}h~mB_^K^*3ljB@$NOPIR$4}Xma5#AT|#Y zb_;RI(8CR*FbjEH%D9!RSkYb3(Jkn~dQiH121H}jLAiSd``ThkXHQGJ5^w3~jJ4N@ zwzUL#q0$G0yG}%RbnoanD<%Rh)-2GDjcboO(TjZnRCi$<*p54D9uv$pCak~8Mc{J0 zri{zjd3IkBG&o_0u7%wYFWaG?kD7Oy`#Kl0%e}e}&%&?+KhQD#=9O5qg~*H^v)iX$ zln}Z0!Wd{*`niG1>q{OyFT}T`UAp;T%gs9DjIqZscBtVQeB5Ss@~bP(QFgA?sj-(G zYf!)Q#gAgj`9c{5phwAaD=lh?pQY+k#TJEV8Kpf2jv8@FV9-3vXAKf6b)5+6wVo#o z;23FM=9W?Yg4*^8Shm{g!oY4kmnuT}f_1<=xrc}7YuJIkL2FP@$D*72QrHJcG^}bz z+c|BWF~4Dvo-Ow4J~lE3bRR!>VR-ooK%WU)C>ja5`Hr@puHMerK+Fc|@bs+lDFb%2 zU7VbfQ`s@#qWx$^fS=ea7SKX(5?GBn_WQ;55I?8nHLT|(axR`WS%yB`KM-qIbiv`l zuHN6)7mIbf&WfGW3mvE5)71k)Na=xoYwsEyh&gxkbb=HKnxIN-SI2;Jup49D0(x-3 z!(=Wy!DR={NENbPmS)7sfj}p*+e!kJ7ROiq_H!gH(Sn2zgge zUk6C4md=`OEuC>C-q+Km=s`>49RsX=p&?^^JFv&K^!LK}q4c%D7=pG&L7#Bt3wi9W znlN@M?lc!I>o&f9*434wW!(fN2XkqGk&2ZLk7_KIxIosUY>heCaa=z;Y^$bNPu7IR z3+C~{ID!LCUrSfaug}H#94nL1*nwcC6l=^(iTKt6hr>wh3k(mFT|C++_Rs@TcJ~kV_V)B)J0W|SCl2^o zDbt8Y$=xzA(AUw5-7Hat4l#m*O%^*!HU+aiP%*l?pa$h6pFqtA=5K=@jLpu*#zCey z%om6Jp`q4ih50hzKKlSL9y>ak9l@D#>jb-rQDd=8Az}hz;w8LttTV>4h1oA=>*NZ6 zBi_>4AM*nzZW~Zq`&!!0iVfJiQI!BfVqP;mCJ%O>_5ay>@A#^U^nW}v=ibaY_uk~D z=O&>XMWvX8fVyf{SEGQ7BCaB?Ygr8`kX=Z!BnWKzF1`2Oi-2?ll`0klMX`c{1yQkK z#foD8zMq*n<=({I&*%I5_m{lh&pb0{?#!I2&pb0{rss8k>=~r=mqmJX?dJX<8L39{ zL#|s_ceEl^vx5+JuDpg0!H?ULm8mL8oSWHKp9`(K``3st$R!`)W}%rLX_qg_O8k7^sfe z^1$UlMMHyqhCZNGO&U+t`DV1iKuqu%gkXv!T_`3+>vf z!M5DGWM{=)Bvq>3?yPvn<}X!h9q&nwz-qUH@>uX60%_sDnkw;-#SFQZnQ}#@)~>6z za~jmXVBbsFjdeC{=(`?6M@@AN?K~`RXdp4QoqXOvhf>=O^;H$}sa@_bDygir1A_+k zZ)Y_O>Z693i{lS3w&`A)az`0o=-gC80;ipD4tCzas){PSxO@;7MNX4QX{&QH&O^zW z*AHPsjQWa3HZ)IG(1aQ$y#@x9H~clFw*0P|zH|;q9fZ7)T&VloAd(qrYkW|8=Y@7= zIeizcf{-DUH`>Wp)HDt#uMhQ+hCF9XpWKtF_JT^;udeorp_G~F>cnt+u+;BS?X}Rx ztJLioeRY0dF5IN}gVb88a-AD9Y?TrenmnB)71IwjdSOa*RaenQ9r)QwPaJJe{;Vvt z2g;A7kQarjE38DMeeDYW$*YCbs46JCs%qt?^2_XqOh8vbL2)^2@ip zD;=wQfCbV@8$DXM9_1RC>bq>c(3R^x^!9(*Wq;`2%Dcd#(8fF2`m<$K9+d@NnrKj zI?w*(~j)r$BByCcAgSldYBt8c1TjqYK87WVv#8voijaopAaky=AF= z&j0L)$3P6Wrvl^sEK9aSe)b~3T0cBsF5J6VgkI%?zX(Wy8-bKFkD`KrXOro-m? zt5eN=u8AX&R9gJf#7pSD)pLK}Tssoj>fmG>5Pq#xN*YmAJubAP1( zOuKGSBlWjg%{?vX-CS%kCR<=kL2qHFsa%mCiz0Id+ASOVq0i6>t7)*EE) zbCP69=~>q?`NH}qXGUtzyN^bJa%y8eyH zJ?i?B@Oou=eR&@QPjxXwN2f#9fV(3`I2EAzo#FnQ2_kLXW>sou7COJwx3W<;PjSm@ zW=uyB6TrNn>dd&SeA>0A)~xz${h-pWbACYKlW47J_35uf@g;`DV6>d@7W zm}OJyjPgDW?GxUpRKH1l0O?YUpShZpiHHGn<61f9{3bF77rdy#cSdd{CV(txGROPSag8 zrc;2)%3kE$Yh`;{twOs}e#=F!THdqe#Xk*~d!AGSmQy|3(P0UR-@!XgvrzsHBSoq%r3!WbS|+M^t&|aJYX3@O6kT^$S4%6``i3@$TyllfPDdDO zpNr#?qV2vfdMKaE8pEVA*B=+B#NF*-f|pNNO;8q!K$l%vH@KEe+DdIY_rM0FmLt2_ z>nRG#snteW zpN%M`)*otyRP}FQZ36w!a+B#0ut5XDzL_IypR7L4wrcB&6sPVEf=t6ph9s+LO@Sj# z&=6)1)Ds*vcD8h$^^sTLBs`7Qs*@R=;XXj$Z(pJ(LFIBooK2q%+U*+g+x~TR4XVD# z<34RqKGq*}qF0UjFKubp-Zr~mcZXb%NbS}2%HB70zwuAXn&}o4O;h#!LQhe=n_qL| zZ2ppJsKQorhTGU8bdr^gVCn+ug`SESEqxrovrS6wZ4zo(&w9(+W86ckQ*Xi zHLh-#+TG*xt+8K~FSq|!nV4EF_f zHBGSw%2V#rZ;iWa<#xMmx}K$ZLRA~jg`^kl8h0AIo#}Lh-eKvs(X+f~ru+(C4!`wU zc(8LYAU4>}hw>zrlb*>o9o@g>Y5>Ao)+J%BqqBF`rh}%bg8M`9jT=hAWuM`{S*27( z5r5}y2fq)Jew5Ovva+KN!i&7K-)o@?Ow06gdar*`>HA4gzPag~Opxkq4Y(GO)HHwk6=v$iY8UQgAJDvR=%0Nw@7O1rBFNOdt8kn+I_%^ z0%Q-KSKO)i0!cgP_pFQ8i#W1OWwCX|&_=aEH$0ehe0t9>y{lrox)aX74MNK!Q5m(1 zx~jPOsp_wk%+aXi7W3ltGP@(PX2ki5jT$Dnyu|bf=P}W|{ zlnKCCRzcdmbKQGN{=45Zo4ZFPJ_#B6E-5Lts>#S%&0e%p7}vwuU6tgZYrgM2d^LoA zpd^e!+jkk46u{JHMln0?_7)QQRJa{V6Q7ileCOt)tY*q<8r4$uN_IWHQ>GMIWxIBN z(4y2%D2licFnsw#NG5rtqN;UsKk*6kytp{Mu}<#ws_KE)8F(fAw!f5KldI)wa(Y?4 z+MZTJ*I$yt&5;Y0ExkPPd8#vPYHLHBHNEL|EB*^sTDkXv&o>z8M^ zDx(CoiR`pUnbG1`uQpSk%glCv7jiw?v=gIic||{^W~q_QTkgJT`5!}wRQPUmvC3|`w$ruf73g>>HB|P- zz?z}uC+Stqj?VUS(eCxfZca`XJEB%2eL`%TPDU5RX%ba9{Z*W{*HcPWM11nXh3=qj zN9*Hm-d9}LqTFnyF!+f^~a86^F>J-Q*c0TReQkkX> zXZO6MlDb=-Vk1Mjz?DZ_5v1vF${S^{r2kUkC#w!A%k`qVFZrxkcUDb8k*7N~)YsKk z>SijvwZNQoEq0_5sxuT{jy&~7 z>7pTJ*?RV2N-+^78j{Xxu|TqFv7pC|1BdDqt1pOcSygBbQm&$F?1vnxtgBMVld1rD zzOxg9Pd9pPlfbkR=l?0Rpxkp6rY>7|)`5YI1L{pjP14>S#C_MO6x!Wws$i%DPAw?4 z&+>*Rt-IDkiR|38$kWjmT*9Rx%?5f-T%dY9Y8tFjU02uICl7hDntLo^Wssh=ON&1@ zzFqrh+;R8q+6%d9p&l@{3pWO;j@+Ah5R;uuVJz8UPFD7zB7+ga3ry#DB5Q9(sFl&t6h$@b=z01*Z-ngy2tWT zvO=~J`u|$dkm1$_XC7cjsT&wvKCn`2FU_g}eX3{@j2oY;_@x)7A#dQI zTIw8%?W^&uSH-}ZdUuvBWibedmHM2i;*fWAR*=3ssib{uv|lxOki3{q)HKkix|Ouh zuJ-DtdI!nK6GCY3MY%5TbG_+53c`Cc*qhA4#bEWhdYB4b-#Qy2XNM+ z?xgxCaQgn7RR!yK0zHtx-_w)*9U_%I=Ly zwNM35KJ+#yrxEoZnkAQu6K2(6+75Sz+7H);*2$$vu7zjc(v^GVNG*N1-$N_gwIW^V z!AUgrsoGJ|DhBn}0;VUBJF3olSNe$ht_~qD8FcGG{IAk`HF}?7ssnI)UU$Q_Wj!L5 zKDW$fRQ@sd^>zA`^JR8cwR`FFnD% z06%hnLlaN$WqqrXYJ3>z?D)1rUi`myDp6gn{0b;%eGDBQ*(Ic+AO+{kE2AZIS)qW6}Vo|3KPl;6d z&Kp0=6*qk^SPpTbist@Wusv7bkXI_L#m>!Ow0b3VkcD!ER}C>OeK%RqRLzxQWk_A) zmPKqD^VNeoTCQx6$3Uz7H~zI5T0WLubsAID4h~sMN^NCRf_SN&@7(>Mr$9axVc<8# z7o45uRJTGcHOggYDPy*h>lqYVZG3Nl)S&^I&PxX6W=PB3KNap*<1UBri_gx}&8BGr z=r|2qp5$Y<%~uyfI1^;)sQ09#J5wro|06vXTJvQLC?AsL-=5(p&`syE1>Kq&(3<@9 zb0|%VW!u-%ZCarnzvM|Z4&zr&wOXu@Do<+i4Rr3fo#ATKRGJV_)Z02Glbx$HG)`r` zj@^;&m2N*uE-c1^4 zwO$(43S{Q33CFi%l975{+>H*ROV@5?y?fkvPV*PD>-(Ya=v&{vxL@Od{>f#1D65R( z;^MR29sl-YYwgY@B^MPEz1Y8{=(?e2$EzV}VMHCa36Wx`Jy;f6ikbxK@jBZtLAvX(1%6k3!-Bg(Sdp-Drf0Me?~%GYJj}3%hGlIkRN{Zt7~ZNC`fkz7ptNl1P|iUw4Y9$ zFDx#>eG?g(AmB&`rlP|^$I^r3wk?TC9j1d1x8S{=!jzfV+Jk~}O2FK<3cd(=FohW0Ag z&FdOzpP~#cqrv$sU7k502huV<*L37RJ@;`{Fa`82X}#8u;Atf(WN6zhI_r>g%|yHQ z8MitIf8B1YufFL`)jJrSJD(k*YO3}=nCgNAnybp8+AdUPsXOm=(jq%h3d6TqGT%R` zlkZyIsB<*M6;mjHe0Apm!gtECK`o>;*lpBuj^3aUH+ghR|D0z0c*Cc&{eb%Q_#yVJ zx;|A(kdE_rj^_;zTgr7h?a}RUo%K+m?uD?=)}~qtlk-+JM5wv9UTjJ8s+@Yk;^t4G z`nBs7B90U&uOYel+8$Jh@~%@_8gH*w@JULk8iJBX8uZ0JvM#7ODSfnUpX2SfPw+~6 zmK=|^F=Rl0xo$>1OjvvDNr%d5K2qfS%Pf?`kbll*hm?(yYdXOuS3u}2YYaEm^`;4_ z)Y_|O7F8*^G-P0!YaowJa*+~-H}7(KVsE}nonqux=MZL$Tj92aw$@$REq>(`Z*{$c z)81`o--f%{$JJ(BcG>Uz_dSp}CRYn}IT!kue`I~9%yvX`l0>pxY3LSR`)PlpyEf-I zq9Q{O@wTV*u>;gz(j2|1OeP$%oFAx_OC@9Hs>kv{mDecnu-BBT?=NXzlJWmYY4QX`7;I2XqQ7 z#s@M|%4!>H%KF!+%XG}LE;p6+ys~STlybi_uWJzMPVI)29)l`sD$DJw2GYT-ncCK? z99?Gb+8WYGq+U_esJp?NFoh8ymF2bN!7}=aIe14yIb9e|-!xZW9~V}k-ArJGc6?}s zwhpe)mf;oJGC(pY!~n_5fj)KpD}(auigdk<=VeNOaw(NQ)s@pLnP(9c}-(T@^9;#2by=#gAZP-HmniCWa8Xz>=yPFimBu zsvDCV>*#n9(O4&s4#|xV-wh;yQfWx1btE@R>LJe5f%!h2^nRmq!N3n9?m3)YY6h@# zQ+(bpv+2}Vxz=-;o$j6EU8rGgk4jO zSE{P4s+Yb4P@y_{w(hb9tB90l$p3kXxAgO7YpuIRjz z4UQI@!@dR(^7!mHxy0EN5^}Fau+MjHT~kJte+JE3djX2L1ePWI7 z5*)?vg@ZbzPFC$dw5=D4PNN!lJL-@e!OQ)G4L*GDCsdDW3!SP=-z>u4cdDlWay09` z>(12)fM^evx^@Ej5NI4Ys4BTe9%|ECZpffMqkXCFI^w3q-o!y=v|JO@r73&sn4={_ zmO9&&mA=fGdc>>IWo# z?u!-E^rv0KuYR*^XM%f{JH|U}8IHzWM@^m3#pP02B)@O-QtCTKvsgP7+VR(n+AaEe zyDXd%cJ(%?YE&Dj*Eq78^Aq-c5|rh?(1Ygbl^A%gO1ML#xS1;g^t^|<7p3-<)!&^N z%ZdNh&AiqBV^BT(>7?%6y{LjT&(!{8EqBKZJ>iq$qgvD^m0I2Rgup7H{U`~=tTwel1Yk{(+& z3B-T>N~^eYRf{!Sd_$G`Oru5fkJSpC7&xewloYMq+NoB|m0&2p6p^~@girn`fgRLQ zQF2sGY~nK8y>gDpC4BX$tk&0{L+WS(ddE=Du5`vv*^Rw>b;3yaYdeJ84MN3rG+&U* z45fB9rCN9D@+=Vh?^Ofqa+RR#*F?ysm{Dja+~{I=Yq~L9?Kt`0?FujSf1Dg22x-yu zZE4iYT!vYxPxqrdLb{`bIWIzYU#izRBcgZE%Jb%g-uhl3--fo+s7^#_)~Q%a?fhzY zg;n=3>fO=Hw5Os?Xv~GSTDkG<>VXK5jTV(~%?eywHTkN^O9CAM;XO$Abu=nHnN1tN zU7$YzQFShUV9b(U+LXU)$ICOMTzK zUtlx()>In}gRA|!IXez1s;+2g8Sm22udd>+gE65fl6A_G(}0eMNOOqJ;p)$Kx${B} zSJhXY8-<{d!uqgdq2I}cxsFIlNO6=f%V8Z3skUTw?}#^5JGeShNSf`}`8Vh5=SV&gTrHx~4JEue^VCfEFCvHJc>&9vd%BDYv?gsEHZ3dIzj))kB!Hdem!{ z+PCJrlRfLm5Vbu=GV@Fa{FQ-~|L+C0@z0`qNLOVshFGA&V zARWx%>6qFzyU(DR3r^0}+M$H`bwA(74UQ(bZJHzIY3)r5;otG%p4H>_7E(vv#`Ofz`B(g$85fW zfaGi=&SQbMeFCy{{IfhK9+DK|o`m!*KeVu#ut1St?lOd5K~jy#@^e`pbd1FK+ZQA!!fg@`9>o7yS=D7I0#Zi#p9ac|j#Jr#%Vv-Ud&7 z{&BIpl*2L^ z4e?*3`c|gWFna3abCk+2RbK?H4-sh5rKVEm3ysTaGleV%`K3;nHdATGkmsD*Mb5`< zs!?bqXS+KF)yEcv@`3Yh2z?q@+ka?r5RJBOV7@y4&Hchp{!Yrk#Wr2^=`~la*HaJe zo3HIrY{^wt(j|)ubsa~54tVM?sMg!uq)LpGR*91d@|xl(Mr08r)7PZEdKr~<6={h# zh$bs7Wq`iO4bsU3^|9uofgs@?2i0(1GZ&z!FBRf8>(|u#6b@mZnk3Je;K|2$DvOBn zJ>-4F6jf?7cUG=;RqO9;-EgCFk(O$Q`k_TZ$uIbmQH!c;hOknz7JcV6HMNzU$s1Ks zxt5_SG?iJEtVaWDs_s&|deq1LG(t33bRL4NnCEym!cgN@iE}Eg$|qS$@!qrmjJDF$ zYs{v7JPoQ_l?_lYNVTqz-yx|_eh`bQ8eUnPeP#Ufa=W<_OIJx$KbA#kyLzBsDdPa0 zu9X^psZ7d%K{ET*-sC*FtJSkB9r#^U{cUgemiioDPPKCNdC$HdNZ;rE`f;tldRa`q zBbBS#;%xToj{)usPyOut*p=bcTq)$q^f__0)b*C0FpH3iJx{7_>&{Q863I{0oCR~g znpouKX)Qi->Jn# z7)^*JZX=Al)|%%{J`=||{}Wn|_9QZ^Lf=u-P~h&wb#_~O3k60+eS^_Z|JOjDs)k0= z$qyMyqh?lZ!sRLSf-Re$+Ur|a&uIQ>S$%!4euEn6n|`}_A6oMOk7i9nH!Aune%qP+ zw%hn^efVwF{I*(t+dzI>BQGg2N=i!jZG+ft%w!Q3VkyjGx3Yh+hJvm`>M2;{+U+zs zDwJO_s^;Z;_OHZeIo`9<=6|9N3G+S6?Trz!Ug|pRD%dgX)YR4wY7G0_y_3O|H0zy7 z5WCfX4a)6aahbHhNaAyfZ{y>+q$k5Lr#88@B2{3y`d*iIcc|IED;)>rX+L@H14o2* zzIln=>c3OP7j>!cx|34d-LFV)4T;C0B?#Xs%24`)#_n;ywfof2AvNlAl>wy5gyR{u z|E3hYM>Q&WgVq~3iD=h8*9$i;%o`Ja9k=baiEnfQ6;jxYcTN1NAl3UhO`wXURZBku z%7>^QwX3dCtvKNnn)VUD_xxM^*Ua2*yI0DT(mn(4)|pZ}QfNCD&y>>69QS^iQaf4g z_i;Y-P?Dtk9cWI%7cE-4Zs`}Ka0>Ql%|#Yv0+frdkU){tZ$}iLDnA)L^UkH9-cHi-Brwgp>v~w6R>CT;*zY zyx8ai6fG$`J*o<*JtRy0g^k`?Wu5ID0uhiq)zrnHdiIy<*i?R_T--Y(kf=YGDyhD< zZcyKTc$4ZnEy`B7b1!EzN-;V#b%4)5^#MMlhotr9f2wVlO*iKkpH=FQt60B+ru<}vHTrtWwxj`X>+305bqn89saKDCTzsy$#-mmB2X zu3Gn7f1&q>r8>Qi9P7?#DG#eIk{?X!V_MZzgEZHbXZhdVZdc{yQpdJ5g0=0?)^5)( zW@W6Kx*WV+`!=4cFX0OXcT(7ptNoVxXNstGa{st}hRXNEqmdds<&(VN1iw#Dxagr> z`_BG}v^un2O+hOYZjFJE9y8U}2fa@pCQKYNYyZ%GddnJBu zo}xqn{cUEb(2dA+cm5YTo8Q~}=CG=tre06VcXe6=GN7DtyDH7;S@kElcA8w1igR#Q zplj4*pvcLo{wvW0CS@9W61B~rm zVvhx4$B2C~2r@YtWL|P?KA9_sJWk|ba_mJiKPB=7k#C9oOk{?L%@VQMf?_AKjmUN) zj}Uo5#14trOColdY;O|zP{ckW^OT5vBVwnC{fWqUGd9sQr`@{oiF^TKes9J`Td?dP@{nadV&&|yVtcLF<5uhm z%iM3po~9?y5P5;fOO|=WioHVYJ48MJF+Z|mpOX2t6+3OkzPDmO(xVX}b7UwsCKMYR zf^8;|B}DE9$yphS-4lwf4#l>FV)un&4~Ak7(X%Irya-~x7K*(SGCv5#J|d@2h`r%)KIi2I^Bj)yaISllfE=^IszJrZ6XD!u*gdr-)Gf%cuGW zW4wH&+*xM+95Z*NwB+9dBcEzs{_{kr;^kAt%cnY*KibN9It%7Qs3iGRz4EDgJiy4fw083`6m~lo}Rd?Vk)@8z3$dTVABMegIPd8_-IJY;FsS@;#(#*H@HVYfQ4)qDpJWVPQ3TlhiF z*>0Y`nioIBALft1DKv+(M>#oNu!lcJ4i`oYwilrn{bnCoOIh>@E?~WQKZP$sm(1fV zo&UDzN%+C@%bBs7KgA=L9gqo#T#cuz`P00p`!oDmK98Jw80?xz(R1+sJbyttrSxP* zq-Zri$ge%*I$GDWi18wP{oy6p(t0txh;f7$-SBe4OImlb$SWMt-tj8g7VtE@jU-ebJt4V{9N>U7TDB*&_^xZ@b=AIM@w$Km?dw<(x~oV~+EbTzMg7uM7U z_8vEof`RYH$Gu3#_5osR{E$Lf%-KgW{|0|7^UwM_`-G<*MX*CZCF?&C^*>I+`WgBD zoU<>a?|*$M9auWc4S&ViNQC({AHh!XZ}?JGk|P)!%_65cTgFGTvFuy^9Rm4YKTR3W z#xeGTOyQ4wnd@#X=jhqD52K2sl|Y zSsEK@P?Be`QRFa(&1P9FFdA7r2KLb1oQ*Rm)$`eSgI~n@uMBD#oVB=PTJ%vQIPEbVFv%J!}R!Y^EPXW*Wx5Y?cgw^En1ppKWX|#k-ra zc?P}AgKWMbGbM-ZVJzEP$=L!UcOlZZk1ZmfPcpXHpu#KK&z4Y7&oH*s2xOrqvSnmH z$k=jee}Uai_QQ;=koK3@O0vI<#&-m%S!HD1L-tpZG$U^fVt9qEC5NLd50BRwYmC>} zdN_nn;1?SVgi!Q8+h}Z}RGfrUR?)rq(Wh)P{pbr+y=7cfQTO*f!_YMh-JMEzcXuc) z4BbcxgVX>jAPv$fsdSgbAT1#!Qo_(6HPX$)b=}YZj`Q}sIiI!HTKoLId+oJ^w|OwF zkiPy5f#L(1Z{!ww9KpjBxM6qJF+$Szet_#*GR~xn={)tNgj^Fi;m7;YR@gb@YLVV{vI%(DjQTFO2g$;)PSr^;7oyH+qab+kzN#I6i-C$n`8i^Unl!I=B1XbpDw(*lP_5wY4gLanJHwH>-6%)$N_nP(z|@Tk zk_u^tlt2a|F<^bqn`NL7WL;v{RWHr=33 zyiTl6a4tX=Ad4=GCW|Qxl*Q0RD*zUNtO3?&)YLG zv;0gxc&Ht_bG*8aX^|yXs!+ubmJv$`+af#$9{1s;Os%1#fGDN|bzG$s$zb$g{09=i z$X^tfHfw9222u!B(07N%ZuOpNZzmMv)GZVH8;TS~fZ}Ot?`r>&p<#2D}A1;tPWhoYbJW_eISO6i6 zp)|`aeapZDbblcDyNB3V6g(dNBR{@d`rZ4~1s1S^zM|MUWYbO1 z8M#`NLe}LLeRhd_3~9?loPyzCF3U~eGcF|z2Zp|cA26=(cC|(_g8ikapa1bo=llbq z{>OHv&`UNH8GMzEMJA&--zpS$TMTu{Gxq=Z=m$<3a-s|{))(Fc?7|1Q+Hcr3XJ#?* z)9BW4?C213!F2v#LPl}7wJhNstW5_l0m($y#w-IEg}Wg9pqTtZPxE!IREq7K{Y)mM zKKH&-I6ft(c(uL0a0lOQ0BkEl4dgA`DYuECqJL+(**mx~dhksN!vgv&fny~Q+-=&- zN@$U6eb6xa9AIXxn|vETa~~yDQM_-n3J7JX!@281I70Ef!sPve0NciyOHfZNfA}iS z0oo(u*dK%vq7TSK-y3uoerpA_mcPqi+4n~20dB)N!pq?x#0)|R(TMOxoFecL3P>Up zGm6-YQXH)lzf&>rgBMqU6)5b0So{JG=|=L zJ0uCxXkPC>vEG*ex%|rq4aK=NLHtH={ZQ(^C0Opk(Cw3@c<7G2mN|G~EC-N7lLN|u zdH{Wl9Ryga=qgjgg>BT=1FF5U)OVCn?kjJ^RiSzT!1w=+{i^~TUvhq$Owg?*l%AjA z0t2B4h15}+qKzq0XD}Z)ATvM#eaE<&&%<9LkHg!kx1ap;>J8#86m&onu7mimnU;@1 zM_7-5v1lvzm&~7lpO`9_JJ2wC81N#JAB>@rm;p%nL5MXVvTG4U+uQh*A(4azQC+wX zB1le@q!<3f3iik09ONomLf`5V|7y5Ye>DAZL>L&xAPx+M?>t#>P2zlrq3@6cK3J)@ z7Mil&cPtBfl(^zU9&4ej!yl=|F@izCc)6I}pzbJ!Xl0pDdCAas_Z&zkBn6bx{%#F{ z4Q1tjW_CtN;QQbFDW#n1HW*ou#9fnx?Q7VuD}ezgohKo7(Tih~5okH{?aUSOrmA@@wIF=ysY=kdhyAh7H^HZ?K?o*(}0?uClW_ev}jUS3rM+!If zzZc9L1=yk}& z4iqSdcdQbbI=e=`&u4JIl>KIJVm=x3r|u{PFdzFcDt2p^;;6l2*KtrD>cs=}P?c~KkQPJVR7 zV}Vtr)UGBz7_PuUcX7zk49?zB?2_sR3VP^h}}7 zCGY4!D?~+WJW!c&e5l%~3yfx4$}5OsJBWWZDiBTODx4@F1V0$aZa+b1VGFZEBTR$yZ=UO0YJUx68G<@2) zV7b1{lw{5M;o9DUF|zm*FY7+D^j&ypH{}?oj~SXHdZ4*xi$nim$$SP$fLMDqJTbYy zinZb6@^QWLoU5%>`HQOXs5N^FJV!c#{oW*H(Kv3JT_>8DCFSL(l}>$w=Y0ujXLwLE z(v_8OsXp_fNj^-^9P%gb-Jh`ghCEb&wz6IIrJEw?oBI_nGTBZp%xt-WQihF`2~BM! zlnUA-rrJ)pLr-!sMo*!H=C))~_AyNqkYO9GDn~vGTb`h_VKDeE4OK25MP5J8k>`@9hO!vdCr#SO)G)eEoyiVxEh6)%5!n`4wTz zRWGpx7sO&gum4^fJpz3DKGS4`ZetZh`omb1n{_%Ws^9-d{o$uSOADM0%uCa1QOe{g zt*P;#Q(OV{72TG^wtrsP0D0KY@6nlWKGJf0UlSKdRb+$>y~2-J?7fBY7hUj#r%^v zkkCd}Zwyaa9}KRG?Eid=LyK$H#jjpu|COsQLvfwTKNH)PpA030Z#3dG5Ak`MHT;|j z0uy1)cTkJz)ZL^^7K`rG*yLdziYd$(c`Ie#MXiW`%nb1=v97y>7r#&k1ke2BB*JC! zVrI>EVjvFWv(H2Dfu~35KkbG4A~%v?$=rMmdIoa3ANp-BBp@(JZI&UMzf^>&iG2rn zSC4}B_kW1gcCR59Z`3=-bRoSK25g~OD+k!OAKLU{ZqtWd8j5C$Izr!tsOe_Tc5B~T ztXwkvdv=>Vtf&6(XaAj|y(y(V%ycszJGOY%gVv!qnnuSSKe-+zo{;&^MjI_Ai;_H9 z!v>G%g+5*>=G(XzxI>)R$y_%7*acoUxb*9QW5vG6bdNZ`Q*mbxmBd>c!-?H+=Y{+w z--ZY=OyEVEsoO&!?|gE3KHL&F@H}PRmaYC}0!I~7%ID!h-`8KYh;lc~MGfE>0`eFM zCU0kR^^)j!LR@D!)GK`>Jn&-?>?i(w$xb7Cfy}j^C&gHzZ@;fA-Pp{5>fG^S6Gu*P zTt;PWq`ossLH^a$iED`5urBG)j?9B0r~IL(*aC^f3rd>;%tYCG4P94jvJH8xOB*%@ z?`qarmsCaLxXh9o2?)W##U6tbI4Yb@2?M{?pnh>Qp2szG_#v+om>Z zpp|sH)!h!T2?KZzeP?`46quUdt+M$CE-vwgm}QKb`oU;=hOQ-OPj@A>wjmnAabMTa|T5 zt`mkYVf75r*N`#2{yXhW3XR>2K4!+gn7HWZWLmp5^@MuC*DsXg)}kHo8MKzgnJEc| zQ2+XMqNA%~AeFUDgFfnlcGvde+A-1Iw2}R$H-Ah|WYQB^8VZ&fiQ_lEsM$#eo)hrnVbAp&}jBW^PPM zT7U?I7hlAcs}C8WaiGf4kVF?STqm>w8lYH0l~A;W!ZJ29ODTnqk~+!AC~HE6SWM55 z&HJ7h(jUsWfy@{p$f_B>3ET$v6Kfyh-I^q)@po)gHVTPGA* ze>H0Z?n)W4FF5&^@*EMB9(sIGI`fjc6n^bKi>>G?;AuO@X``6OcaMo44&gsejGh1^ zmT}!dEg&g)9^y%&K*dn{%42Kb$Ut-$={!gp^8n)lm{Ex~5GN|>VJ>X>Og{LB%5IYD8L2MEIggv+6 zrbS!9e`VAlO+=Zq%qe|ufV*KB*Cxbct-#;ij zfMi4vXUrZ-&M&3HU4E5uD$#Fq(vbU;&67U)TA7^aKcSjDpqyR;^=TpPvBu=qg9MB! zuMmvlLfPs*((aKRg*%AUVVdGqfu0gCJRZT0{NI1EFu?qOOv$3#5{dn?Ca?b>;xw}V z0P~ax#gD?4kk+&ZyC(vJj2Inf5-)mB#8K#Vaw?=UIHzAp>m#gW_vJqhzomw;V=yyQ zJI^)N{l~)Ad?nFocZ|tO%2w}Yv=C1iNTL&eo6MHK(Me99j%C!%OGa~SUpb-o0#o2M zaqpcgTUcz{hF2I3EQ*7~3I&9shoXgIh5|p77EJ(H;K^Spv(>_>o)p0#+6MgJ*LC_IbfP%qu4kz> zx}dW1kH3PmIO~*Q_4aEmxNTUb1XaMf(vOo*Lij2kQT76|jCLxEe0Tu~1#GvxsLYK) z64ptDV*#^GbS3WEH9mD4Oh@+Z zO3X`~Aee$|FR||*M`qtNf2>wx=ubSuYHrUhuSx>GX!Az1Y!SLP4v}&5)NJD<_W3wr zNEU&7bPRVyJLMHbXhiH?G&itEm>{clktor(BC>M2DkrO1F4J?oaoWI+=n0Nlm@9NN z>y}s~((KJe%Xc*Ams?0pPgfgLVPwHRbIeqk;CsI0cT;1;yC|QLpIlECaVa{Gc!!ck zpWAuc zEj9n%+}wn=@^XuelL%VKLJ}`?&a{CJphQlP0w-&*%D^!}1g#BYE(G=8z+qS+ETP!^ zIE+_EhfWBL3TN4yLudKjk!|M0{BLO5K*^5zitw)I2^0qdf^&HZPi4k#QaOi}9wS!o zu?zpIeQ=5%c7|$yc&VgmS|=n_6*4mB8jd1&kUtu(BkaA=5Ty7VWV4!U^G0dS6YCpj z9_Qc(=dc>2RtXj)gv!1ZtO_>PXG}N&QO)^5S{!kirgs`5$c^Q!CZ|6>b?8UVZFLr= z{aPeis}-y&nHxUAck^#*e)FvO&0pcUjzWS`%0PSV|SA0eF6(l2&y`E_(TUirzi0^~8tWkMY`so2=LokrNXEMC9JqqAwDKx@*{9!e5wXCrX&Z3ED)%V`|sB>;8~H{+S!&cX$&Go=6NQi;XegDjY}3 z+Dor8k+^0a=co%I-e1`sEv?2`bp5TgZ`eDLdb)a-eZ z(-e~4^#9Sbe{bf+`#lt`XQ{xYT1<+R)SNhNeRm~*p4u8?*+|>Q*Ys3CVk$zG-Q*Qz-OA$R{#y~c$?U?1to8wHxY;I>bje88E zf#23Xxyaj!-1XTL;!AlsNi~qp)}U%O_lz)9>`LvQJs4%0PU$8Mic&&^7m9qKntQoJ zn(OptXReR@a7-rKLB=uf^lDSfhuWkPA6s|?9&%TG2>3)ie z!q@0AlDQT8rW}j~+m?Fl@nC^E;ia2iVvL^V{NcN55ox~!5$Z2Oc)azF?|7TZqZqY1 zb>4Vc4V#nQ(Bbkexpr0|ePBJyi?pt81RZ0GWH)&tzquPPoHCfOMkmp}Gv8>7{)Oo) z7evHdCd%TSN+7S@-ONhxMQW-F$KFDE#BnFz+V_ z@83>hV3?S(e5Wu?{odrBVW)$G=Vok5dbeWEAX+_+2tj}lEp=v-f3nBMA}aA}6y}mE zJi`dlqiFZlucjmD=jvza=X!XX+3O0=ZN!~JXdmcS?#%0F5Lc};;(0a%V5?Z#uDQ3e zJBw&OQ7;;2U`$w>(1dfBtKb*cwEM6+juHgz{#I`O9EA~o+=UZ>KVh`dI zpPOcl$onjYQns~3f&5SQ{47M;f`P2WgdEoori@AU4eIa4+T>VbIAU36qKD-sv{QqF zkYl)SMF$lLr+_|#pv_oLJ3@od7@X@c?k2WfaeZnY{$%V0=Iqo^ZnCJes?fboT&-kw z6NQp5m$qMj5T}rD?e>#7WgL^L(AVn^-!^MfIdR8#mhTCdj5>4TOOH&N9dzlI#f=wi z4P)U-&^mI*2HQ(my^(elB{L8eT(BQYx<+oRB;XRWny|5Rl`&wn?fe{<^8nYW`{!G% z>y}mIIz053b@WD^OG!Pzh|D4>#x65(2l!~CIJeBK!pHDlxtW)wmcE}T^s9xXm}#Xx z5aEbL*vF`b)F91E)wX;mlHSBM7iBn8rIG!#wu{XDzHLcHH?Tg-`)Y~PBKV?Y4p5}o zkTz1J+mf|7#idIyQJN?u9P#62xDu+svl#Vn5{izY+CH@XU*AW}DU}*9oH2Z>T-FX%Le5sv_TI#J~RVIf5&ZYteTZ zuPOR9?kDMqNasK%*O^%tulX+PfnFE2n4=p$#?%e}=olPSkdCfoEXSu0+G3AsnV^R| zk-U%2gIgVcGnS=Keistr9$4NZPVhwns$;ls9vSeJPlhI{s6}M8z5!qy(XqQq&_75 zCxlon9OEOb|LmN#LBQ8Ke(hhHa3(2sVc}N^gDjfD<;tc8o{Xd*;U7A#!xau}4!cL6 zNdo`k7wYLsg2h+&T=^!w?^TUq64+~4gYO~qC`oI7$Zw6fK@Oe7J}VOZ2J*l_g4sn94b_Ir)72>9{aA*^#*$DA+*Z?{xwtF5 zuJq{5WtUO)?bmP&rtoJ<)>?OKbQP0+p4Fg2j=f*1`ee&%Wz6^!4x;4!O`{t6KgPcKytPlw8~UcUa_7 zK)t$!nRDp#Xg9|?tL{%l7Gn5LDungJ<|x<4gHhCMnzucN<1KAdu-bU2Y& z<>fvPBWLj;P){U&<-u7}`U!U)xFk)hkI3`Z9Ox}=M@#mXuslc6Sb*iM= zpsp|kM?o2P9F4t8{|HCIa21VSN*1T;t%WhdkHZ9*XDhLa>*Z9&?e|U^F2*(zTbUq@ z^wa4$$Jh)WDi4J#tN4JIwU36&>(F1(G<2KML$aPOW~WBKE)>FZmJrOIc;i!=%e=3g zADS)h{YGW@i0ZwWNst+R0TbH!}3GDvPs~z7Dvg-5ee=#JI3I{ z?isiNu2tg7^y^TZv#s!MYWyFVmN{(wipxOmAD6sgNG-D4XYD#;ccjPY!JH6B%3)zN zsOHzRJxwL1>(dZWa02h}W8(IseKr}YM@ioy;KS0_+tu&oKiibI@+O$lbh2<9_GeOa^G+I_+4F?Dfn*ismxW@@K8qf6lop{1q6}#1fL|1U}C{FQ*Z5(_YZO@2l#k z>WeU!`l931e|k=`S;@NgwPh4q5|N(uHYq(Z@=q|qdlgFp`x)1*m+gf$=@VCzRX)Sj zHacu+WzCam!kxSgN;R|>o_^07>3v>eZTjVQmM9ZsC9%`ZrDDXTFm927-|ybP>7Lv* zNTI+N&Cq#4^ocZUOL*cjYn_Ss&ezu#V+8bXgL@EPEQiL9kgXB;EfJRXMR*oer zpZDI+33E3#rz?AIlwxk2^byqd?Eyw1@wd|YrqU_pC~)iDKu8hBR{!6c(Av(9Ev{w_ zkeO|&{!Cf_vt&k<#=?cB#V^+0tNlaedxknCmX#IB$}0jIFTLmwzPS0<70rP<1gHJUWz@ViyRzfFs9>VZ!Yq^%Vck(;B96;^@^t8 zc&9VN3mPFV`+EEIDto}oNK>E2WA-#9_HVK6ap?eQGx$)fOn3>lSeoA_! zxD8`V(TYQYIKT(XLBy{7TE9g|MM3oodx=PqrQ{?xqtxW`E~K2*b@8NW+IRwYb~vUT z{$lGCp38&v>f_fBpDsh_tSf}XRW&WcCsWgm@|LwkLeeI~s|d(K!{wB=y29iOsa_j8 z_{L{pM#a)*37M{!sPZa8?Kf7Y^Z69Y_{?H(3}ZgOYvbFfaLm>s9w3%4>ET$-9W=bS zeIY}E*|#A~viZ}!=*yRB(bLP7WvL^lFR(z}zm|Vqo3w5jjQwH@y}s70>2s)>w%{Cy z^gVw^x2K=Axg9UJ+T>dCywvLSSNDpnhN!q9*f8-_j`}5WT9c|ipEB-s-E4yGFL9XsVq?wCzDalsJW@LZ#}_Z_@_Co!_!Vdlo%{Z( zeP2jQIOQyCkRH=&t|6oKr3akdUHT=(kvcJq)W>i}NI*m*Ls;nChrw|-`-q@@$F==- zF<NJ~q#RU(F zBTnp2JG&VjEg-3>+DEDzh1Ow={?&MX%JJ{}=jv@*dsOv=V$Yavn4f*kuiL*ESr|9J zJIrdc>7(m?q2%xMZM$})M-^phPCL_R#l>F`%Ms?s!LIX*=)u0B#2AN|&FQ}BN1Jtj zZ9*3pviaq3RbY}vnmskei)9j1*Wq0XfsMNnugCR(f34&Jn(q4nm`b-0%G=6XH=#e{ zybrB=eET|K<*|5#(JW6r7?Te&1!<+6HG8oq1Sul+vRTQio+bI|S)OQw3V+pThzxWF z0uwZfU&IQVP!#)oF~QtnbL}u-cG?c8;Np}J2<6cD5nx!LI+1d6b%-g}(XqV99xGe+ z?UnK+=*9clA2zy{G8LyH;Wbm-MY%6Te9&s7yQ2PV&SHj9@SNprz z*2-|bn^-MD%V#L>3-vH;=HgULj}6H{o0&rs1F8xp{yi?dPe4`F;i?g761Wk2qcbUn zM5hb$`NO`uPm;G#u>6qzj!u;ebt9Qld`mIa;rjJR@YZ1Wp7^$Y zmhKH66c&{cmq4uq#C_MlsNLE)ZwF^)OS-u?$4(gu4gIepEMM zaJ({SIo4kNA}Q(-3Zst8>Dep&yB*55^WtqN8Hc^$H!$m;m&rMwe;b9~|2BVod@iJN z?HQuAF6^k9Qh51$rt&e9a}bk5m{fXa#s6q@4VbAPl=Ka{?srXY^#f&7z3Nw+x;uL?-l? ze1`H+H=i)*2fpg_CZS%(F|?5^o-ko7_an=sra(rg39Jzdz_cTi`lw3WP1yi+iC3X} zs4T*s_kHuZU`h48kC)RbK}xgYTT7glzGq3ZLGuL0&s(z7?z{=AUb-oGT5+t}%Q)Li zW2zP}t4{8xh_2bR2K8DMG*KPAw?M3<_%Y1K9;tB$$O39cjg#`1C^dd9^;)%qHs|sf z#s2Eok}^hy+;A{YmNqPIgF)aR`owlj3KgE*ZUNVrPdL5 zThEhftRv4PF;13Va~eAa<2|g;FlK~dMY*MPV+Hkr86!i{ugCQmGw$)HZz+;;;@}P( z1UmGX|Nb8LNq8920WTO>B+|Ay>mF%&$bQ+u5RxQmqFkhPi>&cZ7pBrVql0T}uzX=) zx|usO=6e@+;wu$*!ChL>_cIUMU%jkH%EDLr$|6_B9g%zZsxN(?<=}(@b1)=R$1(GU zw&A)^Uj>SWK*5V^Fay;S5Flf3xcT1 zd7sIF1J6k=cZ@r3r{}#tRh=NphoqHIv(Y2qpMK*=PkXnv@WoE@ySFWba%~yaSUm}U z!WrD{1~E-r8sZBt8+8i7b$F>y66%yESWc@8tov=@z7SlGh1%~bRGpS>A>)0j=P3j~ zS`V&(x@$JtC|3S7mjBi=XmBSp5>$y{wVz`1^s!ZIVajfK<1y6Wz@aZc-SMHInl*t% zVv7w^Ap*+Li{?)ZJ$~vVJlaKpj#vpg&g;MZnU9zBB4zb*VK#T+e;yeufHiho3Ljbs z$QnNw$C`P#k|I1z#u_)6z#6md6Cal4SlEEy`6Z-99({XFq>bN#poGnuW%_QR8M^rM zHx91kKE@Uv&AQ7%^hcRs5<1j^BT^(dwlL`%8H{cfvn}y8mh^Cde1>Z`$(2<;X4QYX z17tddI|Vksb!x!7; z0Et&mX6cm^Xq9anKu_c=;xiXWO%eXREHgE#=DMT_3aLkN^5jRMxjvY;utWKT+B|siAk*rK^>`BLyALMsL7!;^y@_`UiLi? z%po?G`hBSuW5P5qh;XXLS$M=G+{ESgC$?HQQX^0Jw9&V(C<{cCTWk30)cmWhwaZ!U z6}1iALm-m!@Ux&nm#aQEWTsg+Ww}N#W* znE=#wvzz)c-RupG!i)LGSTn<}u6gp-hR6LEd(ob#2l4Jw^9V9R$;C*2@w1M~xT}Y_ zvzLxw~HT~nX@rdCI8-1Xc zDwOHMmyQzAl$>xKom_w*sin$!I3Q&$XeD;kTg2tfX%#wDw=!UiqARbjvnbdskyC~0BJzm8|6O{ueN)-has-B?Mzq|G~-{&F~D7{il` zqOIB^d@i858XnN(k+~A?BZV?-2cf!KNKl{CF@p;o0Q=3{(3mRB1Fis|e})J=&z=Wb zUj;gN764kAxk$Pl>4Lx7ltrxg$U(yb0dd=vSHlOC9HrTgXBtMT0;(F)H=yBS9PyV8bj*UCnxyt;YL@L zywo#|vp{`+EmVEXiEZ(H&8QZ#hl5XPkZrh4aUYYJ4SXWH*wQhUm> z4XjQ}OtI&!^MdMoC3xxSY?9{-X1%-}gXupE^Gf_MOgPlJltvnmrmqzQcss%!Y7c7q zUc3b(NQnQ|XFW~wq0sWYP`x)_z$&`^8v-=>5ekny^EuzpyYH3KB?KH}4pV{Ha%htusa4oEm_E9OXdQ;Y$!^ruDG4^i!dY3lShE`3Euf|9vbVUsQMz9tu=SLSTNSzK$vfIVMj z3gg^&$`7Lq#nTXziS@otxGIX1LFF(wugn*?7@vmsX3?KwkF=URQqc72zYNcT0)gSf z1%2H`vuLLgy#lN0_04MVXE-yc;rsnE0Ti58C4cWRTdRL!GEKRrh+XAF#;TW6IrS(! zTdTU4YYFmH=BhUypOHNCBXT4?h_kFU_mm%Hx=}^tXBhQ~3zNBt$0pNfN&!(T8x zQmfDp!^aSRjkb98RY$3}+L|?&p2eXvDbIe^F)@X;{&nMCv`h<{9MzB@gw^K*SIkyp zFGx0J^$ADrD=tCKVswY#BFB7b^cssVVX;hz=)Q_57F>Fjaryg9-Pc!PS3x4Ctr zazcAg%*s8@2jZQng*O$awD+VBb%&rgoa^ zn`vbRwfdj4n!@AXqwv?$->AeX_x=zJ<~zv97gS!N)0SVNg>K z%0Srmf&ut2a-)v;bHj-cxN$~sy=6nfx_%UX3l~7_?AZY`b~gZ(=l|fTXRjY7A0X_l zd+48j#KpkRZ&(qxH};5$K~e;<-7_eM9W|0JL=q_zf(Z?G z6sUAru*~D9ajXY@YXHo`8hd`g6dk5yjc@8IUA~|(Hwu+Yx=1v$W~oQ_r?ll(87-)H zKt5du5qrVg`kgVu9LG>@1FijY{f|N}Yl0t)cJT@(!fxSU(K)KKcqyIW_WG4VuZG@2 zmzC(nhe7tp+>?ysMLCDQc=8;VqIe$oX?!&%&leBG4&~B__#h#|Y*2S{26MEKe`y#k zfxqJOma<)jLVcO)8v`wJvA+Ng%5Ojl>L5S{b&$(Ze29IBot)XKxO}56EqbmiEgG#G zEoQC@Es)lQ7Q@n>)<{W8_rX3Fkn5TIq7kM^uqhmv>5b`??M+Uv?~)7Zo)-rP$9ea{ zV&X-475fYZ*-+M^^JE*ZZk_6&>lF%@9>0fs;`ZTgaWwFp_?#bYt?*h=PmrhJ5vAWh ze~K%~jeG^UptlUft<+%o1zYJC>@{k7m2tKtZi~D2hW)(2?kU(d&Baf%JR3hzYscF- zUifXiAp)dog6P7`gI`km`K)++$~s=`LH-%*Qyo2G=lTs|KBAJ*!4>O*Gl;zft?=Ju z3ipNRbad@w{opC4MRiWCzObRYdQ(iObsH@}bfsgL#5J!}jCN&a$B%Tei`E#Vah>)f z0BxlR(4x8pbV3v8gj4}N&XeDJ?BdWv2PjMZC<*Rr3~*q*UkoE@L3b4b`u+HmHLFBG2hbFJ}VcqC|e2c^g4eb064Rw?t@o~jlv zuKL!WTl<$HvuR0xZuOUC^o5L$=Es}N*vXpK>t?F5`_|o-Pp**8`N?tU%aj)>!UWRUTpsIMff)`LGU+- zP%KCD_ISbc^qN4RPxY50$rGu}0dnLtMQRJQW^N{1=-l*HdKBsjwSp!@0{|0(0caCq zGjOAEd?c%o+q8L=aneNG#`r7TT7^UDMslwN4UQk)j(J5hbbaW)V!OWMGH{adF8IuN z2wZ6F9*#E-g5!-vQrZXMzoSE&4krx-@A;@XJJ4bF`JZARH1tX1W{O_A@YTl!;=`H) zmrGziiUf6pXH^TEGPfXOw{AbfYwq`ljoVzq^LF`|((d`dPWODaa{iw{dV!yyBT+uU zTvpRL9skp8lZ;`D@zLF#xIhe4MPQorqBQ=_qMH?HD>v}fc`)e8;FKMyaY_!m$Y}*$ zW(5GiTmfyiD;S|;omly&>>hL!W4BEwV_2xDnQbK`RybZNNB}GBW%G0PP9CmgnkgAys~t|M%ue^BK6%eRX#h4E59&hkOHtp6&2jBIt!jQ$Bn?5b4S?B(IVF7ED?}7>CqNh`&e#2 z&ciV1D0d5BSgt{Y{1%OQMy~#RuAE%4k2Tk+b-`#f{NWYw-DXN$26I`$|CV+9+NwKbu=~0|KVH}Tbv;nj z`Rb?%*S{TftNCiRyFQxn&5DWH0FAy1;miKiiF1*?ndH+|un z^eqz-Ek_sf{NODT@6a}<(ZQbs@yj0v`Sx3*&hrvV>Cr=8(fca2JaprQ(l4*<0x&F{ zX6pUFzQPQy)*1T4Ch9Qu{18jurTY)T*}z3q<`$2rHdw7CXkL7BUgmIh;g!U(!*SF2 zifC3H*mXuU&~os|E!FPKsBU>~p73dCQp?i))C6zwT5g>MSbjhui1FFq0|ikJ0Ga4O zM|k0}@rIN=*!YY|^p7tg#ttMXlUR~AFRxJz?lVUJ751U%mrW4wSo;wD`$eq_XB7^- zyoSBbuHR)r-NpWFu6&CxoxlBL56Z0{`Vxu-_d(FRRl31-GH>xN#DD#Ru{lRXko+>O zoLmTX_}h5FnzI}q7d)L`1uL6BYa}%?2wKUjG2pcUCm&xp97-)KLABQ zy1zRsV;xp0o2&+Dm_sMi!Oj}sqa1oAFvM94yuw+h`la^`*j&mv=)oIAx;GCf~>71oi=bWRJ>71wa=3D?%A$$?*(7B|9uJbeWf zwa!(*9nLjcCeC%hUCs?qwmLTfH#@gL$vU^mb)7r3aGblKZ*lGcZU+U+!MP85jq?C_ z#(4<(J_jzrwmHQPwiu_AgDuP{0lwGi3_R_00o?EWle7nMUg{ii-s|enL8QzftDV&o z?1Iw`ET^6B4&8g~LhL;0^l;R>IOHt--JTHk!081z)a?y8%IyQ#)$NN`mz;jUhr8u~ zH=O=}BisR?Pjv5N=RD>Nbm(U^27zAh+(BPwoeHN3>+B8&Pq{n9p$uXuYAf7ffTx_{ zfR*kD)%!>%!OGlG3LovL38+N%NViIn#sDAVjs+a#(&6o>GY+DAy5k}Go-+Y(ygL!K zr7j&=2Dp=ek98*lj&`Sjv&5YWo@>q-sCC|%21+k?I^bPr2Izg=nShs_S>PYy&W0-e z+&Sns1?R)z#hvHShoAF-7rP6e4x7su!~D4wOh_&@GQad1ZkMN%%SzO+|k%o zXN5yw1=3;cjI$Dy^0Ixf19f}U?fIoCj(QfRlSHs=_N;h{SU>}!m zPi{I>oTpePcM~X8?qN03uBz-zWKa86bsl@JO3P)cH_Bj4Sh4Z(B-vYS>V<= z(jI~3;KF&OJraA2%f6%8qu}H&dP3siYI`6u?d~Oqb@yTXJKTI}SHfjoZNEcHh7z%T zO8kCzrY`Lr)1bD(dtj77aw8z23u66{P zopX;m4Vlu<3VkBc)7{Sd}Xw7rkIv#5LEUZ=Zv)SW{IoxRf-ZWpf?j=sg9 zombK?DA%~C@Jk9_M$6mo71iI>SOX|Lg|jkGzpj?=4e~2&j)e`#!|z~zom}Mw zB`A#YIs=aMy0~;pQ3`yt*A;NMSLTwXySda$cTg(59)ML|Px>+8iJs_%(s-{o-~_La zYg=>RW*%0TZOuhY_pqwowdWz0dv>`?a<^=ZyhOdt>8)k3(UrHy-e?H^F_1ZSf|$I1PA{K-uL@hSXYb3Mj|C zserq^X`mnUrUUNvW&j@bX1e4Kvw&~+W&>caecE<$Q&E(hFCrnOFt*BBQ+RinkgK z&UtG9&wF%UIPI+ke%4zDc*a`~c)_ES#bs|pJmQTYo$@v*L7UOfMQ;n>C2y;{+_jfe zKi55d8<=i;+v66LSl#q?fOHF@USc=AotTi7oZa)Zbj*@*DZ!!s?|WIdrM(7wfydfQ zdo4B*->0;zhhL3;O8s4s)61uegKmC}OII_spqKb{pqKe{d)(9C4f^lc9?-k^wXi~G zf3K?&X*%V1_xGXub?{!Fb!cy|M|R@7lnIXWDL)7R@TNjcSY{}f0I{L_H5 z{4;>_{j-2G{BwYF{qy9={snSm|03W#zoWD_BS-h2xrE|+AJK^Yj9rN(UUgO6zJ{80 z{&jL^{|4Z4|0XK_0U-)Wh<_V!txvBDR{3{;ukq<(exrXEJpYLJrLj#uA`x5W(-r#$ z|ABHpdPT6(pN>eh)PLyGN6_^yZT-cbw6}8J$=mKbh-NJ7cLvPc%C4Wx4rPNUxkK%tI0 zpfPk0XjEMT(yuI_k#q^DgFXR`r)Mz3qs*7a(=C_@*gK%{^ay6DZe{~74QQObf;mvA zmh-vZh#)a9?qEJD`UeXD2LuZ}`k9nP&}&ezSm{MNRs>5hpM!&?ibCTU5-bB{Sg;&$ zc(B5w)O983<-sbzfx&9fhX!jr%6QhI%iRe7fw2yCV}kX7V}lKVmBB_e(oMj}1)Bk@ zf-T_Qi$xe%Th&L~+d!QfYzLec>;Rk`>;ygSA+FIU^;wW61=WC4f?eLb_I}Q5yqSSs z3(BmZ4sdorC!#sQZjXY>9%Yfe;5)-UVM=fx+FLPJr84v1x=1(tXqR)!Ii=B*sv#1u_ZVO_SL~Dz%{{X#dOA_ z7yM^ckLN&N8=ME{#^3_*4Z%gg^}!{;Rl#Mzb%FXuB)9^6Q*hO@t)p0B0lNn57{YtN zt^+%P4JJS=ecwKb#Sw&+*zk@9H__%$aEsPda2q4p8{DCF6x;=VBDhEEE4U9m9(e2_ zEwf+=njH)3fgcQteQaaFBv6hAivjlpoj^Gfl=$!4r?IXANu8Vx#sHpE9A|=AfainG z;5dU5c%T!gHrIF#Xb-qs=sfacJj#lxTsT=hXW z^jaKt_vu=&2k=heGWTWHIV5@al*SK&p1#IP!jGkW0m~#z^ztbz_6BqJu#c}Mqb~~G z!hR@}`>cQb7~s>7Ob$d%k8qGrTUZ6~-r-=tUf~d*7S&M2GYpinaJWyGiP$KRijM@P zXIMnpMyQWMp?^3UuwPgSSRPgZ4hY8p4h+Zo(!Pw?;SUM@@t}+dC-~%x6MgzM#*=(X z)+WbVPEi$8!89tI1~@dF4mdiT;nO;y{dZV66O`fMEWnZBY>2)}qQ`{B93_ZajSES_ z1l4w;;v64R+p*zXAKU+RESAuj2lDK2zOTMC@ackZAt*Cdx6_q?sY<{!C16Il2yj-o zSSk41xxRgqx}6s~OF&;5E{*kH=F=xk%RyQYt^iyVt^{17dY>Pz0=_t04Y({^1Gq5! zBhz^=du=G!qPRL-2e>9&54bYi0JtjrJq)}l6dO_45N-n87;g5_Xp6rsNvQ9DTkHvUg6%+<2EH%c;S07GI1adB2J8Dd^D~_<5rClmm=g6i@sV>o(csyr)l^)Q2 zSZQ<)9dwN-Kk62phc(Kg3qEC%7k%~J%Owaa6a2E@Gx}_2ocel4SHRRix{B&+KD$oN z7u|^E(owTKx{3PH(JfR|MYn-hMt1-QMR!3N7Tp6J8{H?rjvjzMAbRL0SVdG1d|*@@ zU`L5M0gj1Ef&}Xmbp}2n>H^p=Dh(*D?FxKcR2Ijr#y)E%6CqaMJAMm>S|ih2Q` z5cLKeAN2to9Q6$@`F3|2$doAR7tn$(4_;;qB3j~$qW-|=Mgzb)H5wSa#HL4s0B1%O z;QSaH-b-v+bjrfHH5vkZRx}iFMl=kq=0(E+=SL$znH`M;To{%6=&UDowluOvfwVjt z4MBgxJ_omssz6y8jR9N{jYZ>S(Kz6%qVa&MqX~hudkZ+@`p6(>+!##^8r^VHM4q`J zA~)O;ksEG~CIv0+zJhI!1B#;b?ft1}83de&=o8h`5q*b$ zETXUOkI?T;XAb*3`&af~#_}Lxl<*Zn!s^0T1_`q>UlkHAZ zyYY2_!9#}gI1Y_Cx*=8G#(Ak>aLIN;10-OGlzy(#T8J7$*W)*N}uRm1K$rl?~u-~ zgLGK$Y3Mg#gXh>ySnfG&^M-hi-G-*mu{#*$bF7cSh8b+R!L}Rr-5_D_GVWonGsb<$ z-D&I+32le*AV@eh#zXX)#=1zDS)(4FP;C^43AffbWUykB^)u-shA}2vV%nWTjNU8> z6Z&$qbC|GJnO#DqercG{mYPToj1^{Cn6Ouy-9i}0>>ehZHS{XJ2N*WcEBBs2wwg62 zyJ51<7VB@Zg%(?4@m?gsT4BlFKvr6P(0rBEHEe z9E>NeGnUpL?ao>Qpxb$CAc*Iz8Z94XwFyoSW9*km;=$`D=4_ z-x6fK&k=+89ILnZ5C|-$cQ-?Ubh9gLHq7S3fDgAv*=(H6rrE}DNJ!|~h>#hrkTJkd z23Q>4EyW^_j|vS1q$GC&1Mg6b82YlqL0tFk;5V<+eeD@ z^Ld68DEB!QkRkf}9E(R21AIO$G)(a^@8o#X(PxP>0|THCh7P(ov%-Ye*O`qeEp_H# z8hbl)p-X3HUYIb;ocWmj?#_ZR;rDYE!dv<{i!kjyodFJCOlH`q^D2ieaM((RZF1OQ zhfQ|b3^!O38pfMQX$q3=p} z3p8EhZiS|++-(@;GIzZzwxh{LcLzDByT#RZqTlbZG&KAU%Rry+u32ckJQKzA=06QQRnWXDRuW_?Dfbg#PX zrb|}%;6FqCyRhZ}{~l&& zpnpG11jGCX(7T`i5V}e1WeIzbUk}wn8WQd;zSc8BNb-9{3AxSh9VuJY z`0Ox7P01L$@3WGCA-@?Fun7U}^Ya3>Jiul}yHj<*Y6EsEU<=sg>jM_8hleBM98(!ApH0W^k6j}MFz zMol;)QLvKiAcnL=v8X0!N)rLiek?^$P zk>MnKZA4^Pi9j2PeiNoPiY%aOqtP!ij!Fnkgj!W(xG>8YD3K7_*vK#wkp@Heh}fiv zEs5B=h;55lCSnI8R>dVZBu?}E-zDR(^Pfs4{=_GMs{JSZaRu3x^R7ZNeInI;J<-;C#rLv{Ll8J|6<^B+pqtcStB zDcMWCvB66A@=$~SK(fy*Gx#qhYrf6kS73=(4jT0Pd|T8TybL3KwXex%;Q87RlYYHr z%PNzvFePub$mC5WYrWXy<06Bx*R6FXKM20OO(s8t=j*#n{+?u?zi#p-lD$!4@lKXx zZOSeFCCR?9z~awJ_Qk~(pJz$_rR5f%kLQ=yT6_VXe^G1kFG%*4V;0Yo?5n3Oz7uV~ zcHQDHOZN497H=-uHy&E_Hy+;XYV*CQ{N^B=e^;`<9BT8kDE`$*o1e$?TVrj00ncww zwfP&8{q-E1|4y>EHrV_wsNdOY^A9EaZr0{KZOOiO)#m;2%zt3>*Cl(q*x{d-ylsDn zFS8~8ex<{g!u;*#JN%21{a}T|zarTWH#+H=A9)8_%C@bLkHxyqk6T_ayuI0hi}X{)>|?pQ%gs-g%e5 zE!i)xxcnG+e|5v<#~sQ4w$$T4lI-t#dHfp41^qmp#-zPJ*yF#D?C-~V{4$D#lRVzj zm8|_#kN0sU?=ZvTeevu#&*S|-|Me1&55x0=)gDhtmRj%e(J21rxX0g@tmvx8m!tUG zJ09PP=l^-&@ttV>J7fV_lz-pb=j|o?a3uC-6#rq8&pSx=k5heq48?z1f|2|QXS+!#|7+iXPsQ`!Mh1Ki zp8q~R;A`>xkLdy5g6IFmsbd$O|A}+KUOfM6TfmRt`RAPhzv@X|jQoIK1Ja4t1pGRX z5`Hq^H^9=FUkG@KFIg9UBjBBZl=9mFF9p(-cL{k{AZ5Hy$Ul~>8?Oj?k!0O@Wyr_+ zlK0?~LOvTvPd+E)bHUn+FAw=|CF{-Ch5V0__2HXC{(E}Ozdhue!O)MVL%t12Ij;-( zb|C%vp^*QJWCQq_kY_*`$Zv%_4c!LuhavxiWEH$q#Bok%gL(IeZ1NU^Kq*t8e=W1Kc-(anJ#cL?Hpc&F(-#}`UO9pra5kaHks@@e-`QFct!OQMcr6v zAb@@u45_|6L7$5!%fXUPmT{n+2y`VdfIumatJAL*bs=p-E!Q^vYH~0a>2#_mkFiug zo*FEgJPmn7EVf%E5Zzm*i|rOvkG2sh_N8>2OoB7^b|%|?e3Wg{gt1Jao0<@%Q^R<2 zVkDyA3Cg61nkGziJD;c96i$wk+XYj-^%jZmF;+Mw%Ig^@!az}(oEmZPatqB?JSu!|8_z*EuiD=G}Gu7yx62fs`z~Inf|5%F* zO=u=LhBr=YQ+P>k0-u(KM}91zTVO;nWa&tl@b*qOO*`@G4>33!C%1(a@9>=jMdF1 zhhnffzGUy*z@tQ5o5?173IUf+Rw!Tk6xSN8@vMYl-i)m`B1l&@%p(25E3A%!IZ--) zPQ-JIgk-fJMYiqz$hM!R33!Gk2(?O&WOs7>xb`!Tmdjj$Quf@gG z0MX>R*iNH@93fUKS&Sjks%=(;(2?v#oy6<&MH7HF0=u2fP**T1=A8uIbbdF^ipIvYu`vyGgtuRmTkg<3hbSdJN7K_Bk$-Vi zuq4U_&~{65F{qbFE{;Sdc}vjzG&jNf1@KbW#db|5MKLWG-{Qi54{#Z1{tCIaACELc zS`o2@W;yO`%r;_!-mKW`Xb><9mqw70fu+ahFGF~%CBiHaX5|QVuv0c~W>6U~eu^wn zdqfoy6D5Jb(?)Wn9j!VVvGa5=@~dKk*+EGj10!@WJLn{I4D3LbpA~d4Q}d%rk_>EN z9CX&`9rWsFrqtK3ksW0AnIZM{u*0hqJ>H`|1fjQC+f3o|Xl|3Ium+Y#_?O9F9`V$Q zs2v`tYcV(8AzNhfTkzD%h;(aPuqr}G$WTbgUj_61xUBfcwb{35dB8HS(MHpslf4FU zY_tw-VL(%T^z_swE;=Ir7!>;lS-MPAz~$6fW49O-yTBmj0yMh$L5{I9c|&j|EVn_G z#bI%fNUn|q?H6&~|1^~tddtRu(~|;DD+)zUE?}t0+PaaU3l;Nd=9|QEabd%*(x3LD z*O7AAt>8>+qC(lG@PgK+&}&n;HfmG&Vw*y{P2s!v_nvqm{$J5g(c<%uLf{*k@Vw6y ztc&uN1j%(+Fgvi}^1|m*w}a#k6`R{g;RSz@Zu5&)HEq%bt=hF>MGJVkU=@F56K~Gj zt>U6+B`=s575b_5(YN2AO+THtEJ%N!8h=6Ku9p=wiY1&3PUc3ss9VXhw^CxR8 zxdA;xhZO;csg3ZMbrj4NQ>fa;QwuZ-RfU_P!h>e2Q<&Tw@%MZ1bpCRz(H{JL#DC(N zp&DRWc`@~FH*l?(n1N@`m~aC?;evnZ_6QYQoYt+}M#hS<2tI?mpo z5*0wncHIRpni3Um)^ggkU!W1^#sDg%c0>&!5pwd+1dRLwgJ~$Oi^JvSoY-oLI8D>3 zsk~iNUUX8`ZHepBsgpdpfh*G19Q#(Tl-iano}ew}po;Nd6vFj#4uN*$jL9pi=1UxN zY89;E$u+9{WvO{VZ$VR7+vWqF`B3$+JtuN^Y~=h28vFK_k~<}gnc+=7gSAm+5}H3B zN4YYSH!!uY)2aE62AyZ})B_DJ@c|}eGiSxmeuzxz0)&3Re=kzQt>iV@faimdKaaD7 zLm6rv4dZ@1w4FIU&XK*ff)!@Y$m%ggYq!D_`Rh$qG)37w9dqZ;;;f0vjF#}^B0~wv zuzw4SUYc1Dc*o|lf8c$WQz24j908*^7c#w4ufv3c1W z&r9uN{U_r73!llGV(0G?Jh@*}JaxH#meMF!V3csc&!jSNz>CTO)5#-hUcMr*I9k%$ zIFFUoewrlYl?vXzN@4V0DjT)0j?&3ns=-$!8oV59xi84ssoB(uT$0pKM6~!Cjpx&d z37_=!22o!pQU4bA9mjT3B2;_Yc^WO`T(B__!wmKfj!YId98E=>0FrZY~@M^-(*HWVkL;aXw314@Ia38di06`A2ot)YH>D)n@ih zviZw2pvM)%i3bj}>4}i~mlSlrL|q(-eQg_$b2?Ghex6nsue0PWlTkEY_e9gbLet>y z;%NLqJm-tF(hsrve$Od_p|8gqP#;GFs*JZQvQd7C!HSNe?NQY#IbJBd*|+~PPBi)M zh+bBGOViYFGN}`y@T+CTUsW04F=Tyt$Aef}a;@^EZ|mUv4JDgjtySD#nA_w_Pz7q- z3i3__1z#X){uhu1X_a{=gUUyQ)v_}06r`QuB6^up#)iIVwzJ6{Si`ZD)0AzVQ6~6n z4RiGl>`bfsk2UF5wW(9Qyj5Mcy8S6`X_m+|eKwx>GeK_9>mQi}^fdVM&f-K=nRhN8 z38cPd7_Ns+n?})5zS>cTE7Uyl&06Id8{ruRU&xXRkoN1W;;**qC=;(Y4)%QTSTzmq z0*$tjg7MQJI>^)_QFun1+fje4a*@>}r}xDm8+#e0*X1A8L_c7xgG@AuYcBQ&5k!4D99GPH5V zA^tdT_XEA?4v&}p9o~K*rB(S7?CVunnc5K8(DPg^hfjZ$22TG(8aO>p0}FRrujb#^ zdC_!Ev=;3TMD#?OKTr_zdZPV7MJYTKr4C2!k3=!s(cJTxdS=>B3*z$em|2D4=C4&D zxEG#yjFgMaCnHTIn$zR6MzTh&thXtov_Kd~w$<;QINK^-#cMK!Po+*l$Ql*+GRb0{ zxZBcSHgYkR!gwekeV?}eA3nD8|Bn`Uje_EFu5Nqqq>5Kgo8NAm9HD8^ljcEqppEk> z&ud2^vt2H;3*xO12l}I$P)&Z;?q@76rZcH7BCktWnMsw1$}IJbQa0W{@_0#Qb#j?n z*gp{PxwqmS0Xo`BN42SaOnZId=_r#tB4}@z!Fd)OAhs+#6Q#~ZACm_cw9L@C8IpcT zUXUQCX-9sLY1d8^9VdJINMeY~}4E?Ty$-Pegw4bXoD! zSdD$d_Lp(&f!tTyFP3VMRA`o=F3>coTdubfIsR*PuXU8KbyPW9KWs@ib2kM*n)CRi z1L=tdTVowJWy(Y;JezY?Y9NOhQ>*$~LeL)BNd`LA)h zJ;t>t8)p-wDpG-u>eBglkx0Q`(%JkyoPR`DaMd4u)KRL-voIIX5PLi7iWPdm#x1kd z*(9kh2xhfP1P!D)IZ_h@%;vwwdAIo&pJ1h3{1Ksq9Q9GVlB)cx=u3>LqTaGNt}2y3 z%UHZdJIJaS8Qc8VV;*NAT?d9FD863H8zM0|SsG*uH96SIS|qodf~HB4v&l`?qf&B< z#nU)rV@g)xU~P0T+u!7tX;D1;F|CPYye4RFHfWr@Gj9OTzZP+I-x`nSQEJvUo7exz z+BuKcHmARk^Ak;Xy+6|)3Zo`+8%RYMUj$^T+h30w?okJa4asG$drU#o+{(;R^2$|r zAAd}H;R|uIAz0vfL&I2Jmaz6W8f6YsGBLWJ(i!G2J~6r)bsO+%+f2hCQEGuw|Hn#n zi}N>>!hV|?&*pIp<%aV_Tu}F#VUCo#8Rd-(r=nZ&Bn5JQ=0eU_DOh|HW{NkLscM5s zr%AC#DQLTIT18888_q+XJgIK{-=#e12XRt9DmGU0Ul-lvPaHcb3v5v|g;O9uZ8ipS zgqb*y*Q-FD%?0wGKX$Ym9gBPwjZyOp${auSKJvw)ZR)JP@rms4Jqy|43X$7|<1P54 zrB?9=yx>*@QvR)or*223@xpE7$*U7c5=vDjNm(Ig8Ed5_p?PD%_|9@Fop=g2Nh0Q7 z2ryNVq(9|aEQ{rbf~Xa(5?{!*DrrU6>z@!%Qu0Wy$Xg_7LMuu>Zt^uspp;-yxJsl- zjdcD(oSSeiKN}D{735zEbPO32^4N%@pET&xAdFnIK;#IN^$1=XA)=BRrLpL5|Ds^E zXqIlbT8RJFOY(AH;%ImWXF|#Dsxv2*@NpOp{YeZI^XLi-s(*i4?BigTMVf^yZu#cOI)g~^11)v5`kLG<;lq=`Rn^++;{2y6G@q-v7(F;pWAn+@PH=| zYPmjfTpKJoiOkP(R?(2jFj%dO}I zOv{2VxBD^*#b2%|xMHX+np~sZ6+N+LAIAnB}f{G8GtauPKRHSHfKSjQo*DjA0O^vTg83 z)xV+Hq+>vf8g&4*sJ>c5u9(QtW~)U&Gz|Hf|K_=HFp74~@Wj8` zOq0KjQ{L2IBQ;g01|(!oZns>*lbsAk=d%W$0gXI!AMunM>iv<*iL=Sh20(99y~4~= z9;iqdO%Yk)Q;&SJxCsTDTD2Nb{aZ>Cu@PqSuM5^hEuBp2h@h-{CQiA8BJqy#V?gGG zl?Ccpk3bL~zn5{6^M9zD=c$`%$PJs?>Nep3PoCx2(pb?n;`tr%JRJw5exh+8_td`i zdx}0EQgYpPKh`Vp|>wIr`Uv^r4;5d6>}2} zH9w|Iw^6>b1yjj-rsx2t%Z6!umAY)0rY;+ri>9;sg%JY==5Dpr|*tZ z9lu+&eZi7Ac0WIm58+)B`y*MJVA5k<6HK#MS%L|VbxSbrv45mP>Ca*pSe2WsoaN(X znn`s}nO43bLaXw>R|Ur8s@7w*RK{0FF0^uY*tDKl1J%gsY+6?!TbvayXSJ-WNMCuO`oMjSvkU^fr&4eZJ-XNc4iQe46!!-#o|uBsh0I zpKkL3``=zr{S^P+(_UzJNi~6n^sk(2GJZ?-Z}bOHpN>DA$rN=G>1gQKN^drRQ$h<#m-dxPpG0ruza5c=_22gFBH*v`M(}@_Gi=9BzEEsk}d;& zt`&zJ&4Rv(c6}49xNo9WM=M*6lVz%3qPZBGEKg{e!v2ZWfJ6s6x#9mm*P63eiuo(` z{O4K+E4e1nA+wkpjwb&B{XQnh_=KQ>uwBTgH?-{_>C1qzf9z<{;n$9u(A|XD!R}y< zNe)c#4t6=HC=%P#$Li}FlpvjN>jE_G#)Z&ifZ(+*$ixSpS@5{-90Sx_Q>xPNF0q@49eIdI7ksweXIW7np~jrf zCd<`jbPwL>wL{2jdqQ8Shg9w(h?YM_P}16qYeMS2iVQ z^{~iu)SQ66pAgVfvG(KAl=|P$7fBsuBYUx=+cG^{0^>hT#y2|XFM5 ze9_Po$Ls4Y!_rl|X4JXDs&i_TKN?ye8d`rYEvau&S8`!3{-gUU^ov=h?-;Ne(wK+* zenOp}n(M7vHP?SGk;9MTprcp1o8FZ>UZ`PZ@L{lg8V;n0Zx9i9CF~p46o^c71_g0!&D)(D6CKjhIdWe#eZ2{K7|1nP z@msJW+*27xeL$hCGM%haDAb1(>BlK$`QxbTMhfH%;yN^ala^oKuxb1eM&6#VsZZ|% z-asUKL%yN^TnBM)ND1K^#vA4v=FhdZZ-_UnH!L8GRVe5DEa|eKQI}Waeil$adHd8o z%V4GRcZqLGY>_6)#ENkWF_Nuen(9zVp_dW7Ein)U28wM!Jd6!d!oE(z7CvU)g$?G7 zWyB_EXf7H}NJAg0B+&O%SlEpn>TMe|S}Gp(HjGP{sfZQ?=5v1BAzfM! ziofm3+pnfjy&!qSiFtT5{RyRCJpa_b3j2LCbU0kuG@@04c8eR@F*ZU~G$XBN#9HG} zf-EQQV8$cHkqBc_e>?X|^NaBPOm*xRt;i}Z;cC^fr)3*%cVNLBPg&bXFE`iM*ONx0 zlnMTdI*xT$-x$8soV9x?=gzSUt5>hWQ?69-QYJ1|K`QYvHd=}K=Knu2{0T7w8iiCU zBPd;#$8!w*&CEMiW2vXock+%&n>E>H@J!iSctrUY}bMW7Oh(J{KpGqY{*A zJ&L+TqbNX+#kM8&r{bm=ntz<o0#!Jkptx>@rJLFXY+aGQxEvBBN&S(`2~ym_0<~bZV2xr1Q55)_zO^9NGVk zqqc#gS{dJ>FD;8|Na!xLmi~}#lWq1CodmNWXPSJOUeqA_sit#EI<-OM9c{Rw%Ov** zuFhCQKK6*5rFZS?MMbNGt7a5VM_(#TrOO+|dpy1xPbbsrL%|wMhVFFb4R7$8#W$@g zKPR;*L8o=AZd@aENwi)dPL4^G;J@6ptSEeCF2&k{SJWZ!6`mT4D*AB~Di_PP^y(dh zqx8Nm&hFQWyptj2^mKEOTr2nsme#B-Z}NTzIvR>`3A!L1j}#v#u3D}`$y6L1o3o-V zBK>MnHMFQD4NK~xzod;f`yzefiV>a)al%Qbb|b0i7Un*rr3rw(IJZ4sM+dm%garSh zCKAh#RA}mySEuIhEAYHm+P%VxU#ZFDKDO8>)XUJqS5p%a!FT3LucaoTv@I@S)$CTy z)q6`Qb2dJqwP@FZ6}Od9>aln)AxaybEDvZi?e! zwyH%<{H4McLBq+_Hf;s_w}8!*fQz{^b&Y8DR3hgVmttBvS)=m9y=oB6ay?!SGpT7o zrFu7-cO_R?s~Gn^!Fcs?#%oV7?&o@Lxuw>LCZD5j*NMXCQa6K)`uv;T*pe?azO+sL zD^13M$Cip(e+N}erLfkxLStkT)gF43{8dx(clc3xHR^07mQEdNKn^z`XJQ{kzsI4SZm5qmkBdT$cG(k9D@VF5Qu}EPClLj8gTnGR zh)BHczCjhIxQ&XJP%$-;*EVl3&$}=3dTDugMcxCE*ICQ!rsYpfSl~RZq?&O@D4$W~ zrc}Nu)C*!f+ot6SsyvG+(2aNsZj!0aJ!*ZM7|tuTiJ?W&Sz@^GNy5cPEzVMlOWc%( z+nqoD#o)9=-mNfxu@hfRPfMhxCrV(>Vgbv)ntxA-0*w^T*LbSSV|WQ{a79L$wqUQ7X}8zn`3Ed|-+L9iscy7_ofE1$lUEW^DpY}NmHz%h z=O|OzmSA(Ck`y$#_Q)xepI!fiQ{H$~K1k)8kIILreCtv9FqLmVDqp1XoyWZJB6;E6 zPYAsC34!-NA@ISY@);^Wq~Ia3N($zx;Nj!nd;SYA6nz82>lJexKZ=EpcCPxFDjW#E zPxl_3gvJdMhxdY@uviq{5bXkzSt2CJP2x4%l-6u7TBLOB=_~}Q{ual5@V8Fw4(J}Z z@PsIQuPk-cY#USe22JUO_%ZCVt?2u$mW>SPA~g@&a9g6ZQEzVw+7zlg`P4|AsOY1M z(9y>a8u~aE&|$FPyJ(yLU7k8@wFPlo0FWVYfWSTi+k>C$Xp;MhAgT01yf{TNOO@W= zX^;sGRg&G<19Ab#FFb3_rNja#QU(99UQfZ1A?q~B>Izw0e-`GM-(d1@;NN=zUEQ)FKBep*-$s33N3`xt_i){nb}FED*5Vl3Ls%fa7|+2o zc@^4!51Mr7?g>>4GrsAg`RS#~NIIc6ioHKk-KVko7*+ReES{udzsBMPDwa2nbHNki z3~8M7p0+>yM3X5aF}9_JqfH9go_^p|;sv8_54VQxmx{bV&{>7>^3(1mSTA&sDtp$~t+tC;Jt@ zLWRv!a1$pQeo*~uRi#u(doWsjt*U-MeecHi{;K-d>3bKxU$3g)N8hjFdtX)kLHgd0 z?}JtKN9nr@-$$$JUHaaEZ?~$xOy39aU9PG>Mc+s9eX6Sd1brXD_lc_dWAwcj-^Z%z zkJI-dd>^l>@1pNAzPqaG572i9z7JH@JM_KYqHm|F{xE&NuF&`4s`|I++X2j5RrQ_p zeGK27RrQDH`yjp#Rn;G%?@oLlsj4qku|Pn+RF$KD`>W_cp}+a{Nd!-D@PrpU$iahN z@F)k5dO??it`{tGu#6yK_$ftRz$giqa6kA4f~^XOxC#zBh4r`uxAD5|%^6Bml8BwJ z;1u}=FWjFh1dUrv{Ts3mZ&V?FNz}N23!wcpH7Svs;7`JZ9F3))J5<#^5c;ZjmU2g` zz#n=B^FyolCgfM>-*B7O*IiWHv!O}3Ncr5&aIz`|D<*j#GgUEVr(nv?!IWLB#4Jre z#*D_kBj}bfM|IM>&1hrafg|*q_89|57`P;r3X|2;)yBS}7Ro!7N-G?c;=B!J;bJ1cL30WlG)Suu zZ3-E%29r*r%v8EQ^Xuaj)e$;LbJPYiv)_y|mE@G%^ei>%7B(c^!i)5OBmLi$M9wEw zi&>A)aWC_%4y>ly)v^$Inxnd+uOp1IYy|-w)QFcPDc1vYcRHll`R8g5KDpN)L zPTclzo|E7&2bGTgdq3A^1oLeubhEK9&fH&o1c2X*G>^ zkI)%COI4}&W|Rt()TR+;;t%4P#rP@#mvg;Zpz5YMeX&iYwC$at0UFMW~vQ(f9f`M_-#G%ZPQ3L(+yY1 z{H;_}qEP-KH&e}RO;U|Xx{l?joEeGSwq$E+rc^lEmMl!t=`SV<-iH7(D*zE35krzaEW7b+sE zv=5hP_imslyR#IVzfCMsn)b7VPwJNRjQwyN^b{SN)J znDH(fCVHr(W^1DEcFfw;Z{3!u2)vBQere|@%T*GWdWa7#xA$EP3|m?*DZeo zpg!@3o8Dz9jl*ctI&NVnO_@R)O?*73>4i0zTk8^X3n&xfZpRednIyUoYY(6NNR0yb zSeO#46|dLB2`!yOB+_8jR2%rg1Zs#46-m(*tabB|)ex)u$ci@JgT1jK zRvV!;(RfeeJtHcqiIojjhK80hMItZo$?z52a)dMjp?7{lswul*^-=fNC>pJ_C@RdGVBRa9L!v%FNaL7!VA|EkpVk*_S1{3U^%3)L)0Ak^wjU@>jiD4AVJ z=D=mHTFh)48d1gkp(&%>gZZP<{8^{qefwUz7~&j~!uc~*m-;ya*Znfk!ZE+yoV*j& zJNN**mb#+pbP37sPL|WVlPn%vGt_k`Yq`&@azQ*xQ!KS8(OPazEf$*xIzb7~Az=w8 zv?p3Qmyi><+r|57-Q5~tb%Rg0?U8g_b-!XARsJFqy+es?J6%O|?b1YREnQpjqqi1M zSJj`Zf8jQg>w%_LByE0WsHSACT9=H{PgMNq z^uvW6>?I0YnP^Hyhhc}`#H0a;nR6g!Hgixb4FZRMi6et7 z*wTIa727Z`wugw1m+7vp>B9v*e$jGLtHnyDrJ3HTD#ZmV-DDOM6|zw+71pXwVQ`T^dRMp~(D%epARj{Mx6J3HkARzRu0ij%Oo4wbz^laQZ_v-^{E`;(Ez{mHJf zn|Uo6rNy0Jq?OYLC{i1tQCUuUhl=aT4#kLR`paxWLOh%f7@@g2YxTgSjw1?>KJqKR z8XK<*DeIve`VJm__^2KLy!(nWG>#~HW>7Qm9w3n*PUeF6W!g;Py#gFrV&+)Yp*`ccWQZmtt6GbeA`;XARZJEgpbog1832y4E zOjlI0%%AGy*8?d#d8GJOxIitqpd)rE{&O~gr8lW~HrcI!6I&%C-E#V+7;YYWdcr=# zuzUFmGgy|nSGPzb*su| zDoTZ2Y6*gR>2fSu+^Qmh0QW13&Tn5ejrY>{g%!(gBQ(0edE>pb_YlGD^id%bIyBJL zdR@H3y+*fT-YZIl4QfrFuS2Hz+ob|cxdP3s0?jM#PdSO7x^ElB4Jsfh=K*dfzgbc9 zq_}_t8Iope`B&3&h(@jD$36LY1)8a3Z+VWb>d|MHOvnVySt zrsv|h?{cQ^;_~hWqq%@qLkUAy=7!uOF@G?LTR`@Eb>E8&&7O(zM@`+Cm?Bft=VQ^_ z_fXcs9gy8(=1@BDVD8*Qi)5IRS*EIZ z9ClJ065@NU;-rqo#rH<~ev#v|->>_Ago<{Z{N!kf+UTZMN6|uu+xGpI;&v6)QhPcT zycF4V0->+y7;U69&GBx*^9^$|wSikk%M0%j!Ia&_Q+APxf(|qES4Ce_+nK-?EJ+z5 zPo<^2ZnUV^2;VIsU|Bmh-ETHUUf8dtuexUFj;xOH#@H|)8 zr=~V0q!tlvm_m$tzuGtuuV1CYA^HmEb5z_t-U=}{Hc95j=}_Ee8Fxm}s09y-s|6Iv zT%nS_U&RrH(xFw>C(tVEDwT70wGbsjoq^idX`%K-Ri0Jo7qSsl6fP&!?kx%5EQjIX zZt`V$H@SmB8gwcO7aepK_lFby{ox#sHXR|k3su7G41Kui%Zf6xtDHPwSBbw63lt{9-%<&TE=sy%fvo#QjrOWHl3oV-(Xu#|e4fGD-qMK{DX z;FU!11yh5_h7Xp z>B~b=E9rnX@?A-gDzB+Z@^&0BkSu_3;6OKXD9I~~j(JHbU*c7WRsMxl(ID<+y7{uA znml(H-H7mOI!j z{ffKM>nlp|B6(HORNcTc!4Wlki{sYaqV&%k;mP;`F7x1kQ5%4tS zkVoy$t0EG)=I3!KPugW7?>a|fFFmT}epr|hcQQvA`i7z_qH<1nG49m#rzC7EA8{Tc zO>#6BcPBVi5cnRbEaT&zg>Ul{KIxgT#ZUOOXTo+r;j^9zTm6J?@X+z#L$Mto)f?3y z;v^zQafDBhH>p4|uyllRzgxxs;a}?4ulSD;9aTL+mPY}o0AG)qHN(GLJkKu)YA`;J zsdTe5?hX%mvnCjXAA>FhA>a0*A0QW+tuAdps~>0`-= zr(GXeftL!j-Fi;>;(KYS(5$8Q@y^T^S5O)FG*n-1S0YspV>xn8f5s`%VUhIf$!Kx1 zP#YLLQBA)=!6vQ5;q*i;TD;;dg9#EF_&Y@_WpAi;H`GY+I#qjJ&Api{98cy?BxV28 zI+(;mQ5#=3Qb_LXoa_u>3gH4!c`SIEQk@x3Y-Watk?bB-Q1+i zV=zi{MHTD;q}PC6IlMM5d~$ zp&S1v*V_e}M1xrj9eM@Ba6NRX*4(`fm{CdmD-2u(elWH{kxR!YwQz0@c2%#0MBG5O*6xo z8D-Qtg;&svYT1hmN$Nz87syy>$6$LOi!3D_*kKB^IYlgvD-DIhqIacd%XF)392 zDD)1*xFFbdS*^IZAw|U$ml`T_!Tl;fxJ3<5{rA&Lvvi zP+rbRY3C(*?B;s0O*&eJv;-;Cl788W4s~F*8iNffh3wtxr$SoBS!(VB7Nk3y;?BlONAC~q|_*- z*cMl6l+IH%n*QIFIC?t)vFa5XC#=oT< z&@=q^G=|dngIs>=tz?0^@(H!PoXZ|JGH8c?#I0C_?~;uh4FDGc~oV0!w%|Qx@}sZRRs@2^Iw5vDkJN2H}s8 z{)|sSy_@t@uijCI-%1qJ-{Dm?L?SIxEgGEL1qll~I}=p#z*d(qJhFAMDqn?5xmqGX zGsk(sJ*OIk?0$lnO@Nrq)wUo%(XKD+;OVtoPSzFjq<&XrW`vl`KwFVIz%-#u!h#id#)HA^ebp`Xi%;(YP5SaWQM znnE25%xA20if`14ZCVNXSv@0HqUq}iV=Szb{Yl+VsKFg2x}ra=vEb_l+A$4t2y?p* zCejy`NbbRw{5p+-JCphK_`Q_KFTn4GME(W*QkR~jUp#r|pGCxboG(8Yb-k$iGCI#< zI&Z{6GKFa4vjEt{5zI|or#boeaguH3Oua=Mb*%6Lc>7y!j$O+S06p_xLH=z$AXm!# zFWnr=`L~A}v>pw5IcV{EwD^?}zybj52mlrU;ME}fB*HsG8JJ^m|5fz=wVrVwAnriVxDOFm z>KS(paSq4zlX2;dT6Cl**}hJO!2=F8Yblyl4w|(T%{mx_*CE`&;VOUd($|v^V(jb@ zz0!;B3Zmy~g~eX`hNe=NZww2ChS18-0s)8ZcQK#$)f6q%Ml(GCC{4*<3U z;6w;uI{;1w06PJ2Dg>~TxtIaKs{lA10(cbwX99rD05}^0*bIPk0l-!OoDTtP1;E<@ zz{>!*5CY(CUIh9K2zz|g1ARZCf5X4Rs=nU^&r5~kNU}7j{!*29LC;?TBlwaE-Y`wN z+@T65y+01(>9Pui(7%9w4Ya_&^z(>3NWMhG131yJQbXWSc%vLdBC9l0nI<-}UurM{ z=t$&U)l@X??(8cGHo(Xha6e9FFINeBjGrWPpC)skC3D?L7@+yp+r7mWr{`{*Ng6C#8e`mCL_8M z8D&Q_Gx9Mmv61)H9#555RF5mwWDBkoVR9ERel>KYe?a7xZuAvLdKJsd)KzH%JRX!9 z;z3nO9#oY&z~e!M&tfmnbv4A88X!;Y8(dHopQ$yD>+_zN#_jDzQ!Hq}k5xls0WciE zcNJcvW(_D)8kBTD>6x}Koc3wYwAaIFpY=@JPig(VwC>NR`S}{P9%%=|`9^&{&Cl1= zGwozQ^UobR#Er}_ED z_e?t$PMgp(?RYqCV$Za$aN4AvX$Qh-lY6GU6;7MdGp#e6HnnHk;c(jH8VFWD?GO=; z16-Llt!LViaM}}^M-tv8XvFEE2&NHdXg$cnnVLryjXQ&xF`yyu=0DV&a(=2#7lQm=-RYliV`|s6H>a_6?)wY zJyKk*OBUW{y)-ORT*H6&>0sn-rN3%%m0rpXDIAX%KhR)>s<=rn^)H^#OW!xcX#-6?F;ZDA$l6S@m^YckMGDer4`Ep5sB z)YK=qRDX&`mPJIwe3ob}NpZO4x|6xWiiPvEfEK_G{SLD9xR5b4Y8(P^J{G6(hOc2zvE zA7;)Ik+#$=ybfe$>5=Rn>dbp);hdJ)qeZiOMd&d-vzK)wTQ#T$z>r6WiuOuSqF+K0 zkLh$T>EPY3O@o%fZK89fLWfR`k$zPMrO%r<-RARP-XcJxCbcXHq~HP#B=;Sx*4xQ8 z5Fivb#?CyaN8PE9bP6WgIqu3rO*0Mi|MrYs#)YxV8n##C&5a>Y=_dj}hgSbzcv}4g zk2n-8vnBe0?e{R=S;pA8hgu#G3fBPo?HK#c?cN&;ArUqJ)(RT{)QD#^jqo`y>N|=l zoV98r@jOq6QmPx1;jAU6!Dbx+szJO`iXd}6^JDB#axUH?EiA-^pjVF+jCgu7VT6W_0&f(h!alvs zgHLOvfuiXfmJjGN>e4J6LfZvkwpWrfw9u?bJ({F# zTx4Y2zrX_(qmuc=0sDiuJs7maL(yJXS<=$Y%+XrQNwB_IxS-AOn2%HSk!(^pmuAo- z@o4da1_%s#E?wx14@C%^5v~l13Tb3Zzo=sqU4K)o%NK_Yj7k>N8lww&l`%T~YX+l~ zOGSVHU*w|=m%&`xNtff%`~@7>8-poXsU= ziCZ~0TL74@3(1k`dZF1C7FxG)Szi&U!gM6-zE6iY65Yu++Ynh~pa%f7NT;#lePodi z;Z7aa%ePYGih-DhcRC2Iz$bsT4Rsz7M-Lq&;A{k4nU1c!9O}w+bmbLBDG$^}+1d`h z(1yA?bbsLX)4)mbBO(FhR~ri45h}0^1-=^8_yhoUh5()bz%GvX3+Aopc*zosh4p&w zc(2t>QvBYT0j@JJ`&g2hwa0q_Bz?SBls$_%`SmDkcTm}SRJJD=;UP}?&8ler0}SZi zP#ZX6Uy$zuW}tAmLWBz^Dj<-@Gx(cOyh@g&VMuW{Zr7W{&i<0tViZ3u**X*-5X%eN#o;$Y?b?KP9mnep7BMJ7Ndt7y$tMUv4bJ*vM99Gax{#Ou zwx%X85G|)!DsCDlLIu8z0#61tzKj}Aaac-Uzs02Ay+ZoriKI`)inkk&#m{8mbRt?{ zuTegyo(|`nadS=x#bjKWb7s$+XSe}<0`eJ>?wlDMuAsHY(Asm{oxkVq9Mcg=2=B!R zKc=Uq(%E2-6qZ&w2txN}pq)K|b}|s;>4K_GpsKe+m^%T?UEqkmqAgxSk1?GHoqeVw z`a|?&r`|`+Tn+%<2Ee-^fVTngUI5UE_P!qi z=tO(31OSHsa5V&Q2ml`h0GCk3harGVsNz}xum&Yu55gZI!;MgekC=lL06c>XABO;* zVTMrvumb>}h5&XjXNZX$@X3yQ+=I+_LSo!Q7@->}>6-$K|aY(+V=XAVGjtN!7_vmI_@m?C1 z3lb4RKVuo}domW6-44F&vZIAhv|&*PLOdKRZoH0n%O*jhb}x1P2eaN4L+%R z6hMbArBX_T7F~33BE$6+S$m}7nmg%_rFJ8Aa?p$pG-C>fZxvxd*b!~=k`@RePYq$c zgLyzf5iKZUS_q(pnLS_Ff<;>GXK2CnAp3_v%#0v>3dPL~6?Y27%?d?qLBwp`ds!GC z@P_cK4gVVW;@}BAsY`<+^;fED@>jqRpQ9_i<(>Y#I>M@He5+zatfsMIL`6;G-;bz- zZeuT@nnIV-C*v?)pPH4-jHRzDRkpm$%}zr0h3NO$NvTJEPKT@-wD8aBkb=7g!JOi0 z9X3-QH%bj=@dKS2Q4)=q%bn@Xof&78GS}JM?L3Z6aBQ1FWS>#WzX*Bcr+De~6TA77 zxH24zOR0)+hLc%kMN4?HXDH}nq(9W*SOQdQDcx#BM&e|LgPjkmGUubwAx`aQ`9&H; ze!KL-yJqH!u85MJXZ^NTU2;%R-JGOXQD%V^K|O8Zyj&zN2q!-k zBrg%k3pu$?BtI>a+4%JCsy?_4W^U-bA~zB|ZiOxx1gLPK-<-k>6tYssNdP}Wg>Ks37O@+RlI!I9W)>Q1 zDcjdg_hq*vnYWk?`8>l{v0=>l1|1uZ88|jp>GD8k;RTGA)!Qj$Lqv4!yD3GsQ7wp^DF#XmC;ckRCgtx9|v2`s06g62PCC>_7 zK}Z9>9=c0hz+K`EzDr<3pYGo!{*nF-ufa{?uVHvm4`h^%d#fk6)=F)l)5^`viJ|!? zbSq|BU-E6M7!78F^-~i!ffqo>pQJ)8OUv;Qaf<4+tYr3i12{Qprk^*YM(bM=Yz&T# z(;Tp}Qw=yf0fR66t4ndmt^Wy?1+~+Z#;X%%FQ%FHuK)4&B(G6 zqK8iUf*F;qd5;tBW?7@YwC}GrAZtX&LSdejS#2nImd#E!a&imGOg6ADyiaHc!mj9? zut|-2yVeyhuMZj^Y12?Eu5#OBUJ4BFp`hM7bv{nX6R_0&CR4r~JUCbZ~oz*Rjr-Y;OMIryxfav?VOoF6!)=RWiUj~cmF&ht;v?3IdA-Iah|S5t=l#mg^cwuOAJ~!{e8CTFO%A^32eu^#2R*z} zIrx$v=z>p7zl$#=2VeG+=9`1x^#j-S!SDHjS^25$93oSe0q z{n?K*YUsNqvx>05OvP$JTvA_YC*`eUwiO-XZ5NG$y2`B3yF8lOg-gcnq@X!mwp7t* zlrxRA(@-^Kss~%nM}$e!Vxw5too4gy1R*@S#hO-@8ip+_Asih*T=Gdf`UrH_b6b*+ zJkpunopjlz%%4&5=XDP_`?LUlIvHij1@z$&+-P8+CA+|IGYh!(Pv}x$S}AcW+MAT> zO{vYQ(2jnA0Gpyw7uT@?wUP7+1Gj)rbwxD!CIhCQ>852`{~<^hY0IH2H66YuQ%^)w z)1s-zqp2CuRI4`3#M8YC2@)a&W^1W7E&X~@5pVobmHrOT%oi2LM#O|HNiU-Qpe3yr z=Ggf;Hni$Hg;qTz6uRk#Z(3D+JobkQ+X{m@$40D|X>C`8?!JjX7B$k}v03bNq0vBt z`b#hZfQ@|;8?OC7VIS?H-sd53xUT8hzB!+0l)Qp$-v&c|mfUiBjiEGX(3&%7$|>o2 zs*Y0$H7D-&%J@?m7DhEc1ID4j@PZ9SuJ3B$o-tHJ?mt%Bc^cRM2*suUBRX(Ig-}Xw zjS7Q2ZP6yeT0@2VK-8)L4hY#54OY{LN+`?38Y&wq2;0(!O+!p#xUwR7k}zCpRj^ID zQ3g;9;VWlAdYz#(_9c?;8VwOUO=Z17>I2*oLkyFF;V;{B z!$#!ug#faBMrInzs*Z+1QtP2`QTm@MicR*pDp}d zJ{SFCW~-ye0! z6x&sAHpixlXAoflPQ^<|dMRDz;I9l>5Bx7>%}`d%7kFP{Bgr}+8`8U!o|+gR8vWt! z=zbVO)?P_Qv|mT&GDSU)c5|&)ucvrB9}7-`^$Xg0_qKAz~;; zU$F)ErEgk{g$s#hpbw!oJJL*f>Jln!Vq9hslW~SZN90$($gP)navc09(Z|ZughE1I zDQ)nBhF<$hQ=T=mVRN~$aQpjy0M zRe#NkTc)HAA?{jL{S7Z}xsp1JxEodVA9`^sl++Q#eOOihffu(@NgYMp2Y7OrU}&0d z#Khg?r&#_I4bR;30&XWYQyu;dYToS-DK-N8GLsF+fR79-|8F)t^IgZ1Y`)7W?jj0i zmy!F2!a}=Lc-dgxZMV3?D3yy_3_OXviod~qp7+LIv=p}+R8Fa|-AKJ5ilWa_{*r-P z(>B~hrWmls^8b_u{aGitxTV6YMru-=OA!ny`JC*)De*IQ>dj=k{SZq(8mZ%gLFKv2 z?#%rJ4Y*hp1^dFyUrm(J=)(Sl+a^EYn_7BXE)Vs=@d9Qj(&_~YJ|WrT?+7`9%uXZ1 z%$Uq3zLP!9z_&}_lSv^hN$7djE-bS1i}B_>&46X6yClpR3A4ixj#Eoc<|V_=vry)F z!hppnFVEQ|H+r!xK-xWD5TPhMwHY*t_5aQZ!-vl;YlQQLDi3lRucjk}B*N{0S6by(N?=QbL-1Bt>Cn^j-= zsiN@~USPMRKf<@vF`jAYs&4)|q$AE(4ax@v+w5Q-WO<4Yj;7n~2+f${D>TKn8JHj* zG!EeORw7k3VOHf8qmj1y!7~hD1(h|@{~FA^3aHC}m5AQ&%#g#RK&HuHlsG-ZhlsWuxTKZQd!I zGV#EiaSgaFIgY=@4ue+2DP9a`(Tuq?Fcp>GVbSa^mPfu_*alc;gH|of)*-G}DrZg@ zA=%_(%ru&3sA@$eORgOt^7cjrJANw_+B9fB((O}&>LYyHXBX=(d?%t0my(`3_CdpO z^UE-FPZ4%1Dg}1Vpjl7TB;%ry<8m^0I#Eh5w>`J_myKMTmRqT18Y^M5zr!eeY-Zjx zqT>5g@txVt%b?XzsibPbusdr63_Cm{axE-7b_CMg zW~GKcAtv*m3YtXFvLR;@DnfXuV6FcZB5`zbT4n{iuB5Y`s$!Xfw+&BJO_;?#|`F6QtH>cjvRSMj65pwg`c>EBk^R0j8}OcyF?MKN#O6g#1O)#8z2)vAM_k{ zM16<~uO(XnEE0qm<}-#)v-lZC-moq?3$TL)?R9w`r@M^EP`9ul5L4Z2j1(rL_Zl~4 zXc8cRZVED^leLkmZ_^+Ta|_h`!n%a#8j*G?svZr!o-9*bYwAX_wM+?u?>SVI5Q#iX z2X93sbV`QZ}{LrR5;DfWTcy$x9S9goDPNzitzW{(f% z2!EEux5D>_6`Hs|bSIm9>#25*Ff_iB%?*#Q=ju_ zG?E^9o=BuYk#<8R9Di5fwaMm_uZFN!$_|I!gY@tyZK0Xdw2@?O_AqR7gv;0Br93EE zk$JR@41sTEF+`^n5XkuDp@QW%lzdv2j4XsJp8WubD>A%c&WQsE?zd3?cgB z2%o=V`y3XPeO$u_I~!=_tU?*eub^6bne5pYPc&1+Qfr}Oz{t9*#}VWfmTI-pWkQRD zH+9d9VJ8pPI=VDeRQ{(_JF96NUkNoSD)pqvKY~2+Y%%?nFyAWIBz&eGq^mk=8eb_) z#aHvAp%Bq=JciRU7U%Oa4nWm`y;orlaJ`{W+rQFdhB4|pU?nlLpE0$839;d5?D)#A z@LZH==_4#F610r!jQ4>{XF2hZOPG!*yVz*m!UEm)v%oL|Qy{kqVuuM8>Ibj7i-vU5 zyOHUkUx~H3$_N}^8|?U+ezA4?M3S&d4mu0)<84V2^*FI7*s?nB*1ZXIFCNshFW7&~ zll0Gr*Lq&0e*x&et1JVQ}wmh~8xp=qvE+7ZDF;#kqNvct%yMgyv3g?{LUQCNdkFXM@E!w^M6K!paaqLRfH2!>_yxAWGY zVJd%=$+#b7de?%fHg|7RsQ;U^0Ed}w!^0-0uxe`N119lbrgAGQZx>GEbCf)j-45bw zf+AhVzXF)vKl1GP@SsUX!4<(MC~!vm7FraG62ck0U?J2$ljvW31|EWT@NNcUg1Gp_ zWZM#KkV&)(m%-WywM%Z0*SUeOQohQ{s_X{_+O$POI%G>|K2`Rf9St4tlS#BjJrZhpbS<6P+oF+OJYBylW`5E;sh;?JBe)H_;1rPp(pSN5 zUN+wnyUKJvpB$m`SSq}46lNQc0{zqgM_5$-DI;wU?^k_9ok9=|Ws03@FHfb1!4LXw z-FG9!j}6r9&=BM|iA6iZ=4mg!}%E(eUa*K>~!jao$q#KUhDkIC` z$QNbg!Eod@8QBqz+$Ql4@YZ69E2Tt z9W{D5?mA}laNPB}Ar(-d3Qu-;Ij1O*&I&vWVhI zp4zRvjgK?^g)z%^gt$?=xULJ$pf;0ehYIC?379rar;7R7^B8hcqB+sv$q7n7HtWj{{zk_?Tyc zPKJ>^qT2X_vUhkf`(;e2@T`d|kcd6Ou}@I!43h$iD6i~gI_}kQ(2F_ceH`^_ILa0Z z&NDl}!m)ErV|(0;z-mNvYa<2y>!n@bKJvD?(8T}3i*{{AYyL&>*)H;)3fa8uGiKd0 zW~8`KoWl$G94=*Ac|70YvzxsPFjmDeJeSih`HU<%{k(bL&9uu5aEBPWHw-Zj)8R1- zrz6+a#R`AxDaCuFcEnNlrwlF95<#*i(#x!A*ii5FIwG2&TzhmeId zVa<+u43Sp^^E;E+mK`bU{Q+;>|15;$QQC7pGo;zu`FJWe=NFlwZG)yaZZdqEt?9!i zI8jHJ6p=?2EW0je=(1p%e#l$*V{+;(p)s0G82`u=JViEr?+Zc8l#wv<4Cr>zRk7)e zwXo?7381{|>uj@d#VoYT%QlD{2_Xe%d8_3Dnz@8X@|k3lr43<)+fO+{BD;HuB8|{jN3h>)A!lXfx2HgxJIw zGY|+}g94iafENHTHUz*mwgdpH0PtuCU=;wynZ6|TTGKO<@))->PDB1=CC8_qH$ilb zH+7*EgLt&banonxxVB9&6+!LE9O>0;1y0xfolIdAETyB>NfxpPfCMY->yzD0X zCi{DT24pWs<|$?%+&a~Sxn~=6=w`dH#V&3#*;yqXHBH}I-A43zni*KD+lX?W2mm$% zV0s8(GXQ1;0Gj|XGX$^+0JG3s*xS!;?a|!jCjJkG+_vt51>9s6)pWZH~ z$V-?a+fecx)APepN^dnI=~oz!b4_>(>?>}sbPK`NHFepN_ttqmQlGbbraomFstz4> zpS{b**0b5vDmqKm^!chtYihOKI-q}DRvkRo%)D%>9>fcF{{a+BQHmF}#vX8U)LL8Q zoyU0*Ih1aMbSwN-gx0vC=}^r5Ro$;5jlb$}GB4Q?%K3wnPp!d;b%7wa9j=~-k zywD6>*JJFT3Bm^vewIh^A4R%Tc*TY-RdECyyeZrz!)#^gRWr5G_RLB5WuMC>XmMo@ z)As469UkXJCj9WSUc?@g#R1a$EMcD|4hcLre+fK>#U>t#p*8NQDdYwVd6B`6e24a} zAws>+gg>eu^1<23RshN-tN`5RSpn$V>7p)&m8V>^$Q=rc0B;J50N7oZ1Zda^G_*6$ ztNGw|xu58QkW^Y~`fj*(`g_VU#@jbx-Ym1jjtcBuNI3adY*7Mzqu~_B3k4U?R#6CX zn{3aWCQv*Fcsv#*0~voaR^d(d8xj0fogVuCa%dmml=ftLlI z6n6;|5i}{Bo9sf+JUC#6?LvT4PaW4QT9m+=yoR?OY$>RFE1u{)bMgNg#Vr34bC>$E zV4B1TWr3;{L)^zmCW!kO;=X8My&}r|R|Q78*|RE@yv_E#E@pqva%;b*D)*YXAGPGS zRwQoW;uPo-Dunwok{*cO2{spHeko`cEUlLYxsW*P5&~za=)AgGIOyZhZ&qVTu_RiK za&H&8p=*M;LX*NT?EMHKQF}vlGbGfMSCWya7I_uoRgty9YSY52?e+k-E;^2j&V4TR z*~zR`7}0O|h+bzZrl$WZq+mO18t)UH8HNcX9(bSVGND0pzo$Xd+=(ccx}LkQg}}>< z#(^WW++VI1WM6}pE3BTuGf~+4F!bb0LjT3d>=ZlldT+1I?vm0bcl9gw!LtLc{iq`L z+80fjaHVx$KPFDQZEA$^{U-2pq-j(_#c#Z)$zDFt&fK8wX)lm zR{Dhw&1S9>ik)2*47@w8*f+sNB3n$DpY4ksLOedDcG`hsmaW*jVp*RB+w5y$a4-G| zq0}xry*wGEr0nQ8Pv+5a%3j!Q5B;2Qd~QrUwcEyQV&4?~ETv{>^vn1E2(s~eST=8) zsZo`G53?Y9?Z8A=Uut)4#7(bGD4sp}PUtl`eh5%~0w~9=jkeN9beJ-<#u61Jkmv3%gBQ`QQRXVG>UA{5DV5kBMFMVseN`ZQ2hy8`)>-rc2oGk zP2o}~JRsy|N2Eg={$;a=A>3C?&k*ijIX6@Nif`b&-Vq`MUM2ce)#!{78m9xGaoU)n z{y27iX_b3-b^eWnTN{_g)_3--VwYdVK3T=x{fcj*irpb1e-9{HBgU_j`&n*nulYGY zB75kBjP9qAOh@+dr6A#P8{Yz^z z8uL94oHhp^FyYk)9AFc&%|C{$|6MJOcMTk2$QxgSQJAQXWJkZAP2`^)RrLfPJ#U#_ zoV0!F(!L`sipXL#%FPT8$1VR1&iN`uJ_^FU9TX`|=*s`OZws*l#_Cu?EX!?l3$MW* zXQ4}%rcBsK-Dy*rk;K+>(DaOC9Jtv?#Eyg> z{_Hp%p|z3X855GiF3~NY`l_mjxJAqY9~RAA=Ogwo$FVG{j5%ULA>$q?tzrB1)pie{ zD%GIM)1fM%aEQ5JeVy(8n8L3UL!t-cb0SOMH?a%AjB9OVr8p!x(A^#ieAezc`@3N( ztZ7;faD$J+Y<;B1*8Y@+<~_6Bmi9Fd3N{HLtv}&NN&G|+_GjUV*SsjE`Go*Xwd%d`$eeQ}0CBY3VJ zmV6XZ4%*yXR3>bw-pw5l?S@c;*NDP?y-A$F4O&yE(GIQU#<=i6EN&4x{0B>^2(#2+ z(&li(RN+gQh3=t2jCLHcQLtxtqT8(g1{*Z$_6+X==BVu_2L^ag_zRxe&f4VN=1_rj zLaya+0f=*`CA6oU$bE5bO|TUInKtmPaIe!&Rpg# zOi5(l|N%bQCcAJ0+FSrC5_O$Dccl` zXrCUq6HS8kHO_UrM17E(BP+W(JkPxA^0^>^AA_4kqq zl|vASp(a&&1pS9CH8VRzxC~O{lzlht~}(*2-ea!fMMGlp;*euyxUQy;Bg& z5NXh&=0!rcg4A(ajz??igw5j%+WY;0+18C!dW8s7(@J}WzzHhXQwYm9^Ih`Id=oY1 z2--1_t2!*afL=8{*Az|<(qcIM8-5Qn>Tu=$AVgh!$jG&QM(!BPS4O$U9c0$V7|UaA zTsNiqB{M%MUb0JXm{5%DBjU4bwDcM+;&V(t3c5WSs_q|$c#NZA=I9fSzaZT!?KH#S+oT#wpqWbxo@MKiqrln5W#Wt;eC4a2c>gQH$ z;{Y%f2!^TpZ24vckFxN8_`Tvu;yd7eTfu#3nx*QRK0rDQ@OYzBE%+d^=pyorRVo)3 zT2S<8M@3IqL}!8w&()U-1W_tHgQ-Ihg?20RP8>oj(=D)@V5SB}i`bA^H3-lFY)p)D zIhnJ3jLfinj^UH&)=UeWZI%z3YNg&1lDN70!rSpoo5)#8FS8;zgi3{{t;~i>7>Tlk z&7)b|ldXcV>5@AGC9=UpCZ=Zym6U@*B_$9O1(jMZtcEp0!8o`%kqPc;%j|o>6u{AN zP|z`ATk)h~1rvqEVl60Y_Rn9|{IWXZ(kNRwkct&74WFRTcXzY7=h=)taVL0|MW3Fu zBr}(L{UUljhmc6?FN__55IhiA;G@<{G@b@Yx}r*IS3u>W8bJ~h;8~jp>T@>pLVAGrXwW>KPPRnT%5c(CJ(60(Nl#n4 zCRPANmGQ8eI3^>PmLC7V4gt zqO^U{To!dcZ44OT$U572VGI>@f|>|sonO(XEaU7AA4RYrb}|V0lNzQCE%@o4pvX1a z_%pB!3DM_mG)DRq|FURw|Nhi$C75aA#aVR5dALD)AS#G@gG+eZmaUO&c8a=S6Y1Zs zx27)It@JfbmkRHHD@XSoo(7b1Sp%=P!5Ba*$3se@KVm4mAhKm-k|U={>*Hdy6F-pU zT@vL<3yGd$ub6y(Dac?2B{sk~%z_@X5V zrFvC9Z50+(;<+c-c%R0`yM$}ITh{iTtS#L50r_Vu=}dUq;u%2!YGb>t+zQUxSGL!)!%d~Mqm-3B3f_dM=PgYY&!CQ*x};}j zGFyCAIJVi4v8ydDrs=;Bb{Xi-`x|jF#o+}T5Z{(IAnss0jX=R3qNf=L4O;FuEsei{ z_W1~_OdEfL<+u+hcUl%qLhKYKA@Ekh7`&GyYOIKp8zk+Z(-uLiBXiM=CVF|{cni+I zQf8Hf-FgipqXH+YlbP3>O%_@no4rHw8Nc1H_+>EtnGO&q_j(Hgi#~611M*n?y=TzR zNhZXGe@99synu83#Sjg!(TeJ-rj-W44B{rM2g`G_b<^wWcl#CBpnxrw$K{{QT>ke3 zmwz(2{9A!;vq=e*!*Wm#!;c>5h)D)H-rN2un(gHGn{=lg6~K7KV8yI1``?>J7`a1s zD*9k_gqHYo`J{2jz!4^m$yc(6?bHW$`mi09+ivcNT{vo|W=C0&1oxr_Gk?tP2NPd- z)YvK>H5xQaYdmECPRmV>r#?jOTKaW6!rK;Xa3KO_xV}a8!G&9cb_d!I=xcx$yI6Ko zT-xo^SyO3JT!o3Qy~0G-kcj>UzxcdqN7P*8xE+c9I}=()&AJE9%3Bik&)P_@^i z!kURo4Tqyws^b$I9%(YV1Kryq~2nPo~e zF^LXe2J5!_Gzp6l>C<*Jea2?bCE)e9a$RTb)adFy1G%KsnCb?-wLwcyiz_GvQOz>y z2@#d}9uU1;2EUM)*dwR4nmk{ zsSdq^XhWijuibIy2}L=_+F{8**sr{=#mjv^a_{2Y_sQJfl)0CiBKvalPvpN3`FC4kGoGcwOIFB^=Yt?B z_gMbZ!Ascj_gcZ*0(W>{0I(SV`$GVm0q|M?unhnQENNpm^=LJsT2tey>Bhd!!i~KY z0B;1a6NI-S?1oC;iqgvgz$O433;}EcKnGV>BRU|psJNqWlWti{=Exw|f_M5H|N(Qq<(IMaNym3vA!#))87c`Cud> zeBt(mL#X@(8-Fj_<z zZ-qT!x;b648*fF&*{a=vN~i8XWwfxzLX=Y$Lf2)7r5MVY9k`P0wwwm7oVje{5I#ba zG*&T?r4X#t_-aYg?I4NEkl{q3=1vvv((z|q0!1O z-HsRIZOKTqSL6*Mjbar)mB^f4?RqV8c>=`0!3GB~%)rAk_MJ!H?7#&k2>uO9XFR5E z`du5`t2cQ>?~x_WkRzI%m4pONdR8(jglU|gu^KLA%)Dn~{EpM&j#X6f4R^oAZVFCt zQ81O7-CLR4lc?KU87=O{!avEtOdg|z_ql{q9<`IbV*e3x=RQg9q@Z}<6Dw1gSeaSP z#L5&9E2piPscPHcs4Y{Mi8N-2*2`VB3m@3|5A6os$zQXx*X_FNcBJvTJ;LDCk(&}v z&8rqOsKIdaHwZBIkzM%M&VOPjeog@A6NOLh)PidHXnhavE7_^>)WYi2Gu5eQt5b`r zQ;Vxp&sC?ER1Y)LQ{zz-Vo(JA;vA*#_UfJmHyGvoXY{v0%Xiby-N}4oHJ(-Sqv!|E z1hhS=TD~;s&xnL*s_vg2UF~y3e@xSiK4|Us2N$GV7*m~Xs&?V#tvcOQ9W69h_hBI< z3J-12rV=Db3*p%;u>HG1cnmw+^SnK0dGF$5tHptPf4|}Z4Bq(=nfbP5XzaijR^A4b zA4HQcSa^=F5OMt<#9jBIWvCule~JUxJCEnRT9qwW-zlLjmx4=A2acG_LD)g~-5`7r;rD`Y8R7SXa0%fnR$z;TE4b>D?JW`w zKj>Hd1~|tw{WSdnntnT~N~y!jgVExSs`?r6QtA-CXT<9dQ~c}rK3r8lGtR|@@bkh&1>^tC@B{X{)V=67v z3}4~8h*s8oE5RvW#);kZ6~=#!6hOd3RBs zT5n(=n_^(M^kT`yH>~uV?BZZ_3^%;Lk(LtaLhTG?^NsRL_rHWom=YUqJVsfaoVHrZ zVAixt-SYHNBtTv}rfDpiCnX~w4#uzkE^Kd)uSVtUWl=4Aul{Itb4;iE#it=LJKSXa zD^^W2Tun2TEe#~HF-*Q=MT0vQY;aVkCss#N2An%)XT^PLd{$gZd^sBVC+{kx7A95G zJxrJPur4rL*g7#?!wkBKeIR}M%;|MB$N_Amsb!rM#!7_q=CLEyBk!5jxZ};LhRomCn72F5mfOOQ`W27xJ3}m(-;c&1g$94xZ_@!=_qK%t zc3cd?zN|06uAWX?VwRr626!GtJQnjerE}Pn#>aw9=^Owi@LZ<(o!V3l7%b?CL8kNk z-oR7)Hmds}fRqZyt-6Pl#)n|K>!diJC&wVAEt)zd$bJghr-tf0g*qRPfio;z4NzzD zPh!iN7UVjOTu+2@okp(dF>m{vBk}a#`V}9-GeInHWImIMWmm9#{KvHIyp5JT85$S5mQrUD zEJtMGgmH1cz~oh|#~C=!ALXZH>wnU(coC&N6{A_e&tMAxqhO5RvucJ9F1~~0g_Nwb zC`mgf(@cHVytX?(Ctg37_WS{L1Ecx5pm3JOaO-8v-vH*96Xqoji#OO^N&s-3J*327 zVXuz6mR*%7rB@}Q%^i-D+FT8xzgnd={d9FS)fi>l4{jxW)wz{)>SpJ}2X+?b#J3IX za?8{ZOSP2ZHB|9Dk6Vt4{L3p!1cl*A1$>Fr*6Q|77h8r?8>#K4l9lF;QsJ6~Z5D!x zscqE=wx(XHZf$Muz`}M?+eI9OT^3oTQd&DOQCIQE!m@sAwMQAgqYi(N#`a&p35*3C zfEQwLf%jb@hC9sne>XZ7l5_s*AM<~=CI*+WektM|hD1(}Yl0XsgE2(~I#) zfyTHH?~fNhwMyB1T|QDA6GQQ(Oc%45H_(Y{m=mJ%NNv1FoT&lz_kU#oI@Y&=|BNKplX>wXp|VA?$y8z(i(y#HBGZc{&nF{7*jeGVfcFL??d& zb{<<)q3Ej?{$8QP4SwS8D##vE^oJDvJ$%V5cM>^bf0d}S>!`eV-O3(Qv){^ntFW)C z?pslq7EJi1CjObqOFRrl!MoN7ld?CMw;8}W4q>W82BV3A6x`zl6$n^TS7cDdxdv~|?o$l@*cX$7a|Fy%3F=2T?p61eZG_+cnei<8!f;YS|21!-6o+HMh zsne~wjmN|7f13bpibXl~w{6vTGCw&M@-rD)U$+G73rm8!CdD(bFiweu0pX0zF}SU6 z60@{(Ko>8t0T6Q6L{U0q(}bf0Syq~mHnOW6EH`R?d89O|I&x$O$d7%3{E))je|#8n zbK|AjDB%Nr*}`l7N!b>Gp+0^A^Wszh7FcGw5kWqnK!)ns+*ST0lDgFuQ%(%|K(=& z7|)}Bq**UnNlcfKJ&Ppdu_k%||{>b(Q^@)30ob(4)RF054a%5+T z_cfk$Q~%Hv+TN&DE@)wDS~HtgpBHbYHkSP+xoFb%nD1Q@)|+rT;u=c>`maKy6$`NS*2O-oqMIZlH(*wltc!b+%_a_)221OIL_z)0nI(@?`*$w&hMP_TU?b-7BH>T#GqC>yYnDaDL+}5{JlT>SGev6{$*0F!QOSQUhy3jev5IuID|9wqB)cy;^1~*JZOX4 z0ni4xh7ZEVPOJd7*Jr<33^qPH>M4MP&sm}bxQQj;-oWc0EPXmON+77q46nRDp_;x`VX-29`-OB|u<}o_<-6w+et;4h0AUjNzvk6o zii*-#fKPY;E^&o#K%edbU0FI|V8O76vbWjVvQF>KE$zL>(Rb*SY)jsdInNhr0qyGX$pR2A_D) zoo(VoxZyHRx!8&G{FC zl|NuJ^ugp}E%HZ>v*X{pQH|8$a9!Sj)Cmp1#4LX2c2IPCy>PP=S?Uw>qp|r>N;f~) z@yOZoIo2HTUl;1N0QEW*^eO>ujF+|Fhwj&Y-|WK;NwXh!3e9D>4rnfarks8Q&jjc< z_)JiqvKL~~(L_tm)p)7_*(93 zCJ?5)e33wzS!p#R!sH;PWrm6(r%2%`PT?V}6DbyHF=kRzDpkH0o5 zE9p-!4(e=>y1Aj*MIMZhfud(n+WtaF;EK zy1Wl7%F?LI->fJvMO|h7P-t1y<)OIcQCB(nRzzI^`mBt)f)sc<2##zp!((Hjr6Cjh zSabIlbXX?7B#7M~3jt<8fJtDn+tRK}yDjLrGeK~vCJXb2IrA9QEdte9c`r>jJIL3G zLW|OiK?KyfQ>*9PxFJ; zgSsihM3Y_M`5-vlFB6&cXwRd9cB4s;(T}wdH7@$z*_wRJ>)lnn8gS*xaY$hmzchyj z&mPci(F|9%u&F|MC$=kcL;in!QmZdu{NM5Lj_sc*|AMJ z%>{pYK@fY)0C5du_W?w0va>rVaSk0ITi)z@VAGp@@f`tf_k|!B-C25LVK7SrUcn4k zK(!#IX#cjKQGgfD1fCN(u!i@?~+QBV5CAk6G#O6NfOMV|BEAjRc3 z6Q8X(Z8GK7+6r0mc2t21`b-ghPV3GbM($mVYZFStVq zb0FHqAp!*9_I&JPmx-{knaQsNi4qB{_TX*IPaEC*;HP7!n2<2Uv{48C2^5>ibd>N9 zNY4sp&`p`tEb47Vi*{$gjVMg zYuP-meuL&q&!!o{Jd7CJX4pz{Qy3I%5hYh1V6Czb_W+G88;$Ag@CaZ3__8>PN9}b!AO40sCAKfBjjfbO0Ha#H((8hW^Zpp2DlHoy(Ebt# zGBePMpt(c7i$lQ;wTVEb)(5Sowb4d2k$|Sw1Ut~&$6Gk}htwB=;5Yg8NhD6KjdE57 zhU5(I6S994^mzlp->|x#LW1Or!P)JE(-I>7%mv;~tPa`1*t-+Y2eYx~gYLmpv7&MT zz+g?VRQOxu-4JXycY@JpJvrWnV|mb)aJ|X>K@_yPD=HGag9KDxbGJ;1SH_?t%&-=8 z+pU6s9sIWo{`K(R3EHv^>+T)X3H;aZ3GveZ2Y659=MFrz?uwXW)%31NqZKj7t7$9J zxHn=>RMUGSjRzv;I5mAB(%7k)&#UQ9tuY%hC#dOcq;ZL64ook>p&}o=*UU^y2v^Hd zo2^Wx|NZKz+&_e7r;yEI@Dg(v>|qXr^h)=?Yx#P<;KVrwrSic?X zw_}qpX=WyB*~*RKwa9x_n*A1RNtC<`a{gtBp$*0bvP_sAiw2Q8|N~ zB)~y$In{q}R8*Y+`E15c!%0Aa+v5JrVOl#-}Or|{=O97Nhb0r#&neXTahAke!$*%L~5teD4b9*V}cYaTjWLECpBc$v<@1G~}Rhoi-kI(X(E z%P?UAaScs*i8_$~;_&YmcoBLz90TCJtBq%QLCXLGx(TqT%saLTrO86J(GUAmUa2)gUc$+oP>LR_gU= zD;)${`}>oJ%X6$Mrw**0wtklK91$|*thEK_g>tFw1?l@*Ak|{mB3?-Ez^rMRZLyA- zjQb9MEGv~VSmqob^LF6gvAK-uv|fXs2Ltvj*K5=P@i&4V+>fKH21>ava>}%}f)N=c z)3e~sH17RpW$%Lp=AVQa1=*>x^onnSN7ZFS*q-Mcm_mFls?#};#d#+d!t)3h{9wnJ zAIzdL=tYCz!PDzDuMq#8!6&R2xch%5$}VHWojeG~qrw#W39*FAQAh1)%NAU8&3>+6 z|1wsa5_>)9W#gIHI%uq${o^TRv)__jbj{#yo6ar$J7!m41m*)BU(mnF7xZ5(;$1+S z+oXaE>aor?wgr<#(kzusjl^C3Zs!$w1~+A_6ei$SoRp}9+ee&-f0(h76~l9}SAw2w z!w)_6u)WS*8|L0RMe76lD@o~6Z$w2pSY;REB5kIA!LgZ22W|oY!?)OgM2DbSHOqj*hvN3Kb`gJ21Kmwx?V#Kv8WWRFVkr@*p%1NVa9--U(D z3TB>irH=+P@eIGd%;8~N>vq^qQu}%IzUPcyCX2Ax!JwytXT&=}^K>-ZZk_=lyr0Hz zM^v%{AH~6jLSj3E9-Gl%ofuQjc9vBT5nIPEkdS#9`ko*YCx2>;JVWpKNBA<8p>hu~r%_)@ezm)a@DE(=%F&L|GKgKdc)*8;BS zUlN+04ko@%Xz*^Z;p?^phn4GtRsAuHKQFRh9}dIPbnXTTMc<~aK4#`!81fMs50ZLX z{I!&-45s*6G;TC6khx}b7UYoqsqKDqo)*P*dow(-uAsZ+>q5m7>k+2V1033hdnd*? z4ic$%24Ua2jL2_hHl)2PhryiAE94@OSa=o6TD(+<2Y*ZUTrC9u7V{(?%^K{fzb=E! zxMK6z1Np>MfKnbLu*~;F57yQb{&H1m2nfFtU$hdPbRy%t4`G?V6Xb#ld-_u%UVtAqfH?njx>6p7o*oRGstlvE4>UX&%A|4|6Z z9tgTxdvcKJGp{oZr9;QhjYxaF@ZVrg*`-X{KqsYnBO2Qi1lN>c3(c7Ca{$<{nB3uq z)ZIaG+vkc(0nOb(iSrgppsFZN1V<9RD75|*C6&6@mW3ey-VZvNGO4{K-JLCTcMjN) z`@W0q4fBhjkY8bo$w&_}z*p;-t!?&Yn=a_Qh%XQMY_+D;)gMHK#A)I?wPs6M?}qPq zTdKM#bC&aFV%eYz`K`)_HG?&uaKXn+(G$_@5jU&6tJ?r8wLfuwx#x7G~GOGXSKgi zbjnB3cA7x;sSP?FD<|6>c2n;9=e$G+F$yY7Z8fStbDOPE1Q+B-+u18cNC8<$ zQC|wCy1^Y@ZcFL<@jfX;s{8a0^ywe`e6k0id_pAG-(1!lXzGgA1cE}2IxA^Kf50!R z`b&RoU({9SHvW(3-##o2?4u58X0c$L&N7mr+n;(j8oLQu-lCFLsccfWN4L`|oMspWV|y@V^f=B>#Jm5Bc1ApU~p1r7Z?; zdYNqTf4Kxsw#upxGn^rojO!(>FT1bxRL-Zg{quI)-NkJmZpdac3O_EZF~VRpHb*iP z0yoMi;0WU^;#-A&C^|nnA_QlH%mK?lo|9D>U6l6;&u;e|&jQb52lXx9S-v?wa+Dol zCi;U>NcA3yy2|!dx(-KOe)=4Vy1f2S=xEgC^SEB)0|hP~0DYVx?=#GDW`Qxs8=du8 zQ(=bffEAOn7TY<~qkN+qyFl9`Uzc!Wu~AxZ5rT0XYZ!fG)UoZ8Qm;1`&f$#y;3x{Ce{4r?I<|>sOXL$d@i(yyP$~ODy17;}aOm#vooj529pXtLBIpL|;2MXuFBp}buL+~F^R&SrR8M0_%Xhe)6|!_K?49li(a-Cl~QnN$fJr#;)d>&3QnWoI9kes!fLW3P!9-BCM z=U_+g-piqZl{FG>n}FLpJu}2}JN`n*%`+8|Q+RF)j*v|<{+$qYgZCtje_z)r8vlsv zw3s7jh#L2Y{-s!-e`;wce$&qujwpL-Mku~8@Dr`F|NIIR9UgmZ@B-j()47n;CHYvoU&PMrjJ~Stjnj1=u_0Q(-Du3);6cqhc zhWe#Xgd=l9G_i;xdKGi*dSNoXjs!Pwb&Uojjw%gD6<5nq1zM+O`?2-RKPx+OmSJm;Ssx;zbSsa|O-}N#Ow#To*-c5B zE?^=0xKPSSlya-!e;NMU4B^`%Uc7%x^r=mc3?Y#SeAy0sIYeVVoX31xD87QLaVG>_ zPmd7JCpwi}CN(USYAr)88afqk)5T~elZ$N+x#M#f7w?83^Hk3ECvYUshom%?v_li0 zS>|HtlT0@LBIjrc)9MoXfA>B{WKys4)M;8OW)LPK&tS@>|M)(g7t}+u#k4c$7)*~Q z=Z4~k{jS7|Ay(;{jWk5u$lN$Hgyn)}CQ{JE6bdrTzR);NOM)ljx~uHYKwLu#{tozuhP}SR7|%0u?dCyEUV_BWvG`JJSk8QK&I~K| z4Cm4xEm&6|5c3HK%mqd}P+lU#T$;*)9biPbAZ<1>jM?-BzB_d0oSY~fv1_{fYu=Zj zbua7;))^Lr3p*NvriO${q|t>o%|M&RgbRo~1Bm>5*p~a`MRINkJI2^Tu9?U+E{tV^ zbrQ@EK@stOULwX9lD&px6N;KJvB*8iu2*8A(y&m$dNG;1$DSMuoymcvZ4jIIYzvp$ zR|Yhxn$A+?CWhc{dNItI78%$zQ|oPo$`cvyCxm2ZCN(@%tlT+1BMeR6Q|vy=q*kKN zQ^Szu{kGVGQya?JZgb*Kd7fPH%Rsh<#AX2cQbXL#B~~g8D-{=|!!>@`D-}Nh zkFxROtnGMu7h1N4y@Y zw8K{Le*J`mXs$F2R{!h`3cw+))vCxDfZUVKB!~N2tx#U%epY8VL3_ zE@ri1&kmmZ??iyT4G|9u3AGjAtTABRKp$ENS!)>8%qJ8QmiO9;cCiMJyM)LXKX$U4$)B+c+8Z&MTsK5?kDl?0`*LcY0R{ zsglvuE!t(rgoIJvT_I_zY$ngOZ}Pz*fI>7jAVTrrG6Td{1w^XVu?P}S%{-a9JdqE0 zlHkb?j-N!tf=YC`@VAG(W&Y68Pa-P;cVdv?_9BXg$;rQE3wxWyV!YXqCQ&@ty&wR7 z&)JkuWe?ips3&XVIlo(fgt>SZGliL$tTaqkT(qMxNZP0Ht#e_eX1-&tw)?MQ4YW~s z1?@;11rZ(Z2@0|!?5A<)k9O9hyoP!=@3Konv~h~jyKnDIjpW*-M);eqMzQ4~gtk19 zoHpzAeqPj)KTBPs_;DerRcAI2$&+%5zGgt|Mb1yctFNYZF~-M_5>nB(^2>5wY!~Em zEw{>p@!HE+L@3US`JAw?%pW=byN2X-L!67>;8Ur$-6pZQn%r~G5q|cf9abN5--skO z0_iiF`KIAmec2fD&_L-=-FLip67RS#@nd#k&wYvCx;L?N_DAh^iVi?sYncT0e(mue z4Xrq+f9>&s*Q5B%f#sP89T4V*{d9Et8Yqo-u-zPE5@R=GQ!q8H;cP)*_82_&!)STVU{l{x*wowlRMhg^<@mwQLlArGT&WAuS~?L4Q%b;; zEup8}O>g+&sF$gDxk&YC?;~ zjo1SYksH+cnrlAy`d6Hu&i#&_Ucf#5>q1ATo)JV3ZK!c!56Rg&=iaw{XpIe#B0+3hR2|A;o!eGe4n{G zDz7Tdx)^&K9|hU_~{O3>Lh z*fvW^(Qvc5$fC4u;+4Y+S!RzQE5Hj+AotmXloii}n4Nn`fkw-K-dXB2@-#%<)j2=_LvaWlCuz`a>(+(7P`$h$#n z+(Pb42;ZVLzC!M|-Q<2nYkZB|SK)rGR13@|skUX4mZbk1HE4m^s5N~Qh4)qVzG{27 zv3Hy8-OS$2ws!-2H^2*7|FEqxW)oD#EO)$H;aw3f)*!Q0Xpq?|tFl$25Gy0#tPI;4 zWHt#6G9N*M%&M@hL1w>Eq(SE8u&w3gW~j z0KvTT8CHc9yA^fU)kYvh4(mp4sUW`Ucs_3;=PPvd@%sMQ&Y7i*Y`P{lQRWP?$UR#| zs?SXv099}g9hRA24f}-ph%5{)5dfq@RX1})6cK=ns1B5lxGfwP5f-VkraShg2J7cr z!`_hBw}=^qf(cK9$JN^3*SkM6m<;G&mgP@5_)`M>7;ZHOaB-g%_xHwsbGdp!@9BX4 zK`_xHx;fa+DVl@$M5zmU3nuR7;CM>b9BeMH>dNPv{aEUneYtijkaCqzY)2XVwj~P@ zF_bAl@nuzmB)iMDFbqN&(4GMSnj+ye7;p-g8gL5RSCO~nZ2a#v=^miK>qRK=Mi}}y zfJ(0^R>NzGyX7^dI~#k0Pf~9>kvl1JCq?c=WR@d$lot1vQ`{X{+~3ut_o29*O#FO@ zCjTA{bj7<7XfirzeBYbiqcvviu(#aiA%tbLM#~P{={64|%mR1Z+u?gTh<7>j;BGuG8V_scMZ>&gn3oOniebKIm?Qj8 zm8B1Bjoq{iO$gJ{)2%h`)4)1H?tNP0L2{4qll!37*rSVZ}9K? z{QH5C+^3lz^6y6+a+7~Q=JdDt_cs6D;orL)o9Ew_D*O)O-@*Jlgnx(fZ!3O(TGiB} zHFjyenz~rLlyM7+b9?CIk;n4W74`=uGwcU(FHGES+fu7CMi#Ob6K6cy}4XYXvnLE zVKnU@nf1z-d{;{z)*wHT+^b2$6j^gv6_^>o-PTJm+2o^1&v2o&%C=C~?88C;c}ki; zHcyQu*b#c{)h&_J5?N|lmR7eMuWtLeFMdRQK_!bKC1-&~llo~QfVwqmymn9EL9O1R zY8leIPpg+nU9NYzu+Ph`>{U-toiZ85a)`|G4a(N|n*2vNuhiN4lq-G6er7m|l8*90;`@To zFh^E_$`H1dmWum!D|Ou8CM!8gR5Eoa#By4h)X@;qT1_pmXLu~^=;WpZ(oD(muzmMT ziNVPRCbm?I0h!psZPTHUFeP-7gTf++1_VpcDTeT65$1pvf?swGe$is!sr|IGJPk5L zfAp(KFT<_PnJ`2RKu|TFq}lmg70u3*TH^_FkB0k%)_9!UW8glnH6A7R3z*qQwZHkSBbv#7BO@j@1Pq6od?LE%kbqUv|nbgHlN1YqjrZ)>+ zehFRvalwC)ui*>+(|iqI@Lz-fPQiZ}{<~Z-5s>D%Du8G=$5*u@FSDH^Q#({O;WoXH z^9*v*3Ci|gg?~`Ne+B-*iZjK|g;GPY<_;+&ImegOO5sBH61t&Pu@PvP9JK#Ylm0OT z5|qNI3|C4t0Ny~x5sEW;Z-k@*jFBZ_Guc@DsFJXoobI`juz8$rv|?k=a9NQ=P5L@Y z8dFr0=SyqyG2+K6cy#y?tGeyBY-1vh!dYz2%6 z6M7FNR|*E#gn_2`urSVJqgVme3rd;K?|(EoC~Qus5@)sK@UWFQrdY|L;Z%nYzsr3M z#}seVNUX}!sW1HH4;8&@@;UYeC4L@~w(d~|j@dI5Jc9oOJ$6j#$)pJUL;`Q#tdRVO zf@ySk7<@Ptj=&;>+ZRr@b=94{*LqFtEsv|Vv(m1>l&Y+#Kqf1j z)xjn9roBFs8X1o7_PK@QC_D0@_(9uonDyArR&b~LHCc_RReTSX=*Ly)=ceH(=Ao|BlDtVzEI%$w_A-a^Gb19lPZ+mwC|#vv9d1%2I%l@hxLoyw=#J!qDSfS(7X zB}I^ymO^^zQz7-2kjApX3eGJcEmu6gP`KKjxZ}f_TzV3rf4q&`y@G}<6o&D=#kx7I zO1?;^ri4>VB9@To<a9SWQbJnfO$;51XQLR!8jh9Sq0 zNnBGJu2JX&5jsJJURN5fQ|L4iI!%OTQscw1+kRJi3YYT-6-|eAIC?joJ%;& z3ik+CLSYtQr^e5$5>1~LPA>N~E%(8Nzf?|d%IavC9X>IPKRcX?9~5o*sIm*MT38h7 zymOlFR&pKVV+}V#6BU`%q_DUR;_B9g+L;$5*}>(|g3`e-={q=9;ci0k1X*D6l+GSn zbe8+#r**HW0hP5{w=*@tIjs;n0io>_%9$sI>s&G~`={OGpHlFPE-i)vsW`4RJ5dri zIf0PDuhLW)XFL!ie@g%RJzXQQavZR7wPMSmo@F`I_A1tNeHPT(8pY%1i;UWqFS8s= z4=ed2+GxDd@?{va>JDV((W5{o9TJC+wTiFI>ze~>Pr2Aj9yc=hD>SC=I;wI^!eNnW z_NVp*U@td$Rx@W;k+&z%ZqBJ{7mH$+1E|1ya%2NAjD&=9KOrGbVwAXPypg=3*CXY; zPX?K#W7Gr#guyz+C$4NtXu^kZ>Pmc>+Z+2bopS=E6yZ@p5w2HC2)_-^qBT)2T0g5v zzkt5p=qy@Wo$YcJEn2B`io&)j1#^L~DbNG*D1&U=>NDq8rMLPTJN>=Wo&Ls&^qJ^y zlskKRC}{lc3dGap^ZDzFZ9Q+2QEZ>EFa7WLFFf|MP@gx7Ht07MNRvX}TH|>wF<52m zM^-l1Fj)09o!1(#Xo*$?zRiKH6nI5zJf|hzS152N2fnZPn$BsB7qr9>l}#xja0sQm zpfz6B62lPqCI=3qz{^@TDeN94FKUo-Y`mx?2D07g=CX!?zNU*n!5sthN|?C%E}ltOgsU5smu{rn<{E{8q z#T~2i;Ks(PuGDDA_I2BdWvJCO8asZ^eZe0K{Oom0Tea$_UsYFU9bRRRjCOoSy3Cnoa&ZVEGdtO>`a z23%H@>Ay9Es~v3Z?;xWRpWV28BIy|JeEFV{wc7_?7Fae^n^A3DR@ zCdC6BtQ}Zsqv571@!kc*I_aEsC(C^*U6XDEpR7_)pM6@v`%Z}v#2aCGXxm{sHp|s_ zOV~>OXcg*cCDqj1M60|RmT&fF6t`3%9pA~le^&8({bf(Gh8RNEH^SyCJVh+==DL|q zLTv^`Wox544d>H|UnGA4kPW}^e9!$D7#^S!rVuC@!OkgA8_j*OBW%THVV!6*vhv+< zvk1ykP=<46W%bT0&~P1=*{Eb(F402hFZ&}lLBwJF;w%c3A@POa6(RR8+Kk6ID;!`g zRU8G`Td-wZ!a=m`vjzAq>F%t!a?ZxuRb2I5E@at(ELRHt&G5gcfXEP|a+P)`e;Mue zAhfPw9P!4Lm|_$uu>Lvi@~>dayRH;8Sl>{fD>Pan>l((>9WJ93Kb7|ci))3=SF3WV z3wpbGM{m#BB2S5*TbWvz8EW{sujS`-CT3$jyTjhZ_Anhzc; zu{c}S&eoH$a#@)vM_Jst*y~|dV?zWZEB1U8I-Jw}{U{f@D}))6FGCU!1;%!Ty)9{o zRt4EcL$g2Lsd{V^Bz3;3ZWcoPNGYS{9Q6pfrk3yZ_hsu`#*-|Py3m(eV_UG9qgv9S zQes;;wk_<$o8#RLb5wu5@Iz~bMwpmbq1pirD^z!Vw$3eqE`9*ejv}BOZ%%fAF1{D& z;v%3P33TPB)O6)NHC=fx(3JrlF5=NeK)n*^>`$rb?0afD`(B{49iTwKn?OLk>L;c; z2>41EfBk*|TJvpS;m1X^<}JnM*>ap}_B?i%)HEZLvS@oU+$~ShVj#3X zX2Ry?Dul~>2?T7RW3sswdpLr5UADqmIx+Dn49>NB(^_^Wf4T~`N)tb2&_8u&sr6av z*7$#UbS90Ey2HokJvjNm2X0{H9$gpzT9e*`3g0bSG4s4)g5%5FhFhf9s@i#awWziQ zf$7{!kJ0~rzohQT0>U5_+A?SXYJ5+tbEV&7H9%^?{tQ-tAu2X!m^_N@4ZEbW&MxF0 zT1dGcDO*+S2%i&v-sDWar**c0;Z`lVJ7hS+IZQ{sec=jGz&=EbP_bA3t*8n? zU_EPnx(NFCZY$fgKOFEt0UlyeWJjGVQt^NkcD&I4hfQcC*R;j~+$k)N6#%*M@Hy?4`Ky>XBoG)Ql}W+%O-H4d@Ehv0%>tZF~M+|{hqOzd*wRIjiBWy>?R zc4xDtb{kr|DS4KX^V`fWHQTUDb$bzJHO(}Vd5s^$tmIp&(19{k@6(eSs*e}y28ZfW z*~EAiXY3zR;du@JMHLF~Su%jZLkQ>35YkqDSk1NH`oc>5|I5@Iae*?^hC9s z4zW8}toN5aR%%r6*>0HtV#U&laH)av7S;Wh=1vaM(Y{^=kmZ_|?S*y?(JlT`rYyc6 zavv~<)NPH(bILYcr{$mGph1~DeQ1w?X#GrMJf42p)YeQRP(~f#x027Us{E?Zd`GRv zRdS_smHbQSczJes{7u!3yW}(CE*bM<61QloY?0kqQG4m5CKeaHwa)l=s6JtJVBJz=l!h?EL1CpZC$u%xnLG^jVXP^>xq z{T5yT&0%HCig(K2+P{pl1i8T>Vf-P~97Kc5(a>@rcg65$`v;o+QfY2;Alq5_ci59D z;0t(%!O}tl)f|Y?NDYLcKteY15w;B+Nc2s4a~Z4AA%ue)ARlH$Ez;Lq9-n3K71cLF z!HWN&riKDRp)7)y3X7Hs^x`zt7xMa+vt3H9zyC{vr5+nw`)Rk8jIupqKGtn<4^K@B zKFb=SVC1f}|E5n~(n)ECCr zsY^!a6?7n^<$(ekN9c)QL(tWyr)h+q3wTlG5ikpSLrdP&aMF(-_t&HH^F&VL=`!mSB{K5rAWEB|mfA2#=S;Og5zSJalgvR- zC+#W@TaX>w8!n<`4kBNN3Vy&^kydJAN$wBVdFIx+J9(GS*Vlo!Vs-)OaR8n3V4%kV zbZ#N-5u}~>;Iv1Oc0O02?!grh?_(%Y>^BQk51pAF65NlOEHxpMqavX+h=DCsZT77W z?w=<5-|v4C&DV@Ks-iAh%%y_*Fki1?awf=I{&UP#s+)aqNrb%#pW6=b4Qi&D$l)g4&u}Sy;NQn%kQ9>-)a84{ulv2<2$Wa+1I>SF47^tCMaWq1 zUgLht{SJ8M1M>}6S<sQ0#Wr^Mk>U*8#i?TvUhjv&%(>JoN zpR(9XhAXzra5YWw=nD~)s3-*DL2H#?ABSUgb6GBaF6`+=J7$aU$1aE6tl5mf(4KNB z?A23PsWF!QL*`W4+6pFx%uJQ^vPmIxu3viDq>yRZvG<7+(*QU+w8Ak^M_nLTE10Qrc&ohEjM!Ui?}u8@yt0Ie3q*aJA90G^jJ1_Ky$am zdUAMNAoR`RfOsa-PKeU*n8#}oRf!Aa6)N;5{ZbAD)Xh+byIW2NnR>BeD+FHurENtX zskqp^Rn0yiYrEN11>@z^r=l7n7=97jD}Fxc1@3GTxPzBkE_AwEY`|p(?XhaLLLL@7- z#Los5mm9d1a`~ci9}>&;y)m?~alm?`@_!Z-pTLg<@w0N_I9*i~%KJgDdXTN9;?+g_%V)*@ za^}8#MSG2}cfI=`hr6G{w&0=V-_zH%fwqODYpn_yk;>v*uhU^cN3C<{sEv}2`gKkE zBsTi>YLPI5ikG=qF@US`+U&h>Ch@C=U%ApBgfsDv!Y-C?%xHCxaP*|Fg)^yZVWR5J z=$X`q_Lclb)qaVv(s{go-U+j&^u8aXK{I&|q=D&q*WuekW2$6J3?&2#<$tK6>=6h8_Y3tRhVx_G@ zViAqjllU#zyNNTl*pNgY3!YGr8}ht9Gg2F*d2vf10&Q1mIg9 zCxS$9!Cc4n@Qo_wf&uOFPU($os{*D1re~hY^v%Xr_+5DZM2+6B%0g|S`GKf)?&<9J z+>bqhm=9@kv?|3-0%N5@XOm$HolQn6z~WI#CjOj)(bz+y;rD+LIX|jOZl+!PW6%Lo zC1T<^MW)NpvDaVzn}T%VSIHEAa5cRrMC3QRvQ{p2P_Y;t^Y*k=(ZIsey3oi0T zDY(d^-U9?=xy@^-)E@@1N~$bn|Lz`D=t*#Irp5Ddm!;xKpbzeSy1}9qOgs+IS%MUM z+-)@-2yOFZWo^Kh0~Q6IN0KEbS3uKNh5UP+6?coos%LA`E$Hzs)lp-l+MI=LN^QS? zPmf0Q(V_+Um|9TNaJpu0z(0=bU!Hc z>U{L-hiZYJdOje1#KQ(Y$J9KD-fSye+QgXGhO)95~%XPP?s*6$8d@;JTL`r&cP{b~8yDaa2)ub09 z*WgH@yde<~w?C0Lp@mv6Rm6l|j%oOk0%9w7kHK6@-t0?yhC@N?>qdN;;wdtiiwB+v z^i^IHIs`MRrHXl%Ci-$kioGvaQe*rBZEX-M6jz&I-d&DPJrrT~56+brxj>uq1TWCP zLd)PI1ucU}pM!osD@Rq5np@c2^tyq2)V;QX!R1P}X^cOcdc!EL!obSM*zApB4yqQ< zan%0QOA6AN>nga??f%$yuQ$Gi*-gp6)t6qPlvdm2YK>qA5mF zH3}=m$i`MHbR4DA>dT5bth%{O9zTUu=^BwcwVB~Jmpw%>%*y?8)Ps9$5gOmDU`!`O zGVzVPiA{wqsAMR^&qF%Rs@vf@q@>BgX8jAJ(SPGilhXq4UfIfV128kg-Hw>U*N=cPz1oa zT(cwIpwIuFhu5-N!YBGGH{IPrDw$8b`gh!{Egyoytv&iw@Zp-zRkwHRb#6FE!}%~f z$G{n3=ksuS**O-@k2u>nI4`ktJe`R42e+gs+`oR#yyK2H(b{8+`S*5A!j?Z6ko5>#^{xFP;-rZ4q2q)PGpkrlHSW}VF2T6=dkLu>qQ z0|-S;+~yUW&fWREIlVe-i(<`<(6$t~zWpKF^zO9Ox6>m3*b# zU5Tq>)_$4VV*uOCGUIu4U=QM<7ysAdVi=n70aNO_^i$15QNQ%z-3ywCp5QA0UoER8 z`g3s~AljtB!%7*cVN(01hs{p{`>_YIiA!#3d+ReE=+Pe`?HEVhF4pDh<4R_X|3$l_ z)aBZPffKKagfV^km$NF@_ba6;SAN&D3~HD;*4>GvCC4{!yNwzsaK+BKMeLk-<3U%6 zW|yJaeH3B6f1zk*kX?S4~MzGOMpvR3Iw0ds;L)rgLSU!e+%gbE`~*X zKOtFB&@A1+1ppEX%aeN)b7nOsI2LM;A5q=<5+M%J$vgfTVF1F`S$=N`FWMDZ$7<)D z@DAOWNXxWG0*-myt=;$LoueE5WL2yzx1s5f@ks@IN)u+4Ho*>Ve{gU|Y48uFE`09w z_nFJuQfiH`Og+1rQ+*9BjO|if_4LW{M*x9?lFcavy4YnmqYIUuty^-%{SD+n)Kt3+ zaO+JXphE_DFsKNaDg(SQEQWv?GQg+*p$M2J1N?f82$(Jd?q7Y~pZh0TeW|5?ozMTI z^#4DJ<}Y;+{;)*&|ENjt1n#~RDae5>BPt^lc8>h-B7QlC{gse^nk#ANeN3Ju7W?6h zFZR1F2PE$w5?_IgfhxT?I?|s)#K!bmVu) z4E?7qGqe{qe7UFvtGTwi-GT!&R}V3@wI<@H!oCL*2QT93gQ9*1xqkSj7U^}aKJg`B zp|yQ=p+51J3ZD#!FVz8QEfGthu*TN#5R-`?H9!roBMcKISpFrH=ZM1BiuARbmiW+n z3#gd~=(w}6x*fr(CE{KK@*z&dmxp9z!Ng?Jr3+G0*?#3 zz}eUZ#Z93VBJ`-nAY+%26r%46ZpgOsn({M#^jGj+R3YEv;SmoUClzyPHAVnRoyhZ& zoIq6V)G1}o00;ygS7v8YXBCyH*7zAZO$ZyN)M$#EgAfq)+amVugoV7bMb7vo1%vfk zL|!4Y5sVBHAR4hapB`5LZkb?H6p<&CWo*z2wOYni`iMQHzcD~MT`*pW;fpEy|#mxKw05=SDEZ^;fzO35SKOGm(V{%|2Ku_P>ovTVsC zhG^$z>*-Eu$0OiB`l6`d#^RAntO`ROEq*tIbSF3+HCK$|-UtmM-x**KFWAC?CnG+| zU&X18K^W1BFJ;vSry`Jq`6}@A$$4S7BR3`_t903I{IVr#iMw*l3tu%XzVQ@qr2qYf z&{Rmjk7;nGXd0a5X%H?<16-p=d{pUJFuSUQ($1jnq`SI==Pw=mbmc3F< zT_>)Qx!MOxkl~zN=TmQe7wNJpF+rMXb-1)s`+FhRYl_i}f<#_Wv*5ATdf038FQL5C>K@PEc zj!@%MXwWO|XtB19Q04HqXf~Uqs2R%x$8WR#;z62Mu6xvstCgA5NL5J9t_i~}B~u48 z1inOV8i}qRqM=n41&|9^Fc+$LG<%HB7RG2e#%LHawrT|ec9;hF@4qM}V4qh70Xtc3 zd|uBq(O)(_TFoT-XHuiphW_sK43&u5sVX=#rvu(_4MgzYV8a{g2a_1f(o2FeS5SqM z$y%uoeX%jBr#{CzQj9|2BnnJCX1-dTYZuy9MrZ|n@hXH{G(1227(>7;ITO_ih!-Ws zMlu=5DrZttRjXla#Fw6^B9@4|X`h&6nu=Hm!)UPT_1A#Ps*T5~kV(iS##4gnD(A8q z#;e}+I2Dlubiya4n4lsO(l45$scfwrS22 zr&`-@q&uC)ZGI6xP1T_P=MReUX_3UI`6?mO0^rVK#+`-q>rcM~44S4%g9SM4zrbU{ zhX3ZNt^r+{*fNaWLKUVV)xy41#EB4GUs>gz&dMv!R9?wxdR-l|kS`nwUMj5aL zq8{1w8kH)u9s|6Z3SX@~anJ4{TS()~YT@ zSQ`R2gm-xCvO)NQf)SAF@Bvv?d|IX}C7G6Urj@)1e+F8-ibaV>V;NqB?pUQ2WQkwa zs3XfiS3GStszP%qrphLyUri%iRu0k7r!uh(gr%`p@$(9Pwy7>L)N82Jvhu!cMMH%k z>N+*HPIbk)boYQhSh*gPAq=7;6Wc<+sP5X5jLUtAm(|$Ir5QyC7fTs8%Z%%|TGcG< zSLZRuyX~A?Ra9twA=+K%rP*oMNJMWaM0@I7_vPMLi1yaG@5{YO^99SwcQTV_x_{ZD z{mUQiAIPLOs);3PY>DbJ-?FD@V!0YyPD^#_s=@Nk6^*p}i?A$*;VE{Lnj<%?avLz- z-CR}ytIdzuz;;#(B|Bx{frX*zj^;85oFh}m0G%b91`O!aKTt31a2KlaHmZU5|7Kck zcU8ATzp2P4pM7mFG#+cV1n_kSZ&s=J>o*1`*7VPD??fxIkJW)~cUI&ZMs2_6-RWnc zv)5U$-*TdN(tgGi?Jyvg= zqMIM8=_z=B%7T~({z3XcNUbf-(q2Wrtqo$_lQ7Ibh zu4E%wo{w0h;HKg7BwabpD}^54QLQ?6Y!WMy-CGixm!VxWJAJ{Q7A(;v@3%x3``B>B zZW%6i-{!BUJ$1)GTE5*c;e)NM7e?p2_3nqh^_MUdaF_X7^ZfkNQswegxVp6xzL_3g zl0lvhsuFAR1X`2dL1*uChWm&!+*um#iSG2j<2YNibsVGR)))M`U_Q$v2bc@PvB6dD z@4M@vkekQ@RI*!GLYN+RbO^KLrmqj0t#W~Vr=;v8rS7VR`aLTB3HRsg9!23NHQc-X zSw=wXeh{?O-O4%_gbcstg<^d>KGvmzFg~TZZ6;9>(^>_ybef}4heNHVAyqgE-xu79 z;Io=Eu5F2e>Rk0!8y^2fp%A3R`~O=NZW#h^ojZc0ZsBn$G9P)MwbdEfVRB?A(a2ip z!}CQ$cY*8U=(#(tg8i^Z&BPBfbLvH=ypH+#QA}_H_!7Tv__eF$*Ik+T3Du<^1tWlX z@o5_Bx6IjE)3Fd|*B5wX)Qci&Mzs?)+Ky@$QPT@izqX@Z5K)_>PSjI&)GQHoyHM6& z*imyt)S)UTs+OY6ebt#5dD@GATf4L7c*FP%j@10zgq*#ce7Jlz->uGy_pSZZPILbQ zph#FfIWw<0u%NZ#qT*8_t^G-}f8)d!IGww>3<92keHq}R_J82jwJ zEZac6EWPE-fpO6G2ABh5s|`8G92jRJ(i?K#0K@zS7!LS9cjsDypvyd zC!f2MzkDYjyqk~T%}>9ZKXEtz-rYPUg3_r=e2nV!@i_{ICL7N!@mfhEVY<7;IBY`q zqT41{8*|()5%>nPuxyRCck9nFkIR_|Ia}Cy4bB1VoD3e9U$Cl;_Zpa25HPw0xptn(2ZXA*40kTJaFb| z@i_lQ>WK)3?tw`wPUS_-m*~cKQ1p`DS@iD%>7z(z(JFGLy0bC`z#m20i@NkswDX>& zM*XDLi1N?=KIJC@*;v3mpeOORkpl;ul=-DSF^3J2`PZx*4@ky5M{BHkUaVa>i(cV# ze=p`cq0OyNSE@(tvjqxIdQ>Pp0Rvl~uJnFYaH71&dpWLI;)kgk@qPF?%v<4A-lESj zy9BlFTEsZuk~6=J>aV*oADyn4T74fn9igt|g(agysyKfpe*xfi!{tdyS?E5|vt;G9+sH7qwYX_(X^bYCvj z_?wrip}YKj%_9uHvJn_U221W=urHN0FIUU-S@Q~~|3LFeBc}@^R)&TagWRw%;w4h( zLx%twAqk+#L;z)&>Ai>my2(X4>=9>hpL7~j(#M6n!ZSGd-_i>Fre~1gb|JxOB)C(Q zfFayDhYYi+Y_W{i5F3 zuGe|f?Rw)2dYv!*g5EesuPaN>(Hm#zb>-<9dgC;`E|8w4H%`~ zdR;g@6=$Coy_8d4x4UJOtke{$)LGPbuwKL}uivKu>YTiCyM(kubzJdw@FBS`E*Q_L z=6mub{~{fe{8A+SYBf%`77Or;CoPKQ7fifb_7+w%o~z;)CJE*m(Ko3DK5?`a{2=x- zW(KR#d9?y^WJLx7&#MTP1_Cdr!a(48RX&}y>b8Itpto1Zw{q37KzLqd3xs^hM!CdO z-Y^}kn5=y8lA0PDNSz5lWf4KRUJdO;uoTg5w>KLb>36sE?a9fti59cVYDb-C8MD}n z$1=)!0}Ptfs+?q7xuoXeD+2CJj+&dk%(vdUbC#e|rw4?Y(-GVPL$=_3(anS}oMogl zprhr0PNf0813Vv9G@#Gv_gVIOUk>Q-2;qEd1XsyAR!de1%&#Rz9XdKP@Ur*;#L%47@evWX{tqJJKuN?9iukUG$VQCMIS~SEw$4qz z@f)fad%wjmCah7cI8pqz$}IZaSN!-jI)Wj4UcbjE?fYtxQQ8kwIb0v8wrJc~JtVZA zCw`1aW>r{_yh`6Y^p~f<;gQtnGX6je@21-D;~-Qr=~#BY#U>L}fj8F}Z!(GNs+DQD zu6okfR0K+q&btyPuh}>`o~znRKyZvdUsHi)T`)v~>J;ooPtc34QBN%KO)BwC){BgF zw{a=|gi@$0KB$&*iK^goDXtyVB*veQxMZ<)t_Z(eP_7TFOS+CNmgd-6@gZSXKrdYD zOyxO413>uyF~4DvV^jpMS`6!>YAHmKi+`x%*>IXJWf3|0rp@#60iE9?Y)?RU+u}#m zO=3{5*)w#yE?*z+i_BQ@L7aaEC+RB(>WiY)sh1-{fhZOEakaDpD@KMg-eL{LFY2J{ zz9%bos~QPp9~8Pz%pCwk3iqJF6vjkm62&4scx6khG*?Qq_eNK^ku3or*pI79bUo=z;oK@p_ zxoS+KRpSa4l!Zmf7EuS5m3_{!QgNR(3UKf0zOu5wzq1Atf8YC*l{EXF@!102z8^7r zw>#Yy!PlD}7x|g{yNmReho51E9hua`2-v@S#Vwz=G~npH0lR&KLH@B-F7HFGaaAr) zf7kdbm;YhcgesS>(lxQln&^tKQ(_~;n3M~q++hzQ&cvM-% z>|)v26gor2-w*O?CA`_#$3gdfslQZ`I*0zDeeW)nfSr#}J;y90OLUkH!<8qcbzus8 z5X2N%s^bM#wZr52AX2|{Pv|WUU8dt%BjUh_Ukd`omg~6lS7dPfY7nzy1*fgb^i2x% zva__X+4PmV{fdF$)E%s9t4hN@MA*xvVS`|kWp!!T5QMEM4ZDH7Yjr#&)8s~v=f&Jc zY^`kLI6pjt>g#lK%sIqlWL1tEqw*yNWm?A(ZP7pOn#&`-Q>r|^}78OGKn$x zii*E}FW|O#EH<+ZMR>fCdmpSd*&N|u;n`PlUSW)>6P0dxC@XjB zSrJ;v+9UBz5l>=p#EK8*<>ggfDy1z7+x&pAEjnKMOT)J6KA~{df&>6X@XC5D!X}7C zl5IL}$;ZRaChb|w(5egvI@#XTK4E+Zx+v9~KpKu?w-MkH8?@c~n)ql}IF#)u-qYSHTIhBbx!-mcw5f7In?VcOd<^ie zBFOLPcwMY;6hbYEWOC_Fq}r`J4}FWU((WnvJK@jh_S?j?D(7wDMKpLJvRg%kWErzd zXswqbg4S9OT5BCL*crOi?vN-5@YC zsil!NA#RkF2`4TWMv>QJKJDR|mgyx1XdkZ|k6@=7>$fOvghevX1mIp?Z?TcDGl7n; z1($-6Q}>n$-pksSANKdl&Jv_!U1&BACv{KHruL((Y;0x31N(?l)k03HT0l1m)y+?^ zIx1i4g(`;D?2oO9xGTO&L$h5s$2`>RXSCXmF5{}7h&20QzPs5k$FAvEz}D{!=vB-3 za$vs>UadcKV!k%JJvu~o%5bgTRp?n_f{?BP7XZIG;u@*W_!mMc(CoC&~0uD1UD_j zrhF18;8zkes**2O{mqOj7K1;94XON_g=fOw7C#dTYH9WY|H?__G-IIEJuZLj5 zRJgmZ>qVlHe(Rb+RMNw))4F4firSOf5c&TGRPVNo2~^NN7l7Y$wwup?B@_4P4=ifSfr{;guP`t$urcs3 From 1690d30916997b64cd0cc4f104b1ed84c5a2ecaa Mon Sep 17 00:00:00 2001 From: Automatic Build Number Updater Date: Sat, 23 Apr 2011 13:22:15 -0700 Subject: [PATCH 125/290] Automated update of .build_number to 116 for branch master Last update: c1779a9e8f1a2c3cbda576815a37fd9b67b3c82c (2 commits ago) --- .build_number | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.build_number b/.build_number index f05ff19d..cb518a1a 100644 --- a/.build_number +++ b/.build_number @@ -3,4 +3,4 @@ ; process. You don't need to edit it. In fact.. ; ; DO NOT EDIT THIS FILE BY HAND! -build_number=115 +build_number=116 From f5a9abc26a14dda6c2dce4aaf5ab139d2663808b Mon Sep 17 00:00:00 2001 From: Automatic Build Number Updater Date: Sat, 23 Apr 2011 13:29:33 -0700 Subject: [PATCH 126/290] Automated update of .build_number to 117 for branch master Last update: c1779a9e8f1a2c3cbda576815a37fd9b67b3c82c (4 commits ago) --- .build_number | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.build_number b/.build_number index cb518a1a..6e0af3b9 100644 --- a/.build_number +++ b/.build_number @@ -3,4 +3,4 @@ ; process. You don't need to edit it. In fact.. ; ; DO NOT EDIT THIS FILE BY HAND! -build_number=116 +build_number=117 From 6d9f2f835dbafc0795d5c018493b430af1062112 Mon Sep 17 00:00:00 2001 From: Andy Lindeman Date: Sat, 23 Apr 2011 16:44:23 -0400 Subject: [PATCH 127/290] Correct path for fix-ie.css in admin_wind theme * Fixes #1651 --- themes/admin_wind/views/admin.html.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/admin_wind/views/admin.html.php b/themes/admin_wind/views/admin.html.php index 12301e02..65473e57 100644 --- a/themes/admin_wind/views/admin.html.php +++ b/themes/admin_wind/views/admin.html.php @@ -39,7 +39,7 @@ css("superfish/css/superfish.css") ?> css("screen.css") ?> From 7ec0cc748ac4c2a3b3d11abfbfd0ba50eb63f182 Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Sat, 23 Apr 2011 13:55:23 -0700 Subject: [PATCH 128/290] Fix for ticket #1699. Make the link to return to the gallery installation clearer. --- modules/gallery/views/upgrader.html.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/gallery/views/upgrader.html.php b/modules/gallery/views/upgrader.html.php index ad2e3421..70d37dd1 100644 --- a/modules/gallery/views/upgrader.html.php +++ b/modules/gallery/views/upgrader.html.php @@ -27,7 +27,7 @@

From 4f27df48da62383ce7ea0a70d5866d2279c49b74 Mon Sep 17 00:00:00 2001 From: Automatic Build Number Updater Date: Sat, 23 Apr 2011 13:56:57 -0700 Subject: [PATCH 129/290] Automated update of .build_number to 118 for branch master Last update: f5a9abc26a14dda6c2dce4aaf5ab139d2663808b (1 commits ago) --- .build_number | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.build_number b/.build_number index 6e0af3b9..2bf8d285 100644 --- a/.build_number +++ b/.build_number @@ -3,4 +3,4 @@ ; process. You don't need to edit it. In fact.. ; ; DO NOT EDIT THIS FILE BY HAND! -build_number=117 +build_number=118 From a469146084e7ba064f171609849c4d8590424f88 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Sat, 23 Apr 2011 14:43:33 -0700 Subject: [PATCH 130/290] module.info and theme.info files now support author name, author url, info url and discussion url fields. Those fields show up in the Admin > Modules and Admin > Appearance > Theme Choice pages. All official modules and themes updated to contain these values. Fixes #1696, #1698. --- modules/gallery/module.info | 4 ++ modules/gallery/views/admin_modules.html.php | 52 ++++++++++++++++++- modules/gallery/views/admin_themes.html.php | 12 +++-- .../views/admin_themes_buttonset.html.php | 47 +++++++++++++++++ 4 files changed, 110 insertions(+), 5 deletions(-) create mode 100644 modules/gallery/views/admin_themes_buttonset.html.php diff --git a/modules/gallery/module.info b/modules/gallery/module.info index 74c0658f..fc522d78 100644 --- a/modules/gallery/module.info +++ b/modules/gallery/module.info @@ -1,3 +1,7 @@ name = "Gallery 3" description = "Gallery core application" version = 49 +author_name = "Gallery Team" +author_url = "http://codex.gallery2.org/Gallery:Team" +info_url = "http://codex.gallery2.org/Gallery3:Module:gallery" +discuss_url = "http://gallery.menalto.com/forum_module_gallery" diff --git a/modules/gallery/views/admin_modules.html.php b/modules/gallery/views/admin_modules.html.php index 2cc81b0d..ecd51d30 100644 --- a/modules/gallery/views/admin_modules.html.php +++ b/modules/gallery/views/admin_modules.html.php @@ -43,7 +43,7 @@

- + adding more modules! Each module provides new cool features.", array("url" => "http://codex.gallery2.org/Category:Gallery_3:Modules")) ?>

@@ -55,6 +55,7 @@ + $module_info): ?> "> @@ -64,6 +65,55 @@ name) ?> version ?> description) ?> + + + diff --git a/modules/gallery/views/admin_themes.html.php b/modules/gallery/views/admin_themes.html.php index d14e8bd4..7d947b28 100644 --- a/modules/gallery/views/admin_themes.html.php +++ b/modules/gallery/views/admin_themes.html.php @@ -10,7 +10,7 @@

- + with a new theme! There are separate themes for the regular site and for the administration interface. Click a theme below to preview and activate it.", array("url" => "http://codex.gallery2.org/Category:Gallery_3:Themes")) ?>

@@ -23,6 +23,7 @@

description ?>

+ info = $themes[$site]; print $v; ?>

@@ -40,13 +41,14 @@ description ?>

+ info = $info; print $v; ?>

- + Download one now!", array("url" => "http://codex.gallery2.org/Category:Gallery_3:Modules")) ?>

@@ -61,6 +63,7 @@

description ?>

+ info = $themes[$admin]; print $v; ?>

@@ -78,17 +81,18 @@ description ?>

+ info = $info; print $v; ?>

- + Download one now!", array("url" => "http://codex.gallery2.org/Category:Gallery_3:Modules")) ?>

- \ No newline at end of file + diff --git a/modules/gallery/views/admin_themes_buttonset.html.php b/modules/gallery/views/admin_themes_buttonset.html.php new file mode 100644 index 00000000..5166f36c --- /dev/null +++ b/modules/gallery/views/admin_themes_buttonset.html.php @@ -0,0 +1,47 @@ + From 7cbcab601f6e30096ae8c3ecf198401eef824327 Mon Sep 17 00:00:00 2001 From: Automatic Build Number Updater Date: Sat, 23 Apr 2011 14:45:32 -0700 Subject: [PATCH 131/290] Automated update of .build_number to 119 for branch master Last update: c1779a9e8f1a2c3cbda576815a37fd9b67b3c82c (6 commits ago) --- .build_number | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.build_number b/.build_number index 2bf8d285..952b87ab 100644 --- a/.build_number +++ b/.build_number @@ -3,4 +3,4 @@ ; process. You don't need to edit it. In fact.. ; ; DO NOT EDIT THIS FILE BY HAND! -build_number=118 +build_number=119 From ba20d5a500fbc724376a2fc749ee2c645041a6e1 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Sat, 23 Apr 2011 14:46:07 -0700 Subject: [PATCH 132/290] Oops, this is the rest of the modules and themes for #1696 and #1698. --- modules/akismet/module.info | 4 ++++ modules/comment/module.info | 4 ++++ modules/digibug/module.info | 4 ++++ modules/exif/module.info | 4 ++++ modules/g2_import/module.info | 4 ++++ modules/image_block/module.info | 4 ++++ modules/info/module.info | 4 ++++ modules/notification/module.info | 4 ++++ modules/organize/module.info | 4 ++++ modules/recaptcha/module.info | 4 ++++ modules/rest/module.info | 4 ++++ modules/rss/module.info | 4 ++++ modules/search/module.info | 4 ++++ modules/server_add/module.info | 4 ++++ modules/slideshow/module.info | 4 ++++ modules/tag/module.info | 4 ++++ modules/user/module.info | 4 ++++ modules/watermark/module.info | 4 ++++ themes/admin_wind/theme.info | 4 ++++ themes/wind/theme.info | 4 ++++ 20 files changed, 80 insertions(+) diff --git a/modules/akismet/module.info b/modules/akismet/module.info index b61ed107..afc649d3 100644 --- a/modules/akismet/module.info +++ b/modules/akismet/module.info @@ -1,3 +1,7 @@ name = "Akismet" description = "Filter comments through the Akismet web service to detect and eliminate spam (http://akismet.com). You'll need a WordPress.com API key to use it." version = 1 +author_name = "Gallery Team" +author_url = "http://codex.gallery2.org/Gallery:Team" +info_url = "http://codex.gallery2.org/Gallery3:Module:akismet" +discuss_url = "http://gallery.menalto.com/forum_module_akismet" diff --git a/modules/comment/module.info b/modules/comment/module.info index e5aa454d..63c6af1c 100644 --- a/modules/comment/module.info +++ b/modules/comment/module.info @@ -1,3 +1,7 @@ name = "Comments" description = "Allows users and guests to leave comments on photos and albums." version = 4 +author_name = "Gallery Team" +author_url = "http://codex.gallery2.org/Gallery:Team" +info_url = "http://codex.gallery2.org/Gallery3:Module:comment" +discuss_url = "http://gallery.menalto.com/forum_module_comment" diff --git a/modules/digibug/module.info b/modules/digibug/module.info index be4e880a..ce437611 100644 --- a/modules/digibug/module.info +++ b/modules/digibug/module.info @@ -1,3 +1,7 @@ name = "Digibug" description = "Digibug Photo Printing Module" version = 2 +author_name = "Gallery Team" +author_url = "http://codex.gallery2.org/Gallery:Team" +info_url = "http://codex.gallery2.org/Gallery3:Module:digibug" +discuss_url = "http://gallery.menalto.com/forum_module_digibug" diff --git a/modules/exif/module.info b/modules/exif/module.info index c8ae688e..c2ffbfa7 100644 --- a/modules/exif/module.info +++ b/modules/exif/module.info @@ -1,3 +1,7 @@ name = "Exif Data" description = "Extract Exif data and display it on photo pages." version = 1 +author_name = "Gallery Team" +author_url = "http://codex.gallery2.org/Gallery:Team" +info_url = "http://codex.gallery2.org/Gallery3:Module:exif" +discuss_url = "http://gallery.menalto.com/forum_module_exif" diff --git a/modules/g2_import/module.info b/modules/g2_import/module.info index 977af251..0e766255 100644 --- a/modules/g2_import/module.info +++ b/modules/g2_import/module.info @@ -1,3 +1,7 @@ name = "Gallery2 Import" description = "Import your Gallery 2 content into Gallery 3" version = 2 +author_name = "Gallery Team" +author_url = "http://codex.gallery2.org/Gallery:Team" +info_url = "http://codex.gallery2.org/Gallery3:Module:g2_import" +discuss_url = "http://gallery.menalto.com/forum_module_g2_import" diff --git a/modules/image_block/module.info b/modules/image_block/module.info index 6836fabc..aa3c5461 100644 --- a/modules/image_block/module.info +++ b/modules/image_block/module.info @@ -1,3 +1,7 @@ name = "Image Block" description = "Display a random image in the sidebar" version = 3 +author_name = "Gallery Team" +author_url = "http://codex.gallery2.org/Gallery:Team" +info_url = "http://codex.gallery2.org/Gallery3:Module:image_block" +discuss_url = "http://gallery.menalto.com/forum_module_image_block" diff --git a/modules/info/module.info b/modules/info/module.info index 5f84cbb9..e8f30594 100644 --- a/modules/info/module.info +++ b/modules/info/module.info @@ -1,3 +1,7 @@ name = "Info" description = "Display extra information about photos and albums" version = 2 +author_name = "Gallery Team" +author_url = "http://codex.gallery2.org/Gallery:Team" +info_url = "http://codex.gallery2.org/Gallery3:Module:info" +discuss_url = "http://gallery.menalto.com/forum_module_info" diff --git a/modules/notification/module.info b/modules/notification/module.info index 8c5e1162..dacc00f9 100644 --- a/modules/notification/module.info +++ b/modules/notification/module.info @@ -1,3 +1,7 @@ name = "Notification" description = "Send notifications to users when changes are made to watched albums." version = 2 +author_name = "Gallery Team" +author_url = "http://codex.gallery2.org/Gallery:Team" +info_url = "http://codex.gallery2.org/Gallery3:Module:notification" +discuss_url = "http://gallery.menalto.com/forum_module_notification" diff --git a/modules/organize/module.info b/modules/organize/module.info index 0d16144d..31d24379 100644 --- a/modules/organize/module.info +++ b/modules/organize/module.info @@ -1,3 +1,7 @@ name = "Organize" description = "Visually rearrange and move photos in your gallery" version = 4 +author_name = "Gallery Team" +author_url = "http://codex.gallery2.org/Gallery:Team" +info_url = "http://codex.gallery2.org/Gallery3:Module:organize" +discuss_url = "http://gallery.menalto.com/forum_module_organize" diff --git a/modules/recaptcha/module.info b/modules/recaptcha/module.info index cfa1bf7a..2a0b419b 100644 --- a/modules/recaptcha/module.info +++ b/modules/recaptcha/module.info @@ -1,3 +1,7 @@ name = "reCAPTCHA" description = "reCAPTCHA displays a graphical verification that protects the input form from abuse from 'bots,' or automated programs usually written to generate spam (http://recaptcha.net)." version = 1 +author_name = "Gallery Team" +author_url = "http://codex.gallery2.org/Gallery:Team" +info_url = "http://codex.gallery2.org/Gallery3:Module:recaptcha" +discuss_url = "http://gallery.menalto.com/forum_module_recaptcha" diff --git a/modules/rest/module.info b/modules/rest/module.info index 5aaffc28..c71c64f9 100644 --- a/modules/rest/module.info +++ b/modules/rest/module.info @@ -2,3 +2,7 @@ name = "REST API Module" description = "A REST-based API that allows desktop clients and other apps to interact with Gallery 3" version = 3 +author_name = "Gallery Team" +author_url = "http://codex.gallery2.org/Gallery:Team" +info_url = "http://codex.gallery2.org/Gallery3:Module:rest" +discuss_url = "http://gallery.menalto.com/forum_module_rest" diff --git a/modules/rss/module.info b/modules/rss/module.info index 48375da1..5ebae9e7 100644 --- a/modules/rss/module.info +++ b/modules/rss/module.info @@ -1,3 +1,7 @@ name = "RSS" description = "Provides RSS feeds" version = 1 +author_name = "Gallery Team" +author_url = "http://codex.gallery2.org/Gallery:Team" +info_url = "http://codex.gallery2.org/Gallery3:Module:rss" +discuss_url = "http://gallery.menalto.com/forum_module_rss" diff --git a/modules/search/module.info b/modules/search/module.info index f417c4fa..a1c58af5 100644 --- a/modules/search/module.info +++ b/modules/search/module.info @@ -1,3 +1,7 @@ name = "Search" description = "Allows users to search their Gallery" version = 1 +author_name = "Gallery Team" +author_url = "http://codex.gallery2.org/Gallery:Team" +info_url = "http://codex.gallery2.org/Gallery3:Module:search" +discuss_url = "http://gallery.menalto.com/forum_module_search" diff --git a/modules/server_add/module.info b/modules/server_add/module.info index 87b317b1..754e06c1 100644 --- a/modules/server_add/module.info +++ b/modules/server_add/module.info @@ -1,3 +1,7 @@ name = "Server Add" description = "Allows authorized users to load images directly from your web server" version = 4 +author_name = "Gallery Team" +author_url = "http://codex.gallery2.org/Gallery:Team" +info_url = "http://codex.gallery2.org/Gallery3:Module:server_add" +discuss_url = "http://gallery.menalto.com/forum_module_server_add" diff --git a/modules/slideshow/module.info b/modules/slideshow/module.info index b56eac81..55cdf9b8 100644 --- a/modules/slideshow/module.info +++ b/modules/slideshow/module.info @@ -1,3 +1,7 @@ name = "Slideshow" description = "Allows users to view a slideshow of photos" version = 2 +author_name = "Gallery Team" +author_url = "http://codex.gallery2.org/Gallery:Team" +info_url = "http://codex.gallery2.org/Gallery3:Module:slideshow" +discuss_url = "http://gallery.menalto.com/forum_module_slideshow" diff --git a/modules/tag/module.info b/modules/tag/module.info index d9d34386..59d8dfbd 100644 --- a/modules/tag/module.info +++ b/modules/tag/module.info @@ -1,3 +1,7 @@ name = "Tags" description = "Allows users to tag photos and albums" version = 3 +author_name = "Gallery Team" +author_url = "http://codex.gallery2.org/Gallery:Team" +info_url = "http://codex.gallery2.org/Gallery3:Module:tag" +discuss_url = "http://gallery.menalto.com/forum_module_tag" diff --git a/modules/user/module.info b/modules/user/module.info index b7594815..f6dd9529 100644 --- a/modules/user/module.info +++ b/modules/user/module.info @@ -2,3 +2,7 @@ name = "Users and Groups" description = "Gallery 3 user and group management" version = 4 +author_name = "Gallery Team" +author_url = "http://codex.gallery2.org/Gallery:Team" +info_url = "http://codex.gallery2.org/Gallery3:Module:user" +discuss_url = "http://gallery.menalto.com/forum_module_user" diff --git a/modules/watermark/module.info b/modules/watermark/module.info index 41a871bd..1f440016 100644 --- a/modules/watermark/module.info +++ b/modules/watermark/module.info @@ -1,3 +1,7 @@ name = "Watermarks" description = "Allows users to watermark their photos" version = 2 +author_name = "Gallery Team" +author_url = "http://codex.gallery2.org/Gallery:Team" +info_url = "http://codex.gallery2.org/Gallery3:Module:watermark" +discuss_url = "http://gallery.menalto.com/forum_module_watermark" diff --git a/themes/admin_wind/theme.info b/themes/admin_wind/theme.info index 4034b64a..aca5c6c5 100644 --- a/themes/admin_wind/theme.info +++ b/themes/admin_wind/theme.info @@ -4,3 +4,7 @@ version = 1 author = "Gallery Team" admin = 1 site = 0 +author_name = "Gallery Team" +author_url = "http://codex.gallery2.org/Gallery:Team" +info_url = "http://codex.gallery2.org/Gallery3:Theme:admin_wind" +discuss_url = "http://gallery.menalto.com/forum_theme_admin_wind" diff --git a/themes/wind/theme.info b/themes/wind/theme.info index 17ea7c20..c2344c48 100644 --- a/themes/wind/theme.info +++ b/themes/wind/theme.info @@ -4,3 +4,7 @@ version = 1 author = "Gallery Team" site = 1 admin = 0 +author_name = "Gallery Team" +author_url = "http://codex.gallery2.org/Gallery:Team" +info_url = "http://codex.gallery2.org/Gallery3:Theme:wind" +discuss_url = "http://gallery.menalto.com/forum_theme_wind" From ed21bbcb742b0a1fb763a048e15f025c2c4b715c Mon Sep 17 00:00:00 2001 From: Automatic Build Number Updater Date: Sat, 23 Apr 2011 14:46:42 -0700 Subject: [PATCH 133/290] Automated update of .build_number to 120 for branch master Last update: c1779a9e8f1a2c3cbda576815a37fd9b67b3c82c (8 commits ago) --- .build_number | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.build_number b/.build_number index 952b87ab..3af1d9a0 100644 --- a/.build_number +++ b/.build_number @@ -3,4 +3,4 @@ ; process. You don't need to edit it. In fact.. ; ; DO NOT EDIT THIS FILE BY HAND! -build_number=119 +build_number=120 From c07af35a19905f3241fb77662e8b7c84e41e9a62 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Sat, 23 Apr 2011 14:53:34 -0700 Subject: [PATCH 134/290] Oops, fix broken codex urls. For #1698. --- modules/akismet/module.info | 2 +- modules/comment/module.info | 2 +- modules/digibug/module.info | 2 +- modules/exif/module.info | 2 +- modules/g2_import/module.info | 2 +- modules/gallery/module.info | 2 +- modules/image_block/module.info | 2 +- modules/info/module.info | 2 +- modules/notification/module.info | 2 +- modules/organize/module.info | 2 +- modules/recaptcha/module.info | 2 +- modules/rest/module.info | 2 +- modules/rss/module.info | 2 +- modules/search/module.info | 2 +- modules/server_add/module.info | 2 +- modules/slideshow/module.info | 2 +- modules/tag/module.info | 2 +- modules/user/module.info | 2 +- modules/watermark/module.info | 2 +- themes/admin_wind/theme.info | 2 +- themes/wind/theme.info | 2 +- 21 files changed, 21 insertions(+), 21 deletions(-) diff --git a/modules/akismet/module.info b/modules/akismet/module.info index afc649d3..63473468 100644 --- a/modules/akismet/module.info +++ b/modules/akismet/module.info @@ -3,5 +3,5 @@ description = "Filter comments through the Akismet web service to detect and eli version = 1 author_name = "Gallery Team" author_url = "http://codex.gallery2.org/Gallery:Team" -info_url = "http://codex.gallery2.org/Gallery3:Module:akismet" +info_url = "http://codex.gallery2.org/Gallery3:Modules:akismet" discuss_url = "http://gallery.menalto.com/forum_module_akismet" diff --git a/modules/comment/module.info b/modules/comment/module.info index 63c6af1c..4e7df6f1 100644 --- a/modules/comment/module.info +++ b/modules/comment/module.info @@ -3,5 +3,5 @@ description = "Allows users and guests to leave comments on photos and albums." version = 4 author_name = "Gallery Team" author_url = "http://codex.gallery2.org/Gallery:Team" -info_url = "http://codex.gallery2.org/Gallery3:Module:comment" +info_url = "http://codex.gallery2.org/Gallery3:Modules:comment" discuss_url = "http://gallery.menalto.com/forum_module_comment" diff --git a/modules/digibug/module.info b/modules/digibug/module.info index ce437611..781d5f01 100644 --- a/modules/digibug/module.info +++ b/modules/digibug/module.info @@ -3,5 +3,5 @@ description = "Digibug Photo Printing Module" version = 2 author_name = "Gallery Team" author_url = "http://codex.gallery2.org/Gallery:Team" -info_url = "http://codex.gallery2.org/Gallery3:Module:digibug" +info_url = "http://codex.gallery2.org/Gallery3:Modules:digibug" discuss_url = "http://gallery.menalto.com/forum_module_digibug" diff --git a/modules/exif/module.info b/modules/exif/module.info index c2ffbfa7..e266e20e 100644 --- a/modules/exif/module.info +++ b/modules/exif/module.info @@ -3,5 +3,5 @@ description = "Extract Exif data and display it on photo pages." version = 1 author_name = "Gallery Team" author_url = "http://codex.gallery2.org/Gallery:Team" -info_url = "http://codex.gallery2.org/Gallery3:Module:exif" +info_url = "http://codex.gallery2.org/Gallery3:Modules:exif" discuss_url = "http://gallery.menalto.com/forum_module_exif" diff --git a/modules/g2_import/module.info b/modules/g2_import/module.info index 0e766255..30fb46d4 100644 --- a/modules/g2_import/module.info +++ b/modules/g2_import/module.info @@ -3,5 +3,5 @@ description = "Import your Gallery 2 content into Gallery 3" version = 2 author_name = "Gallery Team" author_url = "http://codex.gallery2.org/Gallery:Team" -info_url = "http://codex.gallery2.org/Gallery3:Module:g2_import" +info_url = "http://codex.gallery2.org/Gallery3:Modules:g2_import" discuss_url = "http://gallery.menalto.com/forum_module_g2_import" diff --git a/modules/gallery/module.info b/modules/gallery/module.info index fc522d78..42345531 100644 --- a/modules/gallery/module.info +++ b/modules/gallery/module.info @@ -3,5 +3,5 @@ description = "Gallery core application" version = 49 author_name = "Gallery Team" author_url = "http://codex.gallery2.org/Gallery:Team" -info_url = "http://codex.gallery2.org/Gallery3:Module:gallery" +info_url = "http://codex.gallery2.org/Gallery3:Modules:gallery" discuss_url = "http://gallery.menalto.com/forum_module_gallery" diff --git a/modules/image_block/module.info b/modules/image_block/module.info index aa3c5461..6722cc8f 100644 --- a/modules/image_block/module.info +++ b/modules/image_block/module.info @@ -3,5 +3,5 @@ description = "Display a random image in the sidebar" version = 3 author_name = "Gallery Team" author_url = "http://codex.gallery2.org/Gallery:Team" -info_url = "http://codex.gallery2.org/Gallery3:Module:image_block" +info_url = "http://codex.gallery2.org/Gallery3:Modules:image_block" discuss_url = "http://gallery.menalto.com/forum_module_image_block" diff --git a/modules/info/module.info b/modules/info/module.info index e8f30594..f8964a78 100644 --- a/modules/info/module.info +++ b/modules/info/module.info @@ -3,5 +3,5 @@ description = "Display extra information about photos and albums" version = 2 author_name = "Gallery Team" author_url = "http://codex.gallery2.org/Gallery:Team" -info_url = "http://codex.gallery2.org/Gallery3:Module:info" +info_url = "http://codex.gallery2.org/Gallery3:Modules:info" discuss_url = "http://gallery.menalto.com/forum_module_info" diff --git a/modules/notification/module.info b/modules/notification/module.info index dacc00f9..84be8f99 100644 --- a/modules/notification/module.info +++ b/modules/notification/module.info @@ -3,5 +3,5 @@ description = "Send notifications to users when changes are made to watched albu version = 2 author_name = "Gallery Team" author_url = "http://codex.gallery2.org/Gallery:Team" -info_url = "http://codex.gallery2.org/Gallery3:Module:notification" +info_url = "http://codex.gallery2.org/Gallery3:Modules:notification" discuss_url = "http://gallery.menalto.com/forum_module_notification" diff --git a/modules/organize/module.info b/modules/organize/module.info index 31d24379..07b9dc38 100644 --- a/modules/organize/module.info +++ b/modules/organize/module.info @@ -3,5 +3,5 @@ description = "Visually rearrange and move photos in your gallery" version = 4 author_name = "Gallery Team" author_url = "http://codex.gallery2.org/Gallery:Team" -info_url = "http://codex.gallery2.org/Gallery3:Module:organize" +info_url = "http://codex.gallery2.org/Gallery3:Modules:organize" discuss_url = "http://gallery.menalto.com/forum_module_organize" diff --git a/modules/recaptcha/module.info b/modules/recaptcha/module.info index 2a0b419b..ebaff7de 100644 --- a/modules/recaptcha/module.info +++ b/modules/recaptcha/module.info @@ -3,5 +3,5 @@ description = "reCAPTCHA displays a graphical verification that protects the inp version = 1 author_name = "Gallery Team" author_url = "http://codex.gallery2.org/Gallery:Team" -info_url = "http://codex.gallery2.org/Gallery3:Module:recaptcha" +info_url = "http://codex.gallery2.org/Gallery3:Modules:recaptcha" discuss_url = "http://gallery.menalto.com/forum_module_recaptcha" diff --git a/modules/rest/module.info b/modules/rest/module.info index c71c64f9..33c9f1cf 100644 --- a/modules/rest/module.info +++ b/modules/rest/module.info @@ -4,5 +4,5 @@ description = "A REST-based API that allows desktop clients and other apps to in version = 3 author_name = "Gallery Team" author_url = "http://codex.gallery2.org/Gallery:Team" -info_url = "http://codex.gallery2.org/Gallery3:Module:rest" +info_url = "http://codex.gallery2.org/Gallery3:Modules:rest" discuss_url = "http://gallery.menalto.com/forum_module_rest" diff --git a/modules/rss/module.info b/modules/rss/module.info index 5ebae9e7..cd13c1b0 100644 --- a/modules/rss/module.info +++ b/modules/rss/module.info @@ -3,5 +3,5 @@ description = "Provides RSS feeds" version = 1 author_name = "Gallery Team" author_url = "http://codex.gallery2.org/Gallery:Team" -info_url = "http://codex.gallery2.org/Gallery3:Module:rss" +info_url = "http://codex.gallery2.org/Gallery3:Modules:rss" discuss_url = "http://gallery.menalto.com/forum_module_rss" diff --git a/modules/search/module.info b/modules/search/module.info index a1c58af5..1389798d 100644 --- a/modules/search/module.info +++ b/modules/search/module.info @@ -3,5 +3,5 @@ description = "Allows users to search their Gallery" version = 1 author_name = "Gallery Team" author_url = "http://codex.gallery2.org/Gallery:Team" -info_url = "http://codex.gallery2.org/Gallery3:Module:search" +info_url = "http://codex.gallery2.org/Gallery3:Modules:search" discuss_url = "http://gallery.menalto.com/forum_module_search" diff --git a/modules/server_add/module.info b/modules/server_add/module.info index 754e06c1..4ce0a97d 100644 --- a/modules/server_add/module.info +++ b/modules/server_add/module.info @@ -3,5 +3,5 @@ description = "Allows authorized users to load images directly from your web ser version = 4 author_name = "Gallery Team" author_url = "http://codex.gallery2.org/Gallery:Team" -info_url = "http://codex.gallery2.org/Gallery3:Module:server_add" +info_url = "http://codex.gallery2.org/Gallery3:Modules:server_add" discuss_url = "http://gallery.menalto.com/forum_module_server_add" diff --git a/modules/slideshow/module.info b/modules/slideshow/module.info index 55cdf9b8..8c9a3176 100644 --- a/modules/slideshow/module.info +++ b/modules/slideshow/module.info @@ -3,5 +3,5 @@ description = "Allows users to view a slideshow of photos" version = 2 author_name = "Gallery Team" author_url = "http://codex.gallery2.org/Gallery:Team" -info_url = "http://codex.gallery2.org/Gallery3:Module:slideshow" +info_url = "http://codex.gallery2.org/Gallery3:Modules:slideshow" discuss_url = "http://gallery.menalto.com/forum_module_slideshow" diff --git a/modules/tag/module.info b/modules/tag/module.info index 59d8dfbd..75d16bf0 100644 --- a/modules/tag/module.info +++ b/modules/tag/module.info @@ -3,5 +3,5 @@ description = "Allows users to tag photos and albums" version = 3 author_name = "Gallery Team" author_url = "http://codex.gallery2.org/Gallery:Team" -info_url = "http://codex.gallery2.org/Gallery3:Module:tag" +info_url = "http://codex.gallery2.org/Gallery3:Modules:tag" discuss_url = "http://gallery.menalto.com/forum_module_tag" diff --git a/modules/user/module.info b/modules/user/module.info index f6dd9529..503bcd0d 100644 --- a/modules/user/module.info +++ b/modules/user/module.info @@ -4,5 +4,5 @@ version = 4 author_name = "Gallery Team" author_url = "http://codex.gallery2.org/Gallery:Team" -info_url = "http://codex.gallery2.org/Gallery3:Module:user" +info_url = "http://codex.gallery2.org/Gallery3:Modules:user" discuss_url = "http://gallery.menalto.com/forum_module_user" diff --git a/modules/watermark/module.info b/modules/watermark/module.info index 1f440016..58efa43f 100644 --- a/modules/watermark/module.info +++ b/modules/watermark/module.info @@ -3,5 +3,5 @@ description = "Allows users to watermark their photos" version = 2 author_name = "Gallery Team" author_url = "http://codex.gallery2.org/Gallery:Team" -info_url = "http://codex.gallery2.org/Gallery3:Module:watermark" +info_url = "http://codex.gallery2.org/Gallery3:Modules:watermark" discuss_url = "http://gallery.menalto.com/forum_module_watermark" diff --git a/themes/admin_wind/theme.info b/themes/admin_wind/theme.info index aca5c6c5..466d8e43 100644 --- a/themes/admin_wind/theme.info +++ b/themes/admin_wind/theme.info @@ -6,5 +6,5 @@ admin = 1 site = 0 author_name = "Gallery Team" author_url = "http://codex.gallery2.org/Gallery:Team" -info_url = "http://codex.gallery2.org/Gallery3:Theme:admin_wind" +info_url = "http://codex.gallery2.org/Gallery3:Themes:admin_wind" discuss_url = "http://gallery.menalto.com/forum_theme_admin_wind" diff --git a/themes/wind/theme.info b/themes/wind/theme.info index c2344c48..e0be78b9 100644 --- a/themes/wind/theme.info +++ b/themes/wind/theme.info @@ -6,5 +6,5 @@ site = 1 admin = 0 author_name = "Gallery Team" author_url = "http://codex.gallery2.org/Gallery:Team" -info_url = "http://codex.gallery2.org/Gallery3:Theme:wind" +info_url = "http://codex.gallery2.org/Gallery3:Themes:wind" discuss_url = "http://gallery.menalto.com/forum_theme_wind" From aa0d98e515983799c370fabf749d6c502a7bac8c Mon Sep 17 00:00:00 2001 From: Automatic Build Number Updater Date: Sat, 23 Apr 2011 15:01:51 -0700 Subject: [PATCH 135/290] Automated update of .build_number to 121 for branch master Last update: c1779a9e8f1a2c3cbda576815a37fd9b67b3c82c (10 commits ago) --- .build_number | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.build_number b/.build_number index 3af1d9a0..779b30c6 100644 --- a/.build_number +++ b/.build_number @@ -3,4 +3,4 @@ ; process. You don't need to edit it. In fact.. ; ; DO NOT EDIT THIS FILE BY HAND! -build_number=120 +build_number=121 From 92c23ea92d7c943d330c12a1c84fdcbdf2678202 Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Sat, 23 Apr 2011 15:10:04 -0700 Subject: [PATCH 136/290] Set the width of the information column to 60px to prevent icon wrap --- modules/gallery/views/admin_modules.html.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/gallery/views/admin_modules.html.php b/modules/gallery/views/admin_modules.html.php index ecd51d30..03993bb2 100644 --- a/modules/gallery/views/admin_modules.html.php +++ b/modules/gallery/views/admin_modules.html.php @@ -55,7 +55,7 @@ - + $module_info): ?> "> From f45835e6e1204ac9b05d4c9eb7c59521230c59d4 Mon Sep 17 00:00:00 2001 From: Automatic Build Number Updater Date: Sat, 23 Apr 2011 15:10:17 -0700 Subject: [PATCH 137/290] Automated update of .build_number to 122 for branch master Last update: aa0d98e515983799c370fabf749d6c502a7bac8c (1 commits ago) --- .build_number | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.build_number b/.build_number index 779b30c6..c9c79ae1 100644 --- a/.build_number +++ b/.build_number @@ -3,4 +3,4 @@ ; process. You don't need to edit it. In fact.. ; ; DO NOT EDIT THIS FILE BY HAND! -build_number=121 +build_number=122 From dfd50a6c1f2afc4b4e971ab6899aa69f43397e1c Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Sat, 23 Apr 2011 15:18:23 -0700 Subject: [PATCH 138/290] Partially revert the CSS change in 76a7ad3161be0994d7ba98e9dff9b317b2430bb3 to center the "Select..." button because it was causing the SWF object to vanish in Firefox. #1638. --- modules/gallery/css/gallery.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/gallery/css/gallery.css b/modules/gallery/css/gallery.css index 97d09454..ecf89565 100644 --- a/modules/gallery/css/gallery.css +++ b/modules/gallery/css/gallery.css @@ -29,12 +29,12 @@ #g-add-photos-canvas object, #g-add-photos-button { - left: 93px; + left: 90px; margin: .5em 0; padding: .4em 1em; position: absolute; top: 0; - width: auto; + width: 300px; } #g-add-photos-canvas object { From d3992b9983015ca584709478e06f2579283fdc8c Mon Sep 17 00:00:00 2001 From: Automatic Build Number Updater Date: Sat, 23 Apr 2011 15:19:16 -0700 Subject: [PATCH 139/290] Automated update of .build_number to 123 for branch master Last update: c1779a9e8f1a2c3cbda576815a37fd9b67b3c82c (12 commits ago) --- .build_number | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.build_number b/.build_number index c9c79ae1..4106864e 100644 --- a/.build_number +++ b/.build_number @@ -3,4 +3,4 @@ ; process. You don't need to edit it. In fact.. ; ; DO NOT EDIT THIS FILE BY HAND! -build_number=122 +build_number=123 From 6702104f571413e4d57db3515b2070c48d3e9b55 Mon Sep 17 00:00:00 2001 From: Chad Parry Date: Sat, 23 Apr 2011 16:35:00 -0600 Subject: [PATCH 140/290] Resolve an infinite recursion that happens when the path caches are updated during saving. --- modules/gallery/models/item.php | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/gallery/models/item.php b/modules/gallery/models/item.php index aaca832a..a8bca15c 100644 --- a/modules/gallery/models/item.php +++ b/modules/gallery/models/item.php @@ -432,6 +432,7 @@ class Item_Model_Core extends ORM_MPTT { if ($original->parent_id != $this->parent_id || $original->name != $this->name) { // Move all of the items associated data files + $this->_build_relative_caches(); @rename($original->file_path(), $this->file_path()); if ($this->is_album()) { @rename(dirname($original->resize_path()), dirname($this->resize_path())); From d835c06b5e2c4b718a9269ee22c6079cc0769365 Mon Sep 17 00:00:00 2001 From: Automatic Build Number Updater Date: Sat, 23 Apr 2011 15:36:39 -0700 Subject: [PATCH 141/290] Automated update of .build_number to 124 for branch master Last update: d3992b9983015ca584709478e06f2579283fdc8c (1 commits ago) --- .build_number | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.build_number b/.build_number index 4106864e..6c34c0c2 100644 --- a/.build_number +++ b/.build_number @@ -3,4 +3,4 @@ ; process. You don't need to edit it. In fact.. ; ; DO NOT EDIT THIS FILE BY HAND! -build_number=123 +build_number=124 From e149cf7238a1f8eaddfc68580f2d636dd8255795 Mon Sep 17 00:00:00 2001 From: Chad Parry Date: Sat, 23 Apr 2011 16:39:25 -0600 Subject: [PATCH 142/290] Support data files that change their extension and MIME type. --- modules/gallery/models/item.php | 35 +++++++++++---------------------- 1 file changed, 12 insertions(+), 23 deletions(-) diff --git a/modules/gallery/models/item.php b/modules/gallery/models/item.php index a8bca15c..299d3584 100644 --- a/modules/gallery/models/item.php +++ b/modules/gallery/models/item.php @@ -410,6 +410,15 @@ class Item_Model_Core extends ORM_MPTT { // If any significant fields have changed, load up a copy of the original item and // keep it around. $original = ORM::factory("item", $this->id); + + // Preserve the extension of the data file. + if (isset($this->data_file)) { + $extension = pathinfo($this->data_file, PATHINFO_EXTENSION); + if (!empty($extension)) { + $this->name = pathinfo($this->name, PATHINFO_FILENAME) . ".$extension"; + } + } + if (array_intersect($this->changed, array("parent_id", "name", "slug"))) { $original->_build_relative_caches(); $this->relative_path_cache = null; @@ -463,8 +472,6 @@ class Item_Model_Core extends ORM_MPTT { } // Replace the data file, if requested. - // @todo: we don't handle the case where you swap in a file of a different mime type - // should we prevent that in validation? or in set_data_file() if ($this->data_file && ($this->is_photo() || $this->is_movie())) { copy($this->data_file, $this->file_path()); @@ -520,6 +527,8 @@ class Item_Model_Core extends ORM_MPTT { $this->name = "$base_name-$rand"; } $this->slug = "$base_slug-$rand"; + $this->relative_path_cache = null; + $this->relative_url_cache = null; } } @@ -771,16 +780,7 @@ class Item_Model_Core extends ORM_MPTT { } if ($this->is_movie() || $this->is_photo()) { - if ($this->loaded()) { - // Existing items can't change their extension - $original = ORM::factory("item", $this->id); - $new_ext = pathinfo($this->name, PATHINFO_EXTENSION); - $old_ext = pathinfo($original->name, PATHINFO_EXTENSION); - if (strcasecmp($new_ext, $old_ext)) { - $v->add_error("name", "illegal_data_file_extension"); - return; - } - } else { + if (!$this->loaded()) { // New items must have an extension $ext = pathinfo($this->name, PATHINFO_EXTENSION); if (!$ext) { @@ -817,17 +817,6 @@ class Item_Model_Core extends ORM_MPTT { } else if (filesize($this->data_file) == 0) { $v->add_error("name", "empty_data_file"); } - - if ($this->loaded()) { - if ($this->is_photo()) { - list ($a, $b, $mime_type) = photo::get_file_metadata($this->data_file); - } else if ($this->is_movie()) { - list ($a, $b, $mime_type) = movie::get_file_metadata($this->data_file); - } - if ($mime_type != $this->mime_type) { - $v->add_error("name", "cant_change_mime_type"); - } - } } /** From 67d2e8081c6e5f0b679881bca3fdc81fe1e78ccc Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Sat, 23 Apr 2011 16:12:10 -0700 Subject: [PATCH 143/290] Undo the change made in 5ce85636329b14673718836b3631a3e46efdc3bb because it messes up tag counts (and makes the test fail-- I should have run that!). Also, use Tag_Model::items() in save() to avoid code duplication. Follow-on for #1628. --- modules/tag/models/tag.php | 35 +++++++++++++++-------------------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/modules/tag/models/tag.php b/modules/tag/models/tag.php index d4e385a2..13e253ba 100644 --- a/modules/tag/models/tag.php +++ b/modules/tag/models/tag.php @@ -69,6 +69,21 @@ class Tag_Model_Core extends ORM { * to this tag. */ public function save() { + // Check to see if another tag exists with the same name + $duplicate_tag = ORM::factory("tag") + ->where("name", "=", $this->name) + ->where("id", "!=", $this->id) + ->find(); + if ($duplicate_tag->loaded()) { + // If so, tag its items with this tag so as to merge it. + foreach ($duplicate_tag->items() as $item) { + $this->add($item); + } + + // ... and remove the duplicate tag + $duplicate_tag->delete(); + } + // Figure out what items have changed in this tag for our item_related_update event below if (isset($this->object_relations["items"])) { $added = array_diff($this->changed_relations["items"], $this->object_relations["items"]); @@ -79,26 +94,6 @@ class Tag_Model_Core extends ORM { $this->count = count($this->object_relations["items"]) + count($added) - count($removed); } - // Check to see if another tag exists with the same name - $duplicate_tag = ORM::factory("tag") - ->where("name", "=", $this->name) - ->where("id", "!=", $this->id) - ->find(); - if ($duplicate_tag->loaded()) { - // If so, tag its items with this tag so as to merge it. Do this after we figure out what's - // changed so that we don't notify on this change to keep churn down. - $duplicate_tag_items = ORM::factory("item") - ->join("items_tags", "items.id", "items_tags.item_id") - ->where("items_tags.tag_id", "=", $duplicate_tag->id) - ->find_all(); - foreach ($duplicate_tag_items as $item) { - $this->add($item); - } - - // ... and remove the duplicate tag - $duplicate_tag->delete(); - } - $result = parent::save(); if (!empty($changed)) { From 5d4d8a893bef935a47b04e72fffa113eba99dd71 Mon Sep 17 00:00:00 2001 From: Automatic Build Number Updater Date: Sat, 23 Apr 2011 16:12:29 -0700 Subject: [PATCH 144/290] Automated update of .build_number to 125 for branch master Last update: d835c06b5e2c4b718a9269ee22c6079cc0769365 (1 commits ago) --- .build_number | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.build_number b/.build_number index 6c34c0c2..74464732 100644 --- a/.build_number +++ b/.build_number @@ -3,4 +3,4 @@ ; process. You don't need to edit it. In fact.. ; ; DO NOT EDIT THIS FILE BY HAND! -build_number=124 +build_number=125 From c3b0c96460da336bf720db0de2b396517004f514 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Sat, 23 Apr 2011 19:59:54 -0700 Subject: [PATCH 145/290] Revert 0235c2062e9d980a4778c4b22678238c525e1cd7 and instead apply the fix from iptox.net listed here: http://gallery.menalto.com/node/98768#comment-372398 Fixes for #1681, #1625 --- modules/gallery/helpers/graphics.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/gallery/helpers/graphics.php b/modules/gallery/helpers/graphics.php index 8d8853b0..acb11bfb 100644 --- a/modules/gallery/helpers/graphics.php +++ b/modules/gallery/helpers/graphics.php @@ -316,10 +316,10 @@ class graphics_Core { // ImageMagick & GraphicsMagick $magick_kits = array( "imagemagick" => array( - "name" => "ImageMagick", "binary" => "convert", "version" => "convert -version", + "name" => "ImageMagick", "binary" => "convert", "version_arg" => "-v", "version_regex" => "/Version: \S+ (\S+)/"), "graphicsmagick" => array( - "name" => "GraphicsMagick", "binary" => "gm", "version" => "gm version", + "name" => "GraphicsMagick", "binary" => "gm", "version_arg" => "version", "version_regex" => "/\S+ (\S+)/")); // Loop through the kits foreach ($magick_kits as $index => $settings) { @@ -328,7 +328,8 @@ class graphics_Core { $toolkits->$index->name = $settings["name"]; if ($path) { if (@is_file($path) && - preg_match($settings["version_regex"], shell_exec($settings["version"]), $matches)) { + preg_match( + $settings["version_regex"], shell_exec($path . " " . $settings["version_arg"]), $matches)) { $version = $matches[1]; $toolkits->$index->installed = true; From 4c7f27a1a6a4fc71873093dd787de05a8ee6c079 Mon Sep 17 00:00:00 2001 From: Automatic Build Number Updater Date: Sat, 23 Apr 2011 20:00:52 -0700 Subject: [PATCH 146/290] Automated update of .build_number to 126 for branch master Last update: 5d4d8a893bef935a47b04e72fffa113eba99dd71 (1 commits ago) --- .build_number | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.build_number b/.build_number index 74464732..f5cd72a8 100644 --- a/.build_number +++ b/.build_number @@ -3,4 +3,4 @@ ; process. You don't need to edit it. In fact.. ; ; DO NOT EDIT THIS FILE BY HAND! -build_number=125 +build_number=126 From 0d6a3a3cfc4f38f450db9e18da47a5e2ad826af8 Mon Sep 17 00:00:00 2001 From: Chad Parry Date: Sat, 23 Apr 2011 21:19:47 -0600 Subject: [PATCH 147/290] Create a tempnam substitute that safely creates files with a given extension. --- modules/gallery/controllers/quick.php | 4 +- modules/gallery/helpers/system.php | 25 ++++++++++ modules/gallery/tests/Mock_Built_In.php | 39 ++++++++++++++++ modules/gallery/tests/System_Helper_Test.php | 49 ++++++++++++++++++++ 4 files changed, 115 insertions(+), 2 deletions(-) create mode 100644 modules/gallery/tests/Mock_Built_In.php create mode 100644 modules/gallery/tests/System_Helper_Test.php diff --git a/modules/gallery/controllers/quick.php b/modules/gallery/controllers/quick.php index da4768fd..ce52cb8d 100644 --- a/modules/gallery/controllers/quick.php +++ b/modules/gallery/controllers/quick.php @@ -36,8 +36,8 @@ class Quick_Controller extends Controller { } if ($degrees) { - $tmpfile = tempnam(TMPPATH, "rotate") . "." . - pathinfo($item->file_path(), PATHINFO_EXTENSION); + $tmpfile = system::tempnam(TMPPATH, "rotate", + "." . pathinfo($item->file_path(), PATHINFO_EXTENSION)); gallery_graphics::rotate($item->file_path(), $tmpfile, array("degrees" => $degrees), $item); $item->set_data_file($tmpfile); $item->save(); diff --git a/modules/gallery/helpers/system.php b/modules/gallery/helpers/system.php index c39c7227..31ecafa7 100644 --- a/modules/gallery/helpers/system.php +++ b/modules/gallery/helpers/system.php @@ -40,4 +40,29 @@ class system_Core { } return null; } + + /** + * Create a file with a unique file name. + * This helper is similar to the built-in tempnam, except that it supports an optional postfix. + */ + static function tempnam($dir = TMPPATH, $prefix = "", $postfix = "") { + return self::_tempnam($dir, $prefix, $postfix, "tempnam"); + } + + // This helper provides a dependency-injected implementation of tempnam. + static function _tempnam($dir, $prefix, $postfix, $builtin) { + $success = false; + do { + $basename = call_user_func($builtin, $dir, $prefix); + if (!$basename) { + return false; + } + $filename = $basename . $postfix; + $success = !file_exists($filename) && @rename($basename, $filename); + if (!$success) { + @unlink($basename); + } + } while (!$success); + return $filename; + } } \ No newline at end of file diff --git a/modules/gallery/tests/Mock_Built_In.php b/modules/gallery/tests/Mock_Built_In.php new file mode 100644 index 00000000..b02e5ecf --- /dev/null +++ b/modules/gallery/tests/Mock_Built_In.php @@ -0,0 +1,39 @@ +nonces = func_get_args(); + } + + function _tempnam($dir, $prefix) { + if (empty($this->nonces)) + return false; + $filename = "$dir/$prefix" . array_shift($this->nonces); + if (!touch($filename)) + return false; + return $filename; + } +} diff --git a/modules/gallery/tests/System_Helper_Test.php b/modules/gallery/tests/System_Helper_Test.php new file mode 100644 index 00000000..734f98ac --- /dev/null +++ b/modules/gallery/tests/System_Helper_Test.php @@ -0,0 +1,49 @@ +assert_true(file_exists($filename), "File not created"); + unlink($filename); + } + + public function tempnam_collision_test() { + require_once('Mock_Built_In.php'); + $existing = TMPPATH . "/file1.ext"; + $available = TMPPATH . "/file2.ext"; + touch($existing); + $filename = system::_tempnam(TMPPATH, "file", ".ext", + array(new Mock_Built_In("1", "2"), "_tempnam")); + unlink($existing); + $this->assert_true(file_exists($filename), "File not created"); + unlink($filename); + $this->assert_equal($available, $filename, "Incorrect filename created"); + } + + public function tempnam_abort_test() { + require_once('Mock_Built_In.php'); + $filename = system::_tempnam(TMPPATH, "file", ".ext", + array(new Mock_Built_In(), "_tempnam")); + if ($filename) { + @unlink($filename); + } + $this->assert_false($filename, "Operation not aborted"); + } +} From 342be9818f8c35dd13c8159960a9f71ae33d4c72 Mon Sep 17 00:00:00 2001 From: Chad Kieffer Date: Sat, 23 Apr 2011 23:26:28 -0400 Subject: [PATCH 148/290] Turn off bullets on the tag admin list. --- themes/admin_wind/css/screen.css | 1 + 1 file changed, 1 insertion(+) diff --git a/themes/admin_wind/css/screen.css b/themes/admin_wind/css/screen.css index 177eb1e6..f01c2a94 100644 --- a/themes/admin_wind/css/screen.css +++ b/themes/admin_wind/css/screen.css @@ -100,6 +100,7 @@ a:hover, form ul li, #g-action-status li, #g-log-entries li, +#g-tag-admin li, .g-buttonset li, .g-buttonset-vertical li, .g-paginator li, From c01a0eac9a09e0fc2ef4ba45a74c23a8a70f51b7 Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Sat, 23 Apr 2011 20:30:30 -0700 Subject: [PATCH 149/290] Allow the tag rename function to split a tag into multiple tags if a comma is used to delinate the seperate tags. --- modules/tag/controllers/admin_tags.php | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/modules/tag/controllers/admin_tags.php b/modules/tag/controllers/admin_tags.php index fd82bc92..5dc181bd 100644 --- a/modules/tag/controllers/admin_tags.php +++ b/modules/tag/controllers/admin_tags.php @@ -85,11 +85,23 @@ class Admin_Tags_Controller extends Admin_Controller { if ($in_place_edit->validate()) { $old_name = $tag->name; - $tag->name = $in_place_edit->value(); + $tag_name = $in_place_edit->value(); + Kohana_Log::add("error", $tag_name); + $tags = explode(",", $tag_name); + $tag_count = count($tags); + + $tag->name = array_shift($tags); $tag->save(); - $message = t("Renamed tag %old_name to %new_name", - array("old_name" => $old_name, "new_name" => $tag->name)); + if (!empty($tags)) { + $this->_copy_items_for_tags($tag, $tags); + $message = t("Split tag %old_name into %new_tags", + array("old_name" => $old_name, "new_tags" => $tag_name)); + } else { + $message = t("Renamed tag %old_name to %new_name", + array("old_name" => $old_name, "new_name" => $tag->name)); + } + message::success($message); log::success("tags", $message); @@ -99,5 +111,11 @@ class Admin_Tags_Controller extends Admin_Controller { } } + private function _copy_items_for_tags($tag, $tags) { + foreach ($tag->items() as $item) { + foreach ($tags as $idx => $new_tag) { + tag::add($item, trim($new_tag)); + } + } + } } - From aba51feb3d330f30f0e3b68e16c31f6bb250ef02 Mon Sep 17 00:00:00 2001 From: Automatic Build Number Updater Date: Sat, 23 Apr 2011 20:30:32 -0700 Subject: [PATCH 150/290] Automated update of .build_number to 127 for branch master Last update: 4c7f27a1a6a4fc71873093dd787de05a8ee6c079 (1 commits ago) --- .build_number | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.build_number b/.build_number index f5cd72a8..20417d2b 100644 --- a/.build_number +++ b/.build_number @@ -3,4 +3,4 @@ ; process. You don't need to edit it. In fact.. ; ; DO NOT EDIT THIS FILE BY HAND! -build_number=126 +build_number=127 From c6ef706d70c7e48bea1145eec1b13fb5683e023f Mon Sep 17 00:00:00 2001 From: Chad Parry Date: Sat, 23 Apr 2011 22:55:59 -0600 Subject: [PATCH 151/290] Preserve old data files long enough for them to be available to event handlers. --- modules/gallery/models/item.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/gallery/models/item.php b/modules/gallery/models/item.php index 299d3584..482b6247 100644 --- a/modules/gallery/models/item.php +++ b/modules/gallery/models/item.php @@ -442,7 +442,9 @@ class Item_Model_Core extends ORM_MPTT { if ($original->parent_id != $this->parent_id || $original->name != $this->name) { // Move all of the items associated data files $this->_build_relative_caches(); - @rename($original->file_path(), $this->file_path()); + if (!isset($this->data_file)) { + @rename($original->file_path(), $this->file_path()); + } if ($this->is_album()) { @rename(dirname($original->resize_path()), dirname($this->resize_path())); @rename(dirname($original->thumb_path()), dirname($this->thumb_path())); @@ -491,6 +493,9 @@ class Item_Model_Core extends ORM_MPTT { // Null out the data file variable here, otherwise this event will trigger another // save() which will think that we're doing another file move. $this->data_file = null; + if ($original->file_path() != $this->file_path()) { + @unlink($original->file_path()); + } module::event("item_updated_data_file", $this); } } From fcb06bf175bb9eeff36d9c294e97ace9374ef0f3 Mon Sep 17 00:00:00 2001 From: Chad Parry Date: Sun, 24 Apr 2011 00:45:12 -0600 Subject: [PATCH 152/290] Don't assign to the item->name field if the name is unchanged, because the save method will crash. --- modules/gallery/models/item.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/gallery/models/item.php b/modules/gallery/models/item.php index 482b6247..7a08d9c2 100644 --- a/modules/gallery/models/item.php +++ b/modules/gallery/models/item.php @@ -414,8 +414,9 @@ class Item_Model_Core extends ORM_MPTT { // Preserve the extension of the data file. if (isset($this->data_file)) { $extension = pathinfo($this->data_file, PATHINFO_EXTENSION); - if (!empty($extension)) { - $this->name = pathinfo($this->name, PATHINFO_FILENAME) . ".$extension"; + $new_name = pathinfo($this->name, PATHINFO_FILENAME) . ".$extension"; + if (!empty($extension) && strcmp($this->name, $new_name)) { + $this->name = $new_name; } } From 41f90e669f75e8e93bd31bf649011d5d315ac326 Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Sun, 24 Apr 2011 07:04:11 -0700 Subject: [PATCH 153/290] Clarify the meaning of variable names. --- modules/tag/controllers/admin_tags.php | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/modules/tag/controllers/admin_tags.php b/modules/tag/controllers/admin_tags.php index 5dc181bd..7a64f7ab 100644 --- a/modules/tag/controllers/admin_tags.php +++ b/modules/tag/controllers/admin_tags.php @@ -85,18 +85,17 @@ class Admin_Tags_Controller extends Admin_Controller { if ($in_place_edit->validate()) { $old_name = $tag->name; - $tag_name = $in_place_edit->value(); - Kohana_Log::add("error", $tag_name); - $tags = explode(",", $tag_name); - $tag_count = count($tags); + $new_name_or_list = $in_place_edit->value(); + $tag_list = explode(",", $new_name_or_list); + $tag_count = count($tag_list); - $tag->name = array_shift($tags); + $tag->name = array_shift($tag_list); $tag->save(); - if (!empty($tags)) { - $this->_copy_items_for_tags($tag, $tags); - $message = t("Split tag %old_name into %new_tags", - array("old_name" => $old_name, "new_tags" => $tag_name)); + if (!empty($tag_list)) { + $this->_copy_items_for_tags($tag, $tag_list); + $message = t("Split tag %old_name into %tag_list", + array("old_name" => $old_name, "tag_list" => $new_name_or_list)); } else { $message = t("Renamed tag %old_name to %new_name", array("old_name" => $old_name, "new_name" => $tag->name)); @@ -111,10 +110,10 @@ class Admin_Tags_Controller extends Admin_Controller { } } - private function _copy_items_for_tags($tag, $tags) { + private function _copy_items_for_tags($tag, $tag_list) { foreach ($tag->items() as $item) { - foreach ($tags as $idx => $new_tag) { - tag::add($item, trim($new_tag)); + foreach ($tag_list as $new_tag_name) { + tag::add($item, trim($new_tag_name)); } } } From b57dd202db3c4b007e83aff3df9da7920691d76d Mon Sep 17 00:00:00 2001 From: Automatic Build Number Updater Date: Sun, 24 Apr 2011 07:06:14 -0700 Subject: [PATCH 154/290] Automated update of .build_number to 128 for branch master Last update: aba51feb3d330f30f0e3b68e16c31f6bb250ef02 (1 commits ago) --- .build_number | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.build_number b/.build_number index 20417d2b..68a5d742 100644 --- a/.build_number +++ b/.build_number @@ -3,4 +3,4 @@ ; process. You don't need to edit it. In fact.. ; ; DO NOT EDIT THIS FILE BY HAND! -build_number=127 +build_number=128 From 809567f12850f59bdeb47a2963f6968b99b5a201 Mon Sep 17 00:00:00 2001 From: Chad Parry Date: Sun, 24 Apr 2011 08:10:04 -0600 Subject: [PATCH 155/290] Expose the data file field. --- modules/gallery/models/item.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/modules/gallery/models/item.php b/modules/gallery/models/item.php index 7a08d9c2..f4d4c521 100644 --- a/modules/gallery/models/item.php +++ b/modules/gallery/models/item.php @@ -127,6 +127,15 @@ class Item_Model_Core extends ORM_MPTT { return $this; } + /** + * Get the path to the data file associated with this item. + * This data file field is only set until you call save(). + * After that, you can get the path using get_file_path(). + */ + public function get_data_file() { + return $this->data_file; + } + /** * Return the server-relative url to this item, eg: * /gallery3/index.php/BobsWedding?page=2 From c8f90e861b866d0caa86343a6c7213e923023d39 Mon Sep 17 00:00:00 2001 From: Automatic Build Number Updater Date: Sun, 24 Apr 2011 07:14:38 -0700 Subject: [PATCH 156/290] Automated update of .build_number to 129 for branch master Last update: ce14f5fb906335c35bdb2754bb0cd482e7526f09 (8 commits ago) --- .build_number | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.build_number b/.build_number index 68a5d742..37dc1950 100644 --- a/.build_number +++ b/.build_number @@ -3,4 +3,4 @@ ; process. You don't need to edit it. In fact.. ; ; DO NOT EDIT THIS FILE BY HAND! -build_number=128 +build_number=129 From 7f48671186a4bf3a4745cd7a31b48a891dd83078 Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Sun, 24 Apr 2011 07:15:30 -0700 Subject: [PATCH 157/290] For ticket #1701. Remove unused variable. --- modules/tag/controllers/admin_tags.php | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/tag/controllers/admin_tags.php b/modules/tag/controllers/admin_tags.php index 7a64f7ab..77b5f20a 100644 --- a/modules/tag/controllers/admin_tags.php +++ b/modules/tag/controllers/admin_tags.php @@ -87,7 +87,6 @@ class Admin_Tags_Controller extends Admin_Controller { $old_name = $tag->name; $new_name_or_list = $in_place_edit->value(); $tag_list = explode(",", $new_name_or_list); - $tag_count = count($tag_list); $tag->name = array_shift($tag_list); $tag->save(); From b89c40242f85ecb49393e4fe6aeb3659550f60a4 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Sun, 24 Apr 2011 07:49:41 -0700 Subject: [PATCH 158/290] Sentence-case the url. Fixes #1706. --- modules/g2_import/helpers/g2_import_event.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/g2_import/helpers/g2_import_event.php b/modules/g2_import/helpers/g2_import_event.php index 0e078d08..0afa62d8 100644 --- a/modules/g2_import/helpers/g2_import_event.php +++ b/modules/g2_import/helpers/g2_import_event.php @@ -34,7 +34,7 @@ class g2_import_event_Core { ->get("settings_menu") ->append(Menu::factory("link") ->id("g2_import") - ->label(t("Gallery 2 Import")) + ->label(t("Gallery 2 import")) ->url(url::site("admin/g2_import"))); } } From bbd5417fef9c3ad28c6e57cb787e86684f49a71b Mon Sep 17 00:00:00 2001 From: Automatic Build Number Updater Date: Sun, 24 Apr 2011 07:50:19 -0700 Subject: [PATCH 159/290] Automated update of .build_number to 130 for branch master Last update: ce14f5fb906335c35bdb2754bb0cd482e7526f09 (10 commits ago) --- .build_number | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.build_number b/.build_number index 37dc1950..befc7f03 100644 --- a/.build_number +++ b/.build_number @@ -3,4 +3,4 @@ ; process. You don't need to edit it. In fact.. ; ; DO NOT EDIT THIS FILE BY HAND! -build_number=129 +build_number=130 From b4cdd016dc97f2df608bb14d2088cb4ddbd32c35 Mon Sep 17 00:00:00 2001 From: Chad Kieffer Date: Sun, 24 Apr 2011 11:53:29 -0400 Subject: [PATCH 160/290] Third times the charm. Rethink unordered lists and bullets. Revert to turning them off by default and provide a new class, g-text, to define a list or a section of text as needing to display bullets. --- .../g2_import/views/admin_g2_import.html.php | 4 ++-- .../gallery/views/admin_block_welcome.html.php | 2 +- themes/admin_wind/css/screen.css | 17 ++--------------- 3 files changed, 5 insertions(+), 18 deletions(-) diff --git a/modules/g2_import/views/admin_g2_import.html.php b/modules/g2_import/views/admin_g2_import.html.php index cf5e4755..2f4a1b28 100644 --- a/modules/g2_import/views/admin_g2_import.html.php +++ b/modules/g2_import/views/admin_g2_import.html.php @@ -112,8 +112,8 @@ $("document").ready(function() {

-
-
    +
    +
    • Review permissions!") ?>
    • diff --git a/modules/gallery/views/admin_block_welcome.html.php b/modules/gallery/views/admin_block_welcome.html.php index d8c96187..d3765d19 100644 --- a/modules/gallery/views/admin_block_welcome.html.php +++ b/modules/gallery/views/admin_block_welcome.html.php @@ -2,7 +2,7 @@

      -
        +
        • graphics and language settings.", array("graphics_url" => html::mark_clean(url::site("admin/graphics")), diff --git a/themes/admin_wind/css/screen.css b/themes/admin_wind/css/screen.css index f01c2a94..6f1c0962 100644 --- a/themes/admin_wind/css/screen.css +++ b/themes/admin_wind/css/screen.css @@ -92,25 +92,12 @@ a:hover, /* Lists ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ -#g-content ul li { +ul.g-text li, +.g-text ul li { list-style-type: disc; margin-left: 1em; } -form ul li, -#g-action-status li, -#g-log-entries li, -#g-tag-admin li, -.g-buttonset li, -.g-buttonset-vertical li, -.g-paginator li, -.ui-sortable li, -.ui-widget-header li { - list-style: none !important; - margin-left: 0 !important; -} - - /* Forms ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ form { From f8493a1df26f242959e931d862c5f1282dd324e8 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Sun, 24 Apr 2011 08:57:09 -0700 Subject: [PATCH 161/290] Revert my two "fixes" on top of Andy's tag combine change. Leave Tag_Model::items() calling Item_Model::viewable() because it's too dangerous to separate that out, and it's fragile to rely on only admins doing tag combines. Revert "Undo the change made in 5ce85636329b14673718836b3631a3e46efdc3bb because it messes up tag counts" - This reverts commit 67d2e8081c6e5f0b679881bca3fdc81fe1e78ccc. Revert "Move the calculation for item_related_update ahead of the duplicate" - This reverts commit 5ce85636329b14673718836b3631a3e46efdc3bb. --- modules/tag/models/tag.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/modules/tag/models/tag.php b/modules/tag/models/tag.php index 13e253ba..bb79e707 100644 --- a/modules/tag/models/tag.php +++ b/modules/tag/models/tag.php @@ -75,8 +75,12 @@ class Tag_Model_Core extends ORM { ->where("id", "!=", $this->id) ->find(); if ($duplicate_tag->loaded()) { - // If so, tag its items with this tag so as to merge it. - foreach ($duplicate_tag->items() as $item) { + // If so, tag its items with this tag so as to merge it + $duplicate_tag_items = ORM::factory("item") + ->join("items_tags", "items.id", "items_tags.item_id") + ->where("items_tags.tag_id", "=", $duplicate_tag->id) + ->find_all(); + foreach ($duplicate_tag_items as $item) { $this->add($item); } @@ -84,7 +88,6 @@ class Tag_Model_Core extends ORM { $duplicate_tag->delete(); } - // Figure out what items have changed in this tag for our item_related_update event below if (isset($this->object_relations["items"])) { $added = array_diff($this->changed_relations["items"], $this->object_relations["items"]); $removed = array_diff($this->object_relations["items"], $this->changed_relations["items"]); From 6100de33ac9ec61350301b4c1f45bcaf383e4841 Mon Sep 17 00:00:00 2001 From: Automatic Build Number Updater Date: Sun, 24 Apr 2011 09:01:18 -0700 Subject: [PATCH 162/290] Automated update of .build_number to 131 for branch master Last update: bbd5417fef9c3ad28c6e57cb787e86684f49a71b (1 commits ago) --- .build_number | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.build_number b/.build_number index befc7f03..efcaa779 100644 --- a/.build_number +++ b/.build_number @@ -3,4 +3,4 @@ ; process. You don't need to edit it. In fact.. ; ; DO NOT EDIT THIS FILE BY HAND! -build_number=130 +build_number=131 From ce5a2532ebcd5131056df908d2da831e91407e9d Mon Sep 17 00:00:00 2001 From: Chad Kieffer Date: Sun, 24 Apr 2011 13:41:12 -0400 Subject: [PATCH 163/290] Extend .g-text list styles to ordered lists to admin_wind theme. Add .g-text list styles to wind theme. --- themes/admin_wind/css/screen.css | 9 +++++++++ themes/wind/css/screen.css | 17 +++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/themes/admin_wind/css/screen.css b/themes/admin_wind/css/screen.css index 6f1c0962..d67850ec 100644 --- a/themes/admin_wind/css/screen.css +++ b/themes/admin_wind/css/screen.css @@ -95,6 +95,15 @@ a:hover, ul.g-text li, .g-text ul li { list-style-type: disc; +} + +ol.g-text li, +.g-text ol li { + list-style-type: decimal; +} + +.g-text li, +.g-text li { margin-left: 1em; } diff --git a/themes/wind/css/screen.css b/themes/wind/css/screen.css index b470ab1c..81231426 100644 --- a/themes/wind/css/screen.css +++ b/themes/wind/css/screen.css @@ -111,6 +111,23 @@ a:hover, padding-left: 32px; } +/* Lists ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +ul.g-text li, +.g-text ul li { + list-style-type: disc; +} + +ol.g-text li, +.g-text ol li { + list-style-type: decimal; +} + +.g-text li, +.g-text li { + margin-left: 1em; +} + /* Forms ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ form { From f4d76a8abe04612efe01f146617d760ffdd4b69f Mon Sep 17 00:00:00 2001 From: Chad Kieffer Date: Sun, 24 Apr 2011 13:56:39 -0400 Subject: [PATCH 164/290] Don't put the Admin > Theme Options Save button in a fieldset. --- modules/gallery/controllers/admin_theme_options.php | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/gallery/controllers/admin_theme_options.php b/modules/gallery/controllers/admin_theme_options.php index a968a56d..d9323ea0 100644 --- a/modules/gallery/controllers/admin_theme_options.php +++ b/modules/gallery/controllers/admin_theme_options.php @@ -108,7 +108,6 @@ class Admin_Theme_Options_Controller extends Admin_Controller { module::event("theme_edit_form", $form); - $group = $form->group("buttons"); $group->submit("")->value(t("Save")); return $form; } From 8e7a8fd2dc3245c2d236a2cd33d8c1a61ef9963c Mon Sep 17 00:00:00 2001 From: Chad Kieffer Date: Sun, 24 Apr 2011 14:09:03 -0400 Subject: [PATCH 165/290] Add a bit of space below progress bars. Fixes #1703. --- themes/admin_wind/css/screen.css | 2 +- themes/wind/css/screen.css | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/themes/admin_wind/css/screen.css b/themes/admin_wind/css/screen.css index d67850ec..a26bf6d2 100644 --- a/themes/admin_wind/css/screen.css +++ b/themes/admin_wind/css/screen.css @@ -896,7 +896,7 @@ button { .g-progress-bar { height: 1em; width: 100%; - margin-top: .5em; + margin: .5em 0; display: inline-block; } diff --git a/themes/wind/css/screen.css b/themes/wind/css/screen.css index 81231426..d6909364 100644 --- a/themes/wind/css/screen.css +++ b/themes/wind/css/screen.css @@ -945,7 +945,7 @@ button { .g-progress-bar { height: 1em; width: 100%; - margin-top: .5em; + margin: .5em 0; display: inline-block; } From ea2127c3b2ddef5709e02b4804c074bd1f942159 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Sun, 24 Apr 2011 21:02:34 -0700 Subject: [PATCH 166/290] Fix a bug introduced in f2477703faa7cd05ff1aa16da3ecef7b666bef40 which was a fix for #1581 that caused us to skip adding highlights for any albums that had no sub-albums. --- modules/g2_import/helpers/g2_import.php | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/modules/g2_import/helpers/g2_import.php b/modules/g2_import/helpers/g2_import.php index 23fb29e5..e9c19c9d 100644 --- a/modules/g2_import/helpers/g2_import.php +++ b/modules/g2_import/helpers/g2_import.php @@ -518,12 +518,11 @@ class g2_import_Core { static function set_album_highlight(&$queue) { // Dequeue the current album and enqueue its children list($g2_album_id, $children) = each($queue); - if (empty($children)) { - return; - } unset($queue[$g2_album_id]); - foreach ($children as $key => $value) { - $queue[$key] = $value; + if (!empty($children)) { + foreach ($children as $key => $value) { + $queue[$key] = $value; + } } $messages = array(); From 15f4657452795c2852c58c9f1840ce4e1f58d401 Mon Sep 17 00:00:00 2001 From: Automatic Build Number Updater Date: Sun, 24 Apr 2011 21:03:16 -0700 Subject: [PATCH 167/290] Automated update of .build_number to 132 for branch master Last update: 6100de33ac9ec61350301b4c1f45bcaf383e4841 (1 commits ago) --- .build_number | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.build_number b/.build_number index efcaa779..ce9a62d4 100644 --- a/.build_number +++ b/.build_number @@ -3,4 +3,4 @@ ; process. You don't need to edit it. In fact.. ; ; DO NOT EDIT THIS FILE BY HAND! -build_number=131 +build_number=132 From 701c1fb12f2f254d8d7e7756a09cb5e825123a2f Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Sun, 24 Apr 2011 22:45:45 -0700 Subject: [PATCH 168/290] Ignore the presort when transferring over sort orders. Fixes #1710. --- modules/g2_import/helpers/g2_import.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/g2_import/helpers/g2_import.php b/modules/g2_import/helpers/g2_import.php index e9c19c9d..50ab8a23 100644 --- a/modules/g2_import/helpers/g2_import.php +++ b/modules/g2_import/helpers/g2_import.php @@ -475,9 +475,10 @@ class g2_import_Core { 1 => "ASC", ORDER_ASCENDING => "ASC", ORDER_DESCENDING => "DESC"); - // Only consider G2's first sort order + // G2 sorts can either be or |. Right now we can't + // map presorts so ignore them. $g2_order = explode("|", $g2_album->getOrderBy() . ""); - $g2_order = $g2_order[0]; + $g2_order = end($g2_order); if (empty($g2_order)) { $g2_order = g2(GalleryCoreApi::getPluginParameter('module', 'core', 'default.orderBy')); } From ded13a931a1e3f12649969bf7188febeb19ceb51 Mon Sep 17 00:00:00 2001 From: Automatic Build Number Updater Date: Sun, 24 Apr 2011 22:46:26 -0700 Subject: [PATCH 169/290] Automated update of .build_number to 133 for branch master Last update: 15f4657452795c2852c58c9f1840ce4e1f58d401 (1 commits ago) --- .build_number | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.build_number b/.build_number index ce9a62d4..fea9bdb6 100644 --- a/.build_number +++ b/.build_number @@ -3,4 +3,4 @@ ; process. You don't need to edit it. In fact.. ; ; DO NOT EDIT THIS FILE BY HAND! -build_number=132 +build_number=133 From 953be781dc91254599224fa6e95fcc435e787975 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Sun, 24 Apr 2011 22:51:14 -0700 Subject: [PATCH 170/290] Refactor the meat of g2_import::import_album() off into a separate function so taht we can call it on the root album as well. Fixes --- modules/g2_import/helpers/g2_import.php | 94 +++++++++++--------- modules/g2_import/helpers/g2_import_task.php | 6 ++ 2 files changed, 57 insertions(+), 43 deletions(-) diff --git a/modules/g2_import/helpers/g2_import.php b/modules/g2_import/helpers/g2_import.php index 50ab8a23..22a054ac 100644 --- a/modules/g2_import/helpers/g2_import.php +++ b/modules/g2_import/helpers/g2_import.php @@ -448,50 +448,8 @@ class g2_import_Core { $album = ORM::factory("item"); $album->type = "album"; $album->parent_id = self::map($g2_album->getParentId()); - $album->name = $g2_album->getPathComponent(); - $album->title = self::_decode_html_special_chars($g2_album->getTitle()); - $album->title or $album->title = $album->name; - $album->description = self::_decode_html_special_chars(self::extract_description($g2_album)); - $album->owner_id = self::map($g2_album->getOwnerId()); - try { - $album->view_count = (int) g2(GalleryCoreApi::fetchItemViewCount($g2_album_id)); - } catch (Exception $e) { - // @todo log - $album->view_count = 0; - } - $album->created = $g2_album->getCreationTimestamp(); - $order_map = array( - "originationTimestamp" => "captured", - "creationTimestamp" => "created", - "description" => "description", - "modificationTimestamp" => "updated", - "orderWeight" => "weight", - "pathComponent" => "name", - "summary" => "description", - "title" => "title", - "viewCount" => "view_count"); - $direction_map = array( - 1 => "ASC", - ORDER_ASCENDING => "ASC", - ORDER_DESCENDING => "DESC"); - // G2 sorts can either be or |. Right now we can't - // map presorts so ignore them. - $g2_order = explode("|", $g2_album->getOrderBy() . ""); - $g2_order = end($g2_order); - if (empty($g2_order)) { - $g2_order = g2(GalleryCoreApi::getPluginParameter('module', 'core', 'default.orderBy')); - } - $g2_order_direction = explode("|", $g2_album->getOrderDirection() . ""); - $g2_order_direction = $g2_order_direction[0]; - if (empty($g2_order_direction)) { - $g2_order_direction = - g2(GalleryCoreApi::getPluginParameter('module', 'core', 'default.orderDirection')); - } - if (array_key_exists($g2_order, $order_map)) { - $album->sort_column = $order_map[$g2_order]; - $album->sort_order = $direction_map[$g2_order_direction]; - } + g2_import::set_album_values($album, $g2_album); try { $album->save(); @@ -513,6 +471,56 @@ class g2_import_Core { self::_import_permissions($g2_album, $album); } + /** + * Transfer over all the values from a G2 album to a G3 album. + */ + static function set_album_values($album, $g2_album) { + $album->name = $g2_album->getPathComponent(); + $album->title = self::_decode_html_special_chars($g2_album->getTitle()); + $album->title or $album->title = $album->name; + $album->description = self::_decode_html_special_chars(self::extract_description($g2_album)); + $album->owner_id = self::map($g2_album->getOwnerId()); + try { + $album->view_count = (int) g2(GalleryCoreApi::fetchItemViewCount($g2_album_id)); + } catch (Exception $e) { + // @todo log + $album->view_count = 0; + } + $album->created = $g2_album->getCreationTimestamp(); + + $order_map = array( + "originationTimestamp" => "captured", + "creationTimestamp" => "created", + "description" => "description", + "modificationTimestamp" => "updated", + "orderWeight" => "weight", + "pathComponent" => "name", + "summary" => "description", + "title" => "title", + "viewCount" => "view_count"); + $direction_map = array( + 1 => "ASC", + ORDER_ASCENDING => "ASC", + ORDER_DESCENDING => "DESC"); + // G2 sorts can either be or |. Right now we can't + // map presorts so ignore them. + $g2_order = explode("|", $g2_album->getOrderBy() . ""); + $g2_order = end($g2_order); + if (empty($g2_order)) { + $g2_order = g2(GalleryCoreApi::getPluginParameter('module', 'core', 'default.orderBy')); + } + $g2_order_direction = explode("|", $g2_album->getOrderDirection() . ""); + $g2_order_direction = $g2_order_direction[0]; + if (empty($g2_order_direction)) { + $g2_order_direction = + g2(GalleryCoreApi::getPluginParameter('module', 'core', 'default.orderDirection')); + } + if (array_key_exists($g2_order, $order_map)) { + $album->sort_column = $order_map[$g2_order]; + $album->sort_order = $direction_map[$g2_order_direction]; + } + } + /** * Set the highlight properly for a single album */ diff --git a/modules/g2_import/helpers/g2_import_task.php b/modules/g2_import/helpers/g2_import_task.php index 5e908676..31615a55 100644 --- a/modules/g2_import/helpers/g2_import_task.php +++ b/modules/g2_import/helpers/g2_import_task.php @@ -127,6 +127,12 @@ class g2_import_task_Core { $g2_root_id = g2(GalleryCoreApi::getDefaultAlbumId()); $tree = g2(GalleryCoreApi::fetchAlbumTree()); $task->set("queue", $queue = array($g2_root_id => $tree)); + + // Update the root album to reflect the Gallery2 root album. + $root_album = item::root(); + g2_import::set_album_values( + $root_album, g2(GalleryCoreApi::loadEntitiesById($g2_root_id))); + $root_album->save(); } $log_message = g2_import::import_album($queue); if ($log_message) { From 84407648fe0115875908ebd8c68fc1755d3ecd2b Mon Sep 17 00:00:00 2001 From: Automatic Build Number Updater Date: Sun, 24 Apr 2011 22:52:02 -0700 Subject: [PATCH 171/290] Automated update of .build_number to 134 for branch master Last update: 15f4657452795c2852c58c9f1840ce4e1f58d401 (3 commits ago) --- .build_number | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.build_number b/.build_number index fea9bdb6..049abf42 100644 --- a/.build_number +++ b/.build_number @@ -3,4 +3,4 @@ ; process. You don't need to edit it. In fact.. ; ; DO NOT EDIT THIS FILE BY HAND! -build_number=133 +build_number=134 From 8533420f5d307e81a90c3d26a75b666350aee0f2 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Sun, 24 Apr 2011 22:55:01 -0700 Subject: [PATCH 172/290] Look for and return embed.php files in the autocomplete list if we can find them. Fixes #1708. --- modules/g2_import/controllers/admin_g2_import.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/g2_import/controllers/admin_g2_import.php b/modules/g2_import/controllers/admin_g2_import.php index cf68d911..5c4995c9 100644 --- a/modules/g2_import/controllers/admin_g2_import.php +++ b/modules/g2_import/controllers/admin_g2_import.php @@ -100,6 +100,11 @@ class Admin_g2_import_Controller extends Admin_Controller { foreach (glob("{$path_prefix}*") as $file) { if (is_dir($file) && !is_link($file)) { $directories[] = $file; + + // If we find an embed.php, include it as well + if (file_exists("$file/embed.php")) { + $directories[] = "$file/embed.php"; + } } } From 10f117238a4302092fdfb71a02542281f2b2d356 Mon Sep 17 00:00:00 2001 From: Automatic Build Number Updater Date: Sun, 24 Apr 2011 22:55:59 -0700 Subject: [PATCH 173/290] Automated update of .build_number to 135 for branch master Last update: 15f4657452795c2852c58c9f1840ce4e1f58d401 (5 commits ago) --- .build_number | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.build_number b/.build_number index 049abf42..1df3b5cb 100644 --- a/.build_number +++ b/.build_number @@ -3,4 +3,4 @@ ; process. You don't need to edit it. In fact.. ; ; DO NOT EDIT THIS FILE BY HAND! -build_number=134 +build_number=135 From 4ad94639a638c38db7fcd9c89f8f3f241a529c83 Mon Sep 17 00:00:00 2001 From: Automatic Build Number Updater Date: Sun, 24 Apr 2011 22:59:55 -0700 Subject: [PATCH 174/290] Automated update of .build_number to 136 for branch master Last update: 10f117238a4302092fdfb71a02542281f2b2d356 (1 commits ago) --- .build_number | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.build_number b/.build_number index 1df3b5cb..182fcf4d 100644 --- a/.build_number +++ b/.build_number @@ -3,4 +3,4 @@ ; process. You don't need to edit it. In fact.. ; ; DO NOT EDIT THIS FILE BY HAND! -build_number=135 +build_number=136 From 4e7524664a24dd2ca2309c9d67843a19e74b48e0 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Sun, 24 Apr 2011 23:04:50 -0700 Subject: [PATCH 175/290] Show the tabs after the page has loaded to prevent Firefox from rendering the unstyled page and then flashing. Fixes #1705. --- modules/g2_import/views/admin_g2_import.html.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/g2_import/views/admin_g2_import.html.php b/modules/g2_import/views/admin_g2_import.html.php index 2f4a1b28..9c4eb840 100644 --- a/modules/g2_import/views/admin_g2_import.html.php +++ b/modules/g2_import/views/admin_g2_import.html.php @@ -30,9 +30,13 @@ $("document").ready(function() { .tabs("select", 1) ; + + // Show the tabs after the page has loaded to prevent Firefox from rendering the + // unstyled page and then flashing. + $("#g-admin-g2-import-tabs").show(); }); -
          + diff --git a/modules/gallery/libraries/Gallery_View.php b/modules/gallery/libraries/Gallery_View.php index 1395686c..e04b9169 100644 --- a/modules/gallery/libraries/Gallery_View.php +++ b/modules/gallery/libraries/Gallery_View.php @@ -30,6 +30,52 @@ class Gallery_View_Core extends View { return $absolute_url ? url::abs_file($arg) : url::file($arg); } + /** + * Set up the data and render a pager. + * + * See themes/wind/views/pager.html for documentation on the variables generated here. + */ + public function paginator() { + $v = new View("paginator.html"); + $v->page_type = $this->page_type; + $v->page_subtype = $this->page_subtype; + $v->first_page_url = null; + $v->previous_page_url = null; + $v->next_page_url = null; + $v->last_page_url = null; + + if ($this->page_type == "collection") { + $v->page = $this->page; + $v->max_pages = $this->max_pages; + $v->total = $this->children_count; + + if ($this->page != 1) { + $v->first_page_url = url::site(url::merge(array("page" => 1))); + $v->previous_page_url = url::site(url::merge(array("page" => $this->page - 1))); + } + + if ($this->page != $this->max_pages) { + $v->next_page_url = url::site(url::merge(array("page" => $this->page + 1))); + $v->last_page_url = url::site(url::merge(array("page" => $this->max_pages))); + } + + $v->first_visible_position = ($this->page - 1) * $this->page_size + 1; + $v->last_visible_position = min($this->page * $this->page_size, $v->total); + } else if ($this->page_type == "item") { + $v->position = $this->position; + $v->total = $this->sibling_count; + if ($this->previous_item) { + $v->previous_page_url = $this->previous_item->url(); + } + + if ($this->next_item) { + $v->next_page_url = $this->next_item->url(); + } + } + + return $v; + } + /** * Begin gather up scripts or css files so that they can be combined into a single request. * diff --git a/modules/gallery/libraries/MY_Pagination.php b/modules/gallery/libraries/MY_Pagination.php deleted file mode 100644 index e697c0bd..00000000 --- a/modules/gallery/libraries/MY_Pagination.php +++ /dev/null @@ -1,35 +0,0 @@ -auto_hide === TRUE AND $this->total_pages <= 1) { - return ""; - } - - if ($style === NULL) { - // Use default style - $style = $this->style; - } - - // Return rendered pagination view - return View::factory("pager.html", get_object_vars($this))->render(); - } -} diff --git a/modules/gallery/libraries/Theme_View.php b/modules/gallery/libraries/Theme_View.php index 152efc37..d6834464 100644 --- a/modules/gallery/libraries/Theme_View.php +++ b/modules/gallery/libraries/Theme_View.php @@ -138,52 +138,6 @@ class Theme_View_Core extends Gallery_View { return $menu->render(); } - /** - * Set up the data and render a pager. - * - * See themes/wind/views/pager.html for documentation on the variables generated here. - */ - public function paginator() { - $v = new View("paginator.html"); - $v->page_type = $this->page_type; - $v->page_subtype = $this->page_subtype; - $v->first_page_url = null; - $v->previous_page_url = null; - $v->next_page_url = null; - $v->last_page_url = null; - - if ($this->page_type == "collection") { - $v->page = $this->page; - $v->max_pages = $this->max_pages; - $v->total = $this->children_count; - - if ($this->page != 1) { - $v->first_page_url = url::site(url::merge(array("page" => 1))); - $v->previous_page_url = url::site(url::merge(array("page" => $this->page - 1))); - } - - if ($this->page != $this->max_pages) { - $v->next_page_url = url::site(url::merge(array("page" => $this->page + 1))); - $v->last_page_url = url::site(url::merge(array("page" => $this->max_pages))); - } - - $v->first_visible_position = ($this->page - 1) * $this->page_size + 1; - $v->last_visible_position = min($this->page * $this->page_size, $v->total); - } else if ($this->page_type == "item") { - $v->position = $this->position; - $v->total = $this->sibling_count; - if ($this->previous_item) { - $v->previous_page_url = $this->previous_item->url(); - } - - if ($this->next_item) { - $v->next_page_url = $this->next_item->url(); - } - } - - return $v; - } - /** * Print out any site wide status information. */ diff --git a/modules/user/controllers/admin_users.php b/modules/user/controllers/admin_users.php index a3633b52..41be6c03 100644 --- a/modules/user/controllers/admin_users.php +++ b/modules/user/controllers/admin_users.php @@ -21,6 +21,8 @@ class Admin_Users_Controller extends Admin_Controller { public function index() { $view = new Admin_View("admin.html"); $view->page_title = t("Users and groups"); + $view->page_type = "collection"; + $view->page_subtype = "admin_users"; $view->content = new View("admin_users.html"); // @todo: add this as a config option @@ -29,6 +31,12 @@ class Admin_Users_Controller extends Admin_Controller { $builder = db::build(); $user_count = $builder->from("users")->count_records(); + // Pagination info + $view->page = $page; + $view->page_size = $page_size; + $view->children_count = $user_count; + $view->max_pages = ceil($view->children_count / $view->page_size); + $view->content->pager = new Pagination(); $view->content->pager->initialize( array("query_string" => "page", diff --git a/modules/user/views/admin_users.html.php b/modules/user/views/admin_users.html.php index a7bd6b27..033c9dae 100644 --- a/modules/user/views/admin_users.html.php +++ b/modules/user/views/admin_users.html.php @@ -110,7 +110,7 @@
          - + paginator() ?>
          diff --git a/themes/admin_wind/views/pager.html.php b/themes/admin_wind/views/pager.html.php deleted file mode 100644 index 5fff5845..00000000 --- a/themes/admin_wind/views/pager.html.php +++ /dev/null @@ -1,44 +0,0 @@ - - -
            - $current_first_item, - "to_number" => $current_last_item, - "count" => $total_items)) ?> -
          • - - - - - - - - - - - - - - -
          • -
          • -
          • - - - - - - - - - - - - - - -
          • -
          diff --git a/themes/admin_wind/views/paginator.html.php b/themes/admin_wind/views/paginator.html.php new file mode 100644 index 00000000..3cb0223d --- /dev/null +++ b/themes/admin_wind/views/paginator.html.php @@ -0,0 +1,88 @@ + + + +
            +
          • + + + + + + + + + + + + + + + + + +
          • + +
          • + + + $first_visible_position, + "to_number" => $last_visible_position, + "count" => $total)) ?> + + $position, "total" => $total)) ?> + + + + +
          • + +
          • + + + + + + + + + + + + + + + + + +
          • +
          From ebdc97b140fc5fce83d25da43b8bfcd595315ce4 Mon Sep 17 00:00:00 2001 From: Automatic Build Number Updater Date: Tue, 26 Apr 2011 09:49:52 -0700 Subject: [PATCH 185/290] Automated update of .build_number to 141 for branch master Last update: c6d1d6a6aed96f772690b74ac0be482bc2128a8d (1 commits ago) --- .build_number | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.build_number b/.build_number index b9dbbf41..69e66c62 100644 --- a/.build_number +++ b/.build_number @@ -3,4 +3,4 @@ ; process. You don't need to edit it. In fact.. ; ; DO NOT EDIT THIS FILE BY HAND! -build_number=140 +build_number=141 From 466b24307c4ac827cd4075a07a5fff567b6f4093 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Tue, 26 Apr 2011 21:01:36 -0700 Subject: [PATCH 186/290] Hide the paginator when there are no children. #1721. --- themes/admin_wind/views/paginator.html.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/themes/admin_wind/views/paginator.html.php b/themes/admin_wind/views/paginator.html.php index 3cb0223d..b46d9741 100644 --- a/themes/admin_wind/views/paginator.html.php +++ b/themes/admin_wind/views/paginator.html.php @@ -27,6 +27,7 @@ // ?> +
          • @@ -61,8 +62,6 @@ $position, "total" => $total)) ?> - -
          • @@ -86,3 +85,4 @@
          + \ No newline at end of file From 77875e2fab86c9fc74c775545cd7df6b9a0fbc40 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Tue, 26 Apr 2011 21:01:58 -0700 Subject: [PATCH 187/290] Include jquery.scrollTo.js. Fixes #1720. --- themes/admin_wind/views/admin.html.php | 1 + 1 file changed, 1 insertion(+) diff --git a/themes/admin_wind/views/admin.html.php b/themes/admin_wind/views/admin.html.php index 65473e57..e19c6aeb 100644 --- a/themes/admin_wind/views/admin.html.php +++ b/themes/admin_wind/views/admin.html.php @@ -29,6 +29,7 @@ script("gallery.ajax.js") ?> script("gallery.dialog.js") ?> script("superfish/js/superfish.js") ?> + script("jquery.scrollTo.js") ?> admin_head() ?> From 743e2f88d8cbba7ea5f7b3b78ab721c141d1ec99 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Tue, 26 Apr 2011 21:02:43 -0700 Subject: [PATCH 188/290] Overhaul the Admin > Content > Comments page. Use a tabbed interface for consistency with other parts of the admin UI (ie: G2 import). The UI is now Ajax driven because that's how jQuery tabs works best in this case. This requires a little finagling in JS to get the paginator links to load properly. While I'm in there, add a paginator at the top of the table, make the buttons in the delete tab sane and smooth scroll back to the top of the tab when switching pages. Fixes #1702 --- .../controllers/admin_manage_comments.php | 32 ++- .../views/admin_manage_comments.html.php | 211 +++--------------- .../admin_manage_comments_queue.html.php | 157 +++++++++++++ 3 files changed, 205 insertions(+), 195 deletions(-) create mode 100644 modules/comment/views/admin_manage_comments_queue.html.php diff --git a/modules/comment/controllers/admin_manage_comments.php b/modules/comment/controllers/admin_manage_comments.php index effefcbb..72684e70 100644 --- a/modules/comment/controllers/admin_manage_comments.php +++ b/modules/comment/controllers/admin_manage_comments.php @@ -28,8 +28,10 @@ class Admin_Manage_Comments_Controller extends Admin_Controller { ->where("updated", "<", db::expr("UNIX_TIMESTAMP() - 86400 * 7")) ->execute(); - // Redirect to the appropriate queue - url::redirect("admin/manage_comments/queue/unpublished"); + $view = new Admin_View("admin.html"); + $view->content = new View("admin_manage_comments.html"); + $view->content->menu = $this->_menu($this->_counts()); + print $view; } public function menu_labels() { @@ -43,15 +45,11 @@ class Admin_Manage_Comments_Controller extends Admin_Controller { public function queue($state) { $page = max(Input::instance()->get("page"), 1); - $view = new Admin_View("admin.html"); - $view->page_title = t("Manage comments"); - $view->page_type = "collection"; - $view->page_subtype = "admin_comments"; - $view->content = new View("admin_manage_comments.html"); - $view->content->counts = $this->_counts(); - $view->content->menu = $this->_menu($view->content->counts); - $view->content->state = $state; - $view->content->comments = ORM::factory("comment") + $view = new Gallery_View("admin_manage_comments_queue.html"); + $view->counts = $this->_counts(); + $view->menu = $this->_menu($view->counts); + $view->state = $state; + $view->comments = ORM::factory("comment") ->order_by("created", "DESC") ->order_by("id", "DESC") ->where("state", "=", $state) @@ -59,11 +57,21 @@ class Admin_Manage_Comments_Controller extends Admin_Controller { ->offset(($page - 1) * self::$items_per_page) ->find_all(); - // Pagination info + // This view is not themed so we can't use $theme->url() in the view and have to + // reproduce Gallery_View::url() logic here. + $atn = theme::$admin_theme_name; + $view->fallback_avatar_url = url::abs_file("themes/$atn/images/avatar.jpg"); + $view->page = $page; + $view->page_type = "collection"; + $view->page_subtype = "admin_comments"; $view->page_size = self::$items_per_page; $view->children_count = $this->_counts()->$state; $view->max_pages = ceil($view->children_count / $view->page_size); + + // Also we want to use $theme->paginator() so we need a dummy theme + $view->theme = $view; + print $view; } diff --git a/modules/comment/views/admin_manage_comments.html.php b/modules/comment/views/admin_manage_comments.html.php index e7a61837..e3c8546c 100644 --- a/modules/comment/views/admin_manage_comments.html.php +++ b/modules/comment/views/admin_manage_comments.html.php @@ -2,200 +2,45 @@
          -

          - -
          - -
          - render() ?> -
          - - -

          - - - - - - - - - -

          - - -
          - - 0): ?> -

          - -

          - -

          - spam): ?> - spam) ?> -

          -

          - "> - - - - - -

          -
          - - - -
          -

          - -

          -
          - - - - - - - - - - "> - - - - - -
          - - - - - -
          - - " - class="g-avatar" - alt="author_name()) ?>" - width="40" - height="40" /> - -

          author_name()) ?>

          -
          - -

          created) ?>

          - text)) ?> -
          -
            - state != "unpublished"): ?> -
          • - - - - -
          • - - state != "published"): ?> -
          • - - - - -
          • - - state != "spam"): ?> -
          • - - - - -
          • - - -
          • - - - - -
          • -
          -
          - -
          - paginator() ?> -
          - -
          + render() ?>
          diff --git a/modules/comment/views/admin_manage_comments_queue.html.php b/modules/comment/views/admin_manage_comments_queue.html.php new file mode 100644 index 00000000..d847d729 --- /dev/null +++ b/modules/comment/views/admin_manage_comments_queue.html.php @@ -0,0 +1,157 @@ + +
          + +
          + + 0): ?> +

          + +

          + +

          + spam): ?> + spam) ?> +

          +

          + "> + + + + + +

          +
          + + + +
          +

          + +

          +
          + + +
          + paginator() ?> +
          + + + + + + + + "> + + + + + +
          + + + + + +
          + + <?= html::clean_attribute($comment->author_name()) ?> + +

          + + author_name()) ?> + +

          +
          + +

          created) ?>

          + text)) ?> +
          +
            + state != "unpublished" && $comment->state != "deleted"): ?> +
          • + + + + +
          • + + state != "published"): ?> +
          • + + + + + + + + +
          • + + state != "spam"): ?> +
          • + + + + +
          • + + + state != "deleted"): ?> +
          • + + + + +
          • + +
          +
          + +
          + paginator() ?> +
          +
          From 192cb124aa0f38ed804299bf39c15538cc768d7a Mon Sep 17 00:00:00 2001 From: Automatic Build Number Updater Date: Tue, 26 Apr 2011 21:05:12 -0700 Subject: [PATCH 189/290] Automated update of .build_number to 142 for branch master Last update: c6d1d6a6aed96f772690b74ac0be482bc2128a8d (5 commits ago) --- .build_number | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.build_number b/.build_number index 69e66c62..c85046c4 100644 --- a/.build_number +++ b/.build_number @@ -3,4 +3,4 @@ ; process. You don't need to edit it. In fact.. ; ; DO NOT EDIT THIS FILE BY HAND! -build_number=141 +build_number=142 From 4fa46d6a0433347e456be8c0d309d2da59dcecd5 Mon Sep 17 00:00:00 2001 From: Chad Kieffer Date: Tue, 26 Apr 2011 22:38:53 -0600 Subject: [PATCH 190/290] Move wind and admin_wind RTL style definitions out to their own file. Call that file when an RTL language is selected. --- themes/admin_wind/css/screen-rtl.css | 308 +++++++++++++++++++++++ themes/admin_wind/css/screen.css | 310 ----------------------- themes/admin_wind/views/admin.html.php | 3 + themes/wind/css/screen-rtl.css | 324 ++++++++++++++++++++++++ themes/wind/css/screen.css | 326 ------------------------- themes/wind/views/page.html.php | 3 + 6 files changed, 638 insertions(+), 636 deletions(-) create mode 100644 themes/admin_wind/css/screen-rtl.css create mode 100644 themes/wind/css/screen-rtl.css diff --git a/themes/admin_wind/css/screen-rtl.css b/themes/admin_wind/css/screen-rtl.css new file mode 100644 index 00000000..b9a8c7b8 --- /dev/null +++ b/themes/admin_wind/css/screen-rtl.css @@ -0,0 +1,308 @@ +/** + * Gallery 3 Admin Wind Theme Right-to-Left Screen Styles + */ + +.rtl { + direction: rtl; +} + +.rtl #g-header, +.rtl #g-content, +.rtl #g-sidebar, +.rtl #g-footer, +.rtl caption, +.rtl th, +.rtl #g-dialog, +.rtl .g-context-menu li a, +.rtl .g-message-box li, +.rtl #g-site-status li { + text-align: right; +} + +.rtl .g-text-right { + text-align: left; +} + +.rtl .g-error, +.rtl .g-info, +.rtl .g-success, +.rtl .g-warning, +.rtl #g-add-photos-status .g-success, +.rtl #g-add-photos-status .g-error { + background-position: center right; + padding-right: 30px !important; +} + +.rtl form li.g-error, +.rtl form li.g-info, +.rtl form li.g-success, +.rtl form li.g-warning { + padding-right: 0 !important; +} + +.rtl .g-left, +.rtl .g-inline li, +.rtl #g-content #g-album-grid .g-item, +.rtl .sf-menu li, +.rtl .g-breadcrumbs li, +.rtl .g-paginator li, +.rtl .g-buttonset li, +.rtl .ui-icon-left .ui-icon, +.rtl .g-short-form li, +.rtl form ul ul li, +.rtl input[type="submit"], +.rtl input[type="reset"], +.rtl input.checkbox, +.rtl input[type=checkbox], +.rtl input.radio, +.rtl input[type=radio] { + float: right; +} + +.rtl .g-right, +.rtl .ui-icon-right .ui-icon { + float: left; +} + +.rtl .g-inline li { + margin-right: 1em; +} + +.rtl .g-inline li.g-first { + margin-right: 0; +} + +.rtl .g-breadcrumbs li { + background: transparent url('../images/ico-separator-rtl.gif') no-repeat scroll right center; + padding: 1em 18px 1em 8px; +} + +.rtl .g-breadcrumbs .g-first { + background: none; + padding-right: 0; +} + +.rtl input.checkbox { + margin-left: .4em; +} + +.rtl #g-add-comment { + right: inherit; + left: 0; +} + +.rtl .ui-icon-left .ui-icon { + margin-left: .2em; +} + +.rtl .ui-icon-right .ui-icon { + margin-right: .2em; +} + +/* RTL Corner radius ~~~~~~~~~~~~~~~~~~~~~~ */ + +.rtl .g-buttonset .ui-corner-tl { + -moz-border-radius-topleft: 0; + -webkit-border-top-left-radius: 0; + border-top-left-radius: 0; + -moz-border-radius-topright: 5px !important; + -webkit-border-top-right-radius: 5px !important; + border-top-right-radius: 5px !important; +} + +.rtl .g-buttonset .ui-corner-tr { + -moz-border-radius-topright: 0; + -webkit-border-top-right-radius: 0; + border-top-right-radius: 0; + -moz-border-radius-topleft: 5px !important; + -webkit-border-top-left-radius: 5px !important; + border-top-left-radius: 5px !important; +} + +.rtl .g-buttonset .ui-corner-bl { + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 5px !important; + -webkit-border-bottom-right-radius: 5px !important; + border-bottom-right-radius: 5px !important; +} + +.rtl .g-buttonset .ui-corner-br { + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; + -moz-border-radius-bottomleft: 5px !important; + -webkit-border-bottom-left-radius: 5px !important; + border-bottom-left-radius: 5px !important; +} + +.rtl .g-buttonset .ui-corner-right, +.rtl .ui-progressbar .ui-corner-right { + -moz-border-radius-topright: 0; + -webkit-border-top-right-radius: 0; + border-top-right-radius: 0; + -moz-border-radius-topleft: 5px !important; + -webkit-border-top-left-radius: 5px !important; + border-top-left-radius: 5px !important; + -moz-border-radius-bottomright: 0; + -webkit-border-bottom-right-radius: 0; + border-bottom-right-radius: 0; + -moz-border-radius-bottomleft: 5px !important; + -webkit-border-bottom-left-radius: 5px !important; + border-bottom-left-radius: 5px !important; +} + +.rtl .g-buttonset .ui-corner-left, +.rtl .ui-progressbar .ui-corner-left { + -moz-border-radius-topleft: 0; + -webkit-border-top-left-radius: 0; + border-top-left-radius: 0; + -moz-border-radius-topright: 5px !important; + -webkit-border-top-right-radius: 5px !important; + border-top-right-radius: 5px !important; + -moz-border-radius-bottomleft: 0; + -webkit-border-bottom-left-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-bottomright: 5px !important; + -webkit-border-bottom-right-radius: 5px !important; + border-bottom-right-radius: 5px !important; +} + +/* RTL Superfish ~~~~~~~~~~~~~~~~~~~~~~~~~ */ + +.rtl .sf-menu a { + border-left: none; + border-right:1px solid #fff; +} + +.rtl .sf-menu a.sf-with-ul { + padding-left: 2.25em; + padding-right: 1em; +} + +.rtl .sf-sub-indicator { + left: .75em !important; + right: auto; + background: url('../../../lib/superfish/images/arrows-ffffff-rtl.png') no-repeat -10px -100px; +} + +.rtl a > .sf-sub-indicator { + top: .8em; + background-position: -10px -100px; +} + +.rtl a:focus > .sf-sub-indicator, +.rtl a:hover > .sf-sub-indicator, +.rtl a:active > .sf-sub-indicator, +.rtl li:hover > a > .sf-sub-indicator, +.rtl li.sfHover > a > .sf-sub-indicator { + background-position: 0 -100px; +} + +.rtl .sf-menu ul .sf-sub-indicator { + background-position: 0 0; +} + +.rtl .sf-menu ul a > .sf-sub-indicator { + background-position: -10px 0; +} + +.rtl .sf-menu ul a:focus > .sf-sub-indicator, +.rtl .sf-menu ul a:hover > .sf-sub-indicator, +.rtl .sf-menu ul a:active > .sf-sub-indicator, +.rtl .sf-menu ul li:hover > a > .sf-sub-indicator, +.rtl .sf-menu ul li.sfHover > a > .sf-sub-indicator { + background-position: 0 0; +} + +.rtl .sf-menu li:hover ul, +.rtl .sf-menu li.sfHover ul { + right: 0; + left: auto; +} + +.rtl ul.sf-menu li li:hover ul, +.rtl ul.sf-menu li li.sfHover ul { + right: 12em; + left: auto; +} +.rtl ul.sf-menu li li li:hover ul, +.rtl ul.sf-menu li li li.sfHover ul { + right: 12em; + left: auto; +} + +.rtl .sf-shadow ul { + background: url('../../../lib/superfish/images/shadow.png') no-repeat bottom left; + padding: 0 0 9px 8px; + border-top-right-radius: 0; + border-bottom-left-radius: 0; + -moz-border-radius-topright: 0; + -moz-border-radius-bottomleft: 0; + -webkit-border-top-right-radius: 0; + -webkit-border-bottom-left-radius: 0; + -moz-border-radius-topleft: 17px; + -moz-border-radius-bottomright: 17px; + -webkit-border-top-left-radius: 17px; + -webkit-border-bottom-right-radius: 17px; + border-top-left-radius: 17px; + border-bottom-right-radius: 17px; +} + +/* RTL ThemeRoller ~~~~~~~~~~~~~~~~~~~~~~~~ */ + +.rtl .ui-dialog .ui-dialog-titlebar { + padding: 0.5em 1em 0.3em 0.3em; +} + +.rtl .ui-dialog .ui-dialog-title { + float: right; +} + +.rtl .ui-dialog .ui-dialog-titlebar-close { + left: 0.3em; + right: auto; +} + +.rtl #g-content #g-album-grid .g-item, +.rtl #g-site-theme, +.rtl #g-admin-theme, +.rtl .g-selected img, +.rtl .g-available .g-block img, +.rtl #g-content #g-photo-stream .g-item, +.rtl li.g-group, +.rtl #g-server-add-admin { + float: right; +} + +.rtl #g-admin-graphics .g-available .g-block { + float: right; + margin-left: 1em; + margin-right: 0em; +} + +.rtl #g-site-admin-menu { + left: auto; + right: 150px; +} + +.rtl #g-header #g-login-menu { + float: left; +} + +.rtl #g-header #g-login-menu li { + margin-left: 0; + padding-left: 0; + padding-right: 1.2em; +} + +.rtl #g-sidebar .g-block-content { + padding-left: 0em; + padding-right: 1em; +} + +.rtl .g-selected img, +.rtl .g-available .g-block img { + margin: 0 0 1em 1em; +} diff --git a/themes/admin_wind/css/screen.css b/themes/admin_wind/css/screen.css index a26bf6d2..58942387 100644 --- a/themes/admin_wind/css/screen.css +++ b/themes/admin_wind/css/screen.css @@ -12,7 +12,6 @@ * 6) Positioning and order * 7) Navigation and menus * 8) jQuery and jQuery UI - * 9) Right-to-left language styles * * @todo Review g-buttonset-vertical */ @@ -1057,312 +1056,3 @@ ul.sf-menu li li li.sfHover ul { #g-admin-dashboard-sidebar .ui-dialog-titlebar { padding: .2em .4em; } - -/** ******************************************************************* - * 9) Right to left styles - *********************************************************************/ - -.rtl { - direction: rtl; -} - -.rtl #g-header, -.rtl #g-content, -.rtl #g-sidebar, -.rtl #g-footer, -.rtl caption, -.rtl th, -.rtl #g-dialog, -.rtl .g-context-menu li a, -.rtl .g-message-box li, -.rtl #g-site-status li { - text-align: right; -} - -.rtl .g-text-right { - text-align: left; -} - -.rtl .g-error, -.rtl .g-info, -.rtl .g-success, -.rtl .g-warning, -.rtl #g-add-photos-status .g-success, -.rtl #g-add-photos-status .g-error { - background-position: center right; - padding-right: 30px !important; -} - -.rtl form li.g-error, -.rtl form li.g-info, -.rtl form li.g-success, -.rtl form li.g-warning { - padding-right: 0 !important; -} - -.rtl .g-left, -.rtl .g-inline li, -.rtl #g-content #g-album-grid .g-item, -.rtl .sf-menu li, -.rtl .g-breadcrumbs li, -.rtl .g-paginator li, -.rtl .g-buttonset li, -.rtl .ui-icon-left .ui-icon, -.rtl .g-short-form li, -.rtl form ul ul li, -.rtl input[type="submit"], -.rtl input[type="reset"], -.rtl input.checkbox, -.rtl input[type=checkbox], -.rtl input.radio, -.rtl input[type=radio] { - float: right; -} - -.rtl .g-right, -.rtl .ui-icon-right .ui-icon { - float: left; -} - -.rtl .g-inline li { - margin-right: 1em; -} - -.rtl .g-inline li.g-first { - margin-right: 0; -} - -.rtl .g-breadcrumbs li { - background: transparent url('../images/ico-separator-rtl.gif') no-repeat scroll right center; - padding: 1em 18px 1em 8px; -} - -.rtl .g-breadcrumbs .g-first { - background: none; - padding-right: 0; -} - -.rtl input.checkbox { - margin-left: .4em; -} - -.rtl #g-add-comment { - right: inherit; - left: 0; -} - -.rtl .ui-icon-left .ui-icon { - margin-left: .2em; -} - -.rtl .ui-icon-right .ui-icon { - margin-right: .2em; -} - -/* RTL Corner radius ~~~~~~~~~~~~~~~~~~~~~~ */ - -.rtl .g-buttonset .ui-corner-tl { - -moz-border-radius-topleft: 0; - -webkit-border-top-left-radius: 0; - border-top-left-radius: 0; - -moz-border-radius-topright: 5px !important; - -webkit-border-top-right-radius: 5px !important; - border-top-right-radius: 5px !important; -} - -.rtl .g-buttonset .ui-corner-tr { - -moz-border-radius-topright: 0; - -webkit-border-top-right-radius: 0; - border-top-right-radius: 0; - -moz-border-radius-topleft: 5px !important; - -webkit-border-top-left-radius: 5px !important; - border-top-left-radius: 5px !important; -} - -.rtl .g-buttonset .ui-corner-bl { - -moz-border-radius-bottomleft: 0; - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; - -moz-border-radius-bottomright: 5px !important; - -webkit-border-bottom-right-radius: 5px !important; - border-bottom-right-radius: 5px !important; -} - -.rtl .g-buttonset .ui-corner-br { - -moz-border-radius-bottomright: 0; - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; - -moz-border-radius-bottomleft: 5px !important; - -webkit-border-bottom-left-radius: 5px !important; - border-bottom-left-radius: 5px !important; -} - -.rtl .g-buttonset .ui-corner-right, -.rtl .ui-progressbar .ui-corner-right { - -moz-border-radius-topright: 0; - -webkit-border-top-right-radius: 0; - border-top-right-radius: 0; - -moz-border-radius-topleft: 5px !important; - -webkit-border-top-left-radius: 5px !important; - border-top-left-radius: 5px !important; - -moz-border-radius-bottomright: 0; - -webkit-border-bottom-right-radius: 0; - border-bottom-right-radius: 0; - -moz-border-radius-bottomleft: 5px !important; - -webkit-border-bottom-left-radius: 5px !important; - border-bottom-left-radius: 5px !important; -} - -.rtl .g-buttonset .ui-corner-left, -.rtl .ui-progressbar .ui-corner-left { - -moz-border-radius-topleft: 0; - -webkit-border-top-left-radius: 0; - border-top-left-radius: 0; - -moz-border-radius-topright: 5px !important; - -webkit-border-top-right-radius: 5px !important; - border-top-right-radius: 5px !important; - -moz-border-radius-bottomleft: 0; - -webkit-border-bottom-left-radius: 0; - border-bottom-left-radius: 0; - -moz-border-radius-bottomright: 5px !important; - -webkit-border-bottom-right-radius: 5px !important; - border-bottom-right-radius: 5px !important; -} - -/* RTL Superfish ~~~~~~~~~~~~~~~~~~~~~~~~~ */ - -.rtl .sf-menu a { - border-left: none; - border-right:1px solid #fff; -} - -.rtl .sf-menu a.sf-with-ul { - padding-left: 2.25em; - padding-right: 1em; -} - -.rtl .sf-sub-indicator { - left: .75em !important; - right: auto; - background: url('../../../lib/superfish/images/arrows-ffffff-rtl.png') no-repeat -10px -100px; -} - -.rtl a > .sf-sub-indicator { - top: .8em; - background-position: -10px -100px; -} - -.rtl a:focus > .sf-sub-indicator, -.rtl a:hover > .sf-sub-indicator, -.rtl a:active > .sf-sub-indicator, -.rtl li:hover > a > .sf-sub-indicator, -.rtl li.sfHover > a > .sf-sub-indicator { - background-position: 0 -100px; -} - -.rtl .sf-menu ul .sf-sub-indicator { - background-position: 0 0; -} - -.rtl .sf-menu ul a > .sf-sub-indicator { - background-position: -10px 0; -} - -.rtl .sf-menu ul a:focus > .sf-sub-indicator, -.rtl .sf-menu ul a:hover > .sf-sub-indicator, -.rtl .sf-menu ul a:active > .sf-sub-indicator, -.rtl .sf-menu ul li:hover > a > .sf-sub-indicator, -.rtl .sf-menu ul li.sfHover > a > .sf-sub-indicator { - background-position: 0 0; -} - -.rtl .sf-menu li:hover ul, -.rtl .sf-menu li.sfHover ul { - right: 0; - left: auto; -} - -.rtl ul.sf-menu li li:hover ul, -.rtl ul.sf-menu li li.sfHover ul { - right: 12em; - left: auto; -} -.rtl ul.sf-menu li li li:hover ul, -.rtl ul.sf-menu li li li.sfHover ul { - right: 12em; - left: auto; -} - -.rtl .sf-shadow ul { - background: url('../../../lib/superfish/images/shadow.png') no-repeat bottom left; - padding: 0 0 9px 8px; - border-top-right-radius: 0; - border-bottom-left-radius: 0; - -moz-border-radius-topright: 0; - -moz-border-radius-bottomleft: 0; - -webkit-border-top-right-radius: 0; - -webkit-border-bottom-left-radius: 0; - -moz-border-radius-topleft: 17px; - -moz-border-radius-bottomright: 17px; - -webkit-border-top-left-radius: 17px; - -webkit-border-bottom-right-radius: 17px; - border-top-left-radius: 17px; - border-bottom-right-radius: 17px; -} - -/* RTL ThemeRoller ~~~~~~~~~~~~~~~~~~~~~~~~ */ - -.rtl .ui-dialog .ui-dialog-titlebar { - padding: 0.5em 1em 0.3em 0.3em; -} - -.rtl .ui-dialog .ui-dialog-title { - float: right; -} - -.rtl .ui-dialog .ui-dialog-titlebar-close { - left: 0.3em; - right: auto; -} - -.rtl #g-content #g-album-grid .g-item, -.rtl #g-site-theme, -.rtl #g-admin-theme, -.rtl .g-selected img, -.rtl .g-available .g-block img, -.rtl #g-content #g-photo-stream .g-item, -.rtl li.g-group, -.rtl #g-server-add-admin { - float: right; -} - -.rtl #g-admin-graphics .g-available .g-block { - float: right; - margin-left: 1em; - margin-right: 0em; -} - -.rtl #g-site-admin-menu { - left: auto; - right: 150px; -} - -.rtl #g-header #g-login-menu { - float: left; -} - -.rtl #g-header #g-login-menu li { - margin-left: 0; - padding-left: 0; - padding-right: 1.2em; -} - -.rtl #g-sidebar .g-block-content { - padding-left: 0em; - padding-right: 1em; -} - -.rtl .g-selected img, -.rtl .g-available .g-block img { - margin: 0 0 1em 1em; -} diff --git a/themes/admin_wind/views/admin.html.php b/themes/admin_wind/views/admin.html.php index e19c6aeb..9a149149 100644 --- a/themes/admin_wind/views/admin.html.php +++ b/themes/admin_wind/views/admin.html.php @@ -39,6 +39,9 @@ css("themeroller/ui.base.css") ?> css("superfish/css/superfish.css") ?> css("screen.css") ?> + + css("screen-rtl.css") ?> +