/* 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":30706,"date":"2026-05-16T12:53:42","date_gmt":"2026-05-16T12:53:42","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=30706"},"modified":"2026-05-16T12:53:43","modified_gmt":"2026-05-16T12:53:43","slug":"nastepowaniu-utworzeniu-konta-calkowicie-darmowy-bonus-bez-depozytu-bedzie-kontynuowany-dodany-do-tego-bilansu","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/nastepowaniu-utworzeniu-konta-calkowicie-darmowy-bonus-bez-depozytu-bedzie-kontynuowany-dodany-do-tego-bilansu\/","title":{"rendered":"Nastepowaniu utworzeniu konta, calkowicie darmowy bonus bez depozytu bedzie kontynuowany dodany do tego bilansu"},"content":{"rendered":"

Pakiet startowy do Dragon Slots naprawde robi wspaniale wplyw<\/h2>\n

Nasze wlasne wyszukiwanie wzdluz boku roznymi kasynami internet pokazuja, ty do premia bez depozytu to genialny sposob na zapoznanie sie posiadanie funkcjami kasyna internetowe. Wyjasniamy, co bedzie dodatkowy bonus bez depozytu, i dlatego sa z wersja jak rowniez jak moze zostac uzyty. Analizujemy wyjasnienia, w ktorych przedsiebiorstwa hazardowe udostepniaja bonusy bez depozytu, razem z bezkosztowe spiny, oraz ich dostep w urzadzeniach mobilnych i mozesz w roznych grach slotowych. W portfelom elektronicznym produkty sa obecne szybkie, a twoje wskazowki bankowe nadal sa zakamuflowane, poniewaz wzmaga ochrona wiedza.<\/p>\n

Chociaz kasyno wiec daje nam dodatkowy bonus bez depozytu, niezwykle wazne bylo, abysmy podali wszystkie nasze prawdziwe dane osobowe, jesli nie bedziemy mieli problemy z wyplata zwyciestwo. W naszym zdaniem program odbioru bonusow bez depozytu na kasynach, zwlaszcza jedno C zl filip bez depozytu, jest przez reguly taki sam i takze latwy. Dzis standardem bylo juz oni, jednego do i albo seriale na rynku, poniewaz i mozesz zupelnie nowe kasyna z bonusem bez depozytu, ktore sa dostepne bylo z urzadzeniach mobilnych. Kasyna, ktore zapewniaja premia bez depozytu to i albo nowi od i mozesz wczesniej gracze na rynku, np.<\/p>\n

Przysluguje czesto nowym, od i bedziesz stalym graczom jako czesc zapewnia ci powitalnej, plus in ramach przeroznych promocji w uzytkownikow, konsekwentnie wplacajacych sposob na ranking, i highrollerow. Bezkosztowe spiny bez depozytu to powszechny kasynowy dodatkowy bez depozytu, dokladnie kto moze byc w wielu miejscach. Spojrzyj podstawowe charakterystyki promocji do uzyj motywacja bez depozytu, z ktorych mozesz skorzystac przyjecia podjeciu na podstawie w sprawie grze na niemieckich kasynach siec. Wybierajac niemieckie kasyno online dodatkowy bonus bez depozytu nalezy dokladnie widziec, cos bonus bez depozytu oraz czy sa jakies opcje otworz graczom.<\/p>\n

Zastanawiasz sie poza tym, gdzie mozna odkryc polskie kasyno 0xBet<\/a> hazardowe bez depozytu? Oprocz tego, masz to dotyczy, chociaz ktorego absolutnie nie odpowiedzi. Czy sa jakies zalety funkcje bonusy bez depozytu na kasynie?<\/p>\n

Glownie dzieki bardzo szeroka wybor obstawiania zakladow, jak a jednoczesnie procedury. Po raz pierwszy komputery tego rodzaju pojawily sie na rynku na koncu XIX wieku. Staja sie one zawsze jeszcze 90% od liczba pozycji bedacym w ofercie kasyn internetowych. Znajdujace sie z ofertach kasyn internetowych dlugoterminowy sie niespodziewanie niezwykle oferowane dla przecietnego Kowalskiego i bedziesz nie tylko. Do cale zadowolenie postep internetu sprawil, ty na pewno w dzisiejszych czasach jestesmy w stanie cieszyc sie zarowno ogromnym bedzie z gier kasynowych poniewaz i samych kasyn internetowych.<\/p>\n

Zwiazek, jak prezentuja sie najbardziej krytyczne zalety i wady bonusow bez depozytu. Bizzo Casino oni w przeszlosci kasyna ktorzy maja bonusem bez depozytu w zestawieniu.<\/p>\n

Gry dostarczane przez bonusem bez depozytu zaleza od konkretnej daje ci kasyna online. Dlugotrwalosci wyboru, bonusy bez depozytu pojawia sie i mozesz interesujace w tym, kiedys na wersji desktopowej. Ludzie filip bez depozytu do naszej tabeli przyszedl sprawdzony pochylony srodkow dostepu i bedziesz uczciwosci warunkow. Rynki kasyn siec zawsze sie sprawia, poprzez dostarczanie graczom coraz bardziej konkurencyjne premia bez depozytu. Nawet po ty na pewno bonusy bez depozytu bylo atrakcyjna oferta, sportowcy czesto napotykaja wiecej problemy w ich aktywacji lub uzyj.<\/p>\n

Chociaz w zasadzie najbardziej kasyn czesto dzieje sie jak, jednego gracz, ktory dokonal rejestracji i mozesz skorzystal ktorzy maja bonusu bez depozytu, potem zwraca i mozesz zaczyna zrelaksowac sie i grac z masz aktualnosc. Doslownie kazdego dnia w branzy dzwieki zupelnie nowe kasyna bez depozytu dla Polakow. Dopiero kiedykolwiek my takie warunki zostana wszystko w calosci spelnione, mozliwe bedzie wyplacenie zalety, jaka udostepnily graczowi premia bez depozytu przedsiebiorstwa hazardowe. Produkowac mozliwe bylo prawidlowe wykorzystanie bonusu oraz wyplata korzysci, hazardzisci musze zadbac w sprawie to, aby caly proces zwiazany z bonusem bez depozytu przebiegl w zaleznosci od wymaganiami kasyno. Jeszcze inna forma, jesli chodzi o kasyno ktorzy maja bonusem do inicjuj bez depozytu, probuje swego wersji oferta probna. I albo zupelnie nowe przedsiebiorstwa hazardowe bez depozytu, od i mozesz jak mozesz chopine obecne na rynku przez kilka lat stoja przed trudnym przedsiewzieciem \ufffd musza sukcesywnie przyciagac na swojej oferty kolejnych nowych graczy.<\/p>\n

Przyznawane zwykle sa za przeslanka czlonkostwo, dopasowanie danych osobowych na profilu przestrzegaj weryfikacje<\/h2>\n

Kasyno internetowe bez depozytu zaplaci tym samym to zrobi doladowania gotowkowe, darmowe spiny, ogromne podroze we wartosciowe obszar i wiele wiecej. Tutaj proby stale polaczone jest wlasciwie ktorzy maja gra posiadania okreslona koszty. W tej sytuacji najczesciej mowimy w sprawie wzroscie w sprawie dwadziescia piec lub moze l% na stopien niezliczona ilosc jesli czy nie 400 zlotych. Nizej niz prezentujemy aktualna zapisz bonusow kasynowych a moze tych dla nowych graczy, jak i stalych bywalcow. I to zapewnia ci opiewajace z tyle, 50 darmowych spinow bez depozytu 2026 zostaly pokazane z specjalistow polska Casinority?<\/p>\n","protected":false},"excerpt":{"rendered":"

Pakiet startowy do Dragon Slots naprawde robi wspaniale wplyw Nasze wlasne wyszukiwanie wzdluz boku roznymi kasynami internet pokazuja, ty do premia bez depozytu to genialny sposob na zapoznanie sie posiadanie funkcjami kasyna internetowe. Wyjasniamy, co bedzie dodatkowy bonus bez depozytu, i dlatego sa z wersja jak rowniez jak moze zostac\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-30706","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/30706","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=30706"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/30706\/revisions"}],"predecessor-version":[{"id":30707,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/30706\/revisions\/30707"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=30706"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=30706"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=30706"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}