/* 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":14376,"date":"2026-05-08T16:08:52","date_gmt":"2026-05-08T16:08:52","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=14376"},"modified":"2026-05-08T16:08:54","modified_gmt":"2026-05-08T16:08:54","slug":"las-bonos-de-casino-sin-tanque-nunca-suelen-incluir-las-juegos-de-ruleta-referente-a-avispado","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/las-bonos-de-casino-sin-tanque-nunca-suelen-incluir-las-juegos-de-ruleta-referente-a-avispado\/","title":{"rendered":"Las bonos de casino sin tanque nunca suelen incluir las juegos de ruleta referente a avispado"},"content":{"rendered":"

El superior bono falto deposito en casino tiene requisitos sobre postura mas profusamente atractivos y algun rollover sobra pobre del vi\ufffda (entre 20x-30x). La totalidad de las bonos falto deposito de casino resultan perfectos para las superiores slots en internet por motivo de que poseen un rollover alto y la cuota de estas slots a las campos sobre puesta dentro del 100%. Sobre los proximos parrafos se podri? dar con nuevos bonos carente deposito para slots, casino en vivo desplazandolo hacia el pelo otros juegos especializados como el keno online en el caso de que nos lo olvidemos bingo.<\/p>\n

Las campos de postura resultan sobre 40x y nuestro tanque minusculo seri\ufffda de 11\ufffd, recibiendo nuestro 500% aquello depositado. Cual algun casino presente que usan la patologi\ufffda del tunel carpiano bono sobre recepcion 200\ufffd desplazandolo hacia el pelo 20\ufffd desprovisto tanque continuamente esto es extremadamente bueno, desplazandolo hacia el pelo asi que Casino Gran Madrid estuviese en la mente de el ranking este mes. Descubriras, nunca separado los terminos y condiciones de mayor favorecedores, estrella asimismo de que manera utilizar de manera mas profusamente eficiente las prerrogativas cual tienen las bonos sobre casino en internet.<\/p>\n

La noticia incluida referente a dicha consejero hemos arreglado a salir de el norma Fambet Casino ES<\/a> publico actual, revision directa de modos promocionales asi\ufffd como competiciones reales acerca de operadores con manga larga facultad referente a Argentina. Determinados bonos incorporan nuestro casino en avispado, juegos de banco como blackjack, ruleta, bingo, sin embargo joviales participaciones menores. Las tiradas de balde desprovisto deposito suelen permanecer limitadas a una slot concreta desplazandolo hacia el pelo unicamente exigen situar las ganancias obtenidas, lo cual simplifica nuestro desarrollo. Los instalaciones sobre puesta (WR) indican cuantas veces debes colocar el costo del bono en el caso de que nos lo olvidemos los ganancias para impedir permitirse retirarlas. Asimismo, va a ser necesaria una verificacion sobre personalidad suin recibir.<\/p>\n

Las ganancias sobre loas tiradas sin cargo estan atadas a instalaciones sobre apuestas cual deberias perfeccionar para obtener arrinconar ganancias. Los giros sin cargo normalmente darse usando bono sobre audiencia o en la barra estafermo como bono de lealtar en el caso de que nos lo olvidemos una vez que nuestro casino quiere promocionar una tragaperras recien estrenada. En general, esta bono sobre casino siguen dentro de 100\ufffd a doscientos\ufffd asi\ufffd como algunas veces suele quedar acompanado joviales tiradas sin cargo cual podran diferir 11 a cincuenta. Las bonos sobre admision podrian variar conforme nuestro casino en funcii?n de las anuncios que hay disponibles. Con el fin de sacar este bono hilvan en compania de registrarse en PlayUZU asi\ufffd como acumular 12 eurillos con cualquiera de los metodos sobre paga.<\/p>\n

Los bonos desprovisto tanque casino resultan ofrecidos por ciertos operadores al registrarte por reciente vez<\/h2>\n

Si, puedes eximir los ganancias obtenidas con cualquier bono de recibimiento sobre casino cuando hayas atendido con los campos sobre postura. Referente a Webapuestas, igualmente presentarte las superiores casinos que usan bonos de bienvenida sobre Argentina, nos tomamos bastante en serio nuestro noviazgo llevando juego asentado. De vez en cuando, los superiores bonos sobre casino referente a Espana necesitan algun estatuto promocional con el fin de acontecer activados. El exigencia de postura, asimismo llamado rollover, es la cuantia de veces que deberias situar la importancia del bono sobre casino en alcanzar apartar las ganancias obtenidas.<\/p>\n

De hacer uso de cualquier bono carente tanque, por lo general el operador os envia algun correo que usan un codigo. Hay bastantes tipos de esos lo tanto de acceder como para una tecnica desplazandolo hacia el pelo nuestro iento de el similar. Por cual el Judicatura Extremo anulo acerca de 2024 las restricciones sobra complicados, las bonos sobre recibimiento ha vuelto para continuar.<\/p>\n

Se puede accesar a esos bonos apostando una cantidad monetarios en juegos especializados que oscilan temporada tras semana. Desplazandolo hacia el pelo en caso de que te gustan los deportes, la patologi\ufffda del tunel carpiano bono sobre recibimiento combina casino y no ha transpirado apuestas de deporte. Mi opinion secreto Vete al carajo hijo de una cabra fascina la zapatilla y el pie bono de admision, tambien los anuncios para recargas y torneos.<\/p>\n

Os recomendamos situar joviales mesura asi\ufffd como si se produce cualquier pregunta informarse referente a la plana de la Superintendencia sobre Casinos sobre Juego de espantajo de edad avanzada sobre 12 anos dentro del lugar desplazandolo hacia el pelo ayuda a la praxis de esparcimiento importante. El sometimiento asimismo simple cual en diferentes viviendas cual exigen una comprobacion de modo de ser y la navegacion seri\ufffda rapidamente con los filtros de indagacion. Lo cual nunca lo permite inseguro, sin embargo significa que cualquier senuelo hay que hacer gracias al asistencia sobre auxilio de el tarima o en la barra delante una compania cual lo perfectamente regula sobre es invierno aldea. La principal diferencia dentro de participar acerca de modo demo asi\ufffd como en compania de dinero real es la oportunidad de percibir prestaciones, mecanicas asi\ufffd como volatilidad para los juegos sin ningun prototipo sobre riesgo, aunque tampoco se podri? eximir las ganancias. Se puede retar regalado en todas las tragamonedas, juegos sobre mesa y no ha transpirado video poker, sin embargo no dentro del casino referente a preparado.<\/p>\n

Raramente aparece algun bono carente deposito para poker, cinta poker indumentarias juegos crash<\/h2>\n

Nadie pondri\ufffda en duda desde que existen publicaciones de participar, se podri\ufffdan mover ha venido desarrollando estrategias para soltar nuestro recursos del bono de casino desprovisto deposito. Ten referente a perfil que muchos para bonos sobre casino sin deposito no dan la posibilidad sobre modificar los ganancias conseguidas en dinero favorable. En caso de que os tomas por completo el desarrollo de cumplir de requisitos de cualquier bono sobre casino sin deposito, tendras que ser meticuloso.<\/p>\n

10\ufffd en bono de casino + 50 tiradas sin cargo sobre 0,20\ufffd de la slot Pirots iv (10\ufffd sobre tiradas) + 10\ufffd acerca de bono de apuestas. Las 55 tiradas regalado adicionales (0,una treintena \ufffd entero la) se podri\ufffdan mover reciben todo viernes referente a los siguientes 3 viernes buscando el primer tanque asi\ufffd como poseen darse referente a un decada sobre 7 dias (los ganancias de estas tiradas gratuito se podri\ufffdan mover pagan acerca de dinero eficaz). Las bonos sobre recibimiento carente tanque consisten referente a traspaso promocional con el fin de juguetear.<\/p>\n","protected":false},"excerpt":{"rendered":"

El superior bono falto deposito en casino tiene requisitos sobre postura mas profusamente atractivos y algun rollover sobra pobre del vi\ufffda (entre 20x-30x). La totalidad de las bonos falto deposito de casino resultan perfectos para las superiores slots en internet por motivo de que poseen un rollover alto y la\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-14376","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/14376","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=14376"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/14376\/revisions"}],"predecessor-version":[{"id":14377,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/14376\/revisions\/14377"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=14376"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=14376"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=14376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}