CINXE.COM
Codevibrant - Complete Web Solution
<!doctype html><html lang="en-US"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="profile" href="https://gmpg.org/xfn/11"> <script defer src="https://www.googletagmanager.com/gtag/js?id=UA-137031318-1"></script> <script defer src="data:text/javascript;base64,d2luZG93LmRhdGFMYXllcj13aW5kb3cuZGF0YUxheWVyfHxbXTtmdW5jdGlvbiBndGFnKCl7ZGF0YUxheWVyLnB1c2goYXJndW1lbnRzKTt9Cmd0YWcoJ2pzJyxuZXcgRGF0ZSgpKTtndGFnKCdjb25maWcnLCdVQS0xMzcwMzEzMTgtMScpOw=="></script> <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /><style>img:is([sizes="auto" i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}</style><title>Codevibrant - Complete Web Solution</title><meta name="description" content="CodeVibrant is a web development company that offers the user to develop their dream website.We offer other services on various platform like WordPress." /><link rel="canonical" href="https://codevibrant.com/" /><meta property="og:locale" content="en_US" /><meta property="og:type" content="website" /><meta property="og:title" content="Codevibrant - Complete Web Solution" /><meta property="og:description" content="CodeVibrant is a web development company that offers the user to develop their dream website.We offer other services on various platform like WordPress." /><meta property="og:url" content="https://codevibrant.com/" /><meta property="og:site_name" content="CodeVibrant" /><meta property="article:publisher" content="https://www.facebook.com/codevibrant/" /><meta property="article:modified_time" content="2017-11-21T07:49:19+00:00" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:site" content="@code_vibrant" /> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://codevibrant.com/","url":"https://codevibrant.com/","name":"Codevibrant - Complete Web Solution","isPartOf":{"@id":"https://codevibrant.com/#website"},"about":{"@id":"https://codevibrant.com/#organization"},"datePublished":"2017-11-17T06:09:06+00:00","dateModified":"2017-11-21T07:49:19+00:00","description":"CodeVibrant is a web development company that offers the user to develop their dream website.We offer other services on various platform like WordPress.","breadcrumb":{"@id":"https://codevibrant.com/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://codevibrant.com/"]}]},{"@type":"BreadcrumbList","@id":"https://codevibrant.com/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home"}]},{"@type":"WebSite","@id":"https://codevibrant.com/#website","url":"https://codevibrant.com/","name":"CodeVibrant","description":"Complete Web Solution","publisher":{"@id":"https://codevibrant.com/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://codevibrant.com/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https://codevibrant.com/#organization","name":"Codevibrant","url":"https://codevibrant.com/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https://codevibrant.com/#/schema/logo/image/","url":"https://codevibrant.com/wp-content/uploads/2018/08/cv-color-logo-1.png","contentUrl":"https://codevibrant.com/wp-content/uploads/2018/08/cv-color-logo-1.png","width":273,"height":50,"caption":"Codevibrant"},"image":{"@id":"https://codevibrant.com/#/schema/logo/image/"},"sameAs":["https://www.facebook.com/codevibrant/","https://x.com/code_vibrant","https://www.instagram.com/codevibrant/"]}]}</script> <link rel='dns-prefetch' href='//cdnjs.cloudflare.com' /><link rel='dns-prefetch' href='//checkout.freemius.com' /><link rel='dns-prefetch' href='//stats.wp.com' /><link rel='dns-prefetch' href='//pro.fontawesome.com' /><link rel="alternate" type="application/rss+xml" title="CodeVibrant » Feed" href="https://codevibrant.com/feed/" /><link rel="alternate" type="application/rss+xml" title="CodeVibrant » Comments Feed" href="https://codevibrant.com/comments/feed/" /> <script defer src="data:text/javascript;base64,d2luZG93Ll93cGVtb2ppU2V0dGluZ3M9eyJiYXNlVXJsIjoiaHR0cHM6XC9cL3Mudy5vcmdcL2ltYWdlc1wvY29yZVwvZW1vamlcLzE1LjAuM1wvNzJ4NzJcLyIsImV4dCI6Ii5wbmciLCJzdmdVcmwiOiJodHRwczpcL1wvcy53Lm9yZ1wvaW1hZ2VzXC9jb3JlXC9lbW9qaVwvMTUuMC4zXC9zdmdcLyIsInN2Z0V4dCI6Ii5zdmciLCJzb3VyY2UiOnsiY29uY2F0ZW1vamkiOiJodHRwczpcL1wvY29kZXZpYnJhbnQuY29tXC93cC1pbmNsdWRlc1wvanNcL3dwLWVtb2ppLXJlbGVhc2UubWluLmpzP3Zlcj02LjcuMSJ9fTsKLyohIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCAqLwohZnVuY3Rpb24oaSxuKXt2YXIgbyxzLGU7ZnVuY3Rpb24gYyhlKXt0cnl7dmFyIHQ9e3N1cHBvcnRUZXN0czplLHRpbWVzdGFtcDoobmV3IERhdGUpLnZhbHVlT2YoKX07c2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShvLEpTT04uc3RyaW5naWZ5KHQpKX1jYXRjaChlKXt9fWZ1bmN0aW9uIHAoZSx0LG4pe2UuY2xlYXJSZWN0KDAsMCxlLmNhbnZhcy53aWR0aCxlLmNhbnZhcy5oZWlnaHQpLGUuZmlsbFRleHQodCwwLDApO3ZhciB0PW5ldyBVaW50MzJBcnJheShlLmdldEltYWdlRGF0YSgwLDAsZS5jYW52YXMud2lkdGgsZS5jYW52YXMuaGVpZ2h0KS5kYXRhKSxyPShlLmNsZWFyUmVjdCgwLDAsZS5jYW52YXMud2lkdGgsZS5jYW52YXMuaGVpZ2h0KSxlLmZpbGxUZXh0KG4sMCwwKSxuZXcgVWludDMyQXJyYXkoZS5nZXRJbWFnZURhdGEoMCwwLGUuY2FudmFzLndpZHRoLGUuY2FudmFzLmhlaWdodCkuZGF0YSkpO3JldHVybiB0LmV2ZXJ5KGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9PT1yW3RdfSl9ZnVuY3Rpb24gdShlLHQsbil7c3dpdGNoKHQpe2Nhc2UiZmxhZyI6cmV0dXJuIG4oZSwiXHVkODNjXHVkZmYzXHVmZTBmXHUyMDBkXHUyNmE3XHVmZTBmIiwiXHVkODNjXHVkZmYzXHVmZTBmXHUyMDBiXHUyNmE3XHVmZTBmIik/ITE6IW4oZSwiXHVkODNjXHVkZGZhXHVkODNjXHVkZGYzIiwiXHVkODNjXHVkZGZhXHUyMDBiXHVkODNjXHVkZGYzIikmJiFuKGUsIlx1ZDgzY1x1ZGZmNFx1ZGI0MFx1ZGM2N1x1ZGI0MFx1ZGM2Mlx1ZGI0MFx1ZGM2NVx1ZGI0MFx1ZGM2ZVx1ZGI0MFx1ZGM2N1x1ZGI0MFx1ZGM3ZiIsIlx1ZDgzY1x1ZGZmNFx1MjAwYlx1ZGI0MFx1ZGM2N1x1MjAwYlx1ZGI0MFx1ZGM2Mlx1MjAwYlx1ZGI0MFx1ZGM2NVx1MjAwYlx1ZGI0MFx1ZGM2ZVx1MjAwYlx1ZGI0MFx1ZGM2N1x1MjAwYlx1ZGI0MFx1ZGM3ZiIpO2Nhc2UiZW1vamkiOnJldHVybiFuKGUsIlx1ZDgzZFx1ZGMyNlx1MjAwZFx1MmIxYiIsIlx1ZDgzZFx1ZGMyNlx1MjAwYlx1MmIxYiIpfXJldHVybiExfWZ1bmN0aW9uIGYoZSx0LG4pe3ZhciByPSJ1bmRlZmluZWQiIT10eXBlb2YgV29ya2VyR2xvYmFsU2NvcGUmJnNlbGYgaW5zdGFuY2VvZiBXb3JrZXJHbG9iYWxTY29wZT9uZXcgT2Zmc2NyZWVuQ2FudmFzKDMwMCwxNTApOmkuY3JlYXRlRWxlbWVudCgiY2FudmFzIiksYT1yLmdldENvbnRleHQoIjJkIix7d2lsbFJlYWRGcmVxdWVudGx5OiEwfSksbz0oYS50ZXh0QmFzZWxpbmU9InRvcCIsYS5mb250PSI2MDAgMzJweCBBcmlhbCIse30pO3JldHVybiBlLmZvckVhY2goZnVuY3Rpb24oZSl7b1tlXT10KGEsZSxuKX0pLG99ZnVuY3Rpb24gdChlKXt2YXIgdD1pLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO3Quc3JjPWUsdC5kZWZlcj0hMCxpLmhlYWQuYXBwZW5kQ2hpbGQodCl9InVuZGVmaW5lZCIhPXR5cGVvZiBQcm9taXNlJiYobz0id3BFbW9qaVNldHRpbmdzU3VwcG9ydHMiLHM9WyJmbGFnIiwiZW1vamkiXSxuLnN1cHBvcnRzPXtldmVyeXRoaW5nOiEwLGV2ZXJ5dGhpbmdFeGNlcHRGbGFnOiEwfSxlPW5ldyBQcm9taXNlKGZ1bmN0aW9uKGUpe2kuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsZSx7b25jZTohMH0pfSksbmV3IFByb21pc2UoZnVuY3Rpb24odCl7dmFyIG49ZnVuY3Rpb24oKXt0cnl7dmFyIGU9SlNPTi5wYXJzZShzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKG8pKTtpZigib2JqZWN0Ij09dHlwZW9mIGUmJiJudW1iZXIiPT10eXBlb2YgZS50aW1lc3RhbXAmJihuZXcgRGF0ZSkudmFsdWVPZigpPGUudGltZXN0YW1wKzYwNDgwMCYmIm9iamVjdCI9PXR5cGVvZiBlLnN1cHBvcnRUZXN0cylyZXR1cm4gZS5zdXBwb3J0VGVzdHN9Y2F0Y2goZSl7fXJldHVybiBudWxsfSgpO2lmKCFuKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIFdvcmtlciYmInVuZGVmaW5lZCIhPXR5cGVvZiBPZmZzY3JlZW5DYW52YXMmJiJ1bmRlZmluZWQiIT10eXBlb2YgVVJMJiZVUkwuY3JlYXRlT2JqZWN0VVJMJiYidW5kZWZpbmVkIiE9dHlwZW9mIEJsb2IpdHJ5e3ZhciBlPSJwb3N0TWVzc2FnZSgiK2YudG9TdHJpbmcoKSsiKCIrW0pTT04uc3RyaW5naWZ5KHMpLHUudG9TdHJpbmcoKSxwLnRvU3RyaW5nKCldLmpvaW4oIiwiKSsiKSk7IixyPW5ldyBCbG9iKFtlXSx7dHlwZToidGV4dC9qYXZhc2NyaXB0In0pLGE9bmV3IFdvcmtlcihVUkwuY3JlYXRlT2JqZWN0VVJMKHIpLHtuYW1lOiJ3cFRlc3RFbW9qaVN1cHBvcnRzIn0pO3JldHVybiB2b2lkKGEub25tZXNzYWdlPWZ1bmN0aW9uKGUpe2Mobj1lLmRhdGEpLGEudGVybWluYXRlKCksdChuKX0pfWNhdGNoKGUpe31jKG49ZihzLHUscCkpfXQobil9KS50aGVuKGZ1bmN0aW9uKGUpe2Zvcih2YXIgdCBpbiBlKW4uc3VwcG9ydHNbdF09ZVt0XSxuLnN1cHBvcnRzLmV2ZXJ5dGhpbmc9bi5zdXBwb3J0cy5ldmVyeXRoaW5nJiZuLnN1cHBvcnRzW3RdLCJmbGFnIiE9PXQmJihuLnN1cHBvcnRzLmV2ZXJ5dGhpbmdFeGNlcHRGbGFnPW4uc3VwcG9ydHMuZXZlcnl0aGluZ0V4Y2VwdEZsYWcmJm4uc3VwcG9ydHNbdF0pO24uc3VwcG9ydHMuZXZlcnl0aGluZ0V4Y2VwdEZsYWc9bi5zdXBwb3J0cy5ldmVyeXRoaW5nRXhjZXB0RmxhZyYmIW4uc3VwcG9ydHMuZmxhZyxuLkRPTVJlYWR5PSExLG4ucmVhZHlDYWxsYmFjaz1mdW5jdGlvbigpe24uRE9NUmVhZHk9ITB9fSkudGhlbihmdW5jdGlvbigpe3JldHVybiBlfSkudGhlbihmdW5jdGlvbigpe3ZhciBlO24uc3VwcG9ydHMuZXZlcnl0aGluZ3x8KG4ucmVhZHlDYWxsYmFjaygpLChlPW4uc291cmNlfHx7fSkuY29uY2F0ZW1vamk/dChlLmNvbmNhdGVtb2ppKTplLndwZW1vamkmJmUudHdlbW9qaSYmKHQoZS50d2Vtb2ppKSx0KGUud3BlbW9qaSkpKX0pKX0oKHdpbmRvdyxkb2N1bWVudCksd2luZG93Ll93cGVtb2ppU2V0dGluZ3MpOw=="></script> <style id='wp-emoji-styles-inline-css' type='text/css'>img.wp-smiley,img.emoji{display:inline !important;border:none !important;box-shadow:none !important;height:1em !important;width:1em !important;margin:0 .07em !important;vertical-align:-.1em !important;background:0 0 !important;padding:0 !important}</style><link rel='stylesheet' id='wp-block-library-css' href='https://codevibrant.com/wp-includes/css/dist/block-library/style.min.css?ver=6.7.1' type='text/css' media='all' /><link rel='stylesheet' id='edd-blocks-css' href='https://codevibrant.com/wp-content/cache/autoptimize/css/autoptimize_single_f874163b22ce10b81621d777d104aa34.css?ver=3.3.5.1' type='text/css' media='all' /><style id='classic-theme-styles-inline-css' type='text/css'>/*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}</style><style id='global-styles-inline-css' type='text/css'>:root{--wp--preset--aspect-ratio--square:1;--wp--preset--aspect-ratio--4-3:4/3;--wp--preset--aspect-ratio--3-4:3/4;--wp--preset--aspect-ratio--3-2:3/2;--wp--preset--aspect-ratio--2-3:2/3;--wp--preset--aspect-ratio--16-9:16/9;--wp--preset--aspect-ratio--9-16:9/16;--wp--preset--color--black:#000;--wp--preset--color--cyan-bluish-gray:#abb8c3;--wp--preset--color--white:#fff;--wp--preset--color--pale-pink:#f78da7;--wp--preset--color--vivid-red:#cf2e2e;--wp--preset--color--luminous-vivid-orange:#ff6900;--wp--preset--color--luminous-vivid-amber:#fcb900;--wp--preset--color--light-green-cyan:#7bdcb5;--wp--preset--color--vivid-green-cyan:#00d084;--wp--preset--color--pale-cyan-blue:#8ed1fc;--wp--preset--color--vivid-cyan-blue:#0693e3;--wp--preset--color--vivid-purple:#9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple:linear-gradient(135deg,rgba(6,147,227,1) 0%,#9b51e0 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan:linear-gradient(135deg,#7adcb4 0%,#00d082 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange:linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red:linear-gradient(135deg,rgba(255,105,0,1) 0%,#cf2e2e 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray:linear-gradient(135deg,#eee 0%,#a9b8c3 100%);--wp--preset--gradient--cool-to-warm-spectrum:linear-gradient(135deg,#4aeadc 0%,#9778d1 20%,#cf2aba 40%,#ee2c82 60%,#fb6962 80%,#fef84c 100%);--wp--preset--gradient--blush-light-purple:linear-gradient(135deg,#ffceec 0%,#9896f0 100%);--wp--preset--gradient--blush-bordeaux:linear-gradient(135deg,#fecda5 0%,#fe2d2d 50%,#6b003e 100%);--wp--preset--gradient--luminous-dusk:linear-gradient(135deg,#ffcb70 0%,#c751c0 50%,#4158d0 100%);--wp--preset--gradient--pale-ocean:linear-gradient(135deg,#fff5cb 0%,#b6e3d4 50%,#33a7b5 100%);--wp--preset--gradient--electric-grass:linear-gradient(135deg,#caf880 0%,#71ce7e 100%);--wp--preset--gradient--midnight:linear-gradient(135deg,#020381 0%,#2874fc 100%);--wp--preset--font-size--small:13px;--wp--preset--font-size--medium:20px;--wp--preset--font-size--large:36px;--wp--preset--font-size--x-large:42px;--wp--preset--spacing--20:.44rem;--wp--preset--spacing--30:.67rem;--wp--preset--spacing--40:1rem;--wp--preset--spacing--50:1.5rem;--wp--preset--spacing--60:2.25rem;--wp--preset--spacing--70:3.38rem;--wp--preset--spacing--80:5.06rem;--wp--preset--shadow--natural:6px 6px 9px rgba(0,0,0,.2);--wp--preset--shadow--deep:12px 12px 50px rgba(0,0,0,.4);--wp--preset--shadow--sharp:6px 6px 0px rgba(0,0,0,.2);--wp--preset--shadow--outlined:6px 6px 0px -3px rgba(255,255,255,1),6px 6px rgba(0,0,0,1);--wp--preset--shadow--crisp:6px 6px 0px rgba(0,0,0,1)}:where(.is-layout-flex){gap:.5em}:where(.is-layout-grid){gap:.5em}body .is-layout-flex{display:flex}.is-layout-flex{flex-wrap:wrap;align-items:center}.is-layout-flex>:is(*,div){margin:0}body .is-layout-grid{display:grid}.is-layout-grid>:is(*,div){margin:0}:where(.wp-block-columns.is-layout-flex){gap:2em}:where(.wp-block-columns.is-layout-grid){gap:2em}:where(.wp-block-post-template.is-layout-flex){gap:1.25em}:where(.wp-block-post-template.is-layout-grid){gap:1.25em}.has-black-color{color:var(--wp--preset--color--black) !important}.has-cyan-bluish-gray-color{color:var(--wp--preset--color--cyan-bluish-gray) !important}.has-white-color{color:var(--wp--preset--color--white) !important}.has-pale-pink-color{color:var(--wp--preset--color--pale-pink) !important}.has-vivid-red-color{color:var(--wp--preset--color--vivid-red) !important}.has-luminous-vivid-orange-color{color:var(--wp--preset--color--luminous-vivid-orange) !important}.has-luminous-vivid-amber-color{color:var(--wp--preset--color--luminous-vivid-amber) !important}.has-light-green-cyan-color{color:var(--wp--preset--color--light-green-cyan) !important}.has-vivid-green-cyan-color{color:var(--wp--preset--color--vivid-green-cyan) !important}.has-pale-cyan-blue-color{color:var(--wp--preset--color--pale-cyan-blue) !important}.has-vivid-cyan-blue-color{color:var(--wp--preset--color--vivid-cyan-blue) !important}.has-vivid-purple-color{color:var(--wp--preset--color--vivid-purple) !important}.has-black-background-color{background-color:var(--wp--preset--color--black) !important}.has-cyan-bluish-gray-background-color{background-color:var(--wp--preset--color--cyan-bluish-gray) !important}.has-white-background-color{background-color:var(--wp--preset--color--white) !important}.has-pale-pink-background-color{background-color:var(--wp--preset--color--pale-pink) !important}.has-vivid-red-background-color{background-color:var(--wp--preset--color--vivid-red) !important}.has-luminous-vivid-orange-background-color{background-color:var(--wp--preset--color--luminous-vivid-orange) !important}.has-luminous-vivid-amber-background-color{background-color:var(--wp--preset--color--luminous-vivid-amber) !important}.has-light-green-cyan-background-color{background-color:var(--wp--preset--color--light-green-cyan) !important}.has-vivid-green-cyan-background-color{background-color:var(--wp--preset--color--vivid-green-cyan) !important}.has-pale-cyan-blue-background-color{background-color:var(--wp--preset--color--pale-cyan-blue) !important}.has-vivid-cyan-blue-background-color{background-color:var(--wp--preset--color--vivid-cyan-blue) !important}.has-vivid-purple-background-color{background-color:var(--wp--preset--color--vivid-purple) !important}.has-black-border-color{border-color:var(--wp--preset--color--black) !important}.has-cyan-bluish-gray-border-color{border-color:var(--wp--preset--color--cyan-bluish-gray) !important}.has-white-border-color{border-color:var(--wp--preset--color--white) !important}.has-pale-pink-border-color{border-color:var(--wp--preset--color--pale-pink) !important}.has-vivid-red-border-color{border-color:var(--wp--preset--color--vivid-red) !important}.has-luminous-vivid-orange-border-color{border-color:var(--wp--preset--color--luminous-vivid-orange) !important}.has-luminous-vivid-amber-border-color{border-color:var(--wp--preset--color--luminous-vivid-amber) !important}.has-light-green-cyan-border-color{border-color:var(--wp--preset--color--light-green-cyan) !important}.has-vivid-green-cyan-border-color{border-color:var(--wp--preset--color--vivid-green-cyan) !important}.has-pale-cyan-blue-border-color{border-color:var(--wp--preset--color--pale-cyan-blue) !important}.has-vivid-cyan-blue-border-color{border-color:var(--wp--preset--color--vivid-cyan-blue) !important}.has-vivid-purple-border-color{border-color:var(--wp--preset--color--vivid-purple) !important}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background:var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background:var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background:var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background:var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background:var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important}.has-cool-to-warm-spectrum-gradient-background{background:var(--wp--preset--gradient--cool-to-warm-spectrum) !important}.has-blush-light-purple-gradient-background{background:var(--wp--preset--gradient--blush-light-purple) !important}.has-blush-bordeaux-gradient-background{background:var(--wp--preset--gradient--blush-bordeaux) !important}.has-luminous-dusk-gradient-background{background:var(--wp--preset--gradient--luminous-dusk) !important}.has-pale-ocean-gradient-background{background:var(--wp--preset--gradient--pale-ocean) !important}.has-electric-grass-gradient-background{background:var(--wp--preset--gradient--electric-grass) !important}.has-midnight-gradient-background{background:var(--wp--preset--gradient--midnight) !important}.has-small-font-size{font-size:var(--wp--preset--font-size--small) !important}.has-medium-font-size{font-size:var(--wp--preset--font-size--medium) !important}.has-large-font-size{font-size:var(--wp--preset--font-size--large) !important}.has-x-large-font-size{font-size:var(--wp--preset--font-size--x-large) !important}:where(.wp-block-post-template.is-layout-flex){gap:1.25em}:where(.wp-block-post-template.is-layout-grid){gap:1.25em}:where(.wp-block-columns.is-layout-flex){gap:2em}:where(.wp-block-columns.is-layout-grid){gap:2em}:root :where(.wp-block-pullquote){font-size:1.5em;line-height:1.6}</style><link rel='stylesheet' id='bbp_private_replies_style-css' href='https://codevibrant.com/wp-content/cache/autoptimize/css/autoptimize_single_2f6f4328da7dbc4bf67af94356ace618.css?ver=6.7.1' type='text/css' media='all' /><link rel='stylesheet' id='bbp-default-css' href='https://codevibrant.com/wp-content/plugins/bbpress/templates/default/css/bbpress.min.css?ver=2.6.11' type='text/css' media='all' /><link rel='stylesheet' id='ibx-wpfomo-style-css' href='https://codevibrant.com/wp-content/cache/autoptimize/css/autoptimize_single_58c77af0b45f4a95b8e546bcd8d689e5.css?ver=2.2.6' type='text/css' media='all' /><link rel='stylesheet' id='edd-styles-css' href='https://codevibrant.com/wp-content/plugins/easy-digital-downloads/assets/css/edd.min.css?ver=3.3.5.1' type='text/css' media='all' /><link rel='stylesheet' id='dashicons-css' href='https://codevibrant.com/wp-includes/css/dashicons.min.css?ver=6.7.1' type='text/css' media='all' /><link rel='stylesheet' id='code-vibrant-font-awesome-css' href='https://codevibrant.com/wp-content/themes/code-vibrant/assets/library/font-awesome/css/font-awesome.min.css?ver=4.7.0' type='text/css' media='all' /><link rel='stylesheet' id='font-awesome-new-css' href='https://pro.fontawesome.com/releases/v5.13.0/css/all.css?ver=5.13.0' type='text/css' media='all' /><link rel='stylesheet' id='code-vibrant-sequence-style-css' href='https://codevibrant.com/wp-content/cache/autoptimize/css/autoptimize_single_acca3443c23c15922deb35b2fe9e9f19.css?ver=1.0.0' type='text/css' media='all' /><link rel='stylesheet' id='lightslider-style-css' href='https://codevibrant.com/wp-content/themes/code-vibrant/assets/library/lightslider/css/lightslider.min.css?ver=1.1.6' type='text/css' media='all' /><link rel='stylesheet' id='codevibrant-animate-css' href='https://codevibrant.com/wp-content/themes/code-vibrant/assets/library/animate/animate.min.css?ver=3.5.1' type='text/css' media='all' /><link rel='stylesheet' id='code-vibrant-style-css' href='https://codevibrant.com/wp-content/cache/autoptimize/css/autoptimize_single_2441623baa02cc9bd2ab7f5d41acc723.css?ver=1.0.0' type='text/css' media='all' /><link rel='stylesheet' id='code-vibrant-new-style-css' href='https://codevibrant.com/wp-content/cache/autoptimize/css/autoptimize_single_05ffce03a3dd4ac6a192ef1783d8cba2.css?ver=1.0.0' type='text/css' media='all' /> <script defer type="text/javascript" src="https://codevibrant.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script> <script defer type="text/javascript" src="https://codevibrant.com/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script> <script defer type="text/javascript" src="https://codevibrant.com/wp-content/cache/autoptimize/js/autoptimize_single_0f1f6cd6e0036897019b376d38593403.js?ver=6.7.1" id="jquery-cookie-script-js"></script> <link rel="https://api.w.org/" href="https://codevibrant.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://codevibrant.com/wp-json/wp/v2/pages/4" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://codevibrant.com/xmlrpc.php?rsd" /><meta name="generator" content="WordPress 6.7.1" /><link rel='shortlink' href='https://codevibrant.com/' /><link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://codevibrant.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fcodevibrant.com%2F" /><link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://codevibrant.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fcodevibrant.com%2F&format=xml" /><style>img#wpstats{display:none}</style><meta name="generator" content="Easy Digital Downloads v3.3.5.1" /> <style type="text/css">.site-title,.site-description{position:absolute;clip:rect(1px,1px,1px,1px)}</style><link rel="icon" href="https://codevibrant.com/wp-content/uploads/2017/11/cropped-fav-32x32.png" sizes="32x32" /><link rel="icon" href="https://codevibrant.com/wp-content/uploads/2017/11/cropped-fav-192x192.png" sizes="192x192" /><link rel="apple-touch-icon" href="https://codevibrant.com/wp-content/uploads/2017/11/cropped-fav-180x180.png" /><meta name="msapplication-TileImage" content="https://codevibrant.com/wp-content/uploads/2017/11/cropped-fav-270x270.png" /><style type="text/css" id="wp-custom-css">.single.bbpress #primary{width:100%}#bbpress-forums{float:left;width:70%}#bbpress-forums div.bbp-forum-author,#bbpress-forums div.bbp-topic-author,#bbpress-forums div.bbp-reply-author{float:left;text-align:center;width:170px}.bbp-meta{padding:5px 0 15px}.bbp-reply-content p{line-height:1.8}.single.bbpress .entry-content{margin:50px 0}#media_image-2{margin-top:30px !important}.cv-column-3{margin-bottom:3%}.cv-themes.cv-section.clearfix{padding-bottom:0}.woocommerce-MyAccount-navigation-link.woocommerce-MyAccount-navigation-link--downloads{display:none}.feature-icon-box .fa{vertical-align:top}.feature-icon-box{color:#ff592b;font-size:54px;float:left;width:15%}.grecaptcha-badge,.nx-branding{display:none !important}.offer-banner{display:none}.nx-bar-content p{font-size:18px !important}.has-plugin-product .cv-pricing-features{display:none}.has-plugin-product .faq-support-block-wrapper{margin-top:100px}.has-plugin-product .cv-tab-content-wrapper.cv-flex{justify-content:center}.edd-add-to-cart.edd-no-js.button.blue.edd-submit{display:none !important}.cv-pricing-tab-wrapper .cv-tab-content .edd_purchase_submit_wrapper .edd-submit.button.blue{height:42px;padding:0 50px 0 20px;line-height:42px}.product--plugin .cv-tab-content-wrapper.cv-flex{justify-content:center}.cv-ticker-wrapper{display:none !important}.home .cv-header-wrapper{padding-top:0}#fs_dashboard_container{min-height:650px}.cv-header .my-account .login-btn{font-weight:600}@media screen and (min-width:1200px){#site-navigation .cv-menu .menu-item{display:inline-block;padding-left:25px}}</style></head><body data-rsssl=1 class="home page-template page-template-templates page-template-cv-template-home page-template-templatescv-template-home-php page page-id-4 wp-custom-logo edd-js-none"><div id="page" class="site"> <a class="skip-link screen-reader-text" href="#content">Skip to content</a><div class="cv-ticker-wrapper clearfix"><div class="cv-container"> <a href="https://codevibrant.com/wp-themes/"><span class="cv-ticker-desc">Get 10% Off On All Our Premium WordPress Themes & Plugins. Use <strong>cv10</strong> Coupon Code For Discount</span></a></div></div><header id="masthead" class="site-header cv-header"><div class="cv-header-wrapper clearfix"><div class="cv-container"><div class="cv-logo-menu-wrapper cv-flex"><div class="site-branding"> <a href="https://codevibrant.com/" class="custom-logo-link" rel="home" aria-current="page"><img width="273" height="50" src="https://codevibrant.com/wp-content/uploads/2018/08/cv-color-logo-1.png" class="custom-logo" alt="CodeVibrant" decoding="async" /></a><p class="site-title"><a href="https://codevibrant.com/" rel="home">CodeVibrant</a></p><p class="site-description">Complete Web Solution</p></div><div class="cv-primary-menu-wrapper menu-wrapper"><nav id="site-navigation" class="main-navigation"> <button class="menu-toggle hide" aria-controls="primary-menu" aria-expanded="false">Primary Menu</button><div class="menu-primary-menu-container"><ul id="primary-menu" class="cv-menu"><li id="menu-item-290" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-290"><a href="https://codevibrant.com/wp-themes/">Themes</a></li><li id="menu-item-5463" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-5463"><a href="https://codevibrant.com/pricing/">Plan & Pricing</a></li><li id="menu-item-342" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-342"><a href="https://codevibrant.com/support/">Support</a></li><li id="menu-item-14" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-14"><a href="https://codevibrant.com/blog/">Blog</a></li><li id="menu-item-2918" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-2918"><a target="_blank" href="https://wpallresources.com/">Resources</a></li></ul></div></nav><div class="my-account-btn my-account"> <a href="https://codevibrant.com/account/" class="menu-btn login-btn">Account</a></div></div></div></div></div></header><div id="content" class="site-content"><section class="cv-banner-section"><div class="cv-banner-svg"> <svg id="e1uyo3geug4f1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 2000 700" shape-rendering="geometricPrecision" text-rendering="geometricPrecision"><defs><linearGradient id="e1uyo3geug4f2-fill" x1="949.376700" y1="218.006300" x2="2075.531300" y2="218.006300" spreadMethod="pad" gradientUnits="userSpaceOnUse"><stop id="e1uyo3geug4f2-fill-0" offset="0%" stop-color="rgb(212,51,93)"/><stop id="e1uyo3geug4f2-fill-1" offset="100%" stop-color="rgb(255,86,39)"/></linearGradient></defs><path id="e1uyo3geug4f2" d="M2049.500000,377.500000C2021.500000,485.500000,1893.300000,615.200000,1749.500000,616.500000C1617.300000,617.700000,1443,530,1406,377C1377.800000,260.500000,1176.500000,338.500000,1053,254C848.700000,114.200000,1009.500000,-152.500000,1009.500000,-152.500000L2075.500000,-180.500000C2075.500000,-180.500000,2077.500000,269.500000,2049.500000,377.500000Z" fill="url(#e1uyo3geug4f2-fill)" stroke="none" stroke-width="1"/><g id="e1uyo3geug4f3" opacity="0.3"><path id="e1uyo3geug4f4" d="M290.400000,162.800000L249.900000,122.300000C248.100000,120.500000,245.300000,120.500000,243.500000,122.300000L241.400000,124.400000C239.600000,126.200000,239.600000,129,241.400000,130.800000L281.900000,171.300000C283.700000,173.100000,286.500000,173.100000,288.300000,171.300000L290.400000,169.200000C292.100000,167.500000,292.100000,164.600000,290.400000,162.800000Z" fill="rgb(1,198,175)" stroke="none" stroke-width="1"/><path id="e1uyo3geug4f5" d="M281.800000,122.300000L241.300000,162.800000C239.500000,164.600000,239.500000,167.400000,241.300000,169.200000L243.400000,171.300000C245.200000,173.100000,248,173.100000,249.800000,171.300000L290.300000,130.800000C292.100000,129,292.100000,126.200000,290.300000,124.400000L288.200000,122.300000C286.500000,120.600000,283.600000,120.600000,281.800000,122.300000Z" fill="rgb(1,198,175)" stroke="none" stroke-width="1"/></g><g id="e1uyo3geug4f6" opacity="0.3"><path id="e1uyo3geug4f7" d="M369.400000,622.800000L328.900000,582.300000C327.100000,580.500000,324.300000,580.500000,322.500000,582.300000L320.400000,584.400000C318.600000,586.200000,318.600000,589,320.400000,590.800000L360.900000,631.300000C362.700000,633.100000,365.500000,633.100000,367.300000,631.300000L369.400000,629.200000C371.100000,627.500000,371.100000,624.600000,369.400000,622.800000Z" fill="rgb(81,155,244)" stroke="none" stroke-width="1"/><path id="e1uyo3geug4f8" d="M360.800000,582.300000L320.300000,622.800000C318.500000,624.600000,318.500000,627.400000,320.300000,629.200000L322.400000,631.300000C324.200000,633.100000,327,633.100000,328.800000,631.300000L369.300000,590.800000C371.100000,589,371.100000,586.200000,369.300000,584.400000L367.200000,582.300000C365.500000,580.600000,362.600000,580.600000,360.800000,582.300000Z" fill="rgb(81,155,244)" stroke="none" stroke-width="1"/></g><circle id="e1uyo3geug4f9" r="24.629981" transform="matrix(1 0 0 1 201.51942796999984 374.62998100000004)" fill="none" stroke="rgb(255,238,164)" stroke-width="10" stroke-miterlimit="10"/><rect id="e1uyo3geug4f10" width="32" height="32" rx="0" ry="0" transform="matrix(0.93970000000000 -0.34200000000000 0.34200000000000 0.93970000000000 -69.71067000000028 10.94399999999990)" opacity="0.4" fill="none" stroke="rgb(234,17,59)" stroke-width="10" stroke-miterlimit="10"/><script defer src="data:text/javascript;base64,PCFbQ0RBVEFbIWZ1bmN0aW9uKHQsbil7Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiYidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZT9tb2R1bGUuZXhwb3J0cz1uKCk6ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUobik6KHQ9dHx8c2VsZikuX19TVkdBVE9SX1BMQVlFUl9fPW4oKX0odGhpcywoZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gdChuKXtyZXR1cm4odD0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYic3ltYm9sIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbih0KXtyZXR1cm4gdHlwZW9mIHR9OmZ1bmN0aW9uKHQpe3JldHVybiB0JiYiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZ0LmNvbnN0cnVjdG9yPT09U3ltYm9sJiZ0IT09U3ltYm9sLnByb3RvdHlwZT8ic3ltYm9sIjp0eXBlb2YgdH0pKG4pfWZ1bmN0aW9uIG4odCxuKXtpZighKHQgaW5zdGFuY2VvZiBuKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24iKX1mdW5jdGlvbiByKHQsbil7Zm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspe3ZhciBlPW5bcl07ZS5lbnVtZXJhYmxlPWUuZW51bWVyYWJsZXx8ITEsZS5jb25maWd1cmFibGU9ITAsInZhbHVlImluIGUmJihlLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLmtleSxlKX19ZnVuY3Rpb24gZSh0LG4sZSl7cmV0dXJuIG4mJnIodC5wcm90b3R5cGUsbiksZSYmcih0LGUpLHR9ZnVuY3Rpb24gaSh0KXtyZXR1cm4oaT1PYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LmdldFByb3RvdHlwZU9mOmZ1bmN0aW9uKHQpe3JldHVybiB0Ll9fcHJvdG9fX3x8T2JqZWN0LmdldFByb3RvdHlwZU9mKHQpfSkodCl9ZnVuY3Rpb24gbyh0LG4pe3JldHVybihvPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8ZnVuY3Rpb24odCxuKXtyZXR1cm4gdC5fX3Byb3RvX189bix0fSkodCxuKX1mdW5jdGlvbiB1KHQsbil7cmV0dXJuIW58fCJvYmplY3QiIT10eXBlb2YgbiYmImZ1bmN0aW9uIiE9dHlwZW9mIG4/ZnVuY3Rpb24odCl7aWYodm9pZCAwPT09dCl0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZCIpO3JldHVybiB0fSh0KTpufWZ1bmN0aW9uIGEodCl7dmFyIG49ZnVuY3Rpb24oKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIFJlZmxlY3R8fCFSZWZsZWN0LmNvbnN0cnVjdClyZXR1cm4hMTtpZihSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKXJldHVybiExO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBQcm94eSlyZXR1cm4hMDt0cnl7cmV0dXJuIERhdGUucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoUmVmbGVjdC5jb25zdHJ1Y3QoRGF0ZSxbXSwoZnVuY3Rpb24oKXt9KSkpLCEwfWNhdGNoKHQpe3JldHVybiExfX0oKTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgcixlPWkodCk7aWYobil7dmFyIG89aSh0aGlzKS5jb25zdHJ1Y3RvcjtyPVJlZmxlY3QuY29uc3RydWN0KGUsYXJndW1lbnRzLG8pfWVsc2Ugcj1lLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm4gdSh0aGlzLHIpfX1mdW5jdGlvbiBsKHQsbixyKXtyZXR1cm4obD0idW5kZWZpbmVkIiE9dHlwZW9mIFJlZmxlY3QmJlJlZmxlY3QuZ2V0P1JlZmxlY3QuZ2V0OmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1mdW5jdGlvbih0LG4pe2Zvcig7IU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LG4pJiZudWxsIT09KHQ9aSh0KSk7KTtyZXR1cm4gdH0odCxuKTtpZihlKXt2YXIgbz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsbik7cmV0dXJuIG8uZ2V0P28uZ2V0LmNhbGwocik6by52YWx1ZX19KSh0LG4scnx8dCl9dmFyIGY9TWF0aC5hYnM7ZnVuY3Rpb24gcyh0KXtyZXR1cm4gdH1mdW5jdGlvbiBjKHQsbixyKXt2YXIgZT0xLXI7cmV0dXJuIDMqciplKih0KmUrbipyKStyKnIqcn1mdW5jdGlvbiBoKCl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOjAsbj1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06MCxyPWFyZ3VtZW50cy5sZW5ndGg+MiYmdm9pZCAwIT09YXJndW1lbnRzWzJdP2FyZ3VtZW50c1syXToxLGU9YXJndW1lbnRzLmxlbmd0aD4zJiZ2b2lkIDAhPT1hcmd1bWVudHNbM10/YXJndW1lbnRzWzNdOjE7cmV0dXJuIHQ8MHx8dD4xfHxyPDB8fHI+MT9udWxsOmYodC1uKTw9MWUtNSYmZihyLWUpPD0xZS01P3M6ZnVuY3Rpb24oaSl7aWYoaTw9MClyZXR1cm4gdD4wP2kqbi90OjA9PT1uJiZyPjA/aSplL3I6MDtpZihpPj0xKXJldHVybiByPDE/MSsoaS0xKSooZS0xKS8oci0xKToxPT09ciYmdDwxPzErKGktMSkqKG4tMSkvKHQtMSk6MTtmb3IodmFyIG8sdT0wLGE9MTt1PGE7KXt2YXIgbD1jKHQscixvPSh1K2EpLzIpO2lmKGYoaS1sKTwxZS01KWJyZWFrO2w8aT91PW86YT1vfXJldHVybiBjKG4sZSxvKX19ZnVuY3Rpb24gdigpe3JldHVybiAxfWZ1bmN0aW9uIHkodCl7cmV0dXJuIDE9PT10PzE6MH1mdW5jdGlvbiBkKCl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOjEsbj1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06MDtpZigxPT09dCl7aWYoMD09PW4pcmV0dXJuIHk7aWYoMT09PW4pcmV0dXJuIHZ9dmFyIHI9MS90O3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gdD49MT8xOih0Kz1uKnIpLXQlcn19ZnVuY3Rpb24gZyh0KXt2YXIgbj1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06MjtpZihOdW1iZXIuaXNJbnRlZ2VyKHQpKXJldHVybiB0O3ZhciByPU1hdGgucG93KDEwLG4pO3JldHVybiBNYXRoLnJvdW5kKHQqcikvcn12YXIgcD1NYXRoLlBJLzE4MDtmdW5jdGlvbiBtKHQsbixyKXtyZXR1cm4gdD49LjU/cjpufWZ1bmN0aW9uIGIodCxuLHIpe3JldHVybiAwPT09dHx8bj09PXI/bjp0KihyLW4pK259ZnVuY3Rpb24gdyh0LG4scil7dmFyIGU9Yih0LG4scik7cmV0dXJuIGU8PTA/MDplfWZ1bmN0aW9uIGsodCxuLHIpe3JldHVybiAwPT09dD9uOjE9PT10P3I6e3g6Yih0LG4ueCxyLngpLHk6Yih0LG4ueSxyLnkpfX1mdW5jdGlvbiB4KHQsbixyKXt2YXIgZT1mdW5jdGlvbih0LG4scil7cmV0dXJuIE1hdGgucm91bmQoYih0LG4scikpfSh0LG4scik7cmV0dXJuIGU8PTA/MDplPj0yNTU/MjU1OmV9ZnVuY3Rpb24gQSh0LG4scil7cmV0dXJuIDA9PT10P246MT09PXQ/cjp7cjp4KHQsbi5yLHIuciksZzp4KHQsbi5nLHIuZyksYjp4KHQsbi5iLHIuYiksYTpiKHQsbnVsbD09bi5hPzE6bi5hLG51bGw9PXIuYT8xOnIuYSl9fWZ1bmN0aW9uIF8odCxuLHIpe2lmKDA9PT10KXJldHVybiBuO2lmKDE9PT10KXJldHVybiByO3ZhciBlPW4ubGVuZ3RoO2lmKGUhPT1yLmxlbmd0aClyZXR1cm4gbSh0LG4scik7Zm9yKHZhciBpPVtdLG89MDtvPGU7bysrKWkucHVzaChBKHQsbltvXSxyW29dKSk7cmV0dXJuIGl9ZnVuY3Rpb24gUyh0LG4pe2Zvcih2YXIgcj1bXSxlPTA7ZTx0O2UrKylyLnB1c2gobik7cmV0dXJuIHJ9ZnVuY3Rpb24gTyh0LG4pe2lmKC0tbjw9MClyZXR1cm4gdDt2YXIgcj0odD1PYmplY3QuYXNzaWduKFtdLHQpKS5sZW5ndGg7ZG97Zm9yKHZhciBlPTA7ZTxyO2UrKyl0LnB1c2godFtlXSl9d2hpbGUoLS1uPjApO3JldHVybiB0fXZhciBNLGo9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHIpe24odGhpcyx0KSx0aGlzLmxpc3Q9cix0aGlzLmxlbmd0aD1yLmxlbmd0aH1yZXR1cm4gZSh0LFt7a2V5OiJzZXRBdHRyaWJ1dGUiLHZhbHVlOmZ1bmN0aW9uKHQsbil7Zm9yKHZhciByPXRoaXMubGlzdCxlPTA7ZTx0aGlzLmxlbmd0aDtlKyspcltlXS5zZXRBdHRyaWJ1dGUodCxuKX19LHtrZXk6InJlbW92ZUF0dHJpYnV0ZSIsdmFsdWU6ZnVuY3Rpb24odCl7Zm9yKHZhciBuPXRoaXMubGlzdCxyPTA7cjx0aGlzLmxlbmd0aDtyKyspbltyXS5yZW1vdmVBdHRyaWJ1dGUodCl9fSx7a2V5OiJzdHlsZSIsdmFsdWU6ZnVuY3Rpb24odCxuKXtmb3IodmFyIHI9dGhpcy5saXN0LGU9MDtlPHRoaXMubGVuZ3RoO2UrKylyW2VdLnN0eWxlW3RdPW59fV0pLHR9KCksRj0vLS4vZyxQPWZ1bmN0aW9uKHQsbil7cmV0dXJuIG4udG9VcHBlckNhc2UoKX07ZnVuY3Rpb24gcSh0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdD90Om19ZnVuY3Rpb24gQih0KXtyZXR1cm4gdD8iZnVuY3Rpb24iPT10eXBlb2YgdD90OkFycmF5LmlzQXJyYXkodCk/ZnVuY3Rpb24odCl7dmFyIG49YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOnM7aWYoIUFycmF5LmlzQXJyYXkodCkpcmV0dXJuIG47c3dpdGNoKHQubGVuZ3RoKXtjYXNlIDE6cmV0dXJuIGQodFswXSl8fG47Y2FzZSAyOnJldHVybiBkKHRbMF0sdFsxXSl8fG47Y2FzZSA0OnJldHVybiBoKHRbMF0sdFsxXSx0WzJdLHRbM10pfHxufXJldHVybiBufSh0LG51bGwpOmZ1bmN0aW9uKHQsbil7dmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOnM7c3dpdGNoKHQpe2Nhc2UibGluZWFyIjpyZXR1cm4gcztjYXNlInN0ZXBzIjpyZXR1cm4gZChuLnN0ZXBzfHwxLG4uanVtcHx8MCl8fHI7Y2FzZSJiZXppZXIiOmNhc2UiY3ViaWMtYmV6aWVyIjpyZXR1cm4gaChuLngxfHwwLG4ueTF8fDAsbi54Mnx8MCxuLnkyfHwwKXx8cn1yZXR1cm4gcn0odC50eXBlLHQudmFsdWUsbnVsbCk6bnVsbH1mdW5jdGlvbiBJKHQsbixyKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjMmJnZvaWQgMCE9PWFyZ3VtZW50c1szXSYmYXJndW1lbnRzWzNdLGk9bi5sZW5ndGgtMTtpZih0PD1uWzBdLnQpcmV0dXJuIGU/WzAsMCxuWzBdLnZdOm5bMF0udjtpZih0Pj1uW2ldLnQpcmV0dXJuIGU/W2ksMSxuW2ldLnZdOm5baV0udjt2YXIgbyx1PW5bMF0sYT1udWxsO2ZvcihvPTE7bzw9aTtvKyspe2lmKCEodD5uW29dLnQpKXthPW5bb107YnJlYWt9dT1uW29dfXJldHVybiBudWxsPT1hP2U/W2ksMSxuW2ldLnZdOm5baV0udjp1LnQ9PT1hLnQ/ZT9bbywxLGEudl06YS52Oih0PSh0LXUudCkvKGEudC11LnQpLHUuZSYmKHQ9dS5lKHQpKSxlP1tvLHQscih0LHUudixhLnYpXTpyKHQsdS52LGEudikpfWZ1bmN0aW9uIFIodCxuKXt2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjImJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06bnVsbDtyZXR1cm4gdCYmdC5sZW5ndGg/ImZ1bmN0aW9uIiE9dHlwZW9mIG4/bnVsbDooImZ1bmN0aW9uIiE9dHlwZW9mIHImJihyPW51bGwpLGZ1bmN0aW9uKGUpe3ZhciBpPUkoZSx0LG4pO3JldHVybiBudWxsIT1pJiZyJiYoaT1yKGkpKSxpfSk6bnVsbH1mdW5jdGlvbiBFKHQsbil7cmV0dXJuIHQudC1uLnR9ZnVuY3Rpb24gVChuLHIsZSxpLG8pe3ZhciB1LGE9IkAiPT09ZVswXSxsPSIjIj09PWVbMF0sZj1NW2VdLHM9bTtzd2l0Y2goYT8odT1lLnN1YnN0cigxKSxlPXUucmVwbGFjZShGLFApKTpsJiYoZT1lLnN1YnN0cigxKSksdChmKSl7Y2FzZSJmdW5jdGlvbiI6aWYocz1mKGksbyxJLEIsZSxhLHIsbiksbClyZXR1cm4gczticmVhaztjYXNlInN0cmluZyI6cz1SKGkscShmKSk7YnJlYWs7Y2FzZSJvYmplY3QiOmlmKChzPVIoaSxxKGYuaSksZi5mKSkmJiJmdW5jdGlvbiI9PXR5cGVvZiBmLnUpcmV0dXJuIGYudShyLHMsZSxhLG4pfXJldHVybiBzP2Z1bmN0aW9uKHQsbixyKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjMmJnZvaWQgMCE9PWFyZ3VtZW50c1szXSYmYXJndW1lbnRzWzNdO2lmKGUpcmV0dXJuIHQgaW5zdGFuY2VvZiBqP2Z1bmN0aW9uKGUpe3JldHVybiB0LnN0eWxlKG4scihlKSl9OmZ1bmN0aW9uKGUpe3JldHVybiB0LnN0eWxlW25dPXIoZSl9O2lmKEFycmF5LmlzQXJyYXkobikpe3ZhciBpPW4ubGVuZ3RoO3JldHVybiBmdW5jdGlvbihlKXt2YXIgbz1yKGUpO2lmKG51bGw9PW8pZm9yKHZhciB1PTA7dTxpO3UrKyl0W3VdLnJlbW92ZUF0dHJpYnV0ZShuKTtlbHNlIGZvcih2YXIgYT0wO2E8aTthKyspdFthXS5zZXRBdHRyaWJ1dGUobixvKX19cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBpPXIoZSk7bnVsbD09aT90LnJlbW92ZUF0dHJpYnV0ZShuKTp0LnNldEF0dHJpYnV0ZShuLGkpfX0ocixlLHMsYSk6bnVsbH1mdW5jdGlvbiB6KG4scixlLGkpe2lmKCFpfHwib2JqZWN0IiE9PXQoaSkpcmV0dXJuIG51bGw7dmFyIG89bnVsbCx1PW51bGw7cmV0dXJuIEFycmF5LmlzQXJyYXkoaSk/dT1mdW5jdGlvbih0KXtpZighdHx8IXQubGVuZ3RoKXJldHVybiBudWxsO2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKXRbbl0uZSYmKHRbbl0uZT1CKHRbbl0uZSkpO3JldHVybiB0LnNvcnQoRSl9KGkpOih1PWkua2V5cyxvPWkuZGF0YXx8bnVsbCksdT9UKG4scixlLHUsbyk6bnVsbH1mdW5jdGlvbiBDKHQsbixyKXtpZighcilyZXR1cm4gbnVsbDt2YXIgZT1bXTtmb3IodmFyIGkgaW4gcilpZihyLmhhc093blByb3BlcnR5KGkpKXt2YXIgbz16KHQsbixpLHJbaV0pO28mJmUucHVzaChvKX1yZXR1cm4gZS5sZW5ndGg/ZTpudWxsfWZ1bmN0aW9uIEQodCxuKXtpZighbi5kdXJhdGlvbnx8bi5kdXJhdGlvbjwwKXJldHVybiBudWxsO3ZhciByPWZ1bmN0aW9uKHQsbil7aWYoIW4pcmV0dXJuIG51bGw7dmFyIHI9W107aWYoQXJyYXkuaXNBcnJheShuKSlmb3IodmFyIGU9bi5sZW5ndGgsaT0wO2k8ZTtpKyspe3ZhciBvPW5baV07aWYoMj09PW8ubGVuZ3RoKXt2YXIgdT1udWxsO2lmKCJzdHJpbmciPT10eXBlb2Ygb1swXSl1PXQuZ2V0RWxlbWVudEJ5SWQob1swXSk7ZWxzZSBpZihBcnJheS5pc0FycmF5KG9bMF0pKXt1PVtdO2Zvcih2YXIgYT0wO2E8b1swXS5sZW5ndGg7YSsrKWlmKCJzdHJpbmciPT10eXBlb2Ygb1swXVthXSl7dmFyIGw9dC5nZXRFbGVtZW50QnlJZChvWzBdW2FdKTtsJiZ1LnB1c2gobCl9dT11Lmxlbmd0aD8xPT09dS5sZW5ndGg/dVswXTpuZXcgaih1KTpudWxsfWlmKHUpe3ZhciBmPUModCx1LG9bMV0pO2YmJihyPXIuY29uY2F0KGYpKX19fWVsc2UgZm9yKHZhciBzIGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eShzKSl7dmFyIGM9dC5nZXRFbGVtZW50QnlJZChzKTtpZihjKXt2YXIgaD1DKHQsYyxuW3NdKTtoJiYocj1yLmNvbmNhdChoKSl9fXJldHVybiByLmxlbmd0aD9yOm51bGx9KHQsbi5lbGVtZW50cyk7cmV0dXJuIHI/ZnVuY3Rpb24odCxuKXt2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjImJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06MS8wLGU9YXJndW1lbnRzLmxlbmd0aD4zJiZ2b2lkIDAhPT1hcmd1bWVudHNbM10/YXJndW1lbnRzWzNdOjEsaT1hcmd1bWVudHMubGVuZ3RoPjQmJnZvaWQgMCE9PWFyZ3VtZW50c1s0XSYmYXJndW1lbnRzWzRdLG89YXJndW1lbnRzLmxlbmd0aD41JiZ2b2lkIDAhPT1hcmd1bWVudHNbNV0/YXJndW1lbnRzWzVdOjEsdT10Lmxlbmd0aCxhPWU+MD9uOjA7aSYmciUyPT0wJiYoYT1uLWEpO3ZhciBsPW51bGw7cmV0dXJuIGZ1bmN0aW9uKGYscyl7dmFyIGM9ZiVuLGg9MSsoZi1jKS9uO3MqPWUsaSYmaCUyPT0wJiYocz0tcyk7dmFyIHY9ITE7aWYoaD5yKWM9YSx2PSEwLC0xPT09byYmKGM9ZT4wPzA6bik7ZWxzZSBpZihzPDAmJihjPW4tYyksYz09PWwpcmV0dXJuITE7bD1jO2Zvcih2YXIgeT0wO3k8dTt5KyspdFt5XShjKTtyZXR1cm4gdn19KHIsbi5kdXJhdGlvbixuLml0ZXJhdGlvbnN8fDEvMCxuLmRpcmVjdGlvbnx8MSwhIW4uYWx0ZXJuYXRlLG4uZmlsbHx8MSk6bnVsbH1mdW5jdGlvbiBOKHQsbil7aWYoTT1uLCF0fHwhdC5yb290fHwhQXJyYXkuaXNBcnJheSh0LmFuaW1hdGlvbnMpKXJldHVybiBudWxsO2Zvcih2YXIgcj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic3ZnIiksZT0hMSxpPTA7aTxyLmxlbmd0aDtpKyspaWYocltpXS5pZD09PXQucm9vdCYmIXJbaV0uc3ZnYXRvckFuaW1hdGlvbil7KGU9cltpXSkuc3ZnYXRvckFuaW1hdGlvbj0hMDticmVha31pZighZSlyZXR1cm4gbnVsbDt2YXIgbz10LmFuaW1hdGlvbnMubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gRChlLHQpfSkpLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuISF0fSkpO3JldHVybiBvLmxlbmd0aD97ZWxlbWVudDplLGFuaW1hdGlvbnM6byxhbmltYXRpb25TZXR0aW5nczp0LmFuaW1hdGlvblNldHRpbmdzLG9wdGlvbnM6dC5vcHRpb25zfHx2b2lkIDB9Om51bGx9dmFyIEw9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHIsZSl7dmFyIGk9YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOnt9O24odGhpcyx0KSx0aGlzLl9pZD0wLHRoaXMuX3J1bm5pbmc9ITEsdGhpcy5fcm9sbGluZ0JhY2s9ITEsdGhpcy5fYW5pbWF0aW9ucz1yLHRoaXMuZHVyYXRpb249ZS5kdXJhdGlvbix0aGlzLmFsdGVybmF0ZT1lLmFsdGVybmF0ZSx0aGlzLmZpbGw9ZS5maWxsLHRoaXMuaXRlcmF0aW9ucz1lLml0ZXJhdGlvbnMsdGhpcy5kaXJlY3Rpb249aS5kaXJlY3Rpb258fDEsdGhpcy5zcGVlZD1pLnNwZWVkfHwxLHRoaXMuZnBzPWkuZnBzfHwxMDAsdGhpcy5vZmZzZXQ9aS5vZmZzZXR8fDAsdGhpcy5yb2xsYmFja1N0YXJ0T2Zmc2V0PTB9cmV0dXJuIGUodCxbe2tleToiX3JvbGxiYWNrIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PXRoaXMsbj0xLzAscj1udWxsO3RoaXMucm9sbGJhY2tTdGFydE9mZnNldD10aGlzLm9mZnNldCx0aGlzLl9yb2xsaW5nQmFja3x8KHRoaXMuX3JvbGxpbmdCYWNrPSEwLHRoaXMuX3J1bm5pbmc9ITApO3RoaXMuX2lkPXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKGZ1bmN0aW9uIGUoaSl7aWYodC5fcm9sbGluZ0JhY2spe251bGw9PXImJihyPWkpO3ZhciBvPWktcix1PXQucm9sbGJhY2tTdGFydE9mZnNldC1vLGE9TWF0aC5yb3VuZCh1KnQuc3BlZWQpO2lmKGE+dC5kdXJhdGlvbiYmbiE9MS8wKXt2YXIgbD0hIXQuYWx0ZXJuYXRlJiZhL3QuZHVyYXRpb24lMj4xLGY9YSV0LmR1cmF0aW9uO2E9KGYrPWw/dC5kdXJhdGlvbjowKXx8dC5kdXJhdGlvbn12YXIgcz10LmZwcz8xZTMvdC5mcHM6MCxjPU1hdGgubWF4KDAsYSk7aWYoYzxuLXMpe3Qub2Zmc2V0PWMsbj1jO2Zvcih2YXIgaD10Ll9hbmltYXRpb25zLHY9aC5sZW5ndGgseT0wO3k8djt5KyspaFt5XShjLHQuZGlyZWN0aW9uKX12YXIgZD0hMTtpZih0Lml0ZXJhdGlvbnM+MCYmLTE9PT10LmZpbGwpe3ZhciBnPXQuaXRlcmF0aW9ucyp0LmR1cmF0aW9uLHA9Zz09YTthPXA/MDphLHQub2Zmc2V0PXA/MDp0Lm9mZnNldCxkPWE+Z31hPjAmJnQub2Zmc2V0Pj1hJiYhZD90Ll9pZD13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGUpOnQuc3RvcCgpfX0pKX19LHtrZXk6Il9zdGFydCIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLG49YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOjAscj0tMS8wLGU9bnVsbCxpPXt9LG89ZnVuY3Rpb24gbyh1KXt0Ll9ydW5uaW5nPSEwLG51bGw9PWUmJihlPXUpO3ZhciBhPU1hdGgucm91bmQoKHUtZStuKSp0LnNwZWVkKSxsPXQuZnBzPzFlMy90LmZwczowO2lmKGE+citsJiYhdC5fcm9sbGluZ0JhY2spe3Qub2Zmc2V0PWEscj1hO2Zvcih2YXIgZj10Ll9hbmltYXRpb25zLHM9Zi5sZW5ndGgsYz0wLGg9MDtoPHM7aCsrKWlbaF0/YysrOihpW2hdPWZbaF0oYSx0LmRpcmVjdGlvbiksaVtoXSYmYysrKTtpZihjPT09cylyZXR1cm4gdm9pZCB0Ll9zdG9wKCl9dC5faWQ9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShvKX07dGhpcy5faWQ9d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShvKX19LHtrZXk6Il9zdG9wIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuX2lkJiZ3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5faWQpLHRoaXMuX3J1bm5pbmc9ITEsdGhpcy5fcm9sbGluZ0JhY2s9ITF9fSx7a2V5OiJwbGF5Iix2YWx1ZTpmdW5jdGlvbigpeyF0aGlzLl9yb2xsaW5nQmFjayYmdGhpcy5fcnVubmluZ3x8KHRoaXMuX3JvbGxpbmdCYWNrPSExLHRoaXMucm9sbGJhY2tTdGFydE9mZnNldD50aGlzLmR1cmF0aW9uJiYodGhpcy5vZmZzZXQ9dGhpcy5yb2xsYmFja1N0YXJ0T2Zmc2V0LSh0aGlzLnJvbGxiYWNrU3RhcnRPZmZzZXQtdGhpcy5vZmZzZXQpJXRoaXMuZHVyYXRpb24sdGhpcy5yb2xsYmFja1N0YXJ0T2Zmc2V0PTApLHRoaXMuX3N0YXJ0KHRoaXMub2Zmc2V0KSl9fSx7a2V5OiJzdG9wIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuX3N0b3AoKSx0aGlzLm9mZnNldD0wLHRoaXMucm9sbGJhY2tTdGFydE9mZnNldD0wO3ZhciB0PXRoaXMuZGlyZWN0aW9uLG49dGhpcy5fYW5pbWF0aW9uczt3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKChmdW5jdGlvbigpe2Zvcih2YXIgcj0wO3I8bi5sZW5ndGg7cisrKW5bcl0oMCx0KX0pKX19LHtrZXk6InJlYWNoZWRUb0VuZCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pdGVyYXRpb25zPjAmJnRoaXMub2Zmc2V0Pj10aGlzLml0ZXJhdGlvbnMqdGhpcy5kdXJhdGlvbn19LHtrZXk6InJlc3RhcnQiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5fc3RvcCgpLHRoaXMub2Zmc2V0PTAsdGhpcy5fc3RhcnQoKX19LHtrZXk6InBhdXNlIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuX3N0b3AoKX19LHtrZXk6InJldmVyc2UiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5kaXJlY3Rpb249LXRoaXMuZGlyZWN0aW9ufX1dLFt7a2V5OiJidWlsZCIsdmFsdWU6ZnVuY3Rpb24obixyKXtyZXR1cm4obj1OKG4scikpP3tlbDpuLmVsZW1lbnQsb3B0aW9uczpuLm9wdGlvbnN8fHt9LHBsYXllcjpuZXcgdChuLmFuaW1hdGlvbnMsbi5hbmltYXRpb25TZXR0aW5ncyxuLm9wdGlvbnMpfTpudWxsfX1dKSx0fSgpOyFmdW5jdGlvbigpe2Zvcih2YXIgdD0wLG49WyJtcyIsIm1veiIsIndlYmtpdCIsIm8iXSxyPTA7cjxuLmxlbmd0aCYmIXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU7KytyKXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU9d2luZG93W25bcl0rIlJlcXVlc3RBbmltYXRpb25GcmFtZSJdLHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZT13aW5kb3dbbltyXSsiQ2FuY2VsQW5pbWF0aW9uRnJhbWUiXXx8d2luZG93W25bcl0rIkNhbmNlbFJlcXVlc3RBbmltYXRpb25GcmFtZSJdO3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fCh3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lPWZ1bmN0aW9uKG4pe3ZhciByPURhdGUubm93KCksZT1NYXRoLm1heCgwLDE2LShyLXQpKSxpPXdpbmRvdy5zZXRUaW1lb3V0KChmdW5jdGlvbigpe24ocitlKX0pLGUpO3JldHVybiB0PXIrZSxpfSx3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWU9d2luZG93LmNsZWFyVGltZW91dCl9KCk7dmFyIFY9L1wuMCskL2c7ZnVuY3Rpb24gJCh0KXtyZXR1cm4gTnVtYmVyLmlzSW50ZWdlcih0KT90KyIiOnQudG9GaXhlZCg2KS5yZXBsYWNlKFYsIiIpfWZ1bmN0aW9uIEcodCl7dmFyIG49YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOiIgIjtyZXR1cm4gdCYmdC5sZW5ndGg/dC5tYXAoJCkuam9pbihuKToiIn1mdW5jdGlvbiBIKHQpe3JldHVybiB0P251bGw9PXQuYXx8dC5hPj0xPyJyZ2IoIit0LnIrIiwiK3QuZysiLCIrdC5iKyIpIjoicmdiYSgiK3QucisiLCIrdC5nKyIsIit0LmIrIiwiK3QuYSsiKSI6InRyYW5zcGFyZW50In12YXIgUT17ZjpudWxsLGk6ZnVuY3Rpb24odCxuLHIpe3JldHVybiAwPT09dD9uOjE9PT10P3I6e3g6dyh0LG4ueCxyLngpLHk6dyh0LG4ueSxyLnkpfX0sdTpmdW5jdGlvbih0LG4pe3JldHVybiBmdW5jdGlvbihyKXt2YXIgZT1uKHIpO3Quc2V0QXR0cmlidXRlKCJyeCIsJChlLngpKSx0LnNldEF0dHJpYnV0ZSgicnkiLCQoZS55KSl9fX0sVT17ZjpudWxsLGk6ZnVuY3Rpb24odCxuLHIpe3JldHVybiAwPT09dD9uOjE9PT10P3I6e3dpZHRoOncodCxuLndpZHRoLHIud2lkdGgpLGhlaWdodDp3KHQsbi5oZWlnaHQsci5oZWlnaHQpfX0sdTpmdW5jdGlvbih0LG4pe3JldHVybiBmdW5jdGlvbihyKXt2YXIgZT1uKHIpO3Quc2V0QXR0cmlidXRlKCJ3aWR0aCIsJChlLndpZHRoKSksdC5zZXRBdHRyaWJ1dGUoImhlaWdodCIsJChlLmhlaWdodCkpfX19LFk9TWF0aC5zaW4sWj1NYXRoLmNvcyxKPU1hdGguYWNvcyxLPU1hdGguYXNpbixXPU1hdGgudGFuLFg9TWF0aC5hdGFuMix0dD1NYXRoLlBJLzE4MCxudD0xODAvTWF0aC5QSSxydD1NYXRoLnNxcnQsZXQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7dmFyIHI9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOjEsZT1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06MCxpPWFyZ3VtZW50cy5sZW5ndGg+MiYmdm9pZCAwIT09YXJndW1lbnRzWzJdP2FyZ3VtZW50c1syXTowLG89YXJndW1lbnRzLmxlbmd0aD4zJiZ2b2lkIDAhPT1hcmd1bWVudHNbM10/YXJndW1lbnRzWzNdOjEsdT1hcmd1bWVudHMubGVuZ3RoPjQmJnZvaWQgMCE9PWFyZ3VtZW50c1s0XT9hcmd1bWVudHNbNF06MCxhPWFyZ3VtZW50cy5sZW5ndGg+NSYmdm9pZCAwIT09YXJndW1lbnRzWzVdP2FyZ3VtZW50c1s1XTowO24odGhpcyx0KSx0aGlzLm09W3IsZSxpLG8sdSxhXSx0aGlzLmk9bnVsbCx0aGlzLnc9bnVsbCx0aGlzLnM9bnVsbH1yZXR1cm4gZSh0LFt7a2V5OiJwb2ludCIsdmFsdWU6ZnVuY3Rpb24odCxuKXt2YXIgcj10aGlzLm07cmV0dXJue3g6clswXSp0K3JbMl0qbityWzRdLHk6clsxXSp0K3JbM10qbityWzVdfX19LHtrZXk6InRyYW5zbGF0ZVNlbGYiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOjAsbj1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06MDtpZighdCYmIW4pcmV0dXJuIHRoaXM7dmFyIHI9dGhpcy5tO3JldHVybiByWzRdKz1yWzBdKnQrclsyXSpuLHJbNV0rPXJbMV0qdCtyWzNdKm4sdGhpcy53PXRoaXMucz10aGlzLmk9bnVsbCx0aGlzfX0se2tleToicm90YXRlU2VsZiIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06MDtpZih0JT0zNjApe3ZhciBuPVkodCo9dHQpLHI9Wih0KSxlPXRoaXMubSxpPWVbMF0sbz1lWzFdO2VbMF09aSpyK2VbMl0qbixlWzFdPW8qcitlWzNdKm4sZVsyXT1lWzJdKnItaSpuLGVbM109ZVszXSpyLW8qbix0aGlzLnc9dGhpcy5zPXRoaXMuaT1udWxsfXJldHVybiB0aGlzfX0se2tleToic2NhbGVTZWxmIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXToxLG49YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOjE7aWYoMSE9PXR8fDEhPT1uKXt2YXIgcj10aGlzLm07clswXSo9dCxyWzFdKj10LHJbMl0qPW4sclszXSo9bix0aGlzLnc9dGhpcy5zPXRoaXMuaT1udWxsfXJldHVybiB0aGlzfX0se2tleToic2tld1NlbGYiLHZhbHVlOmZ1bmN0aW9uKHQsbil7aWYobiU9MzYwLCh0JT0zNjApfHxuKXt2YXIgcj10aGlzLm0sZT1yWzBdLGk9clsxXSxvPXJbMl0sdT1yWzNdO3QmJih0PVcodCp0dCksclsyXSs9ZSp0LHJbM10rPWkqdCksbiYmKG49VyhuKnR0KSxyWzBdKz1vKm4sclsxXSs9dSpuKSx0aGlzLnc9dGhpcy5zPXRoaXMuaT1udWxsfXJldHVybiB0aGlzfX0se2tleToicmVzZXRTZWxmIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXToxLG49YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOjAscj1hcmd1bWVudHMubGVuZ3RoPjImJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06MCxlPWFyZ3VtZW50cy5sZW5ndGg+MyYmdm9pZCAwIT09YXJndW1lbnRzWzNdP2FyZ3VtZW50c1szXToxLGk9YXJndW1lbnRzLmxlbmd0aD40JiZ2b2lkIDAhPT1hcmd1bWVudHNbNF0/YXJndW1lbnRzWzRdOjAsbz1hcmd1bWVudHMubGVuZ3RoPjUmJnZvaWQgMCE9PWFyZ3VtZW50c1s1XT9hcmd1bWVudHNbNV06MCx1PXRoaXMubTtyZXR1cm4gdVswXT10LHVbMV09bix1WzJdPXIsdVszXT1lLHVbNF09aSx1WzVdPW8sdGhpcy53PXRoaXMucz10aGlzLmk9bnVsbCx0aGlzfX0se2tleToicmVjb21wb3NlU2VsZiIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06bnVsbCxuPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTpudWxsLHI9YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOm51bGwsZT1hcmd1bWVudHMubGVuZ3RoPjMmJnZvaWQgMCE9PWFyZ3VtZW50c1szXT9hcmd1bWVudHNbM106bnVsbCxpPWFyZ3VtZW50cy5sZW5ndGg+NCYmdm9pZCAwIT09YXJndW1lbnRzWzRdP2FyZ3VtZW50c1s0XTpudWxsO3JldHVybiB0aGlzLmlzSWRlbnRpdHl8fHRoaXMucmVzZXRTZWxmKCksdCYmKHQueHx8dC55KSYmdGhpcy50cmFuc2xhdGVTZWxmKHQueCx0LnkpLG4mJnRoaXMucm90YXRlU2VsZihuKSxyJiYoci54JiZ0aGlzLnNrZXdTZWxmKHIueCwwKSxyLnkmJnRoaXMuc2tld1NlbGYoMCxyLnkpKSwhZXx8MT09PWUueCYmMT09PWUueXx8dGhpcy5zY2FsZVNlbGYoZS54LGUueSksaSYmKGkueHx8aS55KSYmdGhpcy50cmFuc2xhdGVTZWxmKGkueCxpLnkpLHRoaXN9fSx7a2V5OiJkZWNvbXBvc2UiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOjAsbj1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06MCxyPXRoaXMubSxlPXJbMF0qclswXStyWzFdKnJbMV0saT1bW3JbMF0sclsxXV0sW3JbMl0sclszXV1dLG89cnQoZSk7aWYoMD09PW8pcmV0dXJue29yaWdpbjp7eDpyWzRdLHk6cls1XX0sdHJhbnNsYXRlOnt4OnQseTpufSxzY2FsZTp7eDowLHk6MH0sc2tldzp7eDowLHk6MH0scm90YXRlOjB9O2lbMF1bMF0vPW8saVswXVsxXS89bzt2YXIgdT1yWzBdKnJbM10tclsxXSpyWzJdPDA7dSYmKG89LW8pO3ZhciBhPWlbMF1bMF0qaVsxXVswXStpWzBdWzFdKmlbMV1bMV07aVsxXVswXS09aVswXVswXSphLGlbMV1bMV0tPWlbMF1bMV0qYTt2YXIgbD1ydChpWzFdWzBdKmlbMV1bMF0raVsxXVsxXSppWzFdWzFdKTtpZigwPT09bClyZXR1cm57b3JpZ2luOnt4OnJbNF0seTpyWzVdfSx0cmFuc2xhdGU6e3g6dCx5Om59LHNjYWxlOnt4Om8seTowfSxza2V3Ont4OjAseTowfSxyb3RhdGU6MH07aVsxXVswXS89bCxpWzFdWzFdLz1sLGEvPWw7dmFyIGY9MDtyZXR1cm4gaVsxXVsxXTwwPyhmPUooaVsxXVsxXSkqbnQsaVswXVsxXTwwJiYoZj0zNjAtZikpOmY9SyhpWzBdWzFdKSpudCx1JiYoZj0tZiksYT1YKGEscnQoaVswXVswXSppWzBdWzBdK2lbMF1bMV0qaVswXVsxXSkpKm50LHtvcmlnaW46e3g6cls0XSx5OnJbNV19LHRyYW5zbGF0ZTp7eDp0LHk6bn0sc2NhbGU6e3g6byx5Omx9LHNrZXc6e3g6YSx5OjB9LHJvdGF0ZTpmfX19LHtrZXk6InRvU3RyaW5nIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBudWxsPT09dGhpcy5zJiYodGhpcy5zPSJtYXRyaXgoIit0aGlzLm0ubWFwKG90KS5qb2luKCIgIikrIikiKSx0aGlzLnN9fSx7a2V5OiJkZXRlcm1pbmFudCIsZ2V0OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5tO3JldHVybiB0WzBdKnRbM10tdFsxXSp0WzJdfX0se2tleToiaXNJZGVudGl0eSIsZ2V0OmZ1bmN0aW9uKCl7aWYobnVsbD09PXRoaXMuaSl7dmFyIHQ9dGhpcy5tO3RoaXMuaT0xPT09dFswXSYmMD09PXRbMV0mJjA9PT10WzJdJiYxPT09dFszXSYmMD09PXRbNF0mJjA9PT10WzVdfXJldHVybiB0aGlzLml9fV0pLHR9KCksaXQ9L1wuMCskLztmdW5jdGlvbiBvdCh0KXtyZXR1cm4gTnVtYmVyLmlzSW50ZWdlcih0KT90OnQudG9GaXhlZCgxNCkucmVwbGFjZShpdCwiIil9T2JqZWN0LmZyZWV6ZSh7TToyLEw6MixaOjAsSDoxLFY6MSxDOjYsUTo0LFQ6MixTOjQsQTo3fSk7ZnVuY3Rpb24gdXQodCxuLHIpe3JldHVybiB0KyhuLXQpKnJ9ZnVuY3Rpb24gYXQodCxuLHIpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MyYmdm9pZCAwIT09YXJndW1lbnRzWzNdJiZhcmd1bWVudHNbM10saT17eDp1dCh0Lngsbi54LHIpLHk6dXQodC55LG4ueSxyKX07cmV0dXJuIGUmJihpLmE9bHQodCxuKSksaX1mdW5jdGlvbiBsdCh0LG4pe3JldHVybiBNYXRoLmF0YW4yKG4ueS10Lnksbi54LXQueCl9ZnVuY3Rpb24gZnQodCxuLHIsZSl7dmFyIGk9MS1lO3JldHVybiBpKmkqdCsyKmkqZSpuK2UqZSpyfWZ1bmN0aW9uIHN0KHQsbixyLGUpe3JldHVybiAyKigxLWUpKihuLXQpKzIqZSooci1uKX1mdW5jdGlvbiBjdCh0LG4scixlKXt2YXIgaT1hcmd1bWVudHMubGVuZ3RoPjQmJnZvaWQgMCE9PWFyZ3VtZW50c1s0XSYmYXJndW1lbnRzWzRdLG89e3g6ZnQodC54LG4ueCxyLngsZSkseTpmdCh0Lnksbi55LHIueSxlKX07cmV0dXJuIGkmJihvLmE9aHQodCxuLHIsZSkpLG99ZnVuY3Rpb24gaHQodCxuLHIsZSl7cmV0dXJuIE1hdGguYXRhbjIoc3QodC55LG4ueSxyLnksZSksc3QodC54LG4ueCxyLngsZSkpfWZ1bmN0aW9uIHZ0KHQsbixyLGUsaSl7dmFyIG89aSppO3JldHVybiBpKm8qKGUtdCszKihuLXIpKSszKm8qKHQrci0yKm4pKzMqaSoobi10KSt0fWZ1bmN0aW9uIHl0KHQsbixyLGUsaSl7dmFyIG89MS1pO3JldHVybiAzKihvKm8qKG4tdCkrMipvKmkqKHItbikraSppKihlLXIpKX1mdW5jdGlvbiBkdCh0LG4scixlLGkpe3ZhciBvPWFyZ3VtZW50cy5sZW5ndGg+NSYmdm9pZCAwIT09YXJndW1lbnRzWzVdJiZhcmd1bWVudHNbNV0sdT17eDp2dCh0Lngsbi54LHIueCxlLngsaSkseTp2dCh0Lnksbi55LHIueSxlLnksaSl9O3JldHVybiBvJiYodS5hPWd0KHQsbixyLGUsaSkpLHV9ZnVuY3Rpb24gZ3QodCxuLHIsZSxpKXtyZXR1cm4gTWF0aC5hdGFuMih5dCh0Lnksbi55LHIueSxlLnksaSkseXQodC54LG4ueCxyLngsZS54LGkpKX1mdW5jdGlvbiBwdCh0LG4scil7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4zJiZ2b2lkIDAhPT1hcmd1bWVudHNbM10mJmFyZ3VtZW50c1szXTtpZihidChuKSl7aWYod3QocikpcmV0dXJuIGN0KG4sci5zdGFydCxyLHQsZSl9ZWxzZSBpZihidChyKSl7aWYobi5lbmQpcmV0dXJuIGN0KG4sbi5lbmQscix0LGUpfWVsc2V7aWYobi5lbmQpcmV0dXJuIHIuc3RhcnQ/ZHQobixuLmVuZCxyLnN0YXJ0LHIsdCxlKTpjdChuLG4uZW5kLHIsdCxlKTtpZihyLnN0YXJ0KXJldHVybiBjdChuLHIuc3RhcnQscix0LGUpfXJldHVybiBhdChuLHIsdCxlKX1mdW5jdGlvbiBtdCh0LG4scil7dmFyIGU9cHQodCxuLHIsITApO3JldHVybiBlLmE9ZnVuY3Rpb24odCl7dmFyIG49YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0mJmFyZ3VtZW50c1sxXTtyZXR1cm4gbj90K01hdGguUEk6dH0oZS5hKS9wLGV9ZnVuY3Rpb24gYnQodCl7cmV0dXJuIXQudHlwZXx8ImNvcm5lciI9PT10LnR5cGV9ZnVuY3Rpb24gd3QodCl7cmV0dXJuIG51bGwhPXQuc3RhcnQmJiFidCh0KX12YXIga3Q9bmV3IGV0O3ZhciB4dD17ZjokLGk6Yn0sQXQ9e2Y6JCxpOmZ1bmN0aW9uKHQsbixyKXt2YXIgZT1iKHQsbixyKTtyZXR1cm4gZTw9MD8wOmU+PTE/MTplfX07ZnVuY3Rpb24gX3QodCxuLHIsZSxpLG8sdSxhKXtyZXR1cm4gbj1mdW5jdGlvbih0LG4scil7Zm9yKHZhciBlLGksbyx1PXQubGVuZ3RoLTEsYT17fSxsPTA7bDw9dTtsKyspKGU9dFtsXSkuZSYmKGUuZT1uKGUuZSkpLGUudiYmImciPT09KGk9ZS52KS50JiZpLnImJihvPXIuZ2V0RWxlbWVudEJ5SWQoaS5yKSkmJihhW2kucl09by5xdWVyeVNlbGVjdG9yQWxsKCJzdG9wIikpO3JldHVybiBhfSh0LGUsYSksZnVuY3Rpb24oZSl7dmFyIGksbz1yKGUsdCxTdCk7cmV0dXJuIG8/ImMiPT09by50P0goby52KToiZyI9PT1vLnQ/KG5bby5yXSYmZnVuY3Rpb24odCxuKXtmb3IodmFyIHI9MCxlPXQubGVuZ3RoO3I8ZTtyKyspdFtyXS5zZXRBdHRyaWJ1dGUoInN0b3AtY29sb3IiLEgobltyXSkpfShuW28ucl0sby52KSwoaT1vLnIpPyJ1cmwoIyIraSsiKSI6Im5vbmUiKToibm9uZSI6Im5vbmUifX1mdW5jdGlvbiBTdCh0LG4scil7aWYoMD09PXQpcmV0dXJuIG47aWYoMT09PXQpcmV0dXJuIHI7aWYobiYmcil7dmFyIGU9bi50O2lmKGU9PT1yLnQpc3dpdGNoKG4udCl7Y2FzZSJjIjpyZXR1cm57dDplLHY6QSh0LG4udixyLnYpfTtjYXNlImciOmlmKG4ucj09PXIucilyZXR1cm57dDplLHY6Xyh0LG4udixyLnYpLHI6bi5yfX19cmV0dXJuIG0odCxuLHIpfXZhciBPdD17ZmlsbDpfdCwiZmlsbC1vcGFjaXR5IjpBdCxzdHJva2U6X3QsInN0cm9rZS1vcGFjaXR5IjpBdCwic3Ryb2tlLXdpZHRoIjp4dCwic3Ryb2tlLWRhc2hvZmZzZXQiOntmOiQsaTpifSwic3Ryb2tlLWRhc2hhcnJheSI6e2Y6ZnVuY3Rpb24odCl7dmFyIG49YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOiIgIjtyZXR1cm4gdCYmdC5sZW5ndGg+MCYmKHQ9dC5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLmZsb29yKDFlNCp0KS8xZTR9KSkpLEcodCxuKX0saTpmdW5jdGlvbih0LG4scil7dmFyIGUsaSxvLHU9bi5sZW5ndGgsYT1yLmxlbmd0aDtpZih1IT09YSlpZigwPT09dSluPVModT1hLDApO2Vsc2UgaWYoMD09PWEpYT11LHI9Uyh1LDApO2Vsc2V7dmFyIGw9KG89KGU9dSkqKGk9YSkvZnVuY3Rpb24odCxuKXtmb3IodmFyIHI7bjspcj1uLG49dCVuLHQ9cjtyZXR1cm4gdHx8MX0oZSxpKSk8MD8tbzpvO249TyhuLE1hdGguZmxvb3IobC91KSkscj1PKHIsTWF0aC5mbG9vcihsL2EpKSx1PWE9bH1mb3IodmFyIGY9W10scz0wO3M8dTtzKyspZi5wdXNoKGcodyh0LG5bc10scltzXSksNikpO3JldHVybiBmfX0sb3BhY2l0eTpBdCx0cmFuc2Zvcm06ZnVuY3Rpb24obixyLGUsaSl7aWYoIShuPWZ1bmN0aW9uKG4scil7aWYoIW58fCJvYmplY3QiIT09dChuKSlyZXR1cm4gbnVsbDt2YXIgZT0hMTtmb3IodmFyIGkgaW4gbiluLmhhc093blByb3BlcnR5KGkpJiYobltpXSYmbltpXS5sZW5ndGg/KG5baV0uZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5lJiYodC5lPXIodC5lKSl9KSksZT0hMCk6ZGVsZXRlIG5baV0pO3JldHVybiBlP246bnVsbH0obixpKSkpcmV0dXJuIG51bGw7dmFyIG89ZnVuY3Rpb24odCxpLG8pe3ZhciB1PWFyZ3VtZW50cy5sZW5ndGg+MyYmdm9pZCAwIT09YXJndW1lbnRzWzNdP2FyZ3VtZW50c1szXTpudWxsO3JldHVybiBuW3RdP2UoaSxuW3RdLG8pOnImJnJbdF0/clt0XTp1fTtyZXR1cm4gciYmci5hJiZuLm8/ZnVuY3Rpb24odCl7dmFyIHI9ZSh0LG4ubyxtdCk7cmV0dXJuIGt0LnJlY29tcG9zZVNlbGYocixvKCJyIix0LGIsMCkrci5hLG8oImsiLHQsayksbygicyIsdCxrKSxvKCJ0Iix0LGspKS50b1N0cmluZygpfTpmdW5jdGlvbih0KXtyZXR1cm4ga3QucmVjb21wb3NlU2VsZihvKCJvIix0LHB0LG51bGwpLG8oInIiLHQsYiwwKSxvKCJrIix0LGspLG8oInMiLHQsayksbygidCIsdCxrKSkudG9TdHJpbmcoKX19LHI6eHQsIiNzaXplIjpVLCIjcmFkaXVzIjpRLF86ZnVuY3Rpb24odCxuKXtpZihBcnJheS5pc0FycmF5KHQpKWZvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXRoaXNbdFtyXV09bjtlbHNlIHRoaXNbdF09bn19O3JldHVybiBmdW5jdGlvbih0KXshZnVuY3Rpb24odCxuKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgbiYmbnVsbCE9PW4pdGhyb3cgbmV3IFR5cGVFcnJvcigiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24iKTt0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG4mJm4ucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6dCx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9fSksbiYmbyh0LG4pfSh1LHQpO3ZhciByPWEodSk7ZnVuY3Rpb24gdSgpe3JldHVybiBuKHRoaXMsdSksci5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIGUodSxudWxsLFt7a2V5OiJidWlsZCIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIG49bChpKHUpLCJidWlsZCIsdGhpcykuY2FsbCh0aGlzLHQsT3QpLHI9KG4uZWwsbi5vcHRpb25zLG4ucGxheWVyKTtyZXR1cm4gZnVuY3Rpb24odCl7dC5wbGF5KCl9KHIpLHJ9fV0pLHV9KEwpfSkpOw0KX19TVkdBVE9SX1BMQVlFUl9fLmJ1aWxkKHsicm9vdCI6ImUxdXlvM2dldWc0ZjEiLCJhbmltYXRpb25zIjpbeyJkdXJhdGlvbiI6MTUwMDAsImRpcmVjdGlvbiI6MSwiaXRlcmF0aW9ucyI6MCwiZmlsbCI6MSwiYWx0ZXJuYXRlIjp0cnVlLCJlbGVtZW50cyI6eyJlMXV5bzNnZXVnNGYzIjp7InRyYW5zZm9ybSI6eyJkYXRhIjp7InQiOnsieCI6LTI2NS44MTI0ODQ3NDEyMTA5NCwieSI6LTE0Ni44MDAwMDMwNTE3NTc4fX0sImtleXMiOnsibyI6W3sidCI6MCwidiI6eyJ4IjoyNjUuODEyNDg0NzQxMjEwOTQsInkiOjE0Ni44MDAwMDMwNTE3NTc4LCJ0eXBlIjoiY29ybmVyIn0sImUiOlswLjQyLDAsMC41OCwxXX0seyJ0Ijo4MDAwLCJ2Ijp7IngiOi0zNi43MjU1ODYyNTg3ODkxMiwieSI6NDU3Ljg1MDAwNjEwMTc1Nzk3LCJ0eXBlIjoiY29ybmVyIn0sImUiOlswLjQyLDAsMC41OCwxXX1dfX19LCJlMXV5bzNnZXVnNGY2Ijp7InRyYW5zZm9ybSI6eyJkYXRhIjp7InQiOnsieCI6LTM0NC44MTI1LCJ5IjotNjA2Ljc5OTk4Nzc5Mjk2ODh9fSwia2V5cyI6eyJvIjpbeyJ0IjowLCJ2Ijp7IngiOjM0NC44MTI1LCJ5Ijo2MDYuNzk5OTg3NzkyOTY4OCwidHlwZSI6ImNvcm5lciJ9LCJlIjpbMC40MiwwLDAuNTgsMV19LHsidCI6OTkwMCwidiI6eyJ4Ijo0NzIuNzMxMjgyMDAwMDAwMSwieSI6LTk1LjczODA4MzIwNzAzMTIsInR5cGUiOiJjb3JuZXIifSwiZSI6WzAuNDIsMCwwLjU4LDFdfV19fX0sImUxdXlvM2dldWc0ZjkiOnsidHJhbnNmb3JtIjp7ImRhdGEiOnsidCI6eyJ4IjowLCJ5IjoxLjg3MDAxOTAwMDAwMDAwMjh9fSwia2V5cyI6eyJvIjpbeyJ0IjowLCJ2Ijp7IngiOjIwMS41MTk0Mjc5Njk5OTk4NCwieSI6MzcyLjc1OTk2MjAwMDAwMDAzLCJ0eXBlIjoiY29ybmVyIn19LHsidCI6MTUwMDAsInYiOnsieCI6NTQwLjk4NjQzMjk2OTk5OTgsInkiOi0xMjEuNTEzMDcxLCJ0eXBlIjoiY29ybmVyIn19XX19fSwiZTF1eW8zZ2V1ZzRmMTAiOnsidHJhbnNmb3JtIjp7ImRhdGEiOnsiciI6LTE5Ljk5ODc3MDg2OTU0NDQyLCJrIjp7IngiOi0zLjE4MDU1NDUzODMzODU2NTRlLTE1LCJ5IjowfSwicyI6eyJ4IjoxLjAwMDAwMDA0NDk5OTk5ODgsInkiOjEuMDAwMDAwMDQ0OTk5OTk4OH0sInQiOnsieCI6NTQ4LCJ5IjoyMjV9fSwia2V5cyI6eyJvIjpbeyJ0IjowLCJ2Ijp7IngiOi02NjEuNjE2MjcwMDAwMDAwMSwieSI6LTEzLjA3MjUwMDAwMDAwMDAyLCJ0eXBlIjoiY29ybmVyIn19LHsidCI6MTUwMDAsInYiOnsieCI6LTUwLjkxOTE2NzAyOTcwMjk3NiwieSI6MjA1LjIzNzg5NjAzOTYwMzk1LCJ0eXBlIjoiY29ybmVyIn19XX19fX19XSwib3B0aW9ucyI6eyJzdGFydCI6ImxvYWQiLCJob3ZlciI6ImZyZWV6ZSIsImNsaWNrIjoiZnJlZXplIiwic2Nyb2xsIjoyNSwiZXhwb3J0ZWRJZHMiOiJ1bmlxdWUiLCJ0aXRsZSI6ImJhbm5lci1iZyJ9LCJhbmltYXRpb25TZXR0aW5ncyI6eyJkdXJhdGlvbiI6MTUwMDAsImRpcmVjdGlvbiI6MSwiaXRlcmF0aW9ucyI6MCwiZmlsbCI6MSwiYWx0ZXJuYXRlIjp0cnVlfX0pXV0+"></script></svg></div><div class="cv-container"><div class="cv-banner-content-wrap cv-flex"><div class="cv-banner-text-wrapper"><h2 class="cv-banner-title cv-title">Beautiful And User Friendly Wordpress Themes and Plugins</h2><p class="cv-banner-desc">We offer various kinds of free and premium WordPress themes for Magazine, eCommerce, Blogging, Business, Education, and much more. Create stunning WordPress Website using our themes.</p><div class="cv-btn-wrap"> <a href="#" class="cv-btn cv-btn-primary">View All Plugins <i class="fal fa-long-arrow-right"></i></a> <a href="https://codevibrant.com/wp-themes/" class="cv-btn cv-btn-secondary">View All Themes <i class="fal fa-long-arrow-right"></i></a></div></div><div class="cv-banner-image"> <img src="https://codevibrant.com/wp-content/themes/code-vibrant/assets/images/banner-image.png" alt=""></div></div></div></section><section class="cv-plugin-wrapper"><div class="cv-container"><div class="cv-plugin-block cv-flex"><div class="cv-plugin-image wow fadeInLeft"> <img src="https://codevibrant.com/wp-content/themes/code-vibrant/assets/images/magazine-module-img.png" alt=""></div><div class="cv-plugin-details-wrap wow fadeInRight"><h2 class="cv-plugin-title cv-title">Wp Magazine Modules for Gutenberg and Elementor</h2><p class="cv-plugin-desc">WP Magazine modules plugin is a powerful plugin which has 10 + Gutenberg and 10+ Elementor elements to give you site a beautiful magazine layout. It comes with multiple archive layout types: Grid, List and Masonry. There are 5 distinct variations of each type that will suit your website designs preferences and requirements. With this plugin, you can also sort design elements in preferable layouts to match your taste.</p><ul class="plugin-features-list"><li>Multiple magazine layouts</li><li>Page builder compatible</li><li>Fully responsive</li><li>Fully customizable</li><li>Dynamic Typography</li><li>Color Options</li><li>Very Flexible</li><li>Top notch Support</li></ul><div class="cv-explore-btn"> <a href="https://codevibrant.com/wp-plugin/wp-magazine-modules-for-gutenberg-elementor/" class="cv-btn-primary cv-btn">Explore More<i class="fal fa-long-arrow-right"></i></a></div></div></div><div class="cv-plugin-block cv-alternate-block cv-flex"><div class="cv-plugin-details-wrap wow fadeInLeft"><h2 class="cv-plugin-title cv-title">BlOG POST LAYOUTS FOR GUTENBERG & ELEMENTOR</h2><p class="cv-plugin-desc">Blog Post Layouts for Gutenberg and Elementor is a powerful Premium WordPress plugin that lets you modify layouts for your blog posts. It comes with multiple archive layout types: Grid, List and Masonry. There are 8 distinct variations of each type that will suit your website designs preferences and requirements.</p><ul class="plugin-features-list"><li>20+ blog posts layouts</li><li>Page builder compatible</li><li>Supports Custom Post type</li><li>Fully responsive</li><li>Filter Posts by Category</li><li>Color Options</li><li>Image Hover Options</li><li>Wow animations</li></ul><div class="cv-explore-btn"> <a href="https://codevibrant.com/pricing/?product_id=14492" class="cv-btn-primary cv-btn">Buy Now<i class="fal fa-long-arrow-right"></i></a></div></div><div class="cv-plugin-image wow fadeInRight"> <img src="https://codevibrant.com/wp-content/themes/code-vibrant/assets/images/blog-post-layouts.png" alt=""></div></div></div></section><section class="cv-counter"><div class="cv-container"><div class="cv-counter-wrapper"><h2 class="cv-section-title cv-title">Join Our 50K+ Happy Users</h2><div class="cv-counter-content-wrapper cv-flex"><div class="cv-counter-item"><div class="cv-count-num"> <span class="cv-count">10</span>+</div><div class="cv-counter-desc">Awesome Themes</div></div><div class="cv-counter-item"><div class="cv-count-num"> <span class="cv-count">5</span>+</div><div class="cv-counter-desc">Great Plugins</div></div><div class="cv-counter-item"><div class="cv-count-num"> <span class="cv-count">15</span>K+</div><div class="cv-counter-desc">Active Stalls</div></div></div></div></div></section><section class="cv-features"><div class="cv-container"><h2 class="cv-section-title cv-title">Features</h2><p class="cv-sub-title">Reasons to choose Codevibrant</p><div class="cv-features-wrapper cv-flex"><div class="cv-feature-block cv-pink-block wow fadeInUp" data-wow-delay="0.3s"><div class="cv-feature-icon"> <i class="fal fa-tachometer-alt-fastest"></i></div><h4 class="cv-feature-title"> Fast & Highly customizable</h4><p class="cv-feature-desc"> All our themes have dozens of Theme Options to get the most out of them. You won't need to touch a code to create a website you have always wanted.</p></div><div class="cv-feature-block cv-yellow-block wow fadeInUp" data-wow-delay="0.6s"><div class="cv-feature-icon"> <i class="fal fa-cloud-download-alt"></i></div><h4 class="cv-feature-title"> One Click Demo Import</h4><p class="cv-feature-desc"> Theme contains demo import option that will import demo for you and you can easily customize your site by changing text, image, and colors.</p></div><div class="cv-feature-block cv-green-block wow fadeInUp" data-wow-delay="0.9s"><div class="cv-feature-icon"> <i class="fal fa-layer-group"></i></div><h4 class="cv-feature-title"> WordPress Page Builder Compatible</h4><p class="cv-feature-desc"> You can use the popular WordPress Page Builder to develop your site using this theme and create amazing layouts according to your requirement.</p></div><div class="cv-feature-block cv-blue-block wow fadeInUp" data-wow-delay="1.2s"><div class="cv-feature-icon"> <i class="fal fa-layer-group"></i></div><h4 class="cv-feature-title"> SEO Optimized</h4><p class="cv-feature-desc"> Our Theme is fully SEO optimized which will help you to boost your ranking on search engine and also load faster than other theme.</p></div><div class="cv-feature-block cv-orange-block wow fadeInUp" data-wow-delay="1.5s"><div class="cv-feature-icon"> <i class="fal fa-shield-check"></i></div><h4 class="cv-feature-title"> GDPR Compatible</h4><p class="cv-feature-desc"> Our themes are fully General Data Protection Regulation (GDPR) compliant.</p></div><div class="cv-feature-block cv-purple-block wow fadeInUp" data-wow-delay="1.8s"><div class="cv-feature-icon"> <i class="fal fa-user-headset"></i></div><h4 class="cv-feature-title"> Awesome Support</h4><p class="cv-feature-desc"> We provide top-notch theme support to configure our theme. If you get any problem setting up the theme or using any features, don't be afraid, we've got your back.</p></div></div></div></section><section class="cv-plugin-wrapper"><div class="cv-container"><div class="cv-plugin-block cv-flex"><div class="cv-plugin-image wow fadeInLeft"> <img src="https://codevibrant.com/wp-content/themes/code-vibrant/assets/images/easy-store.png" alt=""></div><div class="cv-plugin-details-wrap wow fadeInRight"><h2 class="cv-plugin-title cv-title">Easy Mart</h2><p class="cv-plugin-desc">Easy Mart is a powerful free e-commerce theme fully compatible with the most popular WooCommerce plugin. The theme comes with a clean an elegant design and easy to use features. It is fully responsive, translation ready, SEO friendly and compatible with WooCommerce, YITH WooCommerce Wishlist, as well as popular plugin. Use this theme for your e-commerce website, you will feel the best ever experience!</p><ul class="plugin-features-list"><li>Ecommerce Layout</li><li>Plugin compatible</li><li>Fully responsive</li><li>Fully customizable</li><li>SEO Optimized</li><li>Unlimited Color Options</li><li>Very Flexible</li><li>Top notch Support</li></ul><div class="cv-explore-btn"> <a href="https://codevibrant.com/wpthemes/easy-mart/" class="cv-btn-primary cv-btn">Explore More<i class="fal fa-long-arrow-right"></i></a></div></div></div><div class="cv-plugin-block cv-alternate-block cv-flex"><div class="cv-plugin-details-wrap wow fadeInLeft"><h2 class="cv-plugin-title cv-title">News Vibrant</h2><p class="cv-plugin-desc"> News Vibrant is a modern magazine theme with creative design and powerful features that let you write articles and blog posts with ease. It uses the best clean SEO practices, responsive HTML5, and on top of that, it is fast, simple, and easy to use. Use the Customizer to add your own background, page layout, site width and more.</p><ul class="plugin-features-list"><li>Magazine layouts</li><li>Page builder compatible</li><li>Fully responsive</li><li>Fully customizable</li><li>Dynamic Typography</li><li>Unlimited Color Options</li><li>Very Flexible</li><li>Top notch Support</li></ul><div class="cv-explore-btn"> <a href="https://codevibrant.com/wpthemes/news-vibrant/" class="cv-btn-primary cv-btn">Explore More<i class="fal fa-long-arrow-right"></i></a></div></div><div class="cv-plugin-image wow fadeInRight"> <img src="https://codevibrant.com/wp-content/themes/code-vibrant/assets/images/news-vibrant.png" alt=""></div></div></div></section><section class="cv-blogs"><div class="cv-container"><h2 class="cv-section-title cv-title">Latest Blogs</h2><p class="cv-sub-title">Read our latest blogs and updates</p><div class="cv-blogs-wrapper cv-flex"><div class="cv-blog-item wow fadeInUp" data-wow-delay="0.3s"><div class="cv-blog-thumb"> <img width="640" height="360" src="https://codevibrant.com/wp-content/uploads/2024/07/transit-from-edd-to-freemius-768x432.jpg" class="attachment-medium_large size-medium_large wp-post-image" alt="transit from edd to freemius" decoding="async" fetchpriority="high" srcset="https://codevibrant.com/wp-content/uploads/2024/07/transit-from-edd-to-freemius-768x432.jpg 768w, https://codevibrant.com/wp-content/uploads/2024/07/transit-from-edd-to-freemius-300x169.jpg 300w, https://codevibrant.com/wp-content/uploads/2024/07/transit-from-edd-to-freemius-1024x576.jpg 1024w, https://codevibrant.com/wp-content/uploads/2024/07/transit-from-edd-to-freemius.jpg 1200w" sizes="(max-width: 640px) 100vw, 640px" /></div><div class="cv-blog-content-wrapper"><h3 class="cv-blog-title"><a href="https://codevibrant.com/blog/transition-to-freemius-from-easy-digital-downloads/">Transition to Freemius from Easy Digital Downloads</a></h3><p class="cv-blog-desc"><p>Code Vibrant has been shifted from the Easy Digital Download system to Freemius. This was done to help us ensure an accessible and comprehensive platform for our users and ease their efforts. Why did we choose Freemius? Easy Digital Download was a wonderful product. It was basically developed for digital products like ours while also […]</p></p><div class="cv-blog-meta-wrap cv-flex"> <span class="posted-on cv-post-date"> <a href="https://codevibrant.com/blog/transition-to-freemius-from-easy-digital-downloads/" rel="bookmark"><time class="entry-date published" datetime="2024-07-22T13:44:17+05:45">July 22, 2024</time><time class="updated" datetime="2024-07-22T17:56:39+05:45">July 22, 2024</time></a> </span> <a href="https://codevibrant.com/blog/transition-to-freemius-from-easy-digital-downloads/" class="cv-read-more-btn">Read more <i class="fal fa-long-arrow-right"></i> </a></div></div></div><div class="cv-blog-item wow fadeInUp" data-wow-delay="0.3s"><div class="cv-blog-thumb"> <img width="640" height="335" src="https://codevibrant.com/wp-content/uploads/2020/07/Best-WordPress-Plugins-and-Add-ons-for-Elementor-1-768x402.png" class="attachment-medium_large size-medium_large wp-post-image" alt="Best WordPress Plugins and Add-ons for Elementor" decoding="async" srcset="https://codevibrant.com/wp-content/uploads/2020/07/Best-WordPress-Plugins-and-Add-ons-for-Elementor-1-768x402.png 768w, https://codevibrant.com/wp-content/uploads/2020/07/Best-WordPress-Plugins-and-Add-ons-for-Elementor-1-300x157.png 300w, https://codevibrant.com/wp-content/uploads/2020/07/Best-WordPress-Plugins-and-Add-ons-for-Elementor-1-1024x536.png 1024w, https://codevibrant.com/wp-content/uploads/2020/07/Best-WordPress-Plugins-and-Add-ons-for-Elementor-1-600x314.png 600w, https://codevibrant.com/wp-content/uploads/2020/07/Best-WordPress-Plugins-and-Add-ons-for-Elementor-1.png 1200w" sizes="(max-width: 640px) 100vw, 640px" /></div><div class="cv-blog-content-wrapper"><h3 class="cv-blog-title"><a href="https://codevibrant.com/blog/best-wordpress-add-ons-for-elementor/">7 Best WordPress Plugins and Add-ons for Elementor</a></h3><p class="cv-blog-desc"><p>Best WordPress Plugins and Add-ons for Elementor Looking for WordPress add-ons for the Elementor page builder? Then you are in the right place. Elementor is an excellent page builder that allows you to design your site the way to want. Though it offers a wide range of features, sometimes you might not find the feature […]</p></p><div class="cv-blog-meta-wrap cv-flex"> <span class="posted-on cv-post-date"> <a href="https://codevibrant.com/blog/best-wordpress-add-ons-for-elementor/" rel="bookmark"><time class="entry-date published" datetime="2020-07-21T09:22:27+05:45">July 21, 2020</time><time class="updated" datetime="2023-06-06T11:51:49+05:45">June 6, 2023</time></a> </span> <a href="https://codevibrant.com/blog/best-wordpress-add-ons-for-elementor/" class="cv-read-more-btn">Read more <i class="fal fa-long-arrow-right"></i> </a></div></div></div><div class="cv-blog-item wow fadeInUp" data-wow-delay="0.3s"><div class="cv-blog-thumb"> <img width="640" height="333" src="https://codevibrant.com/wp-content/uploads/2019/03/Best-WordPress-Plugins-Most-Important-For-Professional-WordPress-Websites-768x399.jpg" class="attachment-medium_large size-medium_large wp-post-image" alt="Best-WordPress-Plugins-Most-Important-For-Professional-WordPress-Websites" decoding="async" srcset="https://codevibrant.com/wp-content/uploads/2019/03/Best-WordPress-Plugins-Most-Important-For-Professional-WordPress-Websites-768x399.jpg 768w, https://codevibrant.com/wp-content/uploads/2019/03/Best-WordPress-Plugins-Most-Important-For-Professional-WordPress-Websites-300x156.jpg 300w, https://codevibrant.com/wp-content/uploads/2019/03/Best-WordPress-Plugins-Most-Important-For-Professional-WordPress-Websites-1024x532.jpg 1024w, https://codevibrant.com/wp-content/uploads/2019/03/Best-WordPress-Plugins-Most-Important-For-Professional-WordPress-Websites-600x312.jpg 600w, https://codevibrant.com/wp-content/uploads/2019/03/Best-WordPress-Plugins-Most-Important-For-Professional-WordPress-Websites.jpg 1200w" sizes="(max-width: 640px) 100vw, 640px" /></div><div class="cv-blog-content-wrapper"><h3 class="cv-blog-title"><a href="https://codevibrant.com/blog/best-wordpress-plugins-most-important-for-professional-wordpress-websites/">12+ Best WordPress Plugins – Most Important For Professional WordPress Websites</a></h3><p class="cv-blog-desc"><p>Best WordPress Plugins – Most Important For Professional WordPress Websites Are you wondering what are the best WordPress Plugins most important for professional websites? 聽 WordPress Plugins are the best tools to add the required functions to boost the performance of your website. There are hundreds of plugins for every function you want to add. […]</p></p><div class="cv-blog-meta-wrap cv-flex"> <span class="posted-on cv-post-date"> <a href="https://codevibrant.com/blog/best-wordpress-plugins-most-important-for-professional-wordpress-websites/" rel="bookmark"><time class="entry-date published" datetime="2022-03-26T07:16:38+05:45">March 26, 2022</time><time class="updated" datetime="2023-04-27T10:57:58+05:45">April 27, 2023</time></a> </span> <a href="https://codevibrant.com/blog/best-wordpress-plugins-most-important-for-professional-wordpress-websites/" class="cv-read-more-btn">Read more <i class="fal fa-long-arrow-right"></i> </a></div></div></div></div></div></section><div id="primary-home" class="content-area"><main id="main" class="site-main"></main></div></div><footer id="colophon" class="site-footer"><div id="top-footer" class="footer-widgets-wrapper footer_ clearfix"><div class="cv-container"><div class="footer-widgets-area clearfix"><div class="cv-footer-widget-wrapper cv-column-wrapper clearfix"><div class="cv-footer-widget"><section id="text-2" class="widget widget_text"><div class="textwidget"><p><img decoding="async" src="https://www.codevibrant.com/wp-content/uploads/2017/11/cv-color-logo.png" alt="CodeVibrant" /></p><p>CodeVibrant is a web development company located in Nepal & Australia that offers the user to develop their dream website.We make your idea into reality using our proven skills and monetization techniques for web and mobile platforms. With due respect to the time and investment of our clients, we come up with optimized solutions according to their business needs.</p><div class="cv-social-links"></div></div></section></div><div class="cv-footer-widget"><section id="nav_menu-2" class="widget widget_nav_menu"><h4 class="widget-title">Information</h4><div class="menu-information-container"><ul id="menu-information" class="menu"><li id="menu-item-187" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-187"><a href="https://codevibrant.com/about-us/">About Us</a></li><li id="menu-item-421" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-421"><a href="https://codevibrant.com/support/">Support</a></li><li id="menu-item-190" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-190"><a href="https://codevibrant.com/faqs/">FAQ鈥檚</a></li><li id="menu-item-186" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-186"><a href="https://codevibrant.com/terms-conditions/">Terms & Conditions</a></li><li id="menu-item-185" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-185"><a href="https://codevibrant.com/privacy-policy/">Privacy & policy</a></li></ul></div></section></div><div class="cv-footer-widget"><section id="nav_menu-3" class="widget widget_nav_menu"><h4 class="widget-title">Our Themes</h4><div class="menu-our-themes-container"><ul id="menu-our-themes" class="menu"><li id="menu-item-416" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-416"><a href="https://codevibrant.com/wpthemes/news-vibrant/">News Vibrant</a></li><li id="menu-item-417" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-417"><a href="https://codevibrant.com/wpthemes/news-vibrant-pro/">News Vibrant Pro</a></li></ul></div></section><section id="media_image-2" class="widget widget_media_image"><h4 class="widget-title">We Accept Payment Via</h4><img width="491" height="60" src="https://codevibrant.com/wp-content/uploads/2018/03/card.png" class="image wp-image-418 attachment-full size-full" alt="" style="max-width: 100%; height: auto;" decoding="async" loading="lazy" srcset="https://codevibrant.com/wp-content/uploads/2018/03/card.png 491w, https://codevibrant.com/wp-content/uploads/2018/03/card-300x37.png 300w" sizes="auto, (max-width: 491px) 100vw, 491px" /></section></div></div></div></div></div><div class="site-info"><div class="cv-container"> © Copyright 2024 CodeVibrant - All Rights Reserved.</div></div></footer></div> <script defer id="bbp-swap-no-js-body-class" src="data:text/javascript;base64,Cglkb2N1bWVudC5ib2R5LmNsYXNzTmFtZSA9IGRvY3VtZW50LmJvZHkuY2xhc3NOYW1lLnJlcGxhY2UoICdiYnAtbm8tanMnLCAnYmJwLWpzJyApOwo="></script> <style id="ibx-notification-8065-style">.ibx-notification-popup-8065{background:#fff;color:#000;border-radius:0;border-width:1px;border-style:solid;border-color:#ddd;-webkit-box-shadow:0 0 25px 0px rgba(153,153,153,.3);-moz-box-shadow:0 0 25px 0px rgba(153,153,153,.3);-o-box-shadow:0 0 25px 0px rgba(153,153,153,.3);box-shadow:0 0 25px 0px rgba(153,153,153,.3)}.ibx-notification-popup-8065 .ibx-notification-popup-title,.ibx-notification-popup-8065 .ibx-notification-popup-review-name,.ibx-notification-popup-8065 .ibx-notification-popup-review-text{color:#000}.ibx-notification-popup-8065 .ibx-notification-popup-rating span{color:#d93}.ibx-notification-popup--8065 .ibx-notification-popup-close{color:#000}.ibx-notification-popup-8065 .ibx-notification-popup-img{height:70px;width:70px}.ibx-notification-popup-8065 .ibx-notification-popup-img img{border-radius:0;max-height:70px}.ibx-notification-popup-8065 .ibx-notification-popup-img.has-letter{border-radius:0}.ibx-notification-popup-8065 .ibx-notification-popup-text{margin-top:0;margin-bottom:0;margin-left:10px;margin-right:10px}</style><div class="ibx-fomo ibx-fomo-8064 ibx-fomo-position-bottom ibx-fomo-countdown-enabled ibx-fomo-hide-mobile" id="ibx-fomo-8064" data-fomo-id="8064" data-initial-delay="5"><div class="ibx-fomo-bar-wrapper"><div class="ibx-fomo-bar-content"><div class="ibx-fomo-countdown-text"> <span class="ibx-fomo-start-text">BLACK FRIDAY OFFER 馃巵馃殌 !!</span> <span class="ibx-fomo-expired-text">Expired!</span></div><div class="ibx-fomo-countdown-wrapper"><div class="ibx-fomo-countdown" data-style="evergreen" data-fomo-time="00,03,23,00"><div id="ibx-fomo-countdown-time"><div class="ibx-fomo-countdown-time-col"> <span class="ibx-fomo-days">00</span> <span class="ibx-fomo-countdown-time-text">Days</span></div><div class="ibx-fomo-countdown-time-col"> <span class="ibx-fomo-hours">00</span> <span class="ibx-fomo-countdown-time-text">Hrs</span></div><div class="ibx-fomo-countdown-time-col"> <span class="ibx-fomo-minutes">00</span> <span class="ibx-fomo-countdown-time-text">Mins</span></div><div class="ibx-fomo-countdown-time-col"> <span class="ibx-fomo-seconds">00</span> <span class="ibx-fomo-countdown-time-text">Secs</span></div></div></div></div><div class="ibx-fomo-bar-text"> 馃殌 Unlock <strong>40% OFF</strong> on our Annual Plan <a href="https://codevibrant.com/pricing/" class="ibx-fomo-bar-button">馃巵 Use Code: CVBLACKFRIDAY</a></div></div></div></div><style id="ibx-fomo-8064-style">#ibx-fomo-8064 .ibx-fomo-bar-wrapper{background:#8224e3;color:#fff;position:fixed}#ibx-fomo-8064 .ibx-fomo-bar-wrapper .ibx-fomo-bar-clickable .ibx-fomo-bar-text{color:#fff}#ibx-fomo-8064 .ibx-fomo-bar-wrapper .ibx-fomo-countdown-wrapper{color:#fff}#ibx-fomo-8064 .ibx-fomo-bar-wrapper .ibx-fomo-countdown-wrapper #ibx-fomo-countdown-time .ibx-fomo-countdown-time-col{background:#000}#ibx-fomo-8064 .ibx-fomo-bar-wrapper{border-bottom:1px solid #ddd;-webkit-box-shadow:0 0 25px 0px rgba(153,153,153,.3);-moz-box-shadow:0 0 25px 0px rgba(153,153,153,.3);-o-box-shadow:0 0 25px 0px rgba(153,153,153,.3);box-shadow:0 0 25px 0px rgba(153,153,153,.3)}#ibx-fomo-8064 .ibx-fomo-bar-wrapper .ibx-fomo-bar-button{background:#000;background-color:#000;color:#fff;border-width:0;border-style:solid;border-color:#333;border-radius:4px}#ibx-fomo-8064 .ibx-fomo-bar-wrapper .ibx-fomo-bar-button:hover{background:#6b00d6;background-color:#6b00d6;color:#fff;border-color:#000}</style> <script defer src="data:text/javascript;base64,dmFyIGlieF9mb21vPXtub25jZTonYmE0OGU0YzZiOScsY29udmVyc2lvbnM6WzgwNjVdLHJldmlld3M6W10sYWpheHVybDonaHR0cHM6Ly9jb2RldmlicmFudC5jb20vd3AtYWRtaW4vYWRtaW4tYWpheC5waHAnLGN1c3RvbV9mb3JtX2RldGFpbHM6W10scG9zdF9pZDoyMTIyLGZvcm1fY2xhc3NlczpbInBwLXN1YnNjcmliZS1mb3JtIiwiZmwtc3Vic2NyaWJlLWZvcm0iXSxkYXRhOntjb252ZXJzaW9uczp7ImNvbmZpZyI6eyJpZCI6ODA2NSwiaW5pdGlhbF9kZWxheSI6NTAwMCwiZGlzcGxheV9kdXJhdGlvbiI6NDAwMCwiZGVsYXlfZWFjaCI6MjAwMDAsImxvb3AiOjEsInJhbmRvbWl6ZSI6MCwic291cmNlIjoiZnJlZW1pdXMifSwiY29udGVudCI6IiJ9LHJldmlld3M6W119fTs="></script> <style>.edd-js-none .edd-has-js,.edd-js .edd-no-js,body.edd-js input.edd-no-js{display:none}</style> <script defer src="data:text/javascript;base64,LyogPCFbQ0RBVEFbICovKGZ1bmN0aW9uKCl7dmFyIGMgPSBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdDtjLnJlbW92ZSgnZWRkLWpzLW5vbmUnKTtjLmFkZCgnZWRkLWpzJyk7fSkoKTsvKiBdXT4gKi8="></script> <script defer src="data:text/javascript;base64,dmFyIHJlY2FwdGNoYV93aWRnZXRzPXt9O2Z1bmN0aW9uIHdwX3JlY2FwdGNoYUxvYWRDYWxsYmFjaygpe3RyeXtncmVjYXB0Y2hhO31jYXRjaChlcnIpe3JldHVybjt9CnZhciBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGw/ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmctcmVjYXB0Y2hhOm5vdCgud3BjZjctZm9ybS1jb250cm9sKScpOmRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2ctcmVjYXB0Y2hhJyksZm9ybV9zdWJtaXRzO2Zvcih2YXIgaT0wO2k8ZS5sZW5ndGg7aSsrKXsoZnVuY3Rpb24oZWwpe3ZhciB3aWQ7aWYoIWVsLmNoaWxkTm9kZXMubGVuZ3RoKXt3aWQ9Z3JlY2FwdGNoYS5yZW5kZXIoZWwseydzaXRla2V5JzonNkxjaVJFNFVBQUFBQU1MLVhBUll5WTlCYlJ6bDlZell3bWJTUjNqYicsJ3RoZW1lJzplbC5nZXRBdHRyaWJ1dGUoJ2RhdGEtdGhlbWUnKXx8J2xpZ2h0J30pO2VsLnNldEF0dHJpYnV0ZSgnZGF0YS13aWRnZXQtaWQnLHdpZCk7fWVsc2V7d2lkPWVsLmdldEF0dHJpYnV0ZSgnZGF0YS13aWRnZXQtaWQnKTtncmVjYXB0Y2hhLnJlc2V0KHdpZCk7fX0pKGVbaV0pO319CmlmKHR5cGVvZiBqUXVlcnkhPT0ndW5kZWZpbmVkJykKalF1ZXJ5KGRvY3VtZW50KS5hamF4Q29tcGxldGUoZnVuY3Rpb24oZXZ0LHhocixzZXQpe2lmKHhoci5yZXNwb25zZVRleHQmJnhoci5yZXNwb25zZVRleHQuaW5kZXhPZignNkxjaVJFNFVBQUFBQU1MLVhBUll5WTlCYlJ6bDlZell3bWJTUjNqYicpIT09LTEpCndwX3JlY2FwdGNoYUxvYWRDYWxsYmFjaygpO30pOw=="></script><script src="https://www.google.com/recaptcha/api.js?onload=wp_recaptchaLoadCallback&render=explicit" async defer></script> <script defer type="text/javascript" src="https://codevibrant.com/wp-content/cache/autoptimize/js/autoptimize_single_7b6a54e2474920561e85760e96dbcd01.js?ver=2.2.6" id="ibx-wpfomo-script-js"></script> <script defer id="edd-ajax-js-extra" src="data:text/javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgZWRkX3NjcmlwdHMgPSB7ImFqYXh1cmwiOiJodHRwczpcL1wvY29kZXZpYnJhbnQuY29tXC93cC1hZG1pblwvYWRtaW4tYWpheC5waHAiLCJwb3NpdGlvbl9pbl9jYXJ0IjoiIiwiaGFzX3B1cmNoYXNlX2xpbmtzIjoiMCIsImFscmVhZHlfaW5fY2FydF9tZXNzYWdlIjoiWW91IGhhdmUgYWxyZWFkeSBhZGRlZCB0aGlzIGl0ZW0gdG8geW91ciBjYXJ0IiwiZW1wdHlfY2FydF9tZXNzYWdlIjoiWW91ciBjYXJ0IGlzIGVtcHR5IiwibG9hZGluZyI6IkxvYWRpbmciLCJzZWxlY3Rfb3B0aW9uIjoiUGxlYXNlIHNlbGVjdCBhbiBvcHRpb24iLCJpc19jaGVja291dCI6IjAiLCJkZWZhdWx0X2dhdGV3YXkiOiJwYWRkbGUiLCJyZWRpcmVjdF90b19jaGVja291dCI6IjEiLCJjaGVja291dF9wYWdlIjoiaHR0cHM6XC9cL2NvZGV2aWJyYW50LmNvbVwvY2hlY2tvdXRcLyIsInBlcm1hbGlua3MiOiIxIiwicXVhbnRpdGllc19lbmFibGVkIjoiIiwidGF4ZXNfZW5hYmxlZCI6IjAiLCJjdXJyZW50X3BhZ2UiOiI0In07Ci8qIF1dPiAqLwo="></script> <script defer type="text/javascript" src="https://codevibrant.com/wp-content/cache/autoptimize/js/autoptimize_single_06eb2fed49ade9e38d36b413648952a5.js?ver=3.3.5.1" id="edd-ajax-js"></script> <script defer type="text/javascript" src="https://codevibrant.com/wp-includes/js/jquery/ui/core.min.js?ver=1.13.3" id="jquery-ui-core-js"></script> <script defer type="text/javascript" src="https://codevibrant.com/wp-includes/js/jquery/ui/tabs.min.js?ver=1.13.3" id="jquery-ui-tabs-js"></script> <script defer type="text/javascript" src="https://codevibrant.com/wp-content/cache/autoptimize/js/autoptimize_single_05c59609caf3eee24b0d68f988dadd3c.js?ver=20151215" id="code-vibrant-navigation-js"></script> <script defer type="text/javascript" src="https://codevibrant.com/wp-content/cache/autoptimize/js/autoptimize_single_306f7b49ccd55de683e972c4bc8edf0b.js?ver=20151215" id="code-vibrant-skip-link-focus-fix-js"></script> <script defer type="text/javascript" src="https://codevibrant.com/wp-content/themes/code-vibrant/assets/library/sequence/js/imagesloaded.pkgd.min.js?ver=3.1.5" id="code-vibrant-imageloaded-js"></script> <script defer type="text/javascript" src="https://codevibrant.com/wp-content/themes/code-vibrant/assets/library/sequence/js/hammer.min.js?ver=3.1.5" id="code-vibrant-hammer-js"></script> <script defer type="text/javascript" src="https://codevibrant.com/wp-content/themes/code-vibrant/assets/library/sequence/js/sequence.min.js?ver=2.1.0" id="code-vibrant-sequence-js"></script> <script defer type="text/javascript" src="https://codevibrant.com/wp-content/cache/autoptimize/js/autoptimize_single_72b222ec06fdfa7b029974523aea5691.js?ver=2.2.0" id="code-vibrant-sequence-modern-js"></script> <script defer type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/waypoints/2.0.3/waypoints.min.js" id="codevibrant-way-point-js"></script> <script defer type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/wow/1.1.2/wow.min.js" id="codevibrant-wow-js"></script> <script defer type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/Counter-Up/1.0.0/jquery.counterup.min.js" id="codevibrant-counter-js"></script> <script defer type="text/javascript" src="https://codevibrant.com/wp-content/themes/code-vibrant/assets/library/lightslider/js/lightslider.min.js?ver=1.1.6" id="lightslider-js"></script> <script defer type="text/javascript" src="https://codevibrant.com/wp-content/themes/code-vibrant/assets/library/isotope/isotope.pkgd.min.js?ver=3.0.3" id="code-vibrant-isotope-js"></script> <script defer type="text/javascript" src="https://codevibrant.com/wp-content/cache/autoptimize/js/autoptimize_single_df5375f96ba10f79b785b111f6281931.js?ver=1.0.0" id="code-vibrant-sticky-js"></script> <script defer type="text/javascript" src="https://codevibrant.com/wp-content/cache/autoptimize/js/autoptimize_single_253a6cb61bc7338b1b2f60a63511ce5a.js?ver=1.0.0" id="code-vibrant-setting-js"></script> <script defer type="text/javascript" src="https://checkout.freemius.com/checkout.min.js" id="freemius-checkout-js"></script> <script defer type="text/javascript" src="https://codevibrant.com/wp-content/cache/autoptimize/js/autoptimize_single_97430b3c8e5c7b618961f073ccce9a86.js?ver=1.0.0" id="code-vibrant-custom-js"></script> <script defer type="text/javascript" src="https://codevibrant.com/wp-content/cache/autoptimize/js/autoptimize_single_a753928cdf980f61dd6219e07d5429fe.js?ver=2.2.6" id="ibx-wpfomo-custom-form-script-js"></script> <script defer type="text/javascript" src="https://stats.wp.com/e-202448.js" id="jetpack-stats-js" data-wp-strategy="defer"></script> <script type="text/javascript" id="jetpack-stats-js-after">_stq=window._stq||[];_stq.push(["view",JSON.parse("{\"v\":\"ext\",\"blog\":\"138919349\",\"post\":\"4\",\"tz\":\"5.75\",\"srv\":\"codevibrant.com\",\"j\":\"1:14.0\"}")]);_stq.push(["clickTrackerInit","138919349","4"]);</script> <div class="offer-banner"> <span class="offer-title"> Easter Sale 2021 !! </span> Use Coupon code <span class="offer-code">cveaster21</span> to get <span class="offer-discount"> 25% OFF </span> on any of our Premium Themes & Plugins</div></body></html>