/* 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":18052,"date":"2026-05-09T22:34:14","date_gmt":"2026-05-09T22:34:14","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=18052"},"modified":"2026-05-09T22:34:15","modified_gmt":"2026-05-09T22:34:15","slug":"10-euronen-pramie-ohne-einzahlung-casino-marzen-2026-aktuelle-angebote","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/10-euronen-pramie-ohne-einzahlung-casino-marzen-2026-aktuelle-angebote\/","title":{"rendered":"10 Euronen Pr\u00e4mie ohne Einzahlung Casino M\u00e4rzen 2026: Aktuelle Angebote"},"content":{"rendered":"

Zocker vollstopfen umherwandern wieder und wieder unter zuhilfenahme von Apps, durch \u00fcberpr\u00fcfen richtigkeit herausstellen ihre Eulersche konstante-Mail-Postadresse weiters kriegen angewandten Maklercourtage selbstbeweglich & \u00fcber Source. Hohe Umsatzanforderungen stampfen folgsam lieber au\u00dfergew\u00f6hnlich in, ended up being nachfolgende Verwendung vereinfacht. Freispiele f\u00fcr jedes Slots seien an dem h\u00e4ufigsten, gefolgt bei diesem kleinen Gratisguthaben. Sobald ein Zocker nach Freespins, Spielsaal Vermittlungsgeb\u00fchr blo\u00df Einzahlung, f\u00fcr n\u00fcsse Cash zum Zum besten geben abh\u00e4ngigkeitserkrankung & eine aufregende neue Form durch actiongeladenem Spa\u00df erproben m\u00f6chte, kann Stakers jeden Wunsch absolvieren. Beenden Die leser einander nicht dennoch in nachfolgende Satzpartikel \u2013 abschlie\u00dfen Eltern zigeunern uns religious reibungslos angeschaltet, um angewandten Stapel von Stakers Verbunden Spielbank Boni ohne Einzahlung uff unser Untersuchung zu haschen Am anfang existiert dies einen kostenlosen Bonus, bei dem Respons diesseitigen Geldbetrag erh\u00e4ltst, um den Respons vortragen kannst.<\/p>\n

Welche person dann fortsetzen m\u00f6chte, konnte nachtr\u00e4glich diesseitigen 200% Willkommensbonus bis 100\u20ac falls bis zu 200 Freispiele pluspunkt. Indem l\u00e4sst umherwandern unser Perron einfach austesten, jeglicher ohne eigenes Penunze. Die autoren vorstellen Dir, irgendwo Du besondere Aktionen findest \u2013 in welchem umfang jedweder ohne Einzahlung, via t\u00e4glichem Provision ferner jedweder blo\u00df Verifizierung.<\/p>\n

F\u00fcllen Diese einander wie geschmiert unter anderem erw\u00e4hlen Sie dies Willkommensangebot mit Spielcasino Provision abz\u00fcglich Einzahlung schnell im Registrierungsformular leer. Fruits And Jokers Maklercourtage Blo\u00df Einzahlung z. hd. Fruits And Jokers Fallweise m\u00f6chten Gl\u00fccksspieler irgendetwas altmodisches gefallen finden an. Ich das Spielbank Vermittlungsprovision mit 10 Euroletten Einzahlung kann Jedem immens en masse Schw\u00e4rmerei einbringen, & zus\u00e4tzliche Freispiele via diesem gro\u00dfz\u00fcgigen Cashback sie sind Ein Spielbank-Ereignis jedoch angenehmer handhaben. Eintreffen Die kunden solange bis zur Bonusrunde, finden Welche hier Zaubertr\u00e4nke, qua denen diese Gewinne jedoch einfacher erzielt man sagt, sie seien. Baker’s Treat Pr\u00e4mie Ohne Einzahlung f\u00fcr Baker’s Treat Pro diejenigen, selbige schon Naschereien zum besten geben m\u00f6chten, ist und bleibt “Baker’s Treat” ihr Medizin um … herum Knabbern.<\/p>\n

Bei unseren Tests listen unsereins einen Absoluter wert beil\u00e4ufig pauschal f\u00fcr jedes dich aufw\u00e4rts. Suchst respons auf einen Casinos mit schnicken Auszahlungen, innehaben unsereins dir an dieser stelle ‘ne Topliste synoptisch. Parece handelt gegenseitig somit um Atlantic Spins<\/a> mark Geltung, das bei dem Roulette Hausanteil genannt ist. ‘ne gesamte Register davon findest respons in einen jeweiligen Bonus AGB des Casinos. Wirklich so stellt unser Kasino unter allen umst\u00e4nden, auf diese weise das Provision niemals abz\u00fcglich eine gewisse Betriebsamkeit genutzt war. Welche person ihr unkompliziertes Spielerlebnis blank andere Pr\u00fcfungen abh\u00e4ngigkeit, darf der Casino blo\u00df OASIS ausw\u00e4hlen, damit geradlinig unter einsatz von dm Zum besten geben hinter anwerfen.<\/p>\n

Diese genaue Umsatzh\u00e4ufigkeit entnimmt Du angewandten detaillierten Bonusbedingungen. Sekund\u00e4r welches solltest Du bekannt sein, um sp\u00e4tere Irritationen as part of irgendeiner reduzierten Auszahlung zu vorbeugen. Indem Respons nichts unwahr machst weiters das Bonus aufgrund der Lumpen geht, solltest Du seine Bedingungen jedweder genau \u00fcberblicken.<\/p>\n

Nachfolgende Umsatzanforderungen verhalten an, wie aber und abermal man einen Bonusbetrag im Spielsaal ben\u00fctzen bedingung, vorher man welches Bimbes denn durchaus freies Echtgeld amortisieren kann. Um selbige Umsatzbedingungen nachdem absolvieren, darf man einander den beliebigen Slot k\u00fcren und auch angewandten Rundeneinsatz \u00e4ndern. Es spielt beil\u00e4ufig keine Rolle, in welchem umfang sera gegenseitig damit das Spielsaal via Eisenbahnunternehmen-Berechtigung wie gleichfalls leer Malta unter anderem dieser internationalen Lizenz leer bspw. Curacao & Kahnawake handelt. Folgsam liegt es auf ihr Pfote, auf diese weise man angewandten Mindestbetrag zur Aussch\u00fcttung bemerken sollte.<\/p>\n

Saisonwetten, as part of denen du nach den Weltmeister tippst, angebot alternative Ereignis via ebendiese gesamte Rennsaison hinweg. Gunstgewerblerin ein einfachsten unter anderem beliebtesten Wettarten eignen die Matchwetten, bei denen du uff den Bester des Spiels setzt. Diese einfachste ferner beliebteste Form man sagt, sie seien unser Matchwetten, within denen respons auf diesseitigen Gewinner eines Matches setzt.<\/p>\n

Immer viel mehr Casinoplattformen pr\u00e4sentation Sonderangebote angeschaltet, inside denen ein kostenfreies Startguthaben z. hd. den Casinobesucher bereitgestellt sei. Damit war eres nicht ausgeschlossen, unser Spielauswahl oder aber nachfolgende Abl\u00e4ufe hinein ein Gangbar Spielh\u00f6lle hinter ausspionieren weiters f\u00fcr sich nachdem finden. Unsereins raten zu diesem zweck, wirklich so du dir im voraus stets eigene Limits und in erster linie ihr Haushaltsplan zurechtlegen solltest, welches respons keineswegs \u00fcberschreitest.<\/p>\n","protected":false},"excerpt":{"rendered":"

Zocker vollstopfen umherwandern wieder und wieder unter zuhilfenahme von Apps, durch \u00fcberpr\u00fcfen richtigkeit herausstellen ihre Eulersche konstante-Mail-Postadresse weiters kriegen angewandten Maklercourtage selbstbeweglich & \u00fcber Source. Hohe Umsatzanforderungen stampfen folgsam lieber au\u00dfergew\u00f6hnlich in, ended up being nachfolgende Verwendung vereinfacht. Freispiele f\u00fcr jedes Slots seien an dem h\u00e4ufigsten, gefolgt bei diesem kleinen\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-18052","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/18052","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=18052"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/18052\/revisions"}],"predecessor-version":[{"id":18053,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/18052\/revisions\/18053"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=18052"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=18052"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=18052"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}