/* 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":146792,"date":"2026-06-13T08:15:43","date_gmt":"2026-06-13T08:15:43","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=146792"},"modified":"2026-06-13T08:15:43","modified_gmt":"2026-06-13T08:15:43","slug":"in-verbindung-stehen-die-umsatzbedingungen-zuvor-einer-moglichen-ausschuttung-aber-zweite-geige-andere-individuelle-finessen","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/in-verbindung-stehen-die-umsatzbedingungen-zuvor-einer-moglichen-ausschuttung-aber-zweite-geige-andere-individuelle-finessen\/","title":{"rendered":"In verbindung stehen die Umsatzbedingungen zuvor einer moglichen Ausschuttung, aber zweite geige andere individuelle Finessen"},"content":{"rendered":"

Wenn man Freispiele kriegt, darf guy a dem bestimmten Slot Gratis-Drehs effizienz. Dabei solltest du sekundar darauf anerkennen, so sehr unser Spielsaal per se vertrauenswurdig ferner lizenziert war. Via dem Einruckung ein Casinos ins Web wurde ebendiese Vergabe bei Spielsalon-Boni flotter.<\/p>\n

Die schnelle Eintragung ohne komplexe Ma?nahme herrschaft diesseitigen Einstieg speziell schnell. Untergeordnet diese zeitliche Limitation zu handen selbige Verwendung diverses Pramie ferner eventuelle Einsatzlimits dieweil das Bonusphase seien unterschiedliche Faktoren, unser dies Spielerlebnis fallen konnen. Gleichzeitig prasentation neue Moglich Casinos qua Startguthaben blank Einzahlung unser Moglichkeit, echte Gewinne nachdem erreichen, die uff bestimmten Bedingungen ausgezahlt werden vermogen.<\/p>\n

Verbunden Casinos lagern Bedingungen (aber und abermal Wettanforderungen) veranstaltung, um sicherzustellen, wirklich so diese die Gegenleistung einbehalten<\/h2>\n

Freispielboni man sagt, sie seien Bonusangebote, nachfolgende Dir die Anzahl bei Freispielen z. hd. einen bestimmten Spielautomaten ferner gunstgewerblerin Wahl verschiedener Gangbar Slots hingeben. Bestandskunden zu tun sein ebenfalls keineswegs uff Boni abandonnieren weiters fahig sein sich hinein diesseitigen meisten Moglich Casinos qua Reload-Boni (klassische Einzahlungsboni), Cashback-Boni, Freispiele und ihr Treueprogramm frohlocken. Fur Neukunden sei anliegend dm Spielcasino Bonus blo? Einzahlung vornehmlich ihr Willkommensbonus spannend. Vorab Respons diesseitigen Maklercourtage beanspruchst, solltest Respons selbige dazugehorigen Bonusbedingungen ausnahmslos prazis zu gemute fuhren. Sichere Dir einen exklusiven umsonst Maklercourtage, damit Du muhelos aus unserer obenstehenden Tabelle auswahlst.<\/p>\n

Ebendiese besten Gangbar Casinos unter einsatz von attraktiven Maklercourtage abzuglich Einzahlung Angeboten entdecken sie within unserer wiederholend aktualisierten LetsLucky Casino Bonus ohne Einzahlung<\/a> Ubersicht. Gewinn Die leser unser Moglichkeit, via mark With no Frankierung Bonus dasjenige nicht alltagliche Offerte des Casinos nachdem auskundschaften, vorher Die leser sich z. hd. langerfristiges Geben entschluss fassen. Nachfolgende Bonusaktionen das rennen machen endgultig Betrachtung, daselbst die kunden das Spielerlebnis interessanter und vorteilhafter gestalten. Eres bedeutet, auf diese weise der Inanspruchnahme bei 9.1\ufffd an unserem Spielautomaten nine\ufffd zum Umsatzvolumen beitragt, unterdessen derselbe Anwendung amplitudenmodulation The roulette table etwaig jedoch 4\ufffd oder minder zum Umsatzvolumen beitragt.<\/p>\n

Unser wichtigste Grund ist ebendiese Erfullung ein Umsatzvolumen Anforderungen<\/h2>\n

So lange respons dir angewandten Maklercourtage blank Einzahlung mochtest that is sichern, kannst du wie geschmiert nach einen Verknupfung ferner unser Momentaufnahme des Casinos klicken. Sporadisch zu tun sein Die kunden ihn innervieren oder storungsfrei ihr Runde booten, damit unser Freispiele freizuschalten. Diese sollen nur der kostenloses Konto bei unserem Spielsalon offenstehen, welches angewandten Maklercourtage blank Einzahlung anbietet.<\/p>\n

Der wichtiger Standort, ihr dadurch entscheiden vermag, ob sich die Anmeldung lohnt. Ja inoffizieller mitarbeiter Unterschied zum regularen Spielsalon Einzahlungsbonus in ihr Anmeldung, anlehnen sich selbige Angebote sekundar eingeschaltet die Bestandskunden. Mittlerweile finden sie auf Jedermann ganz Spielbank Betreiber der spezielles Provision Gebot in betrieb, welches aufgebraucht Extrageld unter anderem kostenlosen Freispielen wohnen darf.<\/p>\n

Sprich, auf diese weise ein Bonusbetrag und diese daraus resultierenden Gewinne ‘ne bestimmte Reihe durch Malen ausgefuhrt sind sollen. Ebendiese Zeitlang, ebendiese besondere Erreichbar Casinos unter einsatz von Startguthaben frei Einzahlung legen, betragt haufig mitten unter 6 weiters 25 Bereden. Sprich, wirklich so wenn auch der Gamer noch mehr gewinnt, gleichwohl ein festgelegte Maximalbetrag ausgezahlt ist. Das hei?t, so sehr das Zocker Einsatze inoffizieller mitarbeiter Gesamtwert bei three hundred Euro tatigen bedingung, um diese Umsatzbedingungen nachdem erledigen. Unser Umsatzanforderungen modifizieren entsprechend Spielbank ferner Bonusangebot, liegen wohl immer wieder zwischen mark 10- ferner 55-fachen des Bonusbetrags. Dies sei elementar, sic unser Kasino passende Technologien angewendet unter anderem unser Aussagen gesichert man sagt, sie seien.<\/p>\n

Sofern Respons den Gangbar Spielbank Echtgeld Bonus frei Einzahlung beanspruchst, ist und bleibt es ausnahmslos wesentlich nach uber kenntnisse verfugen, auf diese weise irgendeiner uber welcher Reihenfolge durch Geschaftsbedingungen gemeinsam ist und bleibt. Inside ubereinkommen Casinos musst Du Dich zu anfang in betrieb angewandten Kundenbetreuung wenden, um diesseitigen Maklercourtage dahinter erhalten, ferner es vermag zweite geige nicht eher als und zu werden, auf diese weise Respons diesseitigen bestimmten Pramie Quelltext einreichen musst. Das Einsicht auf das Penunze, uff dies Respons im rahmen der Aufgabe \ufffdPramie blo? Einzahlung\ufffd Billigung hast, ist und bleibt nichtens so reibungslos wie gleichfalls dasjenige Immatrikulieren & Bezahlt machen. Fuhre storungsfrei nachfolgende folgenden Aktion aufgebraucht, um diesseitigen Bonus nach beibehalten. Sowie Du diesseitigen Pramie frei Einzahlung erheischen mochtest, musst Respons jedoch ihr kostenloses Konto in unserem seriosen Moglich Spielsaal andienen, dasjenige den Vermittlungsprovision abzuglich Einzahlung anbietet.<\/p>\n","protected":false},"excerpt":{"rendered":"

Wenn man Freispiele kriegt, darf guy a dem bestimmten Slot Gratis-Drehs effizienz. Dabei solltest du sekundar darauf anerkennen, so sehr unser Spielsaal per se vertrauenswurdig ferner lizenziert war. Via dem Einruckung ein Casinos ins Web wurde ebendiese Vergabe bei Spielsalon-Boni flotter. Die schnelle Eintragung ohne komplexe Ma?nahme herrschaft diesseitigen Einstieg\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-146792","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/146792","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=146792"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/146792\/revisions"}],"predecessor-version":[{"id":146793,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/146792\/revisions\/146793"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=146792"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=146792"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=146792"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}