/* Widget Name: Button Description: Create a custom button with flexible styling, icon support, and click tracking functionality. Author: SiteOrigin Author URI: https://siteorigin.com Documentation: https://siteorigin.com/widgets-bundle/button-widget-documentation/ Keywords: event, icon, link */ class SiteOrigin_Widget_Button_Widget extends SiteOrigin_Widget { public function __construct() { parent::__construct( 'sow-button', __( 'SiteOrigin Button', 'so-widgets-bundle' ), array( 'description' => __( 'Create a custom button with flexible styling, icon support, and click tracking functionality.', 'so-widgets-bundle' ), 'help' => 'https://siteorigin.com/widgets-bundle/button-widget-documentation/', ), array( ), false, plugin_dir_path( __FILE__ ) ); } public function get_settings_form() { return array( 'responsive_breakpoint' => array( 'type' => 'measurement', 'label' => __( 'Responsive Breakpoint', 'so-widgets-bundle' ), 'default' => '780px', 'description' => __( 'This setting controls when the Mobile Align setting will be used. The default value is 780px.', 'so-widgets-bundle' ), ), ); } public function initialize() { $this->register_frontend_styles( array( array( 'sow-button-base', plugin_dir_url( __FILE__ ) . 'css/style.css', array(), SOW_BUNDLE_VERSION, ), ) ); } public function get_widget_form() { return array( 'text' => array( 'type' => 'text', 'label' => __( 'Button Text', 'so-widgets-bundle' ), ), 'url' => array( 'type' => 'link', 'label' => __( 'Destination URL', 'so-widgets-bundle' ), 'allow_shortcode' => true, ), 'new_window' => array( 'type' => 'checkbox', 'default' => false, 'label' => __( 'Open in a new window', 'so-widgets-bundle' ), ), 'download' => array( 'type' => 'checkbox', 'default' => false, 'label' => __( 'Download', 'so-widgets-bundle' ), 'description' => __( 'The Destination URL will be downloaded when a user clicks on the button.', 'so-widgets-bundle' ), ), 'button_icon' => array( 'type' => 'section', 'label' => __( 'Icon', 'so-widgets-bundle' ), 'fields' => array( 'icon_selected' => array( 'type' => 'icon', 'label' => __( 'Icon', 'so-widgets-bundle' ), ), 'icon_color' => array( 'type' => 'color', 'label' => __( 'Icon Color', 'so-widgets-bundle' ), ), 'icon' => array( 'type' => 'media', 'label' => __( 'Image Icon', 'so-widgets-bundle' ), 'description' => __( 'Replaces the icon with your own image icon.', 'so-widgets-bundle' ), ), 'icon_placement' => array( 'type' => 'select', 'label' => __( 'Icon Placement', 'so-widgets-bundle' ), 'default' => 'left', 'options' => array( 'top' => __( 'Top', 'so-widgets-bundle' ), 'right' => __( 'Right', 'so-widgets-bundle' ), 'bottom' => __( 'Bottom', 'so-widgets-bundle' ), 'left' => __( 'Left', 'so-widgets-bundle' ), ), ), ), ), 'design' => array( 'type' => 'section', 'label' => __( 'Design and Layout', 'so-widgets-bundle' ), 'hide' => true, 'fields' => array( 'width' => array( 'type' => 'measurement', 'label' => __( 'Width', 'so-widgets-bundle' ), 'description' => __( 'Leave blank to let the button resize according to content.', 'so-widgets-bundle' ), ), 'align' => array( 'type' => 'select', 'label' => __( 'Align', 'so-widgets-bundle' ), 'default' => 'center', 'options' => array( 'left' => __( 'Left', 'so-widgets-bundle' ), 'right' => __( 'Right', 'so-widgets-bundle' ), 'center' => __( 'Center', 'so-widgets-bundle' ), 'justify' => __( 'Full Width', 'so-widgets-bundle' ), ), ), 'mobile_align' => array( 'type' => 'select', 'label' => __( 'Mobile Align', 'so-widgets-bundle' ), 'default' => 'center', 'options' => array( 'left' => __( 'Left', 'so-widgets-bundle' ), 'right' => __( 'Right', 'so-widgets-bundle' ), 'center' => __( 'Center', 'so-widgets-bundle' ), 'justify' => __( 'Full Width', 'so-widgets-bundle' ), ), ), 'theme' => array( 'type' => 'select', 'label' => __( 'Button Theme', 'so-widgets-bundle' ), 'default' => 'flat', 'options' => array( 'atom' => __( 'Atom', 'so-widgets-bundle' ), 'flat' => __( 'Flat', 'so-widgets-bundle' ), 'wire' => __( 'Wire', 'so-widgets-bundle' ), ), ), 'button_color' => array( 'type' => 'color', 'label' => __( 'Button Color', 'so-widgets-bundle' ), ), 'text_color' => array( 'type' => 'color', 'label' => __( 'Text Color', 'so-widgets-bundle' ), ), 'hover' => array( 'type' => 'checkbox', 'default' => true, 'label' => __( 'Use hover effects', 'so-widgets-bundle' ), 'state_emitter' => array( 'callback' => 'conditional', 'args' => array( 'hover[show]: val', 'hover[hide]: ! val', ), ), ), 'hover_background_color' => array( 'type' => 'color', 'label' => __( 'Hover Background Color', 'so-widgets-bundle' ), 'state_handler' => array( 'hover[show]' => array( 'show' ), 'hover[hide]' => array( 'hide' ), ), ), 'hover_text_color' => array( 'type' => 'color', 'label' => __( 'Hover Text Color', 'so-widgets-bundle' ), 'state_handler' => array( 'hover[show]' => array( 'show' ), 'hover[hide]' => array( 'hide' ), ), ), 'font' => array( 'type' => 'font', 'label' => __( 'Font', 'so-widgets-bundle' ), 'default' => 'default', ), 'font_size' => array( 'type' => 'measurement', 'label' => __( 'Font Size', 'so-widgets-bundle' ), 'default' => '1em', ), 'icon_size' => array( 'type' => 'measurement', 'label' => __( 'Icon Size', 'so-widgets-bundle' ), 'default' => '1.3em', ), 'padding' => array( 'type' => 'measurement', 'label' => __( 'Padding', 'so-widgets-bundle' ), 'default' => '1em', ), 'rounding' => array( 'type' => 'multi-measurement', 'label' => __( 'Rounding', 'so-widgets-bundle' ), 'default' => '0.25em 0.25em 0.25em 0.25em', 'measurements' => array( 'top' => array( 'label' => __( 'Top', 'so-widgets-bundle' ), ), 'right' => array( 'label' => __( 'Right', 'so-widgets-bundle' ), ), 'bottom' => array( 'label' => __( 'Bottom', 'so-widgets-bundle' ), ), 'left' => array( 'label' => __( 'Left', 'so-widgets-bundle' ), ), ), ), ), ), 'attributes' => array( 'type' => 'section', 'label' => __( 'Other Attributes and SEO', 'so-widgets-bundle' ), 'hide' => true, 'fields' => array( 'id' => array( 'type' => 'text', 'label' => __( 'Button ID', 'so-widgets-bundle' ), 'description' => __( 'An ID attribute allows you to target this button in JavaScript.', 'so-widgets-bundle' ), ), 'classes' => array( 'type' => 'text', 'label' => __( 'Button Classes', 'so-widgets-bundle' ), 'description' => __( 'Additional CSS classes added to the button link.', 'so-widgets-bundle' ), ), 'title' => array( 'type' => 'text', 'label' => __( 'Title Attribute', 'so-widgets-bundle' ), 'description' => __( 'Adds a title attribute to the button link.', 'so-widgets-bundle' ), ), 'on_click' => array( 'type' => 'text', 'label' => __( 'Onclick', 'so-widgets-bundle' ), 'description' => __( 'Run this JavaScript when the button is clicked. Ideal for tracking.', 'so-widgets-bundle' ), 'onclick' => true, ), 'rel' => array( 'type' => 'text', 'label' => __( 'Rel Attribute', 'so-widgets-bundle' ), 'description' => __( 'Adds a rel attribute to the button link.', 'so-widgets-bundle' ), ), ), ), ); } public function get_style_name( $instance ) { if ( empty( $instance['design']['theme'] ) ) { return 'atom'; } return $instance['design']['theme']; } /** * Get the variables for the Button Widget. * * @return array */ public function get_template_variables( $instance, $args ) { $button_attributes = array(); $attributes = $instance['attributes']; $classes = ! empty( $attributes['classes'] ) ? $attributes['classes'] : ''; if ( ! empty( $classes ) ) { $classes .= ' '; } $classes .= 'sowb-button ow-icon-placement-' . $instance['button_icon']['icon_placement']; if ( ! empty( $instance['design']['hover'] ) ) { $classes .= ' ow-button-hover'; } $button_attributes['class'] = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $classes ) ) ); if ( ! empty( $instance['new_window'] ) ) { $button_attributes['target'] = '_blank'; $button_attributes['rel'] = 'noopener noreferrer'; } if ( ! empty( $instance['download'] ) ) { $button_attributes['download'] = null; } if ( ! empty( $attributes['id'] ) ) { $button_attributes['id'] = $attributes['id']; } if ( ! empty( $attributes['title'] ) ) { $button_attributes['title'] = $attributes['title']; } if ( ! empty( $attributes['rel'] ) ) { if ( isset( $button_attributes['rel'] ) ) { $button_attributes['rel'] .= " $attributes[rel]"; } else { $button_attributes['rel'] = $attributes['rel']; } } $icon_image_url = ''; if ( ! empty( $instance['button_icon']['icon'] ) ) { $attachment = wp_get_attachment_image_src( $instance['button_icon']['icon'] ); if ( ! empty( $attachment ) ) { $icon_image_url = $attachment[0]; } } return array( 'button_attributes' => apply_filters( 'siteorigin_widgets_button_attributes', $button_attributes, $instance ), 'href' => ! empty( $instance['url'] ) ? $instance['url'] : '', 'on_click' => ! empty( $attributes['on_click'] ) ? $attributes['on_click'] : '', 'align' => $instance['design']['align'], 'icon_image_url' => $icon_image_url, 'icon' => $instance['button_icon']['icon_selected'], 'icon_color' => $instance['button_icon']['icon_color'], 'text' => $instance['text'], ); } /** * Get the variables that we'll be injecting into the less stylesheet. * * @return array */ public function get_less_variables( $instance ) { if ( empty( $instance ) || empty( $instance['design'] ) ) { return array(); } $text_color = isset( $instance['design']['text_color'] ) ? $instance['design']['text_color'] : ''; $button_color = isset( $instance['design']['button_color'] ) ? $instance['design']['button_color'] : ''; $less_vars = array( 'button_width' => isset( $instance['design']['width'] ) ? $instance['design']['width'] : '', 'button_color' => $button_color, 'text_color' => $text_color, 'icon_size' => ! empty( $instance['design']['icon_size'] ) ? $instance['design']['icon_size'] : '1.3em', 'hover_text_color' => ! empty( $instance['design']['hover_text_color'] ) ? $instance['design']['hover_text_color'] : $text_color, 'hover_background_color' => ! empty( $instance['design']['hover_background_color'] ) ? $instance['design']['hover_background_color'] : $button_color, 'font_size' => isset( $instance['design']['font_size'] ) ? $instance['design']['font_size'] : '', 'rounding' => isset( $instance['design']['rounding'] ) ? $instance['design']['rounding'] : '', 'padding' => isset( $instance['design']['padding'] ) ? $instance['design']['padding'] : '', 'has_text' => empty( $instance['text'] ) ? 'false' : 'true', 'responsive_breakpoint' => $this->get_global_settings( 'responsive_breakpoint' ), 'align' => ! empty( $instance['design']['align'] ) ? $instance['design']['align'] : 'center', 'mobile_align' => ! empty( $instance['design']['mobile_align'] ) ? $instance['design']['mobile_align'] : 'center', 'has_button_icon' => empty( $instance['button_icon']['icon_selected'] ) ? 'false' : 'true', ); if ( ! empty( $instance['design']['font'] ) ) { $font = siteorigin_widget_get_font( $instance['design']['font'] ); $less_vars['button_font'] = $font['family']; if ( ! empty( $font['weight'] ) ) { $less_vars['button_font_weight'] = $font['weight_raw']; $less_vars['button_font_style'] = $font['style']; } } return $less_vars; } /** * Make sure the instance is the most up to date version. * * @return mixed */ public function modify_instance( $instance ) { if ( empty( $instance ) ) { return array(); } $migrate_props = array( 'button_icon' => array( 'icon_selected', 'icon_color', 'icon', ), 'design' => array( 'align', 'theme', 'button_color', 'text_color', 'hover', 'hover_text_color', 'hover_background_color', 'font_size', 'rounding', 'padding', ), 'attributes' => array( 'id', ), ); foreach ( $migrate_props as $prop => $sub_props ) { if ( empty( $instance[ $prop ] ) ) { $instance[ $prop ] = array(); foreach ( $sub_props as $sub_prop ) { if ( isset( $instance[ $sub_prop ] ) ) { $instance[ $prop ][ $sub_prop ] = $instance[ $sub_prop ]; unset( $instance[ $sub_prop ] ); } } } } // Migrate onclick setting to prevent Wordfence flag. if ( ! empty( $instance['attributes'] ) && ! empty( $instance['attributes']['onclick'] ) ) { $instance['attributes']['on_click'] = $instance['attributes']['onclick']; } // If the mobile_align setting isn't set, set it to the same value as the align value. if ( ! empty( $instance['design'] ) && ! empty( $instance['design']['align'] ) && empty( $instance['design']['mobile_align'] ) ) { $instance['design']['mobile_align'] = $instance['design']['align']; } // Migrate predefined settings to more customizable settings. if ( ! empty( $instance['design']['font_size'] ) && is_numeric( $instance['design']['font_size'] ) ) { $instance['design']['font_size'] .= 'em'; } if ( ! empty( $instance['design']['padding'] ) && is_numeric( $instance['design']['padding'] ) ) { $instance['design']['padding'] .= 'em'; } if ( ! empty( $instance['design']['rounding'] ) && is_numeric( $instance['design']['rounding'] ) ) { $instance['design']['rounding'] = $instance['design']['rounding'] . 'em ' . $instance['design']['rounding'] . 'em ' . $instance['design']['rounding'] . 'em ' . $instance['design']['rounding'] . 'em'; } if ( empty( $instance['design']['icon_size'] ) ) { $instance['design']['icon_size'] = '1.3em'; } return $instance; } public function get_form_teaser() { if ( class_exists( 'SiteOrigin_Premium' ) ) { return false; } return array( sprintf( __( 'Add a beautiful tooltip to the Button Widget with %sSiteOrigin Premium%s', 'so-widgets-bundle' ), '', '' ), ); } } siteorigin_widget_register( 'sow-button', __FILE__, 'SiteOrigin_Widget_Button_Widget' );{"id":26620,"date":"2026-05-15T12:06:18","date_gmt":"2026-05-15T12:06:18","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=26620"},"modified":"2026-05-15T12:06:19","modified_gmt":"2026-05-15T12:06:19","slug":"for-individuals-who-claim-your-own-bonus-day-after-day-you-can-earn-a-regular-total-of-just-one","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/for-individuals-who-claim-your-own-bonus-day-after-day-you-can-earn-a-regular-total-of-just-one\/","title":{"rendered":"For individuals who claim your own bonus day-after-day, you can earn a regular total of just one"},"content":{"rendered":"

The greatest advantage of Chumba Casino’s 100 % free play design is actually the latest authentic redemption system<\/h2>\n

The new free enjoy experience from the Chumba Local casino is sold with usage of higher-quality Betsoft headings one showcase cutting-edge image and you can entertaining game play auto mechanics. This big creating package allows participants to check procedures, discover online game auto mechanics, and savor longer playing lessons in place of extra cash. Chumba Casino has the benefit of a good $100 free gamble no-deposit incentive for new pages, which is a legitimate way to initiate to try out rather than risking your individual currency.<\/p>\n

If you’re looking to own a cellular-earliest sweeps local casino one outshines their desktop type, Crown Gold coins Local casino is a much better fit, specifically for ios profiles. While you are the fresh new, now’s an enjoyable experience first off to relax and play within Chumba Local casino or take advantageous asset of the newest constant advertising. four mil GC and you will seven Free Sc, that is probably one of the most ample sign on possibilities regarding sweeps room.<\/p>\n

The latest Chumba Casino games collection have a diverse distinct higher-top quality titles you to definitely appeal to an array of professionals. Since you enjoy, you could unlock the newest titles and take part inside limited-time has jubla casino SE<\/a> the benefit of you to definitely put a lot more thrill. The action is quick-moving, rewarding, and easy to love whether you’re at home otherwise into the flow.Chumba Casino’s video game collection is current appear to, giving players access to the very best casino games online, and minimal-time situations and you will seasonal advertising one secure the actions new. The fresh new each day incentive gold coins try generous, plus the games choice rocks. The fresh new good acceptance bundle away from 2,000,000 Gold coins becomes your already been immediately, because innovative dual-money program contributes excitement past traditional free play. Routing and video game categorization are simple and you will easy, however, also possible for the common player’s means.<\/p>\n

I usually suggest taking advantage of these features rather than prepared until you you need all of them. When you create a different account during the Chumba Gambling enterprise, you are able to usually discovered a small amount of free Sweeps Coins and you will a large bunch off Gold coins for only registering. When the members access third-group backlinks within this posts, a payment is generally attained within no additional pricing.<\/p>\n

When you signal-around a sportsbook or even local casino due to website links to the the brand new webpages, we would secure a joint venture partner percentage. With this particular added bonus, experts located 100 % totally free Coins and you may Sweeps Gold coins to own signing to the its profile all of the 1 day. Chumba Gambling enterprise encourages uniform enjoy certainly their anyone by offering every of them an everyday join bonus. After a man have met the new redemption requirements, Sweeps Money payouts will likely be used the real deal money and transmitted thru offered payout tips. When you are anyone never privately lay if not choice real cash, Sweeps Gold coins claimed or bought as a consequence of e that offer an excellent real earnings honours.<\/p>\n

All of us combed the internet to have Chumba Gambling establishment promotional offers, therefore we was basically astonished to see you to several internet sites and you may societal Myspace groups was advertisements the latest Chumba $100 totally free gamble provide. In the regular sweepstakes gambling enterprise style, the brand new acceptance extra during the Chumba boasts a no deposit extra and you will a buy bonus. Chumba Casino is actually a brandname away from Virtual Playing Planets and you will an effective cousin site to LuckyLand Harbors and International Web based poker. It’s your ticket to help you circumstances regarding pleasing gameplay and exciting profitable prospective. Make the most of their promotions of the diving to the our line of fascinating online casino games running on Betsoft.<\/p>\n

Here, there is certainly the new $100 100 % free gamble extra. These can promote extra chances to play instead most resource. Gain benefit from the $100 100 % free play to analyze different game mechanics and you can get a hold of the preferences. Having games available for a myriad of members, you happen to be going to get a hold of your chosen! But not, the fresh $100 free gamble incentive isn’t really included in this as it’s zero prolonged available.<\/p>\n

I’d a reply 24 hours later (from the a dozen circumstances after) confirming that award minimal to have a gift credit is so fifty Sc. Chumba Casino takes between 24 in order to a couple of days to confirm a player’s name. Definitely, We ran the latest 300% very first buy added bonus. I will notice regardless if that you are never ever needed to create good get. I’ve read reports from other Chumba pages one representatives usually get in touch with members having unique benefits once they move satisfactory. I respect the fresh new barebones method, but if you may be a bonus hunter, there is certainly not this much available.<\/p>\n

Chumba Casino embraces the newest players with a generous 2,000,000 Coins and you can 2 Sweeps Coins register bonus. I invested days examining the video game lobby along with enjoyable to experience Triple Twice Fantastic Eagles, Fortunate Emeralds, and you will Stampede Frustration 2. Once stating that it big extra, We made use of my Gold coins in order to kickstart my betting thrill. By far the most persuasive part of free gamble within Chumba Gambling enterprise lays in generous every day prize design.<\/p>\n

Chumba Local casino the most popular 100 % free-gamble local casino programs open to You<\/h2>\n

S. professionals, giving various video game instead of requiring genuine-currency dumps. Which have regular advertisements, totally free gamble possibilities, and you can a silky start for brand new pages, Chumba Local casino provides one of the recommended no-deposit playing enjoy on the market. The brand new people is actually issued a large quantity of Gold coins to help you start exploring preferred games like ports, black-jack, roulette, and electronic poker instantly. When you subscribe Chumba Gambling enterprise, you’ll immediately discover a no cost greeting added bonus no-deposit or credit card needed.<\/p>\n

Chumba Casino try a famous on line sweepstakes platform providing an appropriate and humorous cure for delight in local casino-concept games. Out of means-driven blackjack in order to spin-hefty game reveals and you will extra-packaged harbors, you will find quick activity, fair laws, and you may good well worth as a result of curated advertising. Together with the Chumba Local casino sign up Free Sweeps Coins incentive, you can find most other promos like the every day log in reward from 2 hundred,000 GC and one Sc, first get discount, and referral added bonus.<\/p>\n

There’s no need to get in any percentage facts to love the newest game. Start To relax and play InstantlyOnce registered, you’ll get a beginner bundle out of 100 % free Gold coins to start to try out. The fresh new controls revolves efficiently, that have sharp animations that promote which antique table games your, actually on the mobile phones.<\/p>\n

Specific pages features complained whenever striking larger gains, their Coins haven’t revealed upwards inside their profile. You can alter your bet dimensions, turn on car spin, allege totally free spins, and relish the picture and attention-getting musical. Diamond Panther is great for high rollers having a good 100 max bet, and you can Gem Huntress contains a lot of 100 % free revolves incentives.<\/p>\n

Video PokerChumba Casino’s electronic poker headings deliver quick, centered fun. BlackjackChumba Local casino provides numerous black-jack dining tables, offering short, proper game play modeled shortly after antique Vegas-design legislation. Predict free spins, wilds, multipliers, and you may jackpot video game that have astonishing artwork and you will immersive sound clips. Position GamesSlots will be pulse regarding Chumba Gambling establishment, providing a wide variety from vintage fruits-build computers so you’re able to progressive, high-volatility videos ports with original added bonus provides. Regardless if you are playing for fun otherwise real award ventures, Chumba Local casino combines assortment, legality, and you can comfort to your that seamless feel.one.<\/p>\n","protected":false},"excerpt":{"rendered":"

The greatest advantage of Chumba Casino’s 100 % free play design is actually the latest authentic redemption system The new free enjoy experience from the Chumba Local casino is sold with usage of higher-quality Betsoft headings one showcase cutting-edge image and you can entertaining game play auto mechanics. This big\u2026<\/p>\n

Continue reading<\/span><\/i><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-26620","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/26620","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/comments?post=26620"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/26620\/revisions"}],"predecessor-version":[{"id":26621,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/26620\/revisions\/26621"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=26620"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=26620"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=26620"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}