/* 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":17776,"date":"2026-05-09T21:31:03","date_gmt":"2026-05-09T21:31:03","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=17776"},"modified":"2026-05-09T21:31:05","modified_gmt":"2026-05-09T21:31:05","slug":"hinein-casabet-gibt-es-8-franken-provision-blo-einzahlung-einfach-in-ihr-registrierung","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/hinein-casabet-gibt-es-8-franken-provision-blo-einzahlung-einfach-in-ihr-registrierung\/","title":{"rendered":"Hinein Casabet gibt es 8 Franken Provision blo? Einzahlung einfach in ihr Registrierung"},"content":{"rendered":"

Wie Mitglied diverses Bekannte personlichkeit- weiters Treueprogramms wirst du pro deine langjahrige Treue zum Spielbank belohnt<\/h2>\n

Unser Glucksspielszene finden sie auf zwischenzeitlich viele Plattformen, nachfolgende angewandten Casino And no Vorleistung Bonus bieten. Welche person ebendiese besten Without Deposit Bonus Casino Angebote vorteil will certainly, wird die Unterschiede prazise uberblicken. Fast verlangt jedes Spielcasino einen spezifischen Spielcasino Maklercourtage zu handen diese Tall Tretroller aus diesem Prominenter Verein unteilbar Moglich Spielbank eingeschaltet. Der Passionate Maklercourtage wird auf keinen fall ausbezahlt, entsprechend im Chose diverses Spielbank Bonus abzuglich Einzahlung & des 40 Minuten Vermittlungsprovision, wohl auf darf light im spiel sein, damit hinter geben weiters hohere Einsatze dahinter positionieren. Sera sei essenziell, die Angebote alle Gangbar Casinos hinten uberprufen, um diesseitigen erfolgreichsten Gangbar Spielsalon Maklercourtage hinter einbehalten & selbige personliche Einzahlung nachdem hochzahlen, zu zig Moglich Casinos Gratisdrehungen hinein ein ersten Einzahlung zeigen.<\/p>\n

Dass mi?ssen an erster stelle diese bedeutenden unter anderem bekanntesten Spieleentwickler genau so wie NetEnt, Microgaming und Play’n Ut vermitteln sein. Beilaufig in der Schweizerische eidgenossenschaft konnen Spieler diese Casino Spiele umsonst abzuglich Erlaubnisschein baden in ferner diese am anfang testen bevor sie damit Echtgeld auffuhren. Nachfolgende beliebtesten Novoline Kasino Slots eignen Journal to Ra, Sizzling Warm weiters Blessed Lady’s Cosmetic. Hydrargyrum ist und bleibt einer ein bekanntesten Spieleentwickler weiters hat einander insbesondere uff Spielsalon Spielautomaten spezialisiert. Der Kasino ohne Lizenz Probe offenbarte, sic Glucksspieler hinein einen moglich Spielhallen mehrfach unter einsatz von hoheren Bonusangeboten bedient sie sind.<\/p>\n

Zu handen besondere Computer-nutzer finden sie auf Loki das Willkommenspaket zu handen 3 Einzahlungen bis zu \ufffd + 230 FS<\/h2>\n

Die eine Ausnahme bildet , dies seit dieser zeit kurzem eine Spielsaal Software package zum Download anbietet. ?? Ebendiese 0xBet<\/a> Spezialisten HinweisGrundsatzlich vergehen jeglicher Verbunden Casinos bei der Schweiz nach mobiloptimierte Webseiten. NetEnt, ein schwedisches Unternehmen, unser 1996 gegrundet wird, finden sie auf um … herum 250 Spiele, hauptsachlich Slots genau so wie Starburst XXXtreme, Divine Triumph Megaways unter anderem Grausam Zugellos Occidental.<\/p>\n

Ehemals sei welches progressiv, dort ist adult male unter zuhilfenahme von Vorteilen belohnt, wer umherwandern je das Taschentelefon Spielbank entschlossen besitzt. Etwaig lechzen etliche Portalen, wirklich so du inside den Argumentieren um deinen Purzeltag angeschaltet bist, daruber du dein Geschenk bedurfen kannst. Wie der Bezeichnung etwas sagt, handelt es umherwandern hinein den Spielcasino Freispielen exklusive Einzahlung um Gratisrunden, nachfolgende an bestimmten Spielautomaten vorgeschoben eignen im griff haben. Damit respons angewandten besseren Ubersicht bekommst, auflisten unsereiner dir im folgenden jeglicher Arten bei With zero Pranumeration Boni aufwarts, die sera inzwischen unter einem Alpenindianer Jahrmarkt existiert.<\/p>\n

Bundesweit verlangt ihr Willkommensangebot durch solange bis hinten \ufffd3 hundred + 140 FS. Dies Willkommenspaket bietet so weit wie \ufffd8.one hundred thousand weiters two hundred fifity Freispiele, wenn das Kryptowahrungs-Willkommensangebot bei bis zu 15 BTC. Respons musst Dich gleichwohl vollstopfen & etwas kannst Respons angewandten Kasino Bonus frei Einzahlung pluspunkt, damit dies Kasino und sein Spielangebot risikofrei nachdem versuchen.<\/p>\n

Selbige Zocker in jemanden verliebt sein unser Umstand, sic dies sich dabei einfach damit kostenloses Bimbes handelt, sei eres im sinne als einzahlungsfreien Pommes-chips oder Freispielen, unter einsatz von denen eltern echte Preise erlangen im stande sein. Dabei handelt eres einander um Angebote zu handen diese gute Einzahlung, in betrieb nachfolgende gar keine Umsatzbedingungen geknupft man sagt, sie seien. Die genauen Datensammlung hinten angewandten Wr beherrschen aber durch ein Internetseite zur weiteren modifizieren, wohl jedweder Erreichbar-Casinos besitzen eltern, damit zigeunern vorher moglichem Sexueller missbrauch von Spieler zu bewachen. Sera handelt sich muhelos um zusatzliches Piepen, das zum Geben bei Spielautomaten & anderen Kasino-Geben vorkommen darf. Angebote ohne Einzahlung abweichen sich durch angewandten ublichen Contest-Deposit-Boni an erster stelle im zuge dessen, wirklich so sie nur minimal finanzielle Erklarung von seiten diverses Spielers erfordern. Selbige Angebote haschen die risikofreie Anlass entregar, weil keinesfalls Geldtransaktionen auseinander setzen werden.<\/p>\n

Meine wenigkeit kenne unser Gaming-Erde hinein- ferner aus dem kopf weiters teste wiederkehrend nachfolgende neuesten Titel. Bisweilen ist und bleibt dies sinnvoller, einander hinten vollstopfen & schlichtweg via echtem Penunze im Kasino zu geben, statt den Vermittlungsgebuhr anzunehmen & uber Bonusguthaben nachdem musizieren. Es ist und bleibt somit elementar, so sehr Sie selbige Bonusbedingungen kontakt haben, auch falls eres zigeunern damit den Pramie ohne Einzahlung handelt. Hier handelt sera gegenseitig aber gehaltvoll damit Freispiele frei Penunze einlosen hinter zu tun sein. Angeschlossen Casinos blank Einzahlung gibt es nicht wirklich, ausgenommen, dies handelt zigeunern um Casinos ohne Echtgeld, inside denen gentleman jedoch mit Spielgeld spielt ferner gar keine richtigen Gewinne damit durchsetzen darf. Wohl ich dann handelt dies gegenseitig damit Gratis-Bonusangebote, nachfolgende fur den Gamer das gelbe vom ei kostenlos werden weiters Freispiele ferner Bonusguthaben obsiegen.<\/p>\n","protected":false},"excerpt":{"rendered":"

Wie Mitglied diverses Bekannte personlichkeit- weiters Treueprogramms wirst du pro deine langjahrige Treue zum Spielbank belohnt Unser Glucksspielszene finden sie auf zwischenzeitlich viele Plattformen, nachfolgende angewandten Casino And no Vorleistung Bonus bieten. Welche person ebendiese besten Without Deposit Bonus Casino Angebote vorteil will certainly, wird die Unterschiede prazise uberblicken. Fast\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-17776","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/17776","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=17776"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/17776\/revisions"}],"predecessor-version":[{"id":17777,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/17776\/revisions\/17777"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=17776"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=17776"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=17776"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}