1 2 3<!DOCTYPE html> 4<html> 5 <head> 6 <title>Digital Products</title> 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 65 66 67 68 69 70 71 72 73 74 75 76 77 <meta name="google" content="notranslate"> 78 79 80 <link rel="canonical" href="https://www.loss2profit.com/products" /> 81 82 83 84<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"> 85<link rel="icon" href="/favicon.ico" type="image/x-icon"> 86 87 88 89 90 91 92 93
93<script>var orgCountry = "IN";</script>
93 94 95 96 97 98<link id="theme" href="https://d502jbuhuh9wk.cloudfront.net/resources/themes/default/spectre.min.css" rel="stylesheet"> 99 100<link rel="preconnect" href="https://fonts.googleapis.com"> 101<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 102 103<link rel="preload" href="https://fonts.googleapis.com/icon?family=Material+Icons|Material+Icons+Outlined" as="style" onload="this.onload=null;this.rel='stylesheet'"> 104<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons|Material+Icons+Outlined" ></noscript> 105 106<link rel="preload" href="https://d502jbuhuh9wk.cloudfront.net/resources/css/intlTelInput.css?v=1" as="style" onload="this.onload=null;this.rel='stylesheet'"> 107<noscript><link rel="stylesheet" href="https://d502jbuhuh9wk.cloudfront.net/resources/css/intlTelInput.css?v=1" ></noscript> 108 109<link rel="preload" href="https://d502jbuhuh9wk.cloudfront.net/fontawesome/css/all.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'"> 110<noscript><link rel="stylesheet" href="https://d502jbuhuh9wk.cloudfront.net/fontawesome/css/all.min.css" ></noscript> 111 112<link id="theme-exp" href="https://d502jbuhuh9wk.cloudfront.net/resources/themes/default/spectre-exp.min.css" rel="stylesheet"> 113 114 115 116 117 <link href="https://d502jbuhuh9wk.cloudfront.net/staticfiles/resources/stylesheets/sstyles_0f8f8346b730ed7f9d44d25335e652c6.css" rel="stylesheet"> 118 <link rel="stylesheet" href="https://d502jbuhuh9wk.cloudfront.net/staticfiles/resources/stylesheets/sstore_052a28d8fc16dab749345a09dfcd63bf.css"/> 119 120 <link rel="stylesheet" href="https://d502jbuhuh9wk.cloudfront.net/resources/stylesheets/gtheme3.css?v=7"/> 121 122 <style type="text/css"> 123 #loginLoader{ 124 position: absolute; 125 left: 0; 126 right: 0; 127 margin-left: auto; 128 margin-right: auto; 129 width: 100px; 130 top: 50%; 131 } 132 .customSocialBtn { 133 display: flex; 134 white-space: nowrap; 135 justify-content: center; 136 align-items: center; 137 padding: 11px 67px; 138 position: static; 139 left: 0px; 140 top: 40px; 141 cursor: pointer; 142 margin: auto; 143 border: none; 144 gap: 10px; 145 /*width: 364px; 146 height: 48px; 147 background: #000000; */ 148 /*For New Button Remove Bellow Codes and Uncomment upper Code */ 149 background: white; 150 border-radius: 4px; 151 box-shadow: 0 2px 4px 0 rgb(0 0 0 / 25%); 152 width: 245px; 153 height: 40px; 154 } 155 156 .customSocialBtn img.icon { 157 height: 20px; 158 width: 20px; 159 } 160 .customSocialBtn span.buttonText { 161 font-style: normal; 162 font-weight: 900; 163 font-size: 16px; 164 line-height: 120%; 165 opacity: 0.9; 166 font-family: 'Roboto', sans-serif; 167 /* color: #F7F7F7; */ 168 /*For New Button Remove Bellow Codes and Uncomment upper Code */ 169 color: #808080; 170 } 171 </style> 172 173 174 175 176 177 <style type="text/css"> 178 179 .main.container { margin-top: calc(var(--headerHeight) + 25px); } 180 181 </style> 182 183 184 185 186 187 <style type="text/css"> 188 footer a, footer+div a { 189 color: var(--footerTextColor) !important; 190 } 191 footer .socialIcons {text-align: right;} 192 @media (max-width: 600px) { 193 footer .linksCont a { display: block !important; } 194 footer .socialIcons {text-align: center;margin-top: 20px;} 195 } 196 </style> 197 198 199 200 201 202 203 204<style type="text/css"> 205 :root { 206 --themeColor: #5755d9; 207 --themeBGColor: #fff; 208 --headerHeight: 80px; 209 --headerTextColor: #edebe9; 210 --headerBGColor: #333333; 211 --footerTextColor: #FAF0F0; 212 } 213 214 215 :root { 216 --themeColor: #317AE7; 217 --themeBGColor: #EFF5FE; 218 --themeCornerRadius: 25px; 219 --themeGrayColor: #F5F5F5; 220 } 221 222</style> 223 224<style type="text/css"> 225 .is-overlay-bg { 226 opacity: 1; 227} 228 @media (max-width: 760px){ 229.whatsapp-widget-container { 230 width: 60px; 231 bottom: 90px; 232 display: flex !important; 233 } 234} 235 236 237</style> 238 239 240 241 <!-- Facebook Pixel Code --> 242
242<script>
vendor: 426 bytes, lines 242-251
242 243 !function(f,b,e,v,n,t,s) 244 {if(f.fbq)return;n=f.fbq=function(){n.callMethod? 245 n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 246 if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 247 n.queue=[];t=b.createElement(e);t.async=!0; 248 t.src=v;s=b.getElementsByTagName(e)[0]; 249 s.parentNode.insertBefore(t,s)}(window, document,'script', 250 'https://connect.facebook.net/en_US/fbevents.js'); 251 fbq('init', '
251853127119593297
vendor: 34 bytes, lines 251-253
251'); 252 fbq('track', 'PageView'); 253
253</script>
253 254 <noscript><img height="1" width="1" style="display:none" 255 src="https://www.facebook.com/tr?id=853127119593297&ev=PageView&noscript=1" 256 /></noscript> 257 <!-- End Facebook Pixel Code --> 258 259
260<script type="text/javascript"> 261 window.onload = function(event) { 262 document.querySelectorAll('header .avatar img').forEach(function(img){ 263 if(img.naturalWidth == 0) { 264 img.style.display='none'; 265 } 266 }) 267 }; 268 var RESCDN = "https://d502jbuhuh9wk.cloudfront.net"; 269 270 function showCourseDefaultCover(img, cid) { 271 var rndm = ((parseInt(cid.replace(/[a-z]/g, '')) % 10) % 6) + 1; 272 rndm = isNaN(rndm) ? 1 : rndm; 273 if(img === null) { 274 return RESCDN + "/resources/images/cc"+rndm+".jpg"; 275 } 276 277 img.src = RESCDN + "/resources/images/cc"+rndm+".jpg"; 278 } 279</script>
279 280 281 282 283 284 285 286 287 288 289 290 291
292<script type="text/javascript">var learnerConsentMsg = `We've updated our <a href='/termsofuse' target='_blank' style='text-decoration:underline'>terms and conditions</a> and <a href='/privacy-policy' target='_blank' style='text-decoration:underline'>privacy policy</a>.<br>By proceeding, you agree to our new terms.`;</script>
292 293
294<script type="text/javascript">var creatorConsentMsg = `We've updated our <a href='https://graphy.com/legal/terms' target='_blank' style='text-decoration:underline'>terms and conditions</a> and <a href='https://graphy.com/legal/privacy' target='_blank' style='text-decoration:underline'>privacy policy</a>.<br>By proceeding, you agree to our new terms.`;</script>
294 295
296<script type="text/javascript">var cookieMsg = `We use cookies to personalise your experience and to analyse our website traffic. By continuing to use our website, you consent to our cookies.`;</script>
296 297 298 299 300 301 302
303<script type="text/template" id="consentPromptTemplate"> 304<div class="spectre"> 305 <div class="modal active" id="consentPrompt"> 306 <a href="javascript:void(0);" class="modal-overlay" aria-label="Close"></a> 307 <div class="modal-container" style="max-width:325px"> 308 <div class="modal-header" style="padding:0.8rem 0.8rem 0px 0.8rem;"> 309 <div class="modal-title h5 text-center">Updated Terms</div> 310 </div> 311 <div class="modal-body"> 312 313 <form id="consentForm" style="text-align:center; font-size:13px"> 314 <div class="content"></div><br> 315 <div class="text-center"> 316 <button id="consentBtn" type="button" class="btn close btn-primary">I Agree</button> 317 </div> 318 </form> 319 320 </div> 321 </div> 322</div> 323</script>
323 324 325
326<script> 327 var hideCookiePopup = false; 328 var cookieConsentEnabled = false; 329 if(!cookieConsentEnabled){ 330 hideCookiePopup = true; 331 } 332 var SPORG = {subscriptionPlan: "rise", checkout_version: "2", customer_type: "r"}; 333</script>
vendor: 1 bytes, line 333
333
334<script type="text/template" id="cookiePopupTemplate"> 335<div class="spectre" style="position: fixed; bottom: 0; width: 100%; opacity:1; z-index: 9999;"> 336 <div class="modal-container p-0" id="cookiePopup"> 337 <form id="cookiePopupForm"> 338 <div class="columns" style="align-items: center;"> 339 <div class="column col-sm-12 content text-center"></div> 340 <div class="column col-sm-12 text-center"> 341 <a href="/privacy-policy" class="btn" target="_blank" id="viewPrivacyPolicyBtn" style="margin-right:15px;">View privacy policy</a> 342 <button id="acceptCookiesBtn" type="button" class="btn close btn-primary">Accept cookies</button> 343 </div> 344 </div> 345 </form> 346 </div> 347</div> 348</script>
348 349 350 351 352 353 354 355
355<script>
vendor: 399 bytes, lines 355-364
355 356!function(f,b,e,v,n,t,s) 357{if(f.fbq)return;n=f.fbq=function(){n.callMethod? 358n.callMethod.apply(n,arguments):n.queue.push(arguments)}; 359if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; 360n.queue=[];t=b.createElement(e);t.async=!0; 361t.src=v;s=b.getElementsByTagName(e)[0]; 362s.parentNode.insertBefore(t,s)}(window, document,'script', 363'https://connect.facebook.net/en_US/fbevents.js'); 364fbq('init', '
3643239484346346565
vendor: 30 bytes, lines 364-365
364'); 365fbq('track', 'PageView');
366</script>
366 367<noscript><img height="1" width="1" style="display:none" 368src="https://www.facebook.com/tr?id=3239484346346565&ev=PageView&noscript=1" 369/></noscript> 370 371 372 373 374 375 376 377 378 379 380 381 382 383<!-- Google Tag Manager -->
384<script>
vendor: 327 bytes, lines 384-388
384(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 385new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 386j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 387'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 388})(window,document,'script','dataLayer','
388GTM-KW7N9P2
vendor: 4 bytes, line 388
388');
389</script>
389 390<!-- End Google Tag Manager --> 391 392
392<script defer type="text/javascript" src="https://api.pirsch.io/pirsch-extended.js" 393 id="pirschextendedjs" 394 data-code="tvjyRxwUriCzlNT6imNV2oiinXj5ED1N"></script>
394 395 396
397<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"errorBeacon":"bam.nr-data.net","licenseKey":"NRJS-3c5e94b79297c3f66ad","agent":"","beacon":"bam.nr-data.net","applicationTime":25,"applicationID":"1108160141","transactionName":"Y1RVZkAHVhIHBUZfWVoeZEJAD1YGJQlcQkRbXVtXQElIEwkCR1VCRxEfdXcyEQ==","queueTime":0}; 398(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"1134555315",accountID:"3033394",trustKey:"3033394",xpid:"VwYEUlVaDBABVVFaBgcHV1AA",licenseKey:"NRJS-3c5e94b79297c3f66ad",applicationID:"1108160141",browserID:"1134555315"};;/*! For license information please see nr-loader-spa-1.322.0.min.js.LICENSE.txt */ 399(()=>{var e={8122(e,t,r){"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),s=0===Object.keys(r).length?e:r;for(let a in s)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):e[a]instanceof Map||e[a]instanceof Set||e[a]instanceof Date||e[a]instanceof RegExp?r[a]=e[a]:"object"==typeof e[a]&&null!==t[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){r[a]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555(e,t,r){"use strict";r.d(t,{f:()=>a});var n=r(384),i=r(8122);const s={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0};function a(e){try{return!!e.licenseKey&&!!e.errorBeacon&&!!e.applicationID}catch(e){return!1}}r.d(t,["D",0,e=>(0,i.a)(e,s)])},7699(e,t,r){"use strict";var n=r(860);const i={[n.K7.logging]:!0,[n.K7.genericEvents]:!0,[n.K7.jserrors]:!0,[n.K7.ajax]:!0};r.d(t,["It",0,1e6,"KC",0,i,"qh",0,"SESSION_ERROR"])},9324(e,t,r){"use strict";r.d(t,["A",0,"@newrelic/rrweb","x",0,"1.322.0"])},981(e,t,r){"use strict";r.d(t,["R",0,{AJAX:"AjaxRequest",PA:"PageAction",UA:"UserAction",BP:"BrowserPerformance",WS:"WebSocket",SPV:"SecurityPolicyViolation",JSE:"JavaScriptError",LOG:"Log",PVE:"PageView",PVT:"PageViewTiming",SR:"SessionReplay",ST:"SessionTrace",BI:"BrowserInteraction"}])},9752(e,t,r){"use strict";const n="newrelic-iframe-",i=n+"timing-update",s=n+"api",a=n+"api-response",o=n+"vitals-update",c=n+"ajax";r.d(t,["$8",0,o,"Gi",0,a,"KU",0,c,"Pl",0,n,"cS",0,s,"cr",0,i])},6154(e,t,r){"use strict";var n=r(1863);const i="undefined"!=typeof window&&!!window.document,s="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),o=Boolean("hidden"===a?.document?.visibilityState),c=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=d&&"undefined"==typeof SharedWorker,l=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Date.now()-(0,n.t)();r.d(t,["OF",0,d,"RI",0,i,"WN",0,f,"bv",0,s,"gm",0,a,"lR",0,l,"m",0,c,"mw",0,o,"sb",0,u,"zk",0,()=>{const e=a?.performance?.getEntriesByType?.("navigation")?.[0];if(e&&e.responseStart>0&&e.responseStart<a.performance.now())return e}])},7295(e,t,r){"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>s});var n=[];function i(e){if(!e||s(e))return!1;if(0===n.length)return!0;if("*"===n[0].hostname)return!1;for(var t=0;t<n.length;t++){var r=n[t];if(r.hostname.test(e.hostname)&&r.pathname.test(e.pathname))return!1}return!0}function s(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;if("*"===r)return void(n=[{hostname:"*"}]);0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let s,a;i>0?(s=r.substring(0,i),a=r.substring(i)):(s=r,a="*");let[c]=s.split(":");n.push({hostname:o(c),pathname:o(a,!0)})}}function o(e,t=!1){const r=e.replace(/[.+?^${}()|[\]\\]/g,e=>"\\"+e).replace(/\*/g,".*?");return new RegExp((t?"^":"")+r+"$")}},3241(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(6154);function i(e={}){try{n.gm.dispatchEvent(new CustomEvent("newrelic",{detail:e}))}catch(e){}}},1687(e,t,r){"use strict";r.d(t,{Ak:()=>o,Ze:()=>d,x3:()=>c});var n=r(3241),i=r(3606),s=r(860),a=r(2646);function o(e,t){if(!e)return;const r={staged:!1,priority:s.P3[t]||0};
399e.runtime.drainRegistry.get(t)||e.runtime.drainRegistry.set(t,r)}function c(e,t){if(!e)return;const r=e.runtime.drainRegistry;r&&(r.get(t)&&r.delete(t),l(e,t,!1),r.size&&u(e))}function d(e,t="feature",r=!1){if(e){if(!e.runtime.drainRegistry.get(t)||r)return l(e,t);e.runtime.drainRegistry.get(t).staged=!0,u(e)}}function u(e){if(!e)return;const t=Array.from(e.runtime.drainRegistry);t.every(([e,t])=>t.staged)&&(t.sort((e,t)=>e[1].priority-t[1].priority),t.forEach(([t])=>{e.runtime.drainRegistry.delete(t),l(e,t)}))}function l(e,t,r=!0){if(!e)return;const s=e.ee,o=i.i.handlers;if(s&&!s.aborted&&s.backlog&&o){if((0,n.W)({type:"lifecycle",name:"drain",feature:t}),r){const e=s.backlog[t],r=o[t];if(r){for(let t=0;e&&t<e.length;++t)f(e[t],r);Object.entries(r).forEach(([e,t])=>{Object.values(t||{}).forEach(t=>{t[0]?.on&&t[0].context()instanceof a.y&&!t[0].listeners(e).includes(t[1])&&t[0].on(e,t[1])})})}}s.isolatedBacklog||delete o[t],s.backlog[t]=null,s.emit("drain-"+t,[])}}function f(e,t){var r=e[1];Object.values(t[r]||{}).forEach(t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],s=e[2];n.apply(i,s)}})}},7836(e,t,r){"use strict";var n=r(384),i=r(8990),s=r(2646),a=r(5607);const o="nr@context:".concat(a.W),c=function e(t,r){var n={},a={},u={},l=!1;try{l=16===r.length&&d.initializedAgents?.[r]?.runtime.isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,s){!1!==s&&(s=!0);if(c.aborted&&!i)return;t&&s&&t.emit(e,r,n);var o=h(n);g(e).forEach(e=>{e.apply(o,r)});var d=v()[a[e]];d&&d.push([f,e,r,o]);return o},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach(([e,n])=>{a[n]=t,t in r||(r[t]=[])})},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach(e=>{delete f.backlog[e]})},isBuffering:function(e){return!!v()[a[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof s.y?e:e?(0,i.I)(e,o,()=>new s.y(o)):new s.y(o)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return u[t]=u[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=c),r.d(t,["P",0,o,"ee",0,c])},2646(e,t,r){"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908(e,t,r){"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,s){s?(s.buffer([e],i),s.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(9908);s.on=a;var i=s.handlers={};function s(e,t,r,s){a(s||n.d,i,e,t,r)}function a(e,t,r,i,s){s||(s="feature"),e||(e=n.d);var a=t[s]=t[s]||{};(a[r]=a[r]||[]).push([e,i])}},3878(e,t,r){"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function s(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>s,jT:()=>n,sp:()=>i})},5607(e,t,r){"use strict";const n=(0,r(9566).bz)();r.d(t,["W",0,n])},9566(e,t,r){"use strict";r.d(t,{LA:()=>a,ZF:()=>o,bz:()=>s,el:()=>c});var n=r(6154);function i(e,t){return e?15&e[t]:16*Math.random()|0}function s(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".split("").map(e=>"x"===e?i(t,r++).toString(16):"y"===e?(3&i()|8).toString(16):e).join("")}function a(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,s=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var o=0;o<e;o++)a.push(i(r,s++).toString(16));return a.join("")}function o(){return a(16)}function c(){return a(32)}},2614(e,t,r){"use strict";r.d(t,["BB",0,18e5,"Wt",0,"NRBA_SESSION::","g",0,{OFF:0,FULL:1,ERROR:2},"iL",0,{SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},"tS",0,{STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},"wk",0,144e5])},733(e,t,r){"use strict";function n(e,t){return function(e){let t=2166136261;for(let r=0;r<e.length;r++)t^=e.charCodeAt(r),t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,"0")}("".concat(String(e),":").concat(String(t)))}r.d(t,{Y:()=>n})},1863(e,t,r){"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},9119(e,t,r){"use strict";r.d(t,{L:()=>s});var n=/([^?#]*)[^#]*(#[^?]*|$).*/,i=/([^?#]*)().*/;function s(e,t){return e?e.replace(t?n:i,"$1$2"):e}},7485(e,t,r){"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},7866(e,t,r){"use strict";r.d(t,["Nc",0,/^\s*at Function code \(Function code:\d+:\d+\)\s*/i,"cn",0,/^\s*(?:([^@]*)(?:\(.*?\))?@)?((?:file|http|https|chrome|safari-extension).*?):(\d+)(?::(\d+))?\s*$/i,"fL",0,/^\s*at .+ \(eval at \S+ \((?:(?:file|http|https):[^)]+)?\)(?:, [^:]*:\d+:\d+)?\)$/i,"h3",0,/function (.+?)\s*\(/,"hB",0,/^\s*at (?:((?:\[object object\])?(?:[^(]*\([^)]*\))*[^()]*(?: \[as \S+\])?) )?\(?((?:file|http|https|chrome-extension):.*?)?:(\d+)(?::(\d+))?\)?\s*$/i])},944(e,t,r){"use strict";r.d(t,{R:()=>i});var n=r(3241);function i(e,t){"function"==typeof console.debug&&(console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t),(0,n.W)({drained:null,type:"data",name:"warn",feature:"warn",data:{code:e,secondary:t}}))}},8990(e,t,r){"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389(e,t,r){"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout(()=>{i=clearTimeout(i)},t)),n||(clearTimeout(i),i=setTimeout(()=>{e.apply(this,r)},t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},1910(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(944);const i=new Map;function s(...e){return e.every(e=>{if(i.has(e))return i.get(e);const t="function"==typeof e?e.toString():"",r=t.includes("[native code]"),s=t.includes("nrWrapper");return r||s||(0,n.R)(64,e?.name||t),i.set(e,r),r})}},3304(e,t,r){"use strict";r.d(t,{A:()=>i});var n=r(7836);function i(e){try{return JSON.stringify(e,(()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}})())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},9232(e,t,r){"use strict";r.d(t,["f",0,{MFE:"MFE",BA:"BA"}])},7560(e,t,r){"use strict";r.d(t,{N:()=>a,j:()=>c});var n=r(9119),i=r(944);const s=(0,r(6389).J)(e=>(0,i.R)(80,e));function a(e){if(!Array.isArray(e?.assets)||!e.assets.length)return;
399const t=e.assets.map(o).filter(Boolean);return t.length?{assets:t,scripts:t.filter(e=>e.isScript)}:void 0}function o(e){if(!e||"object"!=typeof e)return;const{matcher:t,type:r}=e;let i="string"==typeof t&&t.endsWith(".js");return void 0!==r&&(!function(e){return"script"===e||"asset"===e}(r)?s(r):i=function(e){return"script"===e}(r)),a=t,"[object RegExp]"===Object.prototype.toString.call(a)?{pattern:t,test:e=>(t.lastIndex=0,t.test((0,n.L)(e))),isScript:i}:"string"==typeof t&&t.length>0?{pattern:t,test:e=>(0,n.L)(e).includes(t),isScript:i}:void s(t);var a}function c(e,t,{scriptsOnly:r=!1}={}){if(!e||!t)return!1;return(r?e.scripts:e.assets).some(e=>e.test(t))}},5718(e,t,r){"use strict";r.d(t,{xo:()=>T,AZ:()=>v,cI:()=>g,Qr:()=>A,QL:()=>y});var n=r(6154),i=r(1863),s=r(9119),a=r(7866);class o{dom=new c;performance=new c;constructor(e){this.url=e,this.claimedBy=new Set}get script(){const e=Math.max(this.dom.start,this.performance.end);return{start:e,end:Math.max(this.dom.end,this.performance.end,e)}}}class c{start=0;end=0;value=void 0}function d(e=()=>{},t){return{get:()=>void 0!==t?t:e(),set:e=>{t=e}}}let u;try{u=v(y())[0]}catch(e){u=v(e)[0]}const l=new Map;let f=[];const h=new WeakMap;function p(e){let t=h.get(e);return t||(t={weighedAssetUrls:new Set,recordManifestScriptWindow:(t,r)=>{t&&(e.scriptStart=e.scriptStart>0?Math.min(e.scriptStart,t):t),r&&(e.scriptEnd=e.scriptEnd>0?Math.max(e.scriptEnd,r):r)}},h.set(e,t)),t}function g(e){return l.get(e)}function m(e){const t=g(e);
399if(t)return t;const r=new o(e);if(l.set(e,r),l.size>1e3){const e=l.keys().next().value;l.delete(e)}return r}if(n.gm.MutationObserver&&n.gm.document){new MutationObserver(e=>{e.forEach(e=>{e.addedNodes.forEach(e=>{if("SCRIPT"===e.nodeName&&e.src){const t=m((0,s.L)(e.src));t.dom.start=(0,i.t)(),t.dom.value=e;const r=()=>{t.dom.end=(0,i.t)()};["load","error"].forEach(t=>e.addEventListener(t,r,{once:!0}))}})})}).observe(n.gm.document,{childList:!0,subtree:!0})}if(n.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{if((e=>"script"===e.initiatorType||["link","fetch"].includes(e.initiatorType)&&(0,s.L)(e.name).endsWith(".js"))(e)){const t=m((0,s.L)(e.name));t.performance.start=Math.floor(e.startTime),t.performance.end=Math.floor(e.responseEnd),t.performance.value=e}if(!f.length)return;const t=[];f.forEach(({test:r,addedAt:n},s)=>{(r(e)||(0,i.t)()-n>1e4)&&t.push(s)}),f=f.filter((e,r)=>!t.includes(r))})}).observe({type:"resource",buffered:!0})}function v(e){if(!e||"string"!=typeof e)return[];const t=new Set,r=e.split("\n");for(const e of r){const r=e.match(a.cn)||e.match(a.hB)||e.match(a.fL);if(r&&r[2])t.add((0,s.L)(r[2]));else{const r=e.match(/\(([^)]+\.js):\d+:\d+\)/)||e.match(/^\s+at\s+([^\s(]+\.js):\d+:\d+/);r&&r[1]&&t.add((0,s.L)(r[1]))}}return[...t]}function y(){let e;try{const t=Error.stackTraceLimit;Error.stackTraceLimit=50,e=(new Error).stack,Error.stackTraceLimit=t}catch(t){e=(new Error).stack}return e}function b(e,t){return(0,s.L)(e.name)===t}function E(e,t){e.fetchStart=Math.floor(t.startTime),e.fetchEnd=Math.floor(t.responseEnd),e.asset=t.name,e.type=t.initiatorType,w(e,t)}function w(e,t){const r=(0,s.L)(t.name),{weighedAssetUrls:n}=p(e);n.has(r)||(n.add(r),e.totalWeight=(e.totalWeight||0)+(t.transferSize||0),"blocking"===t.renderBlockingStatus?e.renderBlocking=!0:"non-blocking"===t.renderBlockingStatus&&!0!==e.renderBlocking&&(e.renderBlocking=!1))}function R(e,t,r,n,i){if(w(e,t),"scripts"!==i&&"all"!==i)return;if("all"===i||r.isScript){const r=Math.floor(t.startTime),n=Math.floor(t.responseEnd);e.fetchStart=e.fetchStart>0?Math.min(e.fetchStart,r):r,e.fetchEnd=e.fetchEnd>0?Math.max(e.fetchEnd,n):n}if(r.isScript){const r=g((0,s.L)(t.name));if(r){const t=()=>{const{start:t,end:n}=r.script;p(e).recordManifestScriptWindow(t,n)};t(),!r.dom.end&&r.dom.value&&["load","error"].forEach(e=>r.dom.value.addEventListener(e,t,{once:!0}))}n.resolved||(e.asset=t.name,e.type=t.initiatorType,n.resolved=!0)}}function T(e,t){const r=t?.manifest;if(!r||!r.assets.length)return;const s={resolved:!1},a=new Set(r.assets);(n.gm.performance?.getEntriesByType("resource")||[]).forEach(r=>{const n=[...a].find(e=>e.test(r.name));n&&(R(e,r,n,s,t.timingMethod),a.delete(n))}),a.size&&function(e,t,r,s){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:n=>{const i=[...t].find(e=>e.test(n.name));return i&&(R(e,n,i,r,s),t.delete(i)),0===t.size}})}(e,a,s,t.timingMethod)}function A(e){const t=e?.id,r={registeredAt:(0,i.t)(),reportedAt:void 0,fetchStart:0,fetchEnd:0,scriptStart:0,scriptEnd:0,asset:void 0,type:"unknown",totalWeight:0,renderBlocking:void 0},a=y();if(!a)return r;const o=n.gm.performance?.getEntriesByType("navigation")?.[0]?.name||"";try{const e=v(a),c=(e.length>1?e.filter(e=>u!==e):e)[0];if(!c)return r;if(o.includes(c))return r.asset=(0,s.L)(o),r.type="inline",r;r.correlation=g(c);const l=r.correlation?.performance.value||n.gm.performance?.getEntriesByType("resource")?.find(e=>b(e,c));if(l)E(r,l);else{(function(e){if(!e||!n.gm.document)return!1;try{const t=n.gm.document.querySelectorAll('link[rel="preload"][as="script"]');for(const r of t)if((0,s.L)(r.href)===e)return!0}catch(e){}return!1})(c)&&(r.asset=c,r.type="preload"),function(e,t){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:r=>!!b(r,t)&&(E(e,r),!0)})}(r,c)}const h=r.correlation,m=!!t&&!!h?.claimedBy.has(t);h&&t&&h.claimedBy.add(t);const y=()=>{const e=h?.script.start;if(!m||!e)return!1;return r.registeredAt-e>1e4};let w=0,R=0;p(r).recordManifestScriptWindow=(e,t)=>{e&&(w=w>0?Math.min(w,e):e),t&&(R=R>0?Math.max(R,t):t)},Object.defineProperty(r,"scriptStart",d(()=>{const e=y()?r.registeredAt:h?.script.start??r.fetchEnd;return w>0?Math.min(e,w):e})),Object.defineProperty(r,"scriptEnd",d(()=>{const e=y()?r.registeredAt:h?.script.end??r.registeredAt;return R>0?Math.max(e,R):e}))}catch(e){}return r}},5732(e,t,r){"use strict";r.d(t,{$5:()=>m,B5:()=>g,K6:()=>u,M$:()=>
399o,Ms:()=>d,NG:()=>c,Ux:()=>h,YA:()=>p,yx:()=>l});var n=r(5718),i=r(7560),s=r(9119),a=r(9232);function o(e){return e?.type===a.f.MFE}function c(e,t){if(!y(e,t))return;const r=t.runtime.registeredEntities;return r?.find(t=>t.metadata.target.iframeInterfaceId===e)}function d(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities;return r?.filter(t=>String(t.metadata.target.id)===String(e)).map(e=>e.metadata.target)||[]}function u(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=(0,s.L)(e),a=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!1}):!!t.metadata.timings?.asset&&(0,s.L)(t.metadata.timings.asset)===n});return f(a).map(e=>e.metadata.target)}function l(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!0}):!!t.metadata.timings?.asset?.endsWith(e)});return f(n).map(e=>e.metadata.target)}function f(e){if(!e?.length)return e||[];const t=new Map,r=[];for(const n of e){const e=n.metadata?.timings?.asset;if(!e){r.push(n);continue}const i="".concat(e,"::").concat(n.metadata?.target?.id),s=t.get(i);if(s){if(s.metadata.target?.blocked&&!n.metadata.target?.blocked){const e=r.indexOf(s);-1!==e&&(r[e]=n),t.set(i,n)}}else t.set(i,n),r.push(n)}return r}function h(e,t){return v(t)?o(e)?e.attributes:t.agentRef.runtime.v2Target.attributes:{}}function p(e,t){return g(e,t)?{"child.id":e.id,"child.type":e.type,...h(void 0,t)}:{}}function g(e,t){return o(e)&&!!v(t)&&t.agentRef.init.api.register.duplicate_data_to_container}function m(e){if(!e?.runtime)return[];if(!y(!0,e)||!e.runtime.registeredEntities?.length)return[e.runtime.v2Target];const t=[];try{var r=(0,n.AZ)((0,n.QL)());let i=r.length-1;for(;r[i];)t.push(...l(r[i--],e))}catch(e){}const i=function(e){const t=new Set,r=[];for(const n of e){const e=n?.instance;t.has(e)||(t.add(e),r.push(n))}return r}(t);return i.length||i.push(e.runtime.v2Target),i}function v(e){return 2===e?.harvestEndpointVersion}function y(e,t){return!!e&&!!t?.init.api.register.enabled}},5289(e,t,r){"use strict";r.d(t,{GG:()=>a,Qr:()=>c,sB:()=>o});var n=r(3878),i=r(6389);function s(){return"undefined"==typeof document||"complete"===document.readyState}function a(e,t){if(s())return e();const r=(0,i.J)(e),a=setInterval(()=>{s()&&(clearInterval(a),r())},500);(0,n.sp)("load",r,t)}function o(e){if(s())return e();(0,n.DD)("DOMContentLoaded",e)}function c(e){if(s())return e();(0,n.sp)("popstate",e)}},384(e,t,r){"use strict";r.d(t,{Zm:()=>c,bQ:()=>u,dV:()=>d,pV:()=>l});var n=r(6154),i=r(1863),s=r(944),a=r(1910);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function c(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function d(){let e=c();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate||n.gm.setInterval,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket},(0,a.i)(...Object.values(e.o))),e}function u(e,t){let r=c();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t,2===Object.keys(r.initializedAgents).length&&(0,s.R)(69)}function l(){return function(){let e=c();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=c();const t=e.init||{};e.init={...t}}(),d(),function(){let e=c();const t=e.loader_config||{};e.loader_config={...t}}(),c()}r.d(t,["NT",0,o])},2843(e,t,r){"use strict";r.d(t,{G:()=>s,u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)},r,i)}function s(e,t,r){(0,n.sp)("pagehide",e,t,r)}},8139(e,t,r){"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),s=r(8990),a=r(6154);const o={},c=a.gm.XMLHttpRequest,d="addEventListener",u="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e,t){var r=function(e){return(e||n.ee).get("events")}(e);if(o[r.debugId]++)return r;o[r.debugId]=1;var f=(0,i.YM)(r,!0,t);function p(e){f.inPlace(e,[d,u],"-",g)}function g(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,p),c&&h(c.prototype,p),h(a.gm,p)),r.on(d+"-start",function(e,t){var r=e[1];if(null!==r&&("function"==typeof r||"object"==typeof r)&&"newrelic"!==e[0]){var n=(0,s.I)(r,l,function(){var e={object:function(){if("function"!=typeof r.handleEvent)return;return r.handleEvent.apply(r,arguments)},function:r}[typeof r];return e?f(e,"fn-",null,e.name||"anonymous"):r});this.wrapped=e[1]=n}}),r.on(u+"-start",function(e){e[1]=this.wrapped||e[1]}),r}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,d);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434(e,t,r){"use strict";r.d(t,{YM:()=>d});var n=r(7836),i=r(5607),s=r(5732);const a="nr@original:".concat(i.W);var o=Object.prototype.hasOwnProperty,c=!1;function d(e,t,r){return e||(e=n.ee),i.inPlace=function(e,t,r,n,s,a){r||(r="");const o="-"===r.charAt(0);for(let c=0;c<t.length;c++){const d=t[c],u=e[d];l(u)||(e[d]=i(u,o?d+r:r,n,d,s,a))}},i.flag=a,i;function i(t,n,i,c,f,h){return l(t)?t:(n||(n=""),nrWrapper[a]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach(function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})}),t}catch(e){u([e],r)}for(var n in e)o.call(e,n)&&(t[n]=e[n])}
399(t,nrWrapper,e),nrWrapper);function nrWrapper(){var a,o,l,p;let g,m;try{o=this,a=[...arguments],m=h?(0,s.$5)(r):[r?.runtime?.v2Target],l="function"==typeof i?i(a,o):i||{}}catch(t){u([t,"",[a,o,c],l],e)}d(n+"start",[a,o,c,m],l,f);const v=performance.now();let y;try{return p=t.apply(o,a),y=performance.now(),p}catch(e){throw y=performance.now(),d(n+"err",[a,o,e,m],l,f),g=e,g}finally{const e=y-v,t={start:v,end:y,duration:e,isLongTask:e>=50,methodName:c,thrownError:g};t.isLongTask&&d("long-task",[t,o,m],l,f),d(n+"end",[a,o,p,m],l,f)}}}function d(r,n,i,s){if(!c||t){var a=c;c=!0;try{e.emit(r,n,i,t,s)}catch(t){u([t,r,n,i],e)}c=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function l(e){return!(e&&"function"==typeof e&&e.apply&&!e[a])}r.d(t,["Jt",0,a])},9300(e,t,r){"use strict";const n=r(860).K7.ajax;r.d(t,["TZ",0,n,"f5",0,"ajaxRequest.id","mo",0,{NONE:"none",FAILURES:"failures",ALL:"all"}])},3333(e,t,r){"use strict";var n=r(981);const i=r(860).K7.genericEvents,s=[n.R.PA,n.R.UA,n.R.BP];r.d(t,["$v",0,{RESOURCES:"experimental.resources",REGISTER:"register"},"TZ",0,i,"Zp",0,["auxclick","click","copy","keydown","paste","scrollend"],"kd",0,s,"qN",0,["focus","blur"]])},6774(e,t,r){"use strict";const n=r(860).K7.jserrors;r.d(t,["T",0,n])},993(e,t,r){"use strict";const n=r(860).K7.logging;r.d(t,["A$",0,{OFF:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,TRACE:5},"TZ",0,n,"p_",0,{ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"}])},3785(e,t,r){"use strict";r.d(t,{R:()=>c,b:()=>d});var n=r(9908),i=r(1863),s=r(860),a=r(3969),o=r(993);function c(e,t,r={},c=o.p_.INFO,d=!0,u,l=(0,i.t)()){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,s.K7.metrics,e),(0,n.p)("log",[l,t,r,c,d,u],void 0,s.K7.logging,e)}function d(e){return"string"==typeof e&&Object.values(o.p_).some(t=>t===e.toUpperCase().trim())}},3969(e,t,r){"use strict";const n=r(860).K7.metrics;r.d(t,["TZ",0,n,"XG",0,"storeEventMetrics","xV",0,"storeSupportabilityMetrics"])},6630(e,t,r){"use strict";const n=r(860).K7.pageViewEvent;r.d(t,["T",0,n])},782(e,t,r){"use strict";const n=r(860).K7.pageViewTiming;r.d(t,["T",0,n])},6344(e,t,r){"use strict";var n=r(2614);const i=r(860).K7.sessionReplay,s={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0}
399;r.d(t,["Qb",0,{API:"api",RESUME:"resume",SWITCH_TO_FULL:"switchToFull",INITIALIZE:"initialize",PRELOAD:"preload"},"TZ",0,i,"Vh",0,"errorDuringReplay","_s",0,{DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},"bc",0,{RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},"yP",0,s])},5270(e,t,r){"use strict";r.d(t,{Aw:()=>a,SR:()=>s,rF:()=>o});var n=r(384),i=r(7767);function s(e){return!!(0,n.dV)().o.MO&&(0,i.V)(e)&&!0===e?.session_trace.enabled}function a(e){return!0===e?.session_replay.preload&&s(e)}function o(e,t){try{if("string"==typeof t?.type&&"password"===t.type.toLowerCase())return"*".repeat(e?.length||0);if(void 0!==t?.dataset?.nrUnmask||t?.classList?.contains("nr-unmask"))return e}catch(e){}return"string"==typeof e?e.replace(/[\S]/g,"*"):"*".repeat(e?.length||0)}},3738(e,t,r){"use strict";const n=r(860).K7.sessionTrace,i="-start",s="-end",a="fn"+i,o="fn"+s;r.d(t,["He",0,"bstResource","Kp",0,s,"Lc",0,o,"Rz",0,"pushState","TZ",0,n,"bD",0,"resource","bc",0,{CROSS_TAB:{message:"Session Entity was set to OFF on another tab"},ENTITLEMENTS:{message:"Session Trace is not allowed and will not be started"},RESET:{message:"Session was reset"},SESSION_CHANGED:{message:"Session identifier changed unexpectedly"}},"d3",0,i,"uP",0,a])},3962(e,t,r){"use strict";const n=r(860).K7.softNav;r.d(t,["O2",0,{INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},"OV",0,"popstate","Qu",0,{INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},"TZ",0,n,"ih",0,{IP:"in progress",PF:"pending finish",FIN:"finished",CAN:"cancelled"},"pP",0,"initialPageLoad","tC",0,["click","keydown","submit"]])},4234(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(1687);class i{constructor(e,t){this.agentRef=e,this.ee=e?.ee,this.featureName=t,this.blocked=!1}deregisterDrain(){(0,n.x3)(this.agentRef,this.featureName)}}},7767(e,t,r){"use strict";var n=r(6154);r.d(t,["V",0,e=>n.RI&&!0===e?.privacy.cookies_enabled])},8362(e,t,r){"use strict";r.d(t,{d:()=>s});var n=r(9566),i=r(1741);class s extends i.W{agentIdentifier=(0,n.LA)(16)}},1741(e,t,r){"use strict";r.d(t,{W:()=>s});var n=r(944),i=r(4261);class s{#e(e,...t){if(this[e]!==s.prototype[e])return this[e](...t);(0,n.R)(35,e)}addPageAction(e,t){return this.#e(i.hG,e,t)}register(e){return this.#e(i.eY,e)}recordCustomEvent(e,t){return this.#e(i.fF,e,t)}setPageViewName(e,t){return this.#e(i.Fw,e,t)}setCustomAttribute(e,t,r){return this.#e(i.cD,e,t,r)}noticeError(e,t){return this.#e(i.o5,e,t)}setUserId(e,t=!1){return this.#e(i.Dl,e,t)}setApplicationVersion(e){return this.#e(i.nb,e)}setErrorHandler(e){return this.#e(i.bt,e)}addRelease(e,t){return this.#e(i.k6,e,t)}log(e,t){return this.#e("log",e,t)}start(){return this.#e("start")}finished(e){return this.#e(i.BL,e)}recordReplay(){return this.#e(i.CH)}pauseReplay(){return this.#e(i.Tb)}addToTrace(e){return this.#e(i.U2,e)}setCurrentRouteName(e){return this.#e(i.PA,e)}interaction(e){return this.#e(i.dT,e)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}measure(e,t){return this.#e(i.V1,e,t)}consent(e){return this.#e(i.Pv,e)}}},4261(e,t,r){"use strict";r.d(t,["BL",0,"finished","CH",0,"recordReplay","Dl",0,"setUserId","Fw",0,"setPageViewName","PA",0,"setCurrentRouteName","Pv",0,"consent","Tb",0,"pauseReplay","U2",0,"addToTrace","V1",0,"measure","Wb",0,"wrapLogger","bt",0,"setErrorHandler","cD",0,"setCustomAttribute","dT",0,"interaction","eY",0,"register","fF",0,"recordCustomEvent","hG",0,"addPageAction","hw",0,"api-ixn-","k6",0,"addRelease","nb",0,"setApplicationVersion","o5",0,"noticeError"])},1738(e,t,r){"use strict";r.d(t,{U:()=>l,Y:()=>u});var n=r(3241),i=r(9908),s=r(1863),a=r(944),o=r(3969),c=r(8362),d=r(860);function u(e,t,r,s){const u=s||r;!u||u[e]&&u[e]!==c.d.prototype[e]||(u[e]=function(){(0,i.p)(o.xV,["API/"+e+"/called"],void 0,d.K7.metrics,r.ee),(0,n.W)({drained:!!r.runtime?.activatedFeatures,type:"data",name:"api",feature:"api-"+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,a.R)(23,e)}})}function l(e,t,r,n,a){const o=e.info;null===r?delete o.jsAttributes[t]:o.jsAttributes[t]=r,(a||null===r)&&(0,i.p)("api-"+n,[(0,s.t)(),t,r],void 0,"session",e.ee)}},8374(e,t,r){r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860(e,t,r){"use strict";const n="events",i="jserrors",s="browser/blobs",a="browser/logs",o={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations"},c={[o.pageViewEvent]:1,[o.pageViewTiming]:2,[o.metrics]:3,[o.jserrors]:4,[o.softNav]:5,[o.ajax]:6,[o.sessionTrace]:7,[o.sessionReplay]:8,[o.logging]:9,[o.genericEvents]:10},d={[o.pageViewEvent]:"rum",[o.pageViewTiming]:n,[o.ajax]:n,[o.softNav]:n,[o.metrics]:i,[o.jserrors]:i,[o.sessionTrace]:s,[o.sessionReplay]:s,[o.logging]:a,[o.genericEvents]:"ins"};r.d(t,["$J",0,d,"K7",0,o,"P3",0,c,"XX",0,i,"Yy",0,a,"df",0,s,"hg",0,"connect"])}};const t={};function r(n){const i=t[n];if(void 0!==i)return i.exports;const s=t[n]={exports:{}};return e[n](s,s.exports,r),s.exports}r.m=e,r.d=(e,t)=>{if(Array.isArray(t))for(var n=0;n<t.length;){var i=t[n++],s=t[n++];r.o(e,i)?0===s&&n++:0===s?Object.defineProperty(e,i,{enumerable:!0,value:t[n++]}):Object.defineProperty(e,i,{enumerable:!0,get:s})}else for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,n)=>(r.f[n](e,t),t),[])),r.u=e=>({212:"nr-spa-compressor",238:"nr-spa-iframe-message-handler",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.322.0.min.js"),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e={},t="NRBA-1.322.0.PROD:";r.l=(n,i,s,a)=>
399{if(e[n])return void e[n].push(i);let o,c;if(void 0!==s){const e=document.getElementsByTagName("script");for(var d=0;d<e.length;d++){const r=e[d];if(r.getAttribute("src")==n||r.getAttribute("data-webpack")==t+s){o=r;break}}}if(!o){c=!0;var u={478:"sha512-SARROoir04gFygxlr/+mTI+PyMeFL+epi1vnUA2G5mTQ7s3G44ItQBJKbOaIMdIE5OBzuaKhb4k5JYta0NICxg==",249:"sha512-6DKQo5WP7YlpzX6l9UfYkgGLGK2oITdoaYTcZtgl5Foa22NY63lED/0z1hBBLeD7qZCz/YdlY19/r8drlol1tg==",212:"sha512-CYxuvSpDx6ErqWJwAvpoHn54eY37YdMcFao/axOumlw3BsSL7yioOeB2LWViY/Njs818sQG10dSglUhYCMfLPw==",238:"sha512-mvbMILWa3ohYst+u6TLfNrmtY2swUIB3rbJFN/uzt3W62KhgvUVwB81UEZ1R0/it5bfrQ5EVz864pi/CAmucNQ=="};o=document.createElement("script"),o.charset="utf-8",r.nc&&o.setAttribute("nonce",r.nc),o.setAttribute("data-webpack",t+s),o.src=n,0!==o.src.indexOf(window.location.origin+"/")&&(o.crossOrigin="anonymous"),u[a]&&(o.integrity=u[a])}e[n]=[i];const l=(t,r)=>{o.onerror=o.onload=null,clearTimeout(f);const i=e[n];if(delete e[n],o.parentNode?.removeChild(o),i?.forEach(e=>e(r)),t)return t(r)},f=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),c&&document.head.appendChild(o)}})(),r.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="https://js-agent.newrelic.com/",(()=>{const e={38:0,788:0};r.f.j=(t,n)=>{let i=r.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{const s=new Promise((r,n)=>i=e[t]=[r,n]);n.push(i[2]=s);const a=r.p+r.u(t),o=new Error,c=n=>{if(r.o(e,t)&&(i=e[t],0!==i&&(e[t]=void 0),i)){const e=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed: ("+e+": "+r+")",o.name="ChunkLoadError",o.type=e,o.request=r,i[1](o)}};r.l(a,c,"chunk-"+t,t)}};const t=(t,n)=>{let[i,s,a]=n;var o,c,d=0;if(i.some(t=>0!==e[t])){for(o in s)r.o(s,o)&&(r.m[o]=s[o]);if(a)a(r)}for(t&&t(n);d<i.length;d++)c=i[d],r.o(e,c)&&e[c]&&e[c][0](),e[c]=0},n=self["webpackChunk:NRBA-1.322.0.PROD"]=self["webpackChunk:NRBA-1.322.0.PROD"]||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),(()=>{"use strict";r(8374);var e=r(8362),t=r(860);const n=Object.values(t.K7);var i=r(384),s=r(1741);var a=r(2555),o=r(3333),c=r(9300);const d=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var u=r(2614),l=r(944),f=r(8122);const h="[data-nr-mask]",p=e=>(0,f.a)(e,(()=>{const e={feature_flags:[],experimental:{register:!1,resources:!1,iframe_bridge:!1,iframe_domains:[]},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0,capture_payloads:c.mo.NONE},api:{register:{get enabled(){return e.feature_flags.includes(o.$v.REGISTER)||e.experimental.register},set enabled(t){e.experimental.register=t},duplicate_data_to_container:!1,get allow_iframe_bridge(){return e.feature_flags.includes(o.$v.IFRAME_BRIDGE)||e.experimental.iframe_bridge},set allow_iframe_bridge(t){e.experimental.iframe_bridge=t},get iframe_domains(){return e.experimental.iframe_domains},set iframe_domains(t){Array.isArray(t)?e.experimental.iframe_domains=t:(0,l.R)(1,t)}}},browser_consent_mode:{enabled:!1},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1,capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(o.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:u.wk,inactiveMs:u.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inl
399ine_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){d(t)?e.mask_selector="".concat(t,",").concat(h):""===t||null===t?e.mask_selector=h:(0,l.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){d(t)?e.block_selector+=",".concat(t):""!==t&&(0,l.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,l.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]},web_sockets:{enabled:!1}}})());var g=r(6154),m=r(9324);let v=0;const y={buildEnv:"PROD",distMethod:"CDN",version:m.x,originTime:g.WN},b={consented:!1},E={activatedFeatures:void 0,appMetadata:{},configured:!1,get consented(){return this.session?.state?.consent||b.consented},set consented(e){b.consented=e},customTransaction:void 0,denyList:[],disabled:!1,drainRegistry:new Map,connector:void 0,harvester:void 0,v2Target:void 0,isolatedBacklog:!1,isRecording:!1,loaderType:void 0,maxBytes:3e4,obfuscator:void 0,onerror:void 0,ptid:void 0,releaseIds:{},session:void 0,timeKeeper:void 0,registeredEntities:[],jsAttributesMetadata:{bytes:0},get harvestCount(){return++v},listeningForIframeMessages:!1};var w=r(9232);var R=r(7836),T=r(3241);const A={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0};var S=r(9908),x=r(9752);function O(e,t={},n,o){let{init:c,info:d,loader_config:u,runtime:l={},exposed:h=!0}=t;if(!d){const e=(0,i.pV)();c=e.init,d=e.info,u=e.loader_config}var m;e.init=p(c||{}),e.loader_config=(m=u||{},(0,f.a)(m,A)),d.jsAttributes??={},g.bv&&(d.jsAttributes.isWorker=!0),e.info=(0,a.D)(d);const v=e.init;e.runtime??=(e=>{const t=(0,f.a)(e,E),r=Object.keys(y).reduce((e,t)=>(e[t]={value:y[t],writable:!1,configurable:!0,enumerable:!0},e),{});return Object.defineProperties(t,r)})(l),e.runtime.v2Target??={type:w.f.BA,instance:e.agentIdentifier,get id(){return e.runtime.appMetadata?.agents?.[0]?.entityGuid},get attributes(){return{"entity.guid":this.id,appId:e.info.applicationID}}},v.proxy.assets&&(e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e})(v.proxy.assets),e.runtime.configured||(Object.defineProperty(e,"beacons",{get:()=>[e.info.beacon,e.info.errorBeacon,e.init.proxy.assets,e.init.proxy.beacon].filter(Boolean)}),Object.defineProperty(e.runtime,"denyList",{get:()=>[...e.init.ajax.deny_list||[],...e.init.ajax.block_internal?e.beacons:[]]}),e.runtime.ptid=e.agentIdentifier,function(e){const t=(0,i.pV)();Object.getOwnPropertyNames(s.W.prototype).forEach(r=>{const n=s.W.prototype[r];if("function"!=typeof n||"constructor"===n)return;let i=t[r];e[r]&&!1!==e.exposed&&"micro-agent"!==e.runtime?.loaderType&&(t[r]=(...t)=>{const n=e[r](...t);return i?i(...t):n})})}(e),e.runtime.loaderType=n,e.ee=R.ee.get(e.agentIdentifier),e.exposed=h,(0,T.W)({drained:!!e.runtime.activatedFeatures,type:"lifecycle",name:"initialize",feature:void 0,data:e.config}),e.init.api.register.allow_iframe_bridge&&g.gm.addEventListener("message",t=>{"string"==typeof t.data?.type&&t.data.type.startsWith(x.Pl)&&(0,S.p)("iframe-message",[t],void 0,"IFRAME",e.ee)}),e.runtime.configured=!0)}var _=r(1863),k=r(4261),N=r(1738);var L=r(1687),M=r(4234),P=r(5289),I=r(5270),j=r(7767),C=r(6389),D=r(7699);const B=new WeakSet,H=new WeakMap;class W extends M.W{constructor(e,t){super(e,t),this.abortHandler=void 0,this.featAggregate=void 0,this.loadedSuccessfully=void 0,this.onAggregateImported=new Promise(e=>{this.loadedSuccessfully=e}),this.deferred=Promise.resolve(),!1===e.init[this.featureName].autoStart?this.deferred=new Promise((t,r)=>{this.ee.on("manual-start-all",(0,C.J)(()=>{(0,L.Ak)(e,this.featureName),t()}))}):(0,L.Ak)(e,t)}importAggregator(e,t,n={}){if(this.featAggregate)return;const i=async()=>{if(await this.deferred,this.#t(e),!(0,a.f)(e.info))return(0,l.R)(43),e.ee.abort(),void this.loadedSuccessfully(!1);try{await async function(e,t,n){if(H.has(e))return H.get(e);const i=(async()=>
399{if((0,j.V)(e.init))try{const{setupAgentSession:t}=await r.e(478).then(r.bind(r,8766));t(e)}catch(e){(0,l.R)(20,e),t.emit("internal-error",[e]),(0,S.p)(D.qh,[e],void 0,n,t)}if(e.init.api.register.allow_iframe_bridge)try{const{setupIframeMFEMessageListener:t}=await r.e(238).then(r.bind(r,6417));t(e)}catch(e){(0,l.R)(23,e)}const[{Connector:i},{Harvester:s}]=await Promise.all([r.e(478).then(r.bind(r,6589)),r.e(478).then(r.bind(r,5237))]);e.runtime.connector=new i(e),e.runtime.harvester=new s(e);const a=Object.values(e.features).filter(t=>e.runtime.drainRegistry.has(t.featureName));Promise.all(a.map(e=>e.onAggregateImported)).then(()=>e.runtime.harvester.startTimer())})();H.set(e,i),await i}(e,this.ee,this.featureName)}catch(e){return(0,l.R)(79,e),this.ee.abort(),void this.loadedSuccessfully(!1)}try{if(!this.#r(this.featureName,e.runtime.session,e.init))return this.abortHandler?.(),(0,L.Ze)(this.agentRef,this.featureName),void this.loadedSuccessfully(!1);const{Aggregate:r}=await t();this.featAggregate=new r(e,n),e.runtime.harvester.initializedAggregates.push(this.featAggregate),this.loadedSuccessfully(!0)}catch(e){(0,l.R)(34,e),this.abortHandler?.(),(0,L.Ze)(this.agentRef,this.featureName,!0),this.loadedSuccessfully(!1)}};g.RI?(0,P.GG)(()=>i(),!0):i()}#r(e,r,n){if(this.blocked)return!1;switch(e){case t.K7.sessionReplay:return(0,I.SR)(n)&&!!r;case t.K7.sessionTrace:return!!r;default:return!0}}#t(e){if(!B.has(e)&&(B.add(e),!(0,a.f)(e.info))){const t=(0,i.pV)();let r={...t.info?.jsAttributes};try{r={...r,...e.info?.jsAttributes}}catch(e){}O(e,{...t,info:{...t.info,jsAttributes:r},runtime:e.runtime},e.runtime.loaderType)}}}var U=r(6630);class K extends W{static featureName=U.T;constructor(e){var t;super(e,U.T),this.setupInspectionEvents(),t=e,(0,N.Y)(k.Fw,function(e,r){"string"==typeof e&&("/"!==e.charAt(0)&&(e="/"+e),t.runtime.customTransaction=(r||"http://custom.transaction")+e,(0,S.p)("api-"+k.Fw,[(0,_.t)()],void 0,void 0,t.ee))},t),this.importAggregator(e,()=>e.init.feature_flags.includes("rum_v2")?r.e(478).then(r.bind(r,908)):r.e(478).then(r.bind(r,7927)))}setupInspectionEvents(){const e=(e,t)=>{e&&(0,T.W)({timeStamp:e.timeStamp,loaded:"complete"===e.target.readyState,type:"window",name:t,data:e.target.location+""})};(0,P.sB)(t=>{e(t,"DOMContentLoaded")}),(0,P.GG)(t=>{e(t,"load")}),(0,P.Qr)(t=>{e(t,"navigate")}),this.ee.on(u.tS.UPDATE,(e,t)=>{(0,T.W)({type:"lifecycle",name:"session",data:t})})}}class F extends e.d{constructor(e){var t;(super(),g.gm)?(this.features={},(0,i.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(K),O(this,e,e.loaderType||"agent"),t=this,(0,N.Y)(k.cD,function(e,r,n=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof r)||null===r)return(0,N.U)(t,e,r,k.cD,n);(0,l.R)(40,typeof r)}else(0,l.R)(39,typeof e)},t),function(e){(0,N.Y)(k.Dl,function(t,r=!1){if("string"!=typeof t&&null!==t)return void(0,l.R)(41,typeof t);const n=e.info.jsAttributes["enduser.id"];r&&null!=n&&n!==t?(0,S.p)("api-setUserIdAndResetSession",[t],void 0,"session",e.ee):(0,N.U)(e,"enduser.id",t,k.Dl,!0)},e)}(this),function(e){(0,N.Y)(k.nb,function(t){if("string"==typeof t||null===t)return(0,N.U)(e,"application.version",t,k.nb,!1);(0,l.R)(42,typeof t)},e)}(this),function(e){(0,N.Y)("start",function(){e.ee.emit("manual-start-all")},e)}(this),function(e){(0,N.Y)(k.Pv,function(t=!0){if("boolean"==typeof t){if((0,S.p)("api-"+k.Pv,[t],void 0,"session",e.ee),e.runtime.consented=t,t){const t=e.features.page_view_event;t.onAggregateImported.then(e=>{const r=t.featAggregate;e&&!r.sentRum&&r.sendRum?.()})}}else(0,l.R)(65,typeof t)},e)}(this),this.run()):(0,l.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const e=function(e){const t={};return n.forEach(r=>{t[r]=!!e[r]?.enabled}),t}(this.init),r=[...this.desiredFeatures],i=this.init.feature_flags.includes("rum_v2");r.sort((e,r)=>t.P3[e.featureName]-t.P3[r.featureName]),r.forEach(r=>{if(!e[r.featureName]&&(i||r.featureName!==t.K7.pageViewEvent))return;const n=function(e){switch(e){case t.K7.ajax:return[t.K7.jserrors];case t.K7.sessionTrace:return[t.K7.ajax,t.K7.pageViewEvent];case t.K7.sessionReplay:return[t.K7.sessionTrace];case t.K7.pageViewTiming:return[t.K7.pageViewEvent];default:return[]}}(r.featureName).filter(e=>!(e in this.features));n.length>0&&(0,l.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)})}catch(e){(0,l.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,i.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}var V=r(2843),z=r(782);class G extends W{static featureName=z.T;constructor(e){super(e,z.T),g.RI&&((0,V.u)(()=>(0,S.p)("docHidden",[(0,_.t)()],void 0,z.T,this.ee),!0),(0,V.G)(()=>(0,S.p)("winPagehide",[(0,_.t)()],void 0,z.T,this.ee)),this.importAggregator(e,()=>r.e(478).then(r.bind(r,9917))))}}var q=r(3969);class Y extends W{static featureName=q.TZ;constructor(e){super(e,q.TZ),this.importAggregator(e,()=>r.e(478).then(r.bind(r,6555)))}}var Z=r(6774),J=r(3878),X=r(3304);class Q{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,X.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function ee(e){return ne(e)?e:new Q(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic,e?.cause)}function te(e){const t="Unhandled Promise Rejection: ";if(!e?.reason)return;if(ne(e.reason)){try{e.reason.message.startsWith(t)||(e.reason.message=t+e.reason.message)}catch(e){}return ee(e.reason)}const r=ee(e.reason);return(r.message||"").startsWith(t)||(r.message=t+r.message),r}function re(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new Q(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic,e.cause);return t.name=SyntaxError.name,t}return ne(e.error)?e.error:ee(e)}function ne(e){return e instanceof Error&&!!e.stack}function ie(e,r,n,i,s=(0,_.t)()){"string"==typeof e&&(e=new Error(e)),(0,S.p)("err",[e,s,!1,r,n.runtime.isRecording,void 0,i],void 0,t.K7.jserrors,n.ee),(0,S.p)("uaErr",[],void 0,t.K7.genericEvents,n.ee)}var se=r(993),ae=r(3785);function oe(e,{customAttributes:t={},level:r=se.p_.INFO}={},n,i,s=(0,_.t)()){(0,ae.R)(n.ee,e,t,r,!1,i,s)}function ce(e,r,n,i,s=(0,_.t)()){(0,S.p)("api-"+k.hG,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}function de(e,r,n,i,s=(0,_.t)()){const{start:a,end:o,customAttributes:c}=r||{},d={customAttributes:c||{}};if("object"!=typeof d.customAttributes||"string"!=typeof e||0===e.length)return void(0,l.R)(57);const u=(e,t)=>
399null==e?t:"number"==typeof e?e:e instanceof PerformanceMark?e.startTime:Number.NaN;if(d.start=u(a,0),d.end=u(o,s),Number.isNaN(d.start)||Number.isNaN(d.end))(0,l.R)(57);else{if(d.duration=d.end-d.start,!(d.duration<0))return(0,S.p)("api-"+k.V1,[d,e,i],void 0,t.K7.genericEvents,n.ee),d;(0,l.R)(58)}}function ue(e,r={},n,i,s=(0,_.t)()){(0,S.p)("api-"+k.fF,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}var le=r(5718);const fe=(e,t)=>e?.nrMfeId===t.id&&(!e?.nrMfeObserved||e?.nrMfeObserved===t.instance),he=e=>{try{return g.gm.CSS.escape(e)}catch(t){return e}},pe=(e,t={})=>{const r=t.id,n=t.instance;if(!e||!r||!n)return!1;try{let r=1===e.nodeType?e:e.parentElement;for(;r?.tagName;){if(fe(r.dataset,t))return r.dataset.nrMfeObserved=n,!0;r=r.parentNode}}catch(e){}return!1},ge=(e,t)=>{const r=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]')),n=(Array.from(r)||[]).find(t=>fe(t.dataset,e));let i=!!n;i&&(n.dataset.nrMfeObserved??=e.instance);const s=new g.gm.MutationObserver(r=>{r.forEach(r=>{r.addedNodes.forEach(r=>{const n=1===r.nodeType?r:null;!i&&fe(n?.dataset,e)&&(s.disconnect(),s.observe(n,{childList:!0,subtree:!0}),i=!0,n.dataset.nrMfeObserved=e.instance),(e=>{try{return e?.textContent?.trim()||["img","video","canvas","svg"].includes(e?.nodeName?.toLowerCase())}catch(e){return!1}})(r)&&(i||pe(r,e))&&t(r,s)})})});return s.observe(n||g.gm.document,{childList:!0,subtree:!0}),s},me=(e,t,r)=>{try{const n=new g.gm.PerformanceObserver(e=>{e.getEntries().forEach(r)});return n.observe(t),e.push(n),n}catch(e){return null}};function ve(e,t){let r,n,i=!1;const s=e=>null==e?e:e-(t?.scriptStart||t?.registeredAt||0),a={fcp:{get value(){const e=s(r);return e>1e4?void 0:e},set value(e){i||(r=e)}},lcp:{get value(){if(void 0!==a.fcp.value)return s(n)},set value(e){i||(n=e)}},cls:{value:void 0},inp:{value:void 0},disconnect:()=>{}};if(!(e&&g.RI&&g.gm.MutationObserver&&g.gm.PerformanceObserver))return a;const o=[];setTimeout(()=>{r||a.disconnect()},1e4);const c=()=>{if(!i){if(null==r){const e=(0,_.t)();if(s(e)>1e4)return void a.disconnect();r=e}n??=(0,_.t)(),a.cls.value??=0}},d=ge(e,(e,t)=>{c(),t.disconnect()});o.push(d);let u=0,l=null;const f=new Set;try{l=new g.gm.ResizeObserver(e=>{i||e.forEach(e=>{try{const t=e.contentRect.width*e.contentRect.height;t>u&&(u=t,a.lcp.value=(0,_.t)()),l.unobserve(e.target)}catch(e){}})})}catch(e){}const h=ge(e,e=>{if(c(),l)try{const t=1===e.nodeType?e:e.parentElement;t&&!f.has(t)&&(f.add(t),"IMG"===t.tagName?t.complete?l.observe(t):t.addEventListener("load",()=>{l.observe(t)},{once:!0}):"VIDEO"===t.tagName?t.readyState>=2?l.observe(t):t.addEventListener("loadeddata",()=>{l.observe(t)},{once:!0}):l.observe(t))}catch(e){}});l&&o.push(l),o.push(h),me(o,{type:"layout-shift",buffered:!0},t=>{i||t.hadRecentInput||(t.sources||[]).some(r=>!!pe(r.node,e)&&(c(),a.cls.value+=t.value,!0))}),me(o,{type:"event",buffered:!0,durationThreshold:40},t=>{!i&&t.interactionId&&pe(t.target,e)&&(void 0===a.inp.value||t.duration>a.inp.value)&&(c(),a.inp.value=t.duration)});const p=["pointerdown","keydown"],m=()=>{p.forEach(e=>{g.gm.removeEventListener(e,v,{passive:!0})})};a.disconnect=()=>{i=!0,o.forEach(e=>{try{e?.disconnect()}catch(e){}}),m(),["visibilitychange","pagehide"].forEach(e=>{g.gm.removeEventListener(e,a.disconnect,{once:!0,passive:!0})})};const v=t=>{pe(t?.target,e)&&((()=>{try{h?.disconnect(),l?.disconnect()}catch(e){}})(),m())};p.forEach(e=>{g.gm.addEventListener(e,v,{passive:!0})}),["visibilitychange","pagehide"].forEach(e=>{g.gm.addEventListener(e,a.disconnect,{once:!0,passive:!0})});const y=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]'));return Array.from(y||[]).some(t=>fe(t.dataset,e))&&c(),a}var ye=r(9566),be=r(7560),Ee=r(9119);const we=["entry","scripts","all"],Re=["name","id","type"],Te=new Map([[ce,"addPageAction"],[oe,"log"],[de,"measure"],[ie,"noticeError"],[ue,"recordCustomEvent"]]),Ae={experimental:(0,C.J)(()=>(0,l.R)(54,"newrelic.register")),disabled:(0,C.J)(()=>(0,l.R)(55)),invalidTarget:(0,C.J)(e=>(0,l.R)(48,e)),deregistered:(0,C.J)(()=>(0,l.R)(68)),invalidTimingMethod:(0,C.J)(e=>(0,l.R)(80,e)),duplicateName:(0,C.J)(e=>(0,l.R)(81,e)),duplicateId:(0,C.J)(e=>(0,l.R)(82,e))};function Se(e){(0,N.Y)(k.eY,function(t){return xe(e,t)},e)}function xe(e,r){Ae.experimental(),r||={},r.instance=(0,ye.LA)(8),r.type=w.f.MFE,r.licenseKey||=e.info.licenseKey,r.blocked=!1,("object"!=typeof r.tags||null===r.tags||Array.isArray(r.tags))&&(r.tags={}),r.parent??={get id(){return e.runtime.appMetadata.agents?.[0].entityGuid},type:w.f.BA},r.manifest=(0,be.N)(r.manifest),void 0===r.timingMethod||we.includes(r.timingMethod)||(Ae.invali
399dTimingMethod(r.timingMethod),r.timingMethod=void 0);const n=(0,le.Qr)(r);r.manifest&&(0,le.xo)(n,r);const i=ve(r,n),s=(0,Ee.L)(""+location),a={};Object.prototype.hasOwnProperty.call(r,"attributes")||Object.defineProperty(r,"attributes",{get:()=>({...a,"source.id":r.id,"source.name":r.name,"source.type":r.type,"parent.type":r.parent?.type||w.f.BA,"parent.id":r.parent?.id})}),Object.entries(r.tags).forEach(([e,t])=>{Re.includes(e)||(a["source.".concat(e)]=t)});let o=()=>{};const c=e.runtime.registeredEntities,d=e=>{r.blocked=!0,o=e};function u(e){return"string"==typeof e&&!!e.trim()&&e.trim().length<501}e.init.api.register.enabled||d(Ae.disabled),u(r.id)&&u(r.name)||d(()=>Ae.invalidTarget(r)),c.forEach(e=>{try{const{name:t,id:n}=e.metadata.target;t===r.name&&n!==r.id&&Ae.duplicateName(r),n===r.id&&t!==r.name&&Ae.duplicateId(r)}catch(e){}});const f={addPageAction:(t,n={})=>m(ce,[t,{...a,...n},e],r),deregister:()=>{p(),d(Ae.deregistered)},log:(t,n={})=>m(oe,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),measure:(t,n={})=>m(de,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),noticeError:(t,n={})=>m(ie,[t,{...a,...n},e],r),recordCustomEvent:(t,n={})=>m(ue,[t,{...a,...n},e],r),setApplicationVersion:e=>g("application.version",e),setCustomAttribute:(e,t)=>g(e,t),setUserId:e=>g("enduser.id",e),metadata:{get customAttributes(){return a},target:r,timings:n,vitals:i,events:{latestTimestamp:void 0}}},h=()=>(r.blocked&&o(),r.blocked);function p(){if(n.reportedAt)return;n.reportedAt=(0,_.t)(),i.disconnect(),n.fcp=i.fcp,n.lcp=i.lcp,n.cls=i.cls,n.inp=i.inp;const e=n.fetchEnd-n.fetchStart,t=n.scriptEnd-n.scriptStart,r={assetUrl:n.asset,assetType:n.type,registerUrl:s,deregisterUrl:(0,Ee.L)(""+location),pageUrl:void 0,currentUrl:void 0,timeAlive:n.reportedAt-n.registeredAt,timeToBeRequested:n.fetchStart,timeToExecute:t,timeToFetch:e,timeToLoad:e+t,t
399imeToRegister:n.registeredAt,totalWeight:n.totalWeight,...void 0!==n.renderBlocking&&{renderBlocking:n.renderBlocking},...i.fcp.value>=0&&{"vitals.fcp.value":i.fcp.value},...i.lcp.value>=0&&{"vitals.lcp.value":i.lcp.value},...i.cls.value>=0&&{"vitals.cls.value":i.cls.value},...i.inp.value>=0&&{"vitals.inp.value":i.inp.value}};f.recordCustomEvent("MicroFrontEndTiming",r)}h()||(c.push(f),(0,V.G)(p));const g=(e,t)=>{h()||(a[e]=t)},m=(r,n,i)=>{if(h()&&r!==xe)return;const s=f.metadata.events.latestTimestamp??(0,_.t)();f.metadata.events.latestTimestamp=void 0;const a=Te.get(r)||"unknown";(0,S.p)(q.xV,["API/register/".concat(a,"/called")],void 0,t.K7.metrics,e.ee);try{return r(...n,i,s)}catch(e){(0,l.R)(50,e)}};return f}class Oe extends W{static featureName=Z.T;constructor(e){var t;super(e,Z.T),t=e,(0,N.Y)(k.o5,(e,r)=>ie(e,r,t),t),function(e){(0,N.Y)(k.bt,function(t){e.runtime.onerror=t},e)}(e),function(e){let t=0;(0,N.Y)(k.k6,function(e,r){++t>10||(this.runtime.releaseIds[e.slice(-200)]=(""+r).slice(-200))},e)}(e),Se(e);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",(t,r)=>{this.abortHandler&&(0,S.p)("ierr",[ee(t),(0,_.t)(),!0,{},e.runtime.isRecording,r],void 0,this.featureName,this.ee)}),g.gm.addEventListener("unhandledrejection",t=>{this.abortHandler&&(0,S.p)("err",[te(t),(0,_.t)(),!1,{unhandledPromiseRejection:1},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),g.gm.addEventListener("error",t=>{this.abortHandler&&(0,S.p)("err",[re(t),(0,_.t)(),!1,{},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e,()=>r.e(478).then(r.bind(r,9377)))}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var _e=r(8990);let ke=1;function Ne(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===g.gm?0:(0,_e.I)(e,"nr@id",function(){return ke++})}function Le(e){if("string"==typeof e)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,X.A)(e).length}catch(e){return}}}var Me=r(8139),Pe=r(3434),Ie=r(5732);const je={},Ce=["open","send","setRequestHeader"];function De(e,t){var r=e||R.ee;const n=function(e){return(e||R.ee).get("xhr")}(r);if(void 0===g.gm.XMLHttpRequest)return n;if(je[n.debugId]++)return n;je[n.debugId]=1,(0,Me.u)(r,t);var i=(0,Pe.YM)(n,void 0,t),s=g.gm.XMLHttpRequest,a=g.gm.MutationObserver,o=g.gm.Promise,c=g.gm.setInterval,d="readystatechange",u=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],f=[],h=g.gm.XMLHttpRequest=function(e){const r=new s(e),a=n.context(r);a.targets=(0,Ie.$5)(t);try{n.emit("new-xhr",[r],a),r.addEventListener(d,(o=a,function(){var e=this;e.readyState>3&&!o.resolved&&(o.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,u,"fn-",E)}),(0,J.jT)(!1))}catch(e){(0,l.R)(15,e);try{n.emit("internal-error",[e])}catch(e){}}var o;return r};function p(e,t){i.inPlace(t,["onreadystatechange"],"fn-",E)}if(function(e,t){for(var r in e)t[r]=e[r]}(s,h),h.prototype=s.prototype,i.inPlace(h.prototype,Ce,"-xhr-",E),n.on("send-xhr-start",function(e,t){p(e,t),function(e){f.push(e),a&&(m?m.then(b):c?c(b):(v=-v,y.data=v))}(t)}),n.on("open-xhr-start",p),a){var m=o&&o.resolve();if(!c&&!o){var v=1,y=document.createTextNode(v);new a(b).observe(y,{characterData:!0})}}else r.on("fn-end",function(e){e[0]&&e[0].type===d||b()});function b(){for(var e=0;e<f.length;e++)p(0,f[e]);f.length&&(f=[])}function E(e,t){return t}return n}var Be="fetch-",He=Be+"body-",We=["arrayBuffer","blob","json","text","formData"],Ue=g.gm.Request,Ke=g.gm.Response,Fe="prototype";const Ve={};function ze(e,t){const r=function(e){return(e||R.ee).get("fetch")}(e);if(!(Ue&&Ke&&g.gm.fetch))return r;if(Ve[r.debugId]++)return r;function n(e,n,i){var s=e[n];"function"==typeof s&&(e[n]=function(){var e=[...arguments];const n={},a=(0,Ie.$5)(t);var o;r.emit(i+"before-start",[e],n),n[R.P]&&n[R.P].dt&&(o=n[R.P].dt);var c=s.apply(this,e);return r.emit(i+"start",[e,o],c),c.then(function(e){return r.emit(i+"end",[null,e,a],c),e},function(e){throw r.emit(i+"end",[e,void 0,a],c),e})})}
399return Ve[r.debugId]=1,We.forEach(e=>{n(Ue[Fe],e,He),n(Ke[Fe],e,He)}),n(g.gm,"fetch",Be),r.on(Be+"end",function(e,n,i){var s=this;if(s.targets=i||[t.runtime.v2Target],n){var a=n.headers.get("content-length");null!==a&&(s.rxSize=a),r.emit(Be+"done",[null,n],s)}else r.emit(Be+"done",[e],s)}),r}var Ge=r(7485);class qe{constructor(e){this.agentRef=e}generateTracePayload(e){const t=this.agentRef.loader_config;if(!this.shouldGenerateTrace(e)||!t)return null;var r=(t.accountID||"").toString()||null,n=(t.agentID||"").toString()||null,i=(t.trustKey||"").toString()||null;if(!r||!n)return null;var s=(0,ye.ZF)(),a=(0,ye.el)(),o=Date.now(),c={spanId:s,traceId:a,timestamp:o};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(c.traceContextParentHeader=this.generateTraceContextParentHeader(s,a),c.traceContextStateHeader=this.generateTraceContextStateHeader(s,o,r,n,i)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(c.newrelicHeader=this.generateTraceHeader(s,a,o,r,n,i)),c}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,s){if(!("function"==typeof g.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return s&&n!==s&&(a.d.tk=s),btoa((0,X.A)(a))}shouldGenerateTrace(e){return this.agentRef.init?.distributed_tracing?.enabled&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1;const r=this.agentRef.init?.distributed_tracing;if(e.sameOrigin)t=!0;else if(r?.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,Ge.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}excludeNewrelicHeader(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.cors_use_tracecontext_headers}}var Ye=r(7295);function Ze(e){return"string"==typeof e?e:e instanceof(0,i.dV)().o.REQ?e.url:g.gm?.URL&&e instanceof URL?e.href:void 0}function $e(e,t){var r=(0,Ge.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}var Je=["load","error","abort","timeout"],Xe=Je.length,Qe=(0,i.dV)().o.REQ,et=(0,i.dV)().o.XHR;const tt="X-NewRelic-App-Data",rt="internal-error";class nt extends W{static featureName=c.TZ;constructor(e){super(e,c.TZ),this.dt=new qe(e),this.handler=(e,t,r,n)=>(0,S.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};g.gm?.performance?.getEntriesByType("resource").forEach(r=>{if(r.initiatorType in e&&0!==r.responseStatus){const n={status:r.responseStatus},i={rxSize:r.transferSize,duration:Math.floor(r.duration),cbTime:0};$e(n,r.name),this.handler("xhr",[n,i,r.startTime,r.responseEnd,e[r.initiatorType]],void 0,t.K7.ajax)}})}catch(e){}ze(this.ee,e),De(this.ee,e),function(e,r,n,i){const s=[c.mo.ALL,c.mo.FAILURES].includes(e.init.ajax?.capture_payloads);function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=A,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},t.latestLongtaskEnd=0,e.addEventListener("load",function(r){O(t,e)},(0,J.jT)(!1)),g.lR||e.addEventListener("progress",function(e){t.lastSize=e.loaded},(0,J.jT)(!1))}function o(e){this.params={method:e[0]},$e(this,e[1]),this.metrics={}}function d(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var n=i.generateTracePayload(this.parsedOrigin);if(n){var s=!1;n.newrelicHeader&&(r.setRequestHeader("newrelic",n.newrelicHeader),s=!0),n.traceContextParentHeader&&(r.setRequestHeader("traceparent",n.traceContextParentHeader),n.traceContextStateHeader&&r.setRequestHeader("tracestate",n.traceContextStateHeader),s=!0),s&&(this.dt=n)}}function u(e,t){s&&e.length>=2&&(this.requestHeaders??={},this.requestHeaders[e[0].toLowerCase()]=e[1])}function l(e,t){var n=this.metrics,i=e[0],s=this;if(n&&i){var a=Le(i);a&&(n.txSize=a)}this.startTime=(0,_.t)(),this.requestBody=i,this.listener=function(e){try{"abort"!==e.type||s.loadCaptureCalled||(s.params.aborted=!0),("load"
399!==e.type||s.called===s.totalCbs&&(s.onloadCalled||"function"!=typeof t.onload)&&"function"==typeof s.end)&&s.end(t)}catch(e){try{r.emit(rt,[e])}catch(e){}}};for(var o=0;o<Xe;o++)t.addEventListener(Je[o],this.listener,(0,J.jT)(!1))}function f(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function h(e,t){var r=""+Ne(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function p(e,t){var r=""+Ne(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function m(){this.endTime=(0,_.t)()}function v(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-added",[e[1],e[2]],t)}function y(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-removed",[e[1],e[2]],t)}function b(e,t,r){t instanceof et&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,_.t)()))}function E(e,t){this.xhrCbStart&&r.emit("xhr-cb-time",[(0,_.t)()-this.xhrCbStart,this.onload,t],t)}function w(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&g.RI&&(t=""+g.gm.location.href):e[0]&&e[0].url?t=e[0].url:g.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,Ge.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var n=i.generateTracePayload(this.parsedOrigin);if(n&&(n.newrelicHeader||n.traceContextParentHeader))if(e[0]&&e[0].headers)o(e[0].headers,n)&&(this.dt=n);else{var s={};for(var a in r)s[a]=r[a];s.headers=new Headers(r.headers||{}),o(s.headers,n)&&(this.dt=n),e.length>1?e[1]=s:e.push(s)}}function o(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function R(e,t){this.params={},this.metrics={},this.startTime=(0,_.t)(),this.dt=t;let[r,n={}]=e;$e(this,Ze(r));const i=(""+(r&&r instanceof Qe&&r.method||n.method||"GET")).toUpperCase();this.params.method=i,this.txSize=Le(n.body||r?.body)||0;try{var a=n.headers||r?.headers;if(s&&a)if(this.requestHeaders??={},a instanceof Headers)a.forEach(function(e,t){this.requestHeaders[t.toLowerCase()]=e}.bind(this));else if("object"==typeof a)for(var o in a)this.requestHeaders[o.toLowerCase()]=a[o]}catch(e){}this.requestBody=n.body||r?.body}function T(e,t){if(this.endTime=(0,_.t)(),this.params||(this.params={}),(0,Ye.iW)(this.params))return;this.params.status=t?t.status:0;const n=()=>{const e=+this.rxSize,t=null==this.rxSize||isNaN(e)?void 0:e,r={txSize:this.txSize,rxSize:t,duration:this.endTime-this.startTime},n=[this.params,r,this.startTime,this.endTime,"fetch"];this.targets.forEach(e=>x(n,this,e))};t&&s?t.clone().text().then(e=>{this.responseBody=e,this.rxSize&&"0"!==this.rxSize&&0!==this.rxSize||void 0===e||0===this.params.status||(this.rxSize=Le(e)),t?.headers&&(this.responseHeaders={},t.headers.forEach(function(e,t){this.responseHeaders[t.toLowerCase()]=e}.bind(this)))}).catch(e=>{r.emit(rt,[e])}).finally(()=>{n()}):n()}function A(e){const t=this.params,n=this.metrics;if(this.ended)return;this.ended=!0;for(let t=0;t<Xe;t++)e.removeEventListener(Je[t],this.listener,!1);if(t.aborted)return;if((0,Ye.iW)(t))return;if(n.duration=this.endTime-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):O(this,e),n.cbTime=this.cbTime,s){try{this.responseBody=e.responseText}catch(t){this.responseBody=e.response}if((!n.rxSize||0===n.rxSize)&&void 0!==this.responseBody&&0!==t.status){const e=Le(this.responseBody);void 0!==e&&(n.rxSize=e)}try{this.responseHeaders=function(e){const t={};return e?(e.split("\r\n").forEach(function(e){const r=e.indexOf(": ");if(r>0){const n=e.substring(0,r),i=e.substring(r+2);t[n.toLowerCase()]=i}}),t):t}(e.getAllResponseHeaders())}catch(e){r.emit(rt,[e])}}const i=[t,n,this.startTime,this.endTime,"xhr"];this.targets.forEach(e=>x(i,this,e))}function x(e,r,i){n("xhr",[...e,i],r,t.K7.ajax)}function O(e,n){e.params.status=n.status;var i=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?Le(e.response):"text"===r||""===r||void 0===r?Le(e.responseText):void 0}(n,e.lastSize);if(void 0!==i&&0!==n.status&&(e.metrics.rxSize=i),e.sameOrigin&&n.getAllResponseHeaders().indexOf(tt)>=0){var s=n.getResponseHeader(tt);s&&((0,S.p)("sm",["Ajax/CrossApplicationTracing/Header/Seen"],void 0,t.K7.metrics,r),e.params.cat=s.split(", ").pop())}e.loadCaptureCalled=!0}r.on("new-xhr",a),r.on("open-xhr-start",o),r.on("open-xhr-end",d),r.on("send-xhr-start",l),r.on("setRequestHeader-xhr-start",u),r.on("xhr-cb-time",f),r.on("xhr-load-added",h),r.on("xhr-load-removed",p),r.on("xhr-resolved",m),r.on("addEventListener-end",v),r.on("removeEventListener-end",y),r.on("fn-end",E),r.on("fetch-before-start",w),r.on("fetch-start",R),r.on("fn-start",b),r.on("fetch-done",T)}(e,this.ee,this.handler,this.dt),this.importAggregator(e,()=>r.e(478).then(r.bind(r,3845)))}}const it={},st=["pushState","replaceState"];function at(e,t){const r=function(e){return(e||R.ee).get("history")}(e);return!g.RI||it[r.debugId]++||(it[r.debugId]=1,(0,Pe.YM)(r,void 0,t).inPlace(window.history,st,"-")),r}var ot=r(3738);function ct(e){(0,N.Y)(k.BL,function(r=Date.now()){const n=r-g.WN;n<0&&(0,l.R)(62,r),(0,S.p)(q.XG,[k.BL,{time:n}],void 0,t.K7.metrics,e.ee),e.addToTrace({name:k.BL,start:r,origin:"nr"}),(0,S.p)("api-"+k.hG,[n,k.BL],void 0,t.K7.genericEvents,e.ee)},e)}const{He:dt,bD:ut,d3:lt,Kp:ft,TZ:ht,Lc:pt,uP:gt,Rz:mt}=ot;class vt extends W{static featureName=ht;constructor(e){var n;super(e,ht),n=e,(0,N.Y)(k.U2,function(e){if(!(e&&"object"==typeof e&&e.name&&e.start))return;const r={n:e.name,s:e.start-g.WN,e:(e.end||e.start)-g.WN,o:e.origin||"",t:"api"};r.s<0||r.e<0||r.e<r.s?(0,l.R)(61,{start:r.s,end:r.e}):(0,S.p)("bstApi",[r],void 0,t.K7.sessionTrace,n.ee)},n),ct(e);
399if(!(0,j.V)(e.init))return void this.deregisterDrain();const i=this.ee;let s;at(i,e),this.eventsEE=(0,Me.u)(i,e),this.eventsEE.on(gt,function(e,t){this.bstStart=(0,_.t)()}),this.eventsEE.on(pt,function(e,r){(0,S.p)("bst",[e[0],r,this.bstStart,(0,_.t)()],void 0,t.K7.sessionTrace,i)}),i.on(mt+lt,function(e){this.time=(0,_.t)(),this.startPath=location.pathname+location.hash}),i.on(mt+ft,function(e){(0,S.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,t.K7.sessionTrace,i)});try{s=new PerformanceObserver(e=>{const r=e.getEntries();(0,S.p)(dt,[r],void 0,t.K7.sessionTrace,i)}),s.observe({type:ut,buffered:!0})}catch(e){}this.importAggregator(e,()=>r.e(478).then(r.bind(r,6974)),{resourceObserver:s})}}var yt=r(733),bt=r(6344);class Et extends W{static featureName=bt.TZ;#i;recorder;constructor(e){var n;let i;super(e,bt.TZ),n=e,(0,N.Y)(k.CH,function(){(0,S.p)(k.CH,[],void 0,t.K7.sessionReplay,n.ee)},n),function(e){(0,N.Y)(k.Tb,function(){(0,S.p)(k.Tb,[],void 0,t.K7.sessionReplay,e.ee)},e)}(e);const s="".concat(u.Wt).concat((0,yt.Y)(e.info.licenseKey,e.info.applicationID));try{i=JSON.parse(localStorage.getItem(s))}catch(e){}(0,I.SR)(e.init)&&this.ee.on(k.CH,()=>this.#s()),this.#a(i)&&this.importRecorder().then(e=>{e.startRecording(bt.Qb.PRELOAD,i?.sessionReplayMode)}),this.abortHandler=this.#n,this.importAggregator(this.agentRef,()=>r.e(478).then(r.bind(r,6167)),this),this.ee.on("err",e=>{this.blocked||this.agentRef.runtime.isRecording&&(this.errorNoticed=!0,(0,S.p)(bt.Vh,[e],void 0,this.featureName,this.ee))})}#a(e){return e&&(e.sessionReplayMode===u.g.FULL||e.sessionReplayMode===u.g.ERROR)||(0,I.Aw)(this.agentRef.init)}importRecorder(){return this.recorder?Promise.resolve(this.recorder):(this.#i??=Promise.all([r.e(478),r.e(249)]).then(r.bind(r,4866)).then(({Recorder:e})=>(this.recorder=new e(this),this.recorder)).catch(e=>{throw this.ee.emit("internal-error",[e]),this.blocked=!0,e}),this.#i)}#s(){this.blocked||(this.featAggregate?this.featAggregate.mode!==u.g.FULL&&this.featAggregate.initializeRecording(u.g.FULL,!0,bt.Qb.API):this.importRecorder().then(()=>{this.recorder.startRecording(bt.Qb.API,u.g.FULL)}))}#n(){this.recorder?.stopRecording()}}var wt=r(3962);class Rt extends W{static featureName=wt.TZ;constructor(e){if(super(e,wt.TZ),function(e){const r=e.ee.get("tracer");function n(){}(0,N.Y)(k.dT,function(e){return(new n).get("object"==typeof e?e:{})},e);const i=n.prototype={createTracer:function(n,i){var s={},a=this,o="function"==typeof i;return(0,S.p)(q.xV,["API/createTracer/called"],void 0,t.K7.metrics,e.ee),function(){if(r.emit((o?"":"no-")+"fn-start",[(0,_.t)(),a,o],s),o)try{return i.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw r.emit("fn-err",[arguments,this,t],s),t}finally{r.emit("fn-end",[(0,_.t)()],s)}}}};["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach(r=>{N.Y.apply(this,[r,function(){return(0,S.p)(k.hw+r,[performance.now(),...arguments],this,t.K7.softNav,e.ee),this},e,i])}),(0,N.Y)(k.PA,function(){(0,S.p)(k.hw+"routeName",[performance.now(),...arguments],void 0,t.K7.softNav,e.ee)},e)}(e),!g.RI||!(0,i.dV)().o.MO)return;const n=at(this.ee,e);try{this.removeOnAbort=new AbortController}catch(e){}wt.tC.forEach(e=>{(0,J.sp)(e,e=>{c(e)},!0,this.removeOnAbort?.signal)}
399);const s=()=>(0,S.p)("newURL",[(0,_.t)(),""+window.location],void 0,this.featureName,this.ee);n.on("pushState-end",s),n.on("replaceState-end",s),(0,J.sp)(wt.OV,e=>{c(e),(0,S.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)},!0,this.removeOnAbort?.signal);let a=!1;const o=new((0,i.dV)().o.MO)((e,t)=>{a||(a=!0,requestAnimationFrame(()=>{(0,S.p)("newDom",[(0,_.t)()],void 0,this.featureName,this.ee),a=!1}))}),c=(0,C.s)(e=>{"loading"!==document.readyState&&((0,S.p)("newUIEvent",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0}))},100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,()=>r.e(478).then(r.bind(r,4393)),{domObserver:o})}}var Tt=r(981);const At={},St=new Set;function xt(e){return"string"==typeof e?{type:"string",size:(new TextEncoder).encode(e).length}:e instanceof ArrayBuffer?{type:"ArrayBuffer",size:e.byteLength}:e instanceof Blob?{type:"Blob",size:e.size}:e instanceof DataView?{type:"DataView",size:e.byteLength}:ArrayBuffer.isView(e)?{type:"TypedArray",size:e.byteLength}:{type:"unknown",size:0}}class Ot{constructor(e,t){this.timestamp=(0,_.t)(),this.currentUrl=(0,Ee.L)(window.location.href),this.socketId=(0,ye.LA)(8),this.requestedUrl=(0,Ee.L)(e),this.requestedProtocols=Array.isArray(t)?t.join(","):t||"",this.openedAt=void 0,this.protocol=void 0,this.extensions=void 0,this.binaryType=void 0,this.messageOrigin=void 0,this.messageCount=0,this.messageBytes=0,this.messageBytesMin=0,this.messageBytesMax=0,this.messageTypes=void 0,this.sendCount=0,this.sendBytes=0,this.sendBytesMin=0,this.sendBytesMax=0,this.sendTypes=void 0,this.closedAt=void 0,this.closeCode=void 0,this.closeReason="unknown",this.closeWasClean=void 0,this.connectedDuration=0,this.hasErrors=void 0}}class _t extends W{static featureName=o.TZ;constructor(e){super(e,o.TZ);const n=e.init.feature_flags.includes("websockets")||e.init.web_sockets?.enabled,s=!e.init.feature_flags.includes("no_spv"),a=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.performance.resources.enabled,e.init.user_actions.enabled,n,s];var c;let d;if(c=e,(0,N.Y)(k.hG,(e,t)=>ce(e,t,c),c),function(e){(0,N.Y)(k.fF,(t,r)=>ue(t,r,e),e)}(e),ct(e),Se(e),function(e){(0,N.Y)(k.V1,(t,r)=>de(t,r,e),e)}(e),this.removeOnAbort=new AbortController,this.abortHandler=()=>{this.removeOnAbort.abort(),this.abortHandler=void 0},n){const u=function(e,t){if(!(0,i.dV)().o.WS)return e;const r=e.get("websockets");if(At[r.debugId]++)return r;At[r.debugId]=1,(0,V.G)(()=>{const e=(0,_.t)();St.forEach(t=>{t.nrData.closedAt=e,t.nrData.closeCode=1001,t.nrData.closeReason="Page navigating away",t.nrData.closeWasClean=!1,t.nrData.openedAt&&(t.nrData.connectedDuration=e-t.nrData.openedAt),r.emit("ws",[t.nrData,t.targets],t)})});
399class n extends WebSocket{static name=Tt.R.WS;static toString(){return"function WebSocket() { [native code] }"}toString(){return"[object WebSocket]"}get[Symbol.toStringTag](){return n.name}#o(e){(e.__newrelic??={}).socketId=this.nrData.socketId,this.nrData.hasErrors??=!0}constructor(...e){super(...e),this.nrData=new Ot(e[0],e[1]),this.targets=(0,Ie.$5)(t),this.addEventListener("open",()=>{this.nrData.openedAt=(0,_.t)(),["protocol","extensions","binaryType"].forEach(e=>{this.nrData[e]=this[e]}),St.add(this)}),this.addEventListener("message",e=>{const{type:t,size:r}=xt(e.data);this.nrData.messageOrigin??=(0,Ee.L)(e.origin),this.nrData.messageCount++,this.nrData.messageBytes+=r,this.nrData.messageBytesMin=Math.min(this.nrData.messageBytesMin||1/0,r),this.nrData.messageBytesMax=Math.max(this.nrData.messageBytesMax,r),(this.nrData.messageTypes??"").includes(t)||(this.nrData.messageTypes=this.nrData.messageTypes?"".concat(this.nrData.messageTypes,",").concat(t):t)}),this.addEventListener("close",e=>{this.nrData.closedAt=(0,_.t)(),this.nrData.closeCode=e.code,e.reason&&(this.nrData.closeReason=e.reason),this.nrData.closeWasClean=e.wasClean,this.nrData.connectedDuration=this.nrData.closedAt-this.nrData.openedAt,St.delete(this),r.emit("ws",[this.nrData,this.targets],this)})}addEventListener(e,t,...r){const n=this,i="function"==typeof t?function(...e){try{return t.apply(this,e)}catch(e){throw n.#o(e),e}}:t?.handleEvent?{handleEvent:function(...e){try{return t.handleEvent.apply(t,e)}catch(e){throw n.#o(e),e}}}:t;return super.addEventListener(e,i,...r)}send(e){if(this.readyState===WebSocket.OPEN){const{type:t,size:r}=xt(e);this.nrData.sendCount++,this.nrData.sendBytes+=r,this.nrData.sendBytesMin=Math.min(this.nrData.sendBytesMin||1/0,r),this.nrData.sendBytesMax=Math.max(this.nrData.sendBytesMax,r),(this.nrData.sendTypes??"").includes(t)||(this.nrData.sendTypes=this.nrData.sendTypes?"".concat(this.nrData.sendTypes,",").concat(t):t)}try{return super.send(e)}catch(e){throw this.#o(e),e}}close(...e){try{super.close(...e)}catch(e){throw this.#o(e),e}}}return g.gm.WebSocket=n,r}(this.ee,e);u.on("ws",(e,t)=>{(0,S.p)("ws-complete",[e,t],void 0,this.featureName,this.ee)})}if(s){if("function"==typeof g.gm.ReportingObserver){const l=new g.gm.ReportingObserver(e=>{e.forEach(e=>{(0,S.p)("spv",[kt(e),(0,_.t)()],void 0,t.K7.genericEvents,this.ee)}),l.disconnect()},{types:["csp-violation"],buffered:!0});l.observe()}g.gm.addEventListener("securitypolicyviolation",e=>{(0,S.p)("spv",[kt(e),e.timeStamp],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal))}if(g.RI){if(ze(this.ee,e),De(this.ee,e),d=at(this.ee,e),e.init.user_actions.enabled){function f(t){const r=(0,Ge.D)(t);return e.beacons.includes(r.hostname+":"+r.port)}function h(){d.emit("navChange")}o.Zp.forEach(e=>(0,J.sp)(e,e=>(0,S.p)("ua",[e],void 0,this.featureName,this.ee),!0)),o.qN.forEac
399h(e=>{const t=(0,C.s)(e=>{(0,S.p)("ua",[e],void 0,this.featureName,this.ee)},500,{leading:!0});(0,J.sp)(e,t)}),g.gm.addEventListener("error",()=>{(0,S.p)("uaErr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal)),this.ee.on("open-xhr-start",(e,r)=>{f(e[1])||r.addEventListener("readystatechange",()=>{2===r.readyState&&(0,S.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(void 0,this.removeOnAbort.signal))}),this.ee.on("fetch-start",e=>{e.length>=1&&!f(Ze(e[0]))&&(0,S.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)}),d.on("pushState-end",h),d.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,J.jT)(!0,this.removeOnAbort.signal)),window.addEventListener("popstate",h,(0,J.jT)(!0,this.removeOnAbort.signal))}if(e.init.performance.resources.enabled&&g.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{(0,S.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)})}).observe({type:"resource",buffered:!0})}}a.some(e=>e)?this.importAggregator(e,()=>r.e(478).then(r.bind(r,8019))):this.deregisterDrain()}}function kt(e){const t=e.body??e;return{blockedUrl:t.blockedURL??e.blockedURI,documentUrl:t.documentURL??e.documentURI,effectiveDirective:t.effectiveDirective,originalPolicy:t.originalPolicy,sourceFile:t.sourceFile,statusCode:t.statusCode,lineNumber:t.lineNumber,columnNumber:t.columnNumber,disposition:"reporting"===t.disposition?"report":t.disposition,sample:t.sample,referrer:t.referrer}}var Nt=r(2646);const Lt=new Map;function Mt(e,t,r,n,i=!0,s){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const a=function(e){return(e||R.ee).get("logger")}(e),o=(0,Pe.YM)(a,void 0,s),c=new Nt.y(R.P);c.level=n.level,c.customAttributes=n.customAttributes,c.autoCaptured=i;const d=t[r]?.[Pe.Jt]||t[r];return Lt.set(d,c),o.inPlace(t,[r],"wrap-logger-",()=>Lt.get(d),void 0,!0),a}var Pt=r(1910);class It extends W{static featureName=se.TZ;constructor(e){var t;super(e,se.TZ),t=e,(0,N.Y)("log",(e,r)=>oe(e,r,t),t),function(e){(0,N.Y)(k.Wb,(t,r,{customAttributes:n={},level:i=se.p_.INFO}={})=>{Mt(e.ee,t,r,{customAttributes:n,level:i},!1,e)},e)}(e),Se(e);const n=this.ee;["log","error","warn","info","debug","trace"].forEach(t=>{(0,Pt.i)(g.gm.console[t]),Mt(n,g.gm.console,t,{level:"log"===t?"info":t},void 0,e)}),this.ee.on("wrap-logger-end",function([t],r,i,s=[e.runtime.v2Target]){const{level:a,customAttributes:o,autoCaptured:c}=this;s.forEach(e=>{(0,ae.R)(n,t,o,a,c,e)})}),this.importAggregator(e,()=>r.e(478).then(r.bind(r,5288)))}}new F({features:[nt,K,G,vt,Et,Y,Oe,_t,It,Rt],loaderType:"spa"})})()})();</script>
399<link 400 rel="stylesheet" 401 href="https://d502jbuhuh9wk.cloudfront.net/staticfiles/resources/stylesheets/digital-product_01bab387320c46e84d9b767a861a175c.css" 402 /> 403 <style type="text/css"> 404 #pgchooser .button { 405 background: #fff; 406 border: 3px solid #e5e5e5; 407 width: 250px; 408 height: 60px; 409 background-size: auto calc(100% - 10px) !important; 410 padding: 0; 411 } 412 413 .clearfix { 414 margin-top: 50px; 415 } 416 417 .main form { 418 background: white; 419 margin-top: 1rem; 420 } 421 </style> 422 </head> 423 <body> 424 425 426 427 428 429 430 431<div class="header spectre fixed" 432 style="background-color: #333333;"> 433 434 <header class="navbar container" style="min-height: 80px;"> 435 436 <div id="navbar-section-btn"> 437 438 <a class="btn btn-link btn-action ml-2" id="header-collapse-btn" href="javascript:void(0);"> 439 <i class="icon-menu material-icons">menu</i> 440 </a> 441 </div> 442 <section class="navbar-section" style="min-height: 80px;"> 443 <a href="/" amplitude-event="navbar_link_tapped_user_landing_page" amplitude-payload='{"custom_domain": "www.loss2profit.com","button":"profile_logo"}'><img alt="logo" onerror="this.src='https://d502jbuhuh9wk.cloudfront.net/resources/images/yourlogohere.jpg'" src='https://d502jbuhuh9wk.cloudfront.net/logos/64bb94ebe4b0539686c35283.png?v=3'/></a> 444 </section> 445 446 <section class="navbar-section menu-links"> 447 448 <a href="/s/store" class="nav-link" data-id="courses" amplitude-event="navbar_link_tapped_user_landing_page" amplitude-payload='{"custom_domain": "www.loss2profit.com","button":"store"}'>Courses</a> 449 450 451 <a href="/blog" class="nav-link" data-id="blog" amplitude-event="navbar_link_tapped_user_landing_page" amplitude-payload='{"custom_domain": "www.loss2profit.com","button":"blog"}'>Blog</a> 452 453 454 455 456 <a class="nav-link" href="/s/pages/customersupport" data-id="stse4loaz" target='_blank'>Customer Support</a> 457 458 <a class="nav-link" href="/s/pages/affiliateprogram" data-id="083r0dd83" target='_blank'>Become an Affiliate</a> 459 460 <a class="nav-link" href="/s/pages/algotrading" data-id="wwar5lb92" target='_blank'>Algo Trading</a> 461 462 <a class="nav-link" href="/s/pages/t-shirts" data-id="2hb7viqpt" target='_blank'>T-Shirts</a> 463 464 465 466 467 <a href="/sessions#nav_bar" class="nav-link" amplitude-event="livesessions_tapped" amplitude-payload='{"source":"nav_bar"}' href="javascript:void(0);">Webinars</a> 468 469 470 <a href="/products#nav_bar" class="nav-link" amplitude-event="digital_products_tapped" amplitude-payload='{"source":"nav_bar"}' href="javascript:void(0);">Digital Products</a> 471 472 473 <a href="/memberships" class="nav-link" amplitude-event="membership_tapped" amplitude-payload='{"membership_id": "65005d1bf6192a7c0c9be9c9","source":"nav_bar"}' href="javascript:void(0);">Membership</a> 474 475 476 477 478 479 480 481 482 <a href="javascript:void(0);" class="btn btn-primary loginBtn">Login</a> 483 484 485 </section> 486 </header> 487 488 489</div> 490 491 492 493 <div class="spectre"> 494 <!-- Title --> 495 <div class="bg-product-title"> 496 <div class="product-container" style='padding-top: 80px;'> 497 <h1 class="product-title">Digital Products</h1> 498 </div> 499 </div> 500 501 <!-- Digital Product List --> 502 <div class="product-container digital-product-main my-12"> 503 <p class="list-heading">All digital products</p> 504 <div class="digital-product-grid" id="digitalProductsList"></div> 505 <div class="digital-product-grid list-loading"> 506 507 <div> 508 <div class="skeleton-box skeleton-cover"></div> 509 <div class="skeleton-box skeleton-title"></div> 510 <div class="skeleton-box skeleton-timings"></div> 511 <div class="skeleton-price"> 512 <div class="skeleton-box"></div> 513 <div class="skeleton-box"></div> 514 </div> 515 </div> 516 517 <div> 518 <div class="skeleton-box skeleton-cover"></div> 519 <div class="skeleton-box skeleton-title"></div> 520 <div class="skeleton-box skeleton-timings"></div> 521 <div class="skeleton-price"> 522 <div class="skeleton-box"></div> 523 <div class="skeleton-box"></div> 524 </div> 525 </div> 526 527 <div> 528 <div class="skeleton-box skeleton-cover"></div> 529 <div class="skeleton-box skeleton-title"></div> 530 <div class="skeleton-box skeleton-timings"></div> 531 <div class="skeleton-price"> 532 <div class="skeleton-box"></div> 533 <div class="skeleton-box"></div> 534 </div> 535 </div> 536 537 <div> 538 <div class="skeleton-box skeleton-cover"></div> 539 <div class="skeleton-box skeleton-title"></div> 540 <div class="skeleton-box skeleton-timings"></div> 541 <div class="skeleton-price"> 542 <div class="skeleton-box"></div> 543 <div class="skeleton-box"></div> 544 </div> 545 </div> 546 547 <div> 548 <div class="skeleton-box skeleton-cover"></div> 549 <div class="skeleton-box skeleton-title"></div> 550 <div class="skeleton-box skeleton-timings"></div> 551 <div class="skeleton-price"> 552 <div class="skeleton-box"></div> 553 <div class="skeleton-box"></div> 554 </div> 555 </div> 556 557 <div> 558 <div class="skeleton-box skeleton-cover"></div> 559 <div class="skeleton-box skeleton-title"></div> 560 <div class="skeleton-box skeleton-timings"></div> 561 <div class="skeleton-price"> 562 <div class="skeleton-box"></div> 563 <div class="skeleton-box"></div> 564 </div> 565 </div> 566 567 <div> 568 <div class="skeleton-box skeleton-cover"></div> 569 <div class="skeleton-box skeleton-title"></div> 570 <div class="skeleton-box skeleton-timings"></div> 571 <div class="skeleton-price"> 572 <div class="skeleton-box"></div> 573 <div class="skeleton-box"></div> 574 </div> 575 </div> 576 577 <div> 578 <div class="skeleton-box skeleton-cover"></div> 579 <div class="skeleton-box skeleton-title"></div> 580 <div class="skeleton-box skeleton-timings"></div> 581 <div class="skeleton-price"> 582 <div class="skeleton-box"></div> 583 <div class="skeleton-box"></div> 584 </div> 585 </div> 586 587 </div> 588 </div> 589 </div> 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606<div class="yogya-footer" style="display: flex !important;align-items:center;justify-content:center;clear:both;width: 100%;flex-direction: column; row-gap:30px; background: #F7F7F7; color: #232228; padding: 80px 10px;"> 607 608 609 610 611 612 613 <a style="display: flex !important;align-items:center;justify-content:center;text-decoration: none !important;background: #000 !important;color: #fff !important;padding: 12px 20px !important;border-radius: 4px !important;font-size: 14px !important;font-weight: 600 !important;line-height: 20px !important;" rel="nofollow" href="https://graphy.com/products/create-and-sell-course-online?utm_campaign=loss2profit&utm_source=gc&utm_device=website&gref=loss2profit" target="_blank"><img alt="Launch your Graphy" style="height: 20px; width: 11px; margin-right: 12px;" src="/resources/images/grvector.svg">Launch your Graphy</a> 614 <div class="text-center" style="font-size: 12px;font-weight: 400;line-height: 20px;letter-spacing: 0.015em;">100K+ creators trust <a href="https://graphy.com/products/create-and-sell-course-online?utm_campaign=loss2profit&utm_source=gc&utm_device=website&gref=loss2profit" target="_blank" rel="nofollow" style="color: #000 !important;text-decoration: underline !important;padding: 0 !important;font-size: inherit !important;">Graphy</a> to teach online</div> 615 616 617 618 619 <div style="display: flex !important;align-items:center;justify-content:center;column-gap: 12px;"> 620 <a href="https://www.facebook.com/Loss2Profits" class="fbPage" target="_blank" style="text-decoration: none !important;color:#000 !important;font-size: inherit !important;height:24px;width:24px;border: 1px solid #E5E5E5;
620display: flex;align-items:center;justify-content:center;"><i class="fa-brands fa-facebook-f" style="font-size: 11px"></i></a> 621 <a href="https://www.instagram.com/loss2profit/" class="instaPage" target="_blank" style="text-decoration: none !important;color:#000 !important;font-size: inherit !important;height:24px;width:24px;border: 1px solid #E5E5E5;display: flex;align-items:center;justify-content:center;"><i class="fa-brands fa-instagram" style="font-size: 11px"></i></a> 622 <a href="https://twitter.com/Loss2P" class="twitterPage" target="_blank" style="text-decoration: none !important;color:#000 !important;font-size: inherit !important;height:24px;width:24px;border: 1px solid #E5E5E5;display: flex;align-items:center;justify-content:center;" ><span style="font-size: 11px">𝕏</span></a> 623 <a href="https://www.linkedin.com/company/graphyapp" class="linkedinPage" target="_blank" style="text-decoration: none !important;color:#000 !important;font-size: inherit !important;height:24px;width:24px;border: 1px solid #E5E5E5;display: flex;align-items:center;justify-content:center;" ><i class="fa-brands fa-linkedin-in" style="font-size: 11px"></i></a> 624 <a href="https://www.youtube.com/c/GraphyUniversity" class="yPage" target="_blank" style="text-decoration: none !important;color:#000 !important;font-size: inherit !important;height:24px;width:24px;border: 1px solid #E5E5E5;display: flex;align-items:center;justify-content:center;" ><i class="fa-brands fa-youtube" style="font-size: 11px"></i></a> 625 <a href="" class="telegramPage" target="_blank" style="text-decoration: none !important;color:#000 !important;font-size: inherit !important;height:24px;width:24px;border: 1px solid #E5E5E5;display: flex;align-items:center;justify-content:center;" ><i class="fa-brands fa-telegram" style="font-size: 11px"></i></a> 626 </div> 627 <div style="display: flex !important;align-items:center;justify-content:center;font-size: 14px;font-weight: 500;line-height: 20px;letter-spacing: 0.015em;column-gap: 12px;flex-wrap: wrap;"> 628 <span>Loss2profit <i class="fa-regular fa-copyright"></i> 2026</span> <i class="fa-solid fa-circle" style="font-size: 4px;"></i> 629 <a href="/privacypolicy" style="color: #232228 !important; padding: 0 !important;font-size: inherit !important;text-decoration: underline !important">Privacy policy</a> <i class="fa-solid fa-circle" style="font-size: 4px;"></i> 630 <a href="/termsofuse" style="color: #232228 !important;padding: 0 !important;font-size: inherit !important;text-decoration: underline !important">Terms of use</a> <i class="fa-solid fa-circle" style="font-size: 4px;"></i> 631 <a href="/contactus" style="color: #232228 !important;padding: 0 !important;font-size: inherit !important;text-decoration: underline !important">Contact us</a> <i class="fa-solid fa-circle" style="font-size: 4px;"></i> 632 <a href="/refundpolicy" style="color: #232228 !important;padding: 0 !important;font-size: inherit !important;text-decoration: underline !important">Refund policy</a> 633 </div> 634</div> 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652
653<script> 654 var created_date = `Created Date`; 655 var uname_msg = `Name`; 656 var email_msg = `Email`; 657 var has_web_token = `Has Web Token`; 658 var has_mobile_token = `Has Mobile Token`; 659 var actions_msg = `Actions`; 660 var delete_user = `Delete User`; 661 var create_target_audience = `Create Target Audience`; 662 var msg_now = `NOW`; 663 var msg_now_2 = `Now`; 664 var msg_scheduled = `SCHEDULED`; 665 var msg_recurring = `RECURRING`; 666 var msg_weeks = `weeks`; 667 var msg_months = `month(s)`; 668 var msg_days = `days`; 669 var notification_screen = `Notification Screen`; 670 var coursepackagelandingpage = `Course/Package landing page`; 671 var search_course_name = `Search by course/package name`; 672 var webinar_landing_page = `Webinar landing page`; 673 var search_by_webinar_name = `Search by webinar name`; 674 var categorypage = `Category Page`; 675 var custompage = `Custom Page`; 676 var blogpage = `Blog Page`; 677 var customlink = `Custom Link`; 678 var homepage_msg = `Homepage`; 679 var search_category = `Search category`; 680 var search_page_title = `Search by Page title`; 681 var search_blog_title = `Search by Blog title`; 682 var enter_the_link = `Enter the link`; 683 var membership_page = `Membership page`; 684 var pick_a_date = `Pick a date`; 685 var pick_first_push_date = `Pick a first push date`; 686 var every_msg = `Every`; 687 var starting_msg = `Starting`; 688 var msg_published = `Published`; 689 var msg_unpublished = `Unpublished`; 690 var msg_customize = `Customize`; 691 var msg_edit = `Edit`; 692 var msg_featured_image = `Featured Image`; 693 var msg_preview = `Preview`; 694 var msg_delete = `Delete`; 695 var msg_unpublish = `Unpublish`; 696 var msg_publish = `Publish `; 697 var msg_question= `questions`; 698 var try_new_coding_assignment= `Try new coding assignment`; 699 var change_enrollment_date = `Change Enrollment Date`; 700 var change_expiry = `Change Expiry`; 701 var change_remanining_time = `Change Remaining Time`; 702 var remove_from_course = `Remove From Course`; 703 var reset_course_progress = `Reset Course Progress`; 704 var complete_report = `Complete Report`; 705 var msg_progress = `Progress`; 706 var timetaken = `Time Taken`; 707 var msg_user_details = `User Details`; 708 var graphy_platform_fees_note = `Amount after deducting Graphy platform fees. This does not include your payment gateway charges.`; 709 var final_price_note = `Final payable price by learners`; 710 var save_alert_message = `Save progress before moving forward.`; 711 var no_chapter_alert_message = `Please add at least one chapter in the course.`; 712 var download_msg = `Download`; 713 var revoke_msg = `Revoke`; 714 var yes_msg = `Yes`; 715 var no_msg = `No`; 716 var details_hover = `Details`; 717 var hide_notification = `Hide Notification`; 718 var notify_learners_hover = `Notify Learners`; 719 var search_course_package = `Search Courses to add in this package.`; 720 var bulk_delete = `Bulk Delete`; 721 var scheduled_msg = `Scheduled`; 722 var inprogress_msg = `In Progress`; 723 var completed_msg = `Completed`; 724 var yes_all_caps = `YES`; 725 var no_all_caps = `NO`; 726 var discount_msg = `Discount`; 727 var max_discount = `Max Discount`; 728 var min_cart = `Min Cart`; 729 var delete_bookmark = `Delete Bookmark`; 730 var view_question = `View question`; 731 var msg_free = `Free`; 732 var membership_expiration_note = `Membership will be canceled on next billing date.`; 733 var msg_active = `Active`; 734 var msg_inactive = `Inactive`; 735 var delete_hover = `Delete`; 736 var view_hover = `View`; 737 var coursewise = `Course Wise`; 738 var learner_wise = `Learner wise`; 739 var segment_wise = `Segment wise`; 740 var unregistered_msg = `Unregistered`; 741 var target_audience_deleted = `Target Audience Deleted`; 742 var courses_msg = `course(s)`; 743 var learners_msg = `learner(s)`; 744 var unregistered_learners = `Unregistered Learner`; 745 var all_learners = `All Learners`; 746 var course_wise_learners = `Course wise Learners`; 747 var segment_wise_learners = `Segment wise Learners`; 748 var with_token = `with token`; 749 var segments_msg = `segments`; 750 var add_users_msg = `Add Users`; 751 var approx_msg = `Approx`; 752 var revoke_cancellation_request = `Revoke Cancellation request.`; 753 var remove_scheduled_membership_cancellation = `Remove Scheduled Membership Cancellation`; 754 var schedule_to_stop_subscription = `Schedule to stop Subscription`; 755 var stop_subscription = `Stop subscription`; 756 var available_for_review_all_caps = `AVAILABLE FOR REVIEW`; 757 var reviewed_all_caps = `REVIEWED`; 758 var rejected_all_caps = `REJECTED`; 759 var preview_code = `Preview Code`; 760 var approve_msg = `Approve`; 761 var reject_msg = `Reject`; 762 var history_msg = `History`; 763 var message_hover= `Message`; 764 var remove_msg= `Remove`; 765 var enroll_msg= `Enroll`; 766 var change_validity= `Change Validity`; 767 var learners_selected= `learner(s) selected`; 768 var select_all_msg= `Select all`; 769 var do_you_want_to_delete_course= `Do you really want to delete this course?`; 770 var do_you_want_to_revoke_this_certificate= `Do you really want to revoke this certificate?`; 771 var do_you_want_to_revoke_entry= `Do you really want to revoke this entry?`; 772 var do_you_want_to_edit_enrollment_date= `Do you really want to edit enrollment date of all learners?`; 773 var do_you_want_to_edit_enrollment_date_for_selected= `Do you really want to edit enrollment date of selected learners?`; 774 var do_you_want_to_edit_course_validity= `Do you really want to edit course validity of all learners?`; 775 var do_you_want_to_edit_course_validity_for_selected= `Do you really want to edit course validity of selected learners?`; 776 var do_you_want_to_remove_selected= `Do you really want to remove selected learners?`; 777 var do_you_want_to_remove_all= `Do you really want to remove all learners?`; 778 var do_you_want_to_create_zip= `Do you really want to create zip for this course?`; 779 var do_you_want_to_deactivate= `Do you really want to deactivate?`; 780 var successfully_done_alert= `Successfully Done.`; 781 var please_select_atleast_1_learner= `Please select atleast 1 learner !`; 782 var on_msg= `On`; 783 var single_correct_option = `Single Correct Option`; 784 var multiple_correct_options = `Multiple Correct Options`; 785 var numerical_Fill_in_the_Blank = `Numerical/Fill in the Blank`; 786 var match_the_Column = `Match the Column`; 787 var subjective = `Subjective`; 788 var your_target_audience_appear= `Your target audience user(s) will appear here`; 789 var your_upcoming_campaign= `Your upcoming campaign will appear here`; 790 var status_msg= `Status`; 791 var stop_campaign= `Stop Campaign`; 792 var copy_campaign= `Copy Campaign`; 793 var platform_fee_tax = `platform fees including taxes`; 794 var pg_fees_taxes = `payment gateway fees including taxes`; 795 var msg_quiz = `Quiz`; 796 var msg_livetest = `Live test`; 797 var msg_heading = `Heading`; 798 var msg_text = `Text`; 799 var msg_form = `Form`; 800 var msg_live_class = `Live class`; 801 var msg_live_class_rec = `live class recording`; 802 var msg_code = `Code`; 803 var msg_assignment = `Assignment`; 804 var msg_added = `added`; 805 var msg_about = `About`; 806 var msg_year = `year`;
807 var msg_month = `Month`; 808 var msg_day = `day`; 809 //var msg_hour = `hh`; 810 //var msg_minute = `mm`; 811 //var msg_seconds = `seconds`; 812 var msg_month_l = `month`; 813 var msg_day_l = `day`; 814 var msg_hour_l = `hour`; 815 var msg_minute_l = `minute`; 816 var msg_second_l = `second`; 817 var mobile_number=`Mobile Number`; 818 var status_android =`Status (ANDROID)`; 819 var status_ios =`Status (IOS)`; 820 var delivery_time=`Delivery Time`; 821 var sure_unhide=`Are you sure you want to unhide this course ?`; 822 var become_a_partner=`Become a Partner`; 823 var failed_msg=`Failed`; 824 var sent_msg=`Sent`; 825 var pending_msg=`Pending`; 826 var running_msg=`Running`; 827 var add_pricing_plan = `Add pricing plan`; 828 var msg_add = `Add`; 829 var of_msg = `of`; 830 var items_msg = `items` 831 var ago_msg = `ago` 832 var items_msg = `items`; 833 834 var january_msg = `January`; 835 var february_msg = `February`; 836 var march_msg = `March`; 837 var april_msg = `April`; 838 var may_msg = `May`; 839 var june_msg = `June`; 840 var july_msg = `July`; 841 var august_msg = `August`; 842 var september_msg = `September`; 843 var october_msg = `October`; 844 var november_msg = `November`; 845 var december_msg = `December`; 846 var sunday_msg = `Sunday`; 847 var monday_msg = `Monday`; 848 var tuesday_msg = `Tuesday`; 849 var wednesday_msg = `Wednesday`; 850 var thursday_msg = `Thursday`; 851 var friday_msg = `Friday`; 852 var saturday_msg = `Saturday`; 853 var at_msg = `at`; 854 var generate_outline = `Generate outline using AI`; 855 var it_take_min = `It may take a min.`; 856 var msg_ok = `OK`; 857 var edit_pricing_plan = `Edit pricing plan`; 858 859</script>
859 860 861 862 863 864 865 866
867<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/jquery-2.0.3.min.js"></script>
867 868
869<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/underscore-min.js?v=1.9.1"></script>
869 870
871<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/jquery.form.js"></script>
vendor: 1 bytes, line 871
871
872<script async src="https://d502jbuhuh9wk.cloudfront.net/resources/js/jquery.noty.packaged.min.js"></script>
vendor: 1 bytes, line 872
872
873<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/jquery-ui.min.js"></script>
vendor: 1 bytes, line 873
873
874<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/jquery.timeago.js"></script>
vendor: 1 bytes, line 874
874
875<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/js-webshim/minified/extras/modernizr-custom.js"></script>
vendor: 1 bytes, line 875
875
876<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/jquery.datetimepicker.js"></script>
876 877 878 879 880 881 882 883 884
885<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/aes.js"></script>
vendor: 1 bytes, line 885
885
886<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/mode-ecb-min.js"></script>
vendor: 1 bytes, line 886
886
887<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/pad-nopadding-min.js"></script>
887 888 889<!--
889<script src="https://unpkg.com/@popperjs/core@2"></script>
vendor: 1 bytes, line 889
889
890<script src="https://unpkg.com/tippy.js@6"></script>
890 -->
891<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/2.3.3/umd/popper.js" integrity="sha512-jSMYzs1Iebw2Uew+Y9karoqkqTDEzbqkdttIkHJKh3auQ6aGV7p8b7A3Yo9k/LsMvUFqWt5AV66hfo1OwH4Jjg==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
vendor: 1 bytes, line 891
891
892<script src="https://cdnjs.cloudflare.com/ajax/libs/tippy.js/6.0.0/tippy-bundle.umd.js"></script>
892 893
894<script type="text/javascript"> 895 var passwordPolicyRequired = false; 896 var checkoutV2 = true; 897 var primaryFieldPhoneEnabled = false; 898 var orgLanguageCode = ""; 899 var SPEERESCDN = "https://d502jbuhuh9wk.cloudfront.net"; 900</script>
900 901
902<script src="https://d502jbuhuh9wk.cloudfront.net/staticfiles/resources/scripts/sutils_919c30bb7230024efec7b939763642a2.js"></script>
vendor: 1 bytes, line 902
902
903<script src="https://d502jbuhuh9wk.cloudfront.net/staticfiles/resources/scripts/utils/dateUtils_f53456b03f1287667a7b24fb63b367ce.js"></script>
vendor: 1 bytes, line 903
903
904<script type="text/javascript"> 905 // Make org object globally available for dateUtils 906 window.org = window.org || {}; 907 window.org.currencyCode = "false"=='true'?'USD':'INR'; 908 var websiteV3Org = false; 909 var orgCreatedDate = {"$date":"2023-07-22T08:35:55.035Z"}; 910</script>
910 911 912
912<script src="https://d502jbuhuh9wk.cloudfront.net/staticfiles/resources/scripts/talk_b564486691065235006e186474078666.js"></script>
912 913 914 915 916 917
918<script type="text/javascript"> 919 var trialExpired = "false"; 920 var planCancelled = "false"; 921 var isFreePlan = false; 922 923</script>
vendor: 1 bytes, line 923
923
924<script type="text/javascript" id="dsf239df"> 925 var ctx = "/s", 926 isFirstLogin = "", cjs = CryptoJS; 927 928 var defaultCoreColor = "#5755d9", theme1CoreColor = "#572b7a", theme2CoreColor = "#3f51b5", theme3CoreColor = "#009051", 929 theme4CoreColor = "#596439", theme5CoreColor = "#F0591D", theme6CoreColor = "#28a745", theme7CoreColor = "#1bbc9b", 930 theme8CoreColor = "#f38f20", apkId = "6231373436231373432363038663465653864613523630386634656538646135", theme9CoreColor = "#c0af01", theme10CoreColor = "#e8d3a4", 931 webColor = defaultCoreColor, 932 CFCDN = "https://d502jbuhuh9wk.cloudfront.net", mobileNotification = true, webNotification = true, 933 iosPlayVideo = false, 934 chromeDrmPlayback = false, 935 gaType = ""; 936 937 938 939 $("#dsf239df").remove(); 940</script>
940 941 942 943 944 945 946 947 948 949 <input type="hidden" id="orgCurrencyCode" value="INR" /> 950 951 952 953 954 955
955<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/detect-private-browsing.js"></script>
955 956
956<script type="text/javascript"> 957 detectPrivateMode( 958 function(is_private) { 959 if(typeof is_private !== 'undefined' && is_private) { 960 $("input[name=privateMode]").val("private"); 961 } 962 } 963 ); 964 </script>
964 965 966 967 968 969 970
970<script type="text/javascript" 971 src="https://d502jbuhuh9wk.cloudfront.net/resources/js/intlTelInput.min.js"></script>
971 972
972<script type="text/javascript"> 973 974 var ipInfo = localStorage.getItem('ipInfo'); 975 if(!ipInfo) { 976 $.get("https://ipinfo.io", function() {}, "jsonp").always(function(resp) { 977 if(resp) { 978 var ipInfoStr = JSON.stringify(resp); 979 var ipInfoField = document.getElementById("ipInfo"); 980 var countryCode = (resp.country) ? resp.country : "in"; 981 sessionStorage.setItem('countryCode', countryCode); 982 if('statusText' in resp) { 983 if((resp['statusText'] !== 'error') && ('ip' in resp)) { 984 localStorage.setItem('ipInfo', ipInfoStr); 985 if(ipInfoField) { 986 ipInfoField.value = ipInfoStr; 987 } 988 } 989 } 990 else if('ip' in resp) { 991 localStorage.setItem('ipInfo', ipInfoStr); 992 if(ipInfoField) { 993 ipInfoField.value = ipInfoStr; 994 } 995 } 996 } 997 }) 998 } 999 1000 $("#sphone").intlTelInput({ 1001 initialCountry: "auto", 1002 geoIpLookup: function(callback) { 1003 var scountryCode = sessionStorage.getItem('countryCode'); 1004 1005 if(scountryCode !== null) { 1006 callback(scountryCode); 1007 }else { 1008 $.get("https://ipinfo.io", function() {}, "jsonp").always(function(resp) { 1009 var countryCode = (resp && resp.country) ? resp.country : "in"; 1010 callback(countryCode); 1011 sessionStorage.setItem('countryCode', countryCode); 1012 }); 1013 } 1014 }, 1015 preferredCountries: ["in", "us"], 1016 separateDialCode: true, 1017 utilsScript: "/resources/js/intlUtils.js" 1018 }); 1019 1020 </script>
1020 1021 1022 1023 1024 1025<div class="spectre"> 1026 1027 1028 1029 1030 1031
1031<script type="text/javascript"> 1032 if(top != self) { 1033 //iframe 1034 $(".toast").remove(); 1035 } 1036 </script>
1036 1037 1038 1039</div> 1040 1041
1041<script type="text/javascript"> 1042var Tawk_API=Tawk_API||{}, Tawk_LoadStart=new Date(); 1043(function(){ 1044var s1=document.createElement("script"),s0=document.getElementsByTagName("script")[0]; 1045s1.async=true; 1046s1.src='https://embed.tawk.to/651e898b6fcfe87d54b6bddd/1hbvkij7e'; 1047s1.charset='UTF-8'; 1048s1.setAttribute('crossorigin','*'); 1049s0.parentNode.insertBefore(s1,s0); 1050})(); 1051</script>
1051 1052 1053<input type="hidden" id="orgCreditAlias" 1054 value="Loss2profit Coins" /> 1055 1056 1057 1058 1059 1060
1061<script> 1062 1063 1064 1065 1066 var orgTaxLabel = "Tax"; 1067 1068 1069 1070 var sessionCountry = ""; 1071 1072 $(document).ready(function() { 1073 $("input[name='userMobileVerify']").change(function(data){ 1074 var uniqueMobileSwitch = $('#uniqueMobileId'); 1075 if(data.target.value==='true'){ 1076 $('input[name=uniqueMobile]').prop('checked', true) 1077 $('#uniqueMobileLabelId').show(); 1078 }else{ 1079 $('input[name=uniqueMobile]').prop('checked', false) 1080 $('#uniqueMobileLabelId').hide(); 1081 } 1082 }); 1083 }); 1084 1085 1086 1087 1088 localStorage.removeItem('microserviceAuthToken'); 1089 1090 1091 1092 1093 1094 1095 localStorage.removeItem('communityToken'); 1096 1097 1098 1099 1100 1101 1102 localStorage.removeItem('chatRefreshToken'); 1103 1104 1105 1106 1107 1108 1109 localStorage.removeItem('refreshToken'); 1110 1111 1112 1113</script>
1113 1114 1115 1116<!-- amplitude script start --> 1117 1118 1119 1120
1120<script type="text/javascript"> 1121 window.localStorage.removeItem('loginAmplitudeEventSent'); 1122 </script>
1122 1123 1124 1125<!-- amplitude script end --> 1126 1127 1128 <div class="spectre"> 1129 <div class="modal" id="membershipPopupHtml"> 1130 <iframe id="microfe-popup-membership" src="" 1131 style="width: calc(100% + 10px); height: 100vh; border: none;" 1132 onload="$(this).parent().removeClass('loading');"></iframe> 1133 </div> 1134 </div> 1135
1135<script> 1136 function openMembershipPopup(source){ 1137 if(source==='banner'){ 1138 setGraphyCookie('SHOWMEMBERSHIPBANNER', 'true', 1); 1139 } 1140 if(source!=='private'){ 1141 location.href="/membership#"+source; 1142 }else{ 1143 location.href="/private"; 1144 } 1145 } 1146 function openMembershipPopup(source, id){ 1147 if(source==='banner'){ 1148 setGraphyCookie('SHOWMEMBERSHIPBANNER', 'true', 1); 1149 } 1150 if(typeof id !== 'undefined' ){ 1151 location.href="/memberships/"+id+"#"+source; 1152 }else if(source!=='private'){ 1153 location.href="/membership#"+source; 1154 }else{ 1155 location.href="/private"; 1156 } 1157 } 1158 function closeMembershipPopup() { 1159 $("#membershipPopupHtml").removeClass("active"); 1160 $("body").removeClass("overflowYDisable"); 1161 window.location.hash=""; 1162 setGraphyCookie('SHOWMEMBERSHIPBANNER', 'true', 1); 1163 } 1164 $("body").on('click', ".membershipBtn", function() { 1165 openMembershipPopup('nav_bar'); 1166 }); 1167 1168 if(window.location.hash==="#membership"){ 1169 openMembershipPopup(""); 1170 } 1171 1172 </script>
1172 1173 1174 <!-- sending ipInfo data as form data when signing up --> 1175
1175<script type="text/javascript"> 1176 document.addEventListener("DOMContentLoaded", function(event) { 1177 const signupParamsField = document.getElementById("signupParams"); 1178 if(signupParamsField && (window.signupParams)) { 1179 signupParamsField.value = JSON.stringify(window.signupParams); 1180 } 1181 const ipInfo = localStorage.getItem("ipInfo"); 1182 const ipInfoField = document.getElementById("ipInfo"); 1183 if(ipInfo && ipInfoField) { 1184 ipInfoField.value = ipInfo; 1185 } 1186 }); 1187 </script>
1187 1188 1189 1190 <div id="template-container"></div> 1191 1192 1193 1194 1195 1196
1197<script>const customDomain = "www.loss2profit.com";</script>
1197 1198 1199 1200 1201
1202<script> 1203var disabledLocleVar='Disabled'; 1204var enabledLocaleVar='Enabled'; 1205var smsLocaleVar='SMS'; 1206var webpushLocaleVar='Web Push'; 1207var mobilepushLocaleVar='Mobile Push'; 1208var invoicenumberLocaleVar='Invoice Number'; 1209var productLocaleVar='Product'; 1210var dateLocaleVar='Date'; 1211var amountLocaleVar='Amount'; 1212var detailsLocaleVar='Details'; 1213var subscriptionPlanLocaleVar='Subscription Plan'; 1214var addonsLocaleVar='Add Ons'; 1215var showLocalVar='Show'; 1216var hideLocaleVar='Hide'; 1217</script>
1217 1218<div class="spectre"> 1219 1220 1221 1222 1223 1224 1225 1226
1226<script> 1227 var isPopupLogin = true; 1228 var login = ''; 1229 var message = ''; 1230 function closeLoginPopup() { 1231 $("#loginFormHtml").removeClass("active"); 1232 $("body").removeClass("overflowYDisable"); 1233 } 1234 </script>
1234 1235 1236 1237 1238 1239 1240 1241 <div class="modal" id="loginFormHtml"> 1242 <iframe id="microfe-popup-login" src="/t/public/login" loading="lazy" 1243 style="width: calc(100% + 10px); height: 100vh; border: none;" 1244 onload="$(this).parent().removeClass('loading');"></iframe> 1245 </div> 1246 1247 1248 1249 1250 1251 <div class="modal" id="cartHtml"> 1252 <a href="javascript:void(0);" class="modal-overlay close" 1253 aria-label="Close"></a> 1254 <div class="modal-container" style="max-width: 800px;"> 1255 <div class="modal-header"> 1256 <a href="javascript:void(0);" 1257 class="close btn btn-clear float-right" aria-label="Close"></a> 1258 <div class="modal-title h5"> 1259 <i class="fa-regular fa-shopping-cart"></i> 1260 Cart 1261 (<span class="cartCount"></span> 1262 Items 1263 ) 1264 </div> 1265 </div> 1266 <div class="modal-body" style="max-height: 70vh;"> 1267 <div class="content"> 1268 1269 <div class="text-center msg loading"></div> 1270 <div class="text-center msg noItems" style="display: none;"> 1271 There are no items in your cart<br/> 1272 <a class="btn btn-primary" href="/s/store" 1273 style="margin: 20px auto;"> 1274 Add More 1275 </a> 1276 </div> 1277 <div class="items msg" style="display: none;"> 1278 <div class="m-0 cartDiv"> 1279 <table class="table cartTable"> 1280 <thead> 1281 <tr> 1282 <th colspan="2">Item Details</th> 1283 <th class="text-right">Price</th> 1284 <th style="width: 50px;"></th> 1285 </tr> 1286 </thead> 1287 <tbody></tbody> 1288 </table> 1289 </div> 1290 <div class="suggestCart mt-2 bg-gray p-2" style="display: none;"> 1291 <h6>You may also be interested in</h6> 1292 <div class="columns loading" id="cartRelatedCont"></div> 1293 </div> 1294 </div> 1295 </div> 1296 </div> 1297 <div class="modal-footer"> 1298 <div class="msg items clearfix"> 1299 1300 1301 1302 <div class="float-left text-gray"> 1303 Note: Promo Codes can be applied after checkout 1304 </div> 1305 1306 1307 1308 <div class="float-right"> 1309 Total Amount 1310 <span class="text-primary curr">₹<span 1311 class="totalAmount">0</span></span> 1312 </div> 1313 </div> 1314 <div class="msg items clearfix mt-2"> 1315 <a class="btn float-left" href="/s/store" amplitude-event="add_more_course_checkout"> 1316 Add More 1317 </a> 1318 1319 1320 1321 1322 1323 1324 1325 <a class="btn btn-primary float-right" href="/s/checkout" amplitude-event="checkout_tapped_course_checkout" amplitude-payload='{"currency": "INR" }'>Checkout</a> 1326 </div> 1327 </div> 1328 </div> 1329 </div> 1330 <div class="modal" id="newCheckoutHtml" style="padding: 0; z-index: 10000;"> 1331 <div id="newCheckoutLoader" class="loading loading-lg" style="position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);width: 100%;height: 100%;background-color: rgba(0, 0, 0, 0.5); z-index: 1000;display:none;"></div> 1332 <!-- <a href="javascript:void(0);" class="modal-overlay close" 1333 aria-label="Close"></a> 1334 <div class="modal-container" style=""> --> 1335 1336 1337 <iframe onload="hideCheckoutLoader()" id="newCheckoutIframe" sandbox="allow-top-navigation allow-modals allow-popups allow-presentation allow-orientation-lock allow-pointer-lock allow-popups-to-escape-sandbox allow-top-navigation-by-user-activation allow-scripts allow-same-origin allow-forms" style = "width: calc(100% + 10px); height: 100%; border: none;" src=""></iframe> 1338 1339 <!-- </div> --> 1340 </div> 1341</div> 1342
1343<script type="text/template" id="cartItemTemplate"> 1344 <tr data-id="<@- item.id @>" data-type="<@- item.type @>" data-title="<@- item.title @>" data-price="<@- item.price @>" data-coursecategory="<@- item.courseCategory @>"> 1345 <@ var itemType = item.type; @> 1346 <td style="width:150px;"> 1347 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item.id +"/"+ item.id +"_scaled_cover.jpg?v=" + coverVersion; if(isNaN(coverVersion)) { curl = showCourseDefaultCover(null, item.id) } @> 1348 <img alt="<@- item.title @> cover" style="width:100%;max-height:100px;" class="img-fit-contain lazy" onerror="showCourseDefaultCover(this, '<@- item.id @>')" 1349 data-src='<@- curl @>' /> 1350 </td> 1351 <td class="itemTitle"><@- item.title @><@ if(item.description !== undefined) { @><div class='text-gray variantDescription'><@ print(item.description) @></div><@ } @></td> 1352 <td class="text-right curr"><@ if(item.priceWithoutTax !== undefined && 'Tax' != '') { @><@ print(getDisplayAmount(item.priceWithoutTax)) @><br><small><@ print(getDisplayAmount(item.price)) @> incl. <@- item.gstRate @>% Tax</small><@ } else { @><@ print(getDisplayAmount(item.price)) @> <@ if(item.gstRate > 0 && 'Tax' != '') { print("<br><small>incl. " +item.gstRate+"% Tax</small>") } @><@ } @> 1353 <@ if(item.pgChargesLearnerPercent !==undefined && getDisplayAmount(item.pgChargesLearnerPercent).includes('₹')) {@> <br><small>Internet handling fees: <@print(getDisplayAmount(item.pgChargesLearnerPercent/100*item.price))@></small> <@} @> 1354 </td> 1355 <td>
1355<button class="btn btn-sm btn-error btn-action circle removeItemBtn" data-url="/s/cart/remove/<@- item.id @>"><i class="material-icons">clear</i></button></td> 1356 </tr> 1357 </script>
vendor: 1 bytes, line 1357
1357
1358<script type="text/template" id="cartcoursecard-template"> 1359 <div class="column col-2 col-md-4 scourse <@- item['spayee:resource']['spayee:courseType'] @>" title="<@- item["spayee:resource"]["spayee:title"] @>"> 1360 <a class="card" title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>"> 1361 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item["spayee:resource"]["spayee:coverVersion"]; if(isNaN(item["spayee:resource"]["spayee:coverVersion"])) { curl = showCourseDefaultCover(null, item._id) } @> 1362 <img style="width: 100%;" alt="<@- item['spayee:resource']['spayee:title'] @> cover" class="lazy" data-src="<@- curl @>" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 1363 <div class="card-footer" style="padding: 0.2rem;"><span class="ctitle text-ellipsis d-block" style="color:#2f4f4f;font-size:small;"><@- item["spayee:resource"]["spayee:title"] @></span></div> 1364 </a> 1365 </div> 1366 </script>
vendor: 1 bytes, line 1366
1366
1367<script type="text/template" id="coursecard-template"> 1368 <div class="column scourse <@- item['spayee:resource']['spayee:courseType'] @> hidePackageRibbon<@- item['spayee:resource']['spayee:hidePackageRibbon'] @>"> 1369 1370 1371 1372 <@ var itemCategory = (item['spayee:resource']['spayee:filter1'] !== undefined)? item['spayee:resource']['spayee:filter1'][0]:'' @> 1373 1374 <a class="card courseDiscId" style="height:100%" title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" data-id="<@- item._id@>" data-dcid="<@-item._id@>" 1375 amplitude-event="course_card_tapped_checkout" 1376 amplitude-payload='{"<@- item['spayee:resource']['spayee:courseType']== 'package' ? "package_id" : "course_id" @>": "<@- item._id @>","is_a_package":"<@- item['spayee:resource']['spayee:courseType']== 'package' ? "true" : "false" @>","price_on_card":"<@- removeCurrencySymbol(getCourseDisplayPrice('₹', '', item, '0.0', '', false)) @>","currency":"INR","multiple_pricing_plans_exist":"<@- isMultiplePlansAvailable('', item) @>","wallet_coins_enabled_on_school":"true","category":"<@- itemCategory @>"}' 1377 > 1378 1379 1380 1381 <div class="card-image relative <@ print(item["spayee:resource"]["spayee:availableForMembership"] ? 'includedInMembership' : '') @>"> 1382 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id + "/" + item._id +"_scaled_cover.jpg?v=" + item["spayee:resource"]["spayee:coverVersion"]; if(isNaN(item["spayee:resource"]["spayee:coverVersion"])) { curl = showCourseDefaultCover(null, item._id); } @> 1383 <div class="blurbg lazy" data-bg="<@- curl @>"></div> 1384 <img alt="<@- item['spayee:resource']['spayee:title'] @> cover" class="lazy" data-src="<@- curl @>" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 1385 </div> 1386 <div class="card-body text-ellipsis"> 1387 <span class="ctitle" style="color:#2f4f4f;text-wrap: balance;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 2;"><@- item["spayee:resource"]["spayee:title"] @></span><br> 1388 1389 <@ if(item.rating !== undefined) { @> 1390 <span class="text-gray ratingIcons icon-text"> 1391 <@ for(var i=1;i<6;i++) { @> 1392 <@ if(item.rating.avgRating >= i) { @><i class="material-icons text-primary">star</i><@ }else if(item.rating.avgRating > i-1 && item.rating.avgRating < i) { @><i class="material-icons text-primary">star_half</i><@ }else { @> 1393 <i class="material-icons">star_border</i> 1394 <@ } } @></span><small class="d-inline-block pl-1 text-dark"><@ print(formatRating(item['rating']['avgRating'])) @> (<@- item['rating']['total'] @> ratings)</small> 1395 <@ }else { @> <span class="text-gray ratingIcons icon-text"> </span> <@ } @> 1396 <br> 1397 <span class="text-gray"> 1398 <@ if(item['spayee:resource']['spayee:courseType'] === 'package') { @> 1399 <@ print(item["courses-count"]!==undefined?item["courses-count"]:"0") @> Courses 1400 <@ }else { @> 1401 <@ print(item["spayee:resource"]["spayee:publisher"]!==undefined?htmlEntities(item["spayee:resource"]["spayee:publisher"]):" ") @> 1402 <@ } @> 1403 </span> 1404 </div> 1405 <div class="card-footer"> 1406 <@ print(getCourseDisplayPrice('₹', '', item, '0.0', '', true)) @> 1407 <span class="text-gray" style="font-size:small"> 1408 <@ if(item['spayee:resource']['spayee:instalmentPlanId']!=null && item['spayee:resource']['spayee:instalmentPlanId'] !== "") { @> 1409 <@ print(getCourseInstalmentDisplayPrice('', item))@> 1410 <@ }else { @> 1411 <@ " " @> 1412 <@ } @> 1413 </span> 1414 </div> 1415 <div style="padding: 0 0.8rem 0.8rem 0.8rem;"> 1416 <span class="text-gray" style="font-size:small"> 1417 <@ if(getMultiplePlanLabel('', item)>1) {@> 1418 <i class="material-icons text-primary" style="font-size:small">discount</i> 1419 <@ print(' Flexible pricing plans') } @> 1420 </span> 1421 </div> 1422 </a> 1423 </div> 1424 </script>
1424 1425
1426<script type="text/template" id="blogcard-template"> 1427 <div class="column col-3 col-md-6 col-sm-6 col-xs-12 scourse" style="margin-bottom: 20px;"> 1428 <a class="card" title="<@- item['spayee:resource']['spayee:title'] @>" href="/blog/<@- item['spayee:resource']['spayee:url'] @>"> 1429 <div class="card-image relative"> 1430 <@ if(item['spayee:resource']['spayee:cover'] !== undefined && item['spayee:resource']['spayee:cover']) { @> 1431 <div class="blurbg lazy" data-bg="https://d502jbuhuh9wk.cloudfront.net/articles/<@- item._id @>/cover.jpg<@ print(item["spayee:resource"]["spayee:coverVersion"] !== undefined?"?v="+item["spayee:resource"]["spayee:coverVersion"]:"") @>"></div> 1432 <img alt="<@- item['spayee:resource']['spayee:title'] @> cover" class="img-responsive centered relative lazy" style="max-height: 100%;" data-src="https://d502jbuhuh9wk.cloudfront.net/articles/<@- item._id @>/cover.jpg?v=<@- item['spayee:resource']['spayee:coverVersion'] @>" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 1433 <@ }else { @> 1434 <div class="blurbg lazy" data-bg="https://d502jbuhuh9wk.cloudfront.net/resources/images/defaultCourseCover.png"></div> 1435 <img alt="<@- item['spayee:resource']['spayee:title'] @> cover" class="img-responsive centered relative lazy" style="max-height: 100%;" data-src='https://d502jbuhuh9wk.cloudfront.net/resources/images/defaultCourseCover.png'> 1436 <@ } @> 1437 </div> 1438 <div class="card-body text-ellipsis"><span style="color:#2f4f4f;"><@- item["spayee:resource"]["spayee:title"] @></span></div> 1439 <div class="card-footer" style="padding: 0.4rem;"> 1440 <span class="text-gray float-left text-ellipsis" style="max-width: calc(100% - 110px);"><@ print(item["spayee:resource"]["spayee:author"]!==undefined?htmlEntities(item["spayee:resource"]["spayee:author"]):"") @></span> 1441 <@ var pdate = item.createdDate.$date; if(item['spayee:resource']['spayee:publishDate'] !== undefined && item['spayee:resource']['spayee:publishDate'] !== '') { pdate = item['spayee:resource']['spayee:publishDate']; } @> 1442 <time class="float-right text-warning"><@ print(formatDate(new Date(pdate))) @></time> 1443 </div> 1444 </a> 1445 </div> 1446 </script>
1446 1447 1448
1448<script type="text/javascript"> 1449 var uuid = function (a) { 1450 // https://github.com/amplitude/Amplitude-Javascript/blob/master/src/uuid.js 1451 return a // if the placeholder was passed, return 1452 ? // a random number from 0 to 15 1453 ( 1454 a ^ // unless b is 8, 1455 ((Math.random() * // in which case 1456 16) >> // a random number from 1457 (a / 4)) 1458 ) // 8 to 11 1459 .toString(16) // in hexadecimal 1460 : // or otherwise a concatenated string: 1461 ( 1462 [1e7] + // 10000000 + 1463 -1e3 + // -1000 + 1464 -4e3 + // -4000 + 1465 -8e3 + // -80000000 + 1466 -1e11 1467 ) // -100000000000, 1468 .replace( 1469 // replacing 1470 /[018]/g, // zeroes, ones, and eights with 1471 uuid, // random hex digits 1472 ); 1473 }; 1474 1475 (function(e,t){var n=e.amplitude||{_q:[],_iq:{}};var r=t.createElement("script") 1476 ;r.type="text/javascript" 1477 ;r.integrity="sha384-tzcaaCH5+KXD4sGaDozev6oElQhsVfbJvdi3//c2YvbY02LrNlbpGdt3Wq4rWonS" 1478 ;r.crossOrigin="anonymous";r.async=true 1479 ;r.src="https://cdn.amplitude.com/libs/amplitude-8.5.0-min.gz.js" 1480 ;r.onload=function(){if(!e.amplitude.runQueuedFunctions){ 1481 console.log("[Amplitude] Error: could not load SDK")}} 1482 ;var i=t.getElementsByTagName("script")[0];i.parentNode.insertBefore(r,i) 1483 ;function s(e,t){e.prototype[t]=function(){ 1484 this._q.push([t].concat(Array.prototype.slice.call(arguments,0)));return this}} 1485 var o=function(){this._q=[];return this} 1486 ;var a=["add","append","clearAll","prepend","set","setOnce","unset","preInsert","postInsert","remove"] 1487 ;for(var c=0;c<a.length;c++){s(o,a[c])}n.Identify=o;var u=function(){this._q=[] 1488 ;return this} 1489 ;var l=["setProductId","setQuantity","setPrice","setRevenueType","setEventProperties"] 1490 ;for(var p=0;p<l.length;p++){s(u,l[p])}n.Revenue=u 1491 ;var d=["init","logEvent","logRevenue","setUserId","setUserProperties","setOptOut","setVersionName","setDomain","setDeviceId","enableTracking","setGlobalUserProperties","identify","clearUserProperties","setGroup","logRevenueV2","regenerateDeviceId","groupIdentify","onInit","logEventWithTimestamp","logEventWithGroups","setSessionId","resetSessionId"] 1492 ;function v(e){function t(t){e[t]=function(){ 1493 e._q.push([t].concat(Array.prototype.slice.call(arguments,0)))}} 1494 for(var n=0;n<d.length;n++){t(d[n])}}v(n);n.getInstance=function(e){ 1495 e=(!e||e.length===0?"$default_instance":e).toLowerCase() 1496 ;if(!Object.prototype.hasOwnProperty.call(n._iq,e)){n._iq[e]={_q:[]};v(n._iq[e]) 1497 }return n._iq[e]};e.amplitude=n})(window,document); 1498 1499 amplitude.getInstance().init('e56929a4c3888c23e97a7e70e34ccf6c'); 1500 amplitude.getInstance().setUserId(null); 1501 //amplitude.getInstance().regenerateDeviceId(); 1502 1503 var userProperties = { 1504 custom_domain: "www.loss2profit.com", 1505 org_id: "64bb94ebe4b0539686c35283", 1506 default_google_login_enabled: 'true' == 'true', 1507 personalized_google_login_enabled: '' != '' && 'true' == 'false' ? true : false, 1508 facebook_login_enabled: '' == 'true' ? true : false 1509 }; 1510 amplitude.getInstance().setUserProperties(userProperties); 1511 1512/* var deviceId = uuid(); 1513 amplitude.getInstance().setDeviceId(deviceId); 1514 sessionStorage.setItem('amplitudeDeviceId', deviceId); */ 1515 </script>
1515 1516 1517
1517<script type="text/javascript"> 1518 window.signupParams = {source: "store", platform: "web", sourceId: null}; 1519 var showGraphyFomoFlag = ''; 1520 1521 showGraphyFomoFlag = '64bb94ebe4b0539686c35283'; 1522 1523 </script>
1523 1524 1525
1525<script type="text/javascript"> 1526 function hideCheckoutLoader() { 1527 if(typeof window.hideLoader =="function") { 1528 window.hideLoader(); 1529 } 1530 } 1531 var checkoutRedirectGuestUsers = 'signup'; 1532 </script>
1532 1533 1534 1535 1536 1537 1538
1539<script type="text/template" id="spcoursecard-2-template"> 1540 <div class="column third"> 1541 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '0.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 1542 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' style="text-decoration: none;"> 1543 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 1544 <img class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 1545 <h4 class="size-21 text-ellipsis" style="text-wrap: balance;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;"><@- item['spayee:resource']['spayee:title'] @></h4> 1546 <p class="size-16"><@ if(item.rating !== undefined) { @> 1547 <span class="text-gray ratingIcons icon-text"> 1548 <@ for(var i=1;i<6;i++) { @> 1549 <@ if(item.rating.avgRating >= i) { @><i class="material-icons text-primary">star</i><@ }else if(item.rating.avgRating > i-1 && item.rating.avgRating < i) { @><i class="material-icons text-primary">star_half</i><@ }else { @> 1550 <i class="material-icons">star_border</i> 1551 <@ } } @></span><span><@ print(formatRating(item['rating']['avgRating'])) @> (<@- item['rating']['total'] @> ratings)</span> 1552 <@ }else { @> <span class="text-gray ratingIcons icon-text"> </span> <@ } @></p> 1553 <p class="size-16 text-ellipsis"><@ if(item['spayee:resource']['spayee:courseType'] === 'package') { @><@ print(item["courses-count"]!==undefined?item["courses-count"]:"0") @> Courses<@ }else { @> 1554 <@ print(item["spayee:resource"]["spayee:publisher"]!==undefined?item["spayee:resource"]["spayee:publisher"]:" ") @><@ } @></p> 1555 1556 <p class="size-18"><span style="color: rgb(21, 101, 192);"><@ print(getCourseDisplayPrice('₹', sessionCountry, item, '0.0', '', true)) @></span><br></p> 1557 <div style="margin:1em 0"></div> 1558 </a> 1559 </div> 1560 </script>
vendor: 1 bytes, line 1560
1560
1561<script type="text/template" id="spcoursecard-1-template"> 1562 <div class="column third"> 1563 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '0.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 1564 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' style="text-decoration: none;"> 1565 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 1566 <img class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 1567 <h4 class="size-21 text-ellipsis" style="text-wrap: balance;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;"><@- item['spayee:resource']['spayee:title'] @></h4> 1568 <div class="size-16 text-ellipsis" style="max-height: 3rem;"><@ print(item['spayee:resource']['spayee:shortDescription']!==undefined?item['spayee:resource']['spayee:shortDescription']:"") @></div> 1569 1570 <p class="size-18"><span style="color: rgb(21, 101, 192);"><@ print(getCourseDisplayPrice('₹', sessionCountry, item, '0.0', '', true)) @></span><br></p> 1571 <div style="margin:1em 0"></div> 1572 </a> 1573 </div> 1574 </script>
vendor: 1 bytes, line 1574
1574
1575<script type="text/template" id="spcoursecard-3-template"> 1576 <div class="column third"> 1577 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '0.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 1578 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' style="text-decoration: none;"> 1579 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 1580 <img class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 1581 <h4 class="size-21 text-ellipsis" style="text-wrap: balance;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;"><@- item['spayee:resource']['spayee:title'] @></h4> 1582 <div class="size-16 text-ellipsis" style="max-height: 3rem;"><@ print(item['spayee:resource']['spayee:shortDescription']!==undefined?item['spayee:resource']['spayee:shortDescription']:"") @></div> 1583 <p class="size-16 text-ellipsis"><@ if(item['spayee:resource']['spayee:courseType'] === 'package') { @><@ print(item["courses-count"]!==undefined?item["courses-count"]:"0") @> Courses<@ }else { @> 1584 <@ print(item["spayee:resource"]["spayee:publisher"]!==undefined?item["spayee:resource"]["spayee:publisher"]:" ") @><@ } @></p> 1585 <p class="size-18"><span style="color: rgb(21, 101, 192);"><@ print(getCourseDisplayPrice('₹', sessionCountry, item, '0.0', '', true)) @></span><br></p> 1586 <div style="margin:1em 0"></div> 1587 </a> 1588 </div> 1589 </script>
1589 1590
1591<script type="text/template" id="spcoursecard-4-template"> 1592 <div class="column third text-center" style="padding-left: 1rem; padding-right: 1rem; margin-bottom: 0px;"> 1593 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 1594 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '0.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 1595 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' style="text-decoration: none;"> 1596 <img class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 1597 </a> 1598 <h3 class="size-18 text-center" style="text-wrap: balance;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;"><b class="text-primary"><@- item['spayee:resource']['spayee:title'] @></b></h3> 1599 <div class="discription"><@ print(item['spayee:resource']['spayee:shortDescription']!==undefined?item['spayee:resource']['spayee:shortDescription']:"") @></div> 1600 <p class="size-18 price text-primary"><@ print(getCourseDisplayPrice('₹', sessionCountry, item, '0.0', '', true)) @></p> 1601 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" class="buy-btn btn btn-primary" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}'>Buy now<br></a> 1602 </div> 1603 </script>
1603
1604<script type="text/template" id="spcoursecard-5-template"> 1605 <div class="column third" style="padding-left: 1rem; padding-right: 1rem; margin-bottom: 0px;"> 1606 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 1607 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '0.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 1608 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' style="text-decoration: none;"> 1609 <img class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 1610 </a> 1611 <h3 class="sub-heading"><b class="size-18 text-primary"><@- item['spayee:resource']['spayee:title'] @></b></h4> 1612 <p class="size-16 description text-primary"> <@ if(item['spayee:resource']['spayee:courseType'] === 'package') { @><@ print(item["courses-count"]!==undefined?item["courses-count"]:"0") @> Courses<@ }else { @> 1613 Instructor : <@ print(item["spayee:resource"]["spayee:publisher"]!==undefined?item["spayee:resource"]["spayee:publisher"]:" ") @><@ } @></p> 1614 <@if(item.rating){@> 1615 <p class="size-16 description text-primary">Rating: 1616 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 1617 <@if(item.rating){@> 1618 <@if(item.rating.avgRating){@> 1619 <@ if(item.rating.avgRating >= ratingsSize) {@> 1620 <i class="icon ion-android-star text-primary"></i> 1621 <@ } else if(item.rating.avgRating > ratingsSize-1 && item.rating.avgRating < ratingsSize) { @> 1622 <i class="icon ion-android-star-half text-primary"></i> 1623 <@ } @> 1624 <@}@> 1625 <@}@> 1626 <@}@> 1627 </p> 1628 <@}@> 1629 1630 <p class="size-18 price text-primary">Price : <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '0.0', '', true)) @></p> 1631 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" class="buy-btn btn btn-primary" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}'>Buy now</a> 1632 </div> 1633 </script>
1633 1634
1635<script type="text/template" id="spcoursecard-6-template"> 1636 <div class="column third"> 1637 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 1638 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '0.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 1639 1640 1641 <@ var itemCategory = (item['spayee:resource']['spayee:filter1'] !== undefined)? item['spayee:resource']['spayee:filter1'][0]:''@> 1642 1643 <@ if (item['spayee:resource']['spayee:availableForMarket']==="true" ) { @> 1644 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="course_card_tapped_checkout" amplitude-payload='{"<@- item['spayee:resource']['spayee:courseType']== 'package' ? "package_id" : "course_id" @>": "<@- item._id @>","is_a_package":"<@- item['spayee:resource']['spayee:courseType']== 'package' ? "true" : "false" @>","price_on_card":"<@- removeCurrencySymbol(getCourseDisplayPrice('₹', sessionCountry, item, '0.0', '', false)) @>","currency":"INR","multiple_pricing_plans_exist":"<@- isMultiplePlansAvailable(sessionCountry, item) @>","wallet_coins_enabled_on_school":"<@- true @>","category":"<@- itemCategory @>"}'> 1645 <@ } else { @> 1646 <a title="<@- item['spayee:resource']['spayee:title'] @>" amplitude-event="course_card_tapped_checkout" amplitude-payload='{"<@- item['spayee:resource']['spayee:courseType']== 'package' ? "package_id" : "course_id" @>": "<@- item._id @>","is_a_package":"<@- item['spayee:resource']['spayee:courseType']== 'package' ? "true" : "false" @>","price_on_card":"<@- removeCurrencySymbol(getCourseDisplayPrice('₹', sessionCountry, item, '0.0', '', false)) @>","currency":"INR","multiple_pricing_plans_exist":"<@- isMultiplePlansAvailable(sessionCountry, item) @>","wallet_coins_enabled_on_school":"<@- true @>","category":"<@- itemCategory @>"}'> 1647 <@ } @> 1648 1649 1650 <img class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')" style="border-radius: 20px; margin-bottom: 0px; width: 100%; height: 190px;object-fit:cover;"> 1651 </a> 1652 <div style="font-weight: 800; line-height: 1.1; text-wrap: balance;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;" class="text-ellipsis"><@- item['spayee:resource']['spayee:title'] @></div> 1653 <p class="size-16 description text-primary"><@ if(item['spayee:resource']['spayee:courseType'] === 'package') { @> Courses<@ } @></p> 1654 <p class="size-18 price text-primary"><@ if (item['spayee:resource']['spayee:availableForMarket']==="true" ) @> <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '0.0', '', false)) @></p> 1655 <@ if (item.isMembershipPage != undefined && !item.isMembershipPage) { @> 1656 1657 1658 <@ var itemCategory = (item['spayee:resource']['spayee:filter1'] !== undefined)? item['spayee:resource']['spayee:filter1'][0]:'' @> 1659 <@ if(isMultiplePlansAvailable(sessionCountry, item) === false) { @> 1660 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="/single-checkout/<@- item['_id'] @>?pid=<@ print(getCoursePid(sessionCountry, item)) @>" class="buy-btn btn btn-primary" amplitude-event="course_buy_now_tapped_checkout" amplitude-payload='{"<@- item['spayee:resource']['spayee:courseType']== 'package' ? "package_id" : "course_id" @>": "<@- item._id @>","is_a_package":"<@- item['spayee:resource']['spayee:courseType']== 'package' ? "true" : "false" @>","price_on_card":"<@- removeCurrencySymbol(getCourseDisplayPrice('₹', sessionCountry, item, '0.0', '', false)) @>","currency":"INR","multiple_pricing_plans_exist":"<@- isMultiplePlansAvailable(sessionCountry, item) @>","wallet_coins_enabled_on_school":"<@- true @>","category":"<@- itemCategory @>"}' style="border: none;padding: 16px 61px; font-size: 16px; letter-spacing: 0.08px; line-height: 16px; font-weight: 600; text-decoration: none; display: block; text-align: center;"> 1661 Buy now 1662 </a> 1663 <@ } else { @> 1664 1665 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" class="buy-btn btn btn-primary" amplitude-event="course_buy_now_tapped_checkout" amplitude-payload='{"<@- item['spayee:resource']['spayee:courseType']== 'package' ? "package_id" : "course_id" @>": "<@- item._id @>","is_a_package":"<@- item['spayee:resource']['spayee:courseType']== 'package' ? "true" : "false" @>","price_on_card":"<@- removeCurrencySymbol(getCourseDisplayPrice('₹', sessionCountry, item, '0.0', '', false)) @>","currency":"INR","multiple_pricing_plans_exist":"<@- isMultiplePlansAvailable(sessionCountry, item) @>","wallet_coins_enabled_on_school":"<@- true @>","category":"<@- itemCategory @>"}' style="border: none;padding: 16px 61px; font-size: 16px; letter-spacing: 0.08px; line-height: 16px; font-weight: 600; text-decoration: none; display: block; text-align: center;"> 1666 Buy now 1667 </a> 1668 <@ } @> 1669 1670 1671 1672 <@ } @> 1673 </div> 1674 </script>
1674 1675 1676
1677<script type="text/template" id="spcoursecard-7-template"> 1678 <div class="column third course-mob-block"> 1679 <div class="inner-course-block"> 1680 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 1681 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '0.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 1682 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' style="text-decoration: none;"> 1683 <img class="lazy" data-style="width: 100%; height: auto;" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')" > 1684 </a> 1685 <div class="course-price-block"> 1686 <p class="text-ellipsis" title="<@- item['spayee:resource']['spayee:title'] @>" style="font-size: 18px; font-weight: 700; line-height: 1.3rem; width: 100%; margin-top: 0px; margin-bottom: 0px; min-height: 47px; text-wrap: balance;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;"> 1687 <@- item['spayee:resource']['spayee:title'] @> 1688 </p> 1689 <p class="text-primary" style="word-break: break-all; font-size: 14px; font-weight: 500; line-height: 1.5; margin-top: 16px; margin-bottom: 0px;"> 1690 <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '0.0', '', false)) @> 1691 </p> 1692 </div> 1693 <a title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" class="buy-btn btn btn-primary" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' style="display: inline-block; text-decoration: none; transition: all 0.16s ease 0s; border: none; cursor: pointer; border-radius: 4px; padding: 13px 28px; line-height: 1.5; font-weight: 600; font-size: 14px; letter-spacing: 0.15px; margin-top: 28px;"> 1694 Enroll now 1695 </a> 1696 </div> 1697 </div> 1698</script>
1698 1699
1700<script type="text/template" id="spcoursecard-8-template"> 1701 <div class="row clearfix" style="margin-bottom: 24px; margin-top: 14px;"> 1702 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 1703 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '0.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 1704 <div class="column third center" style="padding-left: 0px; padding-right: 0px;"> 1705 <img 1706 class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')" 1707 style="margin-top: 0px; margin-bottom: 0px;" 1708 /> 1709 </div> 1710 <div class="column two-third course-block-mob" style="display: flex; flex-direction: column; justify-content: center;"> 1711 <div class="course-price-block"> 1712 <h3 style="color: rgb(255, 255, 255); font-size: 18px; font-weight: 700; line-height: 1.1; margin-bottom: 0px; margin-top: 0px; text-wrap: balance;overflow: hidden;display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 1;"> 1713 <@- item['spayee:resource']['spayee:title'] @> 1714 </h3> 1715 <div class="sortDescription8"> 1716 <@ print(item['spayee:resource']['spayee:shortDescription']!==undefined?item['spayee:resource']['spayee:shortDescription']:"") @> 1717 </div> 1718 </div> 1719 1720 <a class="buy-btn btn btn-primary" title="<@- item['spayee:resource']['spayee:title'] @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" style="width: fit-content; text-align: left; display: inline-block; text-decoration: none; transition: all 0.16s ease 0s; cursor: pointer; background-color: rgb(231, 215, 73); color: rgb(0, 0, 0);border-radius: 0px;padding: 16px 48px;line-height: 16px;font-weight: 700;font-size: 16px;letter-spacing: 0.08px;border-image: initial;"> 1721 Enroll for <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '0.0', '', false)) @> 1722 </a> 1723 </div> 1724 </div> 1725 </script>
1725 1726 1727 1728 <!-- vegas TEMPLATE 9 NEW--> 1729
1729<script type="text/template" id="spcoursecard-9-template" > 1730 <div class="column third text-center course-card-fixed-height" style="padding-left: 1rem; padding-right: 1rem; margin-bottom: 2rem; text-align:left;"> 1731 <div style="border:1px solid #D7D7D7; border-radius:24px; padding-bottom: 20px; height: 100%; display: flex; flex-direction: column;"> 1732 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 1733 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '0.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 1734 1735 <a style="color:black; text-align:left;" title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}'> 1736 <img style="height:200px; width:100%; object-fit:fill; margin:0px 0px; border-top-left-radius:24px; border-top-right-radius:24px;" class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 1737 </a> 1738 1739 <div style="padding:10px 20px; flex-grow: 1; display: flex; flex-direction: column;" class="course-card-content"> 1740 <h3 1741 class="size-18 text-left" 1742 title="<@- item['spayee:resource']['spayee:title'] @>" 1743 style="white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 100%; display: block; margin-bottom: 12px; color: black;" 1744 > 1745 <b style="color:black;"><@- item['spayee:resource']['spayee:title'] @></b> 1746 </h3> 1747 1748 <div 1749 class="size-16 text-ellipsis course-card-text" 1750 title="<@= (item['spayee:resource']['spayee:shortDescription'] || ' ').replace(/<[^>]*>/g, '') @>" 1751 style="max-height: 3rem; min-height: 3rem; margin-bottom: 12px; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1;" 1752 > 1753 <@= (item['spayee:resource']['spayee:shortDescription'] || '').replace(/<[^>]*>/g, '') @> 1754 </div> 1755 </div> 1756 1757 <div style="margin-top: auto; margin-left:10px;"> 1758 <a style="background-color:#FB5607 !important; border:0px !important; border-radius:62px !important; padding:10px 16px !important; width: fit-content; display: inline-block; text-decoration: none; color: white; padding: 12px 24px; font-weight: 600 !important; font-size: 16px;letter-spacing:0px; !important" 1759 class="buy-btn btn btn-primary" 1760 title="<@- item['spayee:resource']['spayee:title'] @>" 1761 amplitude-event="buy_now_tapped_course_checkout" 1762 amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' 1763 href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>"> 1764 Enroll for <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '0.0', '', false)) @> 1765 </a> 1766 </div> 1767 </div> 1768 </div> 1769 </div> 1770</script>
1770 1771 1772 <!--Blaze Course nEW tEMPLATE 10--> 1773
1773<script type="text/template" id="spcoursecard-10-template"> 1774 <div class="column third text-center course-card-fixed-height" style="padding-left: 1rem; padding-right: 1rem; margin-bottom: 10px;margin-top:10px; text-align:left;"> 1775 <div style="height: 100%; display: flex; flex-direction: column;"> 1776 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 1777 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '0.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 1778 1779 <a style="color:black; text-align:left;" title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' style="text-decoration: none; color:black; font-size:24px;"> 1780 <img style="height:320px; object-fit:cover; margin:0px 0px;" class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 1781 </a> 1782 1783 <div style=" flex-grow: 1; display: flex; flex-direction: column;" class="course-card-content"> 1784 <h3 1785 class="size-18 text-left" 1786 style="white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 100%; display: block; margin-bottom: 12px; color: white;" 1787 > 1788 <b title="<@= item['spayee:resource']['spayee:title'] @>" style="color:white;"> 1789 <@- item['spayee:resource']['spayee:title'] @> 1790 </b> 1791 </h3> 1792 1793 <div title="<@= (item['spayee:resource']['spayee:shortDescription'] || ' ').replace(/<[^>]*>/g, '') @>" class="size-16 text-ellipsis course-card-text" style="max-height: 3rem; min-height: 3rem; margin-bottom: 12px; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1;color:white;"> 1794 <@= (item['spayee:resource']['spayee:shortDescription'] || '').replace(/<[^>]*>/g, '') @> 1795 </div> 1796 1797 <div style="margin-top: auto;"> 1798 <a style="width:100% !important;font-weight:600 !important; letter-spacing:0px; color:black !important; background-color:#D8FD46 !important; border:0px !important; border-radius:0px !important; padding:20px 36px !important; width: fit-content; display: inline-block; text-decoration: none; transition: all 0.16s ease 0s; cursor: pointer; padding: 16px 28px; line-height: 16px; font-weight: 700; font-size: 16px; letter-spacing: 0px; border-image: initial;" 1799 class="buy-btn btn btn-primary" 1800 title="<@- item['spayee:resource']['spayee:title'] @>" 1801 amplitude-event="buy_now_tapped_course_checkout" 1802 amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' 1803 href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>"> 1804 Enroll for <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '0.0', '', false)) @> 1805 </a> 1806 1807 </div> 1808 </div> 1809 </div> 1810 </div> 1811 </script>
1811 1812 1813 <!--Olive Course 11--> 1814
1814<script type="text/template" id="spcoursecard-11-template" > 1815 <@ 1816 // Calculate colors based on index 1817 var colorIndex = (typeof window.courseCardColorIndex === 'undefined') ? 0 : window.courseCardColorIndex; 1818 var colors = [ 1819 { bg: '#FFA46B', btnBg: '#361500' }, // Orange card → Dark brown button 1820 { bg: '#87A1F6', btnBg: '#001A71' }, // Blue card → Dark blue button 1821 { bg: '#B073DC', btnBg: '#34005A' } // Purple card → Dark brown button (default) 1822 ]; 1823 var currentColor = colors[colorIndex % 3]; 1824 window.courseCardColorIndex = colorIndex + 1; 1825 @> 1826 1827 <div class="column third text-center course-card course-card-fixed-height" style="padding: 0 15px; margin-bottom: 30px;"> 1828 <div class="course-card-wrapper" style="background-color: <@- currentColor.bg @>; height: 100%; border-radius: 32px; overflow: hidden;"> 1829 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; 1830 if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 1831 1832 <a class="course-image-link" style="display: block; padding: 16px;padding-bottom:0px" title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>"> 1833 <img style="height:320px; width:100%; object-fit:cover; border-radius: 32px;" class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 1834 </a> 1835 1836 <div style="padding: 20px;" class="course-card-content"> 1837 <h3 style="font-size:24px; text-transform:uppercase; color: black; margin: 0 0 15px 0; text-align: left;white-space:nowrap; overflow: hidden; text-overflow: ellipsis;width: 100%;display:block;"> 1838 <b title="<@= item['spayee:resource']['spayee:title'] @>"><@- item['spayee:resource']['spayee:title'] @></b> 1839 </h3> 1840 <div title="<@= (item['spayee:resource']['spayee:shortDescription'] || ' ').replace(/<[^>]*>/g, '') @>" class="size-16 text-ellipsis course-card-text" style="max-height: 3rem; min-height: 3rem; color:black; margin-bottom: 12px;text-align: left;"> 1841 <@ print(item['spayee:resource']['spayee:shortDescription']!==undefined?item['spayee:resource']['spayee:shortDescription']:" ") @> 1842 </div> 1843 <a class="enroll-button" 1844 style="display: block; 1845 background-color: <@- currentColor.btnBg @>; 1846 color: white !important; 1847 padding: 12px; 1848 text-align: center; 1849 font-weight: 600; 1850 text-decoration: none; 1851 border-radius: 32px;" 1852 href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>"> 1853 Enroll for <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '0.0', '', false)) @> 1854 </a> 1855 </div> 1856 </div> 1857 </div> 1858 1859 </script>
1859 1860 1861 1862 <!-- Nebula Course 12--> 1863
1863<script type="text/template" id="spcoursecard-12-template" > 1864 <div class="column third text-center course-card-fixed-height" style="padding-left: 1rem; padding-right: 1rem; margin-bottom: 2rem; text-align:left;"> 1865 <div style="border:0px; border-radius:16px; padding-bottom: 20px; height: 100%; display: flex; flex-direction: column;"> 1866 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 1867 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '0.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 1868 1869 <a style="color:black; text-align:left;" title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}'> 1870 <img style="height:240px; width:100%; object-fit:fill; margin:0px 0px; border-radius:16px; " class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 1871 </a> 1872 1873 <div style="padding:10px 0px; flex-grow: 1; display: flex; flex-direction: column;" class="course-card-content"> 1874 <h3 1875 class="size-18 text-left" 1876 title="<@- item['spayee:resource']['spayee:title'] @>" 1877 style="white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 100%; display: block; margin-bottom: 12px; color: black;" 1878 > 1879 <b style="color:black;"><@- item['spayee:resource']['spayee:title'] @></b> 1880 </h3> 1881 1882 <div 1883 class="size-16 text-ellipsis course-card-text" 1884 title="<@= (item['spayee:resource']['spayee:shortDescription'] || ' ').replace(/<[^>]*>/g, '') @>" 1885 style="max-height: 3rem; min-height: 3rem; margin-bottom: 12px; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1;" 1886 > 1887 <@= (item['spayee:resource']['spayee:shortDescription'] || '').replace(/<[^>]*>/g, '') @> 1888 </div> 1889 </div> 1890 1891 <div style="margin-top: auto; margin-left:0px;"> 1892 <a style="background-color:#6715FF !important; border-radius:12px !important; padding:10px 16px !important; width: fit-content; display: inline-block; text-decoration: none; color: white; padding: 12px 24px; font-weight: 600 !important; font-size: 16px;letter-spacing:0px; !important" 1893 class="buy-btn btn btn-primary" 1894 title="<@- item['spayee:resource']['spayee:title'] @>" 1895 amplitude-event="buy_now_tapped_course_checkout" 1896 amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' 1897 href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>"> 1898 Enroll for <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '0.0', '', false)) @> 1899 </a> 1900 </div> 1901 </div> 1902 </div> 1903 </div> 1904 </script>
1904 1905 1906 1907 1908 <!--Dusk Course-13--> 1909
1909<script type="text/template" id="spcoursecard-13-template" > 1910 <div class="column third text-center course-card-fixed-height" style="padding-left: 1rem; padding-right: 1rem; margin-bottom: 2rem; text-align:left;"> 1911 <div style="border:0px; border-radius:16px; padding-bottom: 20px; height: 100%; display: flex; flex-direction: column;"> 1912 <@ var curl = "https://d502jbuhuh9wk.cloudfront.net/courses/"+ item._id +"/"+ item._id +"_scaled_cover.jpg?v=" + item['spayee:resource']['spayee:coverVersion']; if(isNaN(item['spayee:resource']['spayee:coverVersion'])) { curl = showCourseDefaultCover(null, item._id); } @> 1913 <@ var planName = getCoursePlanName(sessionCountry, item), price = getCoursePrice(sessionCountry, item, '0.0', ''), isPackage = item['spayee:resource']['spayee.courseType'] == 'package', courseId = isPackage ? '' : item._id, packageId = isPackage ? item._id : ''; @> 1914 1915 <a style="color:black; text-align:left;" title="<@- item['spayee:resource']['spayee:title'] @>" href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>" amplitude-event="buy_now_tapped_course_checkout" amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}'> 1916 <img style="height:240px; width:100%; object-fit:fill; margin:0px 0px; border-radius:16px; " class="lazy" data-src="<@- curl @>" alt="<@- item['spayee:resource']['spayee:title'] @> cover" onerror="showCourseDefaultCover(this, '<@- item._id @>')"> 1917 </a> 1918 1919 <div style="padding:10px 0px; flex-grow: 1; display: flex; flex-direction: column;" class="course-card-content"> 1920 <h3 1921 class="size-18 text-left" 1922 title="<@- item['spayee:resource']['spayee:title'] @>" 1923 style="white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 100%; display: block; margin-bottom: 12px; color: black;" 1924 > 1925 <b style="color:black;"><@- item['spayee:resource']['spayee:title'] @></b> 1926 </h3> 1927 1928 <div 1929 class="size-16 text-ellipsis course-card-text" 1930 title="<@= (item['spayee:resource']['spayee:shortDescription'] || ' ').replace(/<[^>]*>/g, '') @>" 1931 style="max-height: 3rem; min-height: 3rem; margin-bottom: 12px; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1;" 1932 > 1933 <@= (item['spayee:resource']['spayee:shortDescription'] || '').replace(/<[^>]*>/g, '') @> 1934 </div> 1935 </div> 1936 1937 1938 1939 <div style="margin-top: auto; margin-left:0px;"> 1940 <a style="background-color:#282400 !important;border:0px ; border-radius:41px !important; padding:10px 24px !important; width: fit-content; display: inline-block; text-decoration: none; color: white; padding: 12px 24px; font-weight: 600 !important; font-size: 16px;letter-spacing:0px; !important" 1941 class="buy-btn btn btn-primary" 1942 title="<@- item['spayee:resource']['spayee:title'] @>" 1943 amplitude-event="buy_now_tapped_course_checkout" 1944 amplitude-payload='{"plan_name": "<@- planName @>", "price": <@- price @>, "currency": "INR", "course_id": "<@- courseId @>", "is_package": <@- isPackage @>, "package_id": "<@- packageId @>"}' 1945 href="<@ print(getCourseLandingPageUrl(item._id, item['spayee:resource']['spayee:courseUrl'])) @>"> 1946 Enroll for <@ print(getCourseDisplayPrice('₹', sessionCountry, item, '0.0', '', false)) @> 1947 </a> 1948 </div> 1949 </div> 1950 </div> 1951 </div> 1952 </script>
1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962<!-- Curriculum 1st Template -->
1963<script type="text/template" id="coursecurr-1-template"> 1964 <table class="table courseContents"> 1965 <thead> 1966 <tr> 1967 <td style="width: 50px;"></td> 1968 <td style="width: 50px;"></td> 1969 <td></td> 1970 </tr> 1971 </thead> 1972 <tbody> 1973 <@ $.each(item, function(index, value) { @> 1974 <tr> 1975 <td><i class="material-icons courseItemIcon" data-type="<@- value.type @>"></i></td> 1976 <td colspan="2"> 1977 <@- value.title @> 1978 <@ if(value.type == 'aiheading') { @> 1979 <small>(coming soon)</small><@ } @> 1980 <@ if(assetInfo && value.type == 'video' && value.duration !== undefined && value.duration > 0) { @> 1981 <small>(<@ print(Math.floor(value.duration)) @>:00)</small><@ } @> 1982 <@ if(assetInfo && value.type == 'pdf' && value.pages !== undefined && value.pages > 0) { @> 1983 <small>(<@- value.pages @> pages)</small> 1984 <@ } @> 1985 </td> 1986 </tr> 1987 <@ if(value.items != undefined) { @> <@ $.each(value['items'], function(index1, value1) { @> 1988 <tr> 1989 <td></td> 1990 <td><i class="material-icons courseItemIcon" data-type="<@- value1.type @>"></i></td> 1991 <td> 1992 <@- value1.title @> 1993 <@ if(assetInfo && value.type == 'video' && value1.duration !== undefined && value1.duration > 0) { @><small>(<@ print(Math.floor(value1.duration)) @>:00)</small><@ } @> 1994 <@ if(assetInfo && value1.type =='pdf' && value1.pages !== undefined && value1.pages > 0) { @><small>(<@- value1.pages @> pages)</small><@ } @> 1995 <@ if(value1.type =='aiheading') { @><small>(coming soon)</small><@ } @> 1996 </td> 1997 </tr> 1998 <@ }); @> <@ } @> <@ }); @> 1999 </tbody> 2000 </table> 2001</script>
2001 2002 2003 2004<!-- Curriculum 2nd Template -->
2005<script type="text/template" id="coursecurr-2-template"> 2006 <div class="column full curriculum2" spellcheck="false"> 2007 <div class="course-content1" > 2008 <p style="font-size: 15px; font-weight: 400; margin-top: 0px;"> 2009 <@if(summary.modules && summary.modules>0){@> 2010 <@print(summary.modules)@> Modules <i class="icon ion-android-folder-open"></i> <@if(summary.sessions && summary.sessions>0 && curriculumAssetInfo){@>|<@}@> 2011 <@}@> 2012 <@if(summary.sessions && summary.sessions>0 && curriculumAssetInfo){@> 2013 <@print(summary.sessions)@> Sessions <i class="icon ion-android-laptop"></i> <@if(summary.durations && summary.durations>0 && curriculumAssetInfo){@>|<@}@> 2014 <@}@> 2015 <@if(summary.durations && summary.durations>0 && curriculumAssetInfo){@> 2016 <@print(millisecondsToHHMMSSStr(summary.durations))@> Total Time <i class="icon ion-ios-clock-outline"></i> 2017 <@}@> 2018 </p> 2019 </div> 2020 2021 2022 <@ $.each(item, function(index, value) { @> 2023 <div class="course-course-content-box" > 2024 <div class="course-content-blue-title <@if(value && value.contents){@> bg-primary <@}else if($('#'+id).closest('div.is-section').hasClass("is-bg-grey")){@>bg-white<@}else{@>is-bg-grey<@}@>" > 2025 <span class="title-icon"> 2026 <span class="material-icons <@if(value && !value.contents){@> text-primary <@}@>"><@ print(getCourseAssetIcon(value.type))@></span> 2027 </span> 2028 <div class="titl5b" > 2029 <h3 class="<@if(value && !value.contents){@> text-primary <@}@>"> 2030 <@print(value.title)@> <@ if(curriculumAssetInfo && value.type == 'pdf' && value.pages !== undefined && value.pages > 0) { @><small>(<@- value.pages @> pages)</small><@ } @> 2031 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value.id)){@> 2032 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,"-"))@>-<@- courseId @>#<@print(value.id)@>" class="previewBtn"><span class="<@if(value && !value.contents){@> text-primary <@}@>">Preview</span></a> 2033 <@}@> 2034 </h3> 2035 <p class="<@if(value && !value.contents){@> text-primary <@}@>"><@if(value && value.contents && curriculumAssetInfo){@> 2036 Sessions: <@print(value.contents)@> 2037 <@}@> 2038 <@if(value.moduleDurations && curriculumAssetInfo){@><@if(value && value.contents){@>|<@}@> 2039 Time: <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 2040 <@}@> 2041 <@if(value && value.contents>0){@><span class="material-icons">expand_more</span><@}@> </p> 2042 </div> 2043 </div> 2044 <@if(value && value.items){@> 2045 <@ $.each(value['items'], function(index1, value1) { @> 2046 <div class="course-content-body <@if(index==0){@>showing<@ }@>" > 2047 <div class="desc1 " > 2048 <div class="is-box-9" > 2049 <div class="boxa1" > 2050 <span class="material-icons text-primary"><@ print(getCourseAssetIcon(value1.type))@></span> 2051 <p> <@print(value1.title)@> <@ if(curriculumAssetInfo && value1.type == 'pdf' && value1.pages !== undefined && value1.pages > 0) { @><small>(<@- value1.pages @> pages)</small><@ } @> 2052 <@ if(value1.type == 'aiheading') { @><small>(coming soon)</small><@ } @> 2053 </p> 2054 2055 </div> 2056 </div> 2057 <div class="is-box-1" > 2058 <div class="boxa2" > 2059 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value1.id)){@> 2060 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,"-"))@>#<@print(value1.id)@>"> 2061 <@ if(value1.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> 2062 </a> 2063 <@}@> 2064 </div> 2065 </div> 2066 <div class="is-box-2" > 2067 <div class="boxa2" > 2068 <p class="duration"><@if(value1.duration && curriculumAssetInfo){@><@print(millisecondsToHHMMSSStr(value1.duration))@><@}@></p> 2069 </div> 2070 </div> 2071 </div> 2072 </div> 2073 <@ }); @> 2074 <@}@> 2075 </div> 2076 <@ }); @> 2077 2078 </div> 2079</script>
2079 2080 2081 2082 2083 2084 2085<!-- Curriculum 3rd Template -->
2086<script type="text/template" id="coursecurr-3-template"> 2087 <div class="column full" spellcheck="false" data-gramm="false"> 2088 <div class="accordion-syllabus" > 2089 <@ $.each(item, function(index, value) { @> 2090 <div class="accordion-syllabus-item"> 2091 <header class="accordion-syllabus-header"> 2092 <h4 class="accordion-syllabus-header__title"> 2093 <span class="text-primary"> 2094 <@if(index<9){@> 2095 0<@print(index+1)@> 2096 <@ } else {@> 2097 <@print(index+1)@> 2098 <@ } @> 2099 </span> 2100 <p><@print(value.title)@> <span class="text-primary show-sm" style="font-size: 14px;"> 2101 <@if(value && value.items){@> 2102 <@ print(value.items.length) @> attachment(s) 2103 <@}@> 2104 <@if(value.moduleDurations && curriculumAssetInfo){@> 2105 <@if(value && value.contents){@> • <@}@> 2106 <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 2107 <@}@> 2108 </span></p> 2109 2110 </h4> 2111 <div class="accordion-syllabus-header__info"> 2112 <p class="text-primary hide-sm"> 2113 <@if(value && value.items){@> 2114 <@ print(value.items.length) @> attachment(s) 2115 <@}@> 2116 <@if(value.moduleDurations && curriculumAssetInfo){@> 2117 <@if(value && value.contents){@> • <@}@> 2118 <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 2119 <@}@> 2120 </p> 2121 <@if(value && value.items){@> 2122 <div class="accordion-syllabus-header__icon text-primary"> 2123 <i class="fa fa-angle-left" aria-hidden="true"></i> 2124 </div> 2125 <@}@> 2126 </div> 2127 </header> 2128 <@if(value && value.items){@> 2129 <div class="accordion-content" style=""> 2130 <div class="accordian-content-block"> 2131 <ul class="accordian-list"> 2132 <@ $.each(value['items'], function(index1, value1) { @> 2133 <li class="accordian-list__item"> 2134 <div class="accordian-content-card"> 2135 <div class="accordian-content-card__info"> 2136 <div class="accordian-content-card__ico"> 2137 <@ if(value1.type == 'code'){ @> 2138 <img src="/resources/images/CodeIcon.svg"> 2139 <@ } else { @> 2140 <span class="material-icons text-primary"> 2141 <@ print(getCourseAssetIcon(value1.type))@> 2142 </span> 2143 <@ } @> 2144 </div> 2145 <div class="accordian-content-card__title"> 2146 <@print(value1.title)@> <@ if(curriculumAssetInfo && value1.type == 'pdf' && value1.pages !== undefined && value1.pages > 0) { @><small>(<@- value1.pages @> pages)</small><@ } @> 2147 <@ if(value1.type == 'aiheading') { @><small>(coming soon)</small><@ } @> 2148 </div> 2149 </div> 2150 <div class="accordian-content-card__link"> 2151 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value1.id)){@> 2152 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,"-"))@>-<@- courseId @>#<@print(value1.id)@>" class="previewBtn"> 2153 <span class="text-primary"> 2154 <@ if(value1.type == 'video') { @> Watch <@ } else {@> Preview <@ } @><span style="color:#000"><i class="fa fa-solid fa-arrow-up-right"></i></span> 2155 </span> 2156 </a> 2157 <@}@> 2158 </div> 2159 </div> 2160 </li> 2161 <@ }); @> 2162 </ul> 2163 </div> 2164 </div> 2165 <@ } @> 2166 </div> 2167 <@ }); @> 2168 </div> 2169 </div> 2170</script>
2170 2171 2172 2173 2174<!-- Curriculum 4th Template -->
2175<script type="text/template" id="coursecurr-4-template"> 2176 <div class="column full coursecurr4"> 2177 <@ $.each(item, function(index, value) { @> 2178 <div class="accordion-syllabus-item"> 2179 <header class="accordion-syllabus-header" > 2180 <h4 class="accordion-syllabus-header__title"> 2181 <span> 2182 <@if(index<9){@>0<@print(index+1)@><@ } else {@> <@print(index+1)@> <@ } @> 2183 </span> 2184 <div class="accordion-syllabus-header__title-block" > 2185 <p style="font-size: 20px; font-weight: 700;"> 2186 <@print(value.title)@> 2187 </p> 2188 <p class="text-primary" style="font-weight: 500; font-size: 14px; line-height: 150%; margin-top: 10px; "> 2189 <@if(value && value.type == 'aiheading'){@> 2190 (coming soon) 2191 <@}@> 2192 <@if(value && value.items){@> 2193 <@ print(value.items.length) @> attachment(s) 2194 <@}@> 2195 <@if(value.moduleDurations && curriculumAssetInfo){@><@if(value && value.contents){@> • <@}@> 2196 <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 2197 <@}@> 2198 </p> 2199 </div> 2200 </h4> 2201 <@if(value && value.items){@> 2202 <div class="accordion-syllabus-header__info" > 2203 <div class="accordion-syllabus-header__icon" > 2204 <i class="fa fa-angle-left" aria-hidden="true"></i> 2205 </div> 2206 </div> 2207 <@ } @> 2208 </header> 2209 <@if(value && value.items){@> 2210 <div class="accordion-content" style=""> 2211 <div class="accordian-content-block" > 2212 <ul class="accordian-list"> 2213 <@ $.each(value['items'], function(index1, value1) { @> 2214 <li class="accordian-list__item"> 2215 <div class="accordian-content-card" > 2216 <div class="accordian-content-card__info" > 2217 <div class="accordian-content-card__ico" > 2218 <@ if(value1.type == 'code'){ @> 2219 <img src="/resources/images/CodeIcon.svg"> 2220 <@ } else { @> 2221 <span class="material-icons text-primary"> 2222 <@ print(getCourseAssetIcon(value1.type))@>262 2223 </span> 2224 <@ } @> 2225 </div> 2226 <div class="accordian-content-card__title" > 2227 <@print(value1.title)@> <@ if(curriculumAssetInfo && value1.type == 'pdf' && value1.pages !== undefined && value1.pages > 0) { @><small>(<@- value1.pages @> pages)</small><@ } @> 2228 <@ if(value1.type == 'aiheading') { @><small>(coming soon)</small><@ } @> 2229 </div> 2230 </div> 2231 <div class="accordian-content-card__link" > 2232 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value1.id)){@> 2233 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,"-"))@>-<@- courseId @>#<@print(value1.id)@>" class="previewBtn"> 2234 <span class="text-primary"> 2235 <@ if(value1.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right"></i></span> 2236 </span> 2237 </a> 2238 <@ } @> 2239 </div> 2240 </div> 2241 </li> 2242 <@ }); @> 2243 </ul> 2244 </div> 2245 </div> 2246 <@ } @> 2247 </div> 2248 <@ }); @> 2249 </div> 2250 </script>
2250 2251 2252 <!-- vegas curriculum-5--> 2253
2253<script> 2254 // Simple responsive positioning 2255 function updatePosition() { 2256 const element = document.getElementById('totalTimeElement'); 2257 if(element){ 2258 if (window.innerWidth > 768) { 2259 element.style.position = 'absolute'; 2260 element.style.top = "5px"; 2261 element.style.right = '122px'; 2262 } else { 2263 element.style.position = 'static'; 2264 element.style.margin = '0 0'; 2265 } 2266 } 2267 } 2268 2269 // Run on load and resize 2270 window.addEventListener('load', updatePosition); 2271 window.addEventListener('resize', updatePosition); 2272 </script>
2272 2273
2273<script type="text/template" id="coursecurr-5-template"> 2274 <div class="total-time" id="totalTimeElement" style=" 2275 font-size: 18px; 2276 font-weight: 600; 2277 color: #FB5607; 2278 padding: 8px 12px; 2279 border-radius: 4px; 2280 white-space: nowrap;"> 2281 <@if(summary.durations && summary.durations>0 && curriculumAssetInfo){@> 2282 <@print(millisecondsToHHMMSSStr(summary.durations))@> 2283 <@}@> 2284</div> 2285 2286<div class="accordion-syllabus" style="max-width:1000px !important"> 2287 <@ $.each(item, function(index, value) { @> 2288 <div class="accordion-syllabus-item" style="<@ if(index >= 5) { @> display: none; <@ } @>"> 2289 <header class="accordion-syllabus-header" style="background:#F5F5F5 !important; border-radius:0px;box-shadow:none;padding:0.5rem !important"> 2290 <h4 class="accordion-syllabus-header__title"> 2291 <span class="text-primary" style="font-size:18px ; font-weight:600; color:black;"> 2292 <@if(index < 9) {@> 2293 Week <@print(index + 1)@>: 2294 <@ } else {@> 2295 Week <@print(index + 1)@>: 2296 <@ } @> 2297 </span> 2298 <p style="font-size:18px ; font-weight:600;"><@print(value.title)@> <span class="text-primary show-sm" style="font-size: 14px;"> 2299 <@if(value && value.items){@> 2300 <@ print(value.items.length) @> attachment(s) 2301 <@} else {@> 2302 1 attachment(s) 2303 <@}@> 2304 <@if(value.moduleDurations && curriculumAssetInfo){@> 2305 • <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 2306 <@}@> 2307 </span></p> 2308 </h4> 2309 2310 <div class="accordion-syllabus-header__info"> 2311 <p class="text-primary hide-sm" style="color:#FB5607 !important;"> 2312 <@if(value && value.items){@> 2313 <@ print(value.items.length) @> attachment(s) 2314 <@} else {@> 2315 1 attachment(s) 2316 <@}@> 2317 <@if(value.moduleDurations && curriculumAssetInfo){@> 2318 • <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 2319 <@}@> 2320 </p> 2321 <div class="accordion-syllabus-header__icon text-primary"> 2322 <i class="fa fa-angle-left" aria-hidden="true" style="color:#FB5607;"></i> 2323 </div> 2324 </div> 2325 </header> 2326 <div class="accordion-content" style="filter:none;"> 2327 <div class="accordian-content-block" style="background:#F5F5F5 !important;box-shadow:none;padding:16px 66px 3px 69px !important;"> 2328 <ul class="accordian-list"> 2329 <@ var itemsCount = value['items'] ? value['items'].length : 0; @> 2330 <@ if(value['items'] && value['items'].length > 0) { @> 2331 <@ $.each(value['items'], function(index1, value1) { @> 2332 <li class="accordian-list__item" style="padding:0px 0px !important;<@ if(index1 >= 5) { @> display: none; <@ } @>"> 2333 <style> 2334 @media (max-width: 768px) { 2335 .accordian-content-card { 2336 flex-direction: column !important; 2337 align-items: stretch !important; 2338 } 2339 2340 .accordian-content-card__top { 2341 flex-direction: row !important; 2342 justify-content: space-between !important; 2343 align-items: center !important; 2344 width: 100% !important; 2345 } 2346 2347 .accordian-content-card__title { 2348 flex: 1 !important; 2349 margin: 0 10px !important; 2350 white-space: nowrap; 2351 overflow: hidden; 2352 text-overflow: ellipsis; 2353 } 2354 2355 .accordian-content-card__bottom { 2356 flex-direction: row !important; 2357 justify-content: space-between !important; 2358 align-items: center !important; 2359 width: 100% !important; 2360 margin-top: 6px !important; 2361 } 2362 2363 .accordian-content-card__link { 2364 flex: 1 !important; 2365 min-width: 0 !important; 2366 text-align: left !important; 2367 } 2368 2369 .accordian-content-card__time { 2370 flex-shrink: 0 !important; 2371 text-align: right !important; 2372 } 2373 } 2374 </style> 2375 2376 <div class="accordian-content-card" 2377 style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; border-bottom: 1px solid #eee;"> 2378 2379 2380 <!-- Row 1: Icon + Title + Collapse Icon --> 2381 <div class="accordian-content-card__top" 2382 style="display: flex; align-items: center; justify-content: space-between; width: 100%;"> 2383 2384 <!-- Icon --> 2385 <div class="accordian-content-card__ico" style="flex-shrink: 0;"> 2386 <@ if(value1.type == 'code'){ @> 2387 <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px;"> 2388 <@ } else { @>
2389 <span class="material-icons text-primary" style="color:#FB5607; font-size: 24px;"> 2390 <@ print(getCourseAssetIcon(value1.type))@> 2391 </span> 2392 <@ } @> 2393 </div> 2394 2395 <!-- Title --> 2396 <div class="accordian-content-card__title" 2397 style="font-weight: 400; font-size: 14px; color: #333; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> 2398 <@print(value1.title)@> 2399 </div> 2400 2401 <!-- Collapse Icon (optional) --> 2402 <div class="accordian-content-card__collapse" style="flex-shrink: 0;"> 2403 <!-- Example placeholder, add real icon if needed --> 2404 <!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> --> 2405 </div> 2406 </div> 2407 2408 <!-- Row 2: Preview Button and Time --> 2409 <div class="accordian-content-card__bottom" 2410 style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;"> 2411 2412 <!-- Preview Button --> 2413 <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;"> 2414 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value1.id)){@> 2415 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value1.id)@>" 2416 class="previewBtn" 2417 style="font-size: 14px; font-weight: 500; text-decoration: none; color: #FB5607; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;"> 2418 <span class="text-primary" style="color:#FB5607;"> 2419 <@ if(value1.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> 2420 <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#FB5607;"></i></span> 2421 </span> 2422 </a> 2423 <@}@> 2424 </div> 2425 2426 <!-- Time --> 2427 <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;"> 2428 <p class="text-primary course-asset-time" 2429 style="font-size: 14px; font-weight: 500; color:#FB5607 !important; margin: 0;"> 2430 <@ if(value1.duration && value1.duration > 0) { @> 2431 <@ print(millisecondsToHHMMSSStr(value1.duration)) @> 2432 <@ } else { @> 2433 -- 2434 <@ } @> 2435 </p> 2436 </div> 2437 2438 </div> 2439 </div> 2440 2441 2442 </li> 2443 <@ }); @> 2444 <@ } else { @> 2445 <li class="accordian-list__item" style="padding:0px 0px !important;"> 2446 <div class="accordian-content-card" 2447 style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; border-bottom: 1px solid #eee;"> 2448 2449 <!-- Row 1: Icon + Title + Collapse Icon --> 2450 <div class="accordian-content-card__top" 2451 style="display: flex; align-items: center; justify-content: space-between; width: 100%;"> 2452 2453 <!-- Icon --> 2454 <div class="accordian-content-card__ico" style="flex-shrink: 0;"> 2455 <@ if(value.type == 'code'){ @> 2456 <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px;"> 2457 <@ } else { @> 2458 <span class="material-icons text-primary" style="color:#FB5607; font-size: 24px;"> 2459 <@ print(getCourseAssetIcon(value.type))@> 2460 </span> 2461 <@ } @> 2462 </div> 2463 2464 <!-- Title --> 2465 <div class="accordian-content-card__title" 2466 style="font-weight: 400; font-size: 14px; color: #333; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> 2467 <@print(value.title)@> 2468 </div> 2469 2470 <!-- Collapse Icon (optional) --> 2471 <div class="accordian-content-card__collapse" style="flex-shrink: 0;"> 2472 <!-- Example placeholder, add real icon if needed --> 2473 <!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> --> 2474 </div> 2475 </div> 2476 2477 <!-- Row 2: Preview Button and Time --> 2478 <div class="accordian-content-card__bottom" 2479 style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;"> 2480 2481 <!-- Preview Button --> 2482 <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;"> 2483 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value.id)){@> 2484 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value.id)@>" 2485 class="previewBtn" 2486 style="font-size: 14px; font-weight: 500; text-decoration: none; color: #FB5607; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;">
2487 <span class="text-primary" style="color:#FB5607;"> 2488 <@ if(value.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> 2489 <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#FB5607;"></i></span> 2490 </span> 2491 </a> 2492 <@}@> 2493 </div> 2494 2495 <!-- Time --> 2496 <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;"> 2497 <p class="text-primary course-asset-time" 2498 style="font-size: 14px; font-weight: 500; color:#FB5607 !important; margin: 0;"> 2499 <@ if(value.duration && value.duration > 0) { @> 2500 <@ print(millisecondsToHHMMSSStr(value.duration)) @> 2501 <@ } else { @> 2502 -- 2503 <@ } @> 2504 </p> 2505 </div> 2506 </div> 2507 </div> 2508 </li> 2509 <@ } @> 2510 </ul> 2511 2512 <@ if(itemsCount > 5) { @> 2513 <div style="text-align: center; margin-top: 10px;"> 2514 <button style="background-color: #FB5607; color: white; padding: 4px 28px; border: none; cursor: pointer; font-size: 16px; border-radius: 24px;" 2515 onclick=" 2516 var parentAccordion = this.closest('.accordion-content'); 2517 parentAccordion.style.maxHeight = 'none'; 2518 this.closest('.accordian-content-block').querySelectorAll('.accordian-list__item').forEach(el => el.style.display = 'block'); 2519 this.style.display = 'none'; 2520 "> 2521 View All 2522 </button> 2523 </div> 2524 <@ } @> 2525 </div> 2526 </div> 2527 </div> 2528 <@ }); @> 2529 <@ if(item.length > 5) { @> 2530 <div style="text-align: center; margin-top: 10px;margin-bottom: 20px;"> 2531 <button style="background-color: #FB5607; color: white; padding: 8px 32px; border: none; cursor: pointer; font-size: 16px; border-radius: 24px;" 2532 onclick="document.querySelectorAll('.accordion-syllabus-item').forEach(el => el.style.display = 'block'); this.style.display = 'none';"> 2533 View All Sessions 2534 </button> 2535 </div> 2536 <@ } @> 2537</div> 2538 </div> 2539</script>
2539 2540 2541 2542<!--Blaze-Curriculum-6-->
2543<script type="text/template" id="coursecurr-6-template"> 2544 <div class="column full" spellcheck="false" data-gramm="false"> 2545 <div class="total-time" id="totalTimeElement" style=" 2546 font-size: 18px; 2547 font-weight: 600; 2548 color: #D8FD46; 2549 padding: 8px 12px; 2550 border-radius: 4px; 2551 white-space: nowrap; 2552 background: #232323; 2553 margin-bottom: 20px;"> 2554 <@if(summary.durations && summary.durations>0 && curriculumAssetInfo){@> 2555 <@print(millisecondsToHHMMSSStr(summary.durations))@> 2556 <@}@> 2557 </div> 2558 2559 <div class="accordion-syllabus"> 2560 <@ $.each(item, function(index, value) { @> 2561 <div class="accordion-syllabus-item" style="<@ if(index >= 5) { @> display: none; <@ } @>"> 2562 <header class="accordion-syllabus-header" style="background:#232323 !important; border-radius:0px;box-shadow:none;padding:20px 20px !important"> 2563 <h4 class="accordion-syllabus-header__title"> 2564 <span class="text-primary" style="font-size:18px ; font-weight:600; color:white;"> 2565 <@if(index < 9) {@> 2566 Week <@print(index + 1)@>: 2567 <@ } else {@> 2568 Week <@print(index + 1)@>: 2569 <@ } @> 2570 </span> 2571 <p style="font-size:18px ; font-weight:600;color:white;"><@print(value.title)@> <span class="text-primary show-sm" style="font-size: 14px;color:#D8FD46 !important;"> 2572 <@if(value && value.items){@> 2573 <@ print(value.items.length) @> attachment(s) 2574 <@} else {@> 2575 1 attachment(s) 2576 <@}@> 2577 <@if(value.moduleDurations && curriculumAssetInfo){@> 2578 • <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 2579 <@}@> 2580 </span></p> 2581 </h4> 2582 <div class="accordion-syllabus-header__info"> 2583 <p class="text-primary hide-sm" style="color:#D8FD46 !important;"> 2584 <@if(value && value.items){@> 2585 <@ print(value.items.length) @> attachment(s) 2586 <@} else {@> 2587 1 attachment(s) 2588 <@}@> 2589 <@if(value.moduleDurations && curriculumAssetInfo){@> 2590 • <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 2591 <@}@> 2592 </p> 2593 <div class="accordion-syllabus-header__icon text-primary"> 2594 <i class="fa fa-angle-left" aria-hidden="true" style="color:#D8FD46;"></i> 2595 </div> 2596 </div> 2597 </header> 2598 <div class="accordion-content" style="filter:none;background:#181818;"> 2599 <div class="accordian-content-block" style="box-shadow:none;padding:16px 20px !important;background:transparent !important;"> 2600 <ul class="accordian-list"> 2601 <@ var itemsCount = value['items'] ? value['items'].length : 0; @> 2602 <@ if(value['items'] && value['items'].length > 0) { @> 2603 <@ $.each(value['items'], function(index1, value1) { @> 2604 <li class="accordian-list__item" style="padding:0px 0px !important;<@ if(index1 >= 5) { @> display: none; <@ } @>"> 2605 <style> 2606 @media (max-width: 768px) { 2607 .accordian-content-card { 2608 flex-direction: column !important; 2609 align-items: stretch !important; 2610 } 2611 2612 .accordian-content-card__top { 2613 flex-direction: row !important; 2614 justify-content: space-between !important; 2615 align-items: center !important; 2616 width: 100% !important; 2617 } 2618 2619 .accordian-content-card__title { 2620 flex: 1 !important; 2621 margin: 0 10px !important; 2622 white-space: nowrap; 2623 overflow: hidden; 2624 text-overflow: ellipsis; 2625 } 2626 2627 .accordian-content-card__bottom { 2628 flex-direction: row !important; 2629 justify-content: space-between !important; 2630 align-items: center !important; 2631 width: 100% !important; 2632 margin-top: 6px !important; 2633 } 2634 2635 .accordian-content-card__link { 2636 flex: 1 !important; 2637 min-width: 0 !important; 2638 text-align: left !important; 2639 } 2640 2641 .accordian-content-card__time { 2642 flex-shrink: 0 !important; 2643 text-align: right !important; 2644 } 2645 } 2646 </style> 2647 2648 <div class="accordian-content-card" 2649 style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; "> 2650 2651 <!-- Row 1: Icon + Title + Collapse Icon --> 2652 <div class="accordian-content-card__top" 2653 style="display: flex; align-items: center; justify-content: space-between; width: 100%;"> 2654 2655 <!-- Icon --> 2656 <div class="accordian-content-card__ico" style="flex-shrink: 0;"> 2657 <@ if(value1.type == 'code'){ @> 2658 <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px; filter: invert(1);"> 2659 <@ } else { @>
2660 <span class="material-icons text-primary" style="color:#D8FD46; font-size: 24px;"> 2661 <@ print(getCourseAssetIcon(value1.type))@> 2662 </span> 2663 <@ } @> 2664 </div> 2665 2666 <!-- Title --> 2667 <div class="accordian-content-card__title" 2668 style="font-weight: 400; font-size: 14px; color: white; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> 2669 <@print(value1.title)@> 2670 <!-- <@ if(curriculumAssetInfo && value1.type == 'pdf' && value1.pages !== undefined && value1.pages > 0) { @> 2671 <small style="color: #999;">(<@- value1.pages @> pages)</small> 2672 <@ } @> 2673 <@ if(value1.type == 'aiheading') { @> 2674 <small style="color: #999;">(coming soon)</small> 2675 <@ } @> --> 2676 </div> 2677 2678 <!-- Collapse Icon --> 2679 <div class="accordian-content-card__collapse" style="flex-shrink: 0;"> 2680 </div> 2681 </div> 2682 2683 <!-- Row 2: Preview Button and Time --> 2684 <div class="accordian-content-card__bottom" 2685 style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;"> 2686 2687 <!-- Preview Button --> 2688 <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;"> 2689 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value1.id)){@> 2690 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value1.id)@>" 2691 class="previewBtn" 2692 style="font-size: 14px; font-weight: 500; text-decoration: none; color: #D8FD46 !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;"> 2693 <span class="text-primary" style="color:#D8FD46;"> 2694 <@ if(value1.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> 2695 <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#D8FD46;"></i></span> 2696 </span> 2697 </a> 2698 <@}@> 2699 </div> 2700 2701 <!-- Time --> 2702 <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;"> 2703 <p class="text-primary course-asset-time" 2704 style="font-size: 14px; font-weight: 500; color:#D8FD46 !important; margin: 0;"> 2705 <@ if(value1.duration && value1.duration > 0) { @> 2706 <@ print(millisecondsToHHMMSSStr(value1.duration)) @> 2707 <@ } else { @> 2708 -- 2709 <@ } @> 2710 </p> 2711 </div> 2712 </div> 2713 </div> 2714 </li> 2715 <@ }); @> 2716 <@ } else { @> 2717 <li class="accordian-list__item" style="padding:0px 0px !important;"> 2718 <div class="accordian-content-card" 2719 style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; "> 2720 2721 <!-- Row 1: Icon + Title + Collapse Icon --> 2722 <div class="accordian-content-card__top" 2723 style="display: flex; align-items: center; justify-content: space-between; width: 100%;"> 2724 2725 <!-- Icon --> 2726 <div class="accordian-content-card__ico" style="flex-shrink: 0;"> 2727 <@ if(value.type == 'code'){ @> 2728 <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px; filter: invert(1);"> 2729 <@ } else { @> 2730 <span class="material-icons text-primary" style="color:#D8FD46; font-size: 24px;"> 2731 <@ print(getCourseAssetIcon(value.type))@> 2732 </span> 2733 <@ } @> 2734 </div> 2735 2736 <!-- Title --> 2737 <div class="accordian-content-card__title" 2738 style="font-weight: 400; font-size: 14px; color: white; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> 2739 <@print(value.title)@> 2740 </div> 2741 2742 <!-- Collapse Icon (optional) --> 2743 <div class="accordian-content-card__collapse" style="flex-shrink: 0;"> 2744 <!-- Example placeholder, add real icon if needed --> 2745 <!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> --> 2746 </div> 2747 </div> 2748 2749 <!-- Row 2: Preview Button and Time --> 2750 <div class="accordian-content-card__bottom" 2751 style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;"> 2752 2753 <!-- Preview Button --> 2754 <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;"> 2755 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value.id)){@> 2756 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value.id)@>" 2757 class="previewBtn" 2758 style="font-size: 14px; font-weight: 500; text-decoration: none; color: #D8FD46 !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;"> 2759 <span class="text-primary" style="color:#D8FD46;"> 2760 <@ if(value.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> 2761 <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#D8FD46;"></i></span> 2762 </span> 2763 </a> 2764 <@}@> 2765 </div> 2766 2767 <!-- Time --> 2768 <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;"> 2769 <p class="text-primary course-asset-time" 2770 style="font-size: 14px; font-weight: 500; color:#D8FD46 !important; margin: 0;"> 2771 <@ if(value.duration && value.duration > 0) { @> 2772 <@ print(millisecondsToHHMMSSStr(value.duration)) @> 2773 <@ } else { @> 2774 -- 2775 <@ } @> 2776 </p> 2777 </div> 2778 </div> 2779 </div> 2780 </li> 2781 <@ } @> 2782 </ul> 2783 2784 <@ if(itemsCount > 5) { @> 2785 <div style="text-align: center; margin-top: 10px;"> 2786 <button style="background-color: #D8FD46; color: black; padding: 4px 28px; border: none; cursor: pointer; font-size: 16px; border-radius: 0px;" 2787 onclick=" 2788 var parentAccordion = this.closest('.accordion-content'); 2789 parentAccordion.style.maxHeight = 'none'; 2790 this.closest('.accordian-content-block').querySelectorAll('.accordian-list__item').forEach(el => el.style.display = 'block'); 2791 this.style.display = 'none'; 2792 "> 2793 View All 2794 </button> 2795 </div> 2796 <@ } @> 2797 </div> 2798 </div> 2799 </div> 2800 <@ }); @> 2801 <@ if(item.length > 5) { @> 2802 <div style="text-align: center; margin-top: 10px;margin-bottom: 20px;"> 2803 <button style="background-color: #D8FD46; color: black; padding: 8px 32px; border: none; cursor: pointer; font-size: 16px; border-radius: 0px;" 2804 onclick="document.querySelectorAll('.accordion-syllabus-item').forEach(el => el.style.display = 'block'); this.style.display = 'none';"> 2805 View All Sessions 2806 </button> 2807 </div> 2808 <@ } @> 2809 </div> 2810 </div> 2811</script>
2811 2812
2813<script> 2814 // Simple responsive positioning (same as Vegas) 2815 function updatePosition() { 2816 const element = document.getElementById('totalTimeElement'); 2817 if(element){ 2818 if (window.innerWidth > 768) { 2819 element.style.position = 'absolute'; 2820 element.style.top = "5px"; 2821 element.style.right = '122px'; 2822 } else { 2823 element.style.position = 'static'; 2824 element.style.margin = '0 0'; 2825 } 2826 } 2827 } 2828 2829 // Run on load and resize 2830 window.addEventListener('load', updatePosition); 2831 window.addEventListener('resize', updatePosition); 2832</script>
2832 2833 2834 2835 2836 2837<!--Nebula Curriculum 7--> 2838 2839
2840<script> 2841 // Simple responsive positioning 2842 function updatePosition() { 2843 const element = document.getElementById('totalTimeElement'); 2844 if(element){ 2845 if (window.innerWidth > 768) { 2846 element.style.position = 'absolute'; 2847 element.style.top = "5px"; 2848 element.style.right = '122px'; 2849 } else { 2850 element.style.position = 'static'; 2851 element.style.margin = '0 0'; 2852 } 2853 } 2854 } 2855 2856 // Run on load and resize 2857 window.addEventListener('load', updatePosition); 2858 window.addEventListener('resize', updatePosition); 2859 </script>
2859 2860
2860<script type="text/template" id="coursecurr-7-template"> 2861 <div class="total-time" id="totalTimeElement" style=" 2862 font-size: 18px; 2863 font-weight: 600; 2864 color: #6715FF; 2865 padding: 8px 12px; 2866 border-radius: 4px; 2867 white-space: nowrap;"> 2868 <@if(summary.durations && summary.durations>0 && curriculumAssetInfo){@> 2869 <@print(millisecondsToHHMMSSStr(summary.durations))@> 2870 <@}@> 2871</div> 2872 2873<div class="accordion-syllabus" style="max-width:1000px !important"> 2874 <@ $.each(item, function(index, value) { @> 2875 <div class="accordion-syllabus-item" style="<@ if(index >= 5) { @> display: none; <@ } @>"> 2876 <header class="accordion-syllabus-header" style="background:#F1ECFB !important; border-radius16px;box-shadow:none;padding:20px !important"> 2877 <h4 class="accordion-syllabus-header__title"> 2878 <span class="text-primary" style="font-size:18px ; font-weight:600; color:black;"> 2879 <@if(index < 9) {@> 2880 Week <@print(index + 1)@>: 2881 <@ } else {@> 2882 Week <@print(index + 1)@>: 2883 <@ } @> 2884 </span> 2885 <p style="font-size:18px ; font-weight:600;"><@print(value.title)@> <span class="text-primary show-sm" style="font-size: 14px;"> 2886 <@if(value && value.items){@> 2887 <@ print(value.items.length) @> attachment(s) 2888 <@} else {@> 2889 1 attachment(s) 2890 <@}@> 2891 <@if(value.moduleDurations && curriculumAssetInfo){@> 2892 • <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 2893 <@}@> 2894 </span></p> 2895 </h4> 2896 2897 <div class="accordion-syllabus-header__info"> 2898 <p class="text-primary hide-sm" style="color:#6715FF !important;"> 2899 <@if(value && value.items){@> 2900 <@ print(value.items.length) @> attachment(s) 2901 <@} else {@> 2902 1 attachment(s) 2903 <@}@> 2904 <@if(value.moduleDurations && curriculumAssetInfo){@> 2905 • <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 2906 <@}@> 2907 </p> 2908 <div class="accordion-syllabus-header__icon text-primary"> 2909 <i class="fa fa-angle-left" aria-hidden="true" style="color:#6715FF;"></i> 2910 </div> 2911 </div> 2912 </header> 2913 <div class="accordion-content" style="filter:none;background:transparent !important;"> 2914 <div class="accordian-content-block" style="background:transparent !important;box-shadow:none;padding:16px 66px 3px 69px !important;"> 2915 <ul class="accordian-list"> 2916 <@ var itemsCount = value['items'] ? value['items'].length : 0; @> 2917 <@ if(value['items'] && value['items'].length > 0) { @> 2918 <@ $.each(value['items'], function(index1, value1) { @> 2919 <li class="accordian-list__item" style="padding:0px 0px !important;<@ if(index1 >= 5) { @> display: none; <@ } @>"> 2920 <style> 2921 @media (max-width: 768px) { 2922 .accordian-content-card { 2923 flex-direction: column !important; 2924 align-items: stretch !important; 2925 } 2926 2927 .accordian-content-card__top { 2928 flex-direction: row !important; 2929 justify-content: space-between !important; 2930 align-items: center !important; 2931 width: 100% !important; 2932 } 2933 2934 .accordian-content-card__title { 2935 flex: 1 !important; 2936 margin: 0 10px !important; 2937 white-space: nowrap; 2938 overflow: hidden; 2939 text-overflow: ellipsis; 2940 } 2941 2942 .accordian-content-card__bottom { 2943 flex-direction: row !important; 2944 justify-content: space-between !important; 2945 align-items: center !important; 2946 width: 100% !important; 2947 margin-top: 6px !important; 2948 } 2949 2950 .accordian-content-card__link { 2951 flex: 1 !important; 2952 min-width: 0 !important; 2953 text-align: left !important; 2954 } 2955 2956 .accordian-content-card__time { 2957 flex-shrink: 0 !important; 2958 text-align: right !important; 2959 } 2960 } 2961 </style> 2962 2963 <div class="accordian-content-card" 2964 style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; border-bottom: 1px solid #eee;"> 2965 2966 2967 <!-- Row 1: Icon + Title + Collapse Icon --> 2968 <div class="accordian-content-card__top" 2969 style="display: flex; align-items: center; justify-content: space-between; width: 100%;"> 2970 2971 <!-- Icon --> 2972 <div class="accordian-content-card__ico" style="flex-shrink: 0;"> 2973 <@ if(value1.type == 'code'){ @> 2974 <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px;"> 2975 <@ } else { @>
2976 <span class="material-icons text-primary" style="color:#6715FF; font-size: 24px;"> 2977 <@ print(getCourseAssetIcon(value1.type))@> 2978 </span> 2979 <@ } @> 2980 </div> 2981 2982 <!-- Title --> 2983 <div class="accordian-content-card__title" 2984 style="font-weight: 400; font-size: 14px; color: #333; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> 2985 <@print(value1.title)@> 2986 </div> 2987 2988 <!-- Collapse Icon (optional) --> 2989 <div class="accordian-content-card__collapse" style="flex-shrink: 0;"> 2990 <!-- Example placeholder, add real icon if needed --> 2991 <!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> --> 2992 </div> 2993 </div> 2994 2995 <!-- Row 2: Preview Button and Time --> 2996 <div class="accordian-content-card__bottom" 2997 style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;"> 2998 2999 <!-- Preview Button --> 3000 <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;"> 3001 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value1.id)){@> 3002 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value1.id)@>" 3003 class="previewBtn" 3004 style="font-size: 14px; font-weight: 500; text-decoration: none; color: #6715FF; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;"> 3005 <span class="text-primary" style="color:#6715FF;"> 3006 <@ if(value1.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> 3007 <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#6715FF;"></i></span> 3008 </span> 3009 </a> 3010 <@}@> 3011 </div> 3012 3013 <!-- Time --> 3014 <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;"> 3015 <p class="text-primary course-asset-time" 3016 style="font-size: 14px; font-weight: 500; color:#6715FF !important; margin: 0;"> 3017 <@ if(value1.duration && value1.duration > 0) { @> 3018 <@ print(millisecondsToHHMMSSStr(value1.duration)) @> 3019 <@ } else { @> 3020 -- 3021 <@ } @> 3022 </p> 3023 </div> 3024 3025 </div> 3026 </div> 3027 3028 3029 </li> 3030 <@ }); @> 3031 <@ } else { @> 3032 <li class="accordian-list__item" style="padding:0px 0px !important;"> 3033 <div class="accordian-content-card" 3034 style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; border-bottom: 1px solid #eee;"> 3035 3036 <!-- Row 1: Icon + Title + Collapse Icon --> 3037 <div class="accordian-content-card__top" 3038 style="display: flex; align-items: center; justify-content: space-between; width: 100%;"> 3039 3040 <!-- Icon --> 3041 <div class="accordian-content-card__ico" style="flex-shrink: 0;"> 3042 <@ if(value.type == 'code'){ @> 3043 <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px;"> 3044 <@ } else { @> 3045 <span class="material-icons text-primary" style="color:#6715FF; font-size: 24px;"> 3046 <@ print(getCourseAssetIcon(value.type))@> 3047 </span> 3048 <@ } @> 3049 </div> 3050 3051 <!-- Title --> 3052 <div class="accordian-content-card__title" 3053 style="font-weight: 400; font-size: 14px; color: #333; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> 3054 <@print(value.title)@> 3055 </div> 3056 3057 <!-- Collapse Icon (optional) --> 3058 <div class="accordian-content-card__collapse" style="flex-shrink: 0;"> 3059 <!-- Example placeholder, add real icon if needed --> 3060 <!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> --> 3061 </div> 3062 </div> 3063 3064 <!-- Row 2: Preview Button and Time --> 3065 <div class="accordian-content-card__bottom" 3066 style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;"> 3067 3068 <!-- Preview Button --> 3069 <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;"> 3070 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value.id)){@> 3071 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value.id)@>" 3072 class="previewBtn" 3073 style="font-size: 14px; font-weight: 500; text-decoration: none; color: #6715FF; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;">
3074 <span class="text-primary" style="color:#6715FF;"> 3075 <@ if(value.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> 3076 <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#6715FF;"></i></span> 3077 </span> 3078 </a> 3079 <@}@> 3080 </div> 3081 3082 <!-- Time --> 3083 <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;"> 3084 <p class="text-primary course-asset-time" 3085 style="font-size: 14px; font-weight: 500; color:#6715FF !important; margin: 0;"> 3086 <@ if(value.duration && value.duration > 0) { @> 3087 <@ print(millisecondsToHHMMSSStr(value.duration)) @> 3088 <@ } else { @> 3089 -- 3090 <@ } @> 3091 </p> 3092 </div> 3093 </div> 3094 </div> 3095 </li> 3096 <@ } @> 3097 </ul> 3098 3099 <@ if(itemsCount > 5) { @> 3100 <div style="text-align: center; margin-top: 10px;"> 3101 <button style="background-color: #6715FF; color: white; padding: 4px 28px; border: none; cursor: pointer; font-size: 16px; border-radius: 24px;" 3102 onclick=" 3103 var parentAccordion = this.closest('.accordion-content'); 3104 parentAccordion.style.maxHeight = 'none'; 3105 this.closest('.accordian-content-block').querySelectorAll('.accordian-list__item').forEach(el => el.style.display = 'block'); 3106 this.style.display = 'none'; 3107 "> 3108 View All 3109 </button> 3110 </div> 3111 <@ } @> 3112 </div> 3113 </div> 3114 </div> 3115 <@ }); @> 3116 <@ if(item.length > 5) { @> 3117 <div style="text-align: center; margin-top: 10px;margin-bottom: 20px;"> 3118 <button style="background-color: #6715FF; color: white; padding: 8px 32px; border: none; cursor: pointer; font-size: 16px; border-radius: 24px;" 3119 onclick="document.querySelectorAll('.accordion-syllabus-item').forEach(el => el.style.display = 'block'); this.style.display = 'none';"> 3120 View All Sessions 3121 </button> 3122 </div> 3123 <@ } @> 3124</div> 3125 </div> 3126</script>
3126 3127 3128 3129 3130<!--Olive Curriculum 8-->
3131<script> 3132 // Simple responsive positioning 3133 function updatePosition() { 3134 const element = document.getElementById('totalTimeElement'); 3135 if(element){ 3136 if (window.innerWidth > 768) { 3137 element.style.position = 'absolute'; 3138 element.style.top = "5px"; 3139 element.style.right = '122px'; 3140 } else { 3141 element.style.position = 'static'; 3142 element.style.margin = '0 0'; 3143 } 3144 } 3145 } 3146 3147 // Run on load and resize 3148 window.addEventListener('load', updatePosition); 3149 window.addEventListener('resize', updatePosition); 3150 </script>
3150 3151
3151<script type="text/template" id="coursecurr-8-template"> 3152 <div class="total-time" id="totalTimeElement" style=" 3153 font-size: 18px; 3154 font-weight: 600; 3155 color: #064400; 3156 padding: 8px 12px; 3157 border-radius: 4px; 3158 white-space: nowrap;"> 3159 <@if(summary.durations && summary.durations>0 && curriculumAssetInfo){@> 3160 <@print(millisecondsToHHMMSSStr(summary.durations))@> 3161 <@}@> 3162</div> 3163 3164<div class="accordion-syllabus" style="max-width:1000px !important"> 3165 <@ $.each(item, function(index, value) { @> 3166 <div class="accordion-syllabus-item" style="<@ if(index >= 5) { @> display: none; <@ } @>"> 3167 <header class="accordion-syllabus-header" style="background:#E5E5E5 !important; border-radius16px;box-shadow:none;padding:20px !important"> 3168 <h4 class="accordion-syllabus-header__title"> 3169 <span class="text-primary" style="font-size:18px ; font-weight:600; color:black;"> 3170 <@if(index < 9) {@> 3171 Week <@print(index + 1)@>: 3172 <@ } else {@> 3173 Week <@print(index + 1)@>: 3174 <@ } @> 3175 </span> 3176 <p style="font-size:18px ; font-weight:600;"><@print(value.title)@> <span class="text-primary show-sm" style="font-size: 14px;"> 3177 <@if(value && value.items){@> 3178 <@ print(value.items.length) @> attachment(s) 3179 <@} else {@> 3180 1 attachment(s) 3181 <@}@> 3182 <@if(value.moduleDurations && curriculumAssetInfo){@> 3183 • <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 3184 <@}@> 3185 </span></p> 3186 </h4> 3187 3188 <div class="accordion-syllabus-header__info"> 3189 <p class="text-primary hide-sm" style="color:#064400 !important;"> 3190 <@if(value && value.items){@> 3191 <@ print(value.items.length) @> attachment(s) 3192 <@} else {@> 3193 1 attachment(s) 3194 <@}@> 3195 <@if(value.moduleDurations && curriculumAssetInfo){@> 3196 • <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 3197 <@}@> 3198 </p> 3199 <div class="accordion-syllabus-header__icon text-primary"> 3200 <i class="fa fa-angle-left" aria-hidden="true" style="color:#064400;"></i> 3201 </div> 3202 </div> 3203 </header> 3204 <div class="accordion-content" style="filter:none;background:transparent !important;"> 3205 <div class="accordian-content-block" style="background:transparent !important;box-shadow:none;padding:16px 66px 3px 69px !important;"> 3206 <ul class="accordian-list"> 3207 <@ var itemsCount = value['items'] ? value['items'].length : 0; @> 3208 <@ if(value['items'] && value['items'].length > 0) { @> 3209 <@ $.each(value['items'], function(index1, value1) { @> 3210 <li class="accordian-list__item" style="padding:0px 0px !important;<@ if(index1 >= 5) { @> display: none; <@ } @>"> 3211 <style> 3212 @media (max-width: 768px) { 3213 .accordian-content-card { 3214 flex-direction: column !important; 3215 align-items: stretch !important; 3216 } 3217 3218 .accordian-content-card__top { 3219 flex-direction: row !important; 3220 justify-content: space-between !important; 3221 align-items: center !important; 3222 width: 100% !important; 3223 } 3224 3225 .accordian-content-card__title { 3226 flex: 1 !important; 3227 margin: 0 10px !important; 3228 white-space: nowrap; 3229 overflow: hidden; 3230 text-overflow: ellipsis; 3231 } 3232 3233 .accordian-content-card__bottom { 3234 flex-direction: row !important; 3235 justify-content: space-between !important; 3236 align-items: center !important; 3237 width: 100% !important; 3238 margin-top: 6px !important; 3239 } 3240 3241 .accordian-content-card__link { 3242 flex: 1 !important; 3243 min-width: 0 !important; 3244 text-align: left !important; 3245 } 3246 3247 .accordian-content-card__time { 3248 flex-shrink: 0 !important; 3249 text-align: right !important; 3250 } 3251 } 3252 </style> 3253 3254 <div class="accordian-content-card" 3255 style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; border-bottom: 1px solid #eee;"> 3256 3257 3258 <!-- Row 1: Icon + Title + Collapse Icon --> 3259 <div class="accordian-content-card__top" 3260 style="display: flex; align-items: center; justify-content: space-between; width: 100%;"> 3261 3262 <!-- Icon --> 3263 <div class="accordian-content-card__ico" style="flex-shrink: 0;"> 3264 <@ if(value1.type == 'code'){ @> 3265 <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px;"> 3266 <@ } else { @>
3267 <span class="material-icons text-primary" style="color:#064400; font-size: 24px;"> 3268 <@ print(getCourseAssetIcon(value1.type))@> 3269 </span> 3270 <@ } @> 3271 </div> 3272 3273 <!-- Title --> 3274 <div class="accordian-content-card__title" 3275 style="font-weight: 400; font-size: 14px; color: #333; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> 3276 <@print(value1.title)@> 3277 </div> 3278 3279 <!-- Collapse Icon (optional) --> 3280 <div class="accordian-content-card__collapse" style="flex-shrink: 0;"> 3281 <!-- Example placeholder, add real icon if needed --> 3282 <!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> --> 3283 </div> 3284 </div> 3285 3286 <!-- Row 2: Preview Button and Time --> 3287 <div class="accordian-content-card__bottom" 3288 style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;"> 3289 3290 <!-- Preview Button --> 3291 <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;"> 3292 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value1.id)){@> 3293 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value1.id)@>" 3294 class="previewBtn" 3295 style="font-size: 14px; font-weight: 500; text-decoration: none; color: #064400; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;"> 3296 <span class="text-primary" style="color:#064400;"> 3297 <@ if(value1.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> 3298 <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#064400;"></i></span> 3299 </span> 3300 </a> 3301 <@}@> 3302 </div> 3303 3304 <!-- Time --> 3305 <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;"> 3306 <p class="text-primary course-asset-time" 3307 style="font-size: 14px; font-weight: 500; color:#064400 !important; margin: 0;"> 3308 <@ if(value1.duration && value1.duration > 0) { @> 3309 <@ print(millisecondsToHHMMSSStr(value1.duration)) @> 3310 <@ } else { @> 3311 -- 3312 <@ } @> 3313 </p> 3314 </div> 3315 3316 </div> 3317 </div> 3318 3319 3320 </li> 3321 <@ }); @> 3322 <@ } else { @> 3323 <li class="accordian-list__item" style="padding:0px 0px !important;"> 3324 <div class="accordian-content-card" 3325 style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; border-bottom: 1px solid #eee;"> 3326 3327 <!-- Row 1: Icon + Title + Collapse Icon --> 3328 <div class="accordian-content-card__top" 3329 style="display: flex; align-items: center; justify-content: space-between; width: 100%;"> 3330 3331 <!-- Icon --> 3332 <div class="accordian-content-card__ico" style="flex-shrink: 0;"> 3333 <@ if(value.type == 'code'){ @> 3334 <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px;"> 3335 <@ } else { @> 3336 <span class="material-icons text-primary" style="color:#064400; font-size: 24px;"> 3337 <@ print(getCourseAssetIcon(value.type))@> 3338 </span> 3339 <@ } @> 3340 </div> 3341 3342 <!-- Title --> 3343 <div class="accordian-content-card__title" 3344 style="font-weight: 400; font-size: 14px; color: #333; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> 3345 <@print(value.title)@> 3346 </div> 3347 3348 <!-- Collapse Icon (optional) --> 3349 <div class="accordian-content-card__collapse" style="flex-shrink: 0;"> 3350 <!-- Example placeholder, add real icon if needed --> 3351 <!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> --> 3352 </div> 3353 </div> 3354 3355 <!-- Row 2: Preview Button and Time --> 3356 <div class="accordian-content-card__bottom" 3357 style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;"> 3358 3359 <!-- Preview Button --> 3360 <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;"> 3361 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value.id)){@> 3362 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value.id)@>" 3363 class="previewBtn" 3364 style="font-size: 14px; font-weight: 500; text-decoration: none; color: #064400; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;">
3365 <span class="text-primary" style="color:#064400;"> 3366 <@ if(value.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> 3367 <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#064400;"></i></span> 3368 </span> 3369 </a> 3370 <@}@> 3371 </div> 3372 3373 <!-- Time --> 3374 <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;"> 3375 <p class="text-primary course-asset-time" 3376 style="font-size: 14px; font-weight: 500; color:#064400 !important; margin: 0;"> 3377 <@ if(value.duration && value.duration > 0) { @> 3378 <@ print(millisecondsToHHMMSSStr(value.duration)) @> 3379 <@ } else { @> 3380 -- 3381 <@ } @> 3382 </p> 3383 </div> 3384 </div> 3385 </div> 3386 </li> 3387 <@ } @> 3388 </ul> 3389 3390 <@ if(itemsCount > 5) { @> 3391 <div style="text-align: center; margin-top: 10px;"> 3392 <button style="background-color: #064400; color: white; padding: 4px 28px; border: none; cursor: pointer; font-size: 16px; border-radius: 24px;" 3393 onclick=" 3394 var parentAccordion = this.closest('.accordion-content'); 3395 parentAccordion.style.maxHeight = 'none'; 3396 this.closest('.accordian-content-block').querySelectorAll('.accordian-list__item').forEach(el => el.style.display = 'block'); 3397 this.style.display = 'none'; 3398 "> 3399 View All 3400 </button> 3401 </div> 3402 <@ } @> 3403 </div> 3404 </div> 3405 </div> 3406 <@ }); @> 3407 <@ if(item.length > 5) { @> 3408 <div style="text-align: center; margin-top: 10px;margin-bottom: 20px;"> 3409 <button style="background-color: #064400; color: white; padding: 8px 32px; border: none; cursor: pointer; font-size: 16px; border-radius: 24px;" 3410 onclick="document.querySelectorAll('.accordion-syllabus-item').forEach(el => el.style.display = 'block'); this.style.display = 'none';"> 3411 View All Sessions 3412 </button> 3413 </div> 3414 <@ } @> 3415</div> 3416 </div> 3417</script>
3417 3418 3419 3420 3421<!--Dusk Curriculum 9-->
3422<script> 3423 // Simple responsive positioning 3424 function updatePosition() { 3425 const element = document.getElementById('totalTimeElement'); 3426 if(element){ 3427 if (window.innerWidth > 768) { 3428 element.style.position = 'absolute'; 3429 element.style.top = "5px"; 3430 element.style.right = '122px'; 3431 } else { 3432 element.style.position = 'static'; 3433 element.style.margin = '0 0'; 3434 } 3435 } 3436 } 3437 3438 // Run on load and resize 3439 window.addEventListener('load', updatePosition); 3440 window.addEventListener('resize', updatePosition); 3441 </script>
3441 3442
3442<script> 3443 // Simple responsive positioning 3444 function updatePosition() { 3445 const element = document.getElementById('totalTimeElement'); 3446 if(element){ 3447 if (window.innerWidth > 768) { 3448 element.style.position = 'absolute'; 3449 element.style.top = "5px"; 3450 element.style.right = '122px'; 3451 } else { 3452 element.style.position = 'static'; 3453 element.style.margin = '0 0'; 3454 } 3455 } 3456 } 3457 3458 // Run on load and resize 3459 window.addEventListener('load', updatePosition); 3460 window.addEventListener('resize', updatePosition); 3461 </script>
3461 3462
3462<script type="text/template" id="coursecurr-9-template"> 3463 <div class="total-time" id="totalTimeElement" style=" 3464 font-size: 18px; 3465 font-weight: 600; 3466 color: #282400; 3467 padding: 8px 12px; 3468 border-radius: 4px; 3469 white-space: nowrap;"> 3470 <@if(summary.durations && summary.durations>0 && curriculumAssetInfo){@> 3471 <@print(millisecondsToHHMMSSStr(summary.durations))@> 3472 <@}@> 3473</div> 3474 3475<div class="accordion-syllabus" style="max-width:1000px !important"> 3476 <@ $.each(item, function(index, value) { @> 3477 <div class="accordion-syllabus-item" style="<@ if(index >= 5) { @> display: none; <@ } @>"> 3478 <header class="accordion-syllabus-header" style="background:#F5F5F5 !important; border-radius:8px;box-shadow:none;padding:20px !important"> 3479 <h4 class="accordion-syllabus-header__title"> 3480 <span class="text-primary" style="font-size:18px ; font-weight:600; color:black;"> 3481 <@if(index < 9) {@> 3482 Week <@print(index + 1)@>: 3483 <@ } else {@> 3484 Week <@print(index + 1)@>: 3485 <@ } @> 3486 </span> 3487 <p style="font-size:18px ; font-weight:600;"><@print(value.title)@> <span class="text-primary show-sm" style="font-size: 14px;"> 3488 <@if(value && value.items){@> 3489 <@ print(value.items.length) @> attachment(s) 3490 <@} else {@> 3491 1 attachment(s) 3492 <@}@> 3493 <@if(value.moduleDurations && curriculumAssetInfo){@> 3494 • <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 3495 <@}@> 3496 </span></p> 3497 </h4> 3498 3499 <div class="accordion-syllabus-header__info"> 3500 <p class="text-primary hide-sm" style="color:#282400 !important;"> 3501 <@if(value && value.items){@> 3502 <@ print(value.items.length) @> attachment(s) 3503 <@} else {@> 3504 1 attachment(s) 3505 <@}@> 3506 <@if(value.moduleDurations && curriculumAssetInfo){@> 3507 • <@print(millisecondsToHHMMSSStr(value.moduleDurations))@> 3508 <@}@> 3509 </p> 3510 <div class="accordion-syllabus-header__icon text-primary"> 3511 <i class="fa fa-angle-left" aria-hidden="true" style="color:#282400;"></i> 3512 </div> 3513 </div> 3514 </header> 3515 <div class="accordion-content" style="filter:none;background:transparent !important;"> 3516 <div class="accordian-content-block" style="background:transparent !important;box-shadow:none;padding:16px 66px 3px 69px !important;"> 3517 <ul class="accordian-list"> 3518 <@ var itemsCount = value['items'] ? value['items'].length : 0; @> 3519 <@ if(value['items'] && value['items'].length > 0) { @> 3520 <@ $.each(value['items'], function(index1, value1) { @> 3521 <li class="accordian-list__item" style="padding:0px 0px !important;<@ if(index1 >= 5) { @> display: none; <@ } @>"> 3522 <style> 3523 @media (max-width: 768px) { 3524 .accordian-content-card { 3525 flex-direction: column !important; 3526 align-items: stretch !important; 3527 } 3528 3529 .accordian-content-card__top { 3530 flex-direction: row !important; 3531 justify-content: space-between !important; 3532 align-items: center !important; 3533 width: 100% !important; 3534 } 3535 3536 .accordian-content-card__title { 3537 flex: 1 !important; 3538 margin: 0 10px !important; 3539 white-space: nowrap; 3540 overflow: hidden; 3541 text-overflow: ellipsis; 3542 } 3543 3544 .accordian-content-card__bottom { 3545 flex-direction: row !important; 3546 justify-content: space-between !important; 3547 align-items: center !important; 3548 width: 100% !important; 3549 margin-top: 6px !important; 3550 } 3551 3552 .accordian-content-card__link { 3553 flex: 1 !important; 3554 min-width: 0 !important; 3555 text-align: left !important; 3556 } 3557 3558 .accordian-content-card__time { 3559 flex-shrink: 0 !important; 3560 text-align: right !important; 3561 } 3562 } 3563 </style> 3564 3565 <div class="accordian-content-card" 3566 style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; border-bottom: 1px solid #eee;"> 3567 3568 3569 <!-- Row 1: Icon + Title + Collapse Icon --> 3570 <div class="accordian-content-card__top" 3571 style="display: flex; align-items: center; justify-content: space-between; width: 100%;"> 3572 3573 <!-- Icon --> 3574 <div class="accordian-content-card__ico" style="flex-shrink: 0;"> 3575 <@ if(value1.type == 'code'){ @> 3576 <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px;"> 3577 <@ } else { @>
3578 <span class="material-icons text-primary" style="color:#282400; font-size: 24px;"> 3579 <@ print(getCourseAssetIcon(value1.type))@> 3580 </span> 3581 <@ } @> 3582 </div> 3583 3584 <!-- Title --> 3585 <div class="accordian-content-card__title" 3586 style="font-weight: 400; font-size: 14px; color: #333; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> 3587 <@print(value1.title)@> 3588 </div> 3589 3590 <!-- Collapse Icon (optional) --> 3591 <div class="accordian-content-card__collapse" style="flex-shrink: 0;"> 3592 <!-- Example placeholder, add real icon if needed --> 3593 <!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> --> 3594 </div> 3595 </div> 3596 3597 <!-- Row 2: Preview Button and Time --> 3598 <div class="accordian-content-card__bottom" 3599 style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;"> 3600 3601 <!-- Preview Button --> 3602 <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;"> 3603 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value1.id)){@> 3604 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value1.id)@>" 3605 class="previewBtn" 3606 style="font-size: 14px; font-weight: 500; text-decoration: none; color: #282400; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;"> 3607 <span class="text-primary" style="color:#282400;"> 3608 <@ if(value1.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> 3609 <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#282400;"></i></span> 3610 </span> 3611 </a> 3612 <@}@> 3613 </div> 3614 3615 <!-- Time --> 3616 <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;"> 3617 <p class="text-primary course-asset-time" 3618 style="font-size: 14px; font-weight: 500; color:#282400 !important; margin: 0;"> 3619 <@ if(value1.duration && value1.duration > 0) { @> 3620 <@ print(millisecondsToHHMMSSStr(value1.duration)) @> 3621 <@ } else { @> 3622 -- 3623 <@ } @> 3624 </p> 3625 </div> 3626 3627 </div> 3628 </div> 3629 3630 3631 </li> 3632 <@ }); @> 3633 <@ } else { @> 3634 <li class="accordian-list__item" style="padding:0px 0px !important;"> 3635 <div class="accordian-content-card" 3636 style="display: flex; flex-wrap: nowrap; align-items: center; justify-content: space-between; padding: 10px 0; width: 100%; box-sizing: border-box; border-bottom: 1px solid #eee;"> 3637 3638 <!-- Row 1: Icon + Title + Collapse Icon --> 3639 <div class="accordian-content-card__top" 3640 style="display: flex; align-items: center; justify-content: space-between; width: 100%;"> 3641 3642 <!-- Icon --> 3643 <div class="accordian-content-card__ico" style="flex-shrink: 0;"> 3644 <@ if(value.type == 'code'){ @> 3645 <img src="/resources/images/CodeIcon.svg" style="width: 24px; height: 24px;"> 3646 <@ } else { @> 3647 <span class="material-icons text-primary" style="color:#282400; font-size: 24px;"> 3648 <@ print(getCourseAssetIcon(value.type))@> 3649 </span> 3650 <@ } @> 3651 </div> 3652 3653 <!-- Title --> 3654 <div class="accordian-content-card__title" 3655 style="font-weight: 400; font-size: 14px; color: #333; margin: 0 10px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"> 3656 <@print(value.title)@> 3657 </div> 3658 3659 <!-- Collapse Icon (optional) --> 3660 <div class="accordian-content-card__collapse" style="flex-shrink: 0;"> 3661 <!-- Example placeholder, add real icon if needed --> 3662 <!-- <i class="fa fa-chevron-down" style="font-size: 16px;"></i> --> 3663 </div> 3664 </div> 3665 3666 <!-- Row 2: Preview Button and Time --> 3667 <div class="accordian-content-card__bottom" 3668 style="display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 6px; flex-wrap: nowrap;"> 3669 3670 <!-- Preview Button --> 3671 <div class="accordian-content-card__link" style="flex: 1; min-width: 0; text-align: left;"> 3672 <@if(summary.sampleAvailable && summary.sampleSectionIds.includes(value.id)){@> 3673 <a href="/s/preview/courses/<@print(decodeURIComponent(summary.courseUrl).replace(/ /g,'-'))@>-<@- courseId @>#<@print(value.id)@>" 3674 class="previewBtn" 3675 style="font-size: 14px; font-weight: 500; text-decoration: none; color: #282400; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;">
3676 <span class="text-primary" style="color:#282400;"> 3677 <@ if(value.type == 'video') { @> Watch <@ } else {@> Preview <@ } @> 3678 <span style="color:#000"><i class="fa fa-solid fa-arrow-up-right" style="color:#282400;"></i></span> 3679 </span> 3680 </a> 3681 <@}@> 3682 </div> 3683 3684 <!-- Time --> 3685 <div class="accordian-content-card__time" style="flex-shrink: 0; text-align: right;"> 3686 <p class="text-primary course-asset-time" 3687 style="font-size: 14px; font-weight: 500; color:#282400 !important; margin: 0;"> 3688 <@ if(value.duration && value.duration > 0) { @> 3689 <@ print(millisecondsToHHMMSSStr(value.duration)) @> 3690 <@ } else { @> 3691 -- 3692 <@ } @> 3693 </p> 3694 </div> 3695 </div> 3696 </div> 3697 </li> 3698 <@ } @> 3699 </ul> 3700 3701 <@ if(itemsCount > 5) { @> 3702 <div style="text-align: center; margin-top: 10px;"> 3703 <button style="background-color: #282400; color: white; padding: 4px 28px; border: none; cursor: pointer; font-size: 16px; border-radius: 24px;" 3704 onclick=" 3705 var parentAccordion = this.closest('.accordion-content'); 3706 parentAccordion.style.maxHeight = 'none'; 3707 this.closest('.accordian-content-block').querySelectorAll('.accordian-list__item').forEach(el => el.style.display = 'block'); 3708 this.style.display = 'none'; 3709 "> 3710 View All 3711 </button> 3712 </div> 3713 <@ } @> 3714 </div> 3715 </div> 3716 </div> 3717 <@ }); @> 3718 <@ if(item.length > 5) { @> 3719 <div style="text-align: center; margin-top: 10px;margin-bottom: 20px;"> 3720 <button style="background-color: #282400; color: white; padding: 8px 32px; border: none; cursor: pointer; font-size: 16px; border-radius: 24px;" 3721 onclick="document.querySelectorAll('.accordion-syllabus-item').forEach(el => el.style.display = 'block'); this.style.display = 'none';"> 3722 View All Sessions 3723 </button> 3724 </div> 3725 <@ } @> 3726</div> 3727 </div> 3728</script>
3728 3729 3730 3731 3732 3733 3734 3735<!-- Feedback Template First -->
3736<script type="text/template" id="widget-1-template"> 3737<div class="column full feedbackContainer feedback1 spectre"> 3738<@if(msg){@> 3739 <h4 style="letter-spacing: 2px; text-align: center;"><@print(msg)@></h4> 3740<@}else{@> 3741<div class="avgratingbox"> 3742 <div class="flex-row" > 3743 <div class="is-box-2" > 3744 <p style="color: rgb(247, 247, 247); font-weight: 700!important; font-size: 40px!important; text-align: center; letter-spacing: 3px; padding-bottom: 0px; margin-bottom: 0px; line-height: 1; margin-top: 0px;"> 3745 <@ if(ratings && ratings.avgRating) {@> 3746 <@ print(parseFloat(ratings.avgRating.toFixed(1))) @> 3747 <@}else{@> 3748 0 3749 <@}@> 3750 </p> 3751 <h5 class="ratings1" style="text-align: center; margin-bottom: 0px; margin-top: 0px; line-height: 1;"> 3752 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 3753 <@if(ratings){@> 3754 <@ if(ratings.avgRating >= ratingsSize) {@> 3755 <i class="icon ion-android-star"></i> 3756 <@ } else if(ratings.avgRating > ratingsSize-1 && ratings.avgRating < ratingsSize) { @> 3757 <i class="icon ion-android-star-half"></i> 3758 <@ } else { @> 3759 <i class="icon ion-android-star-outline"></i> 3760 <@ } @> 3761 <@} else {@> 3762 <i class="icon ion-android-star-outline"></i> 3763 <@}@> 3764 <@}@> 3765 </h5> 3766 <p style="margin: 10px 0 0 !important;text-align: center;line-height: 1;font-size: 30px!important;"><i class="fa-light fa-users t-white"></i> </p> 3767 <p style="margin-bottom: 10px; margin-top: 0px; font-size: 12px!important; letter-spacing: 1px; font-weight: 500!important; color: rgb(247, 247, 247); text-align: center;"> 3768 Total <@ if(ratings){print(ratings.total) }else{0}@> Reviews 3769 </p> 3770 </div> 3771 <div class="is-box-9"> 3772 <@ for (i = 0; i < 5; i++) {@> 3773 <div class="box7878"> 3774 <div style="flex:1;"> 3775 <div class="meter <@print(ratingsPer[(parseInt(i)+1)+'-star'].cls)@> nostripes"> 3776 <span style="width: <@print(ratingsPer[(parseInt(i)+1)+'-star'].rates)@>%"></span> 3777 </div> 3778 </div> 3779 <div id="ratingbox"> 3780 <p class="ratings2" style=" line-height: 1;"> 3781 <@ for (ratingsSize = 5; ratingsSize >=1; ratingsSize--) {@> 3782 <@if(ratingsSize>i){@> 3783 <i class="fa fa-solid fa-star-sharp text-primary"></i> 3784 <@} else {@> 3785 <i class="fa fa-solid fa-star-sharp"></i> 3786 <@}@> 3787 <@}@> 3788 <span class="t-white"> 3789 <@ if(ratings && ratings.ratingsCount){print(ratings.ratingsCount[(parseInt(5)-i)+'-stars'])}else{0} @> 3790 </span> 3791 </p> 3792 3793 </div> 3794 </div> 3795 <@}@> 3796 </div> 3797 </div> 3798</div> 3799 <div class="bg-secondary" style="padding:15px 15px;border-radius:10px;border-top-right-radius: 0;border-top-left-radius: 0;" > 3800 <p 3801 style="font-size: 16px!important; font-weight: 500!important; letter-spacing: 1px;" class="text-primary"> 3802 Reviews 3803 </p> 3804 3805<div class="review-box" id="createCustomReview" style="display:none"> 3806<div class="flex-row"> 3807 <div class="is-box-2 centerbox"> 3808 <div class="spectre"> 3809 <figure data-initial="<@if(typeof SPUSER !== 'undefined'){print(SPUSER.email.substring(0, 1))}else{@>Me<@}@>" class="uppercase avatar avatar-lg figsize" > 3810 <img src="/s/profile/thumb" alt="" class="review-pic" onerror="profileImageError(this)" data-mhash="<@ if(typeof SPUSER !== 'undefined'){print(SPUSER.mhash)} @>"> 3811 </figure> 3812 <@if(typeof SPUSER !== 'undefined'){ @><p class="review-name"><@ print(SPUSER.name) @> </p><@ } @> 3813 </div> 3814 </div> 3815 <div class="is-box-10"> 3816 <textarea rows="3" class="form-input" 3817 placeholder="Add your review here"></textarea> 3818 <div class="rating3"> 3819 <p id="rating-stars"> 3820 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> <i 3821 class="fa fa-solid fa-star-sharp text-primary rating-star" data-value='<@- ratingsSize @>'></i> <@}@> 3822 </p> 3823 3824 <button class="btn btn-primary <@ if(typeof SPUSER !== 'undefined'){ print('createCustomReviewBtn') }else { print('loginBtn') } @>" 3825 data-reviewData="reviewlist" 3826 style="padding: 2px 28px; text-transform: uppercase; border-radius: 40px;">Post</button> 3827 </div> 3828 </div> 3829</div> 3830</div> 3831 3832 <div id="reviewlist"> 3833 <@ $.each(items, function(index, item) { @> 3834 <div class="review-box reviewcontainer <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @>selfreview<@ } @>"> 3835 <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @> 3836 <a class="btn btn-link float-right deleteCurrentReviewBtn" data-id="<@ print(item['_id']) @>"><i class="material-icons">delete</i></a> 3837 <@ } @> 3838 <div class="flex-row"> 3839 <div class="is-box-2 centerbox"> 3840 <div class="spectre"> 3841 <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @> 3842 <figure data-initial="<@if(typeof SPUSER !== 'undefined'){print(SPUSER.email.substring(0, 1))}else{@>Me<@}@>" class="uppercase avatar avatar-lg figsize" > 3843 <img src="/s/profile/thumb" alt="" class="review-pic" onerror="profileImageError(this)" data-mhash="<@ if(typeof SPUSER !== 'undefined'){print(SPUSER.mhash)} @>"> 3844 <@ } else {@> 3845 <figure data-initial="<@ print(getUserInitial(null, item.userName)) @>" class="uppercase avatar avatar-lg figsize" > 3846 <img src="/s/profile/<@- item.userId @>/thumb" alt="" class="review-pic" onerror="profileImageError(this)" data-mhash="<@ item.mhash @>"> 3847 <@ } @> 3848 </figure> 3849 <p class="review-name"><@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @><@ print(SPUSER.name) @><@ } else {@> <@ print(item.userName) @><@ } @> </p> 3850 </div> 3851 </div> 3852 <div class="is-box-10"> 3853 <div class="rating4"> 3854 <p> 3855 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> <@ 3856 if(item.rating >= ratingsSize) {@> 3857 <i class="fa fa-solid fa-star-sharp text-primary"></i> 3858 <@ } else if(item.rating > ratingsSize-1 && item.rating < ratingsSize) { @> 3859 <i class="fa fa-solid fa-star-sharp-half text-primary"></i> 3860 <@ } else { @> 3861 <i class="fa fa-solid fa-star-sharp"></i> 3862 <@}@> 3863 <@ }@> 3864 </p> 3865 <p 3866 style="font-size: 13px!important; color: rgb(174, 170, 170); font-weight: 600!important; margin-top: 4px;"> 3867 <time class="timestamp"
3868 datetime="<@ print((new Date(item.createdDate.$date)).toISOString()) @>"><@ 3869 print(parseDate(item.createdDate.$date)) @></time> 3870 </p> 3871 </div> 3872 <p class="reviewTxt" 3873 style="color: rgb(102, 102, 102); font-weight: 500!important; font-size: 13px!important; margin-bottom: 10px;"><@ 3874 print(item.reviewtext.replace(/</g,'<').replace(/>/g,'>')) @></p> 3875 <div class="comment-tag"> 3876 <@ if(item.isFeatured) {@><span>Featured Review </span><@ } @><@ if(item.isVerifiedPurchase) {@> <span>Verified Purchase </span><@ } @> 3877 </div> 3878 </div> 3879 </div> 3880 </div> 3881 <@ }); @> 3882 </div> 3883 <button class="bg-primary loadMoreReviewsBtn reviewLMbtn" data-itemTemplate="feedback-1-item-template" data-reviewData="reviewlist" >Load More Reviews</button> 3884</div> 3885<@}@> 3886</script>
3886 3887 3888
3889<script type="text/template" id="feedback-1-item-template"> 3890<div class="review-box reviewcontainer <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @>selfreview<@ } @>""> 3891<@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @> 3892 <a class="btn btn-link float-right deleteCurrentReviewBtn" data-id="<@ print(item['_id']) @>"><i class="material-icons">delete</i></a> 3893<@ } @> 3894<div class="flex-row"> 3895 <div class="is-box-2 centerbox"> 3896 <div class="spectre"> 3897 <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @> 3898 <figure data-initial="<@if(typeof SPUSER !== 'undefined'){print(SPUSER.email.substring(0, 1))}else{@>Me<@}@>" class="avatar avatar-lg figsize" > 3899 <img src="/s/profile/thumb" alt="" class="review-pic" onerror="profileImageError(this)" data-mhash="<@ if(typeof SPUSER !== 'undefined'){print(SPUSER.mhash)} @>"> 3900 <@ } else {@> 3901 <figure data-initial="<@ print(getUserInitial(null, item.userName)) @>" class="avatar avatar-lg figsize" > 3902 <img src="/s/profile/<@- item.userId @>/thumb" alt="" class="review-pic" onerror="profileImageError(this)" data-mhash="<@ item.mhash @>"> 3903 <@ } @> 3904 </figure> 3905 <p class="review-name"><@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @><@ print(SPUSER.name) @><@ } else {@> <@ print(item.userName) @><@ } @> </p> 3906 </div> 3907 </div> 3908 <div class="is-box-10"> 3909 <div class="rating4"> 3910 <p> 3911 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> <@ 3912 if(item.rating >= ratingsSize) {@> 3913 <i class="fa fa-solid fa-star-sharp text-primary"></i> 3914 <@ } else if(item.rating > ratingsSize-1 && item.rating < ratingsSize) { @> 3915 <i class="fa fa-solid fa-star-sharp-half text-primary"></i> 3916 <@ } else { @> 3917 <i class="fa fa-solid fa-star-sharp-outline"></i> 3918 <@}@> 3919 <@ } @> 3920 </p> 3921 <p 3922 style="font-size: 13px!important; color: rgb(174, 170, 170); font-weight: 600!important; margin-top: 4px;"> 3923 <time class="timestamp" 3924 datetime="<@ print((new Date(item.createdDate.$date)).toISOString()) @>"><@ 3925 print(parseDate(item.createdDate.$date)) @></time> 3926 </p> 3927 </div> 3928 <p class="reviewTxt" 3929 style="color: rgb(102, 102, 102); font-weight: 500!important; font-size: 13px!important; margin-bottom: 10px;"><@ 3930 print(item.reviewtext.replace(/</g,'<').replace(/>/g,'>')) @></p> 3931 <div class="comment-tag"> 3932 <@ if(item.isFeatured) {@><span>Featured Review </span><@ } @><@ if(item.isVerifiedPurchase) {@> <span>Verified Purchase </span><@ } @> 3933 </div> 3934 </div> 3935</div> 3936</div> 3937</script>
3937 3938 3939 3940<!-- Feedback Template Second -->
3941<script type="text/template" id="feedback-2-template"> 3942<div class="column full feedbackContainer feedback2 spectre <@- total @>" style="padding: 0;"> 3943<@if(msg){@> 3944 <h4 style="letter-spacing: 2px; text-align: center;"><@print(msg)@></h4> 3945<@}else{@> 3946<@ if(total > 0 && ratings && ratings.avgRating) {@> 3947<div class="avgratingbox"> 3948<div class="column third"> 3949 <div class="is-card avgRatingContainer" > 3950 <div class="avgRatingInnerContainer"> 3951 <h3 style="font-weight: 800; font-size: 12px; line-height: 1.3; margin-bottom: 0px;">Customer ratings</h3> 3952 <div style="display: flex; flex-direction: row; align-items: center; justify-content: center;"> 3953 <i class="icon ion-android-star text-primary" style="font-size: 80px;"></i> 3954 <div style="margin-left: 25px;"> 3955 <span style="display: flex; justify-content: flex-start; align-items: baseline;"> 3956 <h3 style="margin-top: 0px; margin-bottom: 0px; font-size: 32px; font-weight: 800; color: var(--themeColor); line-height: 1.3;"> 3957 <@ if(ratings && ratings.avgRating) {@> 3958 <@ print(parseFloat(ratings.avgRating.toFixed(1))) @> 3959 <@}else{@> 3960 0 3961 <@}@> 3962 </h3> 3963 <p class="avgRatingReviews">/5</p> 3964 </span> 3965 <p class="avgRatingReviews"> 3966 <@ if(ratings){print(ratings.total) }else{0}@> reviews 3967 </p> 3968 </div> 3969 </div> 3970 </div> 3971 </div> 3972</div> 3973</div> 3974<@ } @> 3975<div id="feedback2Reviewlist" class="reviewslist"> 3976 <@ $.each(items, function(index, item) { @> 3977 <@ var template = _.template($("#feedback-2-item-template").html()); print(template({item: item})) @> 3978 <@ }); @> 3979 <@}@> 3980</div> 3981<div class="row clearfix"> 3982 <div class="column full"> 3983 <p class="loadMoreReviewsBtn reviewLMbtn text-primary" data-itemTemplate="feedback-2-item-template" data-reviewData="feedback2Reviewlist" style="text-align: right; font-size: 14px; font-weight: 500;cursor: pointer;line-height: 1.5;display: none;"> 3984 View more 3985 </p> 3986 </div> 3987</div> 3988</script>
3988 3989
3990<script type="text/template" id="feedback-2-item-template"> 3991 <div class="column third reviewcontainer <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @>selfreview<@ } @>"> 3992 <div class="is-card avgRatingContainer"> 3993 <div style="text-align: center; display: flex; flex-direction: column; align-items: flex-start;" > 3994 <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @> 3995 <a class="btn btn-link float-right deleteCurrentReviewBtn" data-id="<@ print(item['_id']) @>"><i class="material-icons">delete</i></a> 3996 <@ } @> 3997 <p class="reviewTxt" style="font-size: 14px; font-weight: 400; line-height: 1.5; margin-bottom: 25px; margin-top: 0px; min-height: 80px; max-height: 80px; overflow: hidden;"> 3998 <@ print(item.reviewtext.replace(/</g,'<').replace(/>/g,'>')) @> 3999 </p> 4000 <div class="reviewerName"> 4001 <p style="font-size: 12px; font-weight: 500; line-height: 1.3; text-align: left; padding-top: 0px; margin:0px;"> 4002 <@ print(item.userName) @> 4003 </p></div> 4004 4005 <p style="margin: 0px;"> 4006 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 4007 <@ if(item.rating >= ratingsSize) {@> 4008 <i class="fa fa-solid fa-star-sharp text-primary"></i> 4009 <@ } else if(item.rating > ratingsSize-1 && item.rating < ratingsSize) { @> 4010 <i class="fa fa-solid fa-star-sharp-half text-primary"></i> 4011 <@ } @> 4012 <@ }@> 4013 </p> 4014 4015 </div> 4016 </div> 4017 </div> 4018</script>
vendor: 1 bytes, line 4018
4018
4019<script type="text/template" id="feedback-2-createTemplate"> 4020 <div data-cat="1" class="is-section is-box is-section-20" id="createCustomReview" style="display: none;" data-id="<@- parentId @>"> 4021 <div class="is-boxes"> 4022 <div class="is-box-centered"> 4023 <div class="is-container container" style="max-width: 940px;"> 4024 4025 <div class="review-box review-add-box"> 4026 <div class="is-container container is-content-800" > 4027 <div class="row clearfix" > 4028 <div class="column full" > 4029 <h1 style="text-align: center; font-size: 28px; line-height: 1.1; font-weight: 700; letter-spacing: 0px; color: var(--themeColor); margin-bottom: 44px;">Add a review</h1> 4030 </div> 4031 </div> 4032 <div class="textarea-cont"> 4033 <div class="review-star text-primary" style="display: flex; flex-direction: row; align-items: center; padding-top: 0px; margin-top: 0px;"> 4034 <span id="rating-stars"> 4035 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> <i 4036 class="fa fa-solid fa-star-sharp rating-star" data-value='<@- ratingsSize @>'></i> <@}@> 4037 </span> 4038 </div> 4039 <textarea class="add-review-textarea" id="reviewText" style="background: transparent;width: 100%; border-width: 0px; padding-right: 28px; padding-bottom: 28px; min-height: 150px; font-size: 14px; font-weight: 500; line-height: 1.5; padding-top: 10px;" placeholder="Add your review here"></textarea> 4040 <@ if(typeof SPUSER !== 'undefined' && SPUSER.name.length > 0) { @> 4041 <p style="font-weight: 400; font-size: 10px; line-height: 1.3; color: rgba(255, 255, 255, 0.5); margin-top: 0px;"><@ print(SPUSER.name) @></p> 4042 <@ } @> 4043 </div> 4044 <div style="margin-top: 20px; display: flex; justify-content: flex-end;"> 4045 <button id="reviewSubmitBtn" class="btn btn-primary <@ if(typeof SPUSER !== 'undefined'){ print('createCustomReviewBtn') }else { print('loginBtn') } @>" 4046 data-reviewData="feedback2Reviewlist" disabled >Submit</button> 4047 </div> 4048 </div> 4049 </div> 4050 </div> 4051 </div> 4052 </div> 4053</div> 4054</script>
4054 4055 4056<!-- Vegas 4th feedback Template--> 4057 4058
4059<script type="text/template" id="feedback-4-template"> 4060 <div class="column full feedbackContainer feedback2 spectre <@- total @>" style="padding: 0;"> 4061 <@if(msg){@> 4062 <h4 style="letter-spacing: 2px; text-align: center;"><@print(msg)@></h4> 4063 <@}else{@> 4064 <@ if(total > 0 && ratings && ratings.avgRating) {@> 4065 <div class="avgratingbox"> 4066 <div class="column third"> 4067 <div class="is-card avgRatingContainer" style="border-radius:16px !important ; padding:20px ;border:1px solid #E5E5E5 !important;" > 4068 <div class="avgRatingInnerContainer"> 4069 <h3 style="font-weight: 800; font-size: 12px; line-height: 1.3; margin-bottom: 0px;">Customer ratings</h3> 4070 <div style="display: flex; flex-direction: row; align-items: center; justify-content: center;"> 4071 <i class="icon ion-android-star text-primary" style="font-size: 80px;"></i> 4072 <div style="margin-left: 25px;"> 4073 <span style="display: flex; justify-content: flex-start; align-items: baseline;"> 4074 <h3 style="margin-top: 0px; margin-bottom: 0px; font-size: 32px; font-weight: 800; color: var(--themeColor); line-height: 1.3;"> 4075 <@ if(ratings && ratings.avgRating) {@> 4076 <@ print(parseFloat(ratings.avgRating.toFixed(1))) @> 4077 <@}else{@> 4078 0 4079 <@}@> 4080 </h3> 4081 <p class="avgRatingReviews">/5</p> 4082 </span> 4083 <p class="avgRatingReviews"> 4084 <@ if(ratings){print(ratings.total) }else{0}@> reviews 4085 </p> 4086 </div> 4087 </div> 4088 </div> 4089 </div> 4090 </div> 4091 </div> 4092 <@ } @> 4093 <div id="feedback4Reviewlist" class="reviewslist"> 4094 <@ $.each(items, function(index, item) { @> 4095 <@ var template = _.template($("#feedback-4-item-template").html()); print(template({item: item})) @> 4096 <@ }); @> 4097 <@}@> 4098 </div> 4099 <div class="row clearfix"> 4100 <div class="column full" style="text-align: center;"> 4101 <a class="loadMoreReviewsBtn reviewLMbtn text-primary" data-itemTemplate="feedback-4-item-template" data-reviewData="feedback4Reviewlist" style="text-align: center; font-size: 16px; font-weight: 500;cursor: pointer;line-height: 1.5;display: none; background:#FB5607; color:white; padding:12px 28px; border-radius:24px;text-decoration:none;"> 4102 View All Reviews 4103 </a> 4104 </div> 4105 </div> 4106 </script>
4106 4107 4108
4108<script type="text/template" id="feedback-4-item-template"> 4109 <div class="column third reviewcontainer <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @>selfreview<@ } @>"> 4110 <div class="is-card avgRatingContainer" style="border:1px solid #E5E5E5 !important; border-radius:16px !important;background:white; padding:20px; "> 4111 <div style="text-align: center; display: flex; flex-direction: column; align-items: flex-start;" > 4112 <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @> 4113 <a style="color:#FB5607 !important;" class="btn btn-link float-right deleteCurrentReviewBtn" data-id="<@ print(item['_id']) @>"><i class="material-icons">delete</i></a> 4114 <@ } @> 4115 <p class="reviewTxt" style="font-size: 14px; font-weight: 400; line-height: 1.5; margin-bottom: 25px; margin-top: 0px; min-height: 82px; max-height: 80px; overflow: hidden;"> 4116 <@ print(item.reviewtext.replace(/</g,'<').replace(/>/g,'>')) @> 4117 </p> 4118 <div class="reviewerName"> 4119 <p style="font-size: 12px; font-weight: 500; line-height: 1.3; text-align: left; padding-top: 0px; margin:0px; opacity:0.5;"> 4120 <@ print(item.userName) @> 4121 </p></div> 4122 4123 <p style="margin: 0px;"> 4124 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 4125 <@ if(item.rating >= ratingsSize) {@> 4126 <i class="fa fa-solid fa-star-sharp text-primary" style="color:#FB5607 !important;"></i> 4127 <@ } else if(item.rating > ratingsSize-1 && item.rating < ratingsSize) { @> 4128 <i class="fa fa-solid fa-star-sharp-half text-primary" style="color:#FB5607 !important;"></i> 4129 <@ } @> 4130 <@ }@> 4131 </p> 4132 4133 </div> 4134 </div> 4135 </div> 4136 </script>
4136 4137
4137<script type="text/template" id="feedback-4-createTemplate"> 4138 <div data-cat="1" class="is-section is-box is-section-20" id="createCustomReview" style="display: none;" data-id="<@- parentId @>"> 4139 <div class="is-boxes"> 4140 <div class="is-box-centered"> 4141 <div class="is-container container" style="max-width: 1200px;"> 4142 4143 <div class="review-box review-add-box"> 4144 <div class="is-container container is-content-1200" > 4145 <div class="row clearfix" > 4146 <div class="column full" > 4147 <h1 style="text-align: left; font-size: 32px; line-height: 1.1; font-weight: 600; letter-spacing: 0px; color: black; ">Add a review</h1> 4148 </div> 4149 </div> 4150 <div class="textarea-cont"> 4151 <div style="display:flex; gap:30px;"> 4152 <div><h3 style="font-size:18px;font-weight:600;">Overall Rating</h3></div> 4153 <div class="review-star1 text-primary" 4154 style="display: flex; flex-direction: row; align-items: center; padding-top: 0px; margin-top: 0px;margin-left:0px !important;margin:0px !important"> 4155 <span id="rating-stars" > 4156 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 4157 <i class="fa fa-solid fa-star-sharp rating-star" 4158 data-value='<@- ratingsSize @>' 4159 style="width: 20px; height: 20px; text-align: center; flex-shrink: 0; margin: 0; padding: 0;"></i> 4160 <@}@> 4161 </span> 4162 </div> 4163 <style></style> 4164 4165 4166 </div> 4167 <textarea class="add-review-textarea" id="reviewText" style="background:#E5E5E5;width: 100%; border: 1px solid #E5E5E5; padding-right: 28px; padding-bottom: 28px; min-height: 180px; font-size: 14px; font-weight: 500; line-height: 1.5; padding-top: 10px;border-radius:16px !important" placeholder="Add your review here"></textarea> 4168 <@ if(typeof SPUSER !== 'undefined' && SPUSER.name.length > 0) { @> 4169 <p style="font-weight: 400; font-size: 10px; line-height: 1.3; color: rgba(255, 255, 255, 0.5); margin-top: 0px;"><@ print(SPUSER.name) @></p> 4170 <@ } @> 4171 </div> 4172 <div style=" display: flex; justify-content: center;"> 4173 <button style="letter-spacing:0px !important ; background-color:#FB5607;padding:12px 28px !important;" id="reviewSubmitBtn" class="btn btn-primary <@ if(typeof SPUSER !== 'undefined'){ print('createCustomReviewBtn') }else { print('loginBtn') } @>" 4174 data-reviewData="feedback4Reviewlist" disabled >Submit</button> 4175 </div> 4176 </div> 4177 </div> 4178 </div> 4179 </div> 4180 </div> 4181 </div> 4182 </script>
4182 4183 4184 4185 4186 4187<!-- Blaze 5th feedback Template-->
4188<script type="text/template" id="feedback-5-template"> 4189 <div class="column full feedbackContainer feedback2 spectre <@- total @>" style="padding: 0;"> 4190 <@if(msg){@> 4191 <h4 style="letter-spacing: 2px; text-align: center;"><@print(msg)@></h4> 4192 <@}else{@> 4193 <@ if(total > 0 && ratings && ratings.avgRating) {@> 4194 <div class="avgratingbox"> 4195 <div class="column third"> 4196 <div class="is-card avgRatingContainer" style="background:#232323; border-radius:0px;padding:21px;" > 4197 <div class="avgRatingInnerContainer"> 4198 <h3 style="font-weight: 800; font-size: 12px; line-height: 1.3; margin-bottom: 0px;color:white;">Customer ratings</h3> 4199 <div style="display: flex; flex-direction: row; align-items: center; justify-content: center;"> 4200 <i class="icon ion-android-star text-primary" style="font-size: 80px;color:rgb(216, 253, 70);"></i> 4201 <div style="margin-left: 25px;"> 4202 <span style="display: flex; justify-content: flex-start; align-items: baseline;"> 4203 <h3 style="margin-top: 0px; margin-bottom: 0px; font-size: 32px; font-weight: 800; color: rgb(216, 253, 70); line-height: 1.3;"> 4204 <@ if(ratings && ratings.avgRating) {@> 4205 <@ print(parseFloat(ratings.avgRating.toFixed(1))) @> 4206 <@}else{@> 4207 0 4208 <@}@> 4209 </h3> 4210 <p class="avgRatingReviews" style="color:white;">/5</p> 4211 </span> 4212 <p class="avgRatingReviews" style="color:white;"> 4213 <@ if(ratings){print(ratings.total) }else{0}@> reviews 4214 </p> 4215 </div> 4216 </div> 4217 </div> 4218 </div> 4219 </div> 4220 </div> 4221 <@ } @> 4222 <div id="feedback5Reviewlist" class="reviewslist"> 4223 <@ $.each(items, function(index, item) { @> 4224 <@ var template = _.template($("#feedback-5-item-template").html()); print(template({item: item})) @> 4225 <@ }); @> 4226 <@}@> 4227 </div> 4228 <div class="row clearfix"> 4229 <div class="column full" style="text-align: center;"> 4230 <a class="loadMoreReviewsBtn reviewLMbtn text-primary" data-itemTemplate="feedback-5-item-template" data-reviewData="feedback5Reviewlist" style="text-align: center; font-size: 16px; font-weight: 500;cursor: pointer;line-height: 1.5;display: none; background:#D8FD46; color:black; padding:12px 28px; border-radius:0px;text-decoration:none;"> 4231 View All Reviews 4232 </a> 4233 </div> 4234 </div> 4235 </script>
4235 4236 4237 4238
4238<script type="text/template" id="feedback-5-item-template"> 4239 <style> 4240 .template5-review .reviewTxt{ 4241 color:white !important; 4242 } 4243 .template5-review .reviewerName p{ 4244 color:white !important; 4245 } 4246 </style> 4247 <div class="column third reviewcontainer template5-review <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @> selfreview <@ } @>"> 4248 <div class="is-card avgRatingContainer" style="border:1px solid #232323;padding:20px;"> 4249 <div style="text-align: center; display: flex; flex-direction: column; align-items: flex-start;"> 4250 <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @> 4251 <a style="color:#D8FD46 !important;" class="btn btn-link float-right deleteCurrentReviewBtn" data-id="<@ print(item['_id']) @>"> 4252 <i class="material-icons">delete</i> 4253 </a> 4254 <@ } @> 4255 <p class="reviewTxt" style="font-size: 14px; font-weight: 400; line-height: 1.5; margin-bottom: 25px; margin-top: 0px; min-height: 82px; max-height: 80px; overflow: hidden;"> 4256 <@ print(item.reviewtext.replace(/</g,'<').replace(/>/g,'>')) @> 4257 </p> 4258 <div class="reviewerName"> 4259 <p style="font-size: 12px; font-weight: 500; line-height: 1.3; text-align: left; padding-top: 0px; margin:0px; opacity:0.5; "> 4260 <@ print(item.userName) @> 4261 </p> 4262 </div> 4263 4264 <p style="margin: 0px;"> 4265 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) { @> 4266 <@ if(item.rating >= ratingsSize) { @> 4267 <i class="fa fa-solid fa-star-sharp text-primary" style="color:#D8FD46 !important;"></i> 4268 <@ } else if(item.rating > ratingsSize - 1 && item.rating < ratingsSize) { @> 4269 <i class="fa fa-solid fa-star-sharp-half text-primary" style="color:#D8FD46 !important;"></i> 4270 <@ } @> 4271 <@ } @> 4272 </p> 4273 </div> 4274 </div> 4275 </div> 4276 </script>
4276 4277 4278
4278<script type="text/template" id="feedback-5-createTemplate"> 4279 <div data-cat="1" class="is-section is-box is-section-20" id="createCustomReview" style="display: none;" data-id="<@- parentId @>"> 4280 <div class="is-boxes"> 4281 <div class="is-box-centered" style="background:#181818;"> 4282 <div class="is-container container" style="max-width: 1200px;"> 4283 4284 <div class="review-box review-add-box"> 4285 <div class="is-container container is-content-1200" > 4286 <div class="row clearfix" > 4287 <div class="column full" > 4288 <h1 style="text-align: left; font-size: 32px; line-height: 1.1; font-weight: 600; letter-spacing: 0px; color: white; ">Add a review</h1> 4289 </div> 4290 </div> 4291 <div class="textarea-cont" style="background:transparent"> 4292 <div style="display:flex; gap:30px;"> 4293 <div><h3 style="font-size:18px;font-weight:600; color:white;">Overall Rating</h3></div> 4294 <div class="review-star text-primary" 4295 style="display: flex; flex-direction: row; align-items: center; padding-top: 0px; margin-top: 0px;margin-left:0px !important;margin:0px !important"> 4296 <span id="rating-stars" > 4297 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 4298 <i class="fa fa-solid fa-star-sharp rating-star" 4299 data-value='<@- ratingsSize @>' 4300 style="width: 20px; height: 20px; text-align: center; flex-shrink: 0; margin: 0; padding: 0;"></i> 4301 <@}@> 4302 </span> 4303 </div> 4304 4305 4306 </div> 4307 <textarea class="add-review-textarea" id="reviewText" style="color:white;background:#232323;width: 100%; border: 1px solid #636363; padding: 28px; min-height: 180px; font-size: 14px; font-weight: 500; line-height: 1.5; padding-top: 10px;border-radius:0px !important" placeholder="Add your review here"></textarea> 4308 <@ if(typeof SPUSER !== 'undefined' && SPUSER.name.length > 0) { @> 4309 <p style="font-weight: 400; font-size: 10px; line-height: 1.3; color: rgba(255, 255, 255, 0.5); margin-top: 0px;"><@ print(SPUSER.name) @></p> 4310 <@ } @> 4311 </div> 4312 <div style=" display: flex; justify-content: center;margin-top:20px;"> 4313 <button style="letter-spacing:0px !important ; background-color:#D8FD46;padding:12px 28px !important; border-radius:0px !important; color:black;" id="reviewSubmitBtn" class="btn btn-primary <@ if(typeof SPUSER !== 'undefined'){ print('createCustomReviewBtn') }else { print('loginBtn') } @>" 4314 data-reviewData="feedback5Reviewlist" disabled >Submit</button> 4315 </div> 4316 </div> 4317 </div> 4318 </div> 4319 </div> 4320 </div> 4321 </div> 4322 </script>
4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338<!-- Nebula Feedback 6--> 4339
4340<script type="text/template" id="feedback-6-template"> 4341 <div class="column full feedbackContainer feedback2 spectre <@- total @>" style="padding: 0;"> 4342 <@if(msg){@> 4343 <h4 style="letter-spacing: 2px; text-align: center;"><@print(msg)@></h4> 4344 <@}else{@> 4345 <@ if(total > 0 && ratings && ratings.avgRating) {@> 4346 <div class="avgratingbox"> 4347 <div class="column third"> 4348 <div class="is-card avgRatingContainer" style="border-radius:16px !important ; padding:20px ;border:1px solid #E5E5E5 !important;" > 4349 <div class="avgRatingInnerContainer"> 4350 <h3 style="font-weight: 800; font-size: 12px; line-height: 1.3; margin-bottom: 0px;">Customer ratings</h3> 4351 <div style="display: flex; flex-direction: row; align-items: center; justify-content: center;"> 4352 <i class="icon ion-android-star text-primary" style="font-size: 80px; color: #6715FF !important;"></i> 4353 <div style="margin-left: 25px;"> 4354 <span style="display: flex; justify-content: flex-start; align-items: baseline;"> 4355 <h3 style="margin-top: 0px; margin-bottom: 0px; font-size: 32px; font-weight: 800; color: #6715FF !important; line-height: 1.3;"> 4356 <@ if(ratings && ratings.avgRating) {@> 4357 <@ print(parseFloat(ratings.avgRating.toFixed(1))) @> 4358 <@}else{@> 4359 0 4360 <@}@> 4361 </h3> 4362 <p class="avgRatingReviews">/5</p> 4363 </span> 4364 <p class="avgRatingReviews"> 4365 <@ if(ratings){print(ratings.total) }else{0}@> reviews 4366 </p> 4367 </div> 4368 </div> 4369 </div> 4370 </div> 4371 </div> 4372 </div> 4373 <@ } @> 4374 <div id="feedback6Reviewlist" class="reviewslist"> 4375 <@ $.each(items, function(index, item) { @> 4376 <@ var template = _.template($("#feedback-6-item-template").html()); print(template({item: item})) @> 4377 <@ }); @> 4378 <@}@> 4379 </div> 4380 <div class="row clearfix"> 4381 <div class="column full" style="text-align: center;"> 4382 <a class="loadMoreReviewsBtn reviewLMbtn text-primary" data-itemTemplate="feedback-6-item-template" data-reviewData="feedback6Reviewlist" style="text-align: center; font-size: 16px; font-weight: 500;cursor: pointer;line-height: 1.5;display: none; background:#6715FF; color:white; padding:12px 28px; border-radius:24px;text-decoration:none;"> 4383 View All Reviews 4384 </a> 4385 </div> 4386 </div> 4387 </script>
4387 4388 4389
4389<script type="text/template" id="feedback-6-item-template"> 4390 <div class="column third reviewcontainer <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @>selfreview<@ } @>"> 4391 <div class="is-card avgRatingContainer" style="border:1px solid #E5E5E5 !important; border-radius:16px !important;background:white; padding:20px; "> 4392 <div style="text-align: center; display: flex; flex-direction: column; align-items: flex-start;" > 4393 <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @> 4394 <a style="color:#6715FF !important;" class="btn btn-link float-right deleteCurrentReviewBtn" data-id="<@ print(item['_id']) @>"><i class="material-icons">delete</i></a> 4395 <@ } @> 4396 <p class="reviewTxt" style="font-size: 14px; font-weight: 400; line-height: 1.5; margin-bottom: 25px; margin-top: 0px; min-height: 82px; max-height: 80px; overflow: hidden;"> 4397 <@ print(item.reviewtext.replace(/</g,'<').replace(/>/g,'>')) @> 4398 </p> 4399 <div class="reviewerName"> 4400 <p style="font-size: 12px; font-weight: 500; line-height: 1.3; text-align: left; padding-top: 0px; margin:0px; opacity:0.5;"> 4401 <@ print(item.userName) @> 4402 </p></div> 4403 4404 <p style="margin: 0px;"> 4405 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 4406 <@ if(item.rating >= ratingsSize) {@> 4407 <i class="fa fa-solid fa-star-sharp text-primary" style="color:#6715FF !important;"></i> 4408 <@ } else if(item.rating > ratingsSize-1 && item.rating < ratingsSize) { @> 4409 <i class="fa fa-solid fa-star-sharp-half text-primary" style="color:#6715FF !important;"></i> 4410 <@ } @> 4411 <@ }@> 4412 </p> 4413 4414 </div> 4415 </div> 4416 </div> 4417 </script>
4417 4418
4418<script type="text/template" id="feedback-6-createTemplate"> 4419 <div data-cat="1" class="is-section is-box is-section-20" id="createCustomReview" style="display: none;" data-id="<@- parentId @>"> 4420 <div class="is-boxes"> 4421 <div class="is-box-centered"> 4422 <div class="is-container container" style="max-width: 1200px;"> 4423 4424 <div class="review-box review-add-box"> 4425 <div class="is-container container is-content-1200" > 4426 <div class="row clearfix" > 4427 <div class="column full" > 4428 <h1 style="text-align: left; font-size: 32px; line-height: 1.1; font-weight: 600; letter-spacing: 0px; color: black; ">Add a review</h1> 4429 </div> 4430 </div> 4431 <div class="textarea-cont" style="background:transparent"> 4432 <div style="display:flex; gap:30px;"> 4433 <div><h3 style="font-size:18px;font-weight:600;">Overall Rating</h3></div> 4434 <div class="review-star1 text-primary" 4435 style="display: flex; flex-direction: row; align-items: center; padding-top: 0px; margin-top: 0px;margin-left:0px !important;margin:0px !important"> 4436 <span id="rating-stars" > 4437 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 4438 <i class="fa fa-solid fa-star-sharp rating-star" 4439 data-value='<@- ratingsSize @>' 4440 style="width: 20px; height: 20px; text-align: center; flex-shrink: 0; margin: 0; padding: 0;"></i> 4441 <@}@> 4442 </span> 4443 </div> 4444 <style></style> 4445 4446 4447 </div> 4448 <textarea class="add-review-textarea" id="reviewText" style="background:white;width: 100%; border: 1px solid #c3c0c0; padding-right: 28px; padding-bottom: 28px;padding-left:20px; min-height: 180px; font-size: 14px; font-weight: 500; line-height: 1.5; padding-top: 10px;border-radius:16px !important" placeholder="Add your review here"></textarea> 4449 <@ if(typeof SPUSER !== 'undefined' && SPUSER.name.length > 0) { @> 4450 <p style="font-weight: 400; font-size: 10px; line-height: 1.3; color: grey; margin-top: 0px;"><@ print(SPUSER.name) @></p> 4451 <@ } @> 4452 </div> 4453 <div style=" display: flex; justify-content: center;"> 4454 <button style="letter-spacing:0px !important ; background-color:#6715FF;padding:12px 28px !important;margin-top:30px;" id="reviewSubmitBtn" class="btn btn-primary <@ if(typeof SPUSER !== 'undefined'){ print('createCustomReviewBtn') }else { print('loginBtn') } @>" 4455 data-reviewData="feedback6Reviewlist" disabled >Submit</button> 4456 </div> 4457 </div> 4458 </div> 4459 </div> 4460 </div> 4461 </div> 4462 </div> 4463 </script>
4463 4464 4465 4466 4467 4468 4469<!-- Olive Feedback 7-->
4470<script type="text/template" id="feedback-7-template"> 4471 <div class="column full feedbackContainer feedback2 spectre <@- total @>" style="padding: 0;"> 4472 <@if(msg){@> 4473 <h4 style="letter-spacing: 2px; text-align: center;"><@print(msg)@></h4> 4474 <@}else{@> 4475 <@ if(total > 0 && ratings && ratings.avgRating) {@> 4476 <div class="avgratingbox"> 4477 <div class="column third"> 4478 <div class="is-card avgRatingContainer" style="border-radius:16px !important ; padding:20px ;border:1px solid #E5E5E5 !important;" > 4479 <div class="avgRatingInnerContainer"> 4480 <h3 style="font-weight: 800; font-size: 12px; line-height: 1.3; margin-bottom: 0px;">Customer ratings</h3> 4481 <div style="display: flex; flex-direction: row; align-items: center; justify-content: center;"> 4482 <i class="icon ion-android-star text-primary" style="font-size: 80px; color: #064400 !important;"></i> 4483 <div style="margin-left: 25px;"> 4484 <span style="display: flex; justify-content: flex-start; align-items: baseline;"> 4485 <h3 style="margin-top: 0px; margin-bottom: 0px; font-size: 32px; font-weight: 800; color: #064400 !important; line-height: 1.3;"> 4486 <@ if(ratings && ratings.avgRating) {@> 4487 <@ print(parseFloat(ratings.avgRating.toFixed(1))) @> 4488 <@}else{@> 4489 0 4490 <@}@> 4491 </h3> 4492 <p class="avgRatingReviews">/5</p> 4493 </span> 4494 <p class="avgRatingReviews"> 4495 <@ if(ratings){print(ratings.total) }else{0}@> reviews 4496 </p> 4497 </div> 4498 </div> 4499 </div> 4500 </div> 4501 </div> 4502 </div> 4503 <@ } @> 4504 <div id="feedback7Reviewlist" class="reviewslist"> 4505 <@ $.each(items, function(index, item) { @> 4506 <@ var template = _.template($("#feedback-7-item-template").html()); print(template({item: item})) @> 4507 <@ }); @> 4508 <@}@> 4509 </div> 4510 <div class="row clearfix"> 4511 <div class="column full" style="text-align: center;"> 4512 <a class="loadMoreReviewsBtn reviewLMbtn text-primary" data-itemTemplate="feedback-7-item-template" data-reviewData="feedback7Reviewlist" style="text-align: center; font-size: 16px; font-weight: 500;cursor: pointer;line-height: 1.5;display: none; background:#064400; color:white; padding:12px 28px; border-radius:24px;text-decoration:none;"> 4513 View All Reviews 4514 </a> 4515 </div> 4516 </div> 4517 </script>
4517 4518 4519
4519<script type="text/template" id="feedback-7-item-template"> 4520 <div class="column third reviewcontainer <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @>selfreview<@ } @>"> 4521 <div class="is-card avgRatingContainer" style="border:1px solid #E5E5E5 !important; border-radius:16px !important;background:white; padding:20px; "> 4522 <div style="text-align: center; display: flex; flex-direction: column; align-items: flex-start;" > 4523 <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @> 4524 <a style="color:#064400 !important;" class="btn btn-link float-right deleteCurrentReviewBtn" data-id="<@ print(item['_id']) @>"><i class="material-icons">delete</i></a> 4525 <@ } @> 4526 <p class="reviewTxt" style="font-size: 14px; font-weight: 400; line-height: 1.5; margin-bottom: 25px; margin-top: 0px; min-height: 82px; max-height: 80px; overflow: hidden;"> 4527 <@ print(item.reviewtext.replace(/</g,'<').replace(/>/g,'>')) @> 4528 </p> 4529 <div class="reviewerName"> 4530 <p style="font-size: 12px; font-weight: 500; line-height: 1.3; text-align: left; padding-top: 0px; margin:0px; opacity:0.5;"> 4531 <@ print(item.userName) @> 4532 </p></div> 4533 4534 <p style="margin: 0px;"> 4535 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 4536 <@ if(item.rating >= ratingsSize) {@> 4537 <i class="fa fa-solid fa-star-sharp text-primary" style="color:#064400 !important;"></i> 4538 <@ } else if(item.rating > ratingsSize-1 && item.rating < ratingsSize) { @> 4539 <i class="fa fa-solid fa-star-sharp-half text-primary" style="color:#064400 !important;"></i> 4540 <@ } @> 4541 <@ }@> 4542 </p> 4543 4544 </div> 4545 </div> 4546 </div> 4547 </script>
4547 4548
4548<script type="text/template" id="feedback-7-createTemplate"> 4549 <div data-cat="1" class="is-section is-box is-section-20" id="createCustomReview" style="display: none;" data-id="<@- parentId @>"> 4550 <div class="is-boxes"> 4551 <div class="is-box-centered"> 4552 <div class="is-container container" style="max-width: 1200px;"> 4553 4554 <div class="review-box review-add-box"> 4555 <div class="is-container container is-content-1200" > 4556 <div class="row clearfix" > 4557 <div class="column full" > 4558 <h1 style="text-align: left; font-size: 32px; line-height: 1.1; font-weight: 600; letter-spacing: 0px; color: black; ">Add a review</h1> 4559 </div> 4560 </div> 4561 <div class="textarea-cont"> 4562 <div style="display:flex; gap:30px;"> 4563 <div><h3 style="font-size:18px;font-weight:600;">Overall Rating</h3></div> 4564 <div class="review-star1 text-primary" 4565 style="display: flex; flex-direction: row; align-items: center; padding-top: 0px; margin-top: 0px;margin-left:0px !important;margin:0px !important"> 4566 <span id="rating-stars" > 4567 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 4568 <i class="fa fa-solid fa-star-sharp rating-star" 4569 data-value='<@- ratingsSize @>' 4570 style="width: 20px; height: 20px; text-align: center; flex-shrink: 0; margin: 0; padding: 0;"></i> 4571 <@}@> 4572 </span> 4573 </div> 4574 <style></style> 4575 4576 4577 </div> 4578 <textarea class="add-review-textarea" id="reviewText" style="background:#E5E5E5;width: 100%; border: 1px solid #E5E5E5; padding-right: 28px; padding-bottom: 28px;padding-left:20px; min-height: 180px; font-size: 14px; font-weight: 500; line-height: 1.5; padding-top: 10px;border-radius:16px !important" placeholder="Add your review here"></textarea> 4579 <@ if(typeof SPUSER !== 'undefined' && SPUSER.name.length > 0) { @> 4580 <p style="font-weight: 400; font-size: 10px; line-height: 1.3; color: rgba(255, 255, 255, 0.5); margin-top: 0px;"><@ print(SPUSER.name) @></p> 4581 <@ } @> 4582 </div> 4583 <div style=" display: flex; justify-content: center;"> 4584 <button style="letter-spacing:0px !important ; background-color:#064400;padding:12px 28px !important;" id="reviewSubmitBtn" class="btn btn-primary <@ if(typeof SPUSER !== 'undefined'){ print('createCustomReviewBtn') }else { print('loginBtn') } @>" 4585 data-reviewData="feedback7Reviewlist" disabled >Submit</button> 4586 </div> 4587 </div> 4588 </div> 4589 </div> 4590 </div> 4591 </div> 4592 </div> 4593 </script>
4593 4594 4595 4596 4597 4598 <!--Dusk Feedback-8--> 4599
4599<script type="text/template" id="feedback-8-template"> 4600 <div class="column full feedbackContainer feedback2 spectre <@- total @>" style="padding: 0;"> 4601 <@if(msg){@> 4602 <h4 style="letter-spacing: 2px; text-align: center;"><@print(msg)@></h4> 4603 <@}else{@> 4604 <@ if(total > 0 && ratings && ratings.avgRating) {@> 4605 <div class="avgratingbox"> 4606 <div class="column third"> 4607 <div class="is-card avgRatingContainer" style="border-radius:16px !important ; padding:20px ;border:1px solid #E5E5E5 !important;background:#F5F5F5;" > 4608 <div class="avgRatingInnerContainer"> 4609 <h3 style="font-weight: 800; font-size: 12px; line-height: 1.3; margin-bottom: 0px;">Customer ratings</h3> 4610 <div style="display: flex; flex-direction: row; align-items: center; justify-content: center;"> 4611 <i class="icon ion-android-star text-primary" style="font-size: 80px; color: #282400 !important;"></i> 4612 <div style="margin-left: 25px;"> 4613 <span style="display: flex; justify-content: flex-start; align-items: baseline;"> 4614 <h3 style="margin-top: 0px; margin-bottom: 0px; font-size: 32px; font-weight: 800; color: #282400 !important; line-height: 1.3;"> 4615 <@ if(ratings && ratings.avgRating) {@> 4616 <@ print(parseFloat(ratings.avgRating.toFixed(1))) @> 4617 <@}else{@> 4618 0 4619 <@}@> 4620 </h3> 4621 <p class="avgRatingReviews">/5</p> 4622 </span> 4623 <p class="avgRatingReviews"> 4624 <@ if(ratings){print(ratings.total) }else{0}@> reviews 4625 </p> 4626 </div> 4627 </div> 4628 </div> 4629 </div> 4630 </div> 4631 </div> 4632 <@ } @> 4633 <div id="feedback8Reviewlist" class="reviewslist"> 4634 <@ $.each(items, function(index, item) { @> 4635 <@ var template = _.template($("#feedback-8-item-template").html()); print(template({item: item})) @> 4636 <@ }); @> 4637 <@}@> 4638 </div> 4639 <div class="row clearfix"> 4640 <div class="column full" style="text-align: center;"> 4641 <a class="loadMoreReviewsBtn reviewLMbtn text-primary" data-itemTemplate="feedback-8-item-template" data-reviewData="feedback8Reviewlist" style="text-align: center; font-size: 16px; font-weight: 500;cursor: pointer;line-height: 1.5;display: none; background:#282400; color:white; padding:12px 28px; border-radius:24px;text-decoration:none;"> 4642 View All Reviews 4643 </a> 4644 </div> 4645 </div> 4646 </script>
4646 4647 4648
4648<script type="text/template" id="feedback-8-item-template"> 4649 <div class="column third reviewcontainer <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @>selfreview<@ } @>"> 4650 <div class="is-card avgRatingContainer" style="border:1px solid #E5E5E5 !important; border-radius:16px !important;background:#F5F5F5; padding:20px; "> 4651 <div style="text-align: center; display: flex; flex-direction: column; align-items: flex-start;" > 4652 <@ if(typeof SPUSER !== 'undefined' && item["userId"] === SPUSER.id) { @> 4653 <a style="color:#282400 !important;" class="btn btn-link float-right deleteCurrentReviewBtn" data-id="<@ print(item['_id']) @>"><i class="material-icons">delete</i></a> 4654 <@ } @> 4655 <p class="reviewTxt" style="font-size: 14px; font-weight: 400; line-height: 1.5; margin-bottom: 25px; margin-top: 0px; min-height: 82px; max-height: 80px; overflow: hidden;"> 4656 <@ print(item.reviewtext.replace(/</g,'<').replace(/>/g,'>')) @> 4657 </p> 4658 <div class="reviewerName"> 4659 <p style="font-size: 12px; font-weight: 500; line-height: 1.3; text-align: left; padding-top: 0px; margin:0px; opacity:0.5;"> 4660 <@ print(item.userName) @> 4661 </p></div> 4662 4663 <p style="margin: 0px;"> 4664 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 4665 <@ if(item.rating >= ratingsSize) {@> 4666 <i class="fa fa-solid fa-star-sharp text-primary" style="color:#282400 !important;"></i> 4667 <@ } else if(item.rating > ratingsSize-1 && item.rating < ratingsSize) { @> 4668 <i class="fa fa-solid fa-star-sharp-half text-primary" style="color:#282400 !important;"></i> 4669 <@ } @> 4670 <@ }@> 4671 </p> 4672 4673 </div> 4674 </div> 4675 </div> 4676 </script>
4676 4677
4677<script type="text/template" id="feedback-8-createTemplate"> 4678 <div data-cat="1" class="is-section is-box is-section-20" id="createCustomReview" style="display: none;" data-id="<@- parentId @>"> 4679 <div class="is-boxes"> 4680 <div class="is-box-centered"> 4681 <div class="is-container container" style="max-width: 1200px;"> 4682 4683 <div class="review-box review-add-box"> 4684 <div class="is-container container is-content-1200" > 4685 <div class="row clearfix" > 4686 <div class="column full" > 4687 <h1 style="text-align: left; font-size: 32px; line-height: 1.1; font-weight: 600; letter-spacing: 0px; color: black; ">Add a review</h1> 4688 </div> 4689 </div> 4690 <div class="textarea-cont"> 4691 <div style="display:flex; gap:30px;"> 4692 <div><h3 style="font-size:18px;font-weight:600;">Overall rating</h3></div> 4693 <div class="review-star1 text-primary" 4694 style="display: flex; flex-direction: row; align-items: center; padding-top: 0px; margin-top: 0px;margin-left:0px !important;margin:0px !important"> 4695 <span id="rating-stars" > 4696 <@ for (ratingsSize = 1; ratingsSize <= 5; ratingsSize++) {@> 4697 <i class="fa fa-solid fa-star-sharp rating-star" 4698 data-value='<@- ratingsSize @>' 4699 style="width: 20px; height: 20px; text-align: center; flex-shrink: 0; margin: 0; padding: 0;"></i> 4700 <@}@> 4701 </span> 4702 </div> 4703 <style></style> 4704 4705 4706 </div> 4707 <textarea class="add-review-textarea" id="reviewText" style="background:#E5E5E5;width: 100%; border: 1px solid #E5E5E5; padding-right: 28px; padding-bottom: 28px;padding-left:20px; min-height: 180px; font-size: 14px; font-weight: 500; line-height: 1.5; padding-top: 10px;border-radius:16px !important" placeholder="Add your review here"></textarea> 4708 <@ if(typeof SPUSER !== 'undefined' && SPUSER.name.length > 0) { @> 4709 <p style="font-weight: 400; font-size: 10px; line-height: 1.3; color: rgba(255, 255, 255, 0.5); margin-top: 0px;"><@ print(SPUSER.name) @></p> 4710 <@ } @> 4711 </div> 4712 <div style=" display: flex; justify-content: center;"> 4713 <button style="letter-spacing:0px !important ; background-color:#282400;padding:12px 28px !important;" id="reviewSubmitBtn" class="btn btn-primary <@ if(typeof SPUSER !== 'undefined'){ print('createCustomReviewBtn') }else { print('loginBtn') } @>" 4714 data-reviewData="feedback8Reviewlist" disabled >Submit</button> 4715 </div> 4716 </div> 4717 </div> 4718 </div> 4719 </div> 4720 </div> 4721 </div> 4722 </script>
4722 4723 4724 4725 4726<div class="spectre"> 4727<div class="modal" id="reviewModal"> 4728 <a href="javascript:void(0);" class="modal-overlay close" 4729 aria-label="Close"></a> 4730 <div class="modal-container"> 4731 <div class="modal-header"> 4732 <a href="javascript:void(0);" 4733 class="close btn btn-clear float-right" aria-label="Close"></a> 4734 <div class="modal-title h5">Review</div> 4735 </div> 4736 <div class="modal-body" style="max-height: 90vh;padding-top: 0;"> 4737 </div> 4738 </div> 4739 4740 4741 4742</div> 4743 4744 4745</div> 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 <div id="ui-notification-container" class="spectre"></div> 4757
4757<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/jquery-easing.js"></script>
4757 4758
4758<script src="https://d502jbuhuh9wk.cloudfront.net/resources/js/jquery-notification.js"></script>
4758 4759 4760 <!-- Import and configure the Firebase SDK --> 4761 <!-- These scripts are made available when the app is served or deployed on Firebase Hosting --> 4762 <!-- If you do not serve/host your project using Firebase Hosting see https://firebase.google.com/docs/web/setup --> 4763
4763<script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-app.js"></script>
4763 4764
4764<script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-messaging.js"></script>
4764 4765 4766
4766<script> 4767 // Retrieve Firebase Messaging object. 4768 var firebaseConfig = {"apiKey":"AIzaSyCQ2wNyeXrIzifB0IKKVCalHXrDk7pg32w","authDomain":"live-stream-chat-efac5.firebaseapp.com","databaseURL":"https://live-stream-chat-efac5.firebaseio.com","projectId":"live-stream-chat-efac5","storageBucket":"live-stream-chat-efac5.appspot.com","messagingSenderId":"158909475587","appId":"1:158909475587:web:93ede0a9feef2b3f"}; 4769 // Initialize Firebase 4770 firebase.initializeApp(firebaseConfig); 4771 const messaging = firebase.messaging(); 4772 // Add the public key generated from the console here. 4773 messaging.usePublicVapidKey("BN3BYOmWjo3NAW7if4jCE5cG-yIOXAvmoKB9k53ZssAfgb7Z6ZZ-oAQWFK7j6EqHIG3f-G9QAVKLOIK7Vw3X0_k"); 4774 4775 // Callback fired if Instance ID token is updated. 4776 messaging.onTokenRefresh(function(){ 4777 messaging.getToken().then(function(refreshedToken){ 4778 // Indicate that the new Instance ID token has not yet been sent to the 4779 // app server. 4780 setTokenSentToServer(false); 4781 // Send Instance ID token to app server. 4782 sendTokenToServer(refreshedToken); 4783 // Display new Instance ID token and clear UI of all previous messages. 4784 resetUI(); 4785 // [END_EXCLUDE] 4786 })["catch"](function(err){ 4787 console.log('Unable to retrieve refreshed token ', err); 4788 showToken('Unable to retrieve refreshed token ', err); 4789 requestPermission(); 4790 }); 4791 }); 4792 4793 // Handle incoming messages. Called when: 4794 // - a message is received while the app has focus 4795 // - the user clicks on an app notification created by a service worker 4796 // `messaging.setBackgroundMessageHandler` handler. 4797 messaging.onMessage(function(payload){ 4798 console.log('Message received. ', payload); 4799 appendMessage(payload); 4800 }); 4801 4802 function resetUI() { 4803 clearMessages(); 4804 $(function(){ 4805 $("#ui-notification-container").notification(); 4806 }); 4807 // Get Instance ID token. Initially this makes a network call, once retrieved 4808 // subsequent calls to getToken will return from cache. 4809 messaging.getToken().then(function(currentToken) { 4810 if (currentToken) { 4811 sendTokenToServer(currentToken); 4812 updateUIForPushEnabled(currentToken); 4813 } else { 4814 // Show permission request. 4815 console.log('No Instance ID token available. Request permission to generate one.'); 4816 // Show permission UI. 4817 updateUIForPushPermissionRequired(); 4818 setTokenSentToServer(false); 4819 } 4820 })["catch"](function(err) { 4821 console.log('An error occurred while retrieving token. ', err); 4822 showToken('Error retrieving Instance ID token. ', err); 4823 setTokenSentToServer(false); 4824 }); 4825 // [END get_token] 4826 } 4827 4828 function showToken(currentToken) { 4829 // Show token in console and UI. 4830 console.log(currentToken); 4831 } 4832 4833 // Send the Instance ID token your application server, so that it can: 4834 // - send messages back to this app 4835 // - subscribe/unsubscribe the token from topics 4836 function sendTokenToServer(currentToken) { 4837 if (!isTokenSentToServer()) { 4838 console.log('Sending token to server...'); 4839 var packet = { 4840 url : "/public/v1/fcm/token", 4841 data: {token: currentToken}, 4842 success: function(data, params) { 4843 console.log("Token successfully sent") 4844 setTokenSentToServer(true); 4845 setTokenSentToServerUserId(window.userId); 4846 } 4847 }; 4848 postData(packet, {}); 4849 } else { 4850 console.log('Token already sent to server so won\'t send it again ' + 4851 'unless it changes'); 4852 } 4853 4854 } 4855 4856 function isTokenSentToServer() { 4857 return window.localStorage.getItem('sentToServer') === '1' && isTokenSentToServerWithUser(window.userId); 4858 } 4859 4860 function isTokenSentToServerWithUser(userId) { 4861 return window.localStorage.getItem('sentToServer-user') === userId; 4862 } 4863 4864 function setTokenSentToServer(sent) { 4865 window.localStorage.setItem('sentToServer', sent ? '1' : '0'); 4866 } 4867 4868 function setTokenSentToServerUserId(userId) { 4869 window.localStorage.setItem('sentToServer-user', userId); 4870 } 4871 4872 function requestPermission() { 4873 console.log('Requesting permission...'); 4874 // [START request_permission] 4875 Notification.requestPermission().then(function(permission) { 4876 if (permission === 'granted') { 4877 console.log('Notification permission granted.'); 4878 resetUI(); 4879 } else { 4880 console.log('Unable to get permission to notify.'); 4881 } 4882 }); 4883 // [END request_permission] 4884 } 4885 4886 function deleteToken() { 4887 // Delete Instance ID token. 4888 // [START delete_token] 4889 messaging.getToken().then(function(currentToken){ 4890 messaging.deleteToken(currentToken).then(function(){ 4891 console.log('Token deleted.'); 4892 setTokenSentToServer(false); 4893 // Once token is deleted update UI. 4894 resetUI(); 4895 })["catch"](function(err) { 4896 console.log('Unable to delete token. ', err); 4897 }); 4898 })["catch"](function(err) { 4899 console.log('Error retrieving Instance ID token. ', err); 4900 showToken('Error retrieving Instance ID token. ', err); 4901 }); 4902 4903 } 4904 4905 // Add a message to the messages element. 4906 function appendMessage(payload) { 4907 $("#ui-notification-container").notification("create", { 4908 title: payload.data.title, 4909 content: payload.data.message, 4910 customIcon: payload.data.customIcon, 4911 customImage: payload.data.customImage, 4912 link: payload.data.link 4913 }, 4914 { 4915 sticky: true 4916 }); 4917 } 4918 4919 // Clear the messages element of all children. 4920 function clearMessages() { 4921 const messagesElement = document.querySelector('#ui-notification-container'); 4922 while (messagesElement.hasChildNodes()) { 4923 messagesElement.removeChild(messagesElement.lastChild); 4924 } 4925 } 4926 4927 function updateUIForPushEnabled(currentToken) { 4928 showToken("Token update ui: " + currentToken); 4929 } 4930 4931 function updateUIForPushPermissionRequired() { 4932 console.warg("Push notification permission is requred") 4933 } 4934 4935 window.userId = ""; 4936 resetUI(); 4937 4938 4939 </script>
4939 4940 4941
4941<script 4942 type="text/javascript" 4943 src="https://d502jbuhuh9wk.cloudfront.net/resources/js/intlTelInput.min.js" 4944 ></script>
4944 4945
4945<script src="https://d502jbuhuh9wk.cloudfront.net/staticfiles/resources/scripts/sstore_5ffb558e86d7b5ef265e05fb0bfbef79.js?v=ed2501920c474b3ce5cefbd6892f21ef"></script>
4945 4946
4946<script type="text/javascript"> 4947 store.bindEvents(); 4948 window.signupParams = { 4949 source: "digitalProductStore", 4950 platform: "web", 4951 sourceId: "", 4952 }; 4953 4954 if (window.matchMedia("(max-width: 600px)").matches) { 4955 $("#mfeIFrame, .product-container.content-container").css("padding-top", ""); 4956 } 4957 </script>
4957 4958
4958<script src="https://d502jbuhuh9wk.cloudfront.net/static/files/lazyload.min.js"></script>
4958 4959
4959<script type="text/javascript"> 4960 var lazyLoadInstance = new LazyLoad({ 4961 unobserve_entered: true, 4962 callback_enter: function (element) { 4963 resizeCdnImage(element); 4964 }, 4965 }); 4966 </script>
4966 4967
4967<script> 4968 window.SPEERESCDN = "https://d502jbuhuh9wk.cloudfront.net"; 4969 window.ORG_ID = "64bb94ebe4b0539686c35283"; 4970 </script>
4970 4971
4971<script src="https://d502jbuhuh9wk.cloudfront.net/staticfiles/resources/scripts/digital-product_301157a721b4628187c7445c759c8ac7.js"></script>
4971 4972 </body> 4973</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.