{"id":102331,"date":"2021-11-19T21:36:39","date_gmt":"2021-11-19T19:36:40","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-controlflag-1-0-instrumenta-dlya-vyyavleniya-oshibok-v-kode-na-yazyke-si"},"modified":"2021-11-19T21:36:39","modified_gmt":"2021-11-19T19:36:40","slug":"vypusk-controlflag-1-0-instrumenta-dlya-vyyavleniya-oshibok-v-kode-na-yazyke-si","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-controlflag-1-0-instrumenta-dlya-vyyavleniya-oshibok-v-kode-na-yazyke-si","title":{"rendered":"Sortie de ControlFlag 1.0, un outil pour d\u00e9tecter les erreurs dans le code en langage C.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>La soci\u00e9t\u00e9 Intel a publi\u00e9 la premi\u00e8re version significative de l'outil ControlFlag 1.0, permettant de d\u00e9tecter des erreurs et des anomalies dans les codes sources en utilisant un syst\u00e8me d'apprentissage automatique form\u00e9 sur une large base de code existant. Contrairement aux analyseurs statiques traditionnels, ControlFlag ne s'appuie pas sur des r\u00e8gles pr\u00e9\u00e9tablies, qui peinent \u00e0 couvrir toutes les possibilit\u00e9s, mais se base sur des statistiques d'utilisation de diverses constructions linguistiques \u00e0 travers un grand nombre de projets existants. Le code de ControlFlag est \u00e9crit en C++ et est disponible sous licence MIT.       <\/p>\n<p>Le syst\u00e8me s'entra\u00eene en construisant un mod\u00e8le statistique de l'ensemble du code des projets open source publi\u00e9s sur GitHub et d'autres d\u00e9p\u00f4ts publics similaires. Pendant la phase d'apprentissage, le syst\u00e8me identifie des mod\u00e8les types de constructions dans le code et construit un arbre syntaxique des relations entre ces mod\u00e8les, refl\u00e9tant le flux d'ex\u00e9cution du code dans le programme. En cons\u00e9quence, un arbre de d\u00e9cision de r\u00e9f\u00e9rence se forme, int\u00e9grant l'exp\u00e9rience de d\u00e9veloppement de tous les codes sources analys\u00e9s. Pour le code \u00e0 v\u00e9rifier, un processus similaire d'identification des mod\u00e8les est appliqu\u00e9, qui est compar\u00e9 \u00e0 l'arbre de d\u00e9cision de r\u00e9f\u00e9rence. De grandes divergences avec les branches voisines indiquent la pr\u00e9sence d'une anomalie dans le mod\u00e8le v\u00e9rifi\u00e9.           <\/p>\n<p><center><img decoding=\"async\" alt=\"Sortie de ControlFlag 1.0, un outil pour d\u00e9tecter les erreurs dans le code en langage C.\" src=\"\/wp-content\/uploads\/2021\/11\/487e250bbbd790108aff376f7c9b6c5d.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>      <\/p>\n<p>\u00c0 titre d'exemple des capacit\u00e9s de ControlFlag, les d\u00e9veloppeurs ont effectu\u00e9 une analyse des codes sources des projets OpenSSL et cURL :  <\/p>\n<ul>\n<li class=\"l\"> Des constructions anormales ont \u00e9t\u00e9 identifi\u00e9es dans OpenSSL, telles que \u00ab (s1 == NULL) \u2227 (s2 == NULL) \u00bb et \u00ab (s1 == NULL) | (s2 == NULL) \u00bb, qui ne correspondent pas au sch\u00e9ma habituellement utilis\u00e9 \u00ab (s1 == NULL) || (s2 == NULL) \u00bb. Des anomalies ont \u00e9galement \u00e9t\u00e9 d\u00e9tect\u00e9es dans des expressions telles que \u00ab (-2 == rv) \u00bb (le signe moins \u00e9tait une faute de frappe) et \u00ab BIO_puts(bp, \u2018:\u2019) &lt;= 0 \u00bb (dans le contexte de la v\u00e9rification de la r\u00e9ussite de la fonction, cela aurait d\u00fb \u00eatre \u00ab == 0 \u00bb).\n<li class=\"l\"> Une erreur pass\u00e9e inaper\u00e7ue par les analyseurs statiques a \u00e9t\u00e9 d\u00e9couverte dans cURL lors de l'utilisation de l'\u00e9l\u00e9ment de structure \u00ab s-&gt;keepon \u00bb, qui avait un type num\u00e9rique mais \u00e9tait compar\u00e9 \u00e0 la valeur bool\u00e9enne TRUE.   <\/ul>\n<p>Parmi les caract\u00e9ristiques de la version 1.0 de ControlFlag, on note le support complet des mod\u00e8les typ\u00e9s pour le langage C et la possibilit\u00e9 de d\u00e9tecter des anomalies dans les expressions conditionnelles \u00ab if \u00bb. Par exemple, lors de l'analyse du fragment de code \u00ab if (x = 7) y = x; \u00bb, le syst\u00e8me d\u00e9terminera que, g\u00e9n\u00e9ralement, dans l'op\u00e9rateur \u00ab if \u00bb, pour comparer des valeurs num\u00e9riques, la construction \u00ab variable == nombre \u00bb est utilis\u00e9e. Ainsi, il est probable que l'utilisation de \u00ab variable = nombre \u00bb dans l'expression \u00ab if \u00bb soit due \u00e0 une faute de frappe. Un script est fourni pour charger les d\u00e9p\u00f4ts disponibles sur GitHub pour le langage C et les utiliser pour construire un mod\u00e8le. Des mod\u00e8les d\u00e9j\u00e0 pr\u00eats sont \u00e9galement disponibles, permettant de commencer imm\u00e9diatement \u00e0 v\u00e9rifier le code.<br \/>\n<br \/>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=56187\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Intel \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f ControlFlag 1.0, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u0432\u044b\u044f\u0432\u043b\u044f\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0438 \u0438 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0442\u0435\u043a\u0441\u0442\u0430\u0445, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f, \u043d\u0430\u0442\u0440\u0435\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u043e\u043c \u043e\u0431\u044a\u0451\u043c\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u043a\u043e\u0434\u0430. \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432, ControlFlag \u043d\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442 \u0433\u043e\u0442\u043e\u0432\u044b\u0445 \u043f\u0440\u0430\u0432\u0438\u043b, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0442\u0440\u0443\u0434\u043d\u043e \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432\u0441\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b, \u0430 \u043e\u0442\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0442 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0441\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u043e\u0432\u044b\u0445 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 \u0432 \u0431\u043e\u043b\u044c\u0448\u043e\u043c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":102332,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-102331","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Intel \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f ControlFlag 1.0, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u0432\u044b\u044f\u0432\u043b\u044f\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0438 \u0438 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0442\u0435\u043a\u0441\u0442\u0430\u0445, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f, \u043d\u0430\u0442\u0440\u0435\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u043e\u043c.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-controlflag-1-0-instrumenta-dlya-vyyavleniya-oshibok-v-kode-na-yazyke-si\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a ControlFlag 1.0, \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0434\u043b\u044f \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043e\u043a \u0432 \u043a\u043e\u0434\u0435 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u0421\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Intel \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f ControlFlag 1.0, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u0432\u044b\u044f\u0432\u043b\u044f\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0438 \u0438 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0442\u0435\u043a\u0441\u0442\u0430\u0445, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f, \u043d\u0430\u0442\u0440\u0435\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u043e\u043c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-controlflag-1-0-instrumenta-dlya-vyyavleniya-oshibok-v-kode-na-yazyke-si\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2021-11-19T19:36:40+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-11-19T19:36:40+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Sortie de ControlFlag 1.0, un outil pour la d\u00e9tection des erreurs dans le code en langage C | ProHoster","description":"La soci\u00e9t\u00e9 Intel a publi\u00e9 la premi\u00e8re version significative de l'outil ControlFlag 1.0, qui permet de d\u00e9tecter des erreurs et des anomalies dans les codes sources, en utilisant un syst\u00e8me d'apprentissage automatique entra\u00een\u00e9 sur un large corpus.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-controlflag-1-0-instrumenta-dlya-vyyavleniya-oshibok-v-kode-na-yazyke-si","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a ControlFlag 1.0, \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0434\u043b\u044f \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043e\u043a \u0432 \u043a\u043e\u0434\u0435 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u0421\u0438 | ProHoster","og:description":"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Intel \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f ControlFlag 1.0, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u0432\u044b\u044f\u0432\u043b\u044f\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0438 \u0438 \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0442\u0435\u043a\u0441\u0442\u0430\u0445, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f, \u043d\u0430\u0442\u0440\u0435\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u043e\u043c.","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-controlflag-1-0-instrumenta-dlya-vyyavleniya-oshibok-v-kode-na-yazyke-si","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2021-11-19T19:36:40+00:00","article:modified_time":"2021-11-19T19:36:40+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"102331","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-11-19 19:37:41","updated":"2022-10-04 19:55:39","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/102331","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=102331"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/102331\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/102332"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=102331"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=102331"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=102331"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}