{"id":3644,"date":"2019-04-12T21:00:20","date_gmt":"2019-04-12T21:00:20","guid":{"rendered":"http:\/\/blogs.florida.es\/floridauniversitariatic\/?p=3644"},"modified":"2019-04-12T21:00:20","modified_gmt":"2019-04-12T21:00:20","slug":"3r-reto-ssc-2019-la-grieta-del-invocador","status":"publish","type":"post","link":"https:\/\/blogs.florida.es\/floridauniversitariablog\/2019\/04\/3r-reto-ssc-2019-la-grieta-del-invocador\/","title":{"rendered":"3r Reto (SSC 2019). La grieta del invocador"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/vignette.wikia.nocookie.net\/leagueoflegends\/images\/8\/86\/League_of_legends_logo_transparent.png\/revision\/latest\/scale-to-width-down\/640?cb=20131023175853\" alt=\"Lol\" \/><br \/>\n<strong>Enunciado:<\/strong><br \/>\nBienvenidos se\u00e1is todos a la grieta del invocador. En esta ocasi\u00f3n no intentaremos destruir el nexo del equipo rival, sino que emplearemos programaci\u00f3n en Shell Script para recoger inteligencia que nos ayudar\u00e1 en nuestras pr\u00f3ximas batallas en la grieta del invocador. En este desaf\u00edo, vamos calcular cu\u00e1les son las 10 parejas de personajes m\u00e1s frecuentemente empleadas en partidas de ranking ganadas en las \u00faltimas temporadas de <strong>League of Legends<\/strong>.<br \/>\n<strong>Ficheros de trabajo:<\/strong><\/p>\n<p dir=\"auto\" data-sourcepos=\"25:1-25:288\">Para poder realizar este peque\u00f1o programa, vamos a trabajar con varios ficheros.<\/p>\n<p dir=\"auto\" data-sourcepos=\"27:1-27:296\">El fichero\u00a0<a href=\"http:\/\/18.237.177.35\/champions.csv\">champions.csv<\/a> contiene una peque\u00f1a base de datos de campeones de League of Legends. M\u00e1s concretamente, cada l\u00ednea contiene registros de campeones de League of Legends con el identificador num\u00e9rico del campe\u00f3n y su nombre. Por ejemplo, las primeras l\u00edneas de este fichero son:<\/p>\n<p dir=\"auto\" style=\"padding-left: 40px\" data-sourcepos=\"27:1-27:296\"><code>1,Annie<\/code><br \/>\n<code>2,Olaf<\/code><br \/>\n<code>3,Galio<\/code><br \/>\n<code>4,Twisted Fate<\/code><br \/>\n<code>5,Xin Zhao<\/code><\/p>\n<p dir=\"auto\" data-sourcepos=\"27:1-27:296\">El fichero <a href=\"http:\/\/18.237.177.35\/games.csv\">games.csv<\/a> contiene estad\u00edsticas de m\u00e1s de 50.000 partidas de ranking de League of Legends en los \u00faltimos a\u00f1os. En cada partida, se enfrentan dos equipos (1 contra 2) formados por 5 componentes cada uno. En este fichero, la informaci\u00f3n tambi\u00e9n est\u00e1 organizada en filas y columnas. Cada fila contiene el registro de una partida de ranking de League of Legends, mientras que cada columna contiene uno de los campos de del registro que representa a la partida de League of Legends. M\u00e1s concretamente, contamos con las siguientes columnas:<\/p>\n<ul>\n<li data-sourcepos=\"37:1-37:55\"><strong>gameId:<\/strong> El identificador de la partida de ranking<\/li>\n<li data-sourcepos=\"38:1-38:62\"><strong>creationTime:<\/strong> Marca de tiempo de creaci\u00f3n de la partida<\/li>\n<li data-sourcepos=\"39:1-39:55\"><strong>gameDuration<\/strong>: Duraci\u00f3n en segundos de la partida<\/li>\n<li data-sourcepos=\"40:1-40:54\"><strong>seasonId:<\/strong> Identificador de la temporada de juego<\/li>\n<li data-sourcepos=\"41:1-41:87\"><strong>winner:<\/strong> Equipo ganador de la partida (1 si ha ganado el primer equipo, 2 si ha ganado el segundo)<\/li>\n<li data-sourcepos=\"42:1-42:191\"><strong>firstBlood\/Tower\/Inhibitor\/Baron\/Dragon\/RiftHerald<\/strong> : Equipo que realiz\u00f3 la primera sangre, torre, inhibido, bar\u00f3n, drag\u00f3n, o heraldo (0: ninguno, 1: primer equipo, 2: segundo equipo)<\/li>\n<li data-sourcepos=\"43:1-43:154\"><strong>t1_champXid<\/strong>: Identificadores de los 5 componentes del primer equipo.<\/li>\n<li data-sourcepos=\"43:1-43:154\"><strong>t2_champXid<\/strong>: Identificadores de los 5 componentes del segundo equipo.<\/li>\n<li data-sourcepos=\"43:1-43:154\"><strong>t1_champX_sumY<\/strong>: Identificador del Y-\u00e9simo hechizo seleccionado por el X-\u00e9simo componente del primer equipo.<\/li>\n<li data-sourcepos=\"43:1-43:154\"><strong>t2_champX_sumY<\/strong>: Identificador del Y-\u00e9simo hechizo seleccionado por el X-\u00e9simo componente del segundo equipo.<\/li>\n<li data-sourcepos=\"43:1-43:154\"><strong>t1_ELEMKills<\/strong>: N\u00famero de elementos destruidos por el primer equipo durante la partida, donde <code>ELEM<\/code>puede ser <code>tower<\/code>, <code>inhibitor<\/code>, <code>baron<\/code>, <code>dragon<\/code>, <code>riftHerald<\/code>.<\/li>\n<li data-sourcepos=\"43:1-43:154\"><strong>t2_ELEMKills<\/strong>: N\u00famero de elementos destruidos por el segundo equipo durante la partida, donde <code>ELEM<\/code>puede ser <code>tower<\/code>, <code>inhibitor<\/code>, <code>baron<\/code>, <code>dragon<\/code>, <code>riftHerald<\/code>.<\/li>\n<li data-sourcepos=\"43:1-43:154\"><strong>t1_banX<\/strong>: El identificador del X-\u00e9simo personaje prohibido por el equipo 1 para la partida.<\/li>\n<li data-sourcepos=\"46:1-47:0\"><strong>t2_banX<\/strong>: El identificador del X-\u00e9simo personaje prohibido por el equipo 2 para la partida.<\/li>\n<\/ul>\n<p dir=\"auto\" data-sourcepos=\"27:1-27:296\">En total, cada registro tiene 61 columnas o campos, aunque evidentemente no todos ser\u00e1n \u00fatiles para computar la soluci\u00f3n buscada. Parte de tu trabajo ser\u00e1 identificar qu\u00e9 columnas resultan interesantes para el c\u00e1lculo de la soluci\u00f3n final.<\/p>\n<p>Deber\u00e1s escribir un Shell Script que genere un archivo llamado <strong>result.csv<\/strong> con el siguiente formato de ejemplo:<\/p>\n<p style=\"padding-left: 40px\"><code>Ahri,Ashe,1502<\/code><br \/>\n<code>Camille,Ezreal,892<\/code><br \/>\n<code>Ekko,Dr. Mundo,777<\/code><br \/>\n<code>Fizz,Caitlyn,650<\/code><br \/>\n<code>Gnar,Ezreal,578<\/code><br \/>\n<code>Fiora,Irelia,452<\/code><br \/>\n<code>Janna,Graves,321<\/code><br \/>\n<code>Jax,Jinx,245<\/code><br \/>\n<code>Ashe,Corki,151<\/code><br \/>\n<code>Katarina,Lee Sin,102<\/code><\/p>\n<p>Se trata de un fichero de 10 filas con las 10 parejas que han coincidido m\u00e1s veces en equipos ganadores. En cada fila tenemos el nombre de una pareja y el n\u00famero de veces que dicha pareja ha coincidido en equipos ganadores. A modo de ejemplo, la primera l\u00ednea significa que Ahri y Ashe han coincidido en 1502 equipos ganadores. Es decir, en 1502 batallas, Ahri y Ashe formaban parte de los equipos que ganaron.<br \/>\nComo puede apreciarse, cada uno de los campos de informaci\u00f3n est\u00e1 separado por comas (sin separaci\u00f3n de espacios entre ellos). Adem\u00e1s, el fichero lista las parejas en <strong>orden descendente<\/strong> de uso en partidas ganadas. Por tanto, el resto de parejas que pueda haber, habr\u00e1n coincidido en menos de 102 equipos ganadores. El ejemplo proporcionado es simplemente un ejemplo y por tanto <strong>no es la soluci\u00f3n final espec\u00edfica del script<\/strong>.<br \/>\n<strong>Evaluaci\u00f3n del script:<\/strong><\/p>\n<p dir=\"auto\" data-sourcepos=\"54:1-54:79\">Para evaluar el script realizado se tendr\u00e1n en cuenta los siguientes aspectos:<\/p>\n<ul data-sourcepos=\"56:1-62:0\">\n<li data-sourcepos=\"56:1-56:63\">El fichero generado como resultado debe llamarse <strong>result.csv<\/strong>.<\/li>\n<li data-sourcepos=\"57:1-57:132\">Que las 10 parejas identificadas en el fichero se correspondan con las 10 parejas que m\u00e1s hayan formado parte de equipos ganadores<\/li>\n<li data-sourcepos=\"58:1-58:57\">Que el valor de cada pareja sea el correcto<\/li>\n<li data-sourcepos=\"59:1-62:0\">El tiempo empleado en computar la soluci\u00f3n<\/li>\n<\/ul>\n<p><strong>Importante:<\/strong><\/p>\n<ul>\n<li>\n<p style=\"text-align: justify\">Cuando termines, deber\u00e1s\u00a0enviar un \u00fanico fichero con extensi\u00f3n \u00ab.sh\u00bb a trav\u00e9s\u00a0del siguiente enlace\u00a0<a href=\"http:\/\/18.237.177.35\">Env\u00edo de scripts<\/a>.<\/p>\n<\/li>\n<li>\n<p style=\"text-align: justify\">No pongas tu nombre <strong>dentro del fichero<\/strong>, puesto que se realizar\u00e1 una revisi\u00f3n\u00a0a ciegas.<\/p>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Enunciado: Bienvenidos se\u00e1is todos a la grieta del invocador. En esta ocasi\u00f3n no intentaremos destruir el nexo del equipo rival, sino que emplearemos programaci\u00f3n en Shell Script para recoger inteligencia que nos ayudar\u00e1 en nuestras pr\u00f3ximas batallas en la grieta del invocador. En este desaf\u00edo, vamos calcular cu\u00e1les son las 10 parejas de personajes m\u00e1s [&hellip;]<\/p>\n","protected":false},"author":14,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[62,60,61,7,63],"tags":[],"class_list":["post-3644","post","type-post","status-publish","format-standard","hentry","category-asir","category-dam","category-daw","category-tic","category-tsmr"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>3r Reto (SSC 2019). La grieta del invocador - Experiencia Florida: Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/blogs.florida.es\/floridauniversitariablog\/2019\/04\/3r-reto-ssc-2019-la-grieta-del-invocador\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"3r Reto (SSC 2019). La grieta del invocador - Experiencia Florida: Blog\" \/>\n<meta property=\"og:description\" content=\"Enunciado: Bienvenidos se\u00e1is todos a la grieta del invocador. En esta ocasi\u00f3n no intentaremos destruir el nexo del equipo rival, sino que emplearemos programaci\u00f3n en Shell Script para recoger inteligencia que nos ayudar\u00e1 en nuestras pr\u00f3ximas batallas en la grieta del invocador. En este desaf\u00edo, vamos calcular cu\u00e1les son las 10 parejas de personajes m\u00e1s [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"http:\/\/blogs.florida.es\/floridauniversitariablog\/2019\/04\/3r-reto-ssc-2019-la-grieta-del-invocador\/\" \/>\n<meta property=\"og:site_name\" content=\"Experiencia Florida: Blog\" \/>\n<meta property=\"article:published_time\" content=\"2019-04-12T21:00:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vignette.wikia.nocookie.net\/leagueoflegends\/images\/8\/86\/League_of_legends_logo_transparent.png\/revision\/latest\/scale-to-width-down\/640?cb=20131023175853\" \/>\n<meta name=\"author\" content=\"mtmoreno@florida.local\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"mtmoreno@florida.local\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"http:\/\/blogs.florida.es\/floridauniversitariablog\/2019\/04\/3r-reto-ssc-2019-la-grieta-del-invocador\/\",\"url\":\"http:\/\/blogs.florida.es\/floridauniversitariablog\/2019\/04\/3r-reto-ssc-2019-la-grieta-del-invocador\/\",\"name\":\"3r Reto (SSC 2019). La grieta del invocador - Experiencia Florida: Blog\",\"isPartOf\":{\"@id\":\"https:\/\/blogs.florida.es\/floridauniversitariablog\/#website\"},\"datePublished\":\"2019-04-12T21:00:20+00:00\",\"dateModified\":\"2019-04-12T21:00:20+00:00\",\"author\":{\"@id\":\"https:\/\/blogs.florida.es\/floridauniversitariablog\/#\/schema\/person\/b4f91174855694efbc637a78b3e74659\"},\"breadcrumb\":{\"@id\":\"http:\/\/blogs.florida.es\/floridauniversitariablog\/2019\/04\/3r-reto-ssc-2019-la-grieta-del-invocador\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/blogs.florida.es\/floridauniversitariablog\/2019\/04\/3r-reto-ssc-2019-la-grieta-del-invocador\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/blogs.florida.es\/floridauniversitariablog\/2019\/04\/3r-reto-ssc-2019-la-grieta-del-invocador\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/blogs.florida.es\/floridauniversitariablog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"3r Reto (SSC 2019). La grieta del invocador\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blogs.florida.es\/floridauniversitariablog\/#website\",\"url\":\"https:\/\/blogs.florida.es\/floridauniversitariablog\/\",\"name\":\"Experiencia Florida: Blog\",\"description\":\"Experiencia Florida: Nuestro Blog\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blogs.florida.es\/floridauniversitariablog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blogs.florida.es\/floridauniversitariablog\/#\/schema\/person\/b4f91174855694efbc637a78b3e74659\",\"name\":\"mtmoreno@florida.local\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/blogs.florida.es\/floridauniversitariablog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a292bf8f12a0bebd3ea5e24da579596fc0c0ed61528558850239ad4607f07411?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a292bf8f12a0bebd3ea5e24da579596fc0c0ed61528558850239ad4607f07411?s=96&d=mm&r=g\",\"caption\":\"mtmoreno@florida.local\"},\"url\":\"https:\/\/blogs.florida.es\/floridauniversitariablog\/author\/mtmoreno\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"3r Reto (SSC 2019). La grieta del invocador - Experiencia Florida: Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/blogs.florida.es\/floridauniversitariablog\/2019\/04\/3r-reto-ssc-2019-la-grieta-del-invocador\/","og_locale":"es_ES","og_type":"article","og_title":"3r Reto (SSC 2019). La grieta del invocador - Experiencia Florida: Blog","og_description":"Enunciado: Bienvenidos se\u00e1is todos a la grieta del invocador. En esta ocasi\u00f3n no intentaremos destruir el nexo del equipo rival, sino que emplearemos programaci\u00f3n en Shell Script para recoger inteligencia que nos ayudar\u00e1 en nuestras pr\u00f3ximas batallas en la grieta del invocador. En este desaf\u00edo, vamos calcular cu\u00e1les son las 10 parejas de personajes m\u00e1s [&hellip;]","og_url":"http:\/\/blogs.florida.es\/floridauniversitariablog\/2019\/04\/3r-reto-ssc-2019-la-grieta-del-invocador\/","og_site_name":"Experiencia Florida: Blog","article_published_time":"2019-04-12T21:00:20+00:00","og_image":[{"url":"https:\/\/vignette.wikia.nocookie.net\/leagueoflegends\/images\/8\/86\/League_of_legends_logo_transparent.png\/revision\/latest\/scale-to-width-down\/640?cb=20131023175853"}],"author":"mtmoreno@florida.local","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"mtmoreno@florida.local","Tiempo de lectura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"http:\/\/blogs.florida.es\/floridauniversitariablog\/2019\/04\/3r-reto-ssc-2019-la-grieta-del-invocador\/","url":"http:\/\/blogs.florida.es\/floridauniversitariablog\/2019\/04\/3r-reto-ssc-2019-la-grieta-del-invocador\/","name":"3r Reto (SSC 2019). La grieta del invocador - Experiencia Florida: Blog","isPartOf":{"@id":"https:\/\/blogs.florida.es\/floridauniversitariablog\/#website"},"datePublished":"2019-04-12T21:00:20+00:00","dateModified":"2019-04-12T21:00:20+00:00","author":{"@id":"https:\/\/blogs.florida.es\/floridauniversitariablog\/#\/schema\/person\/b4f91174855694efbc637a78b3e74659"},"breadcrumb":{"@id":"http:\/\/blogs.florida.es\/floridauniversitariablog\/2019\/04\/3r-reto-ssc-2019-la-grieta-del-invocador\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["http:\/\/blogs.florida.es\/floridauniversitariablog\/2019\/04\/3r-reto-ssc-2019-la-grieta-del-invocador\/"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/blogs.florida.es\/floridauniversitariablog\/2019\/04\/3r-reto-ssc-2019-la-grieta-del-invocador\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/blogs.florida.es\/floridauniversitariablog\/"},{"@type":"ListItem","position":2,"name":"3r Reto (SSC 2019). La grieta del invocador"}]},{"@type":"WebSite","@id":"https:\/\/blogs.florida.es\/floridauniversitariablog\/#website","url":"https:\/\/blogs.florida.es\/floridauniversitariablog\/","name":"Experiencia Florida: Blog","description":"Experiencia Florida: Nuestro Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blogs.florida.es\/floridauniversitariablog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/blogs.florida.es\/floridauniversitariablog\/#\/schema\/person\/b4f91174855694efbc637a78b3e74659","name":"mtmoreno@florida.local","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/blogs.florida.es\/floridauniversitariablog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a292bf8f12a0bebd3ea5e24da579596fc0c0ed61528558850239ad4607f07411?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a292bf8f12a0bebd3ea5e24da579596fc0c0ed61528558850239ad4607f07411?s=96&d=mm&r=g","caption":"mtmoreno@florida.local"},"url":"https:\/\/blogs.florida.es\/floridauniversitariablog\/author\/mtmoreno\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pau61W-WM","post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/blogs.florida.es\/floridauniversitariablog\/wp-json\/wp\/v2\/posts\/3644","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.florida.es\/floridauniversitariablog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.florida.es\/floridauniversitariablog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.florida.es\/floridauniversitariablog\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.florida.es\/floridauniversitariablog\/wp-json\/wp\/v2\/comments?post=3644"}],"version-history":[{"count":0,"href":"https:\/\/blogs.florida.es\/floridauniversitariablog\/wp-json\/wp\/v2\/posts\/3644\/revisions"}],"wp:attachment":[{"href":"https:\/\/blogs.florida.es\/floridauniversitariablog\/wp-json\/wp\/v2\/media?parent=3644"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.florida.es\/floridauniversitariablog\/wp-json\/wp\/v2\/categories?post=3644"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.florida.es\/floridauniversitariablog\/wp-json\/wp\/v2\/tags?post=3644"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}