Solve Redmi Note 9 Pro Bootloop, Logo Hang & Won’t Boot Into System

Guide to fix Redmi Note 9 Pro bootloop, endless restart, and stuck on MI/MIUI logo. Safe Snapdragon 720G method using official stock firmware

Every Android smartphone relies on a carefully sequenced boot chain to start normally: from the initial bootloader and kernel initialization, through mounting core system partitions, to the final loading of MIUI and the home screen. When any critical link in this chain becomes corrupted, incomplete, or mismatched, the device can no longer finish its startup sequence. Instead of reaching the usable interface, it becomes trapped in one of three highly disruptive failure states: it restarts over and over in an endless cycle known as a bootloop, freezes permanently on the static MI / MIUI splash logo with no further progress, or boots only into stock Recovery Mode with no path to load the main system. For the average user, this condition renders the phone completely unusable;   no calls, messages, photos, apps, or personal data can be accessed, and most people immediately fear their device has been permanently “bricked” beyond repair.

Solve Redmi Note 9 Pro Bootloop, Logo Hang & Won’t Boot Into System

The Redmi Note 9 Pro, released globally in early 2020, remains one of Xiaomi’s most successful mid-range smartphones ever launched, with an enormous active user base across Southeast Asia, South Asia, Europe, and emerging markets. Powered by the reliable Qualcomm Snapdragon 720G (SM7125) chipset, paired with a high-refresh-rate display, capable camera system, and running MIUI 11 / 12 / 13 based on Android 10, 11, and 12, the device earned its loyal following for balanced performance, solid build quality, and exceptional value. However, as the device has aged and official software support has wound down, reports of bootloop and stuck-logo failures have grown rapidly. This is partly due to accumulated file-system wear on older internal storage, and partly because many users attempt repairs, modifications, or lock-removal procedures using generic guides or files intended for MediaTek-based Redmi models,   which are completely incompatible with the Note 9 Pro’s Snapdragon architecture and often make the damage far worse.

Affected Redmi Note 9 Pro units show a very consistent set of recognizable symptoms. In a typical bootloop case, the phone vibrates normally when powered on, displays the MI logo for 15–45 seconds, then cuts power and restarts, automatically repeating this loop indefinitely with no sign of loading MIUI. In the stuck-logo scenario, the splash screen appears and then freezes solid, remaining unchanged even after 10+ minutes of waiting. In more severe cases, every startup attempt lands directly in Xiaomi Recovery, and selecting “Reboot” or “Wipe Data” only loops straight back to the same menu, often accompanied by on-screen errors such as “Can’t load Android system,” “Your device is corrupt,” “System update failed,” or “Verification failed.”

Technician field data confirms several well-documented, model-specific root causes that trigger these failures on the Snapdragon 720G Redmi Note 9 Pro. By far the most common trigger is an interrupted official OTA update, cut short mid-installation by sudden battery death, an accidental forced reboot, or unstable Wi-Fi leaving /boot, /system, or /vendor partitions only partially written and permanently corrupted. Other leading causes include: manually flashing official firmware built for a different regional variant (e.g., Indian firmware onto a Global unit, or EEA firmware onto an Indonesian device); failed pattern/PIN/FRP/Mi Account bypass attempts using tools not calibrated for Xiaomi’s Snapdragon secure-boot architecture, which damage partition metadata; file-system corruption on /data or /cache following an unexpected forced shutdown; incompatible custom ROMs, recoveries or root modifications applied to the locked bootloader; and, in rare cases, early degradation of the NAND storage chip itself.

Most users first attempt the obvious standard fixes: holding the power button to force a restart, wiping the cache partition from Recovery, or performing a full factory reset. Unfortunately, in roughly 80% of Redmi Note 9 Pro bootloop cases, these steps achieve nothing because the corruption exists deep inside protected system partitions that stock Recovery cannot read or repair. Many then turn to free online tutorials, most of which are written for MediaTek devices and recommend tools or procedures that simply do not work on the Snapdragon 720G platform; following them frequently results in permanent IMEI loss, dead baseband (no SIM signal / “No Service”), or a total hard brick where the device shows no response at all. Official Xiaomi service centers, while competent, often require original proof of purchase that many long-term users no longer keep, charge service fees that feel disproportionate for an older device, or quote multi-day turnaround times that are impractical for people who rely on their phone daily.

This article is created specifically to solve that gap. It is a clear, structured, and field-tested repair manual written exclusively for the Qualcomm-based Redmi Note 9 Pro, following a logical risk-tiered workflow: it begins with the simplest, 100% non-destructive checks and fixes that resolve many mild cases without touching user data, progresses through controlled recovery procedures, and concludes with a fully explained safe official stock firmware flashing process for severely corrupted units. Every instruction is tailored to the Snapdragon 720G hardware and MIUI software stack, with zero generic MediaTek advice. Inside, readers will learn how to correctly diagnose the root cause of their specific failure, how to identify and download the exact region-matched official firmware for their device variant, which partitions must be flashed and which must be left untouched to preserve IMEI, baseband, and calibration data, and what post-repair settings will prevent the fault from returning.

How to Fix Redmi Note 9 Pro Bootloop & Stuck on MI Logo 

Here are the steps to fix a Redmi Note 9 Pro stuck in a bootloop at the Mi logo by reflashing it using official Xiaomi firmware:
How to Fix Redmi Note 9 Pro Bootloop & Stuck on MI Logo
  1. Download Redmi Note 9 Pro Global Firmware
  2. Run the UnlockTool application, then Login Account
  3. Select Brand Mi and select Mi Flash
  4. Load Redmi Note 9 Pro Firmware
  5. Checklist Server Prof UFS Firehose
  6. Klick Flash
  7. Connect the Redmi Note 9 Pro to the computer using EDL Test Point Mode
  8. Wait for the Bypass Process to complete by itself
  9. Done, Enjoy

Not sure how to get an UnlockTool account? Don't worry, you can rent UnlockTool at an affordable price on Shopee: Cheap UnlockTool Rental.

Important Note: 

  • Before performing the Factory Reset process using the UnlockTool application, make sure you have installed the appropriate drivers (Qualcomm / MediaTek / Spreadtrum) on your laptop or computer according to the chipset of the device you are working on. Without installing the drivers, the mobile device will not be detected or recognized by the UnlockTool system.
  • The Factory Reset process on the Infinix Smart 9 will erase all internal data on the phone. If you wish to keep your photos, videos, and other files, please select the [EDL] SAFE FORMAT option.

That is an easy way to fix a Redmi Note 9 Pro Bootloop, Logo Hang & Won’t Boot Into System using the Unlock Tool application that you can try out yourself at home.

About the author

Berbagi Tutorial Online
Seorang Blogger Newbie Lampung
/*--[ Global ]--*/ /*! Plus UI v3.7.0 JavaScript | Asset: onload.js | Hash: 9f358a175b7052f2a4aea18b5a349279 | Contributors: Deo Kumar, Armaan Kumar | License: UNLICENSED | Copyright (c) 2024-2025 Fineshop Design (https://fineshopdesign.com) */ "use strict";((e,t,n)=>{let{g:l,pEJ:i,fb:o,gId:a,qSel:r,gTg:s,gCl:c,qSell:d,gAb:h,sAb:u,rAb:g,hAb:m,aCl:f,rCl:p,hCl:b,cOU:w,cEl:y,aEL:v,rEL:k,uHTML:j,wLP:B,iAH:x,dPr:N,iStr:O,iBol:S,iNumV:T,iObjL:C,exp:L,eHTML:E,df:P,lz:A,cJs:D,cCss:M,lJs:I,lb:_,pl:F,ps:z,bg:H,vw:U,cf:$,mc:K,tNtf:V,pg:J}=e,R=t.Object,Y=t.String,Z=t.Number,q=t.Error,W=t.TypeError,G=t.JSON,Q=t.Math,X=t.navigator,ee=(n.documentElement,n.head),te=n.body,ne=Y.fromCharCode,le=R.assign,ie=G.parse,oe=G.stringify,ae=(e,t)=>e.charCodeAt(t),re=(e,t)=>e.charAt(t),se=(e,t)=>e.indexOf(t),ce=e=>/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/g.test(e),de=e=>e.toLowerCase().replace(/([-_][a-z])/g,e=>e.toUpperCase().replace("-","").replace("_","")),he=(e,t=!0,n=!0)=>{g(e,"hidden"),t&&p(e,"hidden"),n&&m(e,"aria-hidden")&&u(e,"aria-hidden","false")},ue=i(a("json:bloglabels"));if(ue)for(let e in ue){let t=j(e),n=ue[e];_[t]=n}let ge=i(a("json:blogposts"));ge&&z.push(ge);let me=i(a("json:blogpager"));me&&le(J,me);let fe=i(a("json:firebaseconfig"));fe&&le(o.cf,fe);let pe=i(a("json:contactconfig"));pe&&le($.con,pe);let be=i(a("json:translateconfig"));be&&le($.gtr,be);let we=i(a("json:statsconfig"));we&&le($.bst,we);let tres=i(a("json:data"))?.bg?.pcore;let ye=i(a("json:accessblocker"));if(tres){I(tres,{crossOrigin:"anonymous",referrerPolicy:"no-referrer"})}if(ye){let e=$.blk;e.ip.push(...ye.ip),e.ctry.push(...ye.ctry),e.tzn.push(...ye.tzn)}let ve=a("Header01");if(ve){let e=h(ve,"data-description");null!==e&&(H.des=e)}let ke=i(a("json:pwaconfig"));if(ke){let e=ke.wbm;""===e.description&&(e.description=null!==H.des?H.des:"No description provided..."),e.name&&(e.name=j(e.name)),e.short_name&&(e.name=j(e.short_name)),le(F.pwa,ke),F.pwa.use=!r("link[rel='manifest']")}let je="input is not correctly encoded";class Be{constructor(e){this.k=O(e)?e:Be.DK}e(e){let t=this.k,n=(e=>{let t=e.replace(/\r\n/g,"\n"),n="";for(let e=0;e127&&l<2048?(n+=ne(l>>6|192),n+=ne(63&l|128)):(n+=ne(l>>12|224),n+=ne(l>>6&63|128),n+=ne(63&l|128))}return n})(e),l="",i=0;for(;i>2,s=(3&e)<<4|o>>4,c=(15&o)<<2|a>>6,d=63&a;Z.isNaN(o)?(c=64,d=c):Z.isNaN(a)&&(d=64),l+=re(t,r)+re(t,s)+re(t,c)+re(t,d)}return l}eD(e){let t=oe(e);return this.e(t)}dD(e){let t=this.d(e);try{return ie(t)}catch(e){throw console.error("JSON invalid:",e),new q(je)}}d(e){let t=this.k,n="",l=0,i=e.replace(/[^A-Za-z0-9+\\=]/g,"");for(;l>2,c=(3&a)<<6|r;n+=ne(e<<2|o>>4),64!==a&&(n+=ne(s)),64!==r&&(n+=ne(c))}if(n=(e=>{let t="",n=0,l=0,i=l,o=l;for(;n191&&l<224?(i=ae(e,n+1),t+=ne((31&l)<<6|63&i),n+=2):(i=ae(e,n+1),o=ae(e,n+2),t+=ne((15&l)<<12|(63&i)<<6|63&o),n+=3);return t})(n),this.e(n)!==e)throw new q(je);return n}}Be.DK="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Be.OD=new Be,Be.O1=new Be("FINEUiBYDevSagARlwXVuCGzbdjMHQcnKypsZhoWLxfkOmrTPtJq2738506491+/="),Be.O2=new Be("MBDRTNFJCAPOSQEIGWLHVYZUKXmbdrtnfjcaposqeigwlhvyzukx3508749216+/="),Be.O3=new Be("MNBVCXZLKJHGFDSAPOIUYTREWQmnbvcxzlkjhgfdsapoiuytrewq0987654321+/=");let xe={blk:null,push(e){let n="--[[adsense-pushed]]--",l=[],i=e=>{!(e=>!0===e[n]||!e.matches(".adsbygoogle:not(.adsbygoogle-noablate):not([data-adsbygoogle-status]):not([data-ad-status]):not([adsbygoogle-noablate])"))(e)&&!(e=>{let t=e.nextElementSibling;if(t){let e=t.tagName.toLowerCase(),n=t.textContent||t.innerText;return"script"===e&&n.includes("adsbygoogle")&&n.includes("push")}return!1})(e)&&(e=>{try{return(t.adsbygoogle=t.adsbygoogle||[]).push({}),e[n]=!0,l.push(e),!0}catch(t){return console.warn("An error ocurred pushing ad:",e,t),!1}})(e)},o=e||c("adsbygoogle");for(let e=0;e{let i=y(e,{style:l});return t&&(i.id=t),n&&(i.className=n),i});return new Promise((t,l)=>{for(let e=0;e{e.blk=n,t(n)},o=e=>e.offsetHeight;setTimeout(()=>{18!==o(n[0])||18!==o(n[1])||18!==o(n[2])||n[2].firstElementChild?i(!0):X.onLine?fetch("https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js").then(e=>{e.ok&&e.headers.has("Content-Length")?i(!1):i(!0)}).catch(e=>{X.onLine?i(!0):l(e)}):i(!1);for(let e=0;e{if(!e.ok)throw new q("Failed to fetch countries");return e.json()})),this.s.c},async locations(){return this.s.l||(this.s.l=await fetch(this.r.l).then(e=>{if(!e.ok)throw new q("Failed to fetch locations");return e.json()})),this.s.l},async location(e){if(O(e)&&e.trim().length){let t=await this.locations();for(let n=0;n{let t={ts:"timestamp",visit_scheme:"visitScheme",uag:"userAgent"},n=["h"],l=e.trim().split("\n").reduce((e,l)=>{let[i,o]=l.split("=").map(e=>e.trim());if(i&&!n.includes(i)){let n="ts"===i?1e3*+o:o;e[t[i]||i]=n}return e},{});return l.location=await this.location(l.colo),l.country=await this.country(l.loc),l};return(e||!this.s.i)&&(this.s.i=await fetch(this.r.t).then(async e=>{if(!e.ok)throw new q("Failed to fetch trace");let n=await e.text();return t(n)})),this.s.i}},Oe=["kB","MB","GB","TB","PB","EB","ZB","YB"],Se=["KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"],Te=["K","M","B","T","Q","Qu","S","Se","O","N","D"],Ce=o.v||"10.13.2",Le=["analytics","app","app-check","auth","database","firestore","functions","installations","messaging","performance","remote-config","storage"],Ee=["SDK_VERSION","apps","initializeApp","onLog","registerVersion","setLogLevel"];for(let e=0;e(l.firebase||{})[t]})}let Pe=e=>I(`https://www.gstatic.com/firebasejs/${Ce}/firebase-${e}-compat.js`,{crossOrigin:"anonymous",referrerPolicy:"no-referrer"}),Ae=B(async(...e)=>{if(O(o.SDK_VERSION)){if(o.SDK_VERSION!==Ce)throw new q(`a different version of firebase SDK (${o.SDK_VERSION}) is already loaded, required version: ${Ce}`)}else await Pe("app");if(e.length){for(let t=0;tPe(l)))}await t}return o}),De=e=>I(`https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/${e}`,{crossOrigin:"anonymous",referrerPolicy:"no-referrer"}),Me=B(async(...e)=>{if(l.hljs||await De("highlight.min.js"),e.length){let t=Promise.resolve();for(let n=0;nDe(`languages/${i.toLowerCase()}.min.js`))))}await t}return l.hljs}),Ie=B(async()=>(l.BloggerFeed||await I("https://cdn.jsdelivr.net/gh/blogger-templates/blogger-feed@v0.0.9/dist/blogger-feed.min.js",{crossOrigin:"anonymous",referrerPolicy:"no-referrer"}),l.BloggerFeed)),_e=async({email:e,name:t,message:n},l)=>{await P;let i=$.con;if(!ce(e))throw new W("Not a valid email address.");if(!n||!n.trim())throw new W("Message cannot be undefined or blank.");let o={email:e,message:n,blogID:H.bgId,token:i.tk};l&&le(o,{blogId:H.bgId,blogUrl:H.cnHmU,blogTitle:H.ttl,blogLocale:H.lc,pageUrl:H.cnU,pageTitle:H.pgNm,submitUrl:i.au}),t&&(o.name=t);let a=await fetch(l||i.au,{method:"POST",body:new URLSearchParams(o)});if(a.ok){let e=await a.json();if(e&&"error"!==e.type&&("details"in e?e.details&&"true"===e.details.emailSentStatus:"data"in e?e.data&&!0===e.data.sentStatus:!("submitted"in e)||!0===e.submitted))return o}throw new q(`Failed to submit (status: ${a.status})`)},Fe=(e,t)=>{let n="";if(!e.matches(t))for(let l=0;l!0===l?e.length/t:e.split(" ").length/n,He=a("footer_year");He&&(He.innerHTML=(new Date).getFullYear());let Ue=0;v(t,"scroll",()=>{let e=t.pageYOffset||t.scrollY||n.documentElement.scrollTop;e>Ue?f(te,"onSb"):p(te,"onSb"),Ue=e<=0?0:e});let $e=(e,t)=>{let n=h(e,t);if(n&&!n.includes("-rw")&&!n.includes("/blogger_img_proxy/")&&(n.includes("blogspot.com")||n.includes("googleusercontent.com"))&&(n.includes("-pd")||n.includes("-p-k-no-nu"))){let l=n.replace("-p-k-no-nu","-p-k-no-nu-rw-e90").replace("-pd","-p-k-no-nu-rw-e90");l!==n&&u(e,t,l)}},Ke=d("img.sldI, img.imgThm, .sImg img, .abtL img, img.ldC");for(let e=0;e{let t=s("iframe");if(t.length&&e.source)for(let n=0;n{e&&"number"==typeof t&&(u(e,"scrolling","no"),u(e,"height",Y(t)))};if(v(t,"message",e=>{let t=e.data;if(O(t)){let n=t.match(/^set-comment-editor-height (\d+)px$/i);n&&n[1]&&Je(Ve(e),Z(n[1]))}else C(t)&&"amp"===t.sentinel&&"embed-size"===t.type&&T(t.height)&&Je(Ve(e),t.height)}),!U.iBt){v(t,"offline",()=>V(K.youAreOffline)),v(t,"online",()=>V(K.youAreOnline));let e=F.pwa;if("https:"===location.protocol&&e.use&&e.wbm){let t=oe(e.wbm),n=w(new Blob([t],{type:"application/json"})),l=y("link",{rel:"manifest",href:n}),i=s("link",ee)[0];i?i.parentNode.insertBefore(l,i):ee.appendChild(l)}}let Re=()=>{let e=a("template_widgets_js");e&&e.remove();let t=F.mt,n=(e,t,n)=>({"@type":"ImageObject",url:e,width:t,height:n}),l=(e,t,n)=>({"@type":"Person",name:E(e),url:t,image:n}),i=e=>{let t=e.aut.im&&e.aut.im.includes("/img/blogger_logo_round_35")?35:512,o=e.aut.im?n(e.aut.im,t,t):null,a={"@type":"Comment",text:E(e.con),datePublished:e.pub,author:l(e.aut.nm,e.aut.url||H.cnHmU,o)},r=e.rep;if(r&&r.length){let e=[];for(let t=0;t{let o={"@context":"http://schema.org","@type":e.id===U.pgId?"Article":e.lab.includes("Blog")?"BlogPosting":e.lab.includes("Article")?"Article":e.lab.includes("News")?"News":t.dpt,mainEntityOfPage:{"@type":"WebPage","@id":e.url},headline:e.ttl,description:e.sum,datePublished:e.pub,dateModified:e.upd,image:n(e.thm||t.defTh,1280,712),publisher:{"@type":"Organization",name:H.ttl,logo:n(t.orgLg,512,512)},author:l(e.aut.nm,e.aut.url||H.cnHmU,e.aut.im?n(e.aut.im,512,512):null)};if(z.c===e){e.text&&(o.articleBody=E(e.text));let t=e.com.ent;if(t&&t.length){let e=[];for(let n=0;n{t||M("body .adsbygoogle{display:none!important}")};e&&((e,t,n)=>{let l=$.blk,i=l.tzn,o=l.ctry,a=l.ip,r=(e,t)=>e.trim().toLowerCase()===t.trim().toLowerCase(),s=e=>0!==e.trim().length,c=!1;if(i.length){let t=Intl.DateTimeFormat().resolvedOptions().timeZone;for(let n=0;nNe.info()):Ne.info()).then(t=>{if(t.ip)for(let n=0;n{console.warn("Error while getting geolocation info:",e),t&&t(e)})})((t,l)=>{console.warn(`Blocking access due to matching ${t} with value "${l}"`),U.iAd?V("Access is blocked! It seems you are an admin, so the popup wasn't displayed."):(n(),he(e))},null,!0);let l=r(".js-antiadblocker");l&&A.then(()=>xe.iBlk()).then(e=>{e&&(U.iAd?V("AdBlock is enabled! It seems you are an admin, so the popup wasn't displayed."):(n(),he(l)))})}let d=$.con,g=c("blogger-contact-form");if(g.length)for(let e=0;e{if(o.preventDefault(),!e)if(ce(l.value.trim()))if(i.value.trim()){let o={email:l.value.trim(),message:i.value};n.value.trim()&&(o.name=n.value),e=!0,V(h(t,"data-mes-sending")||d.tx.sending),_e(o,h(t,"data-action")||h(t,"action")).then(()=>{V(h(t,"data-mes-sent")||d.tx.sent),t.reset(),e=!1}).catch(n=>{console.warn("Contact from submission error:",n),V(h(t,"data-mes-not-sent")||d.tx.notSent),e=!1})}else V(h(t,"data-mes-empty-message")||d.tx.emptyMessage),i.focus();else V(h(t,"data-mes-invalid-email")||d.tx.invalidEmail),l.focus()})}}}};P.then(()=>setTimeout(Re,20)),L({B64:Be,cpT:async e=>{if(!O(e))throw new W("input is not type of string");if("clipboard"in X)return await X.clipboard.writeText(e),e;let t=te.appendChild(y("textarea",{style:"position: fixed; left: 100%; width: 0; height: 0; opacity: 0",textContent:e}));t.focus(),t.select();let l=!!n.execCommand("copy");if(t.remove(),l)return e;throw new q("failed to copy text")},prtB:(e,t=!1,n=1,l=!1)=>{if(!T(e))throw new W(`${e} is not a valid input.`);let i=e,o=t?1e3:1024;if(Q.abs(i)=o&&r{if(!T(e))throw new W(`${e} is not a valid input`);let l=e,i=1e3;if(Q.abs(l)=i&&a{let a;if(T(e))a=e/l;else if(O(e)){let r;if(n){let n=y("div");n.innerHTML=e,r=Fe(n,t)}else r=e;a=ze(r,l,i,o)}else{if(!e)throw new W("argument 1 is not an element, string or number.");{let n=Fe(e,t);a=ze(n,l,i,o)}}return a}})})(PU,window,document); /* initialize lazysizes explicitly */ window.lazySizesConfig=window.lazySizesConfig||{};window.lazySizesConfig.init=false;document.addEventListener("DOMContentLoaded",()=>{if(PU.vw.iBt||PU.vw.iAi){const lazyloadImages=document.querySelectorAll("img.lazyload[data-src],.lazyload[data-bg]");for(let i=0;i49?function(){o(t,{timeout:n});if(n!==H.ricTimeout){n=H.ricTimeout}}:te(function(){I(t)},true);return function(e){var t;if(e=e===true){n=33}if(a){return}a=true;t=r-(f.now()-i);if(t<0){t=0}if(e||t<9){s()}else{I(s,t)}}},ie=function(e){var t,a;var i=99;var r=function(){t=null;e()};var n=function(){var e=f.now()-a;if(e0;if(r&&Z(i,"overflow")!="visible"){a=i.getBoundingClientRect();r=C>a.left&&pa.top-1&&g500&&O.clientWidth>500?500:370:H.expand;k._defEx=u;f=u*H.expFactor;c=H.hFac;A=null;if(w2&&h>2&&!D.hidden){w=f;N=0}else if(h>1&&N>1&&M<6){w=u}else{w=_}}if(l!==n){y=innerWidth+n*c;z=innerHeight+n;s=n*-1;l=n}a=d[t].getBoundingClientRect();if((b=a.bottom)>=s&&(g=a.top)<=z&&(C=a.right)>=s*c&&(p=a.left)<=y&&(b||C||p||g)&&(H.loadHidden||x(d[t]))&&(m&&M<3&&!o&&(h<3||N<4)||W(d[t],n))){R(d[t]);r=true;if(M>9){break}}else if(!r&&m&&!i&&M<4&&N<4&&h>2&&(v[0]||H.preloadAfterLoad)&&(v[0]||!o&&(b||C||p||g||d[t][$](H.sizesAttr)!="auto"))){i=v[0]||d[t]}}if(i&&!r){R(i)}}};var a=ae(t);var S=function(e){var t=e.target;if(t._lazyCache){delete t._lazyCache;return}L(e);K(t,H.loadedClass);Q(t,H.loadingClass);V(t,B);X(t,"lazyloaded")};var i=te(S);var B=function(e){i({target:e.target})};var T=function(e,t){var a=e.getAttribute("data-load-mode")||H.iframeLoadMode;if(a==0){e.contentWindow.location.replace(t)}else if(a==1){e.src=t}};var F=function(e){var t;var a=e[$](H.srcsetAttr);if(t=H.customMedia[e[$]("data-media")||e[$]("media")]){e.setAttribute("media",t)}if(a){e.setAttribute("srcset",a)}};var s=te(function(t,e,a,i,r){var n,s,o,l,u,f;if(!(u=X(t,"lazybeforeunveil",e)).defaultPrevented){if(i){if(a){K(t,H.autosizesClass)}else{t.setAttribute("sizes",i)}}s=t[$](H.srcsetAttr);n=t[$](H.srcAttr);if(r){o=t.parentNode;l=o&&j.test(o.nodeName||"")}f=e.firesLoad||"src"in t&&(s||n||l);u={target:t};K(t,H.loadingClass);if(f){clearTimeout(c);c=I(L,2500);V(t,B,true)}if(l){G.call(o.getElementsByTagName("source"),F)}if(s){t.setAttribute("srcset",s)}else if(n&&!l){if(d.test(t.nodeName)){T(t,n)}else{t.src=n}}if(r&&(s||l)){Y(t,{src:n})}}if(t._lazyRace){delete t._lazyRace}Q(t,H.lazyClass);ee(function(){var e=t.complete&&t.naturalWidth>1;if(!f||e){if(e){K(t,H.fastLoadedClass)}S(u);t._lazyCache=true;I(function(){if("_lazyCache"in t){delete t._lazyCache}},9)}if(t.loading=="lazy"){M--}},true)});var R=function(e){if(e._lazyRace){return}var t;var a=n.test(e.nodeName);var i=a&&(e[$](H.sizesAttr)||e[$]("sizes"));var r=i=="auto";if((r||!m)&&a&&(e[$]("src")||e.srcset)&&!e.complete&&!J(e,H.errorClass)&&J(e,H.lazyClass)){return}t=X(e,"lazyunveilread").detail;if(r){re.updateElem(e,true,e.offsetWidth)}e._lazyRace=true;M++;s(e,t,r,i,a)};var r=ie(function(){H.loadMode=3;a()});var o=function(){if(H.loadMode==3){H.loadMode=2}r()};var l=function(){if(m){return}if(f.now()-e<999){I(l,999);return}m=true;H.loadMode=3;a();q("scroll",o,true)};return{_:function(){e=f.now();k.elements=D.getElementsByClassName(H.lazyClass);v=D.getElementsByClassName(H.lazyClass+" "+H.preloadClass);q("scroll",a,true);q("resize",a,true);q("pageshow",function(e){if(e.persisted){var t=D.querySelectorAll("."+H.loadingClass);if(t.length&&t.forEach){U(function(){t.forEach(function(e){if(e.complete){R(e)}})})}}});if(u.MutationObserver){new MutationObserver(a).observe(O,{childList:true,subtree:true,attributes:true})}else{O[P]("DOMNodeInserted",a,true);O[P]("DOMAttrModified",a,true);setInterval(a,999)}q("hashchange",a,true);["focus","mouseover","click","load","transitionend","animationend"].forEach(function(e){D[P](e,a,true)});if(/d$|^c/.test(D.readyState)){l()}else{q("load",l);D[P]("DOMContentLoaded",a);I(l,2e4)}if(k.elements.length){t();ee._lsFlush()}else{a()}},checkElems:a,unveil:R,_aLSL:o}}(),re=function(){var a;var n=te(function(e,t,a,i){var r,n,s;e._lazysizesWidth=i;i+="px";e.setAttribute("sizes",i);if(j.test(t.nodeName||"")){r=t.getElementsByTagName("source");for(n=0,s=r.length;n) ]--*/ /*]]>*//**//*{let{gId:a,qSel:l,qSell:i,gCl:o,cEl:n,aCl:r,rCl:s,hCl:d,gAb:c,hAb:m,sAb:p,rAb:b,aEL:u,rEL:h,iAE:g,iAH:f,cpT:v,eHTML:y,ms:$,mc:w,pl:x,vw:k,ps:A,df:T,lz:C}=e,L=t.Object,M=t.location,P="data:image/png;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",z=L.assign,B=(e,t=!0,a=!0)=>{p(e,"hidden",""),t&&r(e,"hidden"),a&&m(e,"aria-hidden")&&p(e,"aria-hidden","true")},H=(e,t=!0,a=!0)=>{b(e,"hidden"),t&&s(e,"hidden"),a&&m(e,"aria-hidden")&&p(e,"aria-hidden","false")},D=e=>/^https?:\/\/(.+)$/.test(e),E=(e,t)=>{let a=[];if(e.length)for(let i=0;ic(o,e));if(n&&r&&s&&null!==d){let e=new Date(Number(s)),i=l(`[data-comment-body-id="${n}"]`,o);if(i){let s={id:n,html:i.innerHTML,text:i.innerText,con:i.textContent||i.innerText,ts:r,pub:e,iAut:"true"===b,iAno:"true"===u,iDel:"true"===h,aut:{nm:d,url:p,im:m}},c=l("ol",o);c&&(s.rep=c?E(c.children,{repTo:n}):[]),t&&L.assign(s,t),a.push(s)}}}return a},I=e=>{let t=c(e,"data-embed");if(t){e.innerHTML="
";let[a,l]=["default","maxresdefault"].map(e=>`https://img.youtube.com/vi/${t}/${e}.jpg`),i=n("img",{class:"lazyload",attributes:{src:C._lazied?a:P,alt:"YouTube video thumbnail","data-src":l}});e.appendChild(i);let o=()=>{h(e,"click",o);let a=n("iframe",{class:"loading",src:`https://www.youtube.com/embed/${t}?rel=0&showinfo=0&autoplay=1`,title:"YouTube video player",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",referrerPolicy:"strict-origin-when-cross-origin",allowFullscreen:!0,attributes:{frameborder:0}}),l=()=>{h(a,"load",l),s(a,"loading"),r(a,"loaded")};u(a,"load",l),u(a,"error",l),e.innerHTML="",e.appendChild(a)};u(e,"click",o)}};a("postBody")&&A.c&&(z(A.c,{con:postBody.textContent,html:postBody.innerHTML,text:postBody.innerText}),z(A.c.com,{ent:(()=>{let e=a("cmHolder");return e?E(e.children):[]})()}));let R=()=>{let e=i(".cmCo a");if(e.length)for(let t=0;t/^#comment$/.test(M.hash),R=()=>/[?&](showComment|sc)=(\d+)/i.test(M.search)||/^#c(\d{6,})$/.test(M.hash),S=!1,U=()=>{if(!S&&A&&!a(d)){let t=c(A,$);if(t){let a=n("iframe",{id:d,class:"lazyload",attributes:{name:"comment-editor",title:"Blogger comment",frameborder:"0",allowtransparency:"",sandbox:"allow-scripts allow-same-origin allow-forms allow-top-navigation",height:e,"data-src":t,[$]:t}});g(A,"beforebegin",a),A.remove(),S=!0}}},q=()=>{A&&h(A,"click",q),T&&h(T,"click",q),U()};if(T){u(T,"click",q),A&&u(A,"click",q);let e=()=>{(E()||R())&&(q(),T.checked=!0)};u(t,"hashchange",e),e();let a=i("a[href='#comment']");if(a.length)for(let t=0;t{q();let t=a(d);if(t){let l=c(i,"data-reply-to"),o=a(`c${l}`),n=`${c(t,$)}&parentID=${l}`;r(z,"cmRbox"),H(L),z.parentNode!==o?o.appendChild(z):z.scrollIntoView({behavior:"smooth"}),c(t,"data-src")!==n&&(b(t,"src"),p(t,"height",e),p(t,"data-src",n),s(t,"lazyloading","lazyloaded"),r(t,"lazyload"))}})}if(L&&u(L,"click",()=>{q();let t=a(d);if(t){let a=c(t,$);s(z,"cmRbox"),B(L),L.nextElementSibling!==z?g(L,"afterend",z):z.scrollIntoView({behavior:"smooth"}),c(t,"data-src")!==a&&(b(t,"src"),p(t,"height",e),p(t,"data-src",a),s(t,"lazyloading","lazyloaded"),r(t,"lazyload"))}}),k.par){f(z,"afterbegin",`
${w.commentMediaParserMessage?`

${w.commentMediaParserMessage}

`:""}
${k.im?``:""}${k.lnk?``:""}
`);let e,t=l(".cmPar",z),a=i("button[data-action]",t),o=l("textarea",t),n=l(".nc",t),r=(t,a=3e3)=>{clearTimeout(e),p(n,"data-message",t),e=setTimeout(()=>{b(n,"data-message")},a)},s=()=>{o.disabled=!1,o.value="";for(let e=0;e{o.disabled=!0;for(let e=0;e{let e=c(t,"data-action");if(o.value)switch(e){case"pre":case"code":case"quote":case"tag":o.value=`${y(o.value,!0,!0,!1)}`,d();break;case"link":D(o.value.trim())?(o.value=`edit_this_after_pasting`,d()):(r(w.notAValidURL),o.focus());break;case"image":D(o.value.trim())?(o.value=`${encodeURI(o.value.trim())}`,d()):(r(w.notAValidURL),o.focus());break;case"clear":s(),o.focus();break;case"copy":t.disabled=!0,v(o.value),r(w.copiedCode,2e3),setTimeout(()=>s(),2e3)}else o.focus()})}}k.im&&C.then(()=>{let e=i(".cmCo i[rel='image']");for(let t=0;t{if(!k.iBt){let e="\x3c!--nextpage--\x3e",t=a("postSplit");if(t){let a=t.innerHTML.split(e),l=a.length;if(l>1){let e=M.search.match(/[?&]page=(\d+)/),i=e&&e[1]?Number(e[1]):1;i>l&&(i=1);let o=a[i-1],n="",s="";o+="
",o+=`
`,i-1==0&&(o+=`
${n}
`);for(let e=1;e<=l;e+=1)e===i?o+=`
`:e===i-1?o+=`${n}`:e===i+1?o+=`${s}`:e>=i-3&&e<=i+3||1===e||e===l?o+=``:(e===i-4||e===i+4)&&(o+="
");i+1>l&&(o+=`
${s}
`),o+="
",t.innerHTML=o,r(t,"splitted")}}}setTimeout(R,20)})})(PU,window,document); /*--[ Custom JS SingleItem (placed above ) ]--*/ /*]]>*//**/ /*{let{B64:l,eReg:n,iAE:a,qSel:o,qSell:$,gId:s,cEl:i,aCl:r,aEL:c,gAb:h,sAb:d,mc:p,pl:u}=e,v=a,f=_.location,g="beforebegin",C="afterend",m="sl_step",b="sl_url",S="sl_end",k={set(e,_,l=10){let n=new Date(Date.now()+6e4*l).toUTCString();t.cookie=`${e}=${_}; expires=${n}; path=/`},get(e){let _=t.cookie.match(RegExp(`(?:^|; )${e}=([^;]*)`));return _?_[1]:null},clear(e){t.cookie=`${e}=; Max-Age=0; path=/`}},L=()=>{k.clear(m),k.clear(b),k.clear(S)};if(u.sl.an&&0!==e.length){let M=$(".safeL");for(let w of M){let y=h(w,"href")||h(w,"data-href")||h(w,"data-link");if(y){let V,T={v:1,u:y};try{let B=JSON.stringify(T);try{V=`${_.location.origin}/#s=${e.B64.O3.e(B)}`}catch(H){console.warn("Safelink: Base64 Encoding Failed:",H)}}catch(z){console.warn("Safelink: JSON Stringify Failed:",z)}V&&("A"===w.nodeName?(d(w,"href",V),d(w,"rel","nofollow noreferrer noopener"),u.sl.aNt&&d(w,"target","_blank")):c(w,"click",e=>{e.preventDefault(),u.sl.aNt?_.open(V,"_blank"):f.href=V}))}}}let N=(e=["url","s","u","o"])=>{let _=RegExp(`[?#](${e.map(e=>n(e)).join("|")})=(.*)`),t=f.search.match(_)||f.hash.match(_);if(!t||!t[1])return null;let a=t[2]?decodeURIComponent(t[2].trim()):null;if(!a)return null;try{let o=l.O3.d(a),$={};try{$=JSON.parse(o)}catch(s){}return{valid:!0,value:o,data:$}}catch(i){return null}},x=(e,_,t="s")=>`${e.split(/[?#]/)[0]}`,E=(e=!0,_=!0)=>{let t="sl_top_section",l="sl_bottom_section",n=s(t),a=s(l),$=[n,a];if(!n||!a){let[r,c]=(()=>{let e=o("#Blog01 .post .pInr");if(e)return[[e,g],[e,C]];let _=s("sec_Horizontal-Ad")||s("Blog01"),t=s("sec_Bottom_Widgets")||o("footer.mainF");return[_?[_,g]:null,t?[t,C]:null]})();!n&&r&&(c||adSection)&&($[0]=i("div",{id:t}),e&&v(r[0],r[1],$[0])),!a&&c&&(r||n)&&($[1]=i("div",{id:l}),_&&v(c[0],c[1],$[1]))}return $},A=e=>{let l="/"===f.pathname||f.pathname.match(/^\/(?:index\.html?|index\.htm)?$/i),n=!!N(),a=N()?.data?.u||k.get(b)||null,$=parseInt(k.get(m))||(l&&n?0:1),s=parseInt(u?.sl?.toSteps||3,10),h=parseInt(u?.sl?.cdS||15,10),v=u?.sl?.sCon||[];if($>s&&(L(),$=1),l){if(n||a){if(!n&&a){L();return}n&&($=0)}else{L();return}}else if(!a)return;let[g,C]=E();if(!a||!g||!C||0===e.length)return;if(!l&&(!a||k.get(b)!==a)){L();return}k.set(m,$),k.set(b,a);let S=()=>e[Math.floor(Math.random()*e.length)],M=()=>{let e=i("div",{className:"slRv",innerHTML:`
`}),l=o("button",e);(g||t.body).appendChild(e),u.sl.autoscroll&&e.scrollIntoView({behavior:"smooth",block:"center"});let n=()=>{r(e,"v"),l.disabled=!0,setTimeout(()=>{e.remove(),$=1,k.set(m,$);let t=S(),l=x(t,{v:1,u:a});_.location.href=l},2e3)};c(l,"click",n)},w=()=>{let e=parseInt(v[$-1]?.duration||h,10),l=$===s,n=l?p.goToLink||"Go to Link":p.continue||"Continue",r=i("div",{className:"slCd"}),f=(p.pleaseWaitNSeconds||"Please wait {seconds} Seconds... (Step {B} of {TOTAL_STEPS})").replace("{seconds}",e).replace("{B}",$).replace("{TOTAL_STEPS}",s),b=i("div",{innerText:f});if(r.appendChild(b),r.style.setProperty("--total",`${e}s`),(g||t.body).appendChild(r),u.sl.autoscroll&&setTimeout(()=>{r.scrollIntoView({behavior:"smooth",block:"center"})},50),r.__safelink_timer_started)return;r.__safelink_timer_started=!0;let M=()=>{b.innerText=p.generatingLink||"Generating link...",setTimeout(()=>{try{r.remove()}catch(e){}let h=i("div",{className:"slSd",innerHTML:`${p.safelinkScrollDownMessage.replace("{button_text}",n)} `}),v=o("button",h);(g||t.body).appendChild(h),u.sl.autoscroll&&h.scrollIntoView({behavior:"smooth",block:"center"}),c(v,"click",()=>{try{h.querySelector("button").remove()}catch(e){}let o=i("div",{className:"slGl"}),r=t.createElement("a");r.className="button",r.rel="nofollow noreferrer noopener";let p=l?a:x(S(),{v:1,u:a});r.href=p,r.innerHTML=`${n} `,u&&u.sl&&u.sl.aNt&&d(r,"target","_blank"),o.appendChild(r);let v=i("span",{className:"NextInfo",innerText:`Step ${$} of ${s}`});o.appendChild(v),(C||t.body).appendChild(o),u.sl.autoscroll&&r.scrollIntoView({behavior:"smooth",block:"center"}),c(r,"click",e=>{e.preventDefault(),l?(L(),_.location.href=p):($++,k.set(m,$),_.location.href=p)})})},1e3)},w=e,y=null,V=()=>{let e=(p.pleaseWaitNSeconds||"Please wait {seconds} Seconds... (Step {B} of {TOTAL_STEPS})").replace("{seconds}",w).replace("{B}",$).replace("{TOTAL_STEPS}",s);b.innerText=e},T=()=>{w--,V(),w<=0&&(H(),t.removeEventListener("visibilitychange",z),M())},B=()=>{y||(y=setInterval(T,1e3))},H=()=>{clearInterval(y),y=null},z=()=>{t.hidden?H():B()},N=()=>{V(),t.addEventListener("visibilitychange",z),t.hidden||B()};"complete"===t.readyState?N():c(_.addEventListener?_:"load","load",N)};if(l)0===$&&M();else if($>=1&&$<=s)w();else{L();let y=x(_.location.origin+"/",{v:1,u:a});_.location.href=y}},F=e=>{var _,l;return l=e.replace(/(^\w+:|^)/,""),new URL(l,t.baseURI)},I=(u.sl.pg||[]).map(_=>new URL(_,e.bg.cnHmU).href);e.iBF?e.iBF().then(async _=>{let t=u.sl.pg.map(_=>new URL(_,e.bg.cnHmU).href),l=[];try{let n=new _(F(e.bg.cnHmU)),[a,o]=await Promise.all([n.posts.list(),n.pages.list()]);a&&a.length>0&&(l=l.concat(a.map(e=>e.url))),o&&o.length>0&&(l=l.concat(o.map(e=>e.url))),0===l.length&&(l=t)}catch($){console.warn("Safelink: Failed to fetch recent posts/pages, falling back to manual config.",$),l=t}A(l)}).catch(e=>{console.warn("Safelink: e.iBF() failed, falling back to manual config.",e),A(I)}):A(I)})(PU,window,document); /*]]>*/