From 8112eb4a7b711d0bb86a8e85ab409b586384d5fd Mon Sep 17 00:00:00 2001 From: John Blackbourn Date: Tue, 7 Nov 2023 02:13:45 +0000 Subject: [PATCH 1/5] Introduce the ability to perform assertions via `qm/assert`. --- classes/QM.php | 19 +++++++ collectors/logger.php | 64 +++++++++++++++++++-- docs/wordpress-debugging/assertions.md | 77 ++++++++++++++++++++++++++ 3 files changed, 156 insertions(+), 4 deletions(-) create mode 100644 docs/wordpress-debugging/assertions.md diff --git a/classes/QM.php b/classes/QM.php index 3d60c324b..095cc2fc4 100644 --- a/classes/QM.php +++ b/classes/QM.php @@ -143,6 +143,25 @@ public static function debug( $message, array $context = array() ) { do_action( 'qm/debug', $message, $context ); } + /** + * @param mixed $assertion + * @param string $message + * @param ?mixed $value + * @return void + */ + public static function assert( $assertion, string $message = '', $value = null ) { + /** + * Fires when an assertion is performed. + * + * @since x.y.z + * + * @param mixed $assertion The assertion result, ideally something that evaluates to true. + * @param string $message The assertion message. May be an empty string. + * @param mixed $value Optional. A value to show along with the message when the assertion fails. + */ + do_action( 'qm/assert', $assertion, $message, $value ); + } + /** * @param string $level * @param string $message diff --git a/collectors/logger.php b/collectors/logger.php index a3f22d8ce..eb8c9f2d9 100644 --- a/collectors/logger.php +++ b/collectors/logger.php @@ -42,6 +42,7 @@ public function set_up() { add_action( "qm/{$level}", array( $this, $level ), 10, 2 ); } + add_action( 'qm/assert', array( $this, 'assert' ), 10, 3 ); add_action( 'qm/log', array( $this, 'log' ), 10, 3 ); } @@ -138,6 +139,49 @@ public function debug( $message, array $context = array() ) { $this->store( self::DEBUG, $message, $context ); } + /** + * @param mixed $assertion + * @param string $message + * @param ?mixed $value + * @return void + */ + public function assert( $assertion, string $message = '', $value = null ) { + $prefix = null; + + if ( $assertion ) { + $level = self::DEBUG; + + if ( $message ) { + $message = sprintf( + /* translators: %s: Assertion message */ + __( 'Assertion passed: %s', 'query-monitor' ), + $message + ); + } else { + $message = __( 'Assertion passed', 'query-monitor' ); + } + } else { + $level = self::ERROR; + + if ( $message ) { + $message = sprintf( + /* translators: %s: Assertion message */ + __( 'Assertion failed: %s', 'query-monitor' ), + $message + ); + } else { + $message = __( 'Assertion failed', 'query-monitor' ); + } + + if ( $value !== null ) { + $prefix = $message; + $message = $value; + } + } + + $this->store( $level, $message, array(), $prefix ); + } + /** * @param string $level * @param mixed $message @@ -158,11 +202,12 @@ public function log( $level, $message, array $context = array() ) { * @param string $level * @param mixed $message * @param array $context + * @param ?string $prefix * @phpstan-param self::* $level * @phpstan-param LogMessage $message * @return void */ - protected function store( $level, $message, array $context = array() ) { + protected function store( $level, $message, array $context = array(), string $prefix = null ) { $trace = new QM_Backtrace( array( 'ignore_hook' => array( current_filter() => true, @@ -201,7 +246,7 @@ protected function store( $level, $message, array $context = array() ) { $this->data->counts[ $level ]++; $this->data->logs[] = array( - 'message' => self::interpolate( $message, $context ), + 'message' => self::interpolate( $message, $context, $prefix ), 'filtered_trace' => $trace->get_filtered_trace(), 'component' => $trace->get_component(), 'level' => $level, @@ -211,9 +256,10 @@ protected function store( $level, $message, array $context = array() ) { /** * @param string $message * @param array $context + * @param ?string $prefix * @return string */ - protected static function interpolate( $message, array $context = array() ) { + protected static function interpolate( $message, array $context = array(), string $prefix = null ) { // build a replacement array with braces around the context keys $replace = array(); @@ -223,11 +269,21 @@ protected static function interpolate( $message, array $context = array() ) { $replace[ "{{$key}}" ] = ( $val ? 'true' : 'false' ); } elseif ( is_scalar( $val ) ) { $replace[ "{{$key}}" ] = $val; + } elseif ( is_object( $val ) ) { + $replace[ "{{$key}}" ] = sprintf( '[%s]', get_class( $val ) ); + } else { + $replace[ "{{$key}}" ] = sprintf( '[%s]', gettype( $val ) ); } } // interpolate replacement values into the message and return - return strtr( $message, $replace ); + $message = strtr( $message, $replace ); + + if ( $prefix !== null ) { + $message = $prefix . "\n" . $message; + } + + return $message; } /** diff --git a/docs/wordpress-debugging/assertions.md b/docs/wordpress-debugging/assertions.md new file mode 100644 index 000000000..f2f359bf8 --- /dev/null +++ b/docs/wordpress-debugging/assertions.md @@ -0,0 +1,77 @@ +--- +title: Assertions +parent: WordPress debugging +--- + +# Performing assertions in Query Monitor + +Query Monitor allows developers to perform assertions which will log an error in the Query Monitor interface when they fail. This is a convenience wrapper around the logging feature which allows you to get alerted to problems without performing conditional logic. + +Let's take a look at how to use this feature and what it's useful for. + +## Heading + +```php +do_action( 'qm/assert', $value === 5 ); +do_action( 'qm/assert', $value === 5, 'Value is 5' ); +do_action( 'qm/assert', $value === 5, 'Value is 5', $value ); +``` + +```php +foreach ( $posts as $post ) { + $before = $wpdb->num_queries; + $this->process_post( $post ); + $after = $wpdb->num_queries; + + // Assert that no database queries are performed as we process each post: + do_action( 'qm/assert', $after === $before ); +} +``` + +Preconditions + +```php +do_action( 'qm/assert', is_array( $data ), 'Data is an array', $data ); +do_action( 'qm/assert', array_key_exists( 'foo', $data ), 'Data contains foo', $data ); +``` + +Postconditions + +```php +do_action( 'qm/assert', did_action( 'my-action' ) ); +``` + +A failed assertion will log an error in the Logs panel and trigger a notification in Query Monitor's admin toolbar. + +Here's what the Logs panel looks like: + +[![Query Monitor's Logging Panel](../../assets/assertions.png)](../../assets/assertions.png) + +The static assertion method on the `QM` class can be used instead of calling `do_action()`: + +```php +QM::assert( $value === 5 ); +QM::assert( $value === 5, 'Value is 5' ); +QM::assert( $value === 5, 'Value is 5', $value ); +``` + +Be careful with the size of the value used for debugging! + +Note that this feature doesn't support interpolation. + +## Differences with `assert()` + +This feature differs from the `assert()` function in PHP. + +* The `assert()` function in PHP will terminate execution of the script if the assertions fails, this is not true for assertions in Query Monitor. This has advantages and disadvantages... +* The first parameter must be an expression that results in a boolean true or false. +* Query Monitor logs passed assertions too. +* Processing does not terminate if the assertion fails. Think of this like a soft assertion that raises an error instead. Code should behave as expected regardless of whether the assertion passes. +* Assertions in Query Monitor will always be performed and logged as necessary. The `assert()` function in PHP will only perform the assertion if assertions are enabled in the php.ini configuration. +* You can pass an optional value to output for debugging + +## Notes on usage + +Assertions are primarily a development tool to identify bugs or sub-optimal behaviour. This is distinct from error handling or data validation. + +If you pass a string it will not be evaluated as an assertion (same behaviour as `assert()` since PHP 8). From 20172a38f0721caedf39868ae9d920e4721b2720 Mon Sep 17 00:00:00 2001 From: John Blackbourn Date: Wed, 8 Nov 2023 01:05:37 +0000 Subject: [PATCH 2/5] Reverse this order for clarity. --- README.md | 14 +++++++------- docs/wordpress-debugging/profiling-and-logging.md | 14 +++++++------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index a5ba4ddb0..9d662019c 100644 --- a/README.md +++ b/README.md @@ -126,14 +126,14 @@ do_action( 'qm/debug', 'This happened!' ); The logger is PSR-3 compatible, so you can use any of the following actions which correspond to PSR-3 log levels: - * `qm/emergency` - * `qm/alert` - * `qm/critical` - * `qm/error` - * `qm/warning` - * `qm/notice` - * `qm/info` * `qm/debug` + * `qm/info` + * `qm/notice` + * `qm/warning` + * `qm/error` + * `qm/critical` + * `qm/alert` + * `qm/emergency` A log level of `warning` or higher will trigger a notification in Query Monitor's admin toolbar. diff --git a/docs/wordpress-debugging/profiling-and-logging.md b/docs/wordpress-debugging/profiling-and-logging.md index 41be7a2a3..86839e3b0 100644 --- a/docs/wordpress-debugging/profiling-and-logging.md +++ b/docs/wordpress-debugging/profiling-and-logging.md @@ -61,14 +61,14 @@ do_action( 'qm/debug', 'This happened!' ); You can use any of the following actions which correspond to PSR-3 and syslog log levels: -* `qm/emergency` -* `qm/alert` -* `qm/critical` -* `qm/error` -* `qm/warning` -* `qm/notice` -* `qm/info` * `qm/debug` +* `qm/info` +* `qm/notice` +* `qm/warning` +* `qm/error` +* `qm/critical` +* `qm/alert` +* `qm/emergency` A log level of `warning` or higher will trigger a notification in Query Monitor's admin toolbar. From 63e6590b6d8c2d7a63d2c5633856a192059cfd32 Mon Sep 17 00:00:00 2001 From: John Blackbourn Date: Wed, 8 Nov 2023 01:15:54 +0000 Subject: [PATCH 3/5] Add callout definitions for the docs. --- docs/_config.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/docs/_config.yml b/docs/_config.yml index 1ced0f29c..ec58a5f65 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -26,6 +26,22 @@ nav_external_links: - title: Privacy statement url: /privacy/ hide_icon: true +callouts_level: +callouts: + highlight: + color: yellow + important: + title: Important + color: blue + new: + title: New + color: green + note: + title: Note + color: purple + warning: + title: Warning + color: red plugins: - jekyll-redirect-from From d7b6c36abe85960a2eb90a67e968f456f131a0d8 Mon Sep 17 00:00:00 2001 From: John Blackbourn Date: Wed, 8 Nov 2023 01:59:17 +0000 Subject: [PATCH 4/5] More docs. --- README.md | 66 ++---------------- docs/assets/assertions.png | Bin 0 -> 154835 bytes docs/wordpress-debugging/assertions.md | 60 ++++++++++------ .../profiling-and-logging.md | 12 +++- 4 files changed, 53 insertions(+), 85 deletions(-) create mode 100644 docs/assets/assertions.png diff --git a/README.md b/README.md index 9d662019c..6fec68218 100644 --- a/README.md +++ b/README.md @@ -98,11 +98,7 @@ Currently this includes PHP errors and some overview information such as memory The response from an authenticated WordPress REST API request will contain various debugging information in its headers, as long as the authenticated user has permission to view Query Monitor's output. -Currently this includes PHP errors and overview information. - -To see more detailed information about a REST API request you need to perform [an enveloped request](https://developer.wordpress.org/rest-api/using-the-rest-api/global-parameters/#_envelope) which means appending `?_envelope` to the requested URL. In this case, Query Monitor will include debugging data in a `qm` property in the response. Currently this includes database queries (including information about duplicates and errors), HTTP API requests, and transient updates. More information may be added in a future version. - -By using the combination of the HTTP headers and the `qm` property in the response to an enveloped request you'll get good insight into the aspects of a request which have the greatest impact on performance. +[Read more about debugging REST API requests with Query Monitor](https://querymonitor.com/wordpress-debugging/rest-api-requests/). ### Admin Screen @@ -118,7 +114,7 @@ By using the combination of the HTTP headers and the `qm` property in the respon ### Logging -Debugging messages can be sent to the Logs panel in Query Monitor using actions. This works as a good replacement for `var_dump()`: +Debugging messages can be sent to the Logs panel using actions. This works as a good replacement for `var_dump()`: ```php do_action( 'qm/debug', 'This happened!' ); @@ -137,45 +133,11 @@ The logger is PSR-3 compatible, so you can use any of the following actions whic A log level of `warning` or higher will trigger a notification in Query Monitor's admin toolbar. -Contextual interpolation can be used via the curly brace syntax: - -```php -do_action( 'qm/warning', 'Unexpected value of {foo} encountered', [ - 'foo' => $foo, -] ); -``` - -A `WP_Error`, `Exception`, or `Throwable` object can be passed directly into the logger: - -```php -if ( is_wp_error( $response ) ) { - do_action( 'qm/error', $response ); -} -``` - -```php -try { - // your code -} catch ( Exception $e ) { - do_action( 'qm/error', $e ); -} -``` - -A non-scalar value can be passed to the logger and its value will be formatted and output in the same panel. - -```php -do_action( 'qm/debug', get_queried_object() ); -``` - -Finally, the static logging methods on the `QM` class can be used instead of calling `do_action()`. - -```php -QM::error( 'Everything is broken' ); -``` +[Read more about profiling and logging in Query Monitor](https://querymonitor.com/wordpress-debugging/profiling-and-logging/). ### Profiling -Basic performance profiling can be displayed in the Timings panel in Query Monitor using actions in your code: +Basic performance profiling can be displayed in the Timings panel using actions in your code: ```php // Start the 'foo' timer: @@ -188,25 +150,7 @@ my_potentially_slow_function(); do_action( 'qm/stop', 'foo' ); ``` -The time taken and approximate memory usage used between the `qm/start` and `qm/stop` actions for the given function name will be recorded and shown in the Timings panel. Timers can be nested, although be aware that this reduces the accuracy of the memory usage calculations. - -Timers can also make use of laps with the `qm/lap` action: - -```php -// Start the 'bar' timer: -do_action( 'qm/start', 'bar' ); - -// Iterate over some data: -foreach ( range( 1, 10 ) as $i ) { - my_potentially_slow_function( $i ); - do_action( 'qm/lap', 'bar' ); -} - -// Stop the 'bar' timer: -do_action( 'qm/stop', 'bar' ); -``` - -Note that the times and memory usage displayed in the Timings panel should be treated as approximations, because they are recorded at the PHP level and can be skewed by your environment and by other code. If you require highly accurate timings, you'll need to use a low level profiling tool such as XHProf. See the [Related Tools](#related-tools) section for more information. +[Read more about profiling and logging in Query Monitor](https://querymonitor.com/wordpress-debugging/profiling-and-logging/). ### Everything Else diff --git a/docs/assets/assertions.png b/docs/assets/assertions.png new file mode 100644 index 0000000000000000000000000000000000000000..c368c50bb8068cc022f43d75eb8d2f1002e01e7c GIT binary patch literal 154835 zcmb4rbzD{J)-_$yjWj6TAsy0PB5b5vq`SLBq@+X|K}0qk(%nc%cXxNkx3=fpd(U}) z_gwt`1J>HlernD+=9ps=rlKT`hVmE%3JMBMRz^Y%3JQ@B3JOLK2?6*^=+GcF@C$>5 zI>-s6sK9S*Yt3S4Vryi|;%03JJcoi36mhdNG`2K#qA)Twx3CeS+OKV-qOdR#qSEA6 zWK*;gH+^j(5>->esmZz|W9B zvrl&kqB?2~oXva5v-6Wtn4gotbcvo)Xm}_UWYvS&+Cv6^Mlk( z9c`_gAzv><#m>dW%KmGpU(dAu$Fu)DdTC<;%$MWW#~@$8uVUe5YNaJ%VQp&T_-oi_ zY|sABQ_x?Yvh%Y4<=NE8%L zPiWqbK&gqn&UA$%rbNb+d+(oNBu#*)QwwSeDSSrLW7VutghTW6-h zlUpIw$e<2}78BHuEQ_m>i{y-R``$vso(5~r2xa0-ru+%suj6SKXZVGdiuh*&Bl8l` zCkTH1K@+SZz5!56PH(LYGX?CRvN9$A^!2 z*~~>TjLe}~>0peg--@@n|BPV}rhb9j5=>Z#=~VhPIvJ@%xa~L?z8RSzIbsO;kU{^o z_?Ng=jYD&HwP5|~qU+L`CzW#d&Xv*mL!Dgj%5Yv#d=azKdLkDY0)jQl4VVc+itp=M zvQj$ni%`dBjhe?^a?9l9Qpt&`A>L)|pcQyfbg(Pxt{J@Jg zjP(Fr?01v0u>36nsxh#RSV(~Z@s6Eo$nCPo45=6&TAJKeK`9K~;V&nb*IMdS_-xTj zw4bX6ykSbyK_bXjBOi#v?Vw>;ZVPvGTP*2uJ9tWgZ6}Ip07C>OGJxrV&N@r$Aal#z zL53EjfY%a5B6<0v=`F5g6rmoDDEkEt6(t=Z3BlJ5ya1{$Us98JP3h>o4Q93XUGT~j z{fJl;7<0Y2pW6cGJ~SJ5y}esZMPwxJNJh-ByPrRX-Ej>;OOnB(CO+uO#sFalhCOd% zGeY`_&eL{lM=pr12W#NmtW`DMB-k*GlZMHUgn>Mclp3VHEctXOJ?lM8s)~q2eE55E zM}KW`MOQ)0^WZHNqVZNVf9gGi+hTj)jY-l{l9w|_U^d^OyJ=J(x5o?u?>OOeP&46F ztbEDx42u?pzfujHMqR3Qd}9A-+ix&1aK|TNq7OCwHl4ZTazc0q)dfZ%l(ge9G>$+B zx1sd}79W|8ZWLa=Ws`OtRhrIM>Z{O3e_F-?6Mx47$M44kruvz7r8mTAyf{x@WM_eQ z#At~3ki=*-f4DyGaI$x?hZk*Vq!ZD%UBbOa$QnOOO+H41YUsSWzQ*ugZ;65~?!;-h zLu_=cWU6xh3T<~rp-;oC=1_Gb=BJO$?=_6NaAyjA&MLhCBj|^L1l3GI(&i@-jndJ) zQMSmR7$9r#_#>L!b3PD^MnHuD>;!6MpsoSyYq-#6WV^>YP>D_4c8G;(EC(+2 z0TfSyLf9~2+i*+7NH7V4f-fkWWu9P1Wm9d+;8RJNba9!Wt3@)2k5MH@KQ_T|z~u8! z5$BKA?t;xGc8~B9V^=2~eIB7|>BQS3Hu)Ov)7wbNvca&|?ED0}L4{KJKT}`Bdcf5C z>4^*cBzR4Zz{ahB!P!c}j^EL2RLsSM6Klj-%mIeU@7O9fyGSWANCjb>VbLz3ri2N! z;E{yTE_!)U3B&5YEo%S1jONDZ1Mlm1zBG@-6@b<3zo58)ErnHz6pNG-gwmqX0^LG? z!QzZHhZQCvl!f*ary)GAjburENo>cfO7BYU$^fq7JG}N}Y;i1=FDm#iDpfww z6VU6%4X87JLmN%}B-5AK|E2KDn5weszS{iPyu74*_q_JJuo1Jo0*&bc7mZ#2DQRbG zXHVzID?;a_E2>lLt607NcGmB#-&pTW4O!h<(@tqj>s3%smFzg|j!o*8 zO7G6@mhCd`vhru3lc7_EI-`@eBDL0qgoVDus9pTJ*X6?G0Cx6T$X>_YR9_m|IB}?2 zJt$w44^1b!>zkbA8*mRlPQ{v{Zjp|A|C;P@s(mhaUv1N2G=A;z68~^T_i21`VDg}K z{j{QMh-cij;5q(z5m_3US`>ejjk5fJ(*VN&F%zi;?`t7Ynequ#mAVsmY|Kq~)lSKM#IA_`0g<`ne#h{bvL_ zMF?@3;F=y-ai?uU+`g@9qN=Bg_K@3f;K_UCiI@Wxb~bzarPL?WPqftJIfUF5 z92AeP<1*q*=~F+4M12z868mQOjjn<|A}%4NlDojx>0l%Nb8Sae6g{bRe2IcS-bv{st;)fuh)b-d0*ancdr7W+!xI!`LE{G>xL-JN)C`B?IJnxKjWRJNdCMMt`To?G}3p`|!iI{B5F*{+9}{+vMj})m~x^HqE#K zw_1mr9!ESIJYo%1&2A0n!bqLj@(zc-58V1=W<~WHL?A7FQ}v3Bty}))n%-^Lv2km* zIhBURVX2=T$;o0o-0IqznpQM6EK@fo@<$1rjU_($lW(djytc=!m#kB#m%o1>a~m7k zVVf$c!Y_y)b=fB=J02>`&{cGfbWYwn-RgA>oGqOlIM3d%Zs0Mp?G+wtsJYd+&PQiM zkK?95d-2$VxQtjJSuL3#J%rrK;><$Wu4{9!vehhqY47KqaeL=gq)mt?F675& zXv=Bwloiv*1RdR7ssysHhmL;^)auFTdF|2PzSti4mRQMpevfycslESou26GG^R|ef zf!(caw_tiYp<$xodjDwN+eiPbd7lca5E=O^wOK zP&;!lQTi(B!U%q#$53H{pgjJ_r{)lJ09alzZvg6q?Sk zBH!;}>M6Z!^(npzKtYK@$x1v|cZ1$ZMXs}XG1)XOR7fw5oMbN7rGDZ~Bo;&86PL+q zoQ11Mr-&4WBKu|Kks@yJYtcZ;54az)eh4R3uX)by-)RcjZts-MJI2{2 z@2Awy*N?yQEV!TZ+^rZZOEXvW*vv`%qWp=Ao*p~e5AF#CG_s5+%s>AaLN%D{U{5EJ zmiQYl2Q;lbVy$BnI-hYooGy5H@Fx`hU*N7jr5y(S*1IVFvM;_UBngW%gx=CWFz;Ur zGoXNGCPd^oeES>24+e?OXUoQZN;xY2jkhWM@8GVSqNd2-Ha@t8z$(|^oMNU@BFum1 zT@+}%_jnX{alf(OpKt~x-#9)?i}{Ur8Q`wWWLBd^o<4NqkU5UvY$QLkesxO}CHKEB z$G?{I6>}q*%R=qX~Smj+;(X?9uN^B z^}RW~)PoFUQ8{V0efCsA`F}W(KaM99NrB9QAn$zERsU*gydj~m;c9EjXn<$l%OW?` zMQ+;qyYAL@vKvDDzWadZV;z=;izTjc9Y<~-o@w{3yxgIFf&CfY+g|;<(h`v=0Zm=! zmkm!)25R?e7z>J9P%h6$@?PMalWAF%v=6OxfBw?jKYo(_kSRBH{kpnCUD<-vqsg`n zeD&w``_^;>`e&tyIXrcXXcmEJ&t!U;zw0#Y8Ak~vDDiJ*pIi?33fEsOg;OUamP8+z zChCrt{73%q8vqHYj*LuXeIwr zP&xHxP|et0u1YUvyz%aIlX(6@s>r0%>)|WH=8ttO>v6T2%M%wqZQJPWab7#0Dz{3t z+H!;jPn{6a#nX7%=d@pczIJPKCr*FfhNGOlp6=VQYm%#&oIvJtv8Y;7Sa;knP&T@5 zkW_crLHwc?-@i(IcZC1sr!=`D8zI^zSNdo7D5=1}@rQy=y@CM;i&||x`m*DIP@>Px zGWohg5#)}hd!JeK7-Rfhp|E!bpJKnQURdr@JF{8hpN4 z1&5|QpnIE}>OyggE z3c)B;guS_Lo4-5zZiVMD>pX7yNEQ8s%O2vM!g{LfoR4grsmMyScsdMZI*gO^roT-SvZ>OP7X?3jaN5GT5sAbj%__%PcItVtQ0Vo0+-(Wax6H$mcX) z>SNxETr+qAIhM2SAjcb_;~$*2N+Q=gWs{PYc{)#;_I=K4!EyXI2d#*pHLTF`V$7Qr zT9HW=7O57xb>90yag3b#`@3`ds`)c>k!vmVK&nF0)g_kNoe#rd7q{5A=NL@%MO91h zZY+U~D17uGYSAH~g0=BDb)PFPJSAg?PK2IVZb9vvskEw`miXPxx=1c?W;~3J%Y@T! zLvyIH&%t%%JBZ^X8}s)yF#{@4iJLX74|#Vs2e>P#mRr-!7RO1`L~HtU#=YLx!iapahYpxz4$7PS4-Dw0=6;$}du)P4{xJ#)f#x7TrxU&z+ctyVIiF zeeZow3t$K3<(Wz(Dp#o0@{l4VR7z*U^{ii18)Ld&l?^cazj*!f=uUCtRKhIR@fnj`NlkCiyVRAf8m$q5COvct`ZGk^r-d z<#&0OYLiIEAz51P{xW6$7+)nP>U8JxulB00{|-q16kDVK1cSQi(UP;OP1hGv({%)U%6$E{Og z6!w;Q9I!aX^eM07zGM8S2BRo!h25V%(4kIa?X^Cewu=3nfm*z#g^AYIri zx6f)P9W#-ztF7th-$s2KJUtfOcz?TJGHqMij6i&HO)8=?5v)F&UF!3s6tLkOE%Q|F zfQq_VlUPLukWR6l@9pXBQv5b$!)bx-u500q{dU3kwe)?rPJtnZUS`d-o@;@fVsSC( zcg1&xsRjjF@uQmh_4XTKv}vz*Tx*6Syq?ucr>=FoJ!qTaI3M4)YkiM@&+2>GdmL~7 z{cqzNu&dg_;g9-&u;UUPeXmwpP(CDg+mi9o@(V=@aCL`6 zh;2TOi?u1fp<^p~jC%exkRIw<_v=w$`S%HO)8JfMj zviyT*5-6&lj~}wDvm9UKWlDW9>pDL>L2i{>{^gNtc3?31&dl!j`8i(ipOOSQHH}CI zO|TekHpT+Du^@dcp1c8(d#}jQUR5}FQk$0o@jxJBkbWvOMlZ2fyWbE5PmR5P9M#j< zN$y)`cw2qY@<_A)ZhaltuQXpEINVzo?qFsWlCkf+;BNVYmgIh4U^WCVZ|Ed8%KfWlfW*4siy_@I*hCji07d zqcpcYfDD@mpR!R|vK7`H^+Y(|L2hkMZn{s6|9UWio(%cbVCay`v~}Vca2zK<5HWq! zs`7TxhYJqgpzDRQ5MJ$VB?MA5&fg$CYPnoXX3Z=HUu!$|aUUN_;%k|R-ejUj7kzKM z-Q^>+QIkLaN^D*JQ{`u3Rd0-b2z&OqiO^ zhsF^f=Y*T$1E_s)8}14eTQnVT-Q!xnt;?r1rXdJK>lYx3(guAHo{?!)Cz&VLm~7jX z4FJPln}l*B^Mx4v)QpEjol)`2a}-8!^mpIeZT(^3B6LC8rL44!1Ztgl|ky}SbNnf0{pejuo zukwtFF41M)`@9Z-E$8dZ_r+FiTg7p9NgijD=D9#br%xBt3UfF-PQUjeDlciAdXt}{ z*?2X2c}^>Q80NGZuW2UVv^kthI~F9-92S7JEjQ!rLPfWppy#nkath!vpsMz48XTLA z(Dod;_H;~peHl16+hgGPzblpjkNk>9VUw*&Wm^@uC__m;;DK2iE{r^mx@m_8eD98( zez140(B&63c)aqtT+RPkdseFx8q3XAeV%EuMpge|pb&2&=z;jt1V_n6B+rR!JBuG@ zNLPj~e6dhRM%BZ7SKJ0kCx|ti>~(b_ZE7~Z9F~>L0-zaN?%5dL4G=&kRMN1ZOrQ7~ z#t_7)3}z0_n5TOmy$VXd8p&N!Z)A4YHt>hPBDGxaOwhJT604RG95dQU08l>urojBA z5_Pr4xQmWa*wZ0`#*6myd7o?3z3cr(U+Rd7=j`tsDxIDauh&$xUpckoY5qvaoe{aK zItOV$7G)DZ?)1>2Bq$*UhEN9>6ffg~3jprGI!nCoTE2-zFN2AAt*5wLuDiGO&TCGB zS-mn1V`RKc;$LdW>RdWoVDlakNCm2VMezjY?> zT9}Qur?cIH?hN+WZ70wdET|ZJ#W$5ack)GDm+^x$YD|q~%i6_q)W9kuvsj|GO?CNl zq<~psIV567lHY$Dk6JEa9_Xy#Bj~gb*Nz|XTI00HFQ|M&66r~RC`FYXQ>p!c2~zmS zP_kL{#L;u264u%_gZlOW1}A#fMEGP-Jj@$cpRNxCdzcZ3-qUQK{EnkEN$~b$cylq7 zT&Ze4#XQaZ6MVkVT^DuKlQF$EBdkX~Hb`mVrE=$cXcwW8%YnRQdlP`x^32j7H=y?$@9$1-_kA1v4FR)% zSv`@l82Ml_>PE}931ojM!WKi>hkE^m@lo6qwpEKET>Ev$UrZCUXqd|f#dPJTAF@RN zAp))ypq#c{yKWvtR5BT%NGGQ%dOzMhG(pI?%fEQ9W!J8q-x~OJ^Mp80EBL`AR3>8_ z`K!UssesAd12zenggBf!+u2|r8{@<0yx|N}*gWz38v)^DLQ9P`9-ak-zaC9S_=sME zz?$MiVDW8MZ^&vO)<@e`925-Y)}2v+K1CK^D6HMMD?NOnus<%qU42nZe%6cy@_N`m$z;5Q7y<)*>%(>{3S+@x z$)=Pptc&}{wEfw|7XSoF%IVJi87H>sY}!_Y{gF-He}|_uaQ+R*s&bEhhoW~11~^;Y z=GRoezK4wy>GjiRoL@crnvq`X3J{Y1Lpu1L09XpI-d^_VLu?XubQ2xspyU>v=o$9I zCqT#w_?5^+0Smr=I8fjQ{L7QEp#Tn+A0@i}H)q{eH{XE8~-^ODSxP5kgn^j z^Coa(6=~DljQD}@iG3?Ibw3-Ye}6SzyMq49!n@Q$r-9!eybzJ~sozMUv?DeG-V7(T7+~ZcS z%7NUApHq}xORj9$^rP7|okt|!+Q*bV&$;6?=w=ltQm=z%Ei84R>akarIn8_^nAB&7QsCxBREii6o_}d`&}RX zYK^Cn&wEo||IO1+hJRT)Fn25(yY8onPiRV>B_ma>r+Iz>_-yaIBHN4p4S7Pq3Ktu8^5uvVtZ2_wE42w@0;sL%SPS5_1Cg{><_H72umfqd+3t4$}LzsSuZ z25efenPdm{vut8moS1~aKs7PVpQz_IPpW2VWt~U^~l-xS{Im{it!3*C$eFOkVP18YXNF#)ffP`W*$2wod_xC zO&3p87=9$jA3(6IrjEU2*)ZAP%b{j4{)|O+9GM0Z8?YQ&aSd~jT*L{I+v(pOC0YQC zOW!(juf60SCO60kCuNP+0c0s6w*cokKrStu0)S$l8UV%)hqE?JFf!GoMQPjCbF)u` zD<1Q`0F02ueUBpqOLVbid5>O;2Gar5Ma zpvTH~)U%G~EpB4ohStv8na(iXLh|Z9rBSl|Y@enGj)Ak2&0))7FqsvP;356Gfn|(F zQL}B&kPXRFgof^q3fzCYM+*NiX}_}rh|SaS_OwFCl*8oI>h&}M@4Msl0X>_G2%Z$c zz~0Wj3VY_V+s#6{lU;-N1VSaY)u@8Cp3TiT zLzvj=A6~roz_rN%n47``e?&-N5?uhuHTksau9ht%%MD1%Z;|Re)*Xv?)J$|wcw)8$ zqu~l6cZY#!MxOgvo5oh92pbS>oV{_9Lb3y>;~ZO`m;J8K_}BRe)Bb+w|#w;W;XbWD$lp=Y}H3FTTK)f;-Sq;`ADCt5n% zuwH%EZdRYe@Exk}EXt@H2PxmFQb#aA<3^HU)A~U*mH;`>zb#Z+AXmGniawMeVWCuu z?LL~X7q6jhU2y`qR5s?CjjU1m6^{?wY`p?o>T&yE-OEDPdd7RjB#x)vYn`*r7(tS#ML?~AHPmy2`gS0FQ zDjq-Iupq}d}pIY639nHgDGQN8fR6!)aY9t|HAGW{^1)n{X4z*8op5_V{Y?wck-_s6I zZ9)W;2*g`GfdLUUP|vH!6!`PV(E*;RO+Qa3d(Wsq1#InmHJlDGEVYaKK($p+E8vt` zyjmszwe8^je&w`H#Phf#F@Wv#N<$;-k?e1VI&b@dO{?ppIXm(F1wrDtqyAq5_bxV_ z(B=qpy6P96`b=!*PxY zG`vA^3rm)Q-C~cJ;}A>f97p9$1>=WHfdN{nMX5a-Z_j#9pQ6z4BhV#&^nV*q+G5~N z_vIqOQ+Wjv@LS-WU$)3$m=1IFGQ}#-yDdj(X?0`hSR1v=e1cS8j1S$w{(JT3b8j4$ z*Ld(1y9DMABZIQ=!~5*$-<29=!^2aKsmhGr(s!<;8HQrx0b~FgwQ~IqM3CMM*RZkR-F8dbpb9e%7 z)>-M}`aAO+r4|qSP*N8e2q(WCkgc>83L%)?(OzIn*!KpN>fdf@PQE&FF7niEKzAnK z{1)TViW7P&VN4Nl?thMZ-t@!GEDLJA2br)fv!2LWZU!^mWy-?+2w_)=sUlhN$3`~G zn#bQ#Y<@~Rpf0xd`b1X$@SP@VQX7QSrv1cH+C>#nTpndyIuG2BbybC7UJ*U4e&-Y#a2wMRe$6!#<8OFGSxDWyo$I-a^}4LdUl`8 zz{1}lMr#EXlM>a%)zcvPIkQf`b7=yR+>p}Pj>Wkup%U42eZt~X3jaCkCIj9v-jQHB zg87p#JUIZJN}Ea7;t?}1!}m7wr4e0+Ts!sR$L6=I)B#k?E8F__9&_ziF*OA6P}_V4 zrV%eOHrab)5boV@7nAwgxT5Pv^w+K^_l$<<-f}L0_C*-dY|GplqlWkIkXxaiLrmGeYsr75)IHZ{8 zCpoE!#BF)X03o~AzidEQfZRL)etQ&L(($<3XLXiur?_><_x{{>{dm+jb)xTJ1 zaG%0o16dF#gz{~?V=SC_69>I$1{9=c^g2#OY}7ZUIntUO7@6_{*kbkom_>y7eH1qJ z1h1z&3D0c5TT3aa8Wk9nT zPSXI+K5oL@z8XOe+`wA9IUd+2fYYCcgzIC25x_+x7x)pHyfMoRz>a&)#w20K+2O|m zt66ov#l=b|FB>bO)2xv*Dp=~Gwt|sp{L+vHdt4Mt6|WG>oe<5`;`Hh+!4EEk22+kT z&i{uD6Fj2;I1+OvQH`9EB&zvTg=P(h^X_&L!}qnqfq^I)B^e7P7LC^+GCe%wc5y-- z5Mg^>ESrhwaA&2^jR!yC$*Yn=-EN6taLPMK2Fg;Ftm1@BU^&-lQ_-=Js*SAhPco48<+Pb{-6>h!6xJ1y zzeX=7Q3{%j1pKgF8u9e>Gl%yWafjnT!LMV$?6z0Rk47N%46kQJg)Oq}!qFY={8uV# zu!i|j5IeEmNjNA933f3MIZ*G1N+&mz*)b{&Rw%RqZUAapq6Tja{y6fuA03Cd%(@>e z`fJo;N0NM!v4W*2|F2t*C92ZJ0i{Y^$aS@sK}Vy~aR3Y#Zun{j@n&VLG(zh~e+hS0 zlDI%CkXg&yqs3ZMMt?}DwKVMxfG?|pOn}HH0=l6?7AW`nr%_;91}zS;B6Rn@SJe+P z2>uSBj`eg<#iB6VOtw*XP#b?B7?yYs)3_=17*eG^XpN z+*8V~jhin*xaeWeTP7W7T4tShV60*B5|q32nf&&(F|$HLDClDrn9^6Fg)%BP&ErkW zEq$4KehbedOHjk3L$q%phv&XX878QbRMU3;k2~#h9(Ug1Dhw~9Ay(iuldwVaDK}VGcbJ#VcSv7)>_^yfCgz^W!~f}wldiw7+r*) z%21PN;~r3|YIf{Tgm~UvkWMRYFTLH@_*;O(%xF|1ZrC~gjw8}CFfJa|j~(+nkkKY|uX-cQ%GxIC zx^xF#tiWzQVdXRGYg9VA(7!*`*J^gVJsn>sx{P7Me}_sH%66eqb0+I*k0! zW{Vv|_Fx{>01CSGj|ysXDdOF|{BdRd{Fd%Dme(`sm^4x9!NL2>b1A?Ugw==y?QbFw zTSbrC+zcf)#0kM$0ZE#oZVq-)onH2`3x)r;4>6d6oW{?qW%MlaGek{N;~_bkd%Cg0 zvjuOd#UEwE3j77+cAD=zJ$0DM`XB9MIfF)w6&wtN_UzVYY}}5*P1!A@5@3n@fC@m| zH%iAJ?9w}D(_{7Xt$E?sPxmnXYI5Z=6oOte9@_=X9fX9a;(-I+dydsY!UsDCQBG5u zgm>|Z&wm|l2aJC=$ll45w8J5qhUra602b_8P%=O&kWF+j#5B_l)gJXQ4ga((gDF5ylsZncL}JsdBKTpfVq7m7abXMhJ?aFfsPv5*f44kQ=vvB|pLe@l4Z?r{4pPn|$fUu5$HODop#1Mwcdr0vx3^*XVUHe{UDsEkU%$>FnjqEY+}?BK{5E zD7&O{$>O3$AkA;{SFUc50h$JtQ|n{pvB>@9K;4*IzCHB}q|z7?O4R{74nU&1 z6BIH>2*`qD^HPJ6m93kMPEOCMe{qLRAF0>|y|NxnN<)Wa=#caXz0rx}E)lyZHsTZ4 z(ShP%Yo~abXV9j`ilEY~b%|O|javRPJ~_KH0}IvwQ2RNODHN??%&)#&rP_4Zn~$(oQC72XUd4Ys=j(q$n&S+UY4Sv>s8+Hd z;hlN-da^U2eRz+b7?>XPoea2T#HX+WOxDltgaJy!yte~FPfQ*~KO-pgk+*m%*wcd< zmpjU3N2H546`S4n1O}wOjM-pgy}vltKI(O${Z|hsjwMP&c#A&OPxmMp8Att4O~Tg} z5P$TNO%wV?tSW<+{3{6MtIy{=d(%mGT|XBM{tS+I@(Y<51A^;f(59Jw>Z-- z$JmG8rj?Gmn#LhS-uP#U>URM#9q@rJs1(C=%}<#~EJT?ADdr`~xLKty2wnYn$rf1# z@NEV#P$*Jy20vI(dFW#}x4zkVUhTOy)}}jC?%zYCDYKaiYWyuPnJG*3UIBu)(iUif zcO#ERk?}_qM_5PlfDq}ZX^Wlf(pi#bIyLW%l;!jOH&=E6Y~P8m0+xNu7u$jFXV zjLFBF6_i>Xk}9$GK8w>w5gYZ7cH3<&)tm^@{1pf`Bh^8Yij!fB+(JNfsaXFw)#qw6 z;+c;^q-hFQQ293pK>DePQE^)f1gB{Nj(}gZ+Iv|T&J&IMSH{K3)vU~{a=~*3;|5qu z(U9oxf`iidtK83HqlPsWXLNw-K0Q5`@cqUUkopo|?-&HD-5MVVW|IU(7*`=$(d@3| zXgzN2HU=>-!C-|Y-GZi~_X%enea~AY1MqXbnfplNlg*d)8W>30B#FSa>@tlX-kYe5ox zDVy5zDwpynx&@EmzEu}c3Y}3=&oVGiO`1P&5(B9B&*z%Kc$U=tyc2KqKDCo8 zk+tSfjxooPx5EZJ#SVb^pmka0=M8WtbD-YvQ)&Re7@Qy%E0Ov3!D*(FUo;^O0g}_y zNPzn*2P~g9PTUjVBK_z_Tv5M{D+U;(2HRySNX&d5Lv~(*#So0fgQ5HOZ5taKvHgjL z&$6USf*LJVRVrT@L=^jMpB)!Sr(+V8+I7iQlikraf(iBp(Na&y!aG3D=J> zLkkc?wdz~x>D<`^aPHd=F)s4}!N(}3X;u{-wq$>;A{>iGR=NnibootRFE;7 z#GR@#^-MZ!*}#x~oN6Ti1SSX4KPZf*32L^a<}DjWB71f`@^V}6ZEa)%8|T0b|3{3i zAlGl@6k*3d1kEYppT7X3w+b-?wy!=m1{r55w6;VwgZWKOvnMwzN9(xceROB>S^RqH+`=_9qJQlo9 zt3GYpr`BGqU9_j?DlJ#`3UhC{neCa0&huW~nRSNNAdIci5o(DO$QJ?WV!b{tO(`2Y z;wslX=hl%*&;q4j7&nCCZN)CtUm+3!%B3}4NRsb3gpt+L+e_oXz3&_%%n?kD1#_`z zmNayqI5x~)LBrE*6O{^6IirlDu2Svdjrq~1x4N{(YHmp)=-5G%?!%no#d20jflj2V zvr@`oRmYa)@GK2ydRT!1t;J$6LI3lm)NdWcO1dQDE{uP5kuFG9U!T+wM3Z2cnJg|D~@cp`5CQXeyUTET~NzGiF$iCwF)ar*;|REaIu_ldBTq&Tn_TFmkGe;$^zKTtuabVC!8DZ9Kby{vCz~C7pmDW zSBKN@oHV{3+Dlk;BjTKEFA8(FIHEEN4=uFTHNiY;%d0bu5JSkrM3@shB!V5#zi1(N zqualVbbmMgMi1c2eV;JJVVYe?>+$zdZ^CKDRnlRrvSfLoHMfLKUfGk$(;#F4CY#|5 zQxa*IUkI155iB|PLJvPCQtI;!#_3&dePGpZvQSz7Pln4a*>U)?@UKd75{ ziZOiWs3}3sK^1*~$BXZ~CK^OG^k&EPUQ`QT2H%fb9XLU%8md}>h^thA&jBn4jTD-7 z1eCDk5lNj?jH2nsI9joTjOpmQaTfVwG>(Uub{ALJ$8g^{hpIeDz}_Zlcb~ZhdeE9C zsQj`pOtF2PHKb-4&1Uc1&F7Z{Jhcs-e?i1FWYF(%*l3!LF!vu9Fc45mUVkc?h*4*8fG}-sFMgGk z3~sOpW4H;M+d5GRbis~}0Ci_(N`)dB=Yd+71;w-qloIqc&=Wd)yvH!9Y(8G`Xv>HD zGke8Dlt7z+BYzE&POykUzuX#ml{;D&H_mh(8Y?~HA5YT5O;;^NN3rYy*3JHtiN$KF zNp&VuMJm-eEbV0x*g+M(T#1D=G4yPDtx%H_xp>e}_?O7}IlpfCfJ^X=4m&9>B;VUC zAT$Uu;$ru2`SZW4-oRz`PGy*URSma214$kym3idY;ouGPbR?d4ObLMm(P@5!m|KIR zYbqWulgM!onP4q_YeyUltWwf74925!YqVw*eAU-$VB!2p+6=iwhEr@3=qgC^xiqg- ztAaH~lhYypgW(#~hO-+W-OF!0$zgSV>IjrYJ?=WP>P)D@sr_4^KKk9j$FtI?}ABS;R(q?MA4fPmAp=KBJPQ>m^HL^rX z87w~`rDhGEV+EcJEX7!zmZ>4OVlRAtT?P~;X^qN#H1*}Nd4SYdpvX7Was(*Zeop-wvP^`|O&5DlhsyY~4{u0L)G6ZQfzFH!sSYdS*vq<5yepz#QNww_R` zvP4s+m6F8EBp!%q8pl9c_KX%how3j=f3*{ra@fHLJ;y%fS3ieNQgp+d_}7B=pI^3| zEIR+1j-ZoAOrG{HzV^TW=pQDY0sP;K(GS1Vzt{RSBf!22F5+PUj6br3K`DzG?ci+X zSIEWcAo7Pu5mVy3mVVvbzZK&DwMjr3&zm#*+|dI4FBbQ&hyPc=0gzs7?o;I!fC5fd zD29mh&+`21V2J2sUXHExpT8%%2?=xKMKv#sx}w@&^Q(Vbz~5x-%W-~ps-2q=6`=qA z{I7o{M230A776!q_~E9^Cf=tR@XNgQCHV3W&w={6DEzXF3im@gX}}=fzkp#N{QcZ}_5|F1(0h;}5Y_E^3IFgiBx*0J(oNp1*BdQxGkrN4!M@7Um!3^cS}v z+6zYmbf3#U>PWCBQu&RIdwQ^&zb}_Kdt^|v+)Qt=RUV@|XLrQpZBZS(rev$-o>_jJ zoUrwkBGw#G&O!Dpl8RXN;c>Ay-Zyzi2_*|V&M9tIUZ?Lc`J)?UHm!KvWR3`0)sE-1 zuO*ii#6bjhV;XRs zr7cJ|38XEL=L0t&JNPF%z)65O8jG0AHHG2aT&H_u*iLV0>>n$D5;aGblOyBT2b(Tv z?SNj3Y@pSm#^U*}CSygOS+06ONv2%n-e>tK#PS?&{*#K8QYwGN>_!NX9Dl-e16sL; zBY5UM4nX>VHz5V+*l4ms>I0x-gyxOy>6bsuUq#HZlEjA5aUKC$G1fld-#6U$ z5A2ZFSpt2jBE###=hfwaWUX&!$L(+O5E%npWP_b&-XS!ot>4W&==*UZkAq$y&=!v! z9p@J9Rl1;;pO$E5Ba(T#93bfm3RF)j?ksUD$o(?T4kYL}KZqRccz(`vKNXP3onKIr zQ=j)+DJj5=>-&0NZAgnu(cM6(Ij#Z0V=f=%pj3z;2Lh#K0R4}<$8hr8h(-)VZ+HSM zl$%Dh9B;BoNEu3!{0Qh-fB#009B5K6zrVZw?%W6Ia``1DV@EdUbvIMP7~mG`tQ&`0 zrMe_mBC6H>vN%FL+aJF9r#7~O0~!~mTvE<(hp0#vQnU95dQzS#ALNJ}%`xUn+Cpny`(NLR;d&; z^xRixa;t$h=HVznL2=UW+Tcj1o|Y~PR|;>;+HaLAD_94H>?yMB!pkC$ml|>gLM4!P zOce&7W#W06ZE%^A5nFMRfj=A2yc)?5J0NtfqhYp$ZglHMx4ywtnuI|HS?w^Srde7+pp$Yhp0Y^J)<$`A`vC3xOb4jj& zo}-U*z`KdLwKY*KB%1m44Ek3?i5}dRYkz_^wr_9;6epP&-gNq$bwuyqAV@73g)^1P zh`EQbWo`g{iDV}X5Msk93!}H(YY8WvkZT7d7*;WMJ$K#^;)>kUG{glc46Z>;k?woZ zO?GvrCt2rF=sNd7d}%ySN|UffA9W-J%!Wf? z`-Uz|k@v3UujV0i-UYuDS)DJC`$H0Kh)axWFbCAfE=ll-s%X7>wdX!S)Lzhwy|93I ztY{dbaD=cJT z;r(L_9tCG-tVO$sS12e+!T7Jf3UV2wUu{7;{%Zh1)lm?NnHFb$>8rGb_Jre^C`fai zc2OTdDTFyd>KL#?w&zf*QKvkMC?Y-+la*Zs!WKla&Y zoU@nIs;X60b1qH85MhROgP7!_xA5xt^_WH%>okY{8{ogK^MD*NQNcdq^0xbxpZ|OS z?Y_$?#%!AUsD+b{t^+N&@+0!Xx#jiv;X9Tu4(Ws2;6ziSp zhvlr#c{gDyaSbZ^N{9y_O&wnvDhuM8g28?410o} zjv4k%Fn=Ou3<{^_9Pj-O#Pzs1M{xKm(V%v*y^YTr(fbnZpfY8D;=VCR_RfndlF8UMnkOqFR>MK*-pq=W=Kh0dB1qA_U=74CXe{PQQ8t_^aIx zO2>4fuIXWXC%JAr*1h|tS_x@2DDBkb3*+}FXc%Pp&agJEh83KiQe(t3dh9aZ) zfsKkXJP7-w&E5B*;aCr^GX7@uOkdVWY{`5=)OzHeXw6_~XJ}};!|5u{P9E#&B>M%r z{Yn1BRC|}AqxJI_G#7Cm&ju$0Vn~jCw+5)%-&JZ3#W0r1A3_` zG1HLZn-fG@Z{CM|}7A4>6R=*=cMt-)B3l?X$O{uXKqrvnLtHneE_dN?D zB3~U+e5qTVtl;7V^0Y&_e3p)#y%2-C)L5fP*O+5WvAvIP=@l0lU0mvc8pKr~(prCw zA_EICh;q+Br7|~Yca80_!*dq;?iPWPIx~%2`Jj@Y-74IXJ)9jGO6q2k-Hl9!1 zfU?1pX!hd} zGgsyfGkW=Ipv?NoT7v;GOvbL}a&@tWXGnZbaaMYbO*Lcw5|B00O7(+sn3a>1HU_99 zqb)2K;#2lTQxHsfP1HZZe9SDcXZ#j}{SwKDHi8{oZC4wC0a)0}5}JuDpzo@w8`94*#CS7n6YRal z_+jH{sO3?{v^=$YqeR!lNFF}OeeOD}YQG3(O{#X^!=89=Qtt6CwQ(la+&cKB2f(v@ zAq1plHEtjZ-sbs$d{8Hx<28f|YfPk-`tr?2=m7(PZUxYo}UDL#*zGUCxF1Xx&9xY4a?|1>KoujZwJ3cWFF$3=H z9LdOViC5YWxz}I;1~lG%stdmNXb)GxlJ37gCSNb=3({eaGM#=|A6CwAo6`DD?-L?X z3s!F@;gd*PyqDp#Gv{B`tJw-M9||>IJG>B3SF?*BI0%=*I1_GWKva&;105`B zi48vZDs!&?>aZV@EL9+xA0mO|@TO@fprW+UY?zxZO+8&6*<&4s1CLs^V?8E=U?fE& z4)dIMG9n>{NI}i|W=kad4v^_2(DkS(%Va!x@C*$@DG*LAY2Z~g7KM+=5l`4eTQwVJ zMMtL}r6g1MF52aPJAadwgq5UX3YPcQRH?-jg&}a++BDkLJ@wSUw{2r!*!*n*J=_N4 zY+%ID{#GykOixvM*(ZZrs8D(p*)Sql&yX*$0ysQQxXuPRb2!#MD^mH%3^JT2cFs)( zQOO*Uf(P>eaYR`Hyo_XpP&t9b!PWEah9FYPw^sV(M#1}01;>wb8=C3EKEz5%A6LJW zHQ+(tCTQxAp7X;FQo}hcP>_Dej#Bhz<#HavG2h{8Su%5!g#pMP3C8;_#g`HQh7*R= zIP;j>;xdDQNjpvE3vYx%0}~@qOA_in4@!}m-@Dna-yzLg7ig-+p&wsdm2bt?SC$Zq z2_p_0l=a1bxHir4YyKjgid+Z^dp*%+&_>dzt)LUpQe$ccTjv55~)`r7p@DS2%runw95`Bfv!K{yX(;c&~e}`BxW)}nw}`a zNpuhj<$(Z(hofYXLF<~%L3eB0z=<3aFT*93r(@_qV7S@0^vOU#!M zTpX2)+^rYi)|xuby_>6%_NamMm}*v@vub<%I|q2hRP`0xD6rW9DX=C&*~SL z4riZ*yAwLLKW8;jB`ThS1%5>_B|nalrx=R=&BTI|@&cQ!PEAGVMoo9yxlDC5&@a*M z(4xV@lI_UGf>zBPO~xV}cTT@N*3g>)YphPT?@~-~O2ik`0Nt;RavRgdo>F-Q2~CG| z{DBg)MiuIL$z9Kb<4k6VJV@C+MYJ^>8hstK!m2j(>m%)pDE#Jjdko-98? z#)-r601R3rz2!O;?M`-w^w!AooIIWfKAjfOEki~uFf(<;#o>ljVWcX&J_9iDJyS`B zDTKyd$n9M`nGA#`cnmwfZ1WowOa*U)Lt1lMBBNQn+I^o`RnorJh}h8!aEo;9RJIiZKT@l4*EF`&ib{ z!!e8PA%CF(QI=@dpi9l33wnnSNh>aJR$GmD#ZSMO^F5dYh~R1zgD+M!FlMg=EmYJO ze=>X@3`8%#*Gs|x_Gm(WG^;5r+nz0bYzU$)`NX0mQDFG*Uh7UdRu7#~yA#`r6Azuq zrljUIl>BBF87c+IrWFM4P1bk${5rt@(!KCtS)M<7JQKVksaNnpSnj4g_RwB`U!e!W?W{1c_75+k7lY}TYS}?EKjj(b z1a0A~ro-1@hUsK%cMS{KxTM9bx@XR$Tcir+ZQo?QV2h1O5!g%QyuN#O034Bw;CqUcyE)y^Y~ zu}4V`qNsyU_6;})tQH!v#VQmqP%e98qo7Bt8M-oJxMkH8%>XbyJvUl9%yVc4k#^arGl3^GXwtfX@HYl5r25(p#RayDG57t~iAR9fQ2S-# zF)!YjRkyi7z7^Sp={DFZgfzny$7(%Aq`f8S;8_@U(g2F!LpIS1^45%PF~6>w3?RW3 zx6od$Ew&YdIJd>}_p&W!V@^}oZJQ{$v}-3Co0t(CELko(_n~j}e624QH=VKeWUV&E zCpe?t@X0rT$mSXBJcxE8HFz8x_~%`mc>EE2#{TlAw|jT|ARys3mdcn>T6l1{D$dFb zp)b9a5LOQC=rL=J2E@5!i1_T`%`#EVjN|2U_c~fyM^%KO)S2!^y0-S1OY_cliCgX%nNx4!rIIoav|qa_Ee&uPiN`WwO)YQHu789 zabNnq@yE5Yuo%~EV4+iBTD;R(Y2QH*XW!OxKP}5<8fQV(qaVA{UW=oUNfXoeF|Rd) zFC?}KO@UjJ%6ZYb!r&efQ+n`$nHF9uMp&<%40w5t+jC{slS38X(t31jNa5hCUyV~# zZbBaw%9k)GYL(gz8X;n{FJ~;4$iGrWPlLUb90V{sR?$PIRIBfeY687<-oF+*pp8ii zSZIP8ctm;#-0nr`KN(exlpWHr;030?XGxRX4Pi~dxuZ_Ok?MB=p}g3Y!%0eJSGFG? zIzoKP2Ye18C$K!eo#*J=W@}<2L*N^I8Z}+@`D2J>he8Hm<4H_YCf#} z@BW6l9rEc?(4q-Fn&gUAXu|!1xUZ&KzjN!l3`(($Ln*Ro(Br+|IeZW`PdR1u+qE8+ zD$n9FEe47b5l7h!$g*6U3|ZFXGZWzOvK|#J)T)D&F-mEFlj?A9Ha8_$4uN%WF765L;Ts4 z3jeg-gJ0*C3zZH|{#`Yk58cp&$7}vcNoeUubX2N>GJ_qQ?KKlV(0=Bm1iH!wWp!MM z9M&!M=5y=!huRwbsonYdSkIRinU8EaJthLQyC7oC^{R~`I~2Ry0|pR`EFS4f$Tl^- zP-|VzWc(HQvIsmU5WmI3;>?oNROd878)(x?>S4-eGeOv9aMFbOb_7H&Szv*(C%iPH z;UjdN^{uLaNPNHPi3(bCiA`S=3W#KG@U#J>UiR!3K6CiAB*5wsv|RPg;Sn9vVh3et z!@`sMzYDF2|JoH5Dq@K0))%f{Vn9UB0}+F2I4J*6glUlEm<)3WN(Y% zGgA&VQJ@ORtlj}Z_b3QOcv5d@;~Pt@*c!(EZISDx;hJwljm`SEjFQX|qsl++CB19F4f7`Di=x)~Si2B4$^?%d zzejB@Z!y&ESVI|`tj*JG2s!G2ev#Ke-ygH*!}BnQ_QV1cTz7ZYk2EcAcAVw-JT>#{ z+ov_Q<$Ky{4WD0QPPIff)V_-dC1Siq-lrCJEcPmhf#RNjVitfzMR=1ecR~%h@}42M z9cG?E^oujbh9eB95-?4FCxV`<#)!I^R7Q1T<^2JS7CM(G~yH38f5D^En6gbNRU(R zF?csVT9Yky8W^QIm3&V2p-EH9cmz2Va7*!D6r3=AtW7-#VdcQasM})kg87}8DG#2 z%OzQCV_RYWa)t8n{FMFV&;DfkWZOnCm~rZhu^uz6bQZKbQKAP$MyUI!#yKt!XtOCY zP4Sd5@z|fZjP!&!#1S}%nW7>IF^9t!;4jtnFF=-&xW}5DK3sIH5yxG_p)_z)uhw>f z|5V@*nq7Mlu6e-)+^q0gR?B?g1xRDzYkjg#XI5?tk3g%a#~u5YAIn3lZ7Sx|)98?o z&nQJ2s|_0s3C1@}4TiFsaj~xYs+mg=G35KAbQvdX$H!Gu!moVGsFsg_5q8S#2(Yqp z*tDyD$3Ho>pOp6bW)smwOE80-6k+vkzo<)0ggeD=BG`|bv<&t5Pz zwL%x$aEyUKlP7_MbIn=hh+_>A(;WCS+X2zq`N&`|f{V$4L1jg_u)YR9y^~9V+%;^! z$_{YTr}L&b$K>m{uZXPxPq9}~xad58|Kx9}1v2=$Z_pBDY{RuhC0?grkAqxVeNuj| z>;6GbhOG}_1ZK;&D@h%?wIaGdKFT=5L>MVEe+ikQC+GY$$mE;w8oG_@Tw^7<5!~b! zO^1jnFs2? zyOLjES~jh(9b~C z2mg|QE)f65l~KP-j)BdXpN10ccaFRuL^1(DDwB1S^Gy03VcvB){^Em^G`lqL=)q04 zA1K5Cf0#fngRrlq4cNS~}VVN0t!fibg|43xY0 zzb9t%-vYMsr-Cl9Q9fbcgi59Y`@?ue@DHE`uGj<9&+OmmG1_25B-zGM4oGmL;3d8* zQsOU+X%djlS?*SJ+PjVMMnO7tEY6V?sBkh%LPxeSuHObB@=&+i_UyvBz{D&k93bzC z+$n&OiRD^Xi{TY{mezQpM6fR66hG$GA; z3Uc(k2`+|}l!nH!2nrN|rWOtnOP!P)CmkyCgM+&@TYSpU;6aA^-Euflo}sz5x3Iqs zsbM7{=3&eCt#om0i!E-I3^buu8NaW~L+19xeAom2!k4NNzvQS~rtO_rKVQRmyqkt^ zp^m*l*@cf|oPRQ|MLDGl;+l`pYS>O287yGJV%t6eX)Hu=2l zkwuGvPoJ4lk(Sn&RD;guG;K${Q)10-=&COWOeQ+7U^#`v8-H6H7jEdTYSxzt!&S6U z5O=Si4tlZd5<;a3+*7)CJ{sXZ26hb~0I~S0pcea_GHttd8H5_;3%aco&Ef;3A8mEY zmc$0sw+A4^QKP$b$j&)jw^~1ujfF!N5``p9OMBF&ZK^j9DB)CP`7Ad*p0wNDAcyab z0Ej?dN%PVu?E3N|tTEvSJQpt{-;{zO50{xO)Tr)y-f*GN@W@8H!$jb6)VTSMBnVJQ z`LhF`*l=M@A2gLe+gdV=cx|x*0^bg9NUud=x5!l5h zCkwKb8=uv|6FqvTef7ShuKto0AS+3a2!j=q@&Rb)G{Sx?!`(l zvqQlsjQ6s6Sz_5DMg|b6CxwBru<8Zl@P?G$Gc2JPiCu5i0L}mf;(K~rOWB5Hfyl$y zffSx(7fx(uSaEg_Q$_0Fr5_DwC}Se-%Q8xmDK1t6hEaRa*;&A@m44W86Izd15*wt1 z7MnLh6lYUTw-ZRr?3#!5(nCdPa;AC;LWQ+35o~&{6B}< zbMN>!{lReuqfg18xd_?Teuj`@8iE9#a`|=SceJ5rn(ZR1{vr;g{z0B376 zJ6pKbK1A0uJ-p>FpT!$3T$-h!|1KqXk5FbZ*M|)W&mH$C@3bRzbUDHWm{%kze@1;i|W)^M=ivR4>^7mB~Mfc3q#oY)@)hZ6;dc$Xs1<<|c zSTM|Ui+Ik&3GWoydV&Tg)7ci@nNWfd;hEX`0X#F7)L69!JNQAS_{D(*sKdd$JSX$4 z=Lx3vuvm?n%B<8uXAW=4Ig|7yLbF4bA9E9HhS#`Hv0mf8R764*Tqt96GT!J>@HYei zRWkylaS{WS>eIVh8+ZX4)HDl-F`TgZy6-;>7EoM}u4S?uS+;U>jR}@NVIRDskFLe1 zsYD)M(xnCom;Iq^uRF=BW8?po+91@g#hMJ!g`obarUjO+>H;@`F;f13_kg{kw8Tj% zybEB2iX-;W#%k6F@srAxgb5zRCfG7NWh2DB^Cis_8o-cqN8iMoe~j6rmk_Hl6lOiah`;>#H|R;hv#9}D-p(qDLxs_=R!&=fY#s!ELNhpMx`$q^Y< zEmuNkgN2#1)y4)ozsheIh7m}0kx(m^?rpC-`C$+AEep`g%0k72v$>WHm+vz6Bf52W zEEp_C*w->tYr92XQYVk^aiZ^K1{r2XnFnoC+Zq#?_HBBmGxXi2ya-WKUiKP3McuMo zph%y?53)2F1}s~yq3yfY0gH&_xdkg|ZJd?ps=IF&Z`dOa`5+}N8praDZX!={K!n9C z7%fbA8_0_tNp=!Ctp15b`9a|?3@VH9{xRya%Yh+yA%RGH>Zvz1GWSp#Zi-Pfc<{ic zpiS-UmNoS>7D|pyDSQtuN`It!u+{ez@z6RW^66c%UbAdIp7WF$8NGIt(87*1keE$` z$n#0$2jvzl@vkxXd!8=Zv~sdcs(j|rw<$KWb?^=1E7vtM(wUkm@5pi;FK9eS;;32D z?FCm0`^V}+9PP+EPOJem;JtFkig~7k#CBanWxo^2bEkz02bgn>=mR~S(np#)BE5v) zi7A+^yA;e|xpCnGbxgbWW{-w*LMv`&`*9h&liRPP%$A{rOIM%Fi}37?D%;P}bv`75 zW&@N3EJW)7kQLYJ#DRE=RZ)@AMEgU~21`q?oI6yUsA9^`10=&-QoS9n>6AG6G%YqV zJhv=S*r2VS;2lqj>f0>tn6?nySf*bu$9i~8%i)3^Sbj)`Xn)9&r;rg3u4!Rm2)Q0j z+l^Gz>chyZ8??qT%!NG6J>dW2m3vMK{WRW;B;ECOy&Av&FV&kPaai zfOynYdX~ungjCKV#60_ISOZxF^YWSQ`upBzHow;L!4;<*D~cASGo^y$ao7;0gB}9p z#ha5b9b#sdXP3kr#PL!*gM=e{TVkBMuyZ4th-F|d`u&k^F-;97K39%IyO4up6$H$( zbVSaDFvKNrz+=bveU9u6>a7x8mES@}D#SU3-GJ?4;wuiies@=-=$p-5v3X#&l2`>$ zJ{_BLZTken3UuUG3LrhJ9K2Njoa0}c{@|v(qz8F5APZiA;)2y~5 zoCj|ehW%(L8|98h8f?>8(VU3CEa4#~Eo+2)QDT!5KbLz9>Ix7t!~-R9#VkuP8>YNz z8!-3fo)D(_hHzh%K1tj9=81>lSHx6jP&%wq(EZpJQT9&7 zEjpIm?^ue;K`O_yWBvj;+p{BUFM~^FEX#{h=;kYY@yY(+MSQXR26R$)rMt`iyyF+9 zKcdnlRNv$U8}P@C&vINj(9Ceq=u!oH>%~e-Xse@1AdF3CG!V(4`|R;46k(2;`ScBf z{Y7HWd4i?&sX3Lda&vLY;OTRE$XSxUMo$l66Ut=w1`9ywVKBQ3u{?|__||c7MPiJh z-IF0N#9`AXO>hyevnu{J=nOSV?ncHQ$k=qKXd@`=m_JJh`=LHPY`6T2nnURuv#s7b zUeY)0s5u%eGJ%!63rvr21_z^6b|5eqyf3Dx$D##ah;_?X!OY^_J7`ItuJVflScG~i zot%8{0B*)t5U8wyyl6hQmUj}M6D=ryBz)V^8;e@w;=VyD12~`X)>+Re!=Z7~2HF*4 zq8JOk8Mpb+9{ayV8vlF_@HUNRxd@fJY(@=aL)d$W@EmXy)fg!!3BP7(D&7;hrbq2`V+w`Khu@daTJu7Q^t-e7UL<{i2}@*#K3YZ7(D=I~Ok_lvJcjBM`^7og`g~?;#Huoe zy;6gEoT4y=My)rfL>w2b2W92Ika(&hmr=~HYKM>_m2n9wVc=BFMu}Gybf6I4CkDvG zxR|F!#2KM93u{u4+!++ts$tMBY2w9p%+olPJ3R5%!dUcj37oibmnWh=3wrH=5{aJ= zo~I&bT&*YQ6-uGig3y9}1)CiJgNclU(*(hI4TJ-86;jMVhb$-y2P5s2LMw3F?{q78 z+2c&*zTxm1UEBSv^Lb<2X=!C?X(|2mguv_Z%PpaqgW*v3GbIdX(#@)&bP$Ln${2(Z z+js7y;lZv!BG5x?`R!h8KgqoWDSwFnzJ!QLP7jUI4Ex1!1IVBtFzgb4gT;8GM3;l- zVUy7IZX%dJ{B|ZfvLZ+N&g7SGn)bY995I4w|Ebr6Zl^M8f62o8isqZKkW?Twlmq&- zi4m%_L#7a^HAGz;4jO*KH_7ly%Dy;VO*R)%pNK=;97wJgA@7iNl%v{Buf353vX2%6 zw?PrACJJslG0Epf1J@t~{o1d@iez>8RU|Nd(o0?_70U?PB-%*X*P#r0!FurLdyW@VjLu9bSfz**_B`sZ> zkw~0gIz+AsxUa%^Y|re6I-fyc$qB%2w6Yeobg(HX6%DpR?-M>dOH3uigTVgNMeYLT z?i;>QAMjLk{eBiEn{LZPTLhc5qqiKH&<7biE0aa8`zgXZz~?C@#V{6)NLK8l=#Q0P z4)>}I7?-Xa$m#e>6g9Ajb$^bhm>QH30W&#djLJO84<1H3TWz7#F&a8JU2e=CMAbs@ z(+8VEkdh?7LD#>2vtDWXpy2Btnm9KoZtq=VT@{alJ%i;(4~C_u6G^}B$o%kq^vA+= zN)Sua@zCuH@;dQ@VTwN|+X}O2uZF`+10)L;Q%gv-R=q^`CQ7&#u|c@zt~|@?rkgp$r=ct9#hPyow4uaahLAG0FWG1CAV+oafPu@ZvP#_J0riFY1 zmdJRv7CJ51G0xITQPg25od_c-4n`iY3S$sj5>fOMJ&Uw7I&qsA6!pI^scZ;hlO7Z> zJ*_StK5_+R2eyNme987p>IY8NRXy7HA z+o{O;WOa#ZT7-<*Gm6S47NOZMJPH|ygpqWKJ!Ku9Fd{q=(Qp%}!@9-Q$9JeB(IoXQ zTeFulPG>b`wQD5@MV0yr!MsFTWo}QQyyn%gA4ikPxAbak3u782IO&f+~UW}jo%ZWwW(`3+fBF-FC?|t3Zgjk)VVa3JoV)_XgX79BQuY)qno(5GtfJz|) zV}#uAh1A-QJd3{04FmZ`hP>Y|Tv4u8o-!Ra^a2wS=}N->l^_^t0DH5S%dih(4KtP? z%PsHPe*uRMfOFU->11eB>C6}lbxHmJXuGRK3AtE8kS&Z1gJ^UL04{QJ-8SbL5^a)( zuZYWH78>>}p?qIl`?(BXruu4|`(6Gaf&VRvf87M!k@ZLso)2e8l7ga!`+*@pfMGmt zbvKiuz&d;@u%9TDO@-5&S<2*g3dAMDe+{@fTvPz!MHpEM6_Rm;v0-6C78rNGpU>#UM!xk1L3;&r ziQ_HYbX*gW5~5P2GU@9PVH#zjV3n(ulIBaqTxiFaYtzqC_ zdII3iE`W!rWH}&yR;t_HBo7vqne58z^Uy$?L|@@~eQ-0WL-n`C|Ib7JUtfg>2>rOf z+*1pl`@*8S{Y#O;{$fWuKy$Bp*vNUi)%Up#pW9K4_$W`ey$5TpYrzJO!#W-yV^_lh z2t*ZPJ+LdU!F}TF8=;X1(aDKoBl-aX=tiM;B#yw5F`#h_-?|*T2ZRlVqH)^t5%4(V z@CnSAr2QdK2?9jJ5cdW8w{s-G$c6rP#dE=)bqP3RbKYe9VSkBlAkO>@Hcvuo1qHNW zz(DoI-uodXl8VEPe&MX%nabi-2g7%y*n-psmT>plS*tJbszTLLWtPY&i!*?U`P*@m z^%ASP@nx%1h1B2P^Y?fD?Or+>1agSnRYcU1>&*M;M{WMeEN}=EF>ol8exR$}TANEC zmPiGM?JAe>V_#6>-?h-cycaT}K%P1)iMXDli1qESM{XsFBj7C({Y!l zH}D7l|E^8`OQeC`!BBu*8Ne6T_jdh5yZ&!Yd23BLT5b>a7FGBfU^4zbIRE-SK#^1^ zfF)@P>QUrBixkiipz++;qE8UDUjNjqfBg|z2BObyy#q()*--xIU^wwDz3@{o-eYoVR8X}-Q(n%oQ=AVB@?AHAKcb_pp z*B7bEzfbl8o*FQuVyFh;s(Nt$y8Zv(EDE5(AiaBc*~&`y=db_coRHgrP4uR9ObbdX z{GSHc7bUmnHx{Eh<^O5+c0Tx%C@0?D@BIc;(cgRdukU-909m?vheh|F*ZZ3&T~H$X zK0jOoFUkME=wDz0&eDYjfRh44Nb{#VG!r1Ch;fidzHr9j^SM*wL??*?j?ljr!@r)t z!iueSczl2DY=M588gfH0z~X)A%isR?ulw`geI|B=Aa&dsAwkD6hEDJTdPmLx#%4BQ zk5Ho1TJWAZHuT>P4ly}ww63qv%c`S}D`7jaM)h!|lff9ep)$K9k4K5BtH(o?H|Tk| zR03&;PP;2ZZdNPWKYQ~3S`LH^AP_UV=ue;P)SB=Gh%~`Lk03$OhWp=rHLDJ#pwR!t z?%Rky^%UiMZe;rJN9M0@Vc-JpFtLuaLPx>{?yP>o#~m=SF8rV7Cg2B(kmlUomCn_I z_7$kl`EVbgVxLN<+y0M&UrX+PR*+}(azjC?$}{Er)?Xn~UxZ7OT zRu|d4k>3Hq|H0ajh!K;yt=R2o zn3#-OQJ7J+gmixiu|FE9oKc78@yDbOrOHLo%0poPs=EO_Fu`FV(%JNu;?MA@LB)(v z3sU}G;yT^Fx_zq97JtrBF9mWcH`~S>#V`UdIiEOO&Ose2AVhu0 zEsob^PxZE)0`3{?rG?&0b+F$P#60I-HoVE$%wB0GaXCM`P78dIl5{9v@q4|Di^k=Z zZ#rG2DVEP!z|*sS%xv)am9Cu}cxJoa7czTV{-WGrp@eg{PZi5hrPC>)cQ{Ki)|9SN zER`~mo}V-S2C6`ae=9`;85#cfYbXCl<@M#+myi(ilUPI__n)-E9p<)ma{@dnI$}cY9t(3Jj@H3=9`% zsc%&!w&3a#37njF@oCl<0SZx9qup_E{`U9HdDHRowUuqay%~%|SwIU6C?ALM6~~Rx zxbY=F>Ti}-qQ7LGTpSD;(Y7RYzAq^pnGnU0Vap4ZIKV_^^Pn(_wQlO!@q7T*^7#>e zRJkRbETaE#aV(AjS2jf?WOr%5ejfy&v}K38KPJT83+M#QiIfpU$F5=n()ZGAm2@A$ zihRA7PcQs(oX1I)tEz-AcPjN`6u>x=Qq;Kb>l5v%NGin@IAcZ{$eNLXo;`7bt0YBV=it|=97zeCXr?& za^|sin;0y&=Tl380ufJka_v1~#ANGM*Pp9p^b5#9%QIc-e!T0FY|`fy>s#oEgsHk- zaFbR~Ee5NZt=UfxL<^+1k3QqCsB+lUa+BvC}$Y6`e_mNr5%odKy8$=_>2Tu*q(fn9{e!OBPtWaZ<9~8%j$o~4` z8AS;>)D=sjG8E0~EaVq=U_PCd$b*2lUl+^NP2PCYxoGUgtU;_7OCUg>_5rG~lIigV z_LG-&^k1tHl`epecC0^XPbcpP&zoB+a?y*t7IARxRPO#A%mCYu`~I+fyFcn`D4C$P8{*4Cdsl@yn3wMv;mhyt>BVc=b<;!%9+DN}aikMD5} zttMb>C4=x|Z)0#G{jq)Q1x)Jh#pZiVQQ3a04F&+?ApSfJHB!s)#iV~H!qIWhmA}94 zc}vanRBLTLo?jMIX3%_DYN~G6WH(;;AqAyL5V_8ji02EHE?Y6{Hhszg}@eH-H zGKZaMEU#0MLx*omWRkH50>;+rh#ro6nC=r=$7eJ7b+-LbpiaR|44TB<=(L)OGU#-_ z=C_Yq9$4J(Mo_HSK6BW7yyZUsfjo{8Y_Qhg5p|@BR4|pvO(zbA@!8RI+`Uu60bt~a zIe3jyDVC=@DJ%@^Z*6uvdq0eMKm7R=w;H0!& z)s8=nl6I`v%6Y6_q*_Y7Skj2tm&B-BD}sp6R}$+W|3Q6({QmM+vJ3{DOxp-^`@%y& zSJ-V4zs~aULB=@pBt*VYx0m;^v2~Z^(|uPT*BODo7#oEwdMbOVikCAAw+c!Tj^6N{ zZ7m*Uob_^@xNC_OiQIF)o2B?JiB%u*%Ar%%e=U>GAinwAkSh<5)vVi-u`{m42T|1{ z0XH@#+exs>&-3!1Nt*Y3tQvT!0%HIMg6|BBO?M7uJ6-vFm!lMcmzYP4gqn>aH;lUU z9;X#YZr|OzTwg{Er7=XhRh|gNb`Zb#rI&4((kd##t!c9jnME%8i2d@p>e5l_UTKzIwxG8rk=bP0>CT3S6F!oMvp;oyf&WQU8edRD`+DaA!Ezc9&^_8yX7S2=f_JUhsE_a>T7 z#%{^utzqf4n&jdLJWhytdWbQFxymXAK--1=-CHjYPnctFj==?=Rm;?>c9if(1T^MM zf=M=Fl87kf&Me;1&6leu1AajzKjSgpYo?$AlsB)~qDPyD(=fhkKNR9O(p}k4_^w|7 zp7Frc`IPCH2cP-ZFLr}9Y%V#LGa`CkwVhhmnj$sNW_R{Dybhlwxz#g=f*vTbwj@to zQU&zAOQ)k;_Lu}t2&|BV4jn3N;=ZtJov}h8O#=Q(nwm%Z9yBY{?B%>J_C3_1a`kKH zp1bc$8n42G-(}1&Bl1q*F-@})EY0gk&2?YAJpK~7bvO5y%c$=3C; zB>GZF-MF!)WP;ZhI;QTI(Dti(J)%*c_d0ARYay_Azv^GWO~x853HeLZTkE{5s&Z6m z_?@goK`3eGRVE3-~`iqPg7M-38A6SiVtoN6St0i&N znJse_rU?TT2mZ_5mYRToTl4DXh2IhsjQ;$%?n%XhL?yE^edH1%Chqx#591`dE(?+z z87)9URALBF+t!j&zu#~86+gmF4=@ucbBh&7lO?Y-rFJJ3Ujlzo)PwC&l;fA%(on8D zvE30Cvi9+LfAS;G)lDU8g70^Zk!d8!>P%_%t=Lj=e(Q4+5)PmX_O07;5{yB^3EdVPVefpb-Z&WnOdK-AIS?Z;{B;x zH@A@*;_tp+Ru&B2mB!vv5i_PJ>&2SlzMrpMPNx=t^Ti}519SSt^etb!WUS#}2+wG- zE}2d(ZLS+1atKzXsAX`FiqK0=rj*ZO#gD1RB+DSOl8OYg^}rXxH&;am*E$y`6b9`#h))DhN zq1V@o(1&gehhDeqycNVbzZM$yd0i}TMxV&hKM-6JA^!Em?blUxd*4&-;%A&l#3b@e z?6n($m86p77^Tdi7ZG{p-1eI7)c~EtsOopr3i2}mwp_nBcI>-`CM(^kvO8sL7Q3{U zfCx-F^CuJZYEE~^Ca)W<&QnZ^&>!L-J4sUfi0c}T&mwIh!DNhGvWjHgzRiA z#R)DDy1J>AZVAlZjV7*bkxn61fx6$yKl+5W%Nu#KnFkzRK5ITd1nT4ozTSN4no6*9 zj%|yzf2l}O@%Wi>>GUv>PTg0~Smp7Wj2i7Q>3>lut*t7pth#WFwQq;CK{ zi6dV1Hp+${kuh3;_wB%sl1dRk*yU8Zy!F%DUKr2UZuUVm5b0pX-_M)lp>Y*GzqG%s zdrC)at8@`<|GxfxTC17!hw>$MK;^16{(`^KAU$=oQU3iiaU97-%HY-J%TX`5qmH;Q zSKe1t5@n^LC&(srnICHj1jVUCW) zwKTe6&%8miWBuZ=Y1Q=IwPs5mzyF56rG_RYtZf;7@d!=byoySqz3;Jy9L%(LE^H8aoi zU(4l^v-I}dSL}UVdw=(5*NdL3mQws+`*b9zV0h2jCbnnQB`uX6>MDJw zUEg#Z@O~34;TBsyRY@pZY<=qyT+FnV$2XyC;p36)*Id14M_OCO(p=BWc+*y_x@6pl zaRrd_RpM}RQ2IXd#7UHB{ z>Zsw8T-MPtGz$9%Z8P4n7ER&i%F>~y%w-)DBbrvJ6S~&~ zDLH%iQW$5LZQHbLQbxV+hPWHIE6X{LUs$u{6)6^#EG-PZ{+76wEkL0QMOKcI!IIiX zxGu8$B7x7Q8^lqlGLiKR8Zu0*doA>gsjRI-a`z|tNNw!20{>RU!_@UrHb~mYAYd?=OK%^dxR8xu^1_f@tiJ5a%PY`P$Y>t*rw!#HZG*(} z5n8G*`WcNyD)BU_>?}iWI@4v22R(yh8$C-z-&{WbV)a<$Zu+4zKvVtQbYDdkgM9gL zS%U@fhd|Jo zSyMwEcmH|U&b%4ZC|V7eZ%d`OYo@^|rs@6$RYY>WNgs0=mkA$M=+D4R5&j0MhA-C6 zbbo0d^c70>Xwc$wzECW}aY!aP97=r@;Qp1VOOD7;f=S<4N5J!}Qu% z*oYRhsGX+cxAqDAnL;kq&Bh)rt+Du?ZO_iCgMpj)9|t2?UWo5(CGiDzh|_&_m+tD) zu^?x^jLttUxZFXE;1Ei&3IDoz3!PIuTQk{9%;;aC%-+^+)^SIeKDrOwfa=KJ>F_v} z)4!fv!Bk)J(JQE;idb66bKNK7d$dch3WS77WjdrbAcd5WqpfEt2u`neG?4a4bKr1t z@HS?3#=INhFDd%yTU{xgeI74)bxAAUirq2whKR~!?q&OWcrEY#4*IqAmB6i%H2-w3 zZt)CFt;3Ql7x6{5NuBALNR-FwvfHegPR;ilq+=(RJgoG7FIm%e!+N9=p)$d z-tpG>WeY(jv;`?EF8i7P`e13<0dw&+ib}fgdy9fIb(&q$rK%6UUsj1uSA)E>psd}d z1#`Qk#ASZBO`aCEBKP*?K59Xc4mXw`$_%Um>MZDW(DvTT^3$^w!b-d4j~)}@vi(^$ zGTud$gq0@1{gs*D%d_48mUCvBC*%oBt#9_Uvp#twM2S z(X+k{!=?TUl zZA+`Yuc>@k0m}}-qI$>Z!MrAY{-zvo0{o}+$!sz)?SWUGn{T0Oeq17g6kfS3izmYL zLZGRS7SzQ{qmfH+bEe}Xf(It6?-56&ioaN6G_XUsyo z@2M@(ZkqS*%}-fMdF3YpbwMyHPj4}+$OisWcwMmf>Vw&E2g?rcr{UZduHHQ?|2h>iKL=SzXm{G~ zdZ`q?YqQEICgIRVrEY0H_a|G)STbpP`105kao)~B8V%<USbR}>qVrR#RAM_H9N*b`?HvX`j*g`uNmWP8nR+ z*VkOlmqUljHSZmdyuZLcr{+K8WL&hyzN%*?XFpaneABLuXz?Vz4eNPx)qXQGErJ6x zUP}({RR=3|C`%NW3PpJk85*?c-u>bh>>@2KYeGKrLRroN!`sfo?#e4$?pL)VtbYd! zpd-|Tj#Q0NOtV}KS{(g4F`f!0$4aNoo!tGEC%IBgcexXQmAe+$qI^EF2!C2__&ygp zL@TD&ZtB#Q!!rMjtd<-W#A5Jli{dV?od(ED18D4Z05avmB&VKgj>JX5#Ad|-A%{GJ{^x1)lsjG9Tcq*8BoBN4k$OeSlBQB<<^IghC#ZjjYV!Q zwXNJ%$1Z=Oz|M|o%`I00tnwHg-G6d>WbT-wTxbHJUz$;3T>Pg~vF>YyFY3DssS`GyHGLO&@#2lbcV zTPz--b7<#JeECI4nyA^SrKZiI#g^;5<- zX{!M8SG&i(UX;@{7!uo#fj4nn0p*4;)~2bDG6%}d&$+Q6t!gDI2Ids|x%)sz!&+?~ z2eYz1#~8teqlFD4;^o*=#KkfwZ}=Frl-+R2{YsRr`DJ@13p62Oc(n=j`C;#e8G6~Y z*U<55Lg*4-f7}>J-n7Gkr(3i<;l`bx6$3`#4OJ*EP7x?rz&OI|yOT&DVra=)%9lEn z4_wWm6 z4tGA%Z>b@SfAfutSVF-DHM*?OCawdRd9!XT@;++q>9T31oc8j&8|m2vgK zK%MDrg=1)(Ex{Dq;2u7hBqi$G;k52!1Gj{6 zvtC!5vx?ub3In7kFsf9abczelt6)|3z&f`REn69!ttJy{LCQ~bBA*B=J%k@!uZwZ< z9Vw^6QJ(hA3T=H~{uZ$nsT=I3Y)%AmWP((sL%s?^bk(AeZV%GLD0DtNoaNdUgk2!5 zfkYO*_ZwdwS2x^D-X5{im37UXILBs7J4HqqGpK5Z(_~Z=r_F>Ya81ZgM-p$4Gm|XU zEg$)*DY#D@nv6&DxO6ewnl_mcsC}1dKfZwPZ2qV>$JVf_wOqvv736t@a2?xnZr)(S zVhL0Y`Z18>x2ii&VIO=sibD0*uG>3{wpSbV7jrd{a2yn&Q}>s240mgU;!C;k0&0dA zVm~fo`d^UX<}GxP2FEi8$GmJN%2`PjJiUVzKt!7eM6f!*`%`)WLKuiNE_GtkzBi^1 zbyTa3+C;SvAd3SxDF;<=zo4JrR0R<*AA^9PY&1LaFUm(1-`rSsVt!pP?(-9G4&O)v zTebicVx*X{1yrv1NSA}=c6&CIj!8ipK9YBDKPgpQG!dBmXd6CUI7r{yDq$RWPgalh znYr2`;sD8t1g8NZ6Yb1jQIVH*bNhE7Ir6WfBMESteaw6hTN>O=|&QiM3 z^qt$uh`>y#&II|r?CaCR%9ilY#t!dN8m5i?yoRxfik;UF9%3jwAc(b z%-NKZZkQ+YC{tJV871p%S-vk$7|J}U=$qT?e9i+Rmlgg_$ZHYjM2ZwyVlFFkh>&OMFsXeS|eaCzGdk$O*adtzd(3EN=B_^YxQ} zU09fU(9&GPH(e3-K$;Y;0D$+@r!I!)rk@2-6x9`^1Pilsu2akp6j1vnS{_T=Ryf~P znPIG1uCT7?O4SCyBB?vAxBW|5+2($qYbcx)m|+~2V?NZNK&NSQNvsRhFptMA)-c~K z6|K>7eP4<`7*D^MIPs24YVKgsMAAG{l5AKc=UAn3`Ws1Fjw+rOCr4u^L>rm&s|+oHb&+bx zX42i*REZYX4_jo0SBFL~=9d-vJ-_=tJ$~h~)g{RF8SF{uB8cby6(>y_9)$h^2E_>2 zZD2YNvOwo>6wuj>`0R})sUk%W`7M*mS+dz5KhVshQEc>^srgq{nxL=lmzS@p=ZHyY zMOv4?J4jitH0!Yb2-57Dv^x1pB_k~z^lK3iVMP1EBT4IQ@r=I@^vb3pg#)8DZE=<> z2@O9p;`RNEkskF3ipe{I>YAuF@GMb~Aa%DIS0IrEc)`Xfd_&&;lEOH6Kmqy64F&QH5NC1QCTa=f#jJF;S_kB3GN z6*n!VI@v?;W+!FN{6Ow#dJ4hY_IRvR>`P6B>o$Ze|RDw(U3&p@Ub4`%Yft^y0GUDkRzjO*L%>F?Ots)^iv z6F+ffDS+{EUx5CkXr<~OaZY9gaMmkCa+Z<~XpaBXNz8^;ZEx~JEp^fNN93#DD5_aD z@EB2Vbnu5VjI=lhOt$7+Jx*-eDr~hIOD#Jlz$PLF`|;|J@5)5N7;o3HkM^o{0#l%- zDzXXrhPiK5R-Hql%aZD>4y&-xBZl1Q?o1tNCLK{h;_@b)Ecw=c2^!+_5S)|naarB1 zso>~3{1Le;FD_aBCudf@dqjgV_5Ou8#bQVY1;t5GM4dYoXiT+Kr#Yv+?2#VnN%u#` ziLO%YyuKP^+JsD_8cC@+=snoo*L{!Y$S3F8HT^9OOh(pmuOJu}=Cy2clJ=mfka{(}IsX*59Zjul za>JNQ2+8YcrN}wGoYDQ7<-9L_?0|zHkFs1UQ|Ty{!hXl#&~|5OLh9&!*C=?5~ZbEAs;+4p^=YVZZ5pmF@P zoyuoYws5aV6f0}joHY7F&Rl`(DQw$wsCCmz+bIeX>dN+1mLAJ&H%ptg*(ue z{mSz`1LzSh*;=kzqB&k^s&K#ksY1ZzP@SQhQ>EVLaDDxSGyDriIYX;rQ?gI)vq5^VLHV_SXD(9R}*CCB+%n;xBN|3=j0O>5x2z~*Yl z!BAvbpWy!E>Jo;)B#A7TAnp9(wn3rJVqx-Pe|cJ)fxpRXHG+;TzT8*jO`TsB8|R$w96RJtyM%DcSd6R+8~* zMYOm520=Gbr8%h{6}K13`+hHzQ5_~m$m#Z`?aR@DtAf9?BJphENztnqIDxy{m8k-Z zkFvqW2e#+!`!}6mjRz*hVz7~UAS9`O3#lR?*U@ZkpQB;eHh5@lB6Li6x};JtNDJ$K zHdY))Z=UxTAni+GS#kf!wXBl|rcf$JTmE{wDvIB|6@Y}&{!O!kjhA?bGoEeCru#q% z)q&Q72v%7PA#0T|ouPEx<(cYBVro&gFYaG$GaI~IDmHRY6_;vuTd&I**gFKTTdpXn z^S_|%lHNeZC&A3buy#Pwyk8r+kL7di-JDjCKt2jN=mELOA1$pM@#ADw7cHNZ`RO$j z#aS*Z1tmG3M_-tdQg&w=fYMxICcK5Nw(oFGKIpKn9G@3dPAe4LNJuFp@&_5=u@5q|JX zWOv}6=T{rL-c11UqYmWFf9JuT^@UhtH*g}Ck&I_7fIHaT~7jy;EQpkjivP@%mo zAKmiwHTK4HbAiqsa25H02E5IJv*4)8YECJ%5JvlwkbN}WcDkGVvD#)yb9?xkB}3%( z!#CIEl%=2Mu@?dNKt)0Qf_fSokw0FoT^ zv>3yp82oQ?KR(jVa^gH))iXzMn=Fxpo-k>{zBg`d+TY#?KAD|V*X_ERY{i>dRVF642HG&0 z6@s7)di1`!iREFt*sr;4uV-ImF^fn`n4Vr*7y5)H%}A39z>ifY&erCBFx;TT5TxJc z`xKG#8BB{i;i_PDPms7m2_9e}M{xOdTB32GF8TH&HZS2pcPNfMe^vX%gkAx>9n{|7lkmyJ$U@sMY3g{U+{*VA9 z3WAkz7vPFojqsdCIUOK`mD3!?CIooiY}WUUX;+c`J^2U_kV3?l$ggUuwv&VQ59|cD z0W;g+?b@S^FqO#OW~KcziDSFm1DeRhll?`e#E%GqjklFix4*wfa8_{c{G-tAeIqQw?h+~Q(vpq&xL|dOYw!<(liZ3b{#bu1K_sB>8={=2xBfnLw4JdB_(Fa9K^L3U0 zk*vLa&hf(;B8j#{IlWp< zaZioVwRs8khc=fVpqKE?#1v0+CQs`Ich9b#s5^`GHI^Zza|@L_!xR2rC!)@UqMQ>` z>;j{|m6svMh#Mcj-!T|cGkQ&)#J=6x3s1ohg%o0|Kwte&d|V#_9wC`M;Xb{P#5gzy zltFG*Tq2*RVn?$5t&L~A5;x$_S(k67`QT2tixl0xiYy(}oNku4lk<^7%=w@j79Ly4 z?vj->S2gjX-<~q6j@`&vL%&JR*{glx`&P@q+786)N#DX5H|U8pjYKbSn4|Z! z;Lo{Q>J=OCPkeIWf2y{@sJ_Abh_4i@{Bt>9?|tUIg>-*aX`kwDQBSocX21|PnPL1N zZPL}f(ma#yJLh{J8_vFA9^bkZt(9L53MMj>^)mgh*%d3d>Cvhp^p6tjzguSIUGY}b zSi{o2uk5Oi503anCYCQG)XaI#@PJ5T%_~3!R@$(a|9;+R-dqqn6vuG$<(21 z5*|;wx%rvVAP|0Un7ao?6T+#)9{{1N7v;Cf>xleK{|5{VrNC1HFmIu2=El z)N?z-SDIjJ595R~ILuQe=h-ZA?m$vUr-#N=eC!Pr#jin5d`@U3eAmCmp6OAkvF7}4;bhn4brH+j zZ>yz>4u*C0`{<7=lvUB2HkP*jB;CZP_?-bM%CQ8T*T%?=6j_kj z@7ZkLmOah*j)w|dh5eD`(k0JLK_(uv)1`~y*S5U_`++BCKpf`4oAt-2J<^oxH{`&j z;t$zE4ISQpt46?L@sqvPF@z%-?-&?ydto5uX4YbKEz9397^uB`YEn?&pD>X%au>3Z zV{xCTGTc;U61#EU(hG4{RghA)Upa4C#P}_jJTVSEhm=vs2syDH$UB!9$7gs7bIRU* zK>yvOgkGXU=}x;Cx@b}obkq9+34^offp5gQB?AcNx>l$p&ED>iD#2{LZ)%`EvE;Ts zu6QmCNi-lNi|TJN25-st-ypIXg6~qs*LW8$CthU)`5ja_btq;yLA-OP(H(9=;0iR6e{P z-s8gMcYY&tI>fyF%ei43GZUUS+}q66K8R-z#t1!0clI7PB?asz#Vki1M`to*5Fd;k z_bMP-ApQEP{5hg<|0eb1ix^+ByWd$Rye(xUQbKW7IX+?ls##ex$*DgeXlc|0@T2@9 zWg_~b1iGioqHd~_q9jtAU81SI#=Apc)heLAu>k{|M271P)EH}`bzmK}(~aSE*egB( z9dex2xV$+roMlrBf*=tr$;jp?7(9b_)$@Wex^Ql0pCEf_v&qbbV7dsoR8F~@YM|uO zKP~1I-TSl+>BTMbj@TD7Hs_d&bGEBz&oj-(Y}3ks$~i@#6Ho1167Sg^0CGKj)%^76 zNvwOh(q}(@EDScK*4kkFA7cR;z1DA7QLT@mn9-)n!K1=Z8QJXF)(QX z6h1oGcGSDFLU+V%J|tn%mRub--`g~yDCjl@Wml7|(8$3xyRk}eo$H5$86-f|$B0K3 zYRZ{Uo~-L?e;_3-9|A>yTOpV$GP%=7PUkktOido2!wD=He9~xnq~kfeJoaqxEXRme zjA%-ug|Mjf&zS`5p1d`y90{pOMqiil1#^@GHHGGxm?z}tZ2?2UVIcVVlMakGzRg~< zhk)B}8y=}LBM%UGl0|(5##((}FBRC)V{gwi{{6T^sa=?eBf~j3=286vj+?Sn zq6Tjw>~=ho&4rh1$RBKUx1YQZjrz+WHpxSpEyJScT|G@4%99=H;dQ@4QT&#VB4+r} zjlO-xeQ+)H-MHiq?g;I>Fd1?+EBoRIS&jAi%69Ja!jQC6yck2pVDTh8{Lx^Z^*%%8 zW>{6A8yjY@p>8 zDF-t84$5*ULkeVVjPv}x&s=TP{o=;&@4gCLw$xG6MMVc+Lf9-1>P5sIUwROcNzqM{ zhIhul8AWibJK2CMttkFWB*G zjPegI%EsW_@NEq^E*K=rYQ>FMEwkR3)UP=Jo_UfIOM-;tIX>uxJL9)Y**rX`CEvGsmioK>PE}okPxPqD6j(pE zMeHT$n#D($v}W^}D8k7wHwqQ?NG3liS&2WOiD=mx%PXyn-}e&Xc42knr+C^9G?L`! z6b<*U0}ZH@`u{m{*0&TL5S0=0Nz};R&t>z+&+4ETYm&1yI!$MYk3{&D8Tap;zwPG8 zbNtNfW`j6?M=Y0mpmR2-D^SqVm|T>|SZMh`*%WDN^Wvm_q={jaYXAu&y2+QJ-dSEn zlq;TXx@N^^N=^hOJ}gNy5KU9Ym$RR+*TSu0PtW!vZdL9Zt+z)HFTJcfoIyY3Y2F0J z?5s;sf=4gB=&y+eXC1*~XTKv1DDKAIi!#Pwx9(Mwl`=iSqh!Wls*h}5SO}W9T4%rE`MWa_Pg?&tA)FoHC7KYdQY9kQr+C%JW zmIrR9mP^^R!P5Oai+-@wSgRGB#%$p4l`T@3S@x@<#q-8S2g!F?m2J2U>&tb?jy#^` zqmYx=R=gTL6$O}qd~qGtkv$ICtW@=ESp04?mYVp|8Sy?-J=@+Apn#pv4NK*ml_v|Z4D=2 zbLvS~#Aw@Sx0^UA;xa0ScGclaGS9=lxBKcRQ1Rmi2*+B#p@zFxsHbk-9Qn$l+ZYj| zt6Z9Va3jWzT7R7V7N}+2OYjUN|Wq2f~-hQk7r%Ua6hZk~H%ss(nRL3$= zBz%lPkwnvmlp-DyJq*ovIKB3z>%81{it

iCi_&cx6Z;9iG6lWp-+qhVqEeQ6rc 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 z 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 WWn}%MvUWKG5O})!xvX> literal 0 HcmV?d00001 diff --git a/docs/wordpress-debugging/assertions.md b/docs/wordpress-debugging/assertions.md index f2f359bf8..bfb5d0acb 100644 --- a/docs/wordpress-debugging/assertions.md +++ b/docs/wordpress-debugging/assertions.md @@ -5,11 +5,18 @@ parent: WordPress debugging # Performing assertions in Query Monitor -Query Monitor allows developers to perform assertions which will log an error in the Query Monitor interface when they fail. This is a convenience wrapper around the logging feature which allows you to get alerted to problems without performing conditional logic. +{: .new } +This feature is new in Query Monitor 3.15 + +Query Monitor allows developers to perform assertions which will log an error in the Logs panel in Query Monitor when they fail. This is a convenience wrapper around the logging feature which allows you to get alerted to problems without performing conditional logic. + +Here's what assertions look like in the Logs panel: + +[![Query Monitor's Logging Panel](../../assets/assertions.png)](../../assets/assertions.png) Let's take a look at how to use this feature and what it's useful for. -## Heading +## Basic usage ```php do_action( 'qm/assert', $value === 5 ); @@ -17,6 +24,21 @@ do_action( 'qm/assert', $value === 5, 'Value is 5' ); do_action( 'qm/assert', $value === 5, 'Value is 5', $value ); ``` +The `qm/assert` action accepts an assertion value as its first parameter which you'll usually provide in the form of an expression. This should be a boolean `true` or `false` value, although technically anything truthy or falsey is accepted. + +If the assertion passes then nothing happens. If the assertion fails then Query Monitor will show an error in the Logs panel, which in turn causes a red warning to appear in the admin toolbar so you get notified about the failure. + +The second parameter is an optional short description of the assertion. If provided, this will be shown as the assertion failure message on the Logs screen. If the assertion passes, a debug level message will be shown, which helps you confirm that your assertion is actually being executed. + +The third parameter is an optional value of any type that will get output below the error message if the assertion fails. This is useful for debugging an unexpected value. + +{: .warning } +Be careful not to log very large values such as an array of post objects or the raw response from an HTTP request. If you really need to debug the value of something large, use a tool such as [step debugging in Xdebug](https://xdebug.org/docs/step_debug) or [debugging in Ray](https://myray.app/). + +## More examples + +You can use this assertion feature to ensure your code is behaving as expected, for example to assert how many database queries are being performed or not performed: + ```php foreach ( $posts as $post ) { $before = $wpdb->num_queries; @@ -28,25 +50,19 @@ foreach ( $posts as $post ) { } ``` -Preconditions +Preconditions can be used to assert a certain state before performing logic based on expectations: ```php do_action( 'qm/assert', is_array( $data ), 'Data is an array', $data ); do_action( 'qm/assert', array_key_exists( 'foo', $data ), 'Data contains foo', $data ); ``` -Postconditions +Postconditions can be used to assert that a particular outcome occured: ```php do_action( 'qm/assert', did_action( 'my-action' ) ); ``` -A failed assertion will log an error in the Logs panel and trigger a notification in Query Monitor's admin toolbar. - -Here's what the Logs panel looks like: - -[![Query Monitor's Logging Panel](../../assets/assertions.png)](../../assets/assertions.png) - The static assertion method on the `QM` class can be used instead of calling `do_action()`: ```php @@ -55,23 +71,21 @@ QM::assert( $value === 5, 'Value is 5' ); QM::assert( $value === 5, 'Value is 5', $value ); ``` -Be careful with the size of the value used for debugging! +## Differences from `assert()` -Note that this feature doesn't support interpolation. +This feature differs from the native `assert()` function in PHP because they serve different purposes. -## Differences with `assert()` +* The `assert()` function in PHP will terminate execution of the script if the assertions fails, this is not true for assertions in Query Monitor. Think of this like a soft assertion that raises an error instead. Code should behave as expected regardless of whether the assertion passes. +* Query Monitor logs passed assertions too. This is useful for verifying that your assertion is being executed. +* Assertions in Query Monitor will always be performed and logged as necessary. The `assert()` function in PHP will only perform the assertion if assertions are enabled in the `php.ini` configuration. +* Assertions in Query Monitor can be passed an optional value to output for debugging purposes, which is not possible with `assert()`. -This feature differs from the `assert()` function in PHP. +## Notes on usage -* The `assert()` function in PHP will terminate execution of the script if the assertions fails, this is not true for assertions in Query Monitor. This has advantages and disadvantages... -* The first parameter must be an expression that results in a boolean true or false. -* Query Monitor logs passed assertions too. -* Processing does not terminate if the assertion fails. Think of this like a soft assertion that raises an error instead. Code should behave as expected regardless of whether the assertion passes. -* Assertions in Query Monitor will always be performed and logged as necessary. The `assert()` function in PHP will only perform the assertion if assertions are enabled in the php.ini configuration. -* You can pass an optional value to output for debugging +Assertions are primarily a development tool to identify bugs or sub-optimal behaviour in your code. This is distinct from error handling or data validation, which assertions are not intended for. -## Notes on usage +Just as with the `assert()` function in PHP, your code must handle the situation where your assertion fails because in a production environment the code will continue to execute past the assertion. -Assertions are primarily a development tool to identify bugs or sub-optimal behaviour. This is distinct from error handling or data validation. +## Profiling and logging -If you pass a string it will not be evaluated as an assertion (same behaviour as `assert()` since PHP 8). +[Read more about the profiling and logging functionality in Query Monitor](./profiling-and-logging/). diff --git a/docs/wordpress-debugging/profiling-and-logging.md b/docs/wordpress-debugging/profiling-and-logging.md index 86839e3b0..68d5d4e57 100644 --- a/docs/wordpress-debugging/profiling-and-logging.md +++ b/docs/wordpress-debugging/profiling-and-logging.md @@ -8,7 +8,7 @@ redirect_from: # Profiling and logging in Query Monitor -Query Monitor allows developers to profile the running time and memory usage of their code and to log debugging messages to the Query Monitor interface. +Query Monitor allows developers to profile the running time and memory usage of a piece of code and to log debugging messages to the Query Monitor interface. Let's take a look at profiling and logging in detail. @@ -102,6 +102,9 @@ try { Variables of any type can be logged and they'll be formatted appropriately: +{: .warning } +Be careful not to log very large values such as an array of post objects or the raw response from an HTTP request. If you really need to debug the value of something large, use a tool such as [step debugging in Xdebug](https://xdebug.org/docs/step_debug) or [debugging in Ray](https://myray.app/). + ```php $var = [ 1, 2, 3 ]; do_action( 'qm/debug', $var ); @@ -114,3 +117,10 @@ QM::error( 'Everything is broken' ); ``` The QM class is PSR-3 compatible, although it doesn't actually implement `Psr\Log\LoggerInterface`. + +## Assertions + +{: .new } +New in Query Monitor 3.15 + +Query Monitor allows developers to perform assertions which will log an error in the Logs panel in Query Monitor when they fail. [Read more about using assertions in Query Monitor](./assertions/). From 7f5c98c40f6658618199b33f7b9f998cc40bb99d Mon Sep 17 00:00:00 2001 From: John Blackbourn Date: Fri, 10 Nov 2023 17:35:50 +0000 Subject: [PATCH 5/5] More docs. --- docs/wordpress-debugging/assertions.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/wordpress-debugging/assertions.md b/docs/wordpress-debugging/assertions.md index bfb5d0acb..2459a325e 100644 --- a/docs/wordpress-debugging/assertions.md +++ b/docs/wordpress-debugging/assertions.md @@ -26,9 +26,9 @@ do_action( 'qm/assert', $value === 5, 'Value is 5', $value ); The `qm/assert` action accepts an assertion value as its first parameter which you'll usually provide in the form of an expression. This should be a boolean `true` or `false` value, although technically anything truthy or falsey is accepted. -If the assertion passes then nothing happens. If the assertion fails then Query Monitor will show an error in the Logs panel, which in turn causes a red warning to appear in the admin toolbar so you get notified about the failure. +If the assertion fails then Query Monitor will show an error in the Logs panel, which in turn causes a red warning to appear in the admin toolbar so you get notified about the failure. If the assertion passes then a debug level message will be shown in the Logs panel, which helps you confirm that your assertion is being executed. -The second parameter is an optional short description of the assertion. If provided, this will be shown as the assertion failure message on the Logs screen. If the assertion passes, a debug level message will be shown, which helps you confirm that your assertion is actually being executed. +The second parameter is an optional short description of the assertion. If provided, this will be shown along with the assertion failure or pass message. The third parameter is an optional value of any type that will get output below the error message if the assertion fails. This is useful for debugging an unexpected value.