From ba82f800700c0f878424a761a76976e1255d9dd1 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 26 Jun 2013 11:10:26 +0800 Subject: [PATCH 1/3] Default theme update to version '1.0.0-beta.2' --- asset/css/admin.css | 71 ++++--- asset/css/front.css | 176 ---------------- asset/css/menu.css | 128 ------------ asset/css/style.css | 354 ++++++++------------------------- asset/image/logo.png | Bin asset/image/screenshot.png | Bin asset/image/search.png | Bin asset/image/sprite.png | Bin asset/image/wait.gif | Bin asset/image/xoops-feed.png | Bin asset/js/admin.js | 14 ++ asset/js/html5.js | 0 asset/js/navigation.js | 17 ++ asset/locale/en/rtl.css | 0 asset/locale/en/rtl.js | 0 template/block.phtml | 5 +- template/error-404.phtml | 0 template/error-denied.phtml | 0 template/error-exception.phtml | 0 template/error.phtml | 0 template/index.html | 0 template/layout-admin.phtml | 24 +-- template/layout-content.phtml | 0 template/layout-front.phtml | 99 ++++----- template/layout-simple.phtml | 30 ++- template/layout-style.phtml | 0 template/page-zone.phtml | 0 template/paginator.phtml | 0 28 files changed, 210 insertions(+), 708 deletions(-) mode change 100644 => 100755 asset/css/admin.css delete mode 100644 asset/css/front.css delete mode 100644 asset/css/menu.css mode change 100644 => 100755 asset/css/style.css mode change 100644 => 100755 asset/image/logo.png mode change 100644 => 100755 asset/image/screenshot.png mode change 100644 => 100755 asset/image/search.png mode change 100644 => 100755 asset/image/sprite.png mode change 100644 => 100755 asset/image/wait.gif mode change 100644 => 100755 asset/image/xoops-feed.png create mode 100755 asset/js/admin.js mode change 100644 => 100755 asset/js/html5.js create mode 100755 asset/js/navigation.js mode change 100644 => 100755 asset/locale/en/rtl.css mode change 100644 => 100755 asset/locale/en/rtl.js mode change 100644 => 100755 template/block.phtml mode change 100644 => 100755 template/error-404.phtml mode change 100644 => 100755 template/error-denied.phtml mode change 100644 => 100755 template/error-exception.phtml mode change 100644 => 100755 template/error.phtml mode change 100644 => 100755 template/index.html mode change 100644 => 100755 template/layout-admin.phtml mode change 100644 => 100755 template/layout-content.phtml mode change 100644 => 100755 template/layout-front.phtml mode change 100644 => 100755 template/layout-simple.phtml mode change 100644 => 100755 template/layout-style.phtml mode change 100644 => 100755 template/page-zone.phtml mode change 100644 => 100755 template/paginator.phtml diff --git a/asset/css/admin.css b/asset/css/admin.css old mode 100644 new mode 100755 index f12428d..a38dfc7 --- a/asset/css/admin.css +++ b/asset/css/admin.css @@ -1,4 +1,4 @@ -/*admin layout*/ +/* Base */ body { overflow: hidden; width: 100%; @@ -6,6 +6,34 @@ body { margin: 0; background: #f1f1f1; } +/* Common */ +.page-header { + margin: 0 0 15px 0; +} +.page-header h2 { + margin: 0; + font-size: 30px; +} +.page-header .nav { + margin-bottom: 0; +} +.page-header .search-query { + border-radius: 5px; +} +fieldset dl { + margin-top: 0; +} +.pi-bar-user .dropdown-menu { + z-index: 1002; +} +form .icon-question-sign { + color: #0089D1; + float: left; + cursor: pointer; + margin: 8px 0 0 3px; +} + +/* Layout */ #pi-bar { background: #0082bf; height: 54px; @@ -211,14 +239,13 @@ body { .pi-main-content .nav { margin-bottom: 15px; } -.pi-footer { +/* footer */ +.footer { border-top: 1px solid #d7d7d7; padding: 10px 0 0 20px; + margin-top: 40px; } -.pi-footer a { - margin-right: 20px; -} -.pi-footer > span { +.footer a { margin-right: 20px; } @@ -248,34 +275,4 @@ body { margin-left: 140px; } -/*admin common*/ -ul { - margin: 0 0 10px 0; -} -ul ul { - margin: 0 0 10px 20px; -} -.page-header { - margin: 0 0 15px 0; - border-bottom: none; - padding: 0; -} -.page-header h2 { - margin: 0; - font-size: 30px; -} -.page-header .nav { - margin-bottom: 0; -} -.page-header .search-query { - border-radius: 5px; -} -fieldset dl { - margin-top: 0; -} -legend { - border-bottom: 1px solid #d7d7d7; -} -.pi-bar-user .dropdown-menu { - z-index: 1002; -} + diff --git a/asset/css/front.css b/asset/css/front.css deleted file mode 100644 index 0f6d3da..0000000 --- a/asset/css/front.css +++ /dev/null @@ -1,176 +0,0 @@ - -/* Block zones */ -/* - |<------------------ center ------------------>| - - -------------------------------------------------------------------------------- - | | | | - | | 2 | | - | | | | - | |------------------------------------------------------------| | - | | | | | - | | 3 | 4 | | - | | | | | - | 1 |------------------------------------------------------------| 7 | - | | | | - | | content | | - | | | | - | |------------------------------------------------------------| | - | | | | | - | | 5 | 6 | | - | | | | | - |--------|------------------------------------------------------------|--------| - | | - | 8 | - | | - -------------------------------------------------------------------------------- - - |<------------------ center ------------------>| - */ - -/* Zones */ -.pi-zone-1, -.pi-zone-7 { - -} -.pi-zone-2 { -} -.pi-zone-3, -.pi-zone-5 { - float: left; - width: 49.5%; -} -.pi-zone-4, -.pi-zone-6 { - float: right; - width: 49.5%; -} -.pi-zone-8 { -} - -.pi-zone-module { - padding: 5px; -} - -/* Block */ -.block-container { - margin-bottom: 15px; -} -.block-header { - background: #f5f5f5; - border: 1px solid #e6e6e6; - border-bottom-color: #b4c8da; - border-top: none; - height: 34px; - line-height: 34px; - padding: 0 14px; -} -.block-header-bg { - content: ""; - height: 2px; - width: 100%; - display: block; - background-color: #195d9f; - filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=1,StartColorStr=#0096d2,EndColorStr=#195d9f); - background-image: -moz-linear-gradient(left,#0096d2,#195d9f); - background-image: -webkit-linear-gradient(left,#0096d2,#195d9f); - background-image: -o-linear-gradient(left,#0096d2,#195d9f); -} - -.block-header-title { - font-size: 18px; - font-family:"Microsoft YaHei"; - color: #333; -} -.block-subline { - color: #808080; -} -.block-subline a { - color: #808080; -} -.block-tab { - margin: 8px 0 0; - font-size: 12px; - -} -.block-tab li { - float: left; - height: 25px; - line-height: 24px; - padding:0 8px; - border: 1px solid transparent; - border-top-width: 2px; - border-bottom:none; -} -.block-tab .active { - background: #fff; - border-top: 2px solid #d01628; - border-left: 1px solid #b4c8da; - border-right: 1px solid #b4c8da; -} -.block-body { - padding: 12px 8px 0 10px; - border: 1px solid #e6e6e6; - border-top: none; -} -.block-body ul { - margin: 0; -} - -.block-body input, -.block-body textarea, -.block-body uneditable-input { - max-width: 80%; -} - - - -/* Article module */ -/* -.article-header { - margin-bottom: 10px; - border-bottom: 1px solid #ccc; - text-align: center; -} -.article-header .headline { - -} -.article-header .byline { - text-align: center; - margin-bottom: 10px; -} -.article-header .subline { - -} -.article-body { - font-size: 14px; -} -.article-body .page-subject { - -} -.article-body a { - text-decoration: underline; - color: #1E50A2; -} -.article-body a:hover { - color: #BA2636; -} - -.summary { - text-align: justify; - background: #fff; - margin: 15px 0 0; - padding: 10px 5px; - line-height: 23px; - font-size: 14px; - text-indent: 2em; - border: 1px solid #dcdddd; -} -*/ - -/*common*/ -.ellipsis { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} diff --git a/asset/css/menu.css b/asset/css/menu.css deleted file mode 100644 index 57431e7..0000000 --- a/asset/css/menu.css +++ /dev/null @@ -1,128 +0,0 @@ -/* Menu */ -.menu .divider { - background-color: #E5E5E5; - /* - border-bottom-color: #FFFFFF; - */ - border-bottom-style: solid; - border-bottom-width: 1px; - height: 1px; - margin: 0px 1px; - overflow: hidden; -} - -/* Horizontal menu */ -ul.menu-horizontal { - height: 34px; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3); - margin-left: 0; -} -.menu-horizontal li { - float: left; - position: relative; - line-height: 34px; -} -.menu-horizontal li:first-child span, -.menu-horizontal li:first-child a { - border-left: none; -} -.menu-horizontal li:last-child span, -.menu-horizontal li:last-child a { - border-right: none; -} -.menu-horizontal a, -.menu-horizontal span { - color: #fff; - text-decoration: none; - display: block; - padding: 0 15px; - border-right: 1px solid #134578; - border-left: 1px solid #1f75ba; -} -.menu-horizontal li:hover > a, -.menu-horizontal li:hover > span { - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#175496,endColorstr=#1d6bad); - background-image: -moz-linear-gradient(top,#175496,#1d6bad); - background-image: -webkit-linear-gradient(top,#175496,#1d6bad); - background-image: -o-linear-gradient(top,#175496,#1d6bad); -} -.menu-horizontal > .active { - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#278dd6,endColorstr=#1b5fc2); - background-image: -moz-linear-gradient(top,#278dd6,#1b5fc2); - background-image: -webkit-linear-gradient(top,#278dd6,#1b5fc2); - background-image: -o-linear-gradient(top,#278dd6,#1b5fc2); -} -.menu-horizontal li:hover li a { - background: none; -} -.menu-horizontal ul li a:hover { - background: #144a80; - text-shadow: 0 1px 1px rgba(0,0,0, .1); -} -.menu-horizontal li:hover > ul { - display: block; -} -.menu-horizontal ul { - display: none; - width: 185px; - position: absolute; - top: 34px; - left: 0; - background: #195d9f; - font-size: 13px; - margin: 0; - z-index: 10; -} -.menu-horizontal ul li { - float: none; - margin: 0; - padding: 0; - height: 24px; - line-height: 24px; - border-top: 1px solid #268ccf; - border-bottom: 1px solid #103c67; - *margin-top: -3px; -} -.menu-horizontal ul a { - font-weight: normal; - border: none; -} -.menu-horizontal ul ul { - left: 184px; - top: -1px; -} -.menu-horizontal:after { - content: "."; - display: block; - clear: both; - visibility: hidden; - line-height: 0; - height: 0; -} -.menu-horizontal { - display: block; - white-space: nowrap; - *zoom: 1; -} - -/* Vertical menu */ -ul.menu-vertical { - padding-bottom: 100px; - background: #F2F2F2; - margin: 0; -} -.menu-vertical li { - height: 34px; - line-height: 34px; - font-size: 13px; - padding-left: 12px; - border-bottom: 1px solid #e6e6e6; - overflow: hidden; -} -.menu-vertical .active { - background: #fff; - margin-right: -1px; -} -.menu-vertical a:hover { - text-decoration: none; -} \ No newline at end of file diff --git a/asset/css/style.css b/asset/css/style.css old mode 100644 new mode 100755 index b9c1392..49507d2 --- a/asset/css/style.css +++ b/asset/css/style.css @@ -1,268 +1,86 @@ -/* Basic tags */ -body :focus { - outline: none; -} -ul, ol, li { - list-style: none; -} -p { - margin: 10px 0; -} -label, input, button, select, textarea { - line-height: 20px; -} -.checkbox, .radio { - font-size: 14px; -} - -/**#@+ Global structured: top to bottom, outside to inside */ -/* HTML body container */ -.container { - /* Inherited from Bootstrap */ -} - -/* Portal header */ -.portal-header { - /* To be defined */ -} -.portal-header .site-name { - /* To be defined */ -} - -/* Page header */ -.header { - background: #fafafa; - background: -moz-linear-gradient(#fafafa, #eaeaea); - background: -webkit-linear-gradient(#fafafa, #eaeaea); - -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#fafafa', endColorstr='#eaeaea')"; - border-bottom: 1px solid #cacaca; - box-shadow: 0 1px 0 rgba(255,255,255,0.4), 0 0px 10px rgba(0,0,0,0.1); - margin-bottom: 10px; -} -.header-logo { - float: left; - font: bold 40px sans-serif, Arial; -} -.header-logo:hover { - text-decoration: none; - color: #0088CC; -} - -/* Global/Sub navigation */ -/* Global */ -.global-nav { - -} -/* Global menu */ -.global-nav .menu { - color: #fff; - font: 14px "Helvetica Neue",Arial,sans-serif; - height: 35px; - background-color: #144c8d; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#1e6fb2,endColorstr=#144b8c); - background-image: -moz-linear-gradient(top,#1e6fb2,#144b8c); - background-image: -webkit-linear-gradient(top,#1e6fb2,#144b8c); - background-image: -o-linear-gradient(top,#1e6fb2,#144b8c); - margin-bottom: 10px; - border-top: 1px solid #2da8d9; - border-bottom: 1px solid #9f9f9f; - box-shadow: 0 1px 0 #dfdfdf; -} -/* Global breadcrumbs */ -.global-nav .breadcrumb { - /* Inherited from Bootstrap */ -} - -/* Sub*/ -.sub-nav { - /* To be defined */ -} -/* Sub menu */ -.sub-nav .menu { - /* To be defined */ -} -/* Sub breadcrumbs */ -.sub-nav .breadcrumb { - /* Inherited from Bootstrap */ -} - - -/* Page content wrapper */ -.wrapper { - /* To be defined */ -} - -/* Footer */ -.footer { - color: #515151; - margin: 30px 0 0 0; - font-size: 12px; - clear: both; - text-align: center; - line-height: 24px; - background: #F2F2F2; -} -.footer a { - color: #515151; -} -.footer a:hover { - color: #BD0A01; - text-decoration: underline; -} -/**#@-**/ - -/* list */ -.list { - margin: 0; - font-size: 14px; - *zoom: 1; -} -.list:after, -.list li:after, -.img-text-wrapper:after { - display: block; - content: ""; - height: 0; - clear: both; -} -.list li { - background: url(../image/sprite.png) no-repeat; - height: 22px; - line-height: 22px; - padding-left: 10px; - background-position: 0 9px; - overflow: hidden; - *zoom: 1; -} -.list .timestamp { - float: right; -} - -/* Image text compound */ -.img-text-wrapper { - margin-bottom: 10px; - *zoom: 1; -} -.img-text-wrapper img { - float: left; - margin: 3px 8px 0 0; -} -.img-text-wrapper >div { - overflow: hidden; -} -.img-text-wrapper .text-title { - display: block; - font: bold 14px/26px Arial; - height: 26px; - overflow: hidden; -} -.img-text-wrapper p { - color: #808080; - line-height: 20px; - font-size: 12px; - margin: 0; -} - -/* Figure with description */ -.figure-desc { - line-height: 20px; - color: #808080; - font-size: 12px; -} -.figure p { - margin: 0; -} -.figure-caption { - font-weight: bold; - text-align: center; -} - - - -/* Description pair with label and text*/ -.desc-pair { - margin-left: 15px; -} -.desc-pair span { - margin-right: 6px; -} - -/* common components */ -.indent { - text-indent: 2em; -} -.overhidden { - overflow: hidden; -} -.horizontal-rule { - border-top: 1px solid #ddd; - border-bottom: 1px solid #fff; - margin-bottom: 10px; - height: 0; -} -.capitalize { - text-transform: capitalize; -} - -.legend { - display: block; - margin-bottom: 15px; - font-size: 18px; - padding: 9px 10px; - color: #333333; - border: 0; - border-bottom: 1px solid #d7d7d7; -} -.divider { - color: #888; - padding: 0 5px; -} - -/* Popover hint message */ -.what-this { - font: bold 10px Helvetica; - text-align: center; - width: 12px; - height: 12px; - border-radius: 20px; - background: #0089D1; - display: inline-block; - color: #fff; - cursor: help; - *display: inline; - *zoom: 1; - vertical-align: middle; - margin-bottom: 9px; -} -.form-horizontal .what-this { - float: left; - margin: 9px 0 0 3px; -} - - - -/**#@+ Bootstrap customization **/ -.input-large { - width: 450px; -} -.textarea-small { - width: 200px; - height: auto; -} -.textarea-large { - width: 450px; - height: 300px; -} -.textarea-long { - width: 450px; - height: 600px; -} -.textarea-wide { - width: 750px; - height: 300px; -} -.textarea-full { - width: 95%; - height: 500px; -} -/**#@-**/ \ No newline at end of file +/* base */ +body { + background: #f5f5f5; +} +/* common */ +.divider { + font-family: serif,sans-serif; + margin: 0 6px; + color: #ccc; +} +/* layout */ +.span1 { + +} + +/* header */ +.header { + margin:20px 0; +} +.sitename { + font: bold 32px Tahoma; +} + +/* navigation */ + +.default-nav >li >.dropdown-menu { + top: 95%; +} +.navbar .default-nav >li:hover >a { + background: #e5e5e5; + color: #555; +} +.default-nav >li:hover >a .caret { + border-bottom-color: #333 !important; + border-top-color: #333 !important; +} +.default-nav li:hover >ul { + display: block; +} +.default-nav >li >span { + color: #777; + padding: 10px 15px; + display: block; +} + +/* zone */ +.pi-zone-1 { + +} + +/* block */ +.block { + margin-bottom: 20px; + background: #fff; + box-shadow: 0 1px 3px #bababa; + border: 1px solid #cecece \9; +} +.block-header { + margin: 0 15px; + border-bottom: 1px dashed #e5e5e5; +} +.block-body { + padding: 15px 15px 0; +} +.block-body h4 { + margin-top: 0; +} + +/* footer */ +.footer { + text-align: center; + margin-top: 40px; +} +.footer-line { + height: 0; + border-top: 1px solid #ccc; + border-bottom: 1px solid #fff; + margin-bottom: 20px; +} +.footer a { + color: #555; + line-height: 24px; +} +.footer a:hover { + color: #0088CC; +}; \ No newline at end of file diff --git a/asset/image/logo.png b/asset/image/logo.png old mode 100644 new mode 100755 diff --git a/asset/image/screenshot.png b/asset/image/screenshot.png old mode 100644 new mode 100755 diff --git a/asset/image/search.png b/asset/image/search.png old mode 100644 new mode 100755 diff --git a/asset/image/sprite.png b/asset/image/sprite.png old mode 100644 new mode 100755 diff --git a/asset/image/wait.gif b/asset/image/wait.gif old mode 100644 new mode 100755 diff --git a/asset/image/xoops-feed.png b/asset/image/xoops-feed.png old mode 100644 new mode 100755 diff --git a/asset/js/admin.js b/asset/js/admin.js new file mode 100755 index 0000000..4201111 --- /dev/null +++ b/asset/js/admin.js @@ -0,0 +1,14 @@ +$(function() { + /* For scroll shadow */ + var a = $('.pi-content-inner'), + b = $('.module-menu-shadow').css('transition', 'opacity .2s ease-in-out'); + a.scroll(function(){ + if (a.scrollTop() > 5) { + b.css('opacity', .4); + } else { + b.css('opacity', 0); + } + }) + /* For debug info */ + $("#pi-logger-output").insertAfter($("#pi-footer")); +}); \ No newline at end of file diff --git a/asset/js/html5.js b/asset/js/html5.js old mode 100644 new mode 100755 diff --git a/asset/js/navigation.js b/asset/js/navigation.js new file mode 100755 index 0000000..61d367a --- /dev/null +++ b/asset/js/navigation.js @@ -0,0 +1,17 @@ +$(function() { + var nav = $('.default-nav'); + nav.find('>li').each(function() { + var $this = $(this); + if ($this.find('ul').length) { + $this.addClass('dropdown'); + $this.find('>a').addClass('dropdown-toggle').append(''); + } + }); + nav.find('ul').addClass('dropdown-menu'); + nav.find('.dropdown-menu li').each(function() { + var $this = $(this); + if ($this.find('ul').length) { + $this.addClass('dropdown-submenu'); + } + }); +}); \ No newline at end of file diff --git a/asset/locale/en/rtl.css b/asset/locale/en/rtl.css old mode 100644 new mode 100755 diff --git a/asset/locale/en/rtl.js b/asset/locale/en/rtl.js old mode 100644 new mode 100755 diff --git a/template/block.phtml b/template/block.phtml old mode 100644 new mode 100755 index 093a354..1d4883c --- a/template/block.phtml +++ b/template/block.phtml @@ -58,10 +58,9 @@ if (is_array($block['content'])) { ?> -
+
-
@@ -84,7 +83,7 @@ if (is_array($block['content'])) { - escape($block['title']); ?> +

escape($block['title']); ?>

diff --git a/template/error-404.phtml b/template/error-404.phtml old mode 100644 new mode 100755 diff --git a/template/error-denied.phtml b/template/error-denied.phtml old mode 100644 new mode 100755 diff --git a/template/error-exception.phtml b/template/error-exception.phtml old mode 100644 new mode 100755 diff --git a/template/error.phtml b/template/error.phtml old mode 100644 new mode 100755 diff --git a/template/index.html b/template/index.html old mode 100644 new mode 100755 diff --git a/template/layout-admin.phtml b/template/layout-admin.phtml old mode 100644 new mode 100755 index 4e009fa..c4ef4b6 --- a/template/layout-admin.phtml +++ b/template/layout-admin.phtml @@ -8,7 +8,6 @@ $this->bootstrap(array( 'css/font-awesome.min.css' )); $this->css(array( - $this->assetTheme('css/style.css'), $this->assetTheme('css/admin.css') )); $module = Pi::service('module')->current(); @@ -59,7 +58,7 @@ $module = Pi::service('module')->current(); adminNav($module)->side(); ?> - menu()->setUlClass('nav-modules')->render(); ?> + menu()->setUlClass('unstyled nav-modules')->render(); ?>
@@ -69,7 +68,7 @@ $module = Pi::service('module')->current(); adminNav($module)->top(); ?>
- menu()->setUlClass('')->render();?> + menu()->setUlClass('unstyled')->render();?>
@@ -78,7 +77,7 @@ $module = Pi::service('module')->current();
-
- + footScript()->appendFile($this->assetTheme('js/admin.js')); ?> \ No newline at end of file diff --git a/template/layout-content.phtml b/template/layout-content.phtml old mode 100644 new mode 100755 diff --git a/template/layout-front.phtml b/template/layout-front.phtml old mode 100644 new mode 100755 index 2920e28..ef2acbc --- a/template/layout-front.phtml +++ b/template/layout-front.phtml @@ -3,15 +3,16 @@ $this->i18nTheme('main'); // Load Bootstrap css by Twitter Team -$this->bootstrap(); +$this->bootstrap(array( + 'css/font-awesome.min.css' +)); // Load style.css -// Load front.css $this->css(array( - $this->assetTheme('css/style.css'), - $this->assetTheme('css/front.css'), + $this->assetTheme('css/style.css') )); - +$this->jQuery(); +$this->js($this->assetTheme('js/navigation.js')); /**#@+ * For demonstration @@ -37,42 +38,32 @@ $this->js($this->assetLocale('rtl.js')); -
-
- + + - -
- + - - assemble('footScript', 4); ?> - \ No newline at end of file diff --git a/template/layout-simple.phtml b/template/layout-simple.phtml old mode 100644 new mode 100755 index e739ba4..dc45ae5 --- a/template/layout-simple.phtml +++ b/template/layout-simple.phtml @@ -15,7 +15,7 @@ $this->css($this->assetTheme('css/style.css')); @@ -29,29 +29,25 @@ $this->css($this->assetTheme('css/style.css'));
- + diff --git a/template/layout-style.phtml b/template/layout-style.phtml old mode 100644 new mode 100755 diff --git a/template/page-zone.phtml b/template/page-zone.phtml old mode 100644 new mode 100755 diff --git a/template/paginator.phtml b/template/paginator.phtml old mode 100644 new mode 100755 From 16a6af6ddddc947eb3f3f70520ac9e44fa299c8d Mon Sep 17 00:00:00 2001 From: root Date: Wed, 26 Jun 2013 11:16:12 +0800 Subject: [PATCH 2/3] Comments with first letter uppercase --- asset/css/admin.css | 2 +- asset/css/style.css | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/asset/css/admin.css b/asset/css/admin.css index a38dfc7..7939cd1 100755 --- a/asset/css/admin.css +++ b/asset/css/admin.css @@ -239,7 +239,7 @@ form .icon-question-sign { .pi-main-content .nav { margin-bottom: 15px; } -/* footer */ +/* Footer */ .footer { border-top: 1px solid #d7d7d7; padding: 10px 0 0 20px; diff --git a/asset/css/style.css b/asset/css/style.css index 49507d2..9660869 100755 --- a/asset/css/style.css +++ b/asset/css/style.css @@ -1,19 +1,19 @@ -/* base */ +/* Base */ body { background: #f5f5f5; } -/* common */ +/* Common */ .divider { font-family: serif,sans-serif; margin: 0 6px; color: #ccc; } -/* layout */ +/* Layout */ .span1 { } -/* header */ +/* Header */ .header { margin:20px 0; } @@ -21,7 +21,7 @@ body { font: bold 32px Tahoma; } -/* navigation */ +/* Navigation */ .default-nav >li >.dropdown-menu { top: 95%; @@ -43,12 +43,12 @@ body { display: block; } -/* zone */ +/* Zone */ .pi-zone-1 { } -/* block */ +/* Block */ .block { margin-bottom: 20px; background: #fff; @@ -66,7 +66,7 @@ body { margin-top: 0; } -/* footer */ +/* Footer */ .footer { text-align: center; margin-top: 40px; From 206dad60499a2be7d30d908dcb7ed49e94fe7f2a Mon Sep 17 00:00:00 2001 From: sexnothing Date: Tue, 23 Jul 2013 17:48:51 +0800 Subject: [PATCH 3/3] Defualt theme update --- README.md | 28 +- asset/css/admin.css | 466 ++++++++++++++---------------- asset/css/front.css | 315 ++++++++++++++++++++ asset/css/style.css | 201 +++++++------ asset/image/logo.png | Bin 4948 -> 4167 bytes asset/image/screenshot.png | Bin 28436 -> 75133 bytes asset/locale/en/rtl.css | 6 +- config.php | 16 +- module/demo/asset/script/test.css | 7 +- template/block.phtml | 16 +- template/error.phtml | 62 ++++ template/layout-admin.phtml | 69 ++--- template/layout-front.phtml | 200 +++++++------ template/layout-simple.phtml | 44 +-- template/page-zone.phtml | 100 +++++-- 15 files changed, 1008 insertions(+), 522 deletions(-) create mode 100644 asset/css/front.css diff --git a/README.md b/README.md index ce2b8a0..d1e9035 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,30 @@ Default Theme -================ +============= Pi Engine default theme + + + + +**Folder and file skeleton** + +* Templates REQUIRED for front: + * tmplate/layout-front.phtml - complete layout template: header, footer, body, blocks, navigation + * tmplate/layout-simple.phtml - error page layout: header, footer, body + * tmplate/layout-style.phtml - content with stylesheets + * tmplate/layout-content.phtml - raw content without stylesheets + * template/error.phtml - defined in var/config/config.application.php: view_manager.error_template +* Templates REQUIRED for admin: + * tmplate/layout-admin.phtml - backoffice layout +* Templates OPTIONAL for front: + * template/page-zone.phtml - for block manipulation on a page + * template/block.phtml - called by layout-front.phtml + * template/error-404.phtml - defined in var/config/config.application.php: view_manager.not_found_template + * template/error-denied.phtml - defined in var/config/config.application.php: view_manager.denied_template + * template/error-exception.phtml - defined in var/config/config.application.php: view_manager.exception_template +* Stylesheet file REQUIRED: +* asset/css/style.css - main css file + +**Best practices** +* It is highly recommended to use 'pi-' as prefix for all global id and class names used in theme to avoid conflicts. +* It is highly recommended to use module identity as prefix for module id and class names used in templates to avoid conflicts, for instance 'demo-'. diff --git a/asset/css/admin.css b/asset/css/admin.css index 7939cd1..a542d1b 100755 --- a/asset/css/admin.css +++ b/asset/css/admin.css @@ -1,278 +1,246 @@ /* Base */ body { - overflow: hidden; - width: 100%; - height: 100%; - margin: 0; - background: #f1f1f1; + overflow: hidden; + width: 100%; + height: 100%; + margin: 0; + background: #f1f1f1; } -/* Common */ -.page-header { - margin: 0 0 15px 0; + +/* Layout */ +#pi-header-bar { + background: #0082bf; + height: 54px; + border-bottom: 1px solid #79a3b9; + font-size: 12px; } -.page-header h2 { - margin: 0; - font-size: 30px; + +.pi-admin-logo { + display: block; + float: left; + font-size: 45px; + font-weight: bold; + margin: 10px 0 0 20px; + width: 120px; + color: #fff; + line-height: 34px; + height: 34px; } -.page-header .nav { - margin-bottom: 0; + +.pi-admin-logo:hover { + text-decoration: none; + color: #fff; } -.page-header .search-query { - border-radius: 5px; + +.pi-operation-switch { + float: left; } -fieldset dl { - margin-top: 0; + +.pi-operation-switch a { + display: block; + text-align: center; + color: #fff; + float: left; + height: 34px; + padding: 10px 15px; + text-transform: uppercase; + letter-spacing: 1px; } -.pi-bar-user .dropdown-menu { - z-index: 1002; + +.pi-operation-switch a:hover { + background: #4DB1E3; } -form .icon-question-sign { - color: #0089D1; - float: left; - cursor: pointer; - margin: 8px 0 0 3px; + +.pi-operation-switch .active { + background: #005580 !important; + cursor: default; } -/* Layout */ -#pi-bar { - background: #0082bf; - height: 54px; - border-bottom: 1px solid #79a3b9; - font-size: 12px; -} -.admin-logo { - display: block; - float: left; - font-size: 45px; - font-weight: bold; - margin: 10px 0 0 20px; - width: 120px; - color: #fff; - line-height: 34px; - height: 34px; -} -.admin-logo:hover { - text-decoration: none; - color: #fff; -} -.operation-switch { - float: left; -} -.operation-switch a { - display: block; - text-align: center; - color: #fff; - float: left; - height: 34px; - padding: 10px 15px; - text-transform: uppercase; - letter-spacing: 1px; -} -.operation-switch a:hover { - background: #4DB1E3; -} -.operation-switch .active { - background: #005580 !important; - cursor: default; -} -.operation-switch a.disabled { - cursor: default; - color: #4da8d2; - background: none; -} -.operation-switch a:hover { - text-decoration: none; -} -.operation-switch i { - display: block; - font-size: 20px; - margin-bottom: 1px; -} -.pi-bar-user { - float: right; - margin:17px 30px 0 0; - height: 20px; - line-height: 20px; - font-size: 12px; -} -.pi-bar-user a { - color: #fff; -} -.pi-bar-user .dropdown { - display: inline-block; - margin-right: 15px; -} -.pi-bar-user .caret { - border-top-color: #fff; -} -.pi-bar-user i { - margin-right: 1px; -} -.nav-modules a { - display: block; - height: 30px; - line-height: 30px; - color: #333; - padding-left: 20px; - text-overflow: ellipsis; - overflow: hidden; - white-space: nowrap; -} -.nav-modules a:hover { - background: #E7E7E7; - text-decoration: none; -} -.nav-modules .active a { - background: #ccc; - font-weight: bold; -} -/* -.nav-modules .active { - position: relative; -} -.nav-modules .active:after { - content: "\f0d9"; - font-family: FontAwesome; - font-size: 28px; - position: absolute; - right: 0; - top: 6px; - color: #fff; -}*/ - -.module-menu { - white-space: nowrap; - border-bottom: 1px solid #d7d7d7; - padding: 10px 0 10px 20px; - position: relative; - z-index: 1001; - background: #fff; -} -.module-menu li { - float: left; -} -.module-menu a { - display: block; - padding: 6px 15px; - margin-left: -1px; - color: #444; - border: 1px solid #DCDCDC; - background-color: #F5F5F5; - background-image: -moz-linear-gradient(center top , #F5F5F5, #F1F1F1); - background-image: -webkit-linear-gradient(center top , #F5F5F5, #F1F1F1); - background-image: linear-gradient(center top , #F5F5F5, #F1F1F1); -} - -.module-menu a:hover { - background: #f8f8f8; - text-decoration: none; - border-color: #ccc; - box-shadow: 2px 0 2px rgba(0, 0, 0, 0.1); -} -.module-menu .active a { - box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) inset; - border-color: #ccc; - color: #333; - background: #eee; - background-image: -moz-linear-gradient(center top , #EEEEEE, #E0E0E0); - background-image: -webkit-linear-gradient(center top , #EEEEEE, #E0E0E0); - background-image: linear-gradient(center top , #EEEEEE, #E0E0E0); -} -.module-menu li:first-child a { - margin-left: 0; - border-bottom-left-radius: 4px; - border-top-left-radius: 4px; -} -.module-menu li:last-child a { - border-bottom-right-radius: 4px; - border-top-right-radius: 4px; -} -.module-menu-shadow { - position: absolute; - height: 8px; - opacity: 0; - left: 2px; - right: 2px; - bottom: -8px; - background: -moz-linear-gradient(top, rgba(0, 0, 0, .3), transparent); - background: -webkit-linear-gradient(top, rgba(0, 0, 0, .3), transparent); - background: linear-gradient(top, rgba(0, 0, 0, .3), transparent); -} -#pi-wrap { - position: absolute; - top: 65px; - bottom: 0; - left: 0; - right: 0; -} -#modules-menu { - position: relative; - width: 140px; - overflow: auto; - background: #f1f1f1; - height: 100%; +.pi-operation-switch a.disabled { + cursor: default; + color: #4da8d2; + background: none; } -#pi-content { - position: absolute; - left: 140px; - right: 0; - top: 0; - bottom: 0; - background: #fff; - box-shadow: 0 0 2px rgba(0, 0, 0, .3); +.pi-operation-switch a:hover { + text-decoration: none; } -.pi-content-inner { - position: absolute; - padding-top: 64px; - top: 0; - left: 0; - right: 0; - bottom: 0; - overflow: auto; + +.pi-operation-switch i { + display: block; + font-size: 20px; + margin-bottom: 1px; } -.pi-main-content { - min-width: 840px; - min-height: 635px; - margin: 0 20px; + +/* User bar */ +.pi-user-bar .dropdown-menu { + z-index: 1002; } -.pi-main-content .nav { - margin-bottom: 15px; + +.pi-user-bar { + float: right; + margin: 17px 30px 0 0; + height: 20px; + line-height: 20px; + font-size: 12px; } -/* Footer */ -.footer { - border-top: 1px solid #d7d7d7; - padding: 10px 0 0 20px; - margin-top: 40px; + +.pi-user-bar a { + color: #fff; } -.footer a { - margin-right: 20px; + +.pi-user-bar .dropdown { + display: inline-block; + margin-right: 15px; +} + +.pi-user-bar .caret { + border-top-color: #fff; } -/* Box with border */ -.widget { - margin-bottom: 20px; - border: 1px solid #d7d7d7; +.pi-user-bar i { + margin-right: 1px; } -.widget-header { - padding: 5px 10px; - background: #F8F8F8; - border-bottom: 1px solid #d7d7d7; + +.pi-nav-modules a { + display: block; + height: 30px; + line-height: 30px; + color: #333; + padding-left: 20px; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; } -.widget-header * { - margin-bottom: 0; + +.pi-nav-modules a:hover { + background: #E7E7E7; + text-decoration: none; } -.widget-body { - padding: 18px 20px; + +.pi-nav-modules .active a { + background: #ccc; + font-weight: bold; } -.pi-zone-module { - margin: 0 20px; + +.pi-module-menu { + white-space: nowrap; + border-bottom: 1px solid #d7d7d7; + padding: 10px 0 10px 20px; + position: relative; + z-index: 1001; + background: #fff; } -.dl-horizontal dt { - width: 120px; + +.pi-module-menu li { + float: left; } -.dl-horizontal dd { - margin-left: 140px; + +.pi-module-menu a { + display: block; + padding: 6px 15px; + margin-left: -1px; + color: #444; + border: 1px solid #DCDCDC; + background-color: #F5F5F5; + background-image: -moz-linear-gradient(center top , #F5F5F5, #F1F1F1); + background-image: -webkit-linear-gradient(center top , #F5F5F5, #F1F1F1); + background-image: linear-gradient(center top , #F5F5F5, #F1F1F1); } +.pi-module-menu a:hover { + background: #f8f8f8; + text-decoration: none; + border-color: #ccc; + box-shadow: 2px 0 2px rgba(0, 0, 0, 0.1); +} + +.pi-module-menu .active a { + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) inset; + border-color: #ccc; + color: #333; + background: #eee; + background-image: -moz-linear-gradient(center top , #EEEEEE, #E0E0E0); + background-image: -webkit-linear-gradient(center top , #EEEEEE, #E0E0E0); + background-image: linear-gradient(center top , #EEEEEE, #E0E0E0); +} + +.pi-module-menu li:first-child a { + margin-left: 0; + border-bottom-left-radius: 4px; + border-top-left-radius: 4px; +} + +.pi-module-menu li:last-child a { + border-bottom-right-radius: 4px; + border-top-right-radius: 4px; +} + +.pi-module-menu-shadow { + position: absolute; + height: 8px; + opacity: 0; + left: 2px; + right: 2px; + bottom: -8px; + background: -moz-linear-gradient(top, rgba(0, 0, 0, .3), transparent); + background: -webkit-linear-gradient(top, rgba(0, 0, 0, .3), transparent); + background: linear-gradient(top, rgba(0, 0, 0, .3), transparent); +} + +#pi-wrapper { + position: absolute; + top: 65px; + bottom: 0; + left: 0; + right: 0; +} + +#pi-modules-menu { + position: relative; + width: 140px; + overflow: auto; + background: #f1f1f1; + height: 100%; +} + +#pi-content { + position: absolute; + left: 140px; + right: 0; + top: 0; + bottom: 0; + background: #fff; + box-shadow: 0 0 2px rgba(0, 0, 0, .3); +} + +.pi-content-inner { + position: absolute; + padding-top: 64px; + top: 0; + left: 0; + right: 0; + bottom: 0; + overflow: auto; +} + +.pi-main-content { + min-width: 840px; + min-height: 635px; + margin: 0 20px; +} + +.pi-main-content .nav { + margin-bottom: 15px; +} + +/* Footer */ +.pi-footer { + border-top: 1px solid #d7d7d7; + padding: 10px 0 0 20px; + margin-top: 40px; +} +.pi-footer a { + margin-right: 20px; +} \ No newline at end of file diff --git a/asset/css/front.css b/asset/css/front.css new file mode 100644 index 0000000..b4f3b1f --- /dev/null +++ b/asset/css/front.css @@ -0,0 +1,315 @@ +/* Base */ + +/* Layout */ +.pi-main-left { + margin-left: 320px; +} + +.pi-main-right { + margin-right: 320px; +} + +.pi-zone-1 { + float: left; + width: 300px; +} + +.pi-zone-8 { + float: right; + width: 300px; +} + +.pi-zone-1 { + float: left; + width: 300px; +} + +.pi-zone-3, +.pi-zone-5 { + width: 50%; + float: left; +} + +.pi-zone-4, +.pi-zone-6 { + float: right; + width: 50%; +} + +.pi-zone-3 .pi-block, +.pi-zone-5 .pi-block { + margin-right: 10px; +} + +.pi-zone-4 .pi-block, +.pi-zone-6 .pi-block { + margin-left: 10px; +} + +.pi-module-content, +.pi-zone-99 { + clear: both; +} + + +/* Header */ +.pi-header { + margin: 20px auto; +} + +/* Logo: image, headline, tagline */ +.pi-logo { + float: left; + font-family: sans-serif, Arial; +} + +.pi-logo img {; +} + +.pi-logo a { + text-decoration: none; +} + +.pi-logo a:hover { + color: #0088CC; +} + +.pi-logo-symbol { + font-size: 64px; + line-height: 0; + text-transform: lowercase; + display: none; +} + +.pi-logo-headline { + font: bold 40px Georgia, monospace, Arial; +} + +.pi-logo-tagline { + color: #0088CC; + font-style: normal; + font-size: .9em; + display: block; +} + +/* User bar */ +.pi-user-bar { + margin: 5px 10px 0 5px; + height: 20px; + line-height: 20px; + font-size: .9em; +} + +.pi-user-bar { + color: #666; +} + +.pi-user-bar a { + color: #666; +} + +.pi-user-bar a:hover { + color: #005580; +} + +.pi-user-bar .dropdown { + display: inline-block; + margin-right: 15px; +} + +.pi-user-bar .caret { + border-top-color: #666; +} + +/* Navigation */ +.pi-menu { + font-family: Helvetica, sans-serif; + border: 1px solid #006ca3; + background-color: #0293da; + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#04a0df', endColorstr='#0180d1', GradientType=0); + background-image: -moz-linear-gradient(top, #04a0df, #0180d1); + background-image: -webkit-linear-gradient(top, #04a0df, #0180d1); + background-image: -o-linear-gradient(top, #04a0df, #0180d1); + background-image: linear-gradient(to bottom, #04a0df, #0180d1); + box-shadow: 0 1px 1px rgba(0, 0, 0, .2); + height: 40px; + border-radius: 4px; + margin-bottom: 20px; +} + +.pi-menu li { + float: left; + position: relative; +} + +.pi-menu a { + display: block; + padding: 10px 20px; + text-decoration: none; +} + +.pi-menu ul a { + padding: 5px 0 5px 20px; +} + +.pi-menu li:hover >a { + background: #0076b1; +} + +.pi-menu ul li:hover >a { + background: #0292da; + border-radius: 3px; +} + +.pi-menu >.active >a { + background-color: #0076b1; + box-shadow: inset 0 3px 8px #005986; +} + +.pi-menu ul { + position: absolute; + width: 180px; + z-index: 2; + background: #0076b1; + left: 0; + margin: 0; + list-style: none; + display: none; + border-radius: 3px; +} + +.pi-menu ul ul { + left: 179px; + top: -1px; +} + +.pi-menu li li { + float: none; +} + +.pi-menu a { + color: #fff; +} + +.pi-menu li:hover >ul { + display: block; +} + +.pi-breadcrumb { + margin-bottom: 0; + padding: 10px 0; +} + +/* Block zones */ +.pi-zone-0 .pi-block-header { + display: none; +} + +.pi-zone-0 .pi-block-body { + padding: 0; +} + + + +/* Block */ +.pi-block { + margin-bottom: 20px; + border: 1px solid #ddd; + border-radius: 4px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055); +} + +.pi-block-header { + border-top: 1px solid #fff; + border-bottom: 1px solid #ddd; + height: 40px; + background-color: #f6f6f6; + background-image: -moz-linear-gradient(top, #fafafa, #f2f2f2); + background-image: -webkit-linear-gradient(top, #fafafa, #f2f2f2); + background-image: -o-linear-gradient(top, #fafafa, #f2f2f2); + background-image: linear-gradient(to bottom, #fafafa, #f2f2f2); +} + +.pi-block-title { + float: left; + margin-left: 20px; +} + +.pi-block-subline { + margin: 10px 10px 0 0; +} + +.pi-block-body { + padding: 20px; +} + +.pi-block-tab { + margin: 0; +} + +.pi-block-tab li { + float: left; + list-style: none; +} + +.pi-block-tab a { + padding: 0 15px; + display: block; + height: 41px; + line-height: 40px; + border-left: 1px solid transparent; + border-right: 1px solid transparent; + text-decoration: none; + color: #999; +} + +.pi-block-tab a:focus { + outline: none; +} + +.pi-block-tab li:first-child a { + border-left: none; +} + +.pull-right.pi-block-tab li:first-child a { + border-left: 1px solid transparent; +} + +.pi-block-tab .active a { + background: #fff; + border-left-color: #ddd !important; + ; + border-right-color: #ddd !important; + ; + color: #333; + font-weight: bold; +} + +.pi-block-body >:last-child { + margin-bottom: 0; +} + + +/* Footer */ +.pi-footer { + text-align: center; + margin-top: 40px; + line-height: 24px; + font-size: 12px; +} + +.pi-footer-line { + height: 0; + border-top: 1px solid #ccc; + border-bottom: 1px solid #fff; + margin-bottom: 20px; +} + +.pi-footer a, +.pi-footer .pi-divider { + color: #333; +} + +.pi-footer a:hover { + color: #0088CC; +} \ No newline at end of file diff --git a/asset/css/style.css b/asset/css/style.css index 9660869..dd6923b 100755 --- a/asset/css/style.css +++ b/asset/css/style.css @@ -1,86 +1,115 @@ -/* Base */ -body { - background: #f5f5f5; -} -/* Common */ -.divider { - font-family: serif,sans-serif; - margin: 0 6px; - color: #ccc; -} -/* Layout */ -.span1 { - -} - -/* Header */ -.header { - margin:20px 0; -} -.sitename { - font: bold 32px Tahoma; -} - -/* Navigation */ - -.default-nav >li >.dropdown-menu { - top: 95%; -} -.navbar .default-nav >li:hover >a { - background: #e5e5e5; - color: #555; -} -.default-nav >li:hover >a .caret { - border-bottom-color: #333 !important; - border-top-color: #333 !important; -} -.default-nav li:hover >ul { - display: block; -} -.default-nav >li >span { - color: #777; - padding: 10px 15px; - display: block; -} - -/* Zone */ -.pi-zone-1 { - -} - -/* Block */ -.block { - margin-bottom: 20px; - background: #fff; - box-shadow: 0 1px 3px #bababa; - border: 1px solid #cecece \9; -} -.block-header { - margin: 0 15px; - border-bottom: 1px dashed #e5e5e5; -} -.block-body { - padding: 15px 15px 0; -} -.block-body h4 { - margin-top: 0; -} - -/* Footer */ -.footer { - text-align: center; - margin-top: 40px; -} -.footer-line { - height: 0; - border-top: 1px solid #ccc; - border-bottom: 1px solid #fff; - margin-bottom: 20px; -} -.footer a { - color: #555; - line-height: 24px; -} -.footer a:hover { - color: #0088CC; -}; \ No newline at end of file +/* Bootstrap customization */ + +/* Base */ + +/* Elements */ +fieldset dl { + margin-top: 0; +} + +form .icon-question-sign { + color: #0089D1; + float: left; + cursor: pointer; + margin: 6px 0 0 1px; + padding: 2px; +} + +/* Components */ +.page-header { + margin: 0 0 15px 0; +} + +.page-header h2 { + margin: 0; + font-size: 30px; +} + +.page-header .nav { + margin-bottom: 0; +} + +.page-header .search-query { + border-radius: 5px; +} + +/** Pi Specific **/ +/* Elements */ +.dl-horizontal dt { + width: 120px; +} + +.dl-horizontal dd { + margin-left: 140px; +} + +/* Components */ +.pi-divider { + font-family: serif,sans-serif; + margin: 0 6px; + color: #ccc; +} + +.pi-legend { + display: block; + margin-bottom: 15px; + font-size: 18px; + padding: 9px 10px; + color: #333333; + border: 0; + border-bottom: 1px solid #d7d7d7; +} + +/* Box with border */ +.pi-widget { + margin-bottom: 20px; + border: 1px solid #d7d7d7; +} + +.pi-widget-header { + padding: 5px 10px; + background: #F8F8F8; + border-bottom: 1px solid #d7d7d7; +} + +.pi-widget-body { + padding: 18px 20px; +} + +.pi-widget-body >:last-child { + margin-bottom: 0; +} + +/* Avatar */ +/* @see: https://github.com/pi-engine/pi/wiki/Design.Avatar */ +.pi-avatar { + width: 80px; +} + +.pi-avatar-mini { + width: 16px; +} + +.pi-avatar-xsmall { + width: 24px; +} + +.pi-avatar-small { + width: 28px; +} + +.pi-avatar-medium { + width: 46px; +} + +.pi-avatar-large { + width: 96px; +} + +.pi-avatar-xlarge { + width: 120px; +} + +.pi-avatar-xxlarge { + width: 214px; +} \ No newline at end of file diff --git a/asset/image/logo.png b/asset/image/logo.png index df6d37bd1cb44bb727284e7935be45fede265086..fa7b6a7a57e1df21cb078bd657535bf92bc8d08f 100755 GIT binary patch delta 3526 zcmai%X*AReAIB|`WU1^*xk9#N%vi=6hB1aAWFOfX#y-ro{%_d{W2UTG%3AgiL-xH% zG?ab2NVatCyQh23^X8uCdCv3hbH3;E{hjaI--u|hAc2pGj)sQjh{@P404Lclakf1g;-zU;%fE6{s>+}I5NQH>AcxaN0X zkdcX(V9X^T_{sFO;}@8+Bgh1@qVI}@E0JpR18`V)Q73L9BQVTu3Z2I*;$kD<&fB z!s9$Jf~fs~jag{$y6)kgEQOqy>i7(B@uVj&$y*^UJP!Fr`4 za(2K62<=RUQ5j#sJJUuI*KlfkYl21`4@|vnuTO1oK{7s<>@B{xJdOVUta%EOL(8vPaKAp0)V^C2y1sgjOCO`MRhAzQo~Tdm7@h~845B-qM&<7^678>~B@rLz>n(Ul`Cvy6mG))6n?>>t zyy@bMBDAF1N(+@`2GUa5-9nRJqYgVWQWEkVnmWPrUAF~6`8XvV&PkNwEpkAKdy+^H zC0>pL4c9`Srwm7eBK(l9wJy_4z|3(}7`hg8k?;qFHRj>lk4+UQpAX-6A4 z02y%{`9_Lmj<{cnm?!Voj7olexHLN6nbL(U9e9z{??(k!uh65z?$`)*X4uq40Y+qN-^v=b@Dvn~Y2DS3hO~pW8W9qT|H_!CWKffyt6vVtgIh(oKfsJB#m{h-Tf%Hz5 zQ}i_Gk@uC-h$JD%gYv=N)GJnl|V=rQLkDNOVc+~UFWvAi|akjX2 zWjPU>?Z)naFCv#*p)Ydw7I^Y3_3lw?xz7@9EHjoSS1StPyRg`0Yjxkqg+Eq_jjLpY zwM*>Ie9muleiB3$KAeg*wEBo^+J5ZvS^9TF&gc0o$CY+*?ng&&lxq{VI84-tku7Z5 z_HF^Y&ZddUVrSxrtthO|?Z(uew!hu}4#KvOzzmY30p_f39BY2#H7Wog22o zuQ)B4#ufx&<^8+(r&J#9dK`I67QVthfNyo@Kc`8J(~$C4BNg>bq zNGC_1Tqtvwsu?_SxD!j$qhHcp*JY}x9sj=Q{`M-Gn}p&BT23T|t?KxU+)Wh6BywIA z-cjs#rSqUE<_UUkTF5UabDL>osff7YK~4wd33RptRa{46W2}=ugt%oob+)N)3@r<$ zn-E41X4MXd`Mi8~hx=eRmf|kdWtk((sug?NqTR@{k%rzh*(HlCwQXJd7v0GMNBxwL z3f@x9H5Fr5IP<1}(o?42!ge>mxkqFsKfdUtx)EpL{%l9L7M#R%Yf0?4Rl;fJ&fb`B zI4@`($S`#s)c}wEVbbQ0J#~O(b7zM=Zu~e|8&_zwI>}3QnmAc|SI_9j)Qkx|=41e8 z6jApq9MM4#zETh}?y6beHaxMPlI+P;jnoPbd0Ngkn%?aO#|j=Ho-9g@;n=i-xZv4~ zge}21F;Ueu$`8usjl)$upzdZ7P+3$avPQTq;OGRJo(afSVwKMdg;S*6E z?XvMjMv5i228kejXF`5B4(hm875*V^>(+7(cdscy@^tqt5(=Hx9*YgspmcoQp937R zRid857THa^xLnD+(91E{w`V74VTK1Q#*m&;-#BOf^x~m>WP!uz?&3?nfsb@6dRafl z@@|z}Sv-)El-`q{Jzw~1&C8+TrtzD6=8y+AZo|dB_{)zGSw2?5`-~NP(?*s#pI2uZ_?IQ&P-cW}O( zJpb1xNl4#L_P?%1BISZsTImP6(>;WvD9lv+Sa~gumLL?*?>cN;W?;w=@ZKQV<6eB3 zRJi}mGz4|G^47*r3&IQwcbQJdDBfWSqjVIh%RKu2{i;#`WFs$W7`#SdF$RnXy>N=- zqHzzEgK-VP#t=2J^#bALUGR{t7~WmBeh>{FT8JjP^?mi_lB>gaxb`t;F{-w_n#)yH zmCc{2ds;K!(6P(;e*eN+?Uo6<#+VH_C{F#QPISfmijeb{krB9Bvk1574 z_EU=&oAc*`Poz>rG%QR?ELFXktGzV4c?V8bgiyUOBsXD^v&$fDPtCPA=~Ec1+)7k) zh-&@T#+jR+vvk8vdDYHmCx^TK&N=309(>xiaOof()kEV&t`M;=NFd&KwtBPkIU)xL z4-@~;z|Vs*(XrLZqP)vnim1WZzS$lh+j4yeb9!TzX33wLj(@R7l zW}2;s4Q_i972e4IpKZBnh!Yhb5LIN>ZcxTO--T2CpP4#9O2#E{($fBrZsRv= z)Ri0th9-@v-S2b_e&2du`NzhJyFK*}p!LSi1^TBjKA*&GdRpOJX&Iz>#Azq=2Q2$v zA2cO=XXlroG>ji=bGycqQ8k|wIp*J= zi=h})-Qbl4er_i`TY6J+8*?<-uggH+Q9JQfOIl)ma7|AfM=y~LaLljK&L-Tl4X>O; z4nZ`GN%vgz&@3u}J`16zU_4JmNcwcO56j{5CO^~W0sJ#C7%j;Qm3O*pmhUU`-SF1O z)^SAX(fXf#l-#{db@f$lCRoyG6p1OIj=-4EC~O5-*1nt?suJ4#dd)GF1>V$Id{QAD zB{)Cc^0lLyQ&gZh`4g+a_nT*L1~=LIiWyIy#PTvv6HDc4x`?40N==8T5cxBEj$WTD zzt`W0OErh4Vr{)Hc(l9(#5L#6N4G?;o>BbMA>5*gQ3ywSs>MI>?@;6UQlW(FJy5k5MHMnD>*yQLgSVWd%- zVdnqVS?AoGwf_5O@AbSF`(nStoD2ME%%p^PczCK`q#vYn3F31$=m_8=e&BN>-r&DQ zv=fLRLJ3$o!5Z>FX=wmZLrOyq2-Ei|Fr=8w^@WYp(->VEaHZT zhad6kg^>nq;phPgm6@qYdV1RK{e58nIu`r4Ve8DZX|a0wfZn5p5HcyAI!Yp1hs9!l z|3*`|{aU%jSY*^+jR_99G!#I=y|`v}^_#eS>E_s+~QI!(m271}CmC z_~zeRTU+(p&-nuz2{jU4LzC}m_!CH^M-zrn@(EpdHhcKy9Yr&nfByWz;BYwXEzis4 zp5yC^@-h+Y!yDWU31hT`yauT9PA%XTi@_3^lsM(z;BK)v?A1N?fTjFS(x3%jy_7(0 zgg`7QWz2=*n>!OkpR?Ptn?uI}UHFJ8=w+H=$`Iou9y}Z7_-QUny zt>W%3rqM_J-@e`5WAAX6%)s2+yW87a4AGNZ8vCs7&R%AR3J%p76beQ0dioA?&8E~j zIW@@w?ID3Q7NU-SUEN+>oC|7%b@y~@yot)q&D}mb|CF6sSWp-p6LWNQw7s((;O{RJ zR>2_KD4l%(ou6B%M%LuCv^O*~{Tmo+d0dZ&N3Eo-{@f^d^)Lr+No&qHtYNP*gOn1b z@5=z1WpGTTss_a~QMDO5q$Y4l8|Az$EogJZR=7XI-G&~kbR2iDc2ECRI{AL5V8thuAe#7*#%c0~Y^IZybkAVxv5r_%Q#W6d0dZ>Zyn9dH4%$Z)Q#=U{w}803e#Y>z$TMyAFJQ1gFtI317D?s`78;sB4*-YxngpwJswRh5lNp-bIRmN(Tfp~2)bH5ON@a>)r3 zEe5DLP4xDk(NAb9^aChiw_IWxqz>(|%1}}_oeB9Z2-qh2-tf8LAwR_1YbG{9SKPK1 zZrcS9akhJN)XnNG62jTx;<# z54N&q)Ykb70`j8LsKOrUh}$m|D4~73+Co_;`I$)K_S9I5bw$SHYLQor#f4mHP+r~G zc2B(7ebB}rQ$Opf3BK)2AgaUX`I^6{8XsXz$o{^FxT2_vcL zU8QXxdOk?4fg>1GZ=1D)QLqV=7F*gF+`)O;7ASVo&O7aq!eUi0mQETn@Ih`f>(>O= z?#RJX52@DhN`Fr~SW{L;2CS*viT$+?k@!N0{lwb0Rqd0qp zzGm^Pf;CUp3Xsh=_Mh%!Rfu{K*GZd!NHMFQpP}JP+x1R%7Aw4rzO^eM=ot$jkIuNL zf6#2qG$MyG{Zom#SSx1Gccq$A{XEV_Fyebe*cW3lmwWRj_m(2#8F%5nW+M^HAMTqZ zWl(;|3a!!hQy<@PQAR&#?*avL;;FyuekI_O){f_DC)tey_0D{G(7K%k9faO>kt4Zz zwYu_kv|5ML&*TaglAzA73xD3x^@WL9rwGk*hMLqL#eMwy*%_4ekiSz2Dsyl(7iSIV z{M@jds?L3q%FyIw>zHbcaP}$5Bju0Vu4J2UruduFOP1q9k4j2|%03x^yN^xn^oKQ87U|85f!P>7osvg|fGU z6>$H~d0eyyDacL(OBYn~vXLz+qkZ{`?C;7E>(F^yLb@-LswC`^ljA4DXlkOLIK7Ty z9tD{OV?v6Xg&F}I$_!AfeC5K+LJ*=XX3!o%XQx=KShLa@jP(%mI+CzQ4Rr_wvFV}vsch5OU=ioLI)KLJa8W*5b!JRc*)%Z#E@ z%(*N5tH6^lkg12E)?kyOJ{^9BSj^YCF(i#1B43u*;@fZ=z-34^$|uC%|F(ZlEuMy} z4tIT4?%MtVyC~iB@MD6vKlLR8;fkQri3)kRzUY&%vJchdn#nnZs=VxKOc8G+GA}9w z|H1$)fZR!Fw$Ddw7Y!eP@If+XF>NxU%67DeW!rOv zE)k59^$b?c2BaiyfvMWWvIz$5wcI`UvSC^N znY{;BG_*o$wWFSqs?g%Y`VB47OzNRz4+~kX)ZP2YL&`X$;h>RJv}_s~r@s{PkYBL1 zK4s&MVVIsqGzus~*ytYJ%D45J1?EH#)dx>5Id!;MvB3eq0o*%db7Q)qvj;^4u=Rh> z6uJ$8pIK?l71RjUq&LFR62qW%Pp8HP`y8*pzpwoa}waq_UlDCj8m3SY# zk_Xy@5f^(x8R5=gx4|yrxZ22?vBAKw$dsZo&YdKHgB^xqXKSmd|2m#9p;|Wx5^1Io zg`)hf$TZ?i&~Fzct_RqOX7c7a9w8-$TE;MShE|Q)^8W?;gmCt{5SelF{FEn#dWL>(bV3Mu6|cX#e?!Kgl~b(N zBNrE0;u`NAw8X@Y+f@bj^bv0bS$K3KGc^}=iUP7nlccb;U^eC_6y)G9JePhjx*6C= z!kO0Dw#u_GKJy<*57o^QWt%^go=m2E8EP72Hs57jVt#z#Q>&1g=BH1`)veSC9$8z? zc&`SAEi-T zUn-e}o_CjiF$vf=q=&NZSGhk+QHK@5in_^%WFDnEF7s`-qGKAcel$du@JK6&=Ij-b zgov42Nao@5pPeDfJD?+IzzKCxl2D}dD@b>QfxFtg4V^x!CQ9tM6yiW;);&+-|MdG~ zxK);ivDm9zU{nU5dzU{N$fDnqvZ}%dcCQ*+CKqJJIV_m_rawtUa~P7gNp)>z`&Loh zZ0;V(*3OuVg9Qht@*@Qv2Q`8G$}?W@Rjg6%nvWGE=myLN_-R8KH|5k0%qS!Uw?YUH z3N)G@INE4;%z9hfUNLE)(X^(Y-iX#m;t{L$cV{=O#g_*Tn`Zv2{~EHLFuTlJ=zUtD zJEPzHNAN?-jOQWgLRriM+4|U%#M!FuhHBb5p_uMuEF3qfV_>;MwwyKRSEqQImJ6(flhS^q+-95OnO_glX|K2GdVluHLguB&QTJbZ4v_ej=;pkp_K&!dTybS2^d^~rwo9AwU(FYgd72g%x z$_*6+G}Q!J=d$S9E86-YW5+~3)&X|TwkMXY{pr_L-#YWv)}ZfMxI(w(3y;YWRn*4Z z%45^v70pk6-R)~a@kDYr4u_T29ki)7h{`v1<-PTJ7dN#S{%0EDeYK z-9o_oJkP7Zst~8zNGfDCIV;ODje#}9Xvj@NI3cRM9SP?+8Kt!3XvpHu^f<_F4TYN` zJr$4z8EG~XvvOVzp+7r-!#`S3eXYj{j{;@|pdMZiEg4wYSq>*jqSZEg4r7X0#=n1q zM$IddmGZKb$@l#%FH6rs_tg(C@~W9=SB4TyIa$@)bt4QC&6Yz5hwwF@@0gs(pXSmw ziE{M?R7NCZEgX1esD%q|?lrf%h%5ETvA&h_%6A!P7|5i!u9%9WD_SM;v*vVr)0CJe z+C<5W;VoE|T%bcNnGD;2~`m6Cqr(byg(1NSD`Yd6Bw~O*y>e}9E%L&J%^ zef^2=G&g@)P+eZFAT|A=%&@Fc2?Zn#w#N~3u&R_RmlGVb9xsrW7d>@|n7Zt+%y+i! z{ET|f)!5(%I4@`lKVV3ClGph;_g;ZsNdYT$vzNDwd&(1um_MERjsJpLF`J2nT=|9# z+Zo>8^jAzl{w5{}zyarf2?OOr^EbTW^8@*Vw94n@Z~Q4X^1p14&YWFt&i*|bJ)Iqx z?K_)gY7dqP3!zj)IF#FSs%!G%6*Hq{P6`DUEar5;D{bAl=;xNDIge9fE-L(1;7^1gERY_9c%Bs_Ith8TIa;-YO9hwpnHIUfkE;@O-UaE0~>*X zfnz~{jlKhaBPEQ!(0VDGcp12Yy?m`a>@ehQU9IhyUpQMq?DXxdZ2jE_?WEDIm>mpF zyiBw-C2d@t`K|ue;rDZPL$}7jke2gvv$A<(=f!Mo2XSzbVLfQ;U}bi&m0>j&(E@0> zDcadPs0Db~83bq>+626@k+5ZzlVz6nlSFsmZ0BXg?C0#{;wkAT!}?FZlIY)mZws(8 z|5L^5jSTC*gfh|6Wma_cuwxeC2k_YdL;=jAg8YI&VKFf=US=VHAV2^hBp@inCnzQf z6p{o0nE&gK6+N1VEm%@tN#(!BLYHJ%?Y+F*Bn1R~eSP_Tf&8u>5CK6635mab2nq3_ zYw&scyLego@ws@i{ksPxJ5L)A2RAPVR~P2LJz812dV9&Rq9y&;6rA1uyIU8}|5_&W zf(iIpxd{mJ1O86w-xamA{@<%QJO6iWPcMDD|B?6qv13m|e>Xb;eLGKAZx0*v#(~-X z4&^4P=wWB&gx3GRn)b2^>X#JcXeY{G!S7nc5tzE_4WLxww9LU3l~o>D;FEP z7fLd$==S^$4z`lY0A(>jfVil#2v9*#P+3S^UR*>)SYARw1Sk&>0*d^*t&*#ax3is# z*T37^{!d%6|Je4gA~?IDM^>`)aPYCSRq=3jX8vcwk`Dh_7UBQc-+#5W{m-(9{KvKe zXki5YZtMTr=6~Np>(1Yw|E;v>!hfs1oeNsmJf46GPWyQ~|4}dUo6-C3U-u{!Y7sMP5*zlbyn7M) z>mDm^#x$jmnoZDX=GGSo%(K&j83D7unxa~L-4iOseA|FV&=)@CjX#!65_|m`=bAi$ zvT|~q4)trl*PP2H>5bCm9iZdm<6B!>BlF0G48!}I0||ZigTuqTrl|+C&rVNIkB*Ko zwOW^5S$Si}wL)6-qB@OWi>;_OmB=2{%&*^dKjLy5*HR-@%>2LwBYs)mJ*#IWp5WZy z-y;x+{r!C|0V*KSXnuVU9FcFHHedt9w2J!}am@9fmt!Utiau7T1P;N`n%WT?-C9F%8m&v8s0x5|esImp+uV zZ*BfjpvSn~pGk5|z{p;=dXr{o_;K{?>|p!${m=Wa4c#Aq4S!j=G=4uFx_y7TS{YG1 zf};nNg?hx|jbYt1 zk7_lHK@h3J?(Z&PFkjx@bE^iFPx=hdrT#ICfo#gJb_h)c!K>XcIc&h88a*CG-|iyXU4mPCL^n%g_BbwANb?USzz9b z6f^HjBR$mbDHQ6<+Z72iVHBcK4W=PRBZ_TZ-PiyrhIavUP0l=;ZpwAU*w4 z`%eqHXFTTL&yJ6tI(uB@ z7`$`E#K~Q{JU_2LJ3I7v_)7-!xG(%;y}WwloI!MFY^9k_Xbo~_-{c)UszCa;i%MAE z-p9VPG%sLcKkCofnQvPgR`Q%#;R;tVa%T2dTAG1ll<`Utcw+-Ob26iuI(&{g$4eUP zg0N$FBjA4E!qc;@g^u>Q?MKW2-SGCavoo|d^L=U9#=vCUe4!+7==XECJ=BSQ(3>+v zQFsN9YEd%qo0JK`W!><;psC^_X)}E?Yg=Ta+8H@6))a^YYSQ2TH0o)h7N5PqONz9O zr%M_YP`CR-;do)3Y@tw^IQod^gR93$5%Srf!|7`eH7=q`O{H!UcNSXTxf4u^+l17c z2Sr!k%I^hxwsOH2$y4fWXX3kMWdV2PuiNiWzm!*1UHgu5=@p)q<%g<%38Q3x09H@q z(gPS2D#b>?DB0B?A^z{hLQu*7e)><55*NshZVBbq`#+0HU7E4~>*+tme+~1u^8XZN zH%^N}%?J`u`%P7El~GH33r+LkWq-$S_XClBUWOmi&W!sZQL;BBI-wWTNz3dh%L3ii zuBUauD16ub&j)vTm;NPTsD%T4pux3Mn8XgQ%d%`JQTG1eLKEsb$G7VuwST5{j>PYTC(U<8z2-(?;+EM)mdAGc-st@S6N@`MY6^q71 zuVY@j?8$+RQwVDL{!+|6`trhJbocV-w};wGjWrM-TGUn>>8zapuTR|fcQv_wTu{rN z0x1oNWs&H}E3(pJF1`0#u-GD8Ths~DRlD`*=6POSY-(;m{EhT6zx$Sq%#j}mPkinC zFiY+edMCHWf{~~Lvjgkuo0Da^gNEGdV6hb#gDp1or-1lxsy;HpR~#uXI&XJ}TqTnk z#vuFnK&!yLkxh@#3uIQP`>1Pf$7}BpoAFN~`)4rxLxGZ&i;mmhN2pKKSj9R?5FfnG zk>&1{`~9Yv$UD9K(c8Pw9)f!<&S|?->EjFe&ZPTFDQ3~9(7ZlubiaHX=Y<`I#!vV6 zeeZkk?xwKea+wT+2gffq-XolYH> zS&+{mTRmBn#X1ys_j_+vZN}YcL(_;6?WYNC?zuo;CRHilhy%ZZFVz9qzi~A=)-)f;Ez1qL`2>o)+J7sCk36<({igJORAyd+YWh)>={ESiZ%4ClLSZIl@#b&XO&2{9)`JAAp28SD-JH^ikh7}`yoZE{ zZWLS{5V=dAz@^?Y@-7$S6)J7LJwlA;w&z5aoLEZV=Pk#MLpYR8pm)^A3cwseh1dy} z&Y<{H2Fc<$%Hj+f#M_Qb%Z@WK?KdrB2TOltr3{CiLOYJcMsxW-tU5^+D#uO?JwPfu zFSoYWr=wR;V*zr1Aa-q8`bi00AVflzEoV`QyXI$csJIc#0;MfGy#I#0|BP|}K3%Y!NJ^p+?99WP0CpzTMrirY3=WcvZ=-roSX7NSL6Y6iz39K32dQsy1btU-$cQ=xkKR<@Hp$73ZyCDpW+?WJ$z5N}-%Hg) zLJo#3gLfJd$X?4FZ8Y6eB;Ri5-OrmH@o4BQEv$)ui z>D+zOac}tzUrz4+-O)mI(1vfwP5Nxe9i9U?6sR`=psO4omfB{^u z(8~*SE`8Dziyv~ZJFt@C{xs~0j9^3xViSmDT7t3fUq+Ah`-FDSikV*Sv>yZ=JbP=* zFlye(cs<+s=5Kpp94MPA9JQ7g8tIkT_3AuKV$5>?9HuA(U)u-`K98<^b^8#YMSse0 zd$#oUpe6SzFx15DtLQ&=FdD*v{j(Xih3Mu zd9}bS{WZhqjN^C z9Ft}D$%4PiJx1MT1WPk@sH3+ABl!3)3z|5=^t`k`PX^u7Rl2FCl|s<>{_DW1lAzW6 z-soBt^=J9$R>pNy^G){sc!$k(;A@ai2FbNFnlB~BS|@>-NQW(h-SO6M*W&KBQ&)DX2-tCGgKg&kfBt=-t{76`{e``?aWqvx1jo%p( z%nAQwOm-Z=H?@bx_!7sb0HXZ>0{FMRrOzT%K?KWrq=y3vu$i7m^hB3fu^GQvtoO&oCYzcyb={v(K~IgYq$xW8jS-9L{bII!)P$dJmW z%4k+dUoTFJ3GO_8_^;BbZSAti0saa1zlvTwbckvL^m3fmg1qXlQw!`GW+Uq_)G+Px<&`35U7{*N>&V62|=e8~{XwoYsiPOzTq= zgT|&+f+J_S>Dkyv0z2dARy;~m2m2yYTVre$qn7gmkJufU5n6vX-#W>aGZ5g;O9Z-^ z>ZCF0uGRQrZ-eyoir)_~vdYvMnipm}^XrxEnoLv2-HoX@a|&-Cy~ZAl{}Jq=LSjY6 zBd5f#iiuPkdWsFtOqO|oFc-2>E@p=ZHoc#=X$VyC;;=DZ<8nu+X!VaMuSh)|*7hNp z>-pP3K&kof2v{60a)nQ@H<_jIogG=rrl-5hR5`VCugL!Clhsg_g3k)Vz4Geg=~sr-sUUyUA*O^R)FW0Q)GWvwFFVD&-R1!QIg0ipG0-}-DG$ND;M|yUr zvlnF%z+GKDNJI(3M@GOa=aKwa56yotg~c*qNL%O^xGeILk_T zqo+(dVQbrk87E~_i&_`W|ROh zT1~03f3U!|5<9h>?W|F8R{d45KvCHWRY_=88~{3gTbnRAPOX$YVoMP!eWVIwnH>K znmUCBBsPu|u^9<7pK4zVQ*r8f22r#p>aTq`*b0fY-=9;e?OFwapoRPUw+@C?N%uG@3oPpvW zvmeP*z+u_e-y${a>PyTf$)uVMJ(H^iaXp@c_q^)~JaXmB-5E0;e4>r39IPFAYOiN@ zup3UFJfTo@HBu;OA+3De$1Wk_h!OhbqiR0I#~Fn_@1UP1U*3B69$%=K+3Px==rs&; z3T5YoJS}|3J&obBRa*7U#9`o5Z`X9wX1IUSEzVPcWSvAeW0@ak#pfFy%uwfOzXhU8 zmcf0Uoz(|cmgY(t+}O1Cbuq-)d`2mP;SX3zH%FOcbO;Gh_A5QC+9ESV;K( zr!HfIe!Q(kKcjWgxsuZBH>U&>@Iw?W!H_Q~cCOyZ{Lz8|a`m*gAf;H9XjH$5LVPaV{Wjp zoSyjY&&n^ztTI>`A1Q^yl8SHyl-KEb(|gIN9v3P-f-0sZPsLmlfDPv4Fg|i4vt{8x z3=WFRYi!VhMAPW6KSS*N(5p@Wb_OEZyo7`3J=Sbl{|ejvyDz!D1U%7fX`(IHgLcD* zPgPjLm~Y=FbUaGTp68%^gxHVrk5=v5%}m`s1|;I}8h9slVrGl4H6o9b^$FK`hgYp| z5DC;^eU90EF+Vd3y*K6wT5vmKZNlJE zXpbqu3zwL&qf~e6R4@^5&6dQ1KuVAO#sqZigrhE zU4OG=kdM|^PTnZn{Wi2Tj@1_eWMCB*rin8G0wqphN}xm`$2pN?Vg$?v&(l&$#)^O2 zs*8ST|5g@|wJi@qzQgh4fU%^`%K)E3TcSXu+@uuqDHUrxPPyy3v`XQNF|>jZiO@2SjtZ`vEitJ9+!`SRWvKdPT^| z!0b|359Qe_Ry)nr3BbPW*h^*(;hXJ!6ub>`!{-y?u{#~JsYZzK)_y-C3gb^4;=@@HFW?1t~yZ7lKfDSYB_IaXl8(HSEOq{m6=3Vz~(5@lN3i`KF9M@eA?h)Cf`|IhB~H?c4~L= z8&Ov~(y40W0R8ir-gxu9{E+j=ogz;AzOoJ%Q`RE&iPcK4sNG`mvsHZc(V^0#xt!-W zx-GrVU=504r`WhjL}NZo3$OE&k5U}M^^ZxU@|ke@Eyqj0xOkx5B~VKR)SYGW`qAtR z4Z9&>kR!)jSe$!VyPm0IytB zolxXEV=zfQ{%dU(bv26FFuI+0jKxu8$mAjJAEhj~Bzmmqi+T-O!SaSuA|!t7i%N|L zRDt@*@ZLJTR(fd75?3{|{UBp?y%pgEtOL)8fR$&&jZ$`Wxe`-cwJN6U{)9uH)q%b| zxE&MPo>Sjr%uEG>7uUt*U#HxC=2ayCi+1m`A0n#Bu)$lnSn$)J&TNU-01d@%O?4b3 zS|93jU%dxBjnid>A5q6z=;{tAp7Ah1t@KGawU zm@R032sR#1RQF2$A+DE|W{A@#*E=s|RoBl4yc=16%6aoS3k5kB-UpFXiY2rJ*qwDx z#-5-vBG+@xJOl^#rD5?WW(V4zFeheL>aB60Knl8&6iiG67I}bx zowHPjLqW1*rTF0z4^?B;0QmE%5wIjZrf7Vi+#@J38vn$;eAul$^=Wq}eSP3}_D8}m z!C{LMDvH#y0B^5GAMAt?AEcvMPRsnrD|;EsN|{`f7EwJZPiJdQj8SR#Z}9 zU>fCl4T$uw3iV>ctCeV=Y-u$@kpiFn(6GeH4c!X|X(taIf{>>s@79AA8%ta$M}M_P zv7V;QbrrTY9AxldA?ARJW-X#|$o+!b3CdPUqUZ0b4q<^RH!pX#C^N+cq;C&r-kFDf zWyz2ItdWzT0l_&r!s)GaS_IO~N?zR(u1z$M{87PoCpU~px1LfZfL^(cer;ZEmdqeP z1TaJR)d^)tNk1_|f#$?T9Jron3@lXYm*j;OrGb*j5iGl-)Cl?6LeiM&bX|fV?If`tUrJn@uo5z9S+5+B2LW&Xv@U^T1K0w;h8#_ z32O<&Wk8p8n=Zy*F-f-@-}C#1ttw4=>TfQJQ6L0MMaGaHKSBZ+qaMIP_^Q>aMuA&4 zkade!DnHo=*CJWO-f-46U&3t!Vyk5mW|@@m=vK@{tKxgaNA4Hhl?jb*&Nf8OQ;j&Z z`LEl=SS*43IW1tW+4$(o`Zo_BFnzggO)uTm+ue=kj=G-H82rTfo1fuXn|H--WL0>P zm7GG+yV^DtXC|JE=1B?Q{jQKJKddrPk2W--K<=z!Xn$CK&HJ_x7r8sqx-*h~GI}z{ zKC`xM<%&Poo(**J8!0a=Aer~-3~C6eWPAUmNKA6f5^waDCMR#t$?$?7kjdKdCVp_1 zV_U+j{4jM0{zt*l+nQLPh#f47`N_b^^ z{B4VQz>L_MsH$_b?nK?fp?xz}bwb%0kuj0-CA22)g{u<_ZDX+W#y#;1j^gT4sl`t} zO!%4V`H%I{Q}F$K+KBdzk7eP@EW4t$zrCvI0ZdbnbLAHSb+RYJ?3J*Ds~9VIvWlfU9i-Sn@x;yYLHR;)Zhh44w^~@)d&sQQKt)Ts8PdGXhes2L|fCB4HvLDZi zlW$Z##NrczC_fzWFur1TO_k6{Py1@8tUf~hEmrFD+l`hIG1LrduKLt#%fmu2QGXTk!bfF z>XU?ttO=;C5EtiCuK#XrIBQRM$T z$_VwO$Vh&Shn#s1Frxr9vZit4b~*K70*Cs$!XM*!au>d@BmkHVqL;{#V5YU%(okE5 z7Y%Q^MV(H{VJ)BfoAKV^!5^!}@Ayz|Xq(i~T_T!%iZ%-P#1; zXSz2pqZaq{$CBmSRJjYx!ha_57{x5I&7*DFpivXd;ynghN;HurB|-j5{u`bP z{iSn9RpGXv5!_B`P5#=hUx^r=Zm*!^Y8x|olDQHlt&NX2tLSl&A7o7olNJ~5KrUwP zX=56KZexk32nzLe)-H45lAGNs(h-SuM@>AW&r|4vB07>nx|mqdTk}tC8Y%>Om#0Jk zPodF2HdfMA=<9@B@(n$(VcAo8A8T*9`+vyPsztQSmA!9J7qykPU!D`F+dL(rBBaZTH;(_ni34rx->%WXcR zLB7YatkSfLS?#*kclznK`Y#g4;*HBSM+jRA2|Ci=gtW>sTKNtOQ>5&^Dw!;Z=VCws~8ln)ZGgf0MquY6r~^^|~QR6Oi~$7>kRWM>ot|j}vql?AGPwn(?ccuzTbc1b znkchweMKJE=f#r4Pc=*Q_AD#it98uD!{YZFcdzO7L%kvSK1jF1(v6b%`Rc93@hGHPUcuKbbs=DvP@sz>AING{k3jm zy@|-Acr~thxiCI{?aKFBw=#W7ej|0Rm3SjHPj&Y9P7gPS;!Lo{S=m>hU^e!W$>BXL z(l5=1x=*$g7=`<;GT(ZCw`&W7*M@Uigy|P6MOFw;Smbk-!<=y!Vu>&{yt2|?x}_wp zJda^;I<$)zc8WtY@R2?TDO0`R&jjpqe+flE4a~XE5scR5?|ly73$F&O;aw{aiCzq7 zDC}~F;gG^7!y`tQj!Due=yp(27MY>@Ir3bsd5l?FdF2mHl&4XzYSD9X>OsB!veFmg zMBnPQWs{OL{FCrYx0$3yYi<+eM_M(W3RL=)G4t(3>kYhM_s~tCSFSdEo%n8!h(29bCqtkDArnHTkTq>=p5}}~$i*5xsY5G{^xs^oNm>8U z|8rIL+oQ%$pxmsU*Hb*8(fD9Jpiv(q;f-0XZeNIq^Q)DC2U<^ltxlFt_r9(tV64E% z1>oM32O_=nI&*2)AJstmwMnJ3xFTFR%eYxnF$X^KJK0#_4m_a_xAY1ErCaDoNv{w- zG0`rUmj)(j7%{VVO-!ut#YR0k`m!)*7a_ntQDe+G(fcU1TTk@TpF1t35a!ZSdp*&3*hKWHsxy@usUHk#yx}Y0z=j8-z1!E= zf?XB;x@b@Hyf$oJ8xKjqZXMn-Q2LJtAsF5w6;AL!Lck6UV<*j?aJItQ{`5~})m42f&_5H>SE`6xV;qlM%JohUG z337H=i8;11^Fd}j?$k@!UR7T3PW(eQK(fih!!qXO7jM^1_v|~(C555$wjeNe;fDwb zu}hElIKU^Wv3{U)<&BD-2y{4~2{Chm0Sq(&Xb`QK#l1cA3K*p7N_{WZ=k4A;`2I3F zIpC+c0JO|o58*22uBm6P6X!s5KYJ3-on21lZaQvGJ$Y6BQRg!X+s`~7jMr^lo~a{t zGR@=l;)I*_&9i-p#)FPp2Z?CeHlXJ759PPAQ2^uAI1C{uB-jkhOD}i6)DRHLUj>Tz1T? zo39>t(tT3>)ty!5d%kTzPGuV-AezmveuT^k^xO1Rd}^^h#cfW=ZC*Me`tm#A{iUH` z0?{-r9>T)Ml@s`Z0%Kk9e`pm`}NpCGdDj_a<7V{x%;Qse0eFU4PIdxPM{osg12 z=AV?9CgF$qcq%rcFyQte5PAx+;AIVcz~E+VechX z;mlx|0K#iKzXHTJKY>VjQl@}A;o0+1phR737Aoj`m>!z){^}z%K_$4OhHolRnN6tU zmX6vKlxfRGt<7kVL4Q`Pakk8aNFP!J674bEt@plM@UfP=C`a|Wa9yYb+j=9e)dS`q zbB%@1g$|8`eO*11ES_yGxok4GlVB>RWSg(_yxB+YyD<)$*}OW&mE(zTQw}H|+D}Vz zF#hgykX*#?@E*P+nKat{1a5pNy4Nf%nv`^j|M5Ac_tLzt#W>H%`8M*J5j!kY-&lCT z=RKjr`=MNTj=HX&zASI^ZP zJw9%G!=&~p5yus}?@{L1ADSLK&sdZ-Axs}G!xs3QPg%atSCNnBL8@0c}5&YWb4q2V>F3LXkf8V%<_l-oYYO zPhO4zNnBs0ZI^_Vx-|9Om*qCQ)!!>}KmDBN4UFGK$Gem=G+kI&0t>r&*FU(K5w$#h zTl>Lu(9RX@w9O6g=EFzv@H;EIw0J{S3rkiu`e>c|*e6dFyD;2j)~7`|by)fz>4*&b z^y?4c)e+qkEg3t1j_ph7Cl2wX73=u^X7KWH&?3q6xcDgX>exOC_H4r$iMThL1k?`H zM+-JLo}}FID^dO8UoW3!S3O_Ors%AF=126oHXSNla_qc#`jT#|F)NZ`(PVgc-?Y|A zDGwbJTO{>rsKeB=8g`OZ0cOQbBhaBsSFxsfG<`mW6{W>YBanZy1!>fIQ8rx?HE+uELGw)#EB?n|!htKC_Zjgnsx8VhJ{>!Y1O6_9I)y#&8TzaU_K}hvj z7vwNR4f$2Ez_L`(qZ>r=#hWI`{y-6a)0@x!4T+MP3JQ#(JKTb6^cmbWytN%7bp(Qkiv1l<3-hP!uIo4m6!bw%;*Q8?O8gU{aLz%$^vM1JVt z7iEM$3oW8<6c;hCLyQ=o7zylh~`G)e{w{Y$(jWnxn!i-+O z3)G7c%4Vs80kd}E%RMD=x#gpCscoBHAP&1khj& zdKM^~419zg%hT6Q0t-=W^4AcifM(EX5;DZMQe07$CN@fhp86$7))4KN(fjd^pN#c{ z=1GVbE(hmH#KmVt1PRhYce1|{DJ$k$D{-wxzM4mSFoO&j zJ(ChA9@c=9h$bi9!&e3z=m?)vC#A*tK4T(_N<$>si=TJE&VZT&+)Gf|ZPWYWU63A& zx(N|F!bZ;C9Zy%Fl*qu#qeQq2{PL2Xy)KAYvmReAla40?yDM8pNFm2b`NmoZKs5g< zifSeFT7`oJI&6Oa=Y<*`7?x(W+RyW2@wvV0M=b)dM4+M)m&O)cVNWrK!FR1WyW{7_ zCdQBHd}pqfeb-XK-t+ByEpruCHKyI*^S;L#LkCCQz%*)M3{PJSCnSjZ@MW1Rs@A;B zkX6HDgX*hty9bO$o!9SKd^)8l+?b|9R)E=-Xb!k=(-~Al>izN=f8~KO>(IFwtN!2l ze(X3i=kIjEoi9qD^Cq#qp7+j^@soJVRRBSIcZEtW1&_%4RA{G3UZu>UBV7R?sWvY5 zp!3r09iCO%hTu~3cX^mp6PCXfukqW9=09wS!H3w`$bPuwZ+;;|xK_9+zz3m|Ik)$i zH9}VcWYP`j9Nix5k8>*d!!whJq0dv|fP^3A0=KDzg&zUVCED2y68i~y{1F-3k zj4qcdS(wq6U7xC-W1b@+B1?_*wgDY*8IqUX^R*>XiFNt-oti(M{|ML6|5o?p-PQOY9N=juoA zNYMy#gw2bJ4?AF!WZ5VoZPUU_vS{8w4V@%s?eQDly&CyBf?MC{X?OC#6nl2&6@P|| z*u{5jBQEH(^9h3}?YjdGOA4r{>g$jCHP*yzhQituI4Y}txfD3XBpp2QGi1oe`0*R6 zIU70foEs@>Vy;ksTgcEBVf6No+~W8(9wUf@ zGBO~{&BS9WPug>@NUhgzZGSQi^C!^^Ng0pbF+8X6>)TMR+{mF7Z<2<`%YXZdJcGe7 zpx$=HK4dwv@DI-nX;W7pSDK1E)*e4~to=!@+1~0bMEi0)uA~s^WHm*<0-N=bY!k1} zdDbTN>6Y*Eb;wFucxT%zP^xI2VDD-e{Ut`W6fWT03&Zzk%m@%qIT!`#_8J)d83gi#t zN6Nrmz94OcO{??Un#O*?-l&9>dA@x4SWDWQ#G-OpD7X8F(KN`>+|Tlzp)jZCP3N!k z%z3--0cU%|Dbo#C(ZslR}sVKOj;BSFFAdfDic8r9M7ZS z4905Jq&SF3js%mQ0Pr1+G!XX$kozhWJzH$#zWsUnFuaXgv^vay4)a2^xmRZY}44+XDkw)wZdB6X>~H*tBpo!^Cz7_ zAzy%c)$LNX$IU=vY$qbez~Xa1#c%JH@H>L<@mfvW!bg^Y{HvA`bW4zsC?w}fs5j1g zEUo)3J6){Ro^1|huMPO_=(Q^(f=G{I-9}?OdyIV3+sz`rpu%o99vZA)FEpDMIB=6PZOzwWCvqW$P z#MHhi2zSpKP~_3#8OrGFGGY#!TeOH=X2XxTddD*I<6>-XjqsJpb7Q;d*Dc}tW`8OW z_J6i{=_-xl`zvF?_ok4vX5{lcTHkAmU(zefm?u-m^Re(OHe*pAUnWF#Rr*B|7&tA= zIQ)7WJscB@y;Tot1h+Xd-Pi5eS~tJXOxqhb)n_-k^Gj8Uj8&ub(~IjLhB4xRnRj11 z=?$&_jPFtxj3VTyM|Yi(s|U2do%8j6Tt5lEG#k5YySv1kS+Iy4uG-{VIE94C+XUd7 z7P}c?V`Z2KuC;craEE%^*3wmSs%jR1|c#UAB&uAh3$-_1> zpAi@G&+R+Rgx82hvkLttL)sV3?^Ilwk1{YE_kTu}VM3cK_RyIW1aB*|{mMtz{GqeJ zciz^8KQ$fn@u=mp)?%rO<2PY1Mxm#fqlL8gw)q?IC%W&5p5T0LyT_nWbc~zjY5ZuZ zPW01nbQt8k$!S9N=Ou`N-)TQld~?+I25}aj?9upnizlVwnlELGho)YsamqC|_-tID z{Egu=`zegJ#~vg#u=_Wi)O}z!4^keq39>|Ix7Mj5&|w^t@5+Xjy0I0EpV7fZ8&Kgu zX+@jNF#3JOHmBqc+1M)lnXs)Yi$XGDlNKkQVN)hANZ7DI2E->r6^s#llGQe55#&ad zApJAyO#pcE0GQPZNZ{o&Dy?Jk=0xA^v-xKG>tYcD z3Sqx3wm$7@SR5MZul>Mig3rYf*!`xHj*DmgE8x6q-h^myF1V=QcC@cFiTqjZQN_Bz z6ECQ_wHSOMeCzIrgIG<*6aEA|N(}hb!j3w`l#J`T#lYG~IZnK=-?p}RdtYZ=UfzAC zNymMVjKbetv7LEH)KD0<_QZY5JRa@v>k52tX0rN~3e}h}SoZR?)mPS< zkzY1)bc7w0670cEsUq+zlUa->*}{}xvlY@}GKC8n-vG_f8T|z(diK`#SI-hD z!@=jeE%X=mqFF~b8Y*$rh%Qffm&}D$RQIqG>GQB<$;@3^45Bf_KGI{kCGr|UYzCr{ z$g*UzNU7E`DdYl{mlzQZ2RSM~>>GN9mE{5rvNEK~)FCR;y!1ql3GMP{;J1s2Op9eQ zC?qM2peFoYR54E5i{3cU41+B*F>5r5HNW;2%|EQ%i)kwP0gafHFaq)k9pn5^Z6BqV z_U`lqR}I7JN*YD9L?2_Eyyvy|oBsBAJ}QhmtFCUCuv?UEEtG^6AAPWm-sO%v6}SpZ z<&v&FZqtJn70r7I-zW!;#Oo@Wyf~kkqBa%>=0R*-U3?IHj~@ehO$X8e}M7 z`t%&puQd8=_wrf7EjFtFxBZJQ`X$Kz8N$!u7X6va;`lDhOFB%z6N5-;&sg*aHb@;? zJQ~=D1IKG@r?&lg@WG%>wB=Ye83KQm83WwLx6EiQFXy|st8ER)qZc5IRD~yj@SqHW z*t>qqnfggCcyr_75?jQ8vlaw~K@utA`uUIT7hL$D5hKQ#Z(ee-5E~C#!BI!Pdf^2c zxeMm=mNyr!v-lZrhr#nW$`Cjae<1(7ep}Oy6KP&GErAX_Cc`%2NC(;GCeQR|YfCGS z*lihDdSZr5Mtm>}g;X2hlipe#Cy%Dkv#VY7n=zCNK>U3&{ZA02f(l$}p-v{`sOzpl zP>Fxl|tE#`4FVcyxlBx>jpi>#ghjm1v!_enO2N&~f-Ip%?Q6 z@~5(ljeb~#1h)2cAw;gG_)7=N7v?|*__GZ0PN8V(F0r_2*2zZRt)h#Yxx27Nf$h6! zT1IIgq=#u>=Q0M>wa*jO)MB1!AaPskt?jMvz2tMrPBqZP^16wE5d%J)V)%MjlW!&}fgFymNTthbxdn@BGfn zlX$t`>UDHvp<{gK8$T@pd0prO35DiDA@TBIL!S7uWVg5Oeo+rXG81f`4n?_=3J~E5 ziX;Azdt5#vE|Sk}wCGa(`X1_>611qF;?}67-bWPwwEnRHU}uRxnSKiY!2Zt;uiY!L z-hi`O5{IC7#`%mJib-J3pW_jsSDm+md-g{#^m%M7`@pkC&-2RV`Sc>jfVxX3*4Be9 zS5cyPiP)JPECC678=80_$|~}&3Z;d>2eEnp58QYSGaCY6k-(O z&Vkd4B_C~L>pb<|&N8~{>~}{;CSKhbtiZUTafOG z1ZAsq0v9uF^-Dz-%c>L+-H6f=R&CDTC8R(!TlAh>P!O(e>>wbmgAtvQ{w|>(qud4sHhY^9RXGC3T!bY7}xyrt(d5HIm1tpZ1gVfhNHRdP6{w7^ReN!2y2$Y)9# zpVe&(cx*|kNJYrB#A2Bh9!@P)Di)uS;3r?XS*bu=hR^9Br^3S@h^;`ryvI8(7vi=vjI!6`d~}2 zkyaYgsKZ|agL4ikRW3VNR2ch0EOsxjkc&}$UG{7)M)h^mvU-gA=wT;OtkphLE^+so z^0&TWy^V58{!T#tjyV>a39$Ry_hdVrqEO06rJQeDzfd`=FRFx>j44TQo_rTcnjqKZ zE$G9_AHbI&3m?e1?<#Lq1RSNA^6adv;oyh121gl33m#aHLg${R1LjAjd76d|@8>Lrs%$8K6`jen5&N=Y%cz zQnf9J;yEHACuw*}Dy}}P9j^Xd*CK9(=(%ovlpro6WprV|m?E|9)u@!U`Yq9|?GQ`& z+dKJ|DCwDjM$Kdch6^*QzgbeEYXGkSHaO>i5_k=;ftOQI3A_f_K=xp%@ETw-s;^t^ zx)h`Ode~!NqQ|HXm()H~E=Ri8loY+!6d3^H?VINN4l&I8UdRuOd4bCNWBAdOT{n;- z7f@lM^=vht`pLvIW2uOy?;_D$GN8jM8?C#>-RdNoG?uD&jj5@Yh3?)(>nY>eG&)tE zGNz2DLd%$3Z58(rur`dTX(OL*0e`-VBNolJZFA77p6WEFTF=m8YR{N947q9CZ5hyK zp1g~o&wTgpYH`VUHi4?pXEu!D5}KOofY+RSW{3sj?lgj4cdNAueP-ZKFF`pvjYZ?G zVYG{=HHq?Ppx@uYquG3hx#Vc*Y1$3EZ}vuwF}&T@Wp~}|u+X94uG+NW_H4B z;CS|$3N9PO#!+I}y{7DA*=uTWGy53!nmU5b*2!o#KQ>+;k3%ctc+!a4miNe1NJ7)3 zvujjw$9IWDF4ajws^>_0zI%id)$n0z%jsEnNKY0YR!KM4aQN#A?wRNPKC{ygClTnB z(`Vl6=`&CF^wLQtdD2f#6P|T)mgtm&DPBEY8;?t;w{2D^ww@d`02aO3 zdZN*6j&8Ode*o;|-E95vU`B>*X2!8kEkjJcDdh8Tc0V`B>R zwH5M+mQ$3r!n63;ZYzp~=WyV#uHz{wioz(!kReHB8U>!g5e%bNa0+>brjUs%3fZ3- zN0Mq(+PuPy-DDsy{Lk4vIXk4gQFsqJ6$`~Wn8jj4v&R#?0(ownjk62nXUQ{5p9U~X z3BdeE*;J}P@Rjn4emr32iq&R1ofgxWaH!z**4gk$BZ*fUS+V750P`Zsuc-X#*qu#P z?YV@!df^oPCZjdljKb+T1^Z(Tz&tIJKJyYv;VmB}j;RzCrVV!kMF~EV#I?^sw;y-u zyPf;~fb4}%lZ%OS_L{e2HSSTI7xt%$e?lfnusjvJo95lTfOth8JAw+c+-v8esTEi$+mm?Dxmd zos31d$4~PiRi+5nt{`J?v~CJ44~=I4F@SlBfO$nkRkN-9>{bgI`Af2?j6q|%;)A(& zX>!2w8}Z64W+K#*IlM|oJi0xuW^C5WSz?`Uep@+n0`FEaJy%)U zGn$ObYi%@v-%I4>^-fB#dAmM4aeC_(5?Agm?ft`?=1N%5eNnu$y)ynFW;srtc_`u2 z1OT&%!K@@+ol`5ep7bhV+gYjK61;C5)=SHD+4+7;NI~|JFDmPu=T~1>RM)5_FRjb& z=WGSoeNk4IosXdeyAaGdLJ2+RiPGaJk<w;SnVr+LWUF(YHuXxXP|>E) z(kvIdiF*HJ9r6vEXf}K6>J4=D+C&pwy=SB}mdz}Q8cz9e2{n26F6CAmCpL7WdCe%^ znovUa8PZGj&~?DdA?28!T^Sc~l!=&FuWr zwqRaNx;iIbX+)mvZK9T)|FVOhnV$c$4`zk$&ItA!GaUQDt+{)~_^gr7kJr#;lT(y@ z!6e;UwaSrE?aJ##G*`QI_3_o(EE?1Ln%U4BQ&j--npY5~EO1<#=`BppUQ>#*J&j;4 z?WN76D~yi+z#GkuoSV%a$J}f?V$z5d953S{nw9?C>|nb&N(n1BxP=-vH(QTWAHhi@ z92-Z8ut_5kO867*c`J?*{gXzvQ{vClDT1#abiMJ0gRh@&hvza}pLrWM0Sf23nRG+v zia0430_M@GstnxGqCB9P&5?bY5L)yX!6(~B;w==H=a)xzcF?l3u?>7?+|8N*%naYN zWgYAHXyg-DXN|eX6NOa(^{Bux973ee?2Kk(FdL0q8$UyH_coYo8>SZQGutkh*U0{j zyCdc0<=>pa`_OJW8_eLM%#W1!?=^)-v#ZsJMexfBmfDT#Ge-@8g>*O7M5EcytIwQp z08IV#^_lGgbd~4M?MIjU6YwP#wvTQAY&(^1HeI*8FFPDMH;Q}fQpj{p)VtKKbKS!i z+468^IporI*3F&-Fz5F~!QGyw{K#0|F%aH1arXfr3EkhBUtV4t*~MEWldb300L%~V z5HNGBaBWV0iuUGipvBdzjD`om7M;=TCy2Ocrm{DdTV1`dat|%FQUVtQv+tS9#wO%= ze+O+q){mC2?CvZtFFzm1}G*?X9^UP&{4Kmi|H)b|R&ThQjd2nIl%EqG$ zyPL~rk+ZS!AkW;^RYp-{o2x%IMop99FqkJDFq6@2OpK%n4YPjjf`a#ygQNkT8E=Y? zcYH6eE^n^QqYG$x-hji|&CT6;v_aYkzGr5tX=eb;19REmVS4#2-kE&{_3Qvy?)A(O zlSYoxGnW#1<`)ahpFYowo6_fluF?yf7n^AZUq=9D=r0472ZI^VET*dgF!$^Nxi)eI z`__$}c{C3f{tkSP?7$Z|s-2OY3%fhMXWll&JY(jU9MA0R{W>wfvAKJ8cV^RK5+ zLThI?=8fem8}l1(^LBt|ZdW));}nxIbK+QCQOTnz)bnTx@9`#Uy1BxbkFTz*%o1=9 z^2{TT(DH@N&H2rl)(qTV-rl{i3o&T-ELuM0ZMN=sX2^!s_U{5YZ>;THF-CR}oWEAa zodrkz9r&8xEO$M#W{Iii2iI=F!^xMET0*%v!h4Y&bK(`~k2v01!B2RDOhJu53cf_U(;b2=6Yh zJ#zZY13WX}@^9xDZmeFf3n#8_<QV!Iu%M$QBc+L>EA@Kq+D5Hz zR!*(R+u@#h1p4SZq%054A_$+I*aUaGu?!I1SPtwpWkN@%I{*gIEw?s7c?dkh-hAZB z<~+!Oy93Bs?i~Q@pwGN#R#=Q==prc@Npa@bMu9n|XJ*5}jET=EZa%DoO-0FNNC6bZ zb^$v`3Bsi0By3;1}mS=zg&Pjoiz@2KQXLSvUlky=H3I_Wsl7K=E%(ME;#82a1X$tk@?-8K6A;-nRBX>V?IQ4g88#si^Y3r=_x{UOxv5A z-8QRF0L+|uZ=-hYcN)#Hg~`2iVQT4f<~8(W)a*W*vU)r-=no5g3V20+$?&hP`#^w$vJps+^wF}s*U)k6-cIP+TX7+2&J452bB91MHiD_V#t~sDQ5pX`j6h1ar2Z#HUZ^uJ5OZPl3dJQI{d2??eL? zDmPX}{Hu9_{DWt{vI))YN8qS-&XTTk7tCX`*&9=6;l^GoUn%*Ut(U!_VEl-;JdYh4 zv}?=W&=EAV<%MjJayL3+W&vH8om!t3@3q!*3)$QPYTdxRvr9;cRbJh|18{SqE_~^O$!S-amlAbZeigV^UCF_Vt#2Uzh2FG z8TIAAkX=Yp*kt*)1Nizm#@26K@29ySzOvZ^!OT0POV0Q9f=F&0c!G$3qsZcEX20P+ znsR54q|)gk@UxaH08i&E34;He84rIwf=(xZ89KmdV`ge&bGdxQ*w`$e?dda1&_tD( zdR?{#PKA85>p0}z8DMsXXG?C*8Qu9-W{o+af=->7Xf9ozZOsWhui5CXY(tv7j#BWO zSumcW^EW=1n&i>d$Dcd%cte|Fgqt~60x#*j#CO5GpGf1Nf8#q+2(4IX3wSiU-32qW z&v(fG1_W0D%w)&_ZA{?tfSzV{6`@`wcs}b|g14-0sXQxXyxL}cb}zt&u=}DscB#wm ziOTq*^nj>LcCe@(cFz*lLLa-$mrDLj$iOT~Hb;2uj~=FxPsKK8hby7yf;mSh(Q8zX zo#!5=T98Qxp;qc4hi8V8{0lw#+pHbX+480LF}Jy>>g(p5bqfkz3)eAwP#VLtrZ1m+ zqZeI}?%->|+Gp>?%Lb*y^r$b=Asu7+a$l<+`smfD7cI)}-$;3Fr2Jr{eAd_@j%{WJ zB4_+bBW*I84L~plZs}U?pK{UHXLfrg93!lbo`I%z{miV9nw=PxRgP)9quF(_Q#GAt z_PZDOd~R>AIsSN~{`f*=;{CopGglw5t*iUUxOY0|xJe4ZZ0CY6TJ*a0HGEIoL7PPV zk@AcWW=U(THxHTt#vT4ei{O&0{!mj$r!TV4T#D6a=G+Ff&Epm{{5`xm=7w%QbORZk zbX*l?tl5JPU{%6jv1X>u$Cym%I5tsp~4oX+y4|#!A)Qw^vlJTUmOFa-9y~HT7 zN3#=y`BJ`{Q~naeU@$}eDI+GBtv=>U43`Yd;Fwc=P-3yOyc~God^w$F4+-XKcb=IG zW($wE75-}g%uYMI2h5iXsv<|c&s+|ho82ah6W}dfRqOQlnfe+0**fC~obNMRJyB=I zFLHcnmEnzNRQOj|om1TRng5ooG-4Ll@e=i5IgYO=X3ogBu9_89VN|?Q!M^vIx$V>A zbuYK*4=IN?H@i@%4xXEhw`4Ad%*~d(>71WJ&)nC34N}J%bHUu}nJ7Yk<{7WYwMJ{sawv1?RmhHY8eZbhS$I$*IYXDZzGMu!(g^=SvURihmkG@Ky;ul+g!{+9b}V2HP8z{r z?r8%QE0#K@w5$1FIJu`HgQ^SIp^X?qt^tqsGsSD;ImJNbtHlEIDE>5mDQU%6JRjaA(VyaNBHb|JQVp6NsLb}RG zIL1uDvD#=9s;PoqgkZ`pHsK4-s#cp!1E(@K#X_~P4XMQ{GFFIZUPsMhHPyx^qzG?H zXyEf0kW>|QR}#*dq*k4racZ+FV5zA_mE;WNN*7d;YC{^9ld2XAg1K*QcHEUlRITC6 z&9;N{3qnS-t%&!TeM_hz@9!oX&F)Sb2~Oz>19SMK5d!9k)d>3NlINMbY%Z8XlwkG2 zIr9;dMz~%ukNFu*j&(ir<<*}2yI>B!&s^$f9&3k8q6u2Uze6|E&FcXuT_S6Yd@}&% z!a~CLnZ3O+-0z=@>Fej-Ab;24FovNlrrelw?l*oUcJ3myzI!(a$sz>q?BZGiFyB9C zmcZfK0`y>@`6J`a**ea0^UlKb$zUXcT2PYH^veBHgcs)64B7TOb ziIC{X>Etb&Y=X1YvjrU)Zt2vQFt2=ymnsrB)-s{O}{5m$--jxrc4^;lph{ObIEMlLppDh!Q!ypPes# zGdTB>&L*kgSjTm>=FO4Xlrzvb%c@No@elbq_&4l+G<+ zl!43aMiG297g#CL_B4Ifk`~45u0)(^3TGnzhL=Ha5w1fDRAP6psZ_dDVa8_?EVVoH zMN=16ktIk5fbC5SrGs zv{=x#2R)+>*Z+2%#T&=SedS-yw&CqQ0Ttq>G>^Z%^`fir^hhvvcUl!Nbo0m@mmOtVFZh`!7@;Cdd z&qt@VUneMR516B@M53VkBBmXD`A{N(OBiM1H+!Q9z7{;03HO@vI_P4$x0yZmbG&}w z<*;`zuamjpev^VtM~(}SS=Q}N!ThD z8^vO~SX?L+H3`QE)uPoX@>0>NRyo3>TB(N1U%))YBEuJ;QOuLns=JtoS;fD!B8aTo zM6h5LFs}tI=K@Q3IWK3c=;o~0)m#-gaq4!i=;UJ+QfdP;w2LV?GTX&QH6sY((}KCZ zQv22YwRq~U-T&42ivFS3XAX9PLl&!v)y(E1n%V84o7r6QX7>IjX=pQh%xz|`_BXS+ z<7j4=FqSV~y!ggNIG(=bK4(tS%(fCWv%5+xc!u+*aqMeT<4$w4(BI5%CT?a2N3;KP z%sw+204wbq&6YE#Yqw`&PPuq+yLQ@EMaice9l3H08{@`x<%xoJJ&Fokr2rj}SjQnQ2}V4(os7hr`9w1VD=bU@1>K3cWCR?q)>uQNC-a2*exmES6bI!fzp4*WUiNu*s zRo8E=Dcb)1uMQh>^6LKm%|f+Undt%ZfDW+6fC#YCpboI$NF8AI;(;UT_R%OqLCu~X;PPAY`9I-mU>K+|nY8}I}{_^0ib%0r59&-#$z3dzFo}|Txro;}g zt<9>k`QiRWGuhy;-*#RQ%l?%)6R zklX(Kk`k~I`ZZiH@gc!1Ke=EAEw*KC@L0V}|B{RN2?|oJSwmAcSudEifXtAgH3AaH zhy%=Q-eQo?NYun}W?oj(_!Ox|M*=hhknvN+$~%ExF#*gp`mIS?iC5g)o9z(R0cMI$ z)q)C~jDJ+K6U=GK`_Tg>ALh;e_dVmxyD&863K}W*8)pvpf_W0aEGvd8o!GyIOF^!k zNYEGjRe1?620`EZ6OsKVa1qE(B<<^bKDYO2-Tw6X=j=veZ}yrjmo`7-%}6V19Bnv+8{C5x=;V*;g{zDzTsu)Xe?C+yJ=I49QxFCMjxC zr=f9;hf5UUl*Fc7gAc;G0A_Yb(t?u2<|;Q(CcrTOnPHj0toDK#$)P@}hO-=zt2G6Z z#+e6znN6pR$!ujKsaazc3t;wn1dY@v`~BNJ+4iW`4L}o*1N=!BZ{cdV4L>i?GECS|81H*uC%p4Lru|H_vzm%oB}>GQ2zkRu0lys_14VIa&c+lzExi;tSSnBc?{Of zC~b3fk3(3H7TYsnUcP{9qQ%<*#B#njHkjpzs36FAW$tnD45-vx$zLd+}Ht_QHxDk zTNt~XtSONAuf(Q6qGq{-DTvvmIjIpG!8=Q_dQFEi3;?$w7Qo1T)wRAnmOlVL{p@kk$e- zPJx_rKnWv8nC0ux%!IFr5y338Es*6qt7dWndp>i~oX;!-oW1RuQW!Xw{9wJrCQ5YgrGE=ty&3>!^H~FzrsYL4;fWn3f4AKQ+>8{4VX0oKqHAPyNZd$IBziMGrLG!m=h0l=i-_P-5qI3O2sj)`H*B zW!F##;j8!289CEPaCMBUW;<k^4n(i6#2|g zFPI6<0f~CE4f}csX13D*dISaV1WV{gX0}5!Q_x65)6`~a>V7{oFQc9>84{emn7TUU(6{7k`=;%} z=pv3POSN9L%BDb;MQslzcHj2_K659sT6}tYvn{{*X0EDt z$Jb;pNDcCt8@WzV-HFfa2D69H?7kD(;e6)U0H1j{Fq=N}w7Ja`%LBk{k^R;La|z0q zrUz_@+LD2@ITq)H;w2h$0*sH_W!I7{+zY|nQ&XTv%s$&K>Xqg`vsHS?@|m$uJ~iO{ zLt)d)r=e!MyDNqRzklh<&dF2lPBRZpUW`A`<$S&_RDWpZDye3snH?+;%rqv|EA2s-w20;gOC4k`PZOw* zMboYoEv)5fb_nK%=&50N+5fi9!f{y_nDt7JW)9X)PyvBij^rka)rgVp1@p`^0p`!E zx}FkzW?7CT5{XDhQ#RQh(K-g^kC(NC1EeJ#1j-y=1r zK!Rp=KsmYy74=~8&@!o3@|hhh7?@Ruv`LV5aq(q9ibGmSvlfo4dn_Dh?ag5iRd%<) z9K-JNa6d5Pd!xS5*&fWw8DAdXMl?(#ow+huZ>0GWJ%X97KLchqXy$6An-Y9xEtgJ5 z>uMsRuiyZYVMIRF^SMn~%lS6M;NqcTv!8GL&sq&V?;czjG0a+|AtGF4YsSsY8 z8MaN;2EyGWg>pA>!qc1pB?2=;vry6WTr%nSSx$1E!)az8K>1~wTP3LXX-YE0k`p*s zU<4St=%TcX=9Y9wi>jIK8^c$>RUm~WU3UY_xY&A~4TrfGTL<5KEM4fh!HlulBA8|A zvX1MS%j#Mpp{?DiBro03=hk{Uz^bWPO?nnIbEP6^W?9PVD--)B=MshRgmEIVwzhUh z55ImQ_u<8E{&md;b7UhGeOAGY5B`j6I{<(5?W+YeQ#0F#IhdQRyj_+*h!dS!Eu8Rl z(5Cg3l@^Z&O(vIY@>H^X*Z#G zvn+kCzj^6!_w-t$SV+8*il+00%4#&4h}^4;N98ltL$Afs#Xdt*_6kRh9S%)3-1C{; z=oGN;9-5jMFf`Q|1m+Ic%rpHrUn^imfZ0%|*lhGcqc-ItMS?0dL@ijS*M! z0&?brw?)1#U^BU>s?2hCg82Y}x#1Es3{XTYf<9kd92Z^+2*#k=%c2vc{79m-$uf&u zg-=`B8A=9f&VJrl#Wk1-Uk=R-_`-NF)9xL0XsW@sK%-~#MejwU_3-z_k?ik>$1r^4 zm4Hod?;J^`0y#&KaarG^o!LCBkH6A=^Y9ft9XMZ!t_DkRs8pB;GNQzS-uV3K2lJU6 zt}$(2KI064`Lh1z#qLVv{G@MTGW)6iUi$q#xli?_^hU|LY7w74>9~-kBMsN)zS{QQ zkpag7ZdRj_2ac46AQzs2pj}i7DlK&&m}`Mpuv7}hnoUvJsjXTpSZg)yq9|nrF#>^B ztJzE@ZGfp52~xtqk*4@Um>G9qQ*9|o)}R2Bo|-T{NX=3I47&EMmZDHy0@Enf7Hjsh zp!!u&TD3{(kc=K_o6TCVQ{Wdg@CqWSFTU6oJmS2@!>%>eFxS-yn#=bTF!%k~SUNoS z{qMhh@cZAN3;Uv2ln!hvhPA*>!&>cUVmYm74pyDZmD7@(I6wK}>!0f7Pbbw&cPilo zKW~Ds=#$vejb}hJXLITLs-!3-em%4^`sBT>X!+v4mBZb0uYX!m!Doic5WcAA6V~N3 z3ZJa%6rN>4)wYh=DN{()rfs%lTD1xeB$L-XD_I0E zcaRDMsx^CSG6FsIzXw<>H=C#jo6T}kkODL-STQbPl^}9(NDE52Nt@bqNUJtwjbAh) z7zm^-e7()^#R~#4>+zT}|g^kjD<~seuUbaHk+ad!qyTZ+E+h^{c zuBsRJRc5F6O{#Y$Rq&f}W|6Zud-~ZJnxfw9tmreJE_BbWMc!XIte?AtFEj9&Kdm5` zBZA$WaQ9}r%xu}i%nlA^W{(yDwwq=)j{wUL0<+qXxS1{BV-BrRNmWJ2EK**OT8$D5 zEJok6!Q7PCYE_^E7w0_cxCW=HN>gJwLuw9z=D3;d6mxm8S?1XZT2Pz73%kUF;NUx1 zbZWT1P2M3bpA`n5i=wp1w`4mv*&^YK=}gQu0+#of?{5v^e%oeta3r7E1I(RHakb9C zJjTH6D`xxM_t-?Gr#CyRfo861i7P87&QueipaIO2E-+ILu%|v~1Uta=*V}s+=j1FYXb*Tt+bWvXE;Q9vneI$>W7YTH)Af4V=UZ*qkI+Ccb5^o; zx%=kY+NC>s`Sr*~6*TkfcPev<9xzu^_qAtZXiALDM$P=@+Tn#aU%zttaJQabJ|Td4 zO#pLb<5tQE=80Vdv)mud*4!m~eHAyDAF5`~s|?H@ni;fO{lNCyG6!=qTG zv)%({L%OW%OS94Hl}c**bmDxadE&4>8I_#9*^#tw$FbQrJodIBe3(HaJ(~ISTH^eF zl=iJ$yfQg{M`PZ-Ld%|{ac5ZWZ?oony;t_%wwb*<8x8-I@GBvYZI!B=;YBKuX z_FG=%;oh22qtKC_VSP5;e0}+H!!|K0;ttdszUO)gh(z0(0-6@Iwc4 zV;C?i6XWAfFn3}~2N#A=6NPlRDs66PooaBkDD{}x-64WTZro;YynTB(bP04faQ9>% zuD5S&5BnQ8hSJQD@k3)`Y<6ct*0fwrQ`9?^@}<|WtRzaCN_In*B864$%z&Vgp}?#> z4PbUY_|bFc>hu?lo~y(EXuespG_w<8zXZ)3{lA6*bCZR8cZ?cNxLE9Ycd(dj8_YFN zF!$nc-7u7etih^>-O)Z~OG?w?#l6yI>;l#>oqK_=5W_ z0Nlp+yxUuP>|`(Hv3G9_<1wG&3U)N}!p=BV02(SafO{D2)`@~B|8 zf=0xN7PJ^6n`j|Zn3CKJ=Itk1+_c%<`b#?15k&)SE4j24)_oDWU`r{4&Kj z^5mRl!wMQ%c0fi&U`EG>fJakpnqb!8oN&+aJxQ8FZGlA1Tm1l zruMP`%{;8MWp6Ndb`Q+vSfSE8x*0PE4ZTJ;8@)r4MsQ+sD;9})4p}R%kxzqE4q|a}k2bA9?s__f(I=BD~Z`@qcSKt#lVac&QPyv*j z97Z!&^wf!%)n>yUzMZI6wMZgskM;`JgYsrOM|&rRxO~E$m~agadyO+&Qn_zx%zaaX zcJP4FZ^&Ad%H&?M$@w^Qe%#vTFgYi!*sD^2mD;QY40D{>CJUFFO&N-!bOb;Uw!Xt=jBp4P*PO zuGr5)$rx#zxx}_c$=osb8WX|3$J|B1z(l1Ih%|;L=iDQyTczzHz;0eyxwZmIcJkN) zDAbjcSM(b<^_64q!&e3DYyCQc`TdobqW_Up@JapMvHy7E_D%i5$-CFbx?q~?7xtcC zc=w+E?oIt)-(5nredA`AEOQ{fa8h5nUDsDm?pwKW41V35okUJ~c!9h>dE+I0<=yS` zfZaTk129(`9&HXz1Y*h=Ecdt`fn0HRsfWBV;PSaI?UB+bEU`&5iaE)hZcyTU z2sv9*%S8`ucuf_0kjZCu)MT02yy))uxKHqz!G5;M?=G5Vwu41S>1pTOLDnmPGFlR= zi+oPC)p;@Cs(0LGwh`Q|4zSX2K68D{h{&GqmE0f9*qgm=4zQb7F5KRC{pP}rWgQgo z4b;@2MFFQ^U%$&V^Sj6X^}?R<8SJdO`Th!O<=aQ2=kepV8#wGhcQdYUBoN|ERB8{XEot$2&2PCk>r@F zUh}eT&z0>SWb&EaV0Mam&N0qBC$LJIKIW^69bhGTB(fb1?g;jSY19G6n(xt@{Y-$l;Ofm5 z!AuzfK;dQi(oa0oh}5f@rC&-87%c;oKTMWeP4Kiogui4HK4@l=B6B6$F+@vuNq}Hc z2paL$%uX@KRco9%=6I#lljhJ=FPNdsAuR@-en=v!Brp86a2h7^eOka=(M2;`)~b=n zT24Mut)7Sks%wdAB9fIQ{E{7Dp3%3B07F~&rVeH=AQSE3V+&{&-+mu`;0t@l$Y;J; z0aP9XF1PRLCr_UARo-0&!~59DWuQOF4&NkbqLGd;_JK`)`{c=c3pe(H^9}R>X5xp+ z`t~t4@CE9-J8W;Ze%Fr8hRYX&h9_h-QOzZCof8RYc(wt*P9(A&uh{HI4Q9(W7JR2& z26K;@Z6@^VvCcfqY>WUa+lm(R@!?dan##8p`;w%ZK?_@GTC*wW#__kq4nx}t=Tx>c zvzeRC!#R;$cr7gV)yz1=ElOMFvDucOs@iDswXH@2bK&uUnWx$%RATar??78)rJE->QI9dv9Uo7{JY^uUxx& z9s9w2`qs=iv&r|~zWpaqztPHpL-13-ei9C!?5-?axPd@E$>0f$R%TXC-b__yCQsf5 zGyFE-9ttmj)jc`0LSTjy_a5u6oV>ApLO)ssQqauOD+{x;d&(E@-P-acBIl#gtLLh@ z$oYlIeBy~PvmXJNQH$-dw!UCS&1{qLi56wmXP4#CLRV`gOgDu8YUou<8eq#{sWGKy z>zYmOd;8#${p*~nm}5;bhd`ocwoCU!n`KJYuSrU|D3p_BK|ZsCMJGn7PDE*0mjI?l zs!6owoumeu5?fN|X#w-3Bb-y~Y~;@4T%r8og_Xn|{j{`i^25X3H`mUus5!9%ESefE zIl+yWPT~mEjgtg1{)_FMw4%69(!eqmuunSd#N=%{fv9dfxZk!onI*$$=AOLSoxo;J zUs-#9MY^NsFY1+iNk8}cl}YtXr6>fAlp-5Z-_ro*lCd+*JOr3k7nqy4hGN(*yGH7| z)M#P~5)Btu1gyv{@IVdzI#BBZ_1gzuo)b`5wCrZZ6UC(vrK<*}Y@Fe`mBjmVu7IFVOBePV4w&wr}VUHY`5 z-l-H%0K73$%DnGdB(Z&LHVgOQ(UxY^#|{3Aplz3%*uKF_Za5C#5JEP2{0L`faqlI) zabp;t*<1zEx_q^@i3+~U)-GOINnBZ3V>6pi9LAYs!n;sP?B69YEAEccT?BJ>h-Y9s z&DLEQ@H&V{fvcDX*C;Q+a{8_v+C@Y2kbAau!zW~PY21lN8EubNgJr9~MY37AU*hNgl8hNfaRnDf3Y zg>#m;&zv|vnLJ!MSFN5QFt2?&sh!tTv#HrIfH`LQ%+EsJZ0ybUrB|!6eLZ9)qQ80R zd?g%-ykDvAJG~Y;e|kcHFO{10NrGms7Q19-XM+QVrb+|u#Dwck*kCT1&xzt5n(_j( zi=!&gC0k%M+r5?Lx7hk&;O|Qb{OQ)mPV1uGnB!u$|g^fD?=6`c) zv(;*;dF#wQdsZ8a(xWC`Y7^7nHN-J~+x5@2N&%>=w@t``O4VaFXG_}E^ttFY#&eY@ zI}db4hg}7-VJ;>ZvlbJymh>x`YY!^cvW^yc&|2cK(CuziH_ZhDvs&c*%89kLeUoMI z6v1Z>uYq<3J990U-sr%2g)CnM^0&`Irjfm$M{o+HVO@``RM7L6)-HEXU%Cts2Jbnt zZv`yv57*K~Eo&{j*r*mOY!ygram5Lv_fFX4)}4r1cVfbIC+t-q?WG&71tmRhs#UXf zp2bR;7{JOVx1=g$h3BJ#p^tk=yQI~=}iw#tih*Y-Hz%uvC& zk*Di)o&2;@|vj?&QhJrd1$?HqjJF zFf^JfN$VjjdoM6)v0WwiRnPXn--V##st;{u5Ad0TL;1`FGdTfSWO5{@>sKoI#QBQ8 zB1JIA?x)@G>!0ddTTxZ8$exYmX;=ps_GVj`uX;y+Prs{P))(}1iO7}H@PB3P@D=@^ z_H0Pbi57Z~-R$<6O9Sr2AfLIE9pa{Xnb{BQGnd2;F!p#`9biFs2bc{eZf0wm0e}n( z%FeW4Z4C+x4TBlkHvXbX3bnFMX5@922}p6*#La9G%3lAXG?`NC1cf%4W;VI~P+`#} ztcCh(ND>mm`$HKVn`h|5s^+r8r6i>krKIvG?1utoc{DJ~y9;LKUz#B43uc>) z>r2XuYY-saxN=Y`GIk}`1-&{)L8AyRa>PyTOpC)XpIOw*tOKkpK>XObJszOGrm{sb zIutZwW7GsQp*b18)_d+A2dVTFfmzpU0+_KVm&3>>3GD{zfWT)0Y!&BykE}_#XF)S# z(124AS*-uq!Gp`#e?Bvp5UlsM3&M~)w)oaUu3y8ap<|FE;nSEAhLm!hlePk~?UmpgTIi`rLQ7nf*-U%_g6D&zcxCQgWfw<9b-V z*){?TgD#)@P83{sLJkfH8Yv6{vpZTP=v9f#^*Po;=H7>hE#K`d=W6|LY_F`W-ItDMp$xdl; zVl%EgC2bQl;&EjyJuqa@NQ`X_{v8Vj&7BFesALtDV!hf;+pZHhE#BXP{AV z9K*$y)bjV)++(%XlociDL2k6PX4xWB85vfiD25CiP(LRLW(UocQZe~Z69{VxRbfsZ z##|;fg)uiuXcB*)&nm_vvY}vJ1dEnxYA`W@Uy>K9Ot?fsRZ&x+Lh9=( zn=E2xYm^{KTjtW*8?tCIX=9zn5LewUDmcl9%>h<&WuA%^l)lG2ih^inM}pq0O0M%7 zoO?`4*J-V(m!57g|Cfl~y}K6kYI7mj|9UiX!E~{Qe3;8;--(Hl$UScAAoAdVXTUzs zDk?e2@!>|Cu(`)_r)79P13=b743sfFShLBlPsI*nm&Qol!MSTj554)Gn;%sy~Sp(&6a7FlqB&wPl? z?3bSU2(X#0XhQZfc5RbI4O8s3!{% zNC0ZJP@y7(WHu>D>%_7eJKB`7j;4^8r_%@$wj?5FQDwN4vc}2z{NfT5Q&MX!nuH8x z3PBPoYI4an#lEzRSW-((My(m*^%i#j+Gg%|OR|leu4^1Mc?@JHR|xjtXXd zfpvh524)_c{giJkIl+nS$Y8FTnMMZnX73)Dlm?8EHj~G8UTS9C&KH&DrD~rO=vTMnehxL0=Wog zoHlK}Vic4X>8v;OBL=fF%u77z0p?0Cn3Vxfqr+#GvY$J)KXdQ=vHvkI@-rim|MAZT zkh{929)!{+e0YH83kfX=e8`Fc8eaK|ZrQL?Z++57UTJL+i0s z2R0&58m14yIu_^yGtFBnkKloxMrfu#t#yV3^R~5&3}$60&Ae-1?nH{koEAw$5{XYf zslsO>QI+6ht=dVfB@&SimLwt(JVHk!>}VwM34CU$q=b}s6#miCL=H(Aw?r1jF{%l6 z3_htiTSf9}70;~Z@FYeZsjitdCA0|ae$s45m#aewU$9$sVIa?%=#)96$y-IO@a zJRF#VQm0t%qnVZ1?t?k|6oa|Z=+Elmfw|9}*dEMI@*%*yeJ#79nXNw5*dQ=(ZS@1Q zS8sN}j?L~QHpVwnsnpEaDtyjHi~pQT{kC3Rx|KRqPuzu)R55icHNI4Yy;N#rCY8E1 zRve#A-HM(-`mw|;5T*WhX&ioR!tSl8Z+13yH(I1~tN3QDrh!=vsK$ZUp49BEs_zyY zOt1bH$XBDla{6zh!2Ry(7?guFuzyQhor2FaQXX2ZL&>-=jg|YB@F+?=dsizSLctSS zbxTiS68sT0vl*M69Zoa5@5F9u=FZN*92)>;>^ow{s#~g&HFN*R$)gdC5y2eWna&)9 z2@fzoP%YbnIm@;n|IWr@e8(u5ML~n_C>B*vHpvz9SV1jzGzYoGO1954$zz8PWBA#99Y6m$LFK-#b##jOEHL^62xY9L z%wu|;jwP_5dzaWmXJNOpTEUXB8RA8h8j^OGkWwEzfS;))+F!uWRiZJdlC4!qYHVys zhH&|;HW#c*GT^4htefht+4H9I8TSP%UjhFX z$6I8%hgC4p|8eqYL?ht79s?Q?XjrUFsbXe^1&>Aqf^Jq>_nk1?Rfx&kW5WFmbcU=c4*vUq20neIRXR%Lg|yAhpjuMhvDF}^ogq4( zFB`yvMIsEWVueAHN3!AdqN-CRWPP9;iSZ7wwW zUynv)wKCO1UK--^jY@89qu$g3tiKyf?z&5zp=$AXbf{?Lpb^C*U_c(iq%drs zSsua6Hr6V-l$h32moPoP1YT*inv0-^x>*IUSK5T%;M8JKH3xfD@S?FKLZ6%D&X$-j zZ28QIs=|HdwS<0)nc1rcB-6_!huB~~bA&u(@|npujzp^DL|0J+gT%?|J-epEptqM1#-w^FA>12XVW zW?zyfwcY>0j6gO~a zYI{t0MFI^~%TCSgk$STS`plKBQ98g(pE)smNJ=c|w-VV#L#s*=*rZ$pu!H-Z2!3L6 zlK&UV>8MeyHa8VnHcE<-m8$R;D{XFW%8^bj65PyYH#dz5s24++Jra%tr&3-68v%FKE8J_TB8n&^tYtvM<2o6k9?He>Qvd=tR z2Ux?N!JzpBfmVyEio?=uJbOf+8ON_$_w}t}!vwSPNPK2xXJA$ag>w$n%;prxZC>I% zZ{>*37pczZsYF)!aQ|@IrA3@~hWa2^kB&*2aso8!s=DUeNOWKqlx`%)R>6@peTKli zHr~Z$-6SO%t#3-wiG)=3sTW^S6InPRYeW*Lc4fMZS*5&9{U=O0_HWV~UIM2b{&x@b z>CGOXnS)x^7w$J}>Y;Xk#f+hD>abvzSO!sI@+!7;snp`l*7(B zGLhamZ`swhe`mF=f zzDnxQ`1_};co_|2?d?AdDaVVKRE1d=V^SpTOoBf&m@8XPKbQd-zNOSsDuo}@)a}pz z#t_V)nZspSdNi8Z1?Hw)PT3;e;&8qdrU}M70CNirj@4T8Sq3wj+1rmZdw_XH$DyfP z32E)c-#=$=r}%&K)3N>j#Wjh6c|uR==Pq~WE>CXU%fJ49{uBMpi~5`A&t25>hbO}k zP|djrCJ>a@QfOwg6MVRA%%pNFd~sj?BIdL{cLhGehbw9hE@Re!m&$j=>bM+kL4N?zmG5}S3b;{074zM~0%Y<_Y%31HU4xG?(T0khUDFLiaD zrX-?#;q+ZZ^YjLyIW{Vop+OtIaCuZPXP+`K_m2P@XlCoWmN*1Hv$UUq`MVs*r=EKQ ze_sE?bGY+{CzwB7*?(AHs$4o;S)HA`q=x~-m-d}b=PzCjUj#6Nn>OZ)kXzdr+mx7Q zzFe7wvnCsp$&320FIMJWzjFFs{^C~o@Z=nV*~pq;KE)8s<#_A(bCw_+*T4UAe^udN zmU?@$hxC~}f<~T3pIKsafSUy7g@uJhKAV?;843W*d?G_9*3+AMD^HA0BZ?g2CQWS3J53tJ$Ol{dgQ4I)jWZZ=tIff(c6kwy2LukC7>{(em3 z^D1pKTj`kXGFjOH=CKYJEAVK+-02VI*r1^)>zN2lZf!p_6?46ntI;I{!nmcGztF$? z+3A(fzIgBY_2bWd_L+YCGuWOx1s`8r_{;=z(?Bqv_*5^RpWM81_sUB3%1UJ4UG043 z&O&(Kn}@sk!iZgj`Hr%&joWAC5Np0C`S+|bW`0-Cuy z=hVy}T>tDXl;r}+ar%NO$Ei~XzWW&mb7YgiJjI8mjE=`lfxrOR1kF_-Wj8uKhALu% zhNj##4;q@X?nHLLO&xN0Qf3)`%4!qAf?#IJJg~$Dv&tq$frq5=kY{rWq&2Tev!r79 zrhy>--3gZX`~^)h`=U9yX3v_kfo_2rq)Po0y15ybNxz31&@Z=W(gnG>)t(a*WRy(*knu&{S-gp{Y^99PGOlV!;u%5}4V=NNGrF zOc}%Wa`luEnbKz?1_$#gfUmyr+*|tbx1RfA<%0g*FIHAAJoi@j`l-|U|M3S@-M@b^ zq0ngh=9#f*v=}Mei*6()Qmbd~`Et={K9bH~u7`8=4JBw8`czc`$^=-~xnNKUMDInz z)rou2&B&2^`NF;B!_lQ;q`sO(@i*RE z0nzm1re>zbfQj9S==w~;tNF3QfQwSf1(tk0CTw?`2QiYg}Gp+7^x$c2j9*M#TtaJI{?SnYsDLLB_P9&&9kH6dc*Z>awSlY8WF>j+;Ee}0<1y+rW!S%QFFBXoUUU_Tbxi_!Bwep6knY9?QqG4mnkg5`V zM8HALY1K$Xj^s*4HXF$q*_@GzVCpzo+N7DW5s_$00t+KuHH6D&t;rNn z`d_|MVzp9nUZR5Gx)Z?xccPFTh1|ZWF%PL+tQ3p;cFzFnu%=u?&l!XcY7G((c*u;mEYrd> zt7FJ|A+?m=AX6GE^QDV5Lu2Q)e9>DZVmh6s;cT!HTD3Gu-%6)uu*LN-j(Jl>LHAAS ze*?3DnB%JN#yInkX11>`Qxg2(fDk74I5YKTSMo6}zj`0-UQiqw@d}s<9)zJ*NE_Ayhxva)c zC<(?-cGL2iuU)_WJOpMsal@z378{^s>B^tbd2@9AH>ciibSSL;y;{$p>pm*X?Q z%*LUqtsXNw+uw&8&diPt=)oD$XATVe43JsbDxr(Kw6(QGYEVLaBbcEeob+v3TN-1- z@EJf0wOO~yXIGo%)9tQ{Z$EZ7N-Bv8*DihXjJH z`}eoDq^7KK>G`qyTT@Y<*u?gkV~@52EZ}ml27|e>lb{jIG$H|@Qx=#{J-4MF|3aSx z8yj@vDgBENR<56VQwO*8tx3Z2cTJzU=ehtqBUyU?NoU52CnOLjtu6? zW_5HhQ*8EBmx1}a)SG=8F+BO%7y5H=>Nx>&@O8)SEpJ%vR9I?twWw0L(kr%)>kbfKJH* zGf%|9!3>4t%X7GTRGq;EhlNT22Sma6GJtE&XB~i70)Y7{D9fc{xy+B`Q}h!Emo3nu z)$7SY0CQ6WGfxzPIYX0p8tY@{Jn|wBNt0Tw89=8mjQO#_6@XWex+zI0+Lo_{35ldI zy;dj}XBcVcST;}9Y_YGW#ZMQQokLRt%xuL3b2T;X?9E2qeCoT*pg#4+cTa(O#!lro zj=upv9lhB-V3t17^ARm_#8)opzRUXQ4h4&>1_T&ZXizs&hoH}8xG@`*dT zPm@G23**eT9M3)X2f*}o`1jd!B*!0|z1j9e3uQzwM>gI|JrI}!LxI`D+!`R2vQsbz za7me^si`R^n5S^7(>O0Y+V*{YijBib$Y96`0CWu)vI|Z zhGTRJYAUXQ8WNEdf!nXRp}_yO#-si+q}iea!-pN5tw5S4rVh4SZt8bob3T~ zN4^O9aYit+olzsFp8I0q!s!cyEPm*_eKfNa*~&*E=O^zSNbA?q`g=tw2Vnj!^O;j! z@R^P3rz>mc$BTE1`%?PpBi)pK?vB0`jx=JPnpuzoYCrYf%7v9bkQmI$?ipv+yACkh z#_k|6$70g!m$n6SY=>YT>ZWFQ6U=00dx80Clx3qwya2&{#H>aOcd7&PiyLf93 zyk!9Mv?DfqLSLwqFJDWqtnJHxx^n5$mFlhi7dJ#OXS2N#VCFmI)Emd0@o1K2t}dk{ z_@Azh4Cdj??A-&iJQ|p@JJrl(2biZ3OKjj7A8%AtVa%&rQ_~3iMO=!BR*@J74OXV* zmBaVhkz^SyVgxDwN%+YBfN?M+lSA3T!2xEsX6|HL0A?S&1{j!;#~c$7Ke-gDYJyqi zslQceQ)Qwpx9~Xb70qTXE?>n~V(M*XizIQ4Dt3ssScoinxM1$=>?JOMIqze=*&bka zKaEO5^qFytR$c1@W@f3We0#+9`KxW2HjNmGa!3(fGOMh z%+u4;reW6)7lqvjDysYfCJH~P7auJSJccvFKA})r2x#!P#8u`5|1(iC8C*lKt)a1xvJ7K zRcwlizY)H6F$H8nzesg68=4rEC)Z#_nVj-qQ9&pt=ZZKzu1GB-lm}2h4 z_>K}V`W`caMsHCppz9me*mmUBG0t7VRUi{r^;FeZdwb}K7He`)5R~mG8UlIs{OMq= zw6J{f%H42Qk+Z3>h^#;@OZuv0DAJwDwL6u1$~T+xoxmv?D-k`qDFuQyt61#B%R^7J zcwL3M6p7HKsXwipxsRw<(7pWz{2WSvGhM7?|!@r6X;DWIVxq6`WmBQzu_>I0{4 z5C^p>H(PiB@YZy4kPV|zVgks`rYVwP@Kz`aa3L@wD2Yeel%o87#)G_Lz$7k3OB*22 zFt}*T7<W9t6||Nfit)WzK(UH?cSLgY zJ21Jx)|zr1Q|$G4tfC<2j?q&_Vp^X~1k0Cx{pzbPZo9qu>aQ=A8z!rm&C}?-620g9 zc{CL*t`;MKd-IE#4K^>m zJ&YVLzWU<+MTJ6@s#CgzN$?XfuQmtzUXPeU3H_XxmXpt_;W={)yLRU0`W2~ByJn9& zG15&n?^29bd>i7XHt=CzI&^57t;&X*43GAqLx+}4c;jOazZsa}$V@nCLJ^eZp+i^k z2%R$n0HbpdK*&N>`A_0#(}kIFD{{ak;rOyn27(#r5zLCUA()|%z)U>K$+Ex$Ull4g z1ucR+A-P2_fevp@lUIHyPis-(aJr9G(rKD4F5@CqBz}^~D;u5Q5LaDzbe!ZnH?!s8 zEHZa&wsp+#uoLATGrLo*kD-}8wU$+q!zL$48nTB}a;Lg>BB7mFOJFvU>RN>6Gqa$P z#MnX+e#>gY(5h9?&a3BF%9ynzd*VdS5i|m?-}10>oM=(&?cVIHeLXrJX12%mkZSe3 zrmF$?jeUm^)w~=GB|cgGNU3nLC;sks{Gly(*W2nnYX9kocC%@g3ug6rr8S zf03jnMsj9@G5CN#c{7NgxZ5xcOaqiP0u2N60A;lf>&?!trF5T^H9E#-Hde}Zq(amO zu5xyBv!iTcW=6&-i>x|IDGN2T+9WBP<26f`RA;zU%~}Aeg_j5q8krutH(P*>B<=4Z zXP0Phf2~kr+lIMQDm3^`z$%)sjs;4kV4$_%x8n}5q54g{z-;@>xO{PRW@e^r`OE474g+S?%m5 zuwMtaxm?65>a?W0)U>2mIu0;qFhHH@l+msctqTc_W*x zY4T=ib5o;zV*?azO)@rv#hTQqfhLuL8>mm=z(zwuJ-nf9HsDLz+}JdVQWj3wkg~;w zu>pKGJ2Eq~vnQh6RS9V~l@0jZ*sN{f8OVFX*eoiT*{`M<8yiT2H9!Rla@qjyl3YW% zsAdiJ10X3Kg=4@+-jtT^lB(7O3soM<%(i;7J-{q8hjkMZlvNY(jsq9lTCdk$!q>4% zaKg}&TjQ%Ltv$nY$5o0LLJgsAPPTZ=Ls)^-+7`sP_=DT*f`6^|$UmK^)Qk1-&($?#~DLRYN!BnYS zs@r^KiV-$6Whc;Is8e-osV;C&r0la-w^^+%}ANL8o# z%%g(Y%rxQw<`x69kxr+J>2xf;1Q!kaL4ryQz>Kp5v1_V8CFY{trRJsO%|{OA9-kQ= zY^Trs9)VeMfmtOOEt)|iY%O)NTKPE$X6$pKpQ2`Vg4tZx968_+6H5pbGc~hHB00be zQejyh2gPhKGagBfWgNw({3(mcavniD+mc#bv}GEf#wFmR9L)!oSooJlW;VUPRLunQ zhXiI(Ge3SX59|PI=oMphFn0jV8mOn4>B0_^N;@pcw z6n;$Ujj4sH%FOCrs6kIe^{L8M0_(v#r+^=PR;GMdLj|YCR4S4WcyA@fbT~I1g|jLk z7o6L;wS{us0=e{vPv4rUNIY$j2bde%Xy&a!nmK0VSXRl^I|r(XGYH#i!~o>xa#bTH zMZgwUI#p2GOly~(5Y23w*`j9l05cxRFY-t!9#(=8U}ak~YlAhjivul!E`nM5rP`~R zF`N@m950h*CLT#age2p!X(muXJl9c?t28clfL<&#T_af>Kd@9>US1BXN$L-mD6`4q z(#&nPh1$J49z~(hpkwiPD6=hjsCOq5kHZIT{A=Jg42^?~>S(w7k+cUg=QQm>RkNem z4u8h`@`VOmk4y;L?{!7jfgU&DABsZ_em@noGyYJU_WW?bpFsk%gbu$m;*D#Mcx;=S zy1wq8pPz4MEEetc5EO*gg@X9}JX|X%S)Y&3``6cTkN(WFGHv^ukjcWoZeN*s&SAYx z2P_7((<^A3L=q&z&2Lq(o*^l04jIlPWL5`_f@Xo#>y|8b(@=ieteUYnF19$sTRiw; zZ~y3w4CZ!dh`Z)l9S3vB{qTldmVlH5ekKKgx|f6X@_-5m!}QLuWm(5pLTDWh zX2jP>+j-B&v!q5B25szh568kZ)ZLmnG`a(`12g-qpNHw;hFxV1apF)M6o*Q!8q>kjsyCeYOX4Xb(}>Fh?yKvki#lkA`jjN9!3+pP8HK z>$W1|W;UthxStmxkl{bP)mVuMX8(w$+(0*O)MtRB%XUyh)}t+8%R&S5enDw5BNcx7 z$+cYf^qEC7+v2d!ID||Net)RP&*38R3*`5cRz~g?y9}42%}r%4g~^Lh?q{mp1T)(O z3a}Ub=GL#5fIRzc&Fn|)Gq<<*nKSF~m=3p{JxfnB0|Gpop|+P1()Ru(xZmxayyOOx zZ*NNqCKO}9I>0iSqeD0U=uvnPwEJ~{t!J#7G7QY1naL|4gT_B^YG(Sfjq{;>=3(%? zL!WtG)XXOI>?gY|s5XX0`0Xc{#W^Ab^%t_7=*2L>QQp|HH`~qLQqm3$W^S(1QLxjzIez+#KeP&bM2kLEnw3>O8hZ!H|^$gR@ z^ZbGA>u&dUNB6<-PJ3^Ainek49bM%i-XqUCz~EhWbolmTmkXHc12r?fIB@j#(aa*$(Y_Tp#05Y( zdb7nk5Xu>jWu|#EJyLM-{GwoRr85rAO#6OTX^&5TC&NMH`Jkrp<% zlIiPkW_sPt^=+T3oj;%>`Tcl`0OpTI0rN*0yR*ArZ+6@MG`r>fA+s-qPS2n@X!U>@?x9r&W@8^&M)$hm0bUh;u zBH%Bl6zr&9tC|LXKbjAXXy$AP$78jORFW#{6Sn>wGxb1~X$RNWsUK zGxYAnA$@Bgc^wrwBcai5OWS|};AaK{iM#F?smAxm)1;Z9$?cIfv#r$-LuZHWJOibc zd1#s$vD{x0=OJtY3w%L^nHgC#V^{b0gAmH#e7iKR*R_~@FTDZGE@gYTHzXPZ#681NN2Ai~uCZh*_9G*_QEbC7BX($+gXI1U=g3G* zgTZWZ$l2bfMl-XXoE>Rq)_D{fq3;a+&Gq)f0dr_HzyBjp%^8eaU}p9RjUTL;*O^zo zo*8v}+?u)V4gu+n=rBV(Le_)6PLU&-9>6<@+Fl23Y^|HI8y=dOSCC;U+UWuaaKqyn zrxjspVJ6zTh)f4?SqaBjzwP%&3k%nlo|-*ii!WyxE&Qs=t{DZ6Db% zY}7+Yhbq+8 zun0n-_7Izc`MQ@?(F13D$SpMQH>11F>ak?7=)*jip~vPk_Y6(-1M|oIeC9T4wVnB! zp@-u$kFJ@8z!&c}oPDRSW^VgKyVQvG?vsZeIL2f+^5Nh%s1c*R1lsLkSb3;)ksP}` z{XB}yj`4Q94npmnS=W!>XU5)m3(WrcqetgI#{c+v^yBz8K68BMn)xAsdBFt)7RE`FQ**&HQ-DLl2I99{=T^_uFxz{*X9; z^(1NLk=-k22Uz@_kLTw~>$H zoy*`2KpBgN;4js8692_I!>+v)a@U_ z@3*XrIJ|?t)_vg@aR%nI)Dsr>_xjACzOmU)C}5viRlAcmvsf2CbHLKep(jK$w|~Si z0$_M;hu;*svxzd6sL34j1q_0Cy8bDZaeab~MG`$ydum`X%rlmKv) zXyfE`zk_Bg`J7BM3qEt3W#3@AbWkMJ|M+UbWCl2^-yip5C_eM-=glJ&e~$$0mo;!{ zX=ZW?=1CkxHeowXE->!Q59-ZkIvv0aAjVFDIDaL?3DP}2b7&i%Ikda;njVn+@zuPG z+0fu%qd|d`iBP>E8fOQwNH5NVpJ39UKcu?Qe8{_C45r^=SM*fUX55&;LR&vq^w1f;SWTBcA?RW^o^VlbP+0Ct&~U-vsdf zvHSc#{zaFp4z!7X-u?Rj{S7?v=g8b25B+D}pb)%KUf###Aeq1ZO>l8>?^{som+_-X zIQXl7L*Lkr7k&X|LiaTQGfDC#fcYog>;Hi`V1>Lz+}xP=j?I3+sH=w;($#*TNV;d9 z+%vAEUznF2ZMJivM%B!K%x^I(`(skOgk?ejff=3ZSKAjEa=#^**%p|;!%z5y4d!1Q z<%Q2%dkoD0<{$n$_Vb$pm6y?`(L(CJZSmMKl~d`=>H=-`r0K6%wJ~W zUt@*;vYz=f&gX@XF>O{m$A9i&b;qp+g?_}3{ET6ljxtmtR^uP?vZIS!oPSH-ug3qL zwd1w*vp+F8IKhk)@Xii3&Md?NntvWU?jkGN@QF0RpFy9wEhy)0qTU|V-riwv_KyIw zgilht48nw98_aOvHAd+4nE^ZBTK^h8zTZR4eMpE!%?!Bs72)`22t?QgZF`()W-#kt z#ICOkACsBQo^s?7|07@qG&86@IQ{uwz}dj=W#nOZfRR%G?~zyGRq$#Es9*RPKFkiV z99kJ5)z^Otnik=%H@^z!yym9{A(&rV2N?e97ayVq2F(7; zJV^WF_;&!BKZcK=&7--1@0(x!0`dN{b#zIf9nb%C{xHaiU_O47I2`?n)uMs1*`7D> zosWjwTy*}geC9_=KA>auv5zxz)e9iuU`898^>1668OTusI>6jUL-&P`(P#cg)-7#; z8G-oYqX_X|;V!@!D2|h61`xgm&g;(+Wj{h4&c}7m{^S2cO7R=meRdWg{3`r^4b0R( zV>}p`SG#$oAQ1M@=|XC^!QM+gHG zsa=L&0nFU?c4}rQ1VpZLo7AD1tIVp#f`f!>24>LAq(R$lL~F*@%odN2zd>dyD8zqR zWG@7h2lZz2*GPLlZd(3enS)64DB-LB0I+Vy^Katw2xiQeN-vMNA6uCL-mk@9 zHXDRK^T!;_++IFz3IQy+F%L4Z_Y=|)n7LyB)MuGG{@#$9Ib=?|cWdT%cC>w^nIA3r zj$eF_BmxX{)Bi#s;a$~)T(V|OFr$0>TCbUnsDCw+`3JN-nVDU+H1mfxn7<={`6vT( zyp7#fU)q}aV~YpJ5s<%j&<1mlX2$F-h{jg|RWJNG>&-^KG)OhyMy!Eme*QOpKY`g# z{as)Grk`F}8C2Y8LceC3*(R93*X4$U4dyRxFduY+`9llLTpbUunfr`0KLD7&(#(%H zVC>1!%;+GWL-2;Iai+gZSZcH znSIt&%$x^VxUBn{+2_RLpa5p5^N0WLH4y9h->_~wgcg|zuM$|>8Qwql{O{Ts1T!kb z5ZfX90}o?^GQD8_2|^gEdV>q`A^6Pvt;7RYY%pI3Gy65apJKB|)64^W=7E^?+k5l7 zu9?5W{=@6^dk{{egP9C#9K#``(i2W7q2Msmzu4o03R?s-`qqCQA~4gSjKgPkc7WNM z`K;Xm_5yW){lWw@=Ycx<_)$8Yb%1@xqXP^DGdtN?AAE+)Y#z?`Bh##Cv#tOP5Met4 zn9T+`z|2hTJL7QpO~-T~$h zt*V&||8G(9@3FEUpY8FPGyLj&YhBdL-xG$Wyi@Il+Czfb-vj3P0bqWjH1o3n=Jq22 zbNj);>>jPWNG>vq2x+sh48j0DuP;;)8wj0mnQmzhn9*r|;dcbquOal9c49#zN6(&h zbbw((#P-+NKykY*^k$np&|O7P{n&~&!JguSJwYQF(t^UhM!nUz_bmoy3T`3UO&;eGTkvK{HdFO1~*sXDNMH8+)@I z1I7GSSYVzfw8ja&7)r;!;ta*`AHU|~7NkG&xBCu3JI1Fyj_r_Kpng#Df#(fiwHxHS zCd|O=_#m}B^!d#8F}9)wPD?(^{_!-HVya7fheAd$B9mvh4*?F`6P3PUX*TY6J92qg()5hsKc$!)8_3Tq?rM(sF?i>zV_Eg1ZMp85ifk~nmP1Uf7z4O zo4s?B0y}^(9p3PXB-iZ(^4^(71TY_TVoA)k`>>M}{De${Gkom1Z*l^@Ow#bJUmvtS zvu$Q0V&@Ukh*^YioHX@ETr=Y#T2|qS^qIdhvmd3Iy=#J7dCD`H^}c_OAMT}H&JL}a zA8MwNo|GpaS|OgESwb_`g7L(Pawu>6$Fjf=1Lk>#XFmh;I~>gO1n`g87lHYi_nF&Y zf%(yCW?BW(T#MY>Q?NY~D~qI^1V58GI<#iSNmCE$MtY>@Wc_!?`z?MaSQn1AdbHVj zJ%-fG;3IQWnlv;1d&m0XdmnxD&R3fGfg14@n0vuIy1ygY;=xRL zv&{@%!}pzuk?y;{r0ejVSUrCK4lZAxyxHCnU>|vXId;7@^RocvuQc<+2D3np$-F`% zUpo(fbKB|S?RL*XD7$?lN1UNuEZGMzs4!Osf z9c%pzAP@QNmB@w9wy;8Z+jTT!0fB~^Et+=Q#jMSiMf0r0LDQFmizYL$uHirVDv-96 znL$#9gimf}hg?sU1?G>~|BoEMoXXlh{Ep{*=0P`Zo0~cctA|292yTNKF>q~|0py{F zO5T2;T6T~(dx$lNJjrPxYkvqo{B7C|iJ$Y|v7=eB@3}FyJnE-ME1_b;M_2IP&(clY5;v zP#f+Vd1$z+9U4YOZ&%ABG_&Kh`FlU-Svh_A8BxedgURr4%eWYb;5Bn7Bnisi+1R656ZTb4O#P3Nn_|k@~#SqQgD^83T(n|?Fcu$9! z{gA!&U0eX;DK)bnKyaQw*v~#g{@#5I5o?onYCDc%_bU~&trCBTANAY++VnFc@NAo( z@a6stIVmk}79WQUA$~k$adn&4VoQY?I#G#?Po$WKjQ1LlUg1fm_t1tv%f8P$>bo0 z+PxmL`8jVL4T(qH^lm=v^I#9nya$c=>2__!TH-F6w*SBNy4Cak9l6NP&;Q2km8S_( z18R=*qWErU=J*33H~tvF9DlOFY|RiJ@kU;J{&${^D)%+XLG-tK-N$+O{LWu}(=X6$ z<8FTEuU`DlU;VV_=(oS|8nAg$bV=QH37@&=f8%m(ZOU(d<6m5^?cY&Z$VI;s7ui0F zHDTx35C7)XZLju4$1U-?6F>Z`pZ0kc;D~uJ)O*)<;l04Ozx!*pZUTI}jzRU?!G_Bs z2#SoH37ePA&6ULr1E$XQNBOx`C7%&+d~txRC{GsoHd2$9D~`{aJo z@C|cFL#Bt#KkoRL=TPJ<;{O=eyTOR8( zrgwR5egjSkjv|N^PQ4gm)p_q;mwW7U+L|LVC{?OYhfe#>k+ z{~euf>fg@K+r{&=-8`*U=UHVwul6wiXEuSkjkG(liPgsT^~Y=9IrF0WU$50Wu!;0$ zZN1d)p!FTv!J2-UONIT8E9`MoShEw8%lsPcmXesLw%C zk-Y@m;plhT4yU{JT=TnUF6(VgwQ8RYlkKO&DvplJB#JKVmM@mf`$bn=ezkdU1ym&V z+C*j>B+Lcz?9`9-HSwr_N+b#{UxYj)(34odet}7bIpr-n@1_#bJ}A_ z&lu6X$lLMiGcP`BDyGZZ>97~<$bu1iYHiOhT5v{H2`c2HJWeZZ7UyqR5Qiz1iV ztFW!wdTn)0zvyy4Zj<;uX+JSrD4m7aB$2C`Yf67^nS*q7u4{&qyE3an=Z>*ugNNFb zD$>-rI*E_^{9H3zltE^iI;snNRD&Fi3yNG!S6o*%(^M@wDFk!kM3@Upe{K0~yK;TY z#+pap=&e25Q+fOuXZfsM=dYvmS)%Kquvjv0ULNOBB{FZbZBQt>XKvf4mzH9?yxV&6 zi66UPQ`$?#r!dXz*1W!NYMBL!e6gwiV>Z_p-SKXavtiRMP}}8p!W-Eu)?OHPoTW{q z_o|l0I|%YQ9u~G`k4~?SH`BRsQTQ0makaENQP&)g{ufmPe}2?V%;k?pY~phDdopuP z@j<#QeED2G(lS@r3;r0X`nX=yg5zP4Y^CYEdg)AykE+ViM0KQJxtOlFu54vjkhmP; z6Jaxdw%w9-wC3x`)K~N3bN97%i41V9xQ>D1N2^h4=l$?|I&Ly??M~ajkRC-e;eE zV(;_W`;;5c)r_PF5zeE^@7bWHE3{R)Y>NEmux zn^>9DFxI#PCb#`A{LjpcJ@Z%}D_{6~-ZIGfSZAg(A2plPt~G)sGE54xk=#g{`1~I1 zDi2pAN$nnBY18<7I5wj;EU<~S{LC;}8+{}~HWwo_y@TnzLU*<} zw^NKnqwqA5_@<>{hRpypU zMX$ZzVO2(wRRS9lRkX)qdz_rQ7u($~zpmXon(9wu!p{zjEcRRmHdS{d98|_nMP9|Q z0qCpIqt>3VH5ZlcOgGtIN*vs<)Y{t0%k{Xd%`B-HjMDgyY|Nx8%lMVay5*l*6ZO=6BsqrsG2R=5JZIy4U-DhDZ1?eG$ZXnJ-bapD@qDlfX zf>&>pUgvpsPyNM63aWn7gL@5?=)LH1SRrCvnIGcv?{ zcj{d-gbsCRZ0C5yE$zff(Yuy-CxGW;(iDd2lP`^BFt>w!!RXaRS!Iz2Fna~ZgAZ)S zSX!+2k12&j=LAzjPv4$SdCn&xqMfG}tv`X$-f=V})ehO+sn#EgqG!y3&SKjWF|GJhSM9B{MXjvCdKVMf z=J}oSq(Zi$=~}mtQz=bUcaRX5SO)Hm^EpR(6>!#8^fo73Zu|jyW+;LM z*gN9s(q!praG!lZ23*Q1KShLd+gcB~sfaQ^+kl~EhYu{B4GFf01Z}U@huUyQ&SpN! zagOK-Ie)*MZ&Fo;YkbrbXl^~q*VPyJ1im46e~BTo^o*z4ETOOCYH`u4p)&U3hl~Km zm&wU!y!ji+)D-w+>pXS!r)d{N9K$%3B|PzPBMI@|Yc4{ufRZdW!M!l~H)BUq+7I)$ zxnrE}Z{w%ST$$3?L>x&_>nEbwMiPb-$a#xRn>3MKQ@@M1zZ~7Qh&=f^ zm0{yH??U z@>WmT`x8L^Ks6sAk8);T!d1g_6phs$yLDd-LFQphd^M}^{b;s69LV@B9{sr|aF<1? zDQFcsHfa+2NhWC0&bkgYDni`^zNlj|Jw_(~_W$ljaCW+EHCK}QUWzyK1|=WG8k*nK1yIvz2-|3^AWVw1riEoEW9l940O47IcDkU z4mwaCQUhfAxBzyG_92pB^(|64W>Q>vQC7)v3b1Xoxh`JUWc(y2SEcX1kd#W~)z~P- z$!^qOt4uf|hV(_1Y=`Y=C!OC7UOr2KetPQ?z^=nv-7lAU_u#JOdxPU{EfL2#c~$cVMgwd%r4d1yeF>OiLVy1;8UVWeEg`5k= z9*VcHo#ALStdZ#+Go>Dvt5|qZL$INRS)Ix!g{?|2SD$noD{yWfOh+BL&3}S#SW3qr zIyHB{h5e4SfzH!oa-Ng z&c*!sgFNO>K93!vM9*<3o}%kJM_{e1A1UPA;KdCiGfY|W#6Moa-;$9OuUwO`m1L@Q zs!|3`dWdoX<>kNZ@eY#8U8d>=Y{SFm*?>nsoMJGk&Fnq0=!uu>;r(-=`c-M;>?i4z zdhZ+L4coaImUtUaSWeR4a8`%Uhb&9yt1Xs^HuZgQ6^3|9WT~|$`o(KF zZZ#oUvcgku1;v0aA$~~&6GiX8gu^OS(>qn~TjK-CUs89uvpoA@y1|+wMZe*zL9>z+`&;^^qzVrDGLP;q1;G|) zFy^j)&^IMN%o`y8FGcMq+=H_g%4qFW@1-s5M|TJ+=e#|H2ORDm^o5}>&vT#O zrLfqV_c;P9grSq8sZh84zdcWUEz}8?IC~WcQfw;?5K5qj^Yw$3o5se^TOYg{47m@| z1-ba|jQ$tDH;jU8|K(Q_hsV45VPs!(KzU=@d27V;FN04B?on-QpynUFffN0+#H-;G zQM%fQzJoXVT~8?P)nM29;8_giQlUpm>FTe&pODg}3SSxJKY#k$>c!u7Qfh6{aY$xT z6dKm`a5be7>TE3~H_(pX;Vqa-4|cnLL2YZ}PNDr|uuFGFpdAu@a#Y_m-)>*?;+xW_ zBMo}}t*~zMgImz%2cRHtx_}Ex7=DZA@87>ZyTSEsIL0E6xB4q|FWcYNIS%Mn=Ec0% zOKyqBAz%moxZA|7jM!dkG#3dSLr#AAXTG$UUhe=~3C2U8`D^?s#{~ujTST|}th{!W zkw;OI6TB5pZCZG13Q+ariCI3biz-d|#&?yr)&A!g>C_*TUex~#Mzzf#)r;@FX1VV) z8fY=LAu)UQp);F37}e`C5@e#oIh#!dFy>9Ovz?k34 z-w-aug&FhQi+3t`W(F0^LHg;adNjv$7Rr$aaU*C16Ep(dL z%tEs54(u@VF?GOCD(GDbCV1~J>hC%9`axK*S2a~lM%rDVUPf{Q7jaIXL7X}Kd9(Jf zR_E#ga7xKsrMbmLlR+f^|5|aQ5&uVJfi1M?HMo=b?78G!+2EqfMRld1cVo!=tiZYY zUo#Y>@OLs}-%R0ue+DNnsB{0RcmLV?|BLXC28f>9QuD&XnBV${FZpf2t8|qWFUMB! z>(~ONEzN!ENuS@mH(hPoz(lUoOAC9h9NL+AfiAm$eQPG@fTYtzNeVfhp|N9e4h{#6 zxuwp@3t{{X>=0UU?n4M`5}_?2pp0}Xmf=@Tew?nD0x$^`!AAb)~92JgrQc+4qOnATc@%`ws@3sLW(gqUwf|PmEnGtQ&3^a^oqrg_;(XU zV#O7f8x9QktPcwe`<$H4Wyb)#%8NMESz7Z3VB(m zyT)MDwkBcOq#K-;XRZ8NE?ehf9!ILR>Z#nRa@Nu|9pUmx`IF?jOef8~n*!eOCd>>` zX@Om>Cjl8vEd}u`pldJvt=@~c{OzH*`b28EK^DupC3JMO74vSeOm zZ|a>_oU0~i)on>V2jSGSw$ehzQ>jo#MvIp_;Rnvr#IhOVq0xJ4XJ^WLADh&#KL$D> z!dAR26xyhMf%z@xx99R7((;)yYL$8(rf4M_IIo0SBTw8pj_DaSJqmoCw>UY(o;ZS_7>`eU0($Es9_Eul51wfo#L103A-({q#usRQhm zJ<$d>@bFlQJyr)+U8~^`r>}&%(8k}%mH6B~FvaE*Tz-#K{7&lR5IQ8Qzc1pz(d46k z{cx@U2fURXK!qkf2H91J zr@vuWI9%9->7t)m%2fXB7IHXZWv9Y>&MJK2y% zW?!x2Qda-2e>89#8vovgM7!Nk2aBg#w2!a7SS0zHMJIQ0bhR~#PfIc&%5Z1u1yLZ@y4zkQfryjpDz+1 z$(#*sHv*OYE6~KT#LlWwMcq|}7;ho)~Jlq zlk6MphomLcfJ6gV5Gbbky2E5vkGVR>^^G&Ff%-p9dKA}Pz$FD;BYc~}JxSWdNWQMp zt*&eS7s32UWx=`0g<9iMrwmk=$)%^)@zb`;!i5)YtQR=nZHqm=Fh7=t&eQ&SG_Duy z?o;z#Y?{DIqC}?Q%^y{%MinsKu-=dQEOhHbND!*w$Cn0|{O8;Uv(8s*LIQd`uQ06{ z(>?c`{|;_pRe)k?D1NH&-{D>9Uo`oX;2q}vxS9x^EYEX3I(`s?@grmo0VUd`%%r0P zlR@)KE^En* z{dXd!*J&O)v-zwqKIITjA1YeyWac-CUi>t2ncw@lpeHW{b@K4MvaC(q-Pb$V(BMU~ zUa35*U6?XQ(F#}(C~D(khJJ>OrnFx5W@>D|GPn{UNw5{ROW(fT+j8O8)L)T4!FX(o z7{?Re)iQdFI8PtV?mjYYm; zSA>7@J4*vei8r@^>01ZSYGokF>E~+Kmj+fI{2yA*Cj$uX@Wi*FC$qj2WHT7SEfXDk z&K-1y&njT_fYCYir&nEss53YWRF8=iWgS#4A(8)7r%`F+V59LO&PPqlY3se^s z8B$v&EW&)ecC70*nYGttJ2-_h+14M)DEY}Oj+^j^hDMZ4hx6!Cv%<3-Ca@y&3nc-CX5~%)x3`(6aB}E<5+4-`}f$&z}v+~ zTW&8ajPb3S9NPt$-lVy@oI0`z2Xa+>{|Ih*CXA<&MwK2;$?tb3cVC)Yjlwu|ymTsi zF7mT@o@&YOb!=PJWo?l$WF)32CCFQleSEQYNV?qIqoD845K-_#s{fd+jEi!Hrf879 za7(`Dej$*Usaf|s;jnmU3YBzLi@JEXl|>zG+$jb{RNq!A<-Q{foAqpyGsHoi zUEwQ*Ag7k@)~+F8qKvnS=(ae2&#r zg~Y+=Fx~w*;j^iXz?3Fj-^30^4ZpXVt^XDj+e*wz@+6Nz%x$=i5LA$RB;pkF(p{)1#8u5;gtH zi;=U)@x*9bnW@w~Y#=!t<$;#*RA_&W8~h?^a!4tM4hHT>oX>(L6DT0IFM-A;CjK(R zrCb@c4%I>+{he??jCq`Har)P<)?^J*-YRs~`f(&KzTIAE;pW;Z!a_~faKJBq^xF*w zY(AbTjCv-IfmI{8oQ314V>74ms|1#B#`GXO`Sl96l9>Qa8{ z@;*WmLSpF6`!P2ZcAEI2U;Di+%WQ4CQ0PM?+K;j6TiNWBQZiJC%ul>2p4`M;7ev;&Jfl|9teu>^-N=|1!A$ZCZ))2J`&hkF??WN!I>U z6-&S5Hq0Y48gVf2=m4#>_k@OcLZX_xm$F9)c*(bFD@a)rTi(DdY{kV^7EP<((NoS) zeAYZEl%sOFUO~-|C|kehDT6E4(Zby4iFV{2Uu5D6X!Tr)T%aBBbg$FjcCN4r*H_R< zV$HWSmebdLS?4KdP_=PCrK+cD@)^L2t$Q-pQMjL0i<#HAA^_HbU@|l-URbJ(O}!hl zqw%%h$TT+c3g?1+;UJ#RQn4^^uw?qX;E`}72k(_qT{h*okTq%f#N%U4M%);Kc)p`g z#eJWZqm#Q*oGWYRE^^YprcZ(?qxWA-xAm&a*AoS%R?MkMtEu{#KE)=YgoW8>kETtSL<7#jt;29_Dn_(wKMe1bGo2$YVz>UePdV{>vP?+LY4dqz}^2n?6U9DZ36(6xy# z_jlO7_kD>>5}HSvQHBA@c~p-PskEBE^T)dAMA(j>;u}1qo@^y}@KtQ5scC=cY5i0itAily%G_5d-#Qp!opg9q`)-`|+_&6E#j$~Zt-|P>?Xjcz zi0fOP5a0=V^p-)+4dED6R{@K!TaQd1*nggJU`~7G!&`L*z>h)AEI4~O^@KzBt!$MY zb}!`)r$0g=DgfcaHZycqQ>}zf>1wfZR$sOon?Cc?_H}y%pUlY@GHqbYl4k!q02zH< ziGhT*`y9en4c*e%d`Qkaby+twPk_HV3f~QX*a*q67L`cOr)o5{Ij#Ilv?FJ9tb=vE zi`2TgzT=_U;<6wdTaT+C@?&ZF@8s9~NXmY0<^{Vd0v-ew+E1S`nenk_3IXX~ia$S` z<^33V@+uL?RBM_%0!D*)B==(D@R(Pw8vvcBdcXYU;E66pgIroFUhEDiI(7xKE zXGl%qm^fXC&{8-7dg-_mHC4NF8D@puj2Juz_M>z7RfQJQCTaA(P?wu;|E^oapkRAn z<5zD+eP&0P4v!c1%hBQ2w0>uQGHY*7!%uB+rj8vFKB_xU`yERvk|M-e9Z3BdgAdxY zCwN@;GnK#KXVC<7u-KW4ig2LlH5n(WrRwsxX$>y~5b#;p7TG>e%OZ!^vUVD6O7Mq7 zP>-#e=8aoI%LuSw6lhAC^X%(`o>H%?bZ>l!US^@I=VfOBYgyZ$Q9T+f>}GAO1G(tS z{TTY|J^a$fhw$fSzYMNmUh^rRF-(aZUS2NUtf1rAzz_42QrCUcrcgw8prr`T_lvaQ zHt0&r=qfU}%5J)xt=sYDBZMhRo+q;gmVzFwAUrhX)yFo^Bm9?e+Ed@asx=abWL+LLA7P(fizgYE&j{r1}^*D5dJt~%OirGm+r*9oAizfMhQwqX#J^!>z zoW>(LXx1hggUt@Qmj9RAY;dAY^tM`^W|cP<=&5t#`S+od0{jQHbIAMOk9rgOX^lZz zI>{R*!)_@4NqJjVU@~6dA>n1ay?Vu#9|Fy0w);798wO`Fg)VJ+x3hgkA;@74S4B9B zPM5Hro-J8DuPol1a!V9q`xe;do3koxfB6s;3}*ooMRNF6B!{8dKCVP5*SsH8b{p^r&!kB zM`}0(ZGTRXzb~ZkREvR3dLl|FO-tE1xti;pAOdS1GhX~M=>FLhwB{NLLv3PAn*aXw zdAEEtGdk3<>SRd8&->wE zk;Ao3f5crWb!E?aX%?Ls-y__4Q2Q#RV#4MI9HE+Q0V6T-iZ@K0g)&XsT)k26vsOwa zfkxZ`0(gGbO)* zjDLH>29$IDF1yzR1f|dg<+M+L)eMi?*1< z&PTg+Z1`x8zIz8Rz@H|3$IZPR7$72VW=m4rqxxc?5a%}`e;1ifQhpaY_af~irmoj4 zr#<7|;{Z*{6}C{-la}caqp|Z}qf>ZjKL_h%a$|Qe&RQ_Boh<=_I16J6q$(3GY|-w! zLj@tc4YL~nAa(1PzY^V{Yi(1u%5Md^xXI;19zk}P~Zqj2ooykJY<0!(6G zKh#LQ1$0B5GaY1w^yeIn(KLiS9U1A|<>PO`2mseV!rxuprMMK0OU?t*{7_M)&$xRZ zmgQVOWgM7hzfuT%8JX$U?ygji;3)qL=x zt&dEmiJ`eJ+I}Ln*d_s@Xxt>65 zCkKSoEqSIt9r~fgdzi%aL{NbkbyZ%1CC20DrmZuz+SNO!F8T#5&GjY_fnZAXT&se% z*AQ<6<+Q8~Bf#EG0>MVpsUni?R`p9Dtc#U3XZ$tM;yeboq0KiJY8rYo|NYY8KUYrh z(!q@>S|7Z86uW~b+z=bj-7xEQU5#h&|c_s_KYLlh1XawZ?3EG0PIOprTx2RV*P&^Zh@r~=C`X^Pl(E&0W>I$W_ z^&*0&XhTyuj;I3lj;LmBG{%WtUw6_Rj#q1=>}kyhWPIYk1M3c@0?0O#nyq|fnw%i> zCk^M@=X1GNs~frF*l+>Ym+Hl3#r&?*V3wbwVIu5jC4@j)QDLm3CtW9Vd8C%q4h9c{ zcDd^J53|n7GKcGOP=99;Q3!pEHLSxjgAx-?R+SDwa!argi3fVAY1d2~_1Y$hd?+!I z0F(cX)&;Em`9VhbrArImS7W$KHx=lpMx;uW$~1+OTo@|0tY}QCRW~VCD;&Z3T%Frs z+*xZY7B8#gDR#1k#4b3iknYKtc=KpJZKJ}GQZvMSxlE#W;;?wA}BlO^0x&$-gfN1 zTUR4>i&W(mWIbr(zS8lw@A)Wq1`AaC)cDRgzm?0VrC%zw!Uz78iAoEO$-t3)q*fgs zyk8?S>=+4*-d5*K)=hasi)a%&6MmmArXEpp1=U-4oG1O*#<%MtzYS0PY}K^MyG?=! za)8C|!>tV_5LXkijh4xs)YG;ahw3Tks;OKm@FUIjiR-)q35fZ9?rWzS6J>sTMeZhh z51*x9vnG5GV=S9@iz?SY%dbwwjJrcql}|8pOBwq}-LmDw?;5+ev^~paJ@`K>nSVE2E@6MH-gxzk@HjX+XX;4Cv*wk6%gtc(jK8ZuP^V6P4+mP2y(emR zcpCIOFLS9g+xhE5U^{NHkiD%=A$%9E)#N!S>wtn&=Sz-syF>?(0gwNZ-P}jk!`1u6 zKb}zQXB^Jmimd+P#PU#+NkIdYABMh5wVM5{;|#TVt<2m9zrsX$y(fqUy`(iPxfC(= z2RH`>%s$q!F_?MUE4^*ObJmko-6je#)9voq7Lz?M)q5Vi!hKhZ`(8=Xxz49_$dgU( z+06`237>)YQA)$B;bcSfBzqdKH9iQ@b1ra{8Z)k85`Z+6 zV8c+e-A|M25t3sq)&)KPmWX#d)Ppmm6$d@Eq?0;bMk_3&oz#eum|XY- zc6Oq!q2oV$G^mFGa?AzKHZD!*coLh|a!~HZ;uk+EK(5^*&$CdmMUF zKYtdZICv!L&rO!)C7&|&?GITAA0U!_D{aAcfm8jfrge482zhK!1?Aqh;6TKvM=gQg8@c$$$`%Cqgqe|;!QP8yLG@$vug!6y7)R<4;a9Q<9n<#q|st z!?LWq zd{GuW(1$qOy8-GHK0Raq9D||-QYs#x*=+A6><@)`7S)q$z;W)V z24Mz&^6f+9{w^2U}cHkR4S6@xzhpv$ZA4p-g-UG2VTU zaNg*ro@!PSgwaSr8Fo>O2}n0CTCKk`Og_Gq?O7fRc%d;td%5@Xkc{@cGh3;NC&@OsN11{5Tsv>H^w!N`&>N-?a2i{%$|!tNhb)f zAz%fXVxi|oO-R;zJi^V-%rp!duO-)?dS0l4&QM_c%bMx(y zdv9Ize8t8r6RppF_xvPD7KohSeGe(b{c)`)4L#USI7e>kUD6-9i+cP?-^QTpBs`C1 zX}#TCjxC#-Kwrnu^35>NX@;OLV4mZj9dt zP{rI(;9a`XD@~tM%+^_e4fOh|1mCB^a(rH0+vC_p%o_)^a|fF}dpYt=@DJt%Ae>ro zTBSSbDt%T22WhrFzp6nT*kD`3q+WgLn{h^xtWH<>J*T|I5_yv#@m80PW=ycG(W$s(<>C4-Lo?C& z>(61zvbYCQNv)j1%JcbCBlkxR_!P1YtU372!XA3CF%BRisOtNid830OfNnPkY$Y)0 z5t`8EHkvTXPv{k_zjf2pd>MbH?LDiLTouY}wdqZEX>mw5Wn`{csaoNTRuUPvz=@H! zdzb5qy0K*Lp+vt1%L4v&sMF&0D_G%+urfrd6U~{5&=TS#BowO7EUb6 z*KoqrtI?+FS8>;ExeBxtg;0J)TFG&tSss^*cU}Z10HBh8Xi;v4f8I?sYN6YqJg~g# z{k~6&XuzBZAR@1B%7vOH&5!k2C1x&SRG35)aL)U2=YmduF0x&6+41ARRBx9p1Za+U zp7q2ZWqI!g9MKk$t@XsS<|?MsV942dfnI;wv@otP;73I)3X%VD-RaaxSrd+*re3Hj zo}Eg@opjE{CuS__WDHTv+L>7F63wKuMLG}f94vbbq!cta?^^@d@YwA~Ag9 zT7=FW9s#7Z@x$S14$H;XzH3ICTzQdrbYNDNjr}OJ>a!-=b2{> zF@+iD9SZf(M#7_xcV+3Tkcz8x=$2p7tFNV2IxgaT-PZJJRIF!sU;DZ(8`vc0g@oL> zg&v9q#6;u#untanksyTh-|n*;nZ^JAMb?r zm2nUw9=dP@ualRbR#?yr^w<%>2;FvNqz@==8J!le9Onf>H*DBF6V1H0TPkBsSps#OP^omOsOymJbLk?0xXwdNm5EqfRzpIF# zU?0(R@Y$3QP4`-vEgl^K7-~7kVsoF0#~UgeJBHBd)qK{m`9&0FWE0jIk(2x@kZXFM zIJ%JvBSax&^mP6<`fac#5DHH!i7}OYFF%?`4--XZ>TquE3HiaPzmEJ=7M*hXQz<)r z_POMyj`Yt*`e~a`{((?9yktnR`)f*pQXAF4=F`^tM}2!w`3sj&rc`U63+0%5V$w4o zKf{JLQ|->Yl^Wnru0$SL#T7EgBf2{Ov1}XlFmrKw?0O7&2QD~oWjI`lz4`kz0&D_Gm zH+BADzC|3>!uG|``Hcdl;@%qg#9FQf{rfj7T?0eR+(B48-n@%6M^Ynv!&V_;?z|+5 zqh_>9!8{^=e((kwLGZI~1clCV<%OhYkW)~K|BJW&r_nj!nT&=7MgIL?stBs%|HM-M z4-llAqd{8ZPfdBkYx{qE-I5K^T-^$XmgblA8~UiHzaLRLtURdg(XM-fYlwq?4mEKR zQ%%n2{+%&!YMMNxFA|J(0BNZ=wH0M{EpUFzX|9{m()$*!-ZStIx%NHma{oXtq=WS2 z6Sz9=oDhiBy^Gep9M=P+(Ybt@4I=eoPm`VY?uM#bc4c=8Jsl{4RgxQ#58k6{sn3P; zT=u-i=CVAE$M}&zeP1v=BxqhNG6SEfRozNaFm5DtKbHI6ZpEgNOS-pF5D6^vjI9cO zE+q$v+(FL^B5a}K{i8q1=UDl8WR#MeQ55)Hiy-nN1{GDM(Ix}12zLoltOpU zJtxh+P1|RF7qU0QA~jvHYE@AxazjuDNsBX>K#dG_6zh{B%yPY=u#b&=-Bh*_rnQlq z7u5sf3j8Fa{Y~GfWuO+Qq#$OGD`SWJckR=4T+!|9oF~N-SZJA6EH*?u`~6v-4L-(r zTeV#6NB&MJ-_J6+_r;CC2A^T0AN!%IhPArf@#UR{rWX49vEEBTcP>Z2oy%LU(o?lq zu-1D$;Nd(uS7@f9@LfUDNpMliTjRm`dH&ScX3-(Jn!aD&-Y;dHGc6jhZ}xrwiM|i; z^nqZou?6POLLtE1d7%M8eNuSj;N$n5D0Y9L7?PcCS*Y{|c~2=|_1?;io46FLd;PDv zGRAW-3s&ud3tO(X|DCL>u6G@a;S1KNwjj{(;(`%b01 z$N}|c03nyxa7!ZvWC>SAPAxjOpM{6=V55equW{~vnNaM0%CBKpAInUlSf=0gIH z#5m?vTSYF@$HvHDXZoWX54jVW@eBCrgwGWkb zu)x`K6BqD5?nM40TtM*&aEd!QY>|}qD;5jR+GZtt#y~nIAQ174Cg{ulDT`|>rMr!$ zWyxZ23$~!+5pAG$+T=fIlhGj2UJI6Kx5>OHg6Z5_=skZo3+I;iH8gBlEfJ~3pM_TT zRM%H2#*!@MyeG>w<^24BUjEw$V1oC#GA{~!8cz5Y^Yw0TGKb%>lBw5dk(f@Y%hc3T zI5pCtL}S6!D2*Yd;_FX6W#ssDeOG+=Fg{ZW8@(lmf<<-YX6KCEqXj?}dV8#}_erug zhtmTR!*PsgVRGVLf8L{vv#+Devw+mz#1PxjRwXnoUB;8R>D)`lcu#bRZNb?6JDS_NcD+Z&S~6 ze$Xy?;q_~GFzUwvwxeY$BOhvXa`&mac0z!+j?ZuCy{$onF2-bndE(bywPJM4@7>=T zk?C!D08tM{p=!R^IPGA}unr0uJk`SWo#j`bEeqxr5#LQAqqI?S-)Uc=KPdPtR7Fda z@8)9y5{am;=rB({S4h{S8@Od~%x{u$_HmRL{uLu8EQ_?66;8Y9(tSvDJt(}A2QU$z zkD-#INk$um=$VLhO9IgA^i{sP=CZ5w^drD-wZqT>Uw1)GMZj6h#3F)mrm@bAzY@v$Qbc+A2fDcohA8Vit_}2 zx^(?ZAGqhp$v|~5;L{Y~Q4(c|Vcqm+{Yb}c+bmuj)Fo;I8S&DPboULVjjRcN-Yd?X zUeGHmFl^E*s=hdI_K{dY6YSJMp44iGqI&J2V7HKcs0TDT&c+V=yqsjtrL4(;2;xC& zQI)Yc5xn6&o-Zmw(%0*1s&ZG!OL|nw23p~|Y&N!%>r6eT231$_Z#*{7gpE9aS8uJR z?5@;6DY}NNJaNDkVyzHQ4@A|#J6~Z7C;ev>!G8r7+yu4!$7kE$GbHuF;C{>zJn61+ zCnMc;jFMp>E<7cBD*5nXY|}OEuNI3RLF?dYve01L`6IU3=D@DNE_RHeL_uVWXb4#I zXI{SUcD2ldgCoBtb$uNE*oyIYT3#{MaGghPmLwjAB*Geq+X)(;-A+>k%nt0mSpgI8 zQfGm!GL0Jl+=E1G*g9W9l?f3?5GEjZ;zF`?D}=45s1fk*(kcXq3Y%NP znx2QTHP&a7BAyJf?y%TBl7lXXi+5_C;}H7eBxeQeXK_v^zR>a&DiW(TYQtb_K;6r_$rEJ_mnqF&226WmU;%c>BmL z1RIQ30k4z(XF$|{#7Tj>k%)U()pG{$*h!6cEzrGG{<$1Yj!%G^z!VOWN8r8)(}|1X zAP&XjyA4vj(^hY~GxQW4bnC~NE&G{}4>@@D@^i~Je0Q^pmCjv%l54U0c^DL=GX`&t zFuVHzb*LZ6Go`el-C7>buTk9hbh&TM)bc3affVVi<8G#Ab|-=N{3iJAA;qMrp4R(T zD_myWARTC49N)#)AZ^~=p$8w5-X^;vthd&3a66~tkWZ(bhv00sU_B~um(@>L)=e|d z0r7Hu8GgZ5=R*ep7#si}tt-HPWH^mQfo1)mfepB4%60r$Bm0S4T}&3y?Hhljl`-d+ z1@-&rt};34H^+D1HNU?{r_AZRI$YhtqFK7M{W-SZ&}zE!3ArDGSlEqM(1hN@MePw{ zbn&JJ=meKH?rf?5)QfO07fD1Bl%zgyyNwMS){L;Oqoap_@FtXL?fM@N#Rit-RE5zzhnWqqWCy)L6lzIJtB26bIKxdi-ZM zK9fHtv#9rjTYEp$z<2Cc*?!Jy7gi#=?y{K+;)3e{Ra-rk>&>F|IY@`!o1(3>wJU|^ zh|YxrMp<-TTO&RARtTh#*x2$gqWNo((ak!Ntm2UgNiB^J{uP$<%=(7U1GLb#>8Wag zZaTqvTRrOXCR!?33`%L7kDB1jPzwRX01E8?zVQ6-06Xo4A6AplQ)kdB6=E`4dn|s< zeu$N+s_N|%U$)hAIhJX>8=K4&_Tb6c^3C#96!Paq2>U)(a?)si9c6NjD?KE)8|TKN zW%^}J+{`A{9O0o}-S)^_{h7lCoePAl>WJT5pse|XwQRq_M$fs9{HW!WP^ZaEr?Vd? z8BsY#77?t3D0USCb(jn-mdLpRdE?>x(%rQv%kHLr9pd#|jW&DEl0^xKP|SZh!5Z1JI%@iic;MYd4eaL8XKKbd z-&EUt@bkRdMvs6@mm1)2#!K#i2&CxU|Nk2M@^C2IHf};Hp;Ck_QIc(jkzGobWGjVa znHk1NwlWzsSyFgHJgCeVOL(HP)>y+>Ldrd4H`b7e2BU_N{kx~9XL-Nl?ft$vj`{CC zul2mn^SsXM`u(o?KRB69Zw@t=-s8PI^qu=Rv_^G+d!K|7FQ$>-Vm0(7>|j>S$Cq)4 z@kj82CS;@n2kZG0LvHtzzBvr zTH&w_t+fu0w|9dNV<ehBDW&QG247leKu?JZ>HJiS<&zRdb$dJzLoDbu6BSBrPs&0Hk&v`zwc1$_qX#je=uTk13{Hl2Md?uThbek)DEZsZy07m%4BI=WYEn2GR4j=eJRXuetX1WEetJ}E z+<7~=wvRM;`{{_^N3${#(8t9gYTPf$&ie_L2@dba6iLF!#AtgC7~%f2+KepMCb0F` zJXPSKlL+n+!s?+oIQ!Q-(qM~@PfpG~e2}6kb`68lh&pW+26?aYZQ+~=7(W*ut7s1@ zE^?sgTB?%*fuF4}ncMuKRp0>f;c-`Y zfj7$zfe>In*qn|1yE560{jIA9$;cu^Sj< zsa$`}gz3w2Dp>!Zh7*x;xgY;7NpbTCG1RuBnyBC6ks0Y&N2ofgKNp!?TTr_3g=E69*C zpIrdnjGoY>@cDi-Ws79dIlKZJ1xgMWT*$d+TdT=@-mMqM#-YAhzIu+=SyOrP+Jj@) zdLTYSAFwcOmCAQgY*ckLn7mYX&L%v*V4Zz6&#rW%uRO~Vru~Jm-&4{=R|qATkSkrU z=Vb7C{oU@OgWz~S;rTmi{RI~H2dK9A-SI}-U7R$ZXa_-zdfmq(=Fru&3XyM*ksE5> zM#QI~{TuZu@t)2p`U}*xrO$aM3k=Bc+B_b)#4tW^cAOs6vN~Ncb)2>h=Yjg$>8rT4 zH9}wBN$-?dw z8=q6@lxcptT<$AvkKN5dLSh9-WayVS9hI%#(9i`~^-@H_*q7{b0cs}I=gdlnq;`B8 zo2Mab%_?0d?QT^T?*$%chk{J?8rGVkBJcE04Ny_bdK||Of&@Z5PpiJ?v&yKU?_cjo9ikAqDYJXfW%!}K3UPMX zH%N~6*q4%#T#RZyT?D zExqI9&6OD*jTs6ELA+5n7~_Rrj;3P4GpWcd6LL|g^1upy zx&D)>gB6ZOXlB~|2KC(Va$M|uZ6>@_Fl)L(Ua`d>PIITEr5PS%6Z5qR1Pn?mIwm@M z*1}kXk;-8<*-6^qS`=r_(2w~cjt^8a=Sv}Zn}vAaYiuR=bJAZq>-l!^$+gJ4V7C0f zqiP&QQUuny;)O4#)k`&7o+fMCtrEh%)m>xK=%g7sqYo( ziI%@_-S^0fiHn4icYz(UY^>=Lp%Hht2HM`$9_ItiJ`6F>i@{tFj2jR-h!quwRJYb& z8>zoqRE;Hnm++0&0tKy~O3q$+A#!`Y zkKU8yciVHtu3Y1zvOKIZl9RSGLVJP34Nv*)S&_uo)+lGxWV2Zi^ixJ{%-lSAquyeMd`qj|ZcfxG0hvfIJwFD2% zjpb^t6ev-2yZJWSyF1#89I-PmfSZLJ69KU^^X{!CSLQSk5Teq z%Y}ZRPmUY@I$q+g#Ts6oWoOu!{c&LnlTyyv<9Lt7lSX*QN%5}N+Y61BL`b6blc1w*PeWBsW_vc2XYlJ)_Ww3 zm98`WZnG-GSFp>y2pH~zMin^5V03au5IP1FL9U~Oqnw>F-AYI~*~326w=B4fn(l|= zV4+G8p4#-j66UHuH1=>CnLw$RTwU0JZ;pq3@6KdcfjLUhaOr8Y+gQY3_&k~7UB^y@ zp4u*p+Bzx&E1sO4K$rV$DF~kc+Ubhd(9uvu9p{Uy4N@EH;!>N`t;a`GscE9ARM6q- z)Nd1nnq9+uy^0tx)^H(n6$sr7*It9{B?PB;6bS`{C&DuC5NgRc!+I?ZjVoHs>7o z0~GS%wS5cU{Yq*_edpq50#jZ9^O1+a|)RbUSBZQA>XXvURv2=OZ2Kds9 zIuHIU#_Au&gddD3|8-gX$bMF=06u=KVi7RG!3=7&xLBz%P#=5pGv!XqZgT1SntQt* zLFK#d9xPlwtJg{Ym_#;0|JLWh;8hF{29SLw+d{=|YQmY)gF1N1hh3(AJR&9U*>}s; z5E^z|FizkiYPMO$7gNnGcjsm>PTIGgh-eOC%n@DU^N-Yh7e z2y}AsX*BA?sn~?ERg&A=`Pb>|Cljc)Et0dxk!tACSXI%7+|wMi#ONQZLmX8&gG9R( zQ+arviSBET9gvNi%s(XZyu2cI2dz1UR37oz)P{9)S0-OoTx6od&^8`+6=FN*kYsb7 z`RakWQ*IqBL>CGS?N163xo0_Od!xZc0U~C5KW0=-URT%P(uZB9D$685`x_s(AcQRi zNfPsb*FCq(-gl*m)Wbj*4-oIO2pxJ!sWBP2YnH4UL4b`PLGVHow16yLe5Cz}0A?ap zt)Gt4`?H*MC5`Pl;d3DPFqdu-LMuE1d{Ps}h9^e)KKAF7bv!Icvdlk8!d>1$TH=w# z*S=wICEYkN)10)A&VSi{Nu;)02{(|>4f8pQY%gfLe2_p=YCAzvthbm)?gPPoTwq+N zhZNASH;T5`Q3HvljL=lA_y-LWXja;Tl~Bvwq}g7TaEHop5TY)Cj=I8Gi|>mOIA#;}9%kAQMx*JgzOkjW?A*kEB_x zU*?P8V7405Bn=`Xr0e4@T>Mqag&SY76Mb6|JPvz^$UW{%f3O~NT1ut+>@L`=V2;#lW)2d0pIx zDDSa9*FL>C9pzQ*qV*~QCa<~aiqBkK=!mb~3Z+jRt*tAy-SYrnViwMU$heH>5`^-S zDyF+~@Ili#2buEeby|swOf?3~OV_oqcKYbS`U16SxAiF`jnhg~-+vev=9wqWT2nIv zL%Wx3dv&wJ0_%jDoqDUvxBD*lL-`WL1&a4A5zzzJw}-^l=>f9|xHZ|gwZ|J$GP1^F zcZFS^290|ZTaOc|;<%Z^6jgwqP`~em5RZvri+9t_@We8a+NM6_58?i=Urgh5tDk^t zEieStaeg28h_*aib)%^cH>uF{XoomYn$clkGlS}Yn@PDBaGCHG+{#o31v4N%JWZi+ z&;wg*um$cC#Oqq3rFk$P*NyM*N~OxU`4nfC2q>yGsEx!6u(`4tR z&Ya`Srn4iv$8vpE;)KXIzP%c8=~{{1_b$(B{pz_f9a5Qnx^Jqbiof8|7WlY6*ir`u zWT>hzFCQ96WydA|Vw3r`ZTvfA_*WkI7ZLS8JD9)sI-Il{_f}eDyQ8mLp2~TCW{r~+ z2bi*?nv6LgbKMWMXvifMk~PZGNmWi_q!+71KkO96Y-V|28>Dw%?J0uEo@UnVeT zc;M9kAF~t~>4Dw<$(i*x85Wy13*2=5nmvmx^Dj~M$N!Vaiv96V;;mm)$7bpJ@8nmy zJDA8F5hjKq$ad)+Vmq@y4ueXM|HYd1|E}ym`}S|9t)HC&{rl1agVE}1U_g3Kfv+ys z5>*V>B9-;Cmq&*eaw!majs&;^>@vsEudK}%rmiM))ek%M1P>{vmTlRsxR#p12iGFt z9||71U^2rLD^@skFF_ds0@=BB;;$k5g$oUUxl2!598(Ucx&p`M!kqS@iLbrs2vfn1 zKKilIg7f3y!CEKkJ?WY1_Z*H@puDGXEe*G`$9&yU^O-t%`bd;-<|=A0&>YMQUB3C+ z*8)=$;9xeEpHaFWO-dir$xImTd_(#oeJgiB{F!mR9ygTUol8zy(){K}4w?X_@@&<8 zh`)iz&F;lVArqEMpQm4KVEebO7LKUzB)Jsfd#Gd^+|+C>9Rl9I8eioh^>&Ijn=@x? zHP+yD>Ssjh43655%^p>k%QTlJNL!kI&zVc^vB>f{gzZI?LCuoh=cjNF>U@>KTaZ`$mM*>NBbVS{j6u$MM$p=eQ0fdX^iV=?awkD%Z^)$b$Oy9uJG8Q&q>|= ziF>xU7;VaF515QTw*2iSfs*`GKo-NCrRyl<*S`>~mkMS!W$qJ4@_<)_s__<%Lm@AK~9Z(=-9q#%_s66iOS0|{Kj;d~m1$2P?!UJo9rl(zWMdJv}< z^0?Ge3WaCsqvAOmAGNs0SpCdnAU4lk^4oMgCmCwyd%tzo+>m;}N4&nK@{f)?`5Jd8_-Ne60{_^y&?%~8GiciSxPxxJy9sF)_tXV#sUc=LbL;vGdIK^F>cwz z9Vw)-?Cpg+p}9ONG9(}68U)jY)drMZUH<&u?s~`Yr}XP`SSITE-B#~aZd*yl%qy~V zd|KN9+f&=nIEM5WN{Bg6G(5>sMr|!=AqyNvZ}i#=^-pU8cbxpnea{gzcJwCJ{G9y~ zWAye@a0pE*WT;}fwtX)e3*Lt)WsN_%s5A!9%&o$j4Z>If8-?@FE;9&4axp*~*y)IZ z9fg}3y$=f)GFB{y0uoTwvIDbq zX8wuV!x~^>*Y zSGnT3P@7@d$HufJmyP6`E6Q}DNys~;_JTDW`n^_-M|t&uudVae4+|GF9DGg_2H2V= zgR#Cyoi7N43s+BO_wGAzzKQ z_#kYfS*p_x;*6z+S|!l7?3UM!@31=iG{=KbdiIgiC@Wv$JO{>h<@(%K zzEp_f2*^fB&*?FKYYq9tgEW_#;=sSX#I?DtV8v&dRYqAqhfJ>H7=oGAao~bjg_iU3 z?>Rw#EMYIN_2p!qrGDk`VuyC1^&a5q2W4rUr9TSmc`dLr|)cue1y^ccq$i zea)F0E6JeYULF}*`vcZrWLAwuCi(D}$@b6g2OcI`y2b?yr#zTSU~(Tjb`?A2;(_sI zF-9#M_C=ZLbkt7~Yia^i+E;Z-kBnKkgHfu-Hs+M(fzvV5#kDQ8!S<~7@{8$a=CIVzFNokvi>lTSC#qUPP>=Ax-=GN^b7vXB0|6>7AynD3}GuJ`%m=*9)n?7q)ED zrdAKB*Ff&w6uZ(F9*h#7oYL2Go@ZCq_e+E;3 zv4Z~J>i$nm^q=v~PXg3`2Vg%%e+F$I@boPa1c#mURpuLG=>`t)XJ%|=RAh*V_&*8z Bp&6`0yA&pqQw*sKC&8pvds>=*Y;>C~&|aC{Wng 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�Jrr*@yIz@i&)ScG9>UbD|=Jb8i|u z?}lw)1=yLE2!;MdhJm;gKE;?5!pD^qj$0_U6q{UZZ9TR)&G_6my*qZ*9o|t_SC{s3 z+RH7w3hL@w>e8Ouv8y+KTivd@x?P9qpt>DTTA%YT1D8)FLg6B`6NWEqu7hhOS(Ov4 zaWZ?&Ipc%Qg>2?~wB zX?gB++U3(N?{8^o*>ZZ{<!f~i(wa575(7{)g@c}q-&NEiTcNG$`oa3a35Q@JN4+d2>JgiG zp~o1q_eTP?{YORD)f0mg*K5@ig6n~!{0F76uEAL~h5Bc2s5cM3d9EP+#$oZ`=5zU* zH*a1Ug=4<|kZu3=;>BYZj~&~TadGe7W1F^$2ba0QK^LK*Mizt)erdQ^zxUWh=KPBn zH!*2kJhqAUST2S2j@46Gd1LdlrwUFL+|WOJq2R`j8>jLQ7vwy=G-aNJ&|U}qqwn2x z?AWnyGd5}4HeLMDvJ?se^u@%BDcmGDma*yB-i&XL9UIOVrjw!n2N~bK`DgjTo<6Le zLf)G>*KZ6K+_)jW@n%6m!Ho+yZroUbc~a(CI2Nccs^?Ek)cQ7^s~1!V1og}3AOS*O zENgJFS1o@Kt`+bF^%Z=6ghC^_VzEOjkj~ zbd^M$lQWhhUj7CLt+)|ioJW~+>3R%Zg%RI%#~zTz`o`)hd}QP5F$?Qa3LgbykLjDQ z8?2tfRh<=W7YYVfOyZNSu>U1s^^FQJ{j-1jx9Me#+T4SM6pBZ(Mpg*!1|Ev6Ra40R ztH1i$&wj?zQA;c^xEIty2{4@NFZZtu - * @since 3.0 * @package Pi\Theme - * @version $Id$ */ /** @@ -26,22 +24,22 @@ * tmplate/layout-simple.phtml - error page layout: header, footer, body * tmplate/layout-style.phtml - content with stylesheets * tmplate/layout-content.phtml - raw content without stylesheets - * template/error.phtml - defined in var/config/config.application.php: vivew_manager.error_template + * template/error.phtml - defined in var/config/config.application.php: view_manager.error_template, view_manager.error_exception_template * REQUIRED for admin: * tmplate/layout-admin.phtml - backoffice layout * OPTIONAL for front: * template/page-zone.phtml - for block manipulation on a page * template/block.phtml - called by layout-front.phtml - * template/error-404.phtml - defined in var/config/config.application.php: vivew_manager.not_found_template - * template/error-denied.phtml - defined in var/config/config.application.php: vivew_manager.denied_template - * template/error-exception.phtml - defined in var/config/config.application.php: vivew_manager.exception_template + * template/error-404.phtml - defined in var/config/config.application.php: view_manager.not_found_template + * template/error-denied.phtml - defined in var/config/config.application.php: view_manager.denied_template * * Stylesheet files: * REQUIRED: * asset/css/style.css - main css file * * Best practices: - * 1 It is hightly recommended to use 'pi-' as prefix for all id's used in theme to avoid conflicts. + * 1 It is highly recommended to use 'pi-' as prefix for all global id and class names used in themes to avoid conflicts. + * 2 It is highly recommended to use module identity as prefix for module id and class names used in templates to avoid conflicts, for instance 'demo-'. */ return array( @@ -49,7 +47,7 @@ * To be stored in DB */ // Version - 'version' => '1.0.0-beta.1', + 'version' => '1.0.0-rc.1', // Type of layouts available in the theme 'type' => 'both', // Potential value: 'both', 'admin', 'front', default as 'both' /**#@-**/ @@ -66,4 +64,6 @@ 'description' => 'Default theme for Pi Engine', // Parent theme from which templates can be inherited, default as 'default' 'parent' => '', + // Supported browsers + 'browser' => 'Internet Explorer: 6+; Chrome: 17+; Firefox: 10+; Safari: 5.1+; Opera: 9.8+;', ); diff --git a/module/demo/asset/script/test.css b/module/demo/asset/script/test.css index dd7a4ef..db38afe 100644 --- a/module/demo/asset/script/test.css +++ b/module/demo/asset/script/test.css @@ -1,6 +1,7 @@ .content { - font-size: 100%; + font-size: 100%; } + .test { - font-size: 50%; -} + font-size: 50%; +} \ No newline at end of file diff --git a/template/block.phtml b/template/block.phtml index 1d4883c..2ead9ad 100755 --- a/template/block.phtml +++ b/template/block.phtml @@ -58,38 +58,38 @@ if (is_array($block['content'])) { ?> -
+
-
+
-
-
+
@@ -98,7 +98,7 @@ if (is_array($block['content'])) {
-
+
diff --git a/template/error.phtml b/template/error.phtml index ac5ab96..a36ba3b 100755 --- a/template/error.phtml +++ b/template/error.phtml @@ -4,3 +4,65 @@

escape($message ?: __('Please visit later.')); ?>

+ + + + +display_exceptions) && $this->display_exceptions): ?> + +exception) && $this->exception instanceof Exception): ?> + +

exception); ?>

+
+
File:
+
+
path($this->exception->getFile()); ?>: exception->getLine(); ?>
+
+
Message:
+
+
exception->getMessage(); ?>
+
+
Stack trace:
+
+
path($this->exception->getTraceAsString()); ?>
+
+
+exception->getPrevious(); + if ($e) : +?> + + +
    + +
  • +

    +
    +
    File:
    +
    +
    path($e->getFile()); ?>: getLine(); ?>
    +
    +
    Message:
    +
    +
    escape($e->getMessage()); ?>
    +
    +
    Stack trace:
    +
    +
    path($e->getTraceAsString()); ?>
    +
    +
    +
  • + getPrevious(); + endwhile; + ?> +
+ + + + +

No Exception available

+ + + + \ No newline at end of file diff --git a/template/layout-admin.phtml b/template/layout-admin.phtml index c4ef4b6..91b8d14 100755 --- a/template/layout-admin.phtml +++ b/template/layout-admin.phtml @@ -8,6 +8,7 @@ $this->bootstrap(array( 'css/font-awesome.min.css' )); $this->css(array( + $this->assetTheme('css/style.css'), $this->assetTheme('css/admin.css') )); $module = Pi::service('module')->current(); @@ -17,11 +18,12 @@ $module = Pi::service('module')->current(); + -
- -
+
+ +
adminNav($module)->modes(); foreach ($modes as $key => $mode) { @@ -43,48 +45,49 @@ $module = Pi::service('module')->current(); escape($mode['label']); ?> -
-
- widget('system-user-bar'); ?> + +
+ widget('system-user-bar', array('type' => 'dropdown')); ?>
-
-
- - adminNav($module)->side(); ?> - - menu()->setUlClass('unstyled nav-modules')->render(); ?> - + +
+
+ + adminNav($module)->side(); ?> + + menu()->setUlClass('unstyled pi-nav-modules')->render(); ?> + +
+ + +
+ + adminNav($module)->top(); ?> + +
+ menu()->setUlClass('unstyled')->render();?> +
+ - -
- - adminNav($module)->top(); ?> - -
- menu()->setUlClass('unstyled')->render();?> -
+
footScript()->appendFile($this->assetTheme('js/admin.js')); ?> diff --git a/template/layout-front.phtml b/template/layout-front.phtml index ef2acbc..791bf28 100755 --- a/template/layout-front.phtml +++ b/template/layout-front.phtml @@ -4,15 +4,18 @@ $this->i18nTheme('main'); // Load Bootstrap css by Twitter Team $this->bootstrap(array( - 'css/font-awesome.min.css' + 'css/font-awesome.min.css', + 'css/font-awesome-ie7.min.css' => array( + 'conditional' => 'IE 7', + ), )); - -// Load style.css +// Load style.css, front.css $this->css(array( - $this->assetTheme('css/style.css') + $this->assetTheme('css/style.css'), + $this->assetTheme('css/front.css'), )); + $this->jQuery(); -$this->js($this->assetTheme('js/navigation.js')); /**#@+ * For demonstration @@ -36,127 +39,148 @@ $this->js($this->assetLocale('rtl.js')); assemble('headStyle', 4); ?> assemble('headScript', 4); ?> - - -
-
- escape($sitename); ?> + +
+ +
+ widget('system-user-bar'); ?>
- -