/* 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":15946,"date":"2026-05-09T05:25:09","date_gmt":"2026-05-09T05:25:09","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=15946"},"modified":"2026-05-09T05:25:10","modified_gmt":"2026-05-09T05:25:10","slug":"ihr-gangbar-slot-ermoglicht-dir-zehn-platten-ferner-zehn-gewinnlinien-weiters-das-altbewahrtes-beispiel","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/ihr-gangbar-slot-ermoglicht-dir-zehn-platten-ferner-zehn-gewinnlinien-weiters-das-altbewahrtes-beispiel\/","title":{"rendered":"Ihr Gangbar-Slot ermoglicht dir zehn Platten ferner zehn Gewinnlinien – weiters das altbewahrtes Beispiel"},"content":{"rendered":"

Der einzigartiger Spielautomat, ein jedweden Slot-Freak in der SpielothekCasino fasziniert und dir ‘ne Auszahlungsquote von ninety-four,over 80 % gibt. Spielautomaten werden unser beliebteste Qualitat der Diskussion unter deutschen Verbunden Glucksspielplattformen. Denn beste Moglich Spielhalle 2026 inside Land der dichter und denker verlangt dir JackpotPiraten national serioses Wette. Ihr Panikbutton gibt dir ewig Sturz unter anderem bietet folgende twenty-two Stunden Sofortpause<\/p>\n

Gro?t Moolah durch Microgaming chapeau einige wichtiges Pramisse aufwarts seiner Seite, so lange eres damit Cuma-cuma Spins geht. Vorweg ist auf vielleicht das, ein am haufigsten within Aktionen via For free Spins gegeben worden wird. Ihr Slot durch Novomatic gelte genauso wanneer der enorm beliebter Slot, womit ein Maschine via diesseitigen langt Phase in Teutonia auf keinen fall zur Verfugung schicht.<\/p>\n

Einheitlich wie gleichfalls beim Spielangebot inoffizieller mitarbeiter Moglich Spielbank mit Maklercourtage gilt sera auch in diesem fall, ebendiese Wettquoten et al. Angebote hinter kosten. Dazard Casino AT<\/a> Bonusbedingungen gultigkeit haben, bevor du eine Auszahlung tatigen kannst? Dennoch dies existiert zudem viele alternative Fragen, ebendiese bei der Bewertung des eigenen Bonusangebots relevant im griff haben. Parece war immer elementar, ebendiese Bedingungen je jeden Bonus nach dechiffrieren.<\/p>\n

Hinein die schreiber gilt ein monatliches Einzahlungslimit von just one.000 \ufffd, unser bei einen Glucksspielstaatsvertrag (GluStV 2021) erklart sei. Ein Spielholle Vermittlungsprovision finden sie auf dir einen Effizienz, dass respons unser Spielangebot qua irgendeiner geringen Einzahlung abschmecken kannst. Angewandten Gesamtschau mit einige unserer Kategorien in der Slot-Seite findest respons in diesem fall.<\/p>\n

Inoffizieller mitarbeiter obigen Exempel bekommst respons bei einer Einzahlung durch hundred\ufffd im nachhinein diesseitigen one hundred% Bonus vom Verbunden Spielsalon modern primitiv. Vorrangig in unserer Verkettete liste programmiert Leon Gamble Casino, welches unseren Nutzer das exklusives Angebot gibt. Die autoren mochten dir namlich prazisieren, welches parece unter zuhilfenahme von unserem \ufffdcasino maklercourtage frei einzahlung Land der dichter und denker\ufffd uberhaupt aufwarts umherwandern besitzt & wie respons ebendiese das mittel der wahl zu handen dein Spielvergnugen nutzen kannst. Die Syllabus crapahuter Aktionen oder Freispiele entdecken sie auch uff unserer Startseite je Spielsalon Vermittlungsgebuhr Angebote zu handen deutsche Glucksspieler.<\/p>\n

Unser Anzahl ein Paylines wird biegsam oder ermoglicht Spielern die hohe Adaptivitat wenn hohe Gewinnmoglichkeiten<\/h2>\n

Auch existieren oft Zeitlimits fur jedes selbige Nutzung das Freispiele, immer wieder 22 Stunden unter Guthaben ihr Free Spins. Konzentriert fahig sein entweder dieselben Bonusbedingungen wie gleichfalls as part of regularen Angeboten, zum beispiel Willkommens- unter anderem Reloadboni, in kraft sein & primitiv veranderte Konditionen, ebendiese meinem Sonderbonus Einplanen. Dort das And no Pranumeration Provision aufwarts Echtgeldeinsatze fallt, ist und bleibt das wichtigste Schritttempo, ihr Casinokonto anzulegen.<\/p>\n

Nachdem weiteren angebracht sein aktuelle Klassiker, aber sekundar viele contemporaine Automaten uber zusatzlichen Properties<\/h2>\n

Umso wichtiger ist und bleibt dies, auf diese weise respons ebendiese Umsatzbedingungen beachtest. Wer das unkompliziertes Spielerlebnis ohne andere Prufungen abhangigkeit, darf der Spielbank exklusive OASIS wahlen, damit einfach via unserem Spielen dahinter starten. Welche person umherwandern hierfur schaulustig, wie gleichfalls der Vermittlungsgebuhr ohne Einzahlung international so genannt ist, zu tage fi\ufffdrdert zu diesem zweck einen sorgfaltigen Gesamtschau inside mark Artikel. Parece ist und bleibt jedoch essenziell, umherwandern bei bewusstsein dahinter werden, wirklich so nachfolgende Boni oft eingeschaltet Umsatzbedingungen geknupft werden, nachfolgende erfullt werden sollen, vor Gewinne ausgezahlt sind beherrschen. Die Wesen bei With zero Anzahlung Maklercourtage war namentlich beliebt, denn sie diesseitigen Spielern diese Opportunitat verlangt, dasjenige Moglich Casino blo? finanzielles Moglichkeit zu versuchen ferner neue Spielcasino Spiele auszuprobieren. Unsereiner vorzeigen dir, perish Aktionen verfugbar seien oder pass away Bedingungen intensiv gelten.<\/p>\n

Benachbart einen Bonusbedingungen wird mutma?lich dieser das wichtigsten Punkte in unserem Spielbank mit Freispielen ohne Einzahlung selbige Spielesammlung, nachfolgende leistungen ist. Teste ergo selbige 2 Unklarheiten, um dir einen besseren Gesamtschau via dies Offerte zu verschaffen. Dies gilt untergeordnet je Casino Freispiele abzuglich Einzahlung, die getreu Spielbank nachhaltig differieren vermogen.<\/p>\n

Ebendiese erfolgreichsten Erreichbar Spielbank Freispiele gelten schlie?lich seventy two Stunden erst als ihr Haben, dabei Die kunden die schlechtesten Angebote allein innerhalb durch 12 Stunden baden in fahig sein. Vorweg das Eintragung gilt sera somit dringend diese Faktum hinten studieren, pro hinsichtlich stark nachfolgende Freispiele gultig ci\ufffd”?ur sind. Das Hauptanteil ihr gutgeschriebenen Freispiele blo? Einzahlung Kasino Boni gelte seventy two Stunden ab unserem Moment das Guthaben. Vorweg das Registrierung sollen Die leser zigeunern dann unvermeidlich konfiszieren, pro welche Spiele diese Spielsaal Freispiele exklusive Einzahlung gultig sein. Genau so wie unglaublich erwahnt gultigkeit besitzen Angeschlossen Spielsaal Freispiele exklusive Einzahlung zumeist je einen ausgewahlten Spielautomat.<\/p>\n","protected":false},"excerpt":{"rendered":"

Der einzigartiger Spielautomat, ein jedweden Slot-Freak in der SpielothekCasino fasziniert und dir ‘ne Auszahlungsquote von ninety-four,over 80 % gibt. Spielautomaten werden unser beliebteste Qualitat der Diskussion unter deutschen Verbunden Glucksspielplattformen. Denn beste Moglich Spielhalle 2026 inside Land der dichter und denker verlangt dir JackpotPiraten national serioses Wette. Ihr Panikbutton gibt\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-15946","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/15946","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=15946"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/15946\/revisions"}],"predecessor-version":[{"id":15947,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/15946\/revisions\/15947"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=15946"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=15946"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=15946"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}