A stylus phone that won’t break the bank

“)),[e.width,e.height]=x[r.size_id].split(“x”).map((e=>Number(e)))),e.rubiconTargeting=(Array.isArray(r.targeting)?r.targeting:[]).reduce(((e,t)=>(e[t.key]=t.values[0],e)),{rpfl_elemid:a.adUnitCode}),t.push(e)}else(0,l.logError)(“Rubicon: bidRequest undefined at index position:”.concat(n),s,e);var c,p;return t}),[]).sort(((e,t)=>(t.cpm||0)-(e.cpm||0)))},getUserSyncs:function(e,t,r,i){if(!I&&e.iframeEnabled){let e={};return r&&(“boolean”==typeof r.gdprApplies&&(e.gdpr=Number(r.gdprApplies)),”string”==typeof r.consentString&&(e.gdpr_consent=r.consentString)),i&&(e.us_privacy=encodeURIComponent(i)),e=Object.keys(e).length?”?”.concat((0,l.formatQS)(e)):””,I=!0,{type:”iframe”,url:”https://”.concat(f.syncHost||”eus”,”.rubiconproject.com/usync.html”)+e}}},transformBidParams:function(e,t){return(0,l.convertTypes)({accountId:”number”,siteId:”number”,zoneId:”number”},e)}};function v(e,t){let r;return r=e.params.referrer?e.params.referrer:t.refererInfo.page,e.params.secure?r.replace(/^http:/i,”https:”):r}function h(e){const t=document.getElementById(e.adUnitCode);!function(e){const t=e.querySelector(“div[id^=’google_ads’]”);t&&t.style.setProperty(“display”,”none”)}(t),function(e){const t=e.querySelector(“script[id^=’sas_script’]”),r=t&&t.nextSibling;r&&”iframe”===r.localName&&r.style.setProperty(“display”,”none”)}(t);const r=e.renderer.getConfig();e.renderer.push((()=>{window.MagniteApex.renderAd({width:e.width,height:e.height,vastUrl:e.vastUrl,placement:{attachTo:t,align:r.align||”center”,position:r.position||”append”},closeButton:r.closeButton||!1,label:r.label||void 0,collapse:r.collapse||!0})}))}function _(e,t){let r=e.params;if(t===d.pX){let t=[];return r.video&&r.video.playerWidth&&r.video.playerHeight?t=[r.video.playerWidth,r.video.playerHeight]:Array.isArray((0,m.Z)(e,”mediaTypes.video.playerSize”))&&1===e.mediaTypes.video.playerSize.length?t=e.mediaTypes.video.playerSize[0]:Array.isArray(e.sizes)&&e.sizes.length>0&&Array.isArray(e.sizes[0])&&e.sizes[0].length>1&&(t=e.sizes[0]),t}let i=[];return Array.isArray(r.sizes)?i=r.sizes:void 0!==(0,m.Z)(e,”mediaTypes.banner.sizes”)?i=k(e.mediaTypes.banner.sizes):Array.isArray(e.sizes)&&e.sizes.length>0?i=k(e.sizes):(0,l.logWarn)(“Rubicon: no sizes are setup or found”),function(e){const t=[15,2,9];return e.sort(((e,r)=>{const i=t.indexOf(e),n=t.indexOf(r);return i>-1||n>-1?-1===i?1:-1===n?-1:i-n:e-r}))}(i)}function k(e){return(0,l.parseSizesInput)(e).reduce(((e,t)=>{let r=parseInt(x[t],10);return r&&e.push(r),e}),[])}function j(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=[];if(function(e){let t=void 0!==(0,m.Z)(e,”mediaTypes.”.concat(d.pX)),r=void 0!==(0,m.Z)(e,”mediaTypes.”.concat(d.Mk)),i=void 0!==(0,m.Z)(e,”params.bidonmultiformat”),n=”object”!=typeof(0,m.Z)(e,”params.video”);return!(!t||!i)||(r&&n&&(t=!1),t&&n&&(0,u.N)(e,”params.video”,{}),t)}(e)){if(-1===[“outstream”,”instream”].indexOf((0,m.Z)(e,”mediaTypes.”.concat(d.pX,”.context”))))return t&&(0,l.logError)(“Rubicon: mediaTypes.video.context must be outstream or instream”),r;if(_(e,d.pX).length<2)return t&&(0,l.logError)(“Rubicon: could not determine the playerSize of the video”),r;t&&(0,l.logMessage)(“Rubicon: making video request for adUnit”,e.adUnitCode),r.push(d.pX)}if(void 0!==(0,m.Z)(e,”mediaTypes.”.concat(d.B5))&&r.push(d.B5),void 0!==(0,m.Z)(e,”mediaTypes.”.concat(d.Mk))){if(0===_(e,d.Mk).length)return t&&(0,l.logError)(“Rubicon: could not determine the sizes for banner request”),r;t&&(0,l.logMessage)(“Rubicon: making banner request for adUnit”,e.adUnitCode),r.push(d.Mk)}return r}function A(e){let t=!1;const r=[“asi”,”sid”,”hp”];return e.nodes?(t=e.nodes.reduce(((e,t)=>e?r.every((e=>t.hasOwnProperty(e))):e),!0),t||(0,l.logError)(“Rubicon: required schain params missing”),t):t}function w(e,t){return”rp_schain”===e?”rp_schain=”.concat(t):””.concat(e,”=”).concat(encodeURIComponent(t))}var I=!1;(0,s.dX)(b),(0,i.z)(“rubiconBidAdapter”)},26372:(e,t,r)=>{r.d(t,{DZ:()=>o,Px:()=>s,TP:()=>d,YC:()=>a,Z:()=>n,f8:()=>l,fP:()=>u,gm:()=>i,md:()=>c});const i=[“request”,”imp”,”bidResponse”,”response”],[n,o,s,a]=i,[d,c]=[“default”,”pbs”],p=new Set(i);const{registerOrtbProcessor:l,getProcessors:u}=function(){const e={};return{registerOrtbProcessor(t){let{type:r,name:n,fn:o,priority:s=0,dialects:a=[d]}=t;if(!p.has(r))throw new Error(“ORTB processor type must be one of: “.concat(i.join(“, “)));a.forEach((t=>{e.hasOwnProperty(t)||(e[t]={}),e[t].hasOwnProperty(r)||(e[t][r]={}),e[t][r][n]={priority:s,fn:o}}))},getProcessors:t=>e[t]||{}}}()}},e=>{e.O(0,[85279,70951],(()=>{return t=40060,e(e.s=t);var t}));e.O()}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[92972],{54834:(o,e,t)=>{var n=t(78640),r=t(64358),d=t(92797),i=t(51039),a=t(15164),u=t(34516),c=t(9633),l=t(81694);const s=(0,a.df)({moduleType:c.y2,moduleName:”pubCommonId”}),m=”cookie”,f=”html5″,g=”_pubcid_optout”,p=”PublisherCommonId”;function I(o,e){if(e===m)return s.getCookie(o);if(e===f&&s.hasLocalStorage()){const e=s.getDataFromLocalStorage(“”.concat(o,”_exp”));if(!e)return s.getDataFromLocalStorage(o);if(new Date(e).getTime()-Date.now()>0)return s.getDataFromLocalStorage(o)}}function b(o,e){return function(t,n){e?v(e,o,(()=>{t(n()||o)}))():t(o)}}function v(o){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:””,t=arguments.length>2?arguments[2]:void 0;if(!o)return;const n=(0,r.parseUrl)(o);n.search.id=encodeURIComponent(“pubcid:”+e);const d=(0,r.buildUrl)(n);return function(){(0,r.triggerPixel)(d,t)}}function h(){return!!(s.cookiesAreEnabled()&&I(g,m)||s.hasLocalStorage()&&I(g,f))}const C={name:”sharedId”,aliasName:”pubCommonId”,gvlid:u.$P,decode(o,e){if(h())return void(0,r.logInfo)(“PubCommonId decode: Has opted-out”);(0,r.logInfo)(” Decoded value PubCommonId “+o);return{pubcid:o}},getId:function(){let o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>2?arguments[2]:void 0;if(h())return void(0,r.logInfo)(“PubCommonId: Has opted-out”);if(i.VP.getCoppa())return void(0,r.logInfo)(“PubCommonId: IDs not provided for coppa requests, exiting PubCommonId”);const{params:{create:t=!0,pixelUrl:n}={}}=o;let d=e;if(!d){try{“object”==typeof window[p]&&(d=window[p].getId())}catch(o){}d||(d=t&&(0,r.hasDeviceAccess)()?(0,r.generateUUID)():void 0)}return{id:d,callback:b(d,n)}},extendId:function(){let o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>2?arguments[2]:void 0;if(h())return(0,r.logInfo)(“PubCommonId: Has opted-out”),{id:void 0};if(i.VP.getCoppa())return void(0,r.logInfo)(“PubCommonId: IDs not provided for coppa requests, exiting PubCommonId”);const{params:{extend:t=!1,pixelUrl:n}={}}=o;if(t){if(n){return{callback:v(n,e)}}return{id:e}}},domainOverride:(0,l.U)(s,”sharedId”)};(0,d.Bx)(“userId”,C),(0,n.z)(“sharedIdSystem”)}},o=>{o.O(0,[57748],(()=>{return e=54834,o(o.s=e);var e}));o.O()}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[88029],{76401:(e,t,n)=>{var r=n(78640),i=n(64358),a=n(20265),s=n(14699),d=n(15164);const o=”teads”,c=12,p=11,u=0,I=22,g=(0,d.df)({bidderCode:o}),l={code:o,gvlid:132,supportedMediaTypes:[“video”,”banner”],isBidRequestValid:function(e){let t=!1;if(void 0!==e.params){let n=b((0,i.getValue)(e.params,”placementId”)),r=b((0,i.getValue)(e.params,”pageId”));t=n&&r}return t||(0,i.logError)(“Teads placementId and pageId parameters are required. Bid aborted.”),t},buildRequests:function(e,t){const n=e.map(v),r={referrer:m(t),pageReferrer:document.referrer,networkBandwidth:(i=window.navigator,i&&i.connection&&i.connection.downlink>=0?i.connection.downlink.toString():””),timeToFirstByte:y(window),data:n,deviceWidth:screen.width,hb_version:”7.52.0″,…f(e),…h(e)};var i;const s=e[0];s.schain&&(r.schain=s.schain);let d=t.gdprConsent;if(t&&d){let e=”boolean”==typeof d.gdprApplies,t=”string”==typeof d.consentString,n=e?function(e,t){let n=c;e?t&&!t.isServiceSpecific&&(n=p):n=u;return n}(d.gdprApplies,d.vendorData):I;r.gdpr_iab={consent:t?d.consentString:””,status:n,apiVersion:d.apiVersion}}t&&t.uspConsent&&(r.us_privacy=t.uspConsent);const o=(0,a.Z)(s,”ortb2.device.sua”);o&&(r.userAgentClientHints=o);return{method:”POST”,url:”https://a.teads.tv/hb/bid-request”,data:JSON.stringify(r)}},interpretResponse:function(e,t){const n=[];return(e=e.body).responses&&e.responses.forEach((function(e){const t={cpm:e.cpm,width:e.width,height:e.height,currency:e.currency,netRevenue:!0,ttl:e.ttl,meta:{advertiserDomains:e&&e.adomain?e.adomain:[]},ad:e.ad,requestId:e.bidId,creativeId:e.creativeId,placementId:e.placementId};e.dealId&&(t.dealId=e.dealId),n.push(t)})),n}};function f(e){const t={unifiedId2:”uid2.id”,liveRampId:”idl_env”,lotamePanoramaId:”lotamePanoramaId”,id5Id:”id5id.uid”,criteoId:”criteoId”,yahooConnectId:”connectId”,quantcastId:”quantcastId”,epsilonPublisherLinkId:”publinkId”,publisherFirstPartyViewerId:”pubcid”,merkleId:”merkleId.id”,kinessoId:”kpuid”};let n={};for(const r in t){const i=t[r],s=(0,a.Z)(e,”0.userId.”.concat(i));s&&(n[r]=s)}return n}function m(e){let t=””;return e&&e.refererInfo&&e.refererInfo.page&&(t=e.refererInfo.page),t}function y(e){const t=e.performance||e.webkitPerformance||e.msPerformance||e.mozPerformance,n=t&&”function”==typeof t.getEntriesByType&&”[object Function]”===Object.prototype.toString.call(t.getEntriesByType)&&t.getEntriesByType(“navigation”)[0]&&t.getEntriesByType(“navigation”)[0].responseStart&&t.getEntriesByType(“navigation”)[0].requestStart&&t.getEntriesByType(“navigation”)[0].responseStart>0&&t.getEntriesByType(“navigation”)[0].requestStart>0&&Math.round(t.getEntriesByType(“navigation”)[0].responseStart-t.getEntriesByType(“navigation”)[0].requestStart);if(n)return n.toString();const r=t&&t.timing.responseStart&&t.timing.requestStart&&t.timing.responseStart>0&&t.timing.requestStart>0&&t.timing.responseStart-t.timing.requestStart;return r?r.toString():””}function v(e){const t={};let n=(0,i.getValue)(e.params,”placementId”),r=(0,i.getValue)(e.params,”pageId”);const s=(0,a.Z)(e,”ortb2Imp.ext.gpid”);return t.sizes=function(e){return(0,i.parseSizesInput)(function(e){let t=(0,a.Z)(e,”mediaTypes.video.playerSize”),n=(0,a.Z)(e,”mediaTypes.video.sizes”),r=(0,a.Z)(e,”mediaTypes.banner.sizes”);if((0,i.isArray)(r)||(0,i.isArray)(t)||(0,i.isArray)(n)){return[r,n,t].reduce((function(e,t){return(0,i.isArray)(t)&&((0,i.isArray)(t[0])?t.forEach((function(t){e.push(t)})):e.push(t)),e}),[])}return e.sizes}(e))}(e),t.bidId=(0,i.getBidIdParameter)(“bidId”,e),t.bidderRequestId=(0,i.getBidIdParameter)(“bidderRequestId”,e),t.placementId=parseInt(n,10),t.pageId=parseInt(r,10),t.adUnitCode=(0,i.getBidIdParameter)(“adUnitCode”,e),t.auctionId=(0,i.getBidIdParameter)(“auctionId”,e),t.transactionId=(0,i.getBidIdParameter)(“transactionId”,e),s&&(t.gpid=s),t}function b(e){return parseInt(e)>0}function h(e){const t=(0,a.Z)(e,”0.userId.teadsId”);if(t)return{firstPartyCookieTeadsId:t};if(g.cookiesAreEnabled(null)){const e=g.getCookie(“_tfpvi”,null);if(e)return{firstPartyCookieTeadsId:e}}return{}}(0,s.dX)(l),(0,r.z)(“teadsBidAdapter”)}},e=>{var t;t=76401,e(e.s=t)}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[82599],{70789:(e,t,r)=>{var n=r(78640),i=r(64358),o=r(24679),a=r(14699),d=r(3193),u=r(15164);const s=”triplelift”;let p=null,c=null;const l=(0,u.df)({bidderCode:s}),m={gvlid:28,code:s,supportedMediaTypes:[o.Mk,o.pX],isBidRequestValid:function(e){return void 0!==e.params.inventoryCode},buildRequests:function(e,t){let r=”https://tlx.3lift.com/header/auction?”,n=function(e,t){var r,n;let o={},{schain:a}=e[0];const d=function(e){const t={},r={},n={},o=e.ortb2||{},a=function(){const e=l.getDataFromLocalStorage(“opecloud_ctx”);if(!e)return null;try{return JSON.parse(e)}catch(e){return(0,i.logError)(“Triplelift: error parsing JSON: “,e),null}}(),d=Object.assign({},o.site),u=Object.assign({},o.user);if(a){u.data=u.data||[];try{u.data.push({name:”www.1plusx.com”,ext:a})}catch(e){(0,i.logError)(“Triplelift: error adding 1plusX segments: “,e)}}v(r,d),v(n,u),(0,i.isEmpty)(r)||(t.context=r);(0,i.isEmpty)(n)||(t.user=n);return t}(t);o.imp=e.map((function(e,t){let r={id:t,tagid:e.params.inventoryCode,floor:b(e)};return f(e)&&(r.video=function(e){let t={…e.params.video,…e.mediaTypes.video};try{t.w||(t.w=t.playerSize[0][0]),t.h||(t.h=t.playerSize[0][1])}catch(e){(0,i.logWarn)(“Video size not defined”,e)}”instream”===t.context&&(t.placement=1);”outstream”===t.context&&(t.placement?-1===[3,4,5].indexOf(t.placement)&&((0,i.logMessage)(“video.placement value of “.concat(t.placement,” is invalid for outstream context. Setting placement to 3″)),t.placement=3):t.placement=3);t.playbackmethod&&Number.isInteger(t.playbackmethod)&&(t.playbackmethod=Array.from(String(t.playbackmethod),Number));return delete t.playerSize,t}(e)),e.mediaTypes.banner&&!y(e)&&(r.banner={format:_(e.sizes)}),(0,i.isEmpty)(e.ortb2Imp)||(r.fpd=function(e){const t={},r={};v(r,e.ext),(0,i.isEmpty)(r)||(t.context=r);return t}(e.ortb2Imp),(0,i.isEmpty)(e.ortb2Imp.ext)||(r.ext={…e.ortb2Imp.ext})),r}));let u=[…h([e[0]]),…S([e[0]]),…x([e[0]]),…I([e[0]]),…A(e[0])];u.length>0&&(o.user={ext:{eids:u}});let s=function(e,t){let r={};(0,i.isEmpty)(e)||(r.schain={…e});(0,i.isEmpty)(t)||(r.fpd={…t});return r}(a,d);(0,i.isEmpty)(s)||(o.ext=s);null!=t&&null!==(r=t.ortb2)&&void 0!==r&&null!==(n=r.regs)&&void 0!==n&&n.gpp&&(o.regs=Object.assign({},t.ortb2.regs));return o}(e,t);if(r=(0,i.tryAppendQueryString)(r,”lib”,”prebid”),r=(0,i.tryAppendQueryString)(r,”v”,”7.52.0″),t&&t.refererInfo){let e=t.refererInfo.page;r=(0,i.tryAppendQueryString)(r,”referrer”,e)}return t&&t.timeout&&(r=(0,i.tryAppendQueryString)(r,”tmax”,t.timeout)),t&&t.gdprConsent&&(p=void 0===t.gdprConsent.gdprApplies||t.gdprConsent.gdprApplies,r=(0,i.tryAppendQueryString)(r,”gdpr”,p.toString()),void 0!==t.gdprConsent.consentString&&(c=t.gdprConsent.consentString,r=(0,i.tryAppendQueryString)(r,”cmp_cs”,c))),t&&t.uspConsent&&(r=(0,i.tryAppendQueryString)(r,”us_privacy”,t.uspConsent)),!0===d.config.getConfig(“coppa”)&&(r=(0,i.tryAppendQueryString)(r,”coppa”,!0)),r.lastIndexOf(“&”)===r.length-1&&(r=r.substring(0,r.length-1)),(0,i.logMessage)(“tlCall request built: “+r),{method:”POST”,url:r,data:n,bidderRequest:t}},interpretResponse:function(e,t){let{bidderRequest:r}=t;return(e.body.bids||[]).map((function(e){return function(e,t){let r={},n=t.width||1,i=t.height||1,o=t.deal_id||””,a=t.crid||””,d=e.bids[t.imp_id];0!=t.cpm&&t.ad&&(r={requestId:d.bidId,cpm:t.cpm,width:n,height:i,netRevenue:!0,ad:t.ad,creativeId:a,dealId:o,currency:”USD”,ttl:300,tl_source:t.tl_source,meta:{}},f(d)&&”video”===t.media_type&&(r.vastXml=t.ad,r.mediaType=”video”,r.ttl=3600),t.advertiser_name&&(r.meta.advertiserName=t.advertiser_name),t.adomain&&t.adomain.length&&(r.meta.advertiserDomains=t.adomain),t.tl_source&&”hdx”==t.tl_source&&(f(d)&&”video”===t.media_type?r.meta.mediaType=”video”:r.meta.mediaType=”banner”),t.tl_source&&”tlx”==t.tl_source&&(r.meta.mediaType=”native”),a&&(r.meta.networkId=a.slice(0,a.indexOf(“_”))));return r}(r,e)}))},getUserSyncs:function(e,t,r,n){let o=function(e){if(!e)return;if(e.iframeEnabled)return”iframe”;if(e.pixelEnabled)return”image”}(e);if(!o)return;let a=”https://eb2.3lift.com/sync?”;return”image”===o&&(a=(0,i.tryAppendQueryString)(a,”px”,1),a=(0,i.tryAppendQueryString)(a,”src”,”prebid”)),(null!==c||p)&&(a=(0,i.tryAppendQueryString)(a,”gdpr”,p),a=(0,i.tryAppendQueryString)(a,”cmp_cs”,c)),n&&(a=(0,i.tryAppendQueryString)(a,”us_privacy”,n)),[{type:o,url:a}]}};function f(e){return g(e)&&(y(e)||function(e){return g(e)&&”outstream”===e.mediaTypes.video.context.toLowerCase()}(e))}function y(e){return g(e)&&”instream”===e.mediaTypes.video.context.toLowerCase()}function g(e){return e.mediaTypes.video&&e.mediaTypes.video.context}function b(e){let t=null;if(“function”==typeof e.getFloor)try{const r=e.getFloor({currency:”USD”,mediaType:f(e)?”video”:”banner”,size:”*”});”object”!=typeof r||”USD”!==r.currency||isNaN(parseFloat(r.floor))||(t=parseFloat(r.floor))}catch(e){(0,i.logError)(“Triplelift: getFloor threw an error: “,e)}return null!==t?t:e.params.floor}function v(e,t){(0,i.isEmpty)(t)||Object.keys(t).forEach((r=>{null!=t[r]&&(e[r]=t[r])}))}function h(e){return E(e,”tdid”,”adserver.org”,”TDID”)}function S(e){return E(e,”idl_env”,”liveramp.com”,”idl”)}function x(e){return E(e,”criteoId”,”criteo.com”,”criteoId”)}function I(e){return E(e,”pubcid”,”pubcid.org”,”pubcid”)}function A(e){let t=[“adserver.org”,”liveramp.com”,”criteo.com”,”pubcid.org”],r=[];return e.userIdAsEids&&e.userIdAsEids.forEach((e=>{try{if(-1===t.indexOf(e.source)){let t=e.uids.map((t=>({id:t.id,ext:{rtiPartner:e.source}})));r.push({source:e.source,uids:t})}}catch(t){(0,i.logWarn)(“Triplelift: Error attempting to add “.concat(e,” to bid request”),t)}})),r}function E(e,t,r,n){return e.map(function(e){return t=>t&&t.userId&&t.userId[e]}(t)).filter(T(t)).map(function(e,t){return r=>({source:e,uids:[{id:r.id?r.id:r,ext:{rtiPartner:t}}]})}(r,n))}const T=e=>(t,r,n)=>{let o=!!t&&((0,i.isStr)(t)?!!t:(0,i.isPlainObject)(t)&&!(0,i.isArray)(t)&&!(0,i.isEmpty)(t)&&t.id&&(0,i.isStr)(t.id)&&!!t.id);return o||void 0===n[0]||(0,i.logWarn)(“Triplelift: invalid “.concat(e,” userId format”)),o};function _(e){return e.filter(C).map((function(e){return{w:e[0],h:e[1]}}))}function C(e){return 2===e.length&&”number”==typeof e[0]&&”number”==typeof e[1]}(0,a.dX)(m),(0,n.z)(“tripleliftBidAdapter”)}},e=>{var t;t=70789,e(e.s=t)}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[34579],{98709:(r,e,t)=>{var o=t(78640),n=t(64358),s=t(48928),d=t(92797);const i=”unifiedId”,c={name:i,gvlid:21,decode:r=>r&&”string”==typeof r.TDID?{tdid:r.TDID}:void 0,getId(r){const e=r&&r.params||{};if(!e||”string”!=typeof e.partner&&”string”!=typeof e.url)return void(0,n.logError)(“User ID – unifiedId submodule requires either partner or url to be defined”);const t=e.url||”https://match.adsrvr.org/track/rid?ttd_pid=”.concat(e.partner,”&fmt=json”);return{callback:function(r){const e={success:e=>{let t;if(e)try{t=JSON.parse(e)}catch(r){(0,n.logError)(r)}r(t)},error:e=>{(0,n.logError)(“”.concat(i,”: ID fetch encountered an error”),e),r()}};(0,s.h)(t,e,void 0,{method:”GET”,withCredentials:!0})}}}};(0,d.Bx)(“userId”,c),(0,o.z)(“unifiedIdSystem”)}},r=>{var e;e=98709,r(r.s=e)}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[69039],{83806:(e,r,n)=>{var t=n(78640),i=n(20265),d=n(64358),o=n(35706),s=n(14699),a=n(24679);const u=(e,r,n)=>{const{bids:t,bidderRequestId:d,auctionId:o,bidderCode:s,…a}=n,u=n.bids.length-r.length;let l={};r.forEach((e=>{const r=e.params.siteId;(e=>{Object.keys(e.mediaTypes).forEach((r=>{let n;n=”function”==typeof e.getFloor?e.getFloor({currency:”USD”,mediaType:r,size:”*”}).floor||0:e.params.floor||0,e.mediaTypes[r].floor=n}))})(e),(e=>{let r=(0,i.Z)(e,”mediaTypes.banner”);if(r){let e={},n=[];r.sizes.forEach((r=>{e[r.toString()]||(e[r.toString()]=!0,n.push(r))})),r.sizes=n}})(e),l[r]=l[r]||[],l[r].push(e)}));let p=[];return Object.keys(l).forEach((r=>{let n={bidderRequest:Object.assign({},{bids:l[r],invalidBidsCount:u,…a})};p.push(Object.assign({},{data:n,…e}))})),p},l=e=>{if(e.ad)return e;(0,d.logError)(new Error(“UnrulyBidAdapter: Missing ad config.”))},p=e=>{if(e.vastUrl||e.vastXml)return e;(0,d.logError)(new Error(“UnrulyBidAdapter: Missing vastUrl or vastXml config.”))},c=e=>{const r=!!(0,i.Z)(e,”ext.renderer.config”),n=!!(0,i.Z)(e,”ext.renderer.config.siteId”);if(!r)return void(0,d.logError)(new Error(“UnrulyBidAdapter: Missing renderer config.”));if(!n)return void(0,d.logError)(new Error(“UnrulyBidAdapter: Missing renderer siteId.”));const t=(0,i.Z)(e,”ext.renderer”);!function(e,r){if(!e.config)throw new Error(“UnrulyBidAdapter: Missing renderer config.”);if(!e.config.siteId)throw new Error(“UnrulyBidAdapter: Missing renderer siteId.”);parent.window.unruly=parent.window.unruly||{},parent.window.unruly.native=parent.window.unruly.native||{},parent.window.unruly.native.siteId=parent.window.unruly.native.siteId||e.config.siteId,parent.window.unruly.native.adSlotId=r,parent.window.unruly.native.supplyMode=”prebid”}(t,e.requestId),parent.window.unruly.native.prebid=parent.window.unruly.native.prebid||{},parent.window.unruly.native.prebid.uq=parent.window.unruly.native.prebid.uq||[];const s=o.Th.install(Object.assign({},t)),a=Object.assign({},e,{renderer:s,adUnitCode:(0,i.Z)(e,”ext.adUnitCode”)});return s.setRender((()=>{var e;e=a,parent.window.unruly.native.prebid.uq.push([“render”,e])})),e.renderer=e.renderer||s,e},y=e=>{if(!e.context)return!1;return-1!==[“outstream”,”instream”].indexOf(e.context)},f=e=>e.sizes,w={code:”unruly”,supportedMediaTypes:[a.pX,a.Mk],gvlid:36,isBidRequestValid:function(e){let r=(0,i.Z)(e,”params.siteId”)&&(e=>{const r=(0,i.Z)(e,”mediaTypes.video”),n=(0,i.Z)(e,”mediaTypes.banner”);let t=!(!r&&!n);return t&&r&&(t=y(r)),t&&n&&(t=f(n)),t})(e);return!!r},buildRequests:function(e,r){let n=”https://targeting.unrulymedia.com/unruly_prebid”;e[0]&&(n=(0,i.Z)(e[0],”params.endpoint”)||n);return u({url:n,method:”POST”,options:{contentType:”application/json”}},e,r)},interpretResponse:function(){const e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).body;return!e||!e.bids?[]:(e=>{let r=[];return e.forEach((e=>{let n,t=(0,i.Z)(e,”meta.mediaType”);if(t&&”banner”===t.toLowerCase())e.mediaType=a.Mk,n=l(e);else if(t&&”video”===t.toLowerCase()){let r=(0,i.Z)(e,”meta.videoContext”);e.mediaType=a.pX,”instream”===r?n=p(e):”outstream”===r&&(n=c(e))}n&&r.push(n)})),r})(e.bids)}};(0,s.dX)(w),(0,t.z)(“unrulyBidAdapter”)}},e=>{var r;r=83806,e(e.s=r)}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[9215],{82547:(e,t,n)=>{var o=n(78640),r=n(34614),i=n(3193),c=n(52021),s=n(51039),a=n(5644),u=n(92797),d=n(64358),l=n(20265);const g={growthCodeId:{getValue:function(e){return e.gc_id},source:”growthcode.io”,atype:1,getUidExt:function(e){const t=(0,d.pick)(e,[“h1″,”h2″,”h3″]);if(Object.keys(t).length)return t}},trustpid:{source:”trustpid.com”,atype:1,getValue:function(e){return e}},intentIqId:{source:”intentiq.com”,atype:1},naveggId:{source:”navegg.com”,atype:1},pairId:{source:”google.com”,atype:571187},justId:{source:”justtag.com”,atype:1},pubcid:{source:”pubcid.org”,atype:1},tdid:{source:”adserver.org”,atype:1,getUidExt:function(){return{rtiPartner:”TDID”}}},id5id:{getValue:function(e){return e.uid},source:”id5-sync.com”,atype:1,getUidExt:function(e){if(e.ext)return e.ext}},ftrackId:{source:”flashtalking.com”,atype:1,getValue:function(e){let t=””;return e&&e.ext&&e.ext.DeviceID&&(t=e.ext.DeviceID),t},getUidExt:function(e){return e&&e.ext}},parrableId:{source:”parrable.com”,atype:1,getValue:function(e){return e.eid?e.eid:e.ccpaOptout?””:null},getUidExt:function(e){const t=(0,d.pick)(e,[“ibaOptout”,”ccpaOptout”]);if(Object.keys(t).length)return t}},idl_env:{source:”liveramp.com”,atype:3},lipb:{getValue:function(e){return e.lipbid},source:”liveintent.com”,atype:3,getEidExt:function(e){if(Array.isArray(e.segments)&&e.segments.length)return{segments:e.segments}}},bidswitch:{source:”bidswitch.net”,atype:3,getValue:function(e){return e.id}},medianet:{source:”media.net”,atype:3,getValue:function(e){return e.id}},britepoolid:{source:”britepool.com”,atype:3},dmdId:{source:”hcn.health”,atype:3},lotamePanoramaId:{source:”crwdcntrl.net”,atype:1},criteoId:{source:”criteo.com”,atype:1},merkleId:{atype:3,getSource:function(e){var t;return null!=e&&null!==(t=e.ext)&&void 0!==t&&t.ssp?””.concat(e.ext.ssp,”.merkleinc.com”):”merkleinc.com”},getValue:function(e){return e.id},getUidExt:function(e){return e.keyID?{keyID:e.keyID}:e.ext?e.ext:void 0}},netId:{source:”netid.de”,atype:1},IDP:{source:”zeotap.com”,atype:1},hadronId:{source:”audigent.com”,atype:1},quantcastId:{source:”quantcast.com”,atype:1},idx:{source:”idx.lat”,atype:1},connectid:{source:”verizonmedia.com”,atype:3},fabrickId:{source:”neustar.biz”,atype:1},mwOpenLinkId:{source:”mediawallahscript.com”,atype:1},tapadId:{source:”tapad.com”,atype:1},novatiq:{getValue:function(e){return void 0===e.snowflake.id?e.snowflake:e.snowflake.id},source:”novatiq.com”},uid2:{source:”uidapi.com”,atype:3,getValue:function(e){return e.id}},deepintentId:{source:”deepintent.com”,atype:3},admixerId:{source:”admixer.net”,atype:3},adtelligentId:{source:”adtelligent.com”,atype:3},amxId:{source:”amxdt.net”,atype:1},publinkId:{source:”epsilon.com”,atype:3},kpuid:{source:”kpuid.com”,atype:3},imppid:{source:”ppid.intimatemerger.com”,atype:1},imuid:{source:”intimatemerger.com”,atype:1},connectId:{source:”yahoo.com”,atype:3},qid:{source:”adquery.io”,atype:1},dacId:{source:”impact-ad.jp”,atype:1},”33acrossId”:{source:”33across.com”,atype:1,getValue:function(e){return e.envelope}},tncid:{source:”thenewco.it”,atype:3},gravitompId:{source:”gravito.net”,atype:1},czechAdId:{source:”czechadid.cz”,atype:1},oneKeyData:{getValue:function(e){if(e&&Array.isArray(e.identifiers)&&e.identifiers[0])return e.identifiers[0].value},source:”paf”,atype:1,getEidExt:function(e){if(e&&e.preferences)return{preferences:e.preferences}},getUidExt:function(e){if(e&&Array.isArray(e.identifiers)&&e.identifiers[0]){const t=e.identifiers[0];return{version:t.version,type:t.type,source:t.source}}}}};function f(e,t){const n=g[t];if(n&&e){let t={};t.source=(0,d.isFn)(n.getSource)?n.getSource(e):n.source;const o=(0,d.isFn)(n.getValue)?n.getValue(e):e;if((0,d.isStr)(o)){const r={id:o,atype:n.atype};if((0,d.isFn)(n.getUidExt)){const t=n.getUidExt(e);t&&(r.ext=t)}if(t.uids=[r],(0,d.isFn)(n.getEidExt)){const o=n.getEidExt(e);o&&(t.ext=o)}return t}}return null}function p(e){let t=[];for(const n in e)if(e.hasOwnProperty(n))if(“pubProvidedId”===n)t=t.concat(e.pubProvidedId);else if(Array.isArray(e[n]))e[n].forEach(((e,o,r)=>{const i=f(e,n);i&&t.push(i)}));else{const o=f(e[n],n);o&&t.push(o)}return t}var m=n(15164),y=n(96475),b=n(7563),h=n(68792),I=n(17673),v=n(26372),E=n(99128),w=n(38196),O=n(34516),D=n(9633),k=n(50571),j=n(74947),S=n(10286);const x=”User ID”,P=m.c$,A=m.Dp,U={name:”_pbjs_userid_consent_data”,expires:30},C=”_pbjs_id_optout”,T=(0,m.eA)(“userId”),V={isAllowed:k.xD};let N,_,q,R,L,Z,F=!1,z=[],G=[],M=[];const W=(()=>{let e;return()=>(null==e&&(e=(0,E.V6)()),e)})();function B(e){return W().fork().renameWith((t=>[“userId.mod.”.concat(t),”userId.mods.”.concat(e,”.”).concat(t)]))}function J(e,t){t=t||e.storageMgr;const n=”function”==typeof e.submodule.domainOverride?e.submodule.domainOverride():null,o=e.config.storage.name;return function(e,r,i){t.setCookie(o+(e||””),r,i,”Lax”,n)}}function H(e,t){const n=e.config.storage,o=e.storageMgr;try{const r=new Date(Date.now()+864e5*n.expires).toUTCString(),i=(0,d.isPlainObject)(t)?JSON.stringify(t):t;if(n.type===P){const t=J(e);t(null,i,r),”number”==typeof n.refreshInSeconds&&t(“_last”,(new Date).toUTCString(),r)}else n.type===A&&(o.setDataInLocalStorage(“”.concat(n.name,”_exp”),r),o.setDataInLocalStorage(n.name,encodeURIComponent(i)),”number”==typeof n.refreshInSeconds&&o.setDataInLocalStorage(“”.concat(n.name,”_last”),(new Date).toUTCString()))}catch(e){(0,d.logError)(e)}}function K(e){let t=(0,d.getPrebidInternal)().setEidPermissions;”function”==typeof t&&(0,d.isArray)(e)&&t(function(e){let t=[];return e.filter((e=>(0,d.isPlainObject)(e.idObj)&&Object.keys(e.idObj).length)).forEach((e=>{Object.keys(e.idObj).forEach((n=>{(0,l.Z)(e,”config.bidders”)&&Array.isArray(e.config.bidders)&&(0,l.Z)(g,n+”.source”)&&t.push({source:g[n].source,bidders:e.config.bidders})}))})),t}(e))}function Y(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;const n=e.storageMgr,o=e.config.storage,r=t?””.concat(o.name,”_”).concat(t):o.name;let i;try{if(o.type===P)i=n.getCookie(r);else if(o.type===A){const e=n.getDataFromLocalStorage(“”.concat(o.name,”_exp”));””===e?i=n.getDataFromLocalStorage(r):e&&new Date(e).getTime()-Date.now()>0&&(i=decodeURIComponent(n.getDataFromLocalStorage(r)))}”string”==typeof i&&”{“===i.trim().charAt(0)&&(i=JSON.parse(i))}catch(e){(0,d.logError)(e)}return i}function $(e){const t={consentString:””,gdprApplies:!1,apiVersion:0};return e&&(t.consentString=e.consentString,t.gdprApplies=e.gdprApplies,t.apiVersion=e.apiVersion),(0,d.cyrb53Hash)(JSON.stringify(t))}function Q(e,t){t=W().fork().startTiming(“userId.callbacks.total”).stopBefore(t);const n=(0,d.delayExecution)((()=>{clearTimeout(_),t()}),e.length);e.forEach((function(e){const t=B(e.submodule.name).startTiming(“callback”).stopBefore(n);try{e.callback((function(n){n?(e.config.storage&&H(e,n),e.idObj=e.submodule.decode(n,e.config),pe(e.idObj)):(0,d.logInfo)(“”.concat(x,”: “).concat(e.submodule.name,” – request id responded with an empty value”)),t()}),Y.bind(null,e))}catch(n){(0,d.logError)(“Error in userID module ‘”.concat(e.submodule.name,”‘:”),n),t()}e.callback=void 0}))}function X(e,t){[e].some((e=>!Array.isArray(e)||!e.length))||e.forEach((e=>{e.bids&&(0,d.isArray)(e.bids)&&e.bids.forEach((e=>{const n=function(e,t){return Array.isArray(e)&&e.length&&t?e.filter((e=>!e.config.bidders||!(0,d.isArray)(e.config.bidders)||(0,r.q9)(e.config.bidders,t))).filter((e=>(0,d.isPlainObject)(e.idObj)&&Object.keys(e.idObj).length)).reduce(((e,t)=>(Object.keys(t.idObj).forEach((n=>{e[n]=t.idObj[n]})),e)),{}):{}}(t,e.bidder);Object.keys(n).length&&(e.userId=n,e.userIdAsEids=p(n))}))}))}const ee={};let te;function ne(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ie()||[];const t=L&&e.find((e=>e.source===L));if(t&&”string”==typeof(0,l.Z)(t,”uids.0.id”)){const e=t.uids[0].id.replace(/[W_]/g,””);if(e.length>=32&&e.length<=150)return e;(0,d.logWarn)(“User ID – Googletag Publisher Provided ID for “.concat(L,” is not between 32 and 150 characters – “).concat(e))}}const oe=(0,E.g3)(“userId”,(function(e,t){let{delay:n=h.Z.timeout,getIds:r=le}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};h.Z.race([r().catch((()=>null)),n(R)]).then((()=>{X(t.adUnits||(0,o.R)().adUnits,N),W().join((0,E.Bf)(t.metrics),{propagate:!1,includeGroups:!0}),e.call(this,t)}))}));function re(){return function(e){return Array.isArray(e)&&e.length?e.filter((e=>(0,d.isPlainObject)(e.idObj)&&Object.keys(e.idObj).length)).reduce(((e,t)=>(Object.keys(t.idObj).forEach((n=>{e[n]=t.idObj[n]})),e)),{}):{}}(N)}function ie(){return p(re())}function ce(e){return p(function(e,t){if(!Array.isArray(e)||!e.length)return{};const n=e.filter((e=>{var n;return(0,d.isPlainObject)(e.idObj)&&Object.keys(e.idObj).length&&(null===(n=g[Object.keys(e.idObj)[0]])||void 0===n?void 0:n.source)===t}));return(0,d.isEmpty)(n)?[]:n[0].idObj}(N,e))[0]}function se(e,t,n){return te().then((()=>{let o={};if((0,d.isFn)(n)){(0,d.logInfo)(“”.concat(x,” – Getting encrypted signal from custom function : “).concat(n.name,” & source : “).concat(e,” “));const t=n(e);o[e]=t?ae(t):null}else{const n=ce(e);(0,d.logInfo)(“”.concat(x,” – Getting encrypted signal for eids :”).concat(JSON.stringify(n))),(0,d.isEmpty)(n)||(o[n.source]=!0===t?ae(n):n.uids[0].id)}return(0,d.logInfo)(“”.concat(x,” – Fetching encrypted eids: “).concat(o[e])),o[e]}))}function ae(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=””;if(1===t)n=”object”==typeof e?window.btoa(JSON.stringify(e)):window.btoa(e);return””.concat(t,”||”).concat(n)}function ue(){if(!(0,d.isGptPubadsDefined)())return;window.googletag.encryptedSignalProviders=window.googletag.encryptedSignalProviders||[];const e=i.config.getConfig(“userSync.encryptedSignalSources”);if(e){const t=e.registerDelay||0;setTimeout((()=>{e.sources&&e.sources.forEach((e=>{let{source:t,encrypt:n,customFunc:o}=e;t.forEach((e=>{window.googletag.encryptedSignalProviders.push({id:e,collectorFunction:()=>se(e,n,o)})}))}))}),t)}else(0,d.logWarn)(“”.concat(x,” – ESP : encryptedSignalSources config not defined under userSync Object”))}function de(){let{submoduleNames:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return te({refresh:!0,submoduleNames:e}).then((()=>(t&&(0,d.isFn)(t)&&t(),re())))}function le(){return te().then((()=>re()),(e=>e===ee?Promise.resolve().then(le):((0,d.logError)(“Error initializing userId”,e),h.Z.reject(e))))}const ge=(0,u.z3)(“sync”,(function(e,t){return{userIdModules:e,hasValidated:t&&t.hasValidated}}),”validateGdprEnforcement”);function fe(e,t,n,o){if(e.config.storage){let r,i=Y(e),c=!1;if(“number”==typeof e.config.storage.refreshInSeconds){const t=new Date(Y(e,”last”));c=t&&Date.now()-t.getTime()>1e3*e.config.storage.refreshInSeconds}!i||c||o||!function(e,t){return null!=e&&e===$(t)}(n,t)?r=e.submodule.getId(e.config,t,i):”function”==typeof e.submodule.extendId&&(r=e.submodule.extendId(e.config,t,i)),(0,d.isPlainObject)(r)&&(r.id&&(H(e,r.id),i=r.id),”function”==typeof r.callback&&(e.callback=r.callback)),i&&(e.idObj=e.submodule.decode(i,e.config))}else if(e.config.value)e.idObj=e.config.value;else{const n=e.submodule.getId(e.config,t,void 0);(0,d.isPlainObject)(n)&&(“function”==typeof n.callback&&(e.callback=n.callback),n.id&&(e.idObj=e.submodule.decode(n.id,e.config)))}pe(e.idObj)}function pe(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:re();if(e&&L){const t=ne(p(e));t&&((0,d.isGptPubadsDefined)()?window.googletag.pubads().setPublisherProvidedId(t):(window.googletag=window.googletag||{},window.googletag.cmd=window.googletag.cmd||[],window.googletag.cmd.push((function(){window.googletag.pubads().setPublisherProvidedId(t)}))))}}function me(e,t,n){let o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return W().fork().measureTime(“userId.init.modules”,(function(){if(!t.length)return[];if(!(t=t.filter((e=>(!e.config.storage||function(e){var t,n;switch(null===(t=e.config)||void 0===t||null===(n=t.storage)||void 0===n?void 0:n.type){case A:if(e.storageMgr.localStorageIsEnabled())return!T.getDataFromLocalStorage(C)||((0,d.logInfo)(“”.concat(x,” – opt-out localStorage found, storage disabled”)),!1);break;case P:if(e.storageMgr.cookiesAreEnabled())return!T.getCookie(C)||((0,d.logInfo)(“”.concat(x,” – opt-out cookie found, storage disabled”)),!1)}return!1}(e))&&V.isAllowed(j.EL,(0,S.T)(D.y2,e.config.name))))).length)return(0,d.logWarn)(“”.concat(x,” – no ID module configured”)),[];let{userIdModules:r,hasValidated:i}=ge(t,n);if(!i&&!(0,I.h)(n))return(0,d.logWarn)(“”.concat(x,” – gdpr permission not valid for local storage or cookies, exit module”)),[];const c=function(){try{return T.getCookie(U.name)}catch(e){(0,d.logError)(e)}}();!function(e){try{const t=new Date(Date.now()+864e5*U.expires).toUTCString();T.setCookie(U.name,$(e),t,”Lax”)}catch(e){(0,d.logError)(e)}}(n);const s=r.reduce(((e,t)=>B(t.submodule.name).measureTime(“init”,(()=>{try{fe(t,n,c,o),e.push(t)}catch(e){(0,d.logError)(“Error in userID module ‘”.concat(t.submodule.name,”‘:”),e)}return e}))),[]);return s.length&&K(s),s.forEach(ye.bind(null,e)),s}))}function ye(e,t){let n=!1;for(let o=0;o(!t||(0,d.isEmptyStr)(t.name)||(t.storage&&!(0,d.isEmptyStr)(t.storage.type)&&!(0,d.isEmptyStr)(t.storage.name)&&be.has(t.storage.type)||(0,d.isPlainObject)(t.value)?e.push(t):t.storage||t.value||e.push(t)),e)),[]):[]}(G);if(!e.length)return;const t=M.filter((e=>!(0,r.sE)(z,(t=>t.name===e.name))));z.splice(0,z.length),t.map((t=>{const n=(0,r.sE)(e,(e=>e.name&&(e.name.toLowerCase()===t.name.toLowerCase()||t.aliasName&&e.name.toLowerCase()===t.aliasName.toLowerCase())));return n&&t.name!==n.name&&(n.name=t.name),t.findRootDomain=w.W,n?{submodule:t,config:n,callback:void 0,idObj:void 0,storageMgr:(0,m.df)({moduleType:D.y2,moduleName:n.name})}:null})).filter((e=>null!==e)).forEach((e=>z.push(e))),!F&&z.length&&((0,o.R)().requestBids.before(oe,40),s.ZP.callDataDeletionRequest.before(Ie),b.G.after((e=>e(ne()))),(0,d.logInfo)(“”.concat(x,” – usersync config updated for “).concat(z.length,” submodules: “),z.map((e=>e.submodule.name))),F=!0)}function Ie(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o{if(“function”==typeof e.submodule.onDataDeletionRequest)try{e.submodule.onDataDeletionRequest(e.config,e.idObj,…n)}catch(t){(0,d.logError)(“Error calling onDataDeletionRequest for ID submodule “.concat(e.submodule.name),t)}!function(e){var t,n;let o,r;switch(null===(t=e.config)||void 0===t||null===(n=t.storage)||void 0===n?void 0:n.type){case P:const t=J(e,T),n=new Date(Date.now()-864e5).toUTCString();o=e=>t(e,””,n),r=[“”,”_last”];break;case A:o=t=>T.removeDataFromLocalStorage(e.config.storage.name+t),r=[“”,”_last”,”_exp”]}o&&r.forEach((e=>{try{o(e)}catch(e){(0,d.logError)(e)}}))}(e)})),e.apply(this,n)}function ve(e){return function(){return Promise.resolve(e.apply(this,arguments))}}!function(e){let{delay:t=h.Z.timeout}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};L=void 0,z=[],G=[],F=!1,N=[],te=function(){let{delay:e=h.Z.timeout}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=(0,h.P)(),n=(0,h.P)();let o,r,i=!1;function l(e){return r=W().fork(),null!=o&&o.reject(ee),o=(0,h.P)(),h.Z.race([e,o.promise]).finally(r.startTiming(“userId.total”))}let g=N,f=z;function p(e){return function(){if(g===N&&f===z)return e(…arguments)}}function m(){return s.rp.promise.finally(r.startTiming(“userId.init.gdpr”))}let y=l(h.Z.all([u.Cd,t.promise]).then(m).then(p((e=>{me(g,f,e)}))).then((()=>n.promise.finally(r.startTiming(“userId.callbacks.pending”)))).then(p((()=>{const e=g.filter((e=>(0,d.isFn)(e.callback)));if(e.length)return new h.Z((t=>Q(e,t)))}))));return function(){let{refresh:o=!1,submoduleNames:r=null,ready:s=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return s&&!i&&(i=!0,t.resolve(),R>0?n.resolve():c.on(a.EVENTS.AUCTION_END,(function t(){c.off(a.EVENTS.AUCTION_END,t),e(q).then(n.resolve)}))),o&&i&&(y=l(y.catch((()=>null)).then(m).then(p((e=>{const t=me(g,f.filter((e=>null==r||r.includes(e.submodule.name))),e,!0).filter((e=>null!=e.callback));if(t.length)return new h.Z((e=>Q(t,e)))}))))),y}}({delay:t}),null!=Z&&Z(),M=[],Z=e.getConfig(“userSync”,(e=>{const t=e.userSync;L=t.ppid,t&&t.userIds&&(G=t.userIds,q=(0,d.isNumber)(t.syncDelay)?t.syncDelay:500,R=(0,d.isNumber)(t.auctionDelay)?t.auctionDelay:0,he(),te({ready:!0}))})),(0,o.R)().getUserIds=re,(0,o.R)().getUserIdsAsEids=ie,(0,o.R)().getEncryptedEidsForSource=ve(se),(0,o.R)().registerSignalSources=ue,(0,o.R)().refreshUserIds=ve(de),(0,o.R)().getUserIdsAsync=ve(le),(0,o.R)().getUserIdsAsEidBySource=ce}(i.config),(0,u.bA)(“userId”,(function(e){(0,r.sE)(M,(t=>t.name===e.name))||(M.push(e),O.qh.register(D.y2,e.name,e.gvlid),he(),te({refresh:!0,submoduleNames:[e.name]}))})),(0,v.f8)({type:v.Z,name:”userExtEids”,fn:function(e,t,n){const o=(0,l.Z)(n,”bidRequests.0.userIdAsEids”);o&&Object.keys(o).length>0&&(0,y.N)(e,”user.ext.eids”,o)}}),(0,o.z)(“userId”)},7563:(e,t,n)=>{n.d(t,{G:()=>o});const o=(0,n(92797).z3)(“sync”,(()=>{}))},26372:(e,t,n)=>{n.d(t,{DZ:()=>i,Px:()=>c,TP:()=>a,YC:()=>s,Z:()=>r,f8:()=>l,fP:()=>g,gm:()=>o,md:()=>u});const o=[“request”,”imp”,”bidResponse”,”response”],[r,i,c,s]=o,[a,u]=[“default”,”pbs”],d=new Set(o);const{registerOrtbProcessor:l,getProcessors:g}=function(){const e={};return{registerOrtbProcessor(t){let{type:n,name:r,fn:i,priority:c=0,dialects:s=[a]}=t;if(!d.has(n))throw new Error(“ORTB processor type must be one of: “.concat(o.join(“, “)));s.forEach((t=>{e.hasOwnProperty(t)||(e[t]={}),e[t].hasOwnProperty(n)||(e[t][n]={}),e[t][n][r]={priority:c,fn:i}}))},getProcessors:t=>e[t]||{}}}()},17673:(e,t,n)=>{n.d(t,{h:()=>r});var o=n(20265);function r(e){return null==e||!e.gdprApplies||!0===(0,o.Z)(e,”vendorData.purpose.consents.1″)}}},e=>{var t;t=82547,e(e.s=t)}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[66635],{63273:(e,t,n)=>{var o=n(78640),r=n(64358),i=n(20265),a=n(14699),c=n(24679),d=n(15164),s=n(55975),u=n(3193);const p=”prebid”,l=”vidazoo”,g=”1.0.0″,b=9e5,f=36e5,h=”vidSid”,m=”vdzwopt”,I=”wsid_”+parseInt(Date.now()*Math.random()),v=(0,d.df)({bidderCode:l});function C(){try{return(0,r.parseUrl)(window.top.document.URL,{decodeSearchAsString:!0}).search}catch(e){return””}}function S(){return”https://”.concat(arguments.length>0&&void 0!==arguments[0]?arguments[0]:p,”.cootlogix.com”)}function y(e){return e.cId||e.CID||e.cID||e.CId||e.cid||e.ciD||e.Cid||e.CiD}function D(e){return e.pId||e.PID||e.pID||e.PId||e.pid||e.piD||e.Pid||e.PiD}function w(e,t,n,o,a){var c,d;const{params:u,bidId:p,userId:w,adUnitCode:q,schain:x,mediaTypes:A,auctionId:k,transactionId:O,bidderRequestId:T,bidRequestsCount:_,bidderRequestsCount:z,bidderWinsCount:j}=e,{ext:F}=u;let{bidFloor:M}=u;const Z=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:”_”;const n=e.length;let o=0,r=0;if(n>0)for(;r1&&void 0!==arguments[1]?arguments[1]:b;try{const n=R(e);let o,r=0;n&&n.value&&Date.now()-n.created1&&void 0!==arguments[1]?arguments[1]:f;const n=”u_”.concat(e),o=Date.now(),r=R(n);let i;!r||!r.value||o-r.created>t?(i=””.concat(e,”_”).concat(o.toString()),U(n,i)):i=r.value;return i}(Z),E=R(h)||””,N=y(u),X=D(u),B=function(e){return e.subDomain||e.SubDomain||e.Subdomain||e.subdomain||e.SUBDOMAIN||e.subDOMAIN}(u),V=function(){let e=v.getDataFromLocalStorage(m);e||(e=String(Date.now()),v.setDataInLocalStorage(m,e));return e}(),J=s.S.get(l,”storageAllowed”),W=(0,i.Z)(e,”ortb2Imp.ext.gpid”,(0,i.Z)(e,”ortb2Imp.ext.data.pbadslot”,””)),G=(0,i.Z)(o,”ortb2.site.cat”,[]),H=(0,i.Z)(o,”ortb2.site.pagecat”,[]);if((0,r.isFn)(e.getFloor)){const t=e.getFloor({currency:”USD”,mediaType:”*”,size:”*”});”USD”===t.currency&&(M=t.floor)}let K={url:encodeURIComponent(t),uqs:C(),cb:Date.now(),bidFloor:M,bidId:p,referrer:o.refererInfo.ref,adUnitCode:q,publisherId:X,sessionId:E,sizes:n,dealId:L,uniqueDealId:P,bidderVersion:g,prebidVersion:”7.52.0″,res:””.concat(screen.width,”x”).concat(screen.height),schain:x,mediaTypes:A,ptrace:V,isStorageAllowed:J,gpid:W,cat:G,pagecat:H,auctionId:k,transactionId:O,bidderRequestId:T,bidRequestsCount:_,bidderRequestsCount:z,bidderWinsCount:j,bidderTimeout:a,webSessionId:I};!function(e,t){let n;(0,r._each)(t,((t,o)=>{switch(n=”uid.”.concat(o),o){case”digitrustid”:e[n]=(0,i.Z)(t,”data.id”);break;case”lipb”:e[n]=t.lipbid;break;case”parrableId”:e[n]=t.eid;break;case”id5id”:e[n]=t.uid;break;default:e[n]=t}}))}(K,w);const Q=(0,i.Z)(o,”ortb2.device.sua”);Q&&(K.sua=Q),o.gdprConsent&&(o.gdprConsent.consentString&&(K.gdprConsent=o.gdprConsent.consentString),void 0!==o.gdprConsent.gdprApplies&&(K.gdpr=o.gdprConsent.gdprApplies?1:0)),o.uspConsent&&(K.usPrivacy=o.uspConsent),o.gppConsent?(K.gppString=o.gppConsent.gppString,K.gppSid=o.gppConsent.applicableSections):null!==(c=o.ortb2)&&void 0!==c&&null!==(d=c.regs)&&void 0!==d&&d.gpp&&(K.gppString=o.ortb2.regs.gpp,K.gppSid=o.ortb2.regs.gpp_sid);const Y={method:”POST”,url:””.concat(S(B),”/prebid/multi/”).concat(N),data:K};return(0,r._each)(F,((e,t)=>{Y.data[“ext.”+t]=e})),Y}function R(e){try{return function(e){try{return JSON.parse(e)}catch(t){return e}}(v.getDataFromLocalStorage(e))}catch(e){}return null}function U(e,t,n){try{const o=n||Date.now(),r=JSON.stringify({value:t,created:o});v.setDataInLocalStorage(e,r)}catch(e){}}const q={code:l,version:g,gvlid:744,supportedMediaTypes:[c.Mk,c.pX],isBidRequestValid:function(e){const t=e.params||{};return!(!y(t)||!D(t))},buildRequests:function(e,t){const n=t.refererInfo.page||t.refererInfo.topmostLocation,o=u.config.getConfig(“bidderTimeout”),i=[];return e.forEach((e=>{const a=(0,r.parseSizesInput)(e.sizes),c=w(e,n,a,t,o);i.push(c)})),i},interpretResponse:function(e,t){if(!e||!e.body)return[];const{bidId:n}=t.data,{results:o}=e.body;let r=[];try{return o.forEach((e=>{const{creativeId:t,ad:o,price:i,exp:a,width:d,height:s,currency:u,advertiserDomains:p,metaData:l,mediaType:g=c.Mk}=e;if(!o||!i)return;const b={requestId:n,cpm:i,width:d,height:s,creativeId:t,currency:u||”USD”,netRevenue:!0,ttl:a||300};l?Object.assign(b,{meta:l}):Object.assign(b,{meta:{advertiserDomains:p||[]}}),g===c.Mk?Object.assign(b,{ad:o}):Object.assign(b,{vastXml:o,mediaType:c.pX}),r.push(b)})),r}catch(e){return[]}},getUserSyncs:function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:””,a=[];const{iframeEnabled:c,pixelEnabled:d}=e,{gdprApplies:s,consentString:u=””}=n,p=t.filter((e=>(0,i.Z)(e,”body.cid”))).map((e=>e.body.cid)).filter(r.uniques),l=”?cid=”.concat(encodeURIComponent(p.join(“,”)),”&gdpr=”).concat(s?1:0,”&gdpr_consent=”).concat(encodeURIComponent(u||””),”&us_privacy=”).concat(encodeURIComponent(o||””));return c&&a.push({type:”iframe”,url:”https://sync.cootlogix.com/api/sync/iframe/”.concat(l)}),d&&a.push({type:”image”,url:”https://sync.cootlogix.com/api/sync/image/”.concat(l)}),a}};(0,a.dX)(q),(0,o.z)(“vidazooBidAdapter”)}},e=>{var t;t=63273,e(e.s=t)}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[50608],{39595:(e,t,s)=>{var n=s(78640),r=s(20265),i=s(64358),d=s(14699),a=s(24679),o=s(35706),c=s(34614);const u=”https://player.sync.viewdeos.com/outstream-unit/2.01/outstream.min.js”,p=”outstream”,l=”display”,m={code:”viewdeosDX”,aliases:[“viewdeos”],gvlid:924,supportedMediaTypes:[a.pX,a.Mk],isBidRequestValid:function(e){return!!(0,r.Z)(e,”params.aid”)},getUserSyncs:function(e,t){const s=[];function n(t){const n=t.cookieURLs,r=t.cookieURLSTypes||[];Array.isArray(n)&&n.forEach(((t,n)=>{const i=r[n]||”image”;!e.pixelEnabled&&”image”===i||!e.iframeEnabled&&”iframe”===i||s.push({type:i,url:t})}))}return(e.pixelEnabled||e.iframeEnabled)&&(0,i.isArray)(t)&&t.forEach((e=>{e.body&&((0,i.isArray)(e.body)?e.body.forEach((e=>{n(e)})):n(e.body))})),s},buildRequests:function(e,t){return{data:b(e,t),bidderRequest:t,method:”GET”,url:”https://ghb.sync.viewdeos.com/auction/”}},interpretResponse:function(e,t){let{bidderRequest:s}=t;e=e.body;let n=[];return(0,i.isArray)(e)?(e.forEach((e=>{n=(0,i.flatten)(n,f(e,s))})),n):f(e,s)}};function f(e,t){const s=!e||!(0,i.isArray)(e.bids),n=[];if(s){const s=e&&e.ext&&e.ext.message?”: “.concat(e.ext.message):””,r=”in response for “.concat(t.bidderCode,” adapter “).concat(s);return(0,i.logError)(r),n}return e.bids.forEach((e=>{const s=(0,c.cx)(t.bids,(t=>t.bidId===e.requestId));if(0!==e.cpm&&-1!==s){const i=t.bids[s],d=function(e,t,s){const n={requestId:e.requestId,creativeId:e.cmpId,height:e.height,currency:e.cur,width:e.width,cpm:e.cpm,netRevenue:!0,mediaType:t,ttl:3600,meta:{advertiserDomains:e.adomain||[]}};if(t===l)return Object.assign(n,{ad:e.ad});Object.assign(n,{vastUrl:e.vastUrl}),t===p&&Object.assign(n,{mediaType:”video”,adResponse:e,renderer:h(e.requestId,s)});return n}(e,function(e){const t=(0,r.Z)(e,”mediaTypes.video”),s=(0,r.Z)(e,”mediaTypes.video.context”);return t?s===p?p:a.pX:l}(i),i.params);n.push(d)}})),n}function b(e,t){const s={domain:(0,r.Z)(t,”refererInfo.page”)};(0,r.Z)(t,”gdprConsent.gdprApplies”)&&(s.gdpr=1,s.gdpr_consent=(0,r.Z)(t,”gdprConsent.consentString”)),(0,r.Z)(t,”bidderRequest.uspConsent”)&&(s.us_privacy=t.uspConsent);for(let t=0,n=e.length;t{const t=Object.assign({},e.renderer.getConfig(),{width:e.width,height:e.height,vastUrl:e.vastUrl,elId:e.adUnitCode});window.VOutstreamAPI.initOutstreams([t])}))}(0,d.dX)(m),(0,n.z)(“viewdeosDXBidAdapter”)}},e=>{var t;t=39595,e(e.s=t)}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[15337],{55511:(e,t,r)=>{var i=r(78640),n=r(64358),o=r(20265),a=r(96475),d=r(24679),s=r(14699),c=r(35706),p=r(34614);const u=”USD”,l=300,m=!0,f=”https://prebid-outstream.yieldmo.com/bundle.js”,g=[“mimes”,”startdelay”,”placement”,”startdelay”,”skipafter”,”protocols”,”api”,”playbackmethod”,”maxduration”,”minduration”,”pos”,”skip”,”skippable”],y=[“name”,”domain”,”cat”,”keywords”],v=(0,n.getWindowTop)(),h=2,b=0,I=[“description”,”title”,”pr”,”page_url”],x={code:”yieldmo”,supportedMediaTypes:[d.Mk,d.pX],gvlid:173,isBidRequestValid:function(e){return!!(e&&e.adUnitCode&&e.bidId&&(w(e)||Z(e))&&function(e){if(!Z(e))return!0;const t=(e,t,r)=>{let i='”‘.concat(e,'” is required’);throw r&&(i+=” when “+r),new Error(i)},r=(e,t,r)=>{throw r=r?”, expected: “+r:””,t=JSON.stringify(t),new Error(‘”‘.concat(e,'”=’).concat(t,” is invalid”).concat(r))},i=e=>void 0!==e,a=(t,r,i,n)=>{if(0===t.indexOf(“video”)){const a=”params.”+t,d=”mediaTypes.”+t,s=(0,o.Z)(e,a),c=(0,o.Z)(e,d),p=r(s),u=r(c);return p?s:u||(p?u||i(d,c,n):i(a,s,n),s||c)}{const a=(0,o.Z)(e,t);return r(a)||i(t,a,n),a}};try{a(“video.context”,(e=>!(0,n.isEmpty)(e)),t),a(“params.placementId”,(e=>!(0,n.isEmpty)(e)),t),a(“video.playerSize”,(e=>(0,n.isArrayOfNums)(e,2)||(0,n.isArray)(e)&&e.every((e=>(0,n.isArrayOfNums)(e,2)))),r,”array of 2 integers, ex: [640,480] or [[640,480]]”),a(“video.mimes”,(e=>i(e)),t),a(“video.mimes”,(e=>(0,n.isArray)(e)&&e.every((e=>(0,n.isStr)(e)))),r,’array of strings, ex: [“video/mp4”]’);const e=a(“video.placement”,(e=>i(e)),t);return a(“video.placement”,(e=>e>=1&&e<=5),r),1===e&&(a(“video.startdelay”,(e=>i(e)),((e,r)=>t(e,r,”placement == 1″))),a(“video.startdelay”,(e=>(0,n.isNumber)(e)),r,”number, ex: 5″)),a(“video.protocols”,(e=>i(e)),t),a(“video.protocols”,(e=>(0,n.isArrayOfNums)(e)&&e.every((e=>e>=1&&e<=6))),r,”array of numbers, ex: [2,3]”),a(“video.api”,(e=>i(e)),t),a(“video.api”,(e=>(0,n.isArrayOfNums)(e)&&e.every((e=>e>=1&&e<=6))),r,”array of numbers, ex: [2,3]”),a(“video.playbackmethod”,(e=>!i(e)||(0,n.isArrayOfNums)(e)),r,”array of integers, ex: [2,6]”),a(“video.maxduration”,(e=>i(e)),t),a(“video.maxduration”,(e=>(0,n.isInteger)(e)),r),a(“video.minduration”,(e=>!i(e)||(0,n.isNumber)(e)),r),a(“video.skippable”,(e=>!i(e)||(0,n.isBoolean)(e)),r),a(“video.skipafter”,(e=>!i(e)||(0,n.isNumber)(e)),r),a(“video.pos”,(e=>!i(e)||(0,n.isNumber)(e)),r),a(“params.badv”,(e=>!i(e)||(0,n.isArray)(e)),r,’array of strings, ex: [“ford.com”,”pepsi.com”]’),a(“params.bcat”,(e=>!i(e)||(0,n.isArray)(e)),r,’array of strings, ex: [“IAB1-5″,”IAB1-6”]’),!0}catch(e){return(0,n.logError)(e.message),!1}}(e))},buildRequests:function(e,t){const r=function(e){var t,r;return!(null===(t=e.refererInfo)||void 0===t||null===(r=t.referer)||void 0===r||!r.includes(“pb_force_a”))}(t),i=_(“/exchange/prebid”,r),s=_(“/exchange/prebidvideo”,r),c=e.filter((e=>w(e))),u=e.filter((e=>Z(e)));let l=[];const m=function(e){if((0,o.Z)(e,”userIdAsEids”))return e.userIdAsEids||[]}(e[0])||[];if(c.length>0){let e={pbav:”7.52.0″,p:[],page_url:t.refererInfo.page,bust:(new Date).getTime().toString(),dnt:”1″===window.doNotTrack||”1″===window.navigator.doNotTrack||!1,description:k(),userConsent:JSON.stringify({gdprApplies:(0,o.Z)(t,”gdprConsent.gdprApplies”)||””,cmp:(0,o.Z)(t,”gdprConsent.consentString”)||””,gpp:(0,o.Z)(t,”gppConsent.gppString”)||””,gpp_sid:(0,o.Z)(t,”gppConsent.applicableSections”)||[]}),us_privacy:(0,o.Z)(t,”uspConsent”)||””};(function(){try{if((0,n.getWindowTop)().location.href)return!0}catch(e){return!1}})()&&(e.pr=v.document&&v.document.referrer||””,e.scrd=v.devicePixelRatio||0,e.title=v.document.title||””,e.w=v.innerWidth,e.h=v.innerHeight);const r=window.navigator.maxTouchPoints;r&&(e.mtp=r),c.forEach((t=>{e.p.push(function(e){const t=(0,o.Z)(e,”ortb2Imp.ext.data.pbadslot”),r={placement_id:e.adUnitCode,callback_id:e.bidId,sizes:e.mediaTypes.banner.sizes};if(e.params){e.params.placementId&&(r.ym_placement_id=e.params.placementId);const t=S(e,d.Mk);t&&(r.bidFloor=t)}t&&(r.gpid=t);const i=(0,o.Z)(e,”ortb2Imp.ext.tid”);i&&(r.tid=i);e.auctionId&&(r.auctionId=e.auctionId);return JSON.stringify(r)}(t));const r=N(t,”pubcid”);r?e.pubcid=r:t.crumbs&&t.crumbs.pubcid&&(e.pubcid=t.crumbs.pubcid);const i=N(t,”tdid”);i&&(e.tdid=i);const n=N(t,”criteoId”);n&&(e.cri_prebid=n),t.schain&&(e.schain=JSON.stringify(t.schain)),(0,o.Z)(t,”params.lr_env”)&&(e.ats_envelope=t.params.lr_env)})),e.p=”[“+e.p.toString()+”]”,m.length&&(e.eids=JSON.stringify(m));let a=””.concat(i,”?”).concat((0,n.parseQueryStringParameters)(e)).length-8e3;if(a>0)for(let t=0;t0){const e=function(e,t){const r=e[0].schain;let i={id:e[0].bidderRequestId,tmax:t.timeout||400,at:1,imp:e.map((e=>function(e){const t=(0,o.Z)(e,”ortb2Imp.ext.data.pbadslot”),r=function(e){const t=(0,o.Z)(e,”mediaTypes.video.playerSize”);if((0,n.isArrayOfNums)(t,2))return t;if((0,n.isArray)(t)&&(0,n.isArrayOfNums)(t[0],2))return t[0];return null}(e),i={id:e.bidId,tagid:e.adUnitCode,bidfloor:S(e,d.pX),ext:{placement_id:e.params.placementId,tid:(0,o.Z)(e,”ortb2Imp.ext.tid”)},video:{w:r[0],h:r[1],linearity:1}},a=(0,o.Z)(e,”mediaTypes.video”);Object.keys(a).filter((e=>(0,p.q9)(g,e))).forEach((e=>i.video[e]=a[e]));const s=(0,o.Z)(e,”params.video”);Object.keys(s).filter((e=>(0,p.q9)(g,e))).forEach((e=>i.video[e]=s[e])),i.video.skippable&&(i.video.skip=1,delete i.video.skippable);1!==i.video.placement&&(i.video.startdelay=b,i.video.playbackmethod=[h]);t&&(i.ext.gpid=t);return i}(e))),site:A(e[0],t),device:(0,o.Z)(t,”ortb2.device”),badv:e[0].params.badv||[],bcat:(0,o.Z)(t,”bcat”)||e[0].params.bcat||[],ext:{prebid:”7.52.0″},ats_envelope:e[0].params.lr_env};r&&(i.schain=r);e[0].auctionId&&(i.auctionId=e[0].auctionId);return function(e,t){const r=t.gdprConsent,i=(0,o.Z)(t,”gppConsent.gppString”),n=(0,o.Z)(t,”gppConsent.applicableSections”);i?(0,a.N)(e,”regs.ext.gpp”,i):((0,a.N)(e,”regs.ext.gdpr”,r&&r.gdprApplies?1:0),(0,a.N)(e,”user.ext.consent”,r&&r.consentString?r.consentString:””));n&&n.length>0&&(0,a.N)(e,”regs.ext.gpp_sid”,n);const d=(0,o.Z)(t,”uspConsent”);!i&&d&&(0,a.N)(e,”regs.ext.us_privacy”,d)}(i,t),i}(u,t);m.length&&(e.user={eids:m}),l.push({method:”POST”,url:s,data:e})}return l},interpretResponse:function(e,t){let r=[];const i=e.body;if(i.length>0&&i.forEach((e=>{e.cpm>0&&r.push(function(e){return{dealId:e.publisherDealId,requestId:e.callback_id,cpm:e.cpm,width:e.width,height:e.height,creativeId:e.creative_id,currency:u,netRevenue:m,ttl:300,ad:e.ad,meta:{advertiserDomains:e.adomain||[],mediaType:d.Mk}}}(e))})),i.seatbid){i.seatbid.reduce(((e,t)=>e.concat(t.bid)),[]).forEach((e=>r.push(function(e,t){const r=(0,p.sE)((0,o.Z)(t,”data.imp”)||[],(t=>t.id===e.impid));let i={dealId:e.dealid,requestId:r.id,cpm:e.price,width:r.video.w,height:r.video.h,creativeId:e.crid||e.adid,currency:u,netRevenue:m,mediaType:d.pX,ttl:l,vastXml:e.adm,meta:{advertiserDomains:e.adomain||[],mediaType:d.pX}};if(r.video.placement&&1!==r.video.placement){const e=c.Th.install({url:f,config:{width:i.width,height:i.height,vastTimeout:15e3,maxAllowedVastTagRedirects:5,allowVpaid:!0,autoPlay:!0,preload:!0,mute:!0},id:r.tagid,loaded:!1});e.setRender((function(e){e.renderer.push((()=>{const{id:t,config:r}=e.renderer;window.YMoutstreamPlayer(e,t,r)}))})),i.renderer=e}return i}(e,t))))}return r},getUserSyncs:function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:””;const n=[],o=”&gdpr=”.concat(r.gdprApplies?1:0),a=”&gdpr_consent=”.concat(encodeURIComponent(r.consentString||””)),d=”us_privacy=”.concat(encodeURIComponent(i)),s=””.concat(“https://ads.yieldmo.com/pbcas”,”?”).concat(d).concat(o).concat(a);return e.iframeEnabled?n.push({type:”iframe”,url:s+”&type=iframe”}):e.pixelEnabled&&n.push({type:”image”,url:s+”&type=image”}),n}};function w(e){return!!(0,o.Z)(e,”mediaTypes.banner”)}function Z(e){return!!(0,o.Z)(e,”mediaTypes.video”)}function k(){return document.querySelector(‘meta[name=”description”]’)&&document.querySelector(‘meta[name=”description”]’).getAttribute(“content”)||””}function N(e,t){return”object”==typeof(0,o.Z)(e,”userId”)?e.userId[t]:void 0}function S(e,t){let r={};return”function”==typeof e.getFloor&&(r=e.getFloor({currency:u,mediaType:t,size:”*”})),r.floor||e.params.bidfloor||e.params.bidFloor||0}function A(e,t){var r;let i={};const a=(0,n.parseUrl)((0,o.Z)(t,”refererInfo.page”));(0,n.isEmpty)(a)||(i.page=””.concat(a.protocol,”://”).concat(a.hostname).concat(a.pathname)),null!==(r=t.refererInfo)&&void 0!==r&&r.ref&&(i.ref=t.refererInfo.ref);const d=document.getElementsByTagName(“meta”).keywords;d&&d.content&&(i.keywords=d.content);const s=(0,o.Z)(e,”params.site”);return s&&Object.keys(s).filter((e=>(0,p.q9)(y,e))).forEach((e=>i[e]=s[e])),i}function T(e,t,r){if(t[r].length>e)return t[r]=t[r].substring(0,t[r].length-e),0;const i=e-t[r].length;return t[r]=””,i}function _(e,t){return””.concat(t?”https://ads-stg.yieldmo.com”:”https://ads.yieldmo.com”).concat(e)}(0,s.dX)(x),(0,i.z)(“yieldmoBidAdapter”)}},e=>{var t;t=55511,e(e.s=t)}]);
})(),pbjs.processQueue();



Motorola delivers a Samsung-like smartphone for a third of the price



Motorola recently unveiled this year’s Moto G Stylus 5G, the latest upscale entry in its popular lineup of budget phones. With the 2023 edition of the Stylus 5G, Motorola cut a few corners compared to last year’s model to deliver it at a more wallet-friendly lower price, becoming an even more tempting alternative to other phones in its class.



Even so, the Moto G Stylus 5G comes in at the top end of Motorola’s lineup of budget phones, competing against the more affordable LTE-only Moto G Stylus (2023), and even last year’s model, which still offers decent specs and is now available at a substantially reduced price. Motorola is also facing growing competition in the budget smartphone market from Google and Samsung, with the Pixel 7a and Galaxy A54 ranking among the best budget phones. With so many great choices, you may be wondering how Motorola’s latest stylus-equipped entry fares against those behemoths. Let’s take a look.

ANDROID POLICE VIDEO OF THE DAYSCROLL TO CONTINUE WITH CONTENT


Motorola recently unveiled this year’s Moto G Stylus 5G, the latest upscale entry in its popular lineup of budget phones. With the 2023 edition of the Stylus 5G, Motorola cut a few corners compared to last year’s model to deliver it at a more wallet-friendly lower price, becoming an even more tempting alternative to other phones in its class.

Even so, the Moto G Stylus 5G comes in at the top end of Motorola’s lineup of budget phones, competing against the more affordable LTE-only Moto G Stylus (2023), and even last year’s model, which still offers decent specs and is now available at a substantially reduced price. Motorola is also facing growing competition in the budget smartphone market from Google and Samsung, with the Pixel 7a and Galaxy A54 ranking among the best budget phones. With so many great choices, you may be wondering how Motorola’s latest stylus-equipped entry fares against those behemoths. Let’s take a look.

moto-g-stylus-5g-2023

Moto G Stylus 5G (2023)

The Moto G Stylus 5G (2023) is quite the all-rounder, particularly for a midrange phone at its price point. 5G connectivity, an included stylus, and solid internals aren’t the most eye-catching features, but they combine to make this a great value proposition at its $400 MSRP.

Brand
Motorola

SoC
Snapdragon 6 Gen 1

Display
6.6″ FHD+ LTPS 120Hz refresh rate

RAM
4GB

Storage
128GB / 256GB

Battery
5,000 mAh

Ports
USB-C, 3.5mm

Operating System
Android 13

Front camera
16MP f/2.45, 1.0µm

Rear cameras
50MP f/1.88, 2.0µm, 8MP f/2.2 1.12µm

Connectivity
5G sub6, Wi-Fi 5 (802.11ac), Bluetooth 5.1

Dimensions
162.83 x 73.77 x 9.19mm

Colors
Cosmic Black, Rose Champagne

Display type
LTPS

Weight
202g

Charging
20W wired

IP Rating
None

Price
$399

Micro SD card support
Yes

Stylus type
Passive

Security
Fingerprint reader

Pros

  • Fast 120Hz display
  • Included stylus with tight software integration
  • Great battery life
Cons

  • No wireless charging
  • Screen is a bit too dim for outdoor use
  • Lacks latest Wi-Fi and Bluetooth standards

Price & availability

moto-g-stylus-5g-2023-fixed-1-1

The Moto G Stylus 5G (2023) starts at $400 for the base model with 4GB of RAM and 128GB of storage, with a 6GB/256GB upgrade also available. It comes in Cosmic Black and Rose Champagne.

The phone went on sale earlier this month exclusively through Cricket. It’s expected to find its way to the rest of the usual carriers, including AT&T, T-Mobile, Metro by T-Mobile, Google Fi Wireless, UScellular, Consumer Cellular, Optimum Mobile, Spectrum Mobile, Xfinity Mobile, Boost Infinite and Boost Mobile.

The unlocked version became available in the US on June 16 at Amazon, Best Buy, and direct from Motorola.com. It’s also expected to land in Canada in the coming months, where it will be available on Motorola.ca and through select carriers and national retailers.

Design

Moto-G-Stylus-5G-side-view

Motorola’s phone designs have always leaned conservative, and the Moto G Stylus 5G is no exception. This year’s model borrows so many of its cues from its 2022 predecessor that you’d have a hard time telling them apart were it not for the new camera arrangement.

It’s the same kind of glass-and-plastic slab that will feel familiar to Motorola fans, and despite its plastic back, it feels just as substantive in the hand. Even though it’s in the same size range as the Pixel 7 Pro and larger 6.7-inch iPhone Plus and Pro Max models, it’s noticeably lighter without losing too much heft.

The bezels around the screen appear to have been slimmed down ever so slightly from last year’s model, although it’s not something you’ll notice unless you’re comparing the two phones side-by-side. There’s still a larger bezel along the top and bottom, but it feels a bit less distracting in everyday use.

Moto-G-Stylus-5G-bottom-ports

The ports and single downward-firing speaker are all housed on the bottom, which includes a 3.5mm headphone jack — a nice touch in an era when many smartphones are abandoning them. You’ll also find an expected USB-C port and the device’s eponymous stylus, which still pops in and out with a subtle but satisfying click, and maintains Motorola’s previous metallic design.

This makes for some cleaner edges all around, and aside from the discrete volume and power buttons on the right and the combo SIM and microSD card tray opening on the left, there’s nothing to mar the edges of the phone.

Moto-G-Stylus-5G-SIM-and-micro-SD-card-tray

The side button arrangement follows the Samsung S-series style of placing the power button below the volume buttons, which takes a bit of getting used to if you’re coming over from a Pixel, as the buttons feel very similar.

However, this placement actually makes much more sense in the case of the Moto G Stylus, as that side button pulls double duty as the device’s fingerprint sensor. Motorola’s design puts it in a location where most folks would naturally rest their finger or thumb when holding the phone, such that unlocking the device becomes nearly effortless. Oddly, though, the initial setup screen told me to look for the fingerprint sensor on the back.

Moto-G-Stylus-5G-fingerprint-setup

However, it’s the rear of the Moto G Stylus where you’ll find the most significant change over last year’s model, with a rectangular camera bump that now houses just two lenses and an LED flash. I think it’s a more elegant and understated look from last year’s rounded bump, especially since Motorola has matched the colors to blend in with the rear finish.

Display

Moto-G-Stylus-5G

Last year, Motorola took things up a notch with the 5G version of its G Stylus by boosting the screen refresh rate to 120HzThat’s one corner the company thankfully hasn’t cut with this year’s 5G model. While the more affordable LTE-only Moto G Stylus lags a bit behind with its 90Hz display, the fast 120Hz panel on the Moto G Stylus 5G provides a buttery smooth experience that sets it apart from most other phones in its price range.

Of course, part of Motorola’s logic for that decision is likely the inclusion of the stylus. Faster refresh rates on screens make a huge difference when it comes to providing a lag-free drawing, sketching, and note-taking experience. The Moto G Stylus 5G does a fantastic job in this area, providing a smooth experience that rivals the considerably more expensive Galaxy S23 Ultra and S Pen combo.

Sadly, while it’s a nice bonus, the faster refresh rate is the only premium aspect of the Moto G Stylus 5G display. Otherwise, it’s a standard LTPS LCD screen with a respectable 2460 x 1080 FHD+ resolution. Motorola has also shrunk it slightly this year, dropping the screen size down to 6.6 inches from last year’s 6.8, although that’s not a huge loss on a 1080p screen.

Moto-G-Stylus-5G-display

That’s not to say it isn’t a good screen, but it won’t hold a candle to its OLED competitors for deep blacks and high contrast for games and movies. Nevertheless, it still provides rich colors that look great in the proper lighting, but that’s also where the Moto G Stylus 5G’s display starts to show its limitations.

The screen doesn’t get bright enough to use outdoors without some effort. During a walkabout on a sunny day, I found myself squinting at the screen and often having to shade it with my hands to make out what was on it. The typically glossy finish doesn’t help in this area, either; adding a matte screen protector might improve things, but that wasn’t something I had a chance to try.

Software

Moto-G-Stylus-5G-removing-stylus

As expected, the Moto G Stylus 5G ships with Android 13 out of the box. Sadly, even though Motorola now promises three OS upgrades and four years of bi-monthly patches for its flagship devices like the Edge+ and Razr+, its G-series phones have been left out. You’ll get Android 14 later this year, but that will be the end of the road for major updates; after that, you’re guaranteed only three years of security updates. That’s enough to keep your phone safe and protected for quite a while as long as you don’t mind missing out on the latest Android features that will come down the road.

Rather than layering on its own UI, Motorola stays reasonably faithful to the stock Android experience. You’ll find a few customizations to simplify the setup process and walk you through personalizing your device with custom wallpapers, gestures, along with other unique features like Peek Display for glancing at notifications from the lock screen, and Attentive Display, which keeps your screen from dimming while you’re looking at it.

Moto-G-Stylus-5G-writing-with-stylus

Of course, the most unique aspect of the Moto G Stylus 5G is the stylus, which is tightly integrated into Motorola’s Android 13 experience. Popping the stylus out of the bottom of the phone immediately presents a sidebar with quick access to stylus-powered apps like Moto Note, Google Keep Notes, and Handwriting. This list of shortcuts can also be customized, so you can add your own entries here and use any app installed on your phone, not just apps designed for the stylus.

Removing the stylus when the phone is locked will take you directly to Moto Note by default, although you can switch this to Keep Notes if you prefer, or disable that feature entirely. You’ll also get a reminder if you leave the stylus out of its slot for too long, and the phone can also keep track of the location where it was last removed to help you track it down in case you leave it behind. Just keep in mind, you’ll need to grant location permission to the Moto Notes app for this to work.

Using the stylus is both pleasant and even a bit whimsical. Thanks to the 120Hz screen, there’s effectively zero lag, so it feels as natural as scribbling on a piece of paper — an experience that’s enhanced by the scratching sounds the Moto G Stylus makes as you move it across the screen. You can turn this off if you find it more annoying than helpful, but I found it quite enjoyable.

Beyond freeform drawing, the Moto G Stylus 5G also allows you to use the stylus to write in text fields in nearly any app, using handwriting recognition to turn that into regular text. Moto Notes will also take hand-drawn shapes like circles, squares, and even tetrahedrons and turn them into their proper geometric representations — a great way to produce professional-looking diagrams and flow charts.

Performance

Moto-G-Stylus-5G-speedtest

The 2023 Moto G Stylus 5G packs in a Snapdragon 6 Gen 1 with an Adreno GPU, which gives it a modest performance boost over last year’s model, which featured its predecessor, the Snapdragon 695. According to benchmarks, that should give it about a 20% performance increase overall and a 40% increase in gaming.

In practical terms, the Moto G Stylus 5G was snappy and responsive throughout and even handled more demanding games like Asphalt 9, Genshin Impact, and PUBG Mobile, albeit all at medium-quality settings. The 120Hz screen also offered the smoothest gaming performance we’ve seen on a budget smartphone, although you can’t dial the settings up to take full advantage of it.

Of course, a phone in this price range will never rival flagships like Samsung’s Galaxy S23 lineup or Apple’s iPhone 14 Pro, which are powered by bleeding-edge processors like the Snapdragon 8 Gen 2 or Apple A16. However, the Moto G Stylus 5G delivers impressive bang for the buck and stands out as a solid performer in its class.

This also carries over into its 5G capabilities. While you won’t find support for the fastest mmWave 5G speeds here, the Moto G Stylus 5G fully supports the faster mid-band and C-band 5G frequencies you’re much more likely to encounter. On Bell’s 5G+ network in Toronto, I averaged 5G download speeds of 450Mbps and reached peak speeds of just under 700Mbps. That lines up with what I get on my iPhone 14 Pro Max and Pixel 6 Pro.

The other wireless features in the Moto G Stylus 5G are a bit more pedestrian by comparison. You only get dual-band Wi-Fi 5 (802.11ac) rather than the newer Wi-Fi 6 or 6e, along with Bluetooth 5.1 with support for standard AAC and aptX, plus the aptX HD and Adaptive audio codecs. A Dolby Atmos app also powers a smart audio mode for a more immersive sound stage that works surprisingly well with the right headphones.

Battery life

Moto-G-Stylus-5G-stylus

In some ways, Motorola has done itself a disservice with its battery-focused Moto G Power phones, which lead many folks to believe the rest of its devices suffer in comparison. However, Motorola commends itself well by offering impressive battery life across almost its entire lineup, and the Moto G Stylus 5G preserves that tradition.

The 5,000 mAh battery is already more substantial than what you’ll find in most budget phones, and the new Snapdragon 6 Gen 1 is more power efficient. After spending nearly two weeks with the phone, I can confidently say this one should easily get you through two days of typical use without breaking a sweat. For me, that was a combination of surfing and email, snapping photos, casual gaming, and streaming about an hour or two of videos from YouTube and Plex each day. Pushing it with more serious games will make more of a dent, but even then, unless you’re parked in front of Genshin Impact for three or four hours, all-day battery life won’t be a problem.

Even after a day when I deliberately pushed the phone hard with serious gaming and lengthy video streaming sessions, I still went to bed with a comfortable 18% charge.

That’s a good thing, as you don’t get especially fast charging with the Moto G Stylus 5G. Although the fact that it ships with a charger at all is a bonus these days, it’s only a 10W brick, which takes 2–3 hours to juice up the 5,000 mAh battery. Fortunately, faster charging is possible — up to 20W — but you’ll need to supply your own charger for that. Motorola sells its 18W “TurboPower” adapter, but the Moto G Stylus 5G will display TurboPower-certified charging from any USB-PD adapter that provides enough power.

Camera

Moto-G-Stylus-5G-rear-cameras

Motorola changed up the camera array slightly on this year’s Moto G Stylus 5G, eliminating the 2MP depth sensor to go with only the more common wide and ultrawide cameras. However, those two shooters remain largely unchanged from last year; you get the same 50-megapixel (MP) f/1.9 wide and 8MP f/2.2 ultrawide, which now doubles as the macro lens. The selfie camera is also the same as before at 16MP.

Cameras have never been the biggest selling point for Moto phones. They’re absolutely competent but rarely anything special, and the Moto G Stylus 5G doesn’t seem to do much to change that tradition.

To be fair, most midrange smartphones set a pretty low bar, and it’s not reasonable to expect a sub-$500 phone to compete with the premium flagships, which nearly always use cutting-edge camera technology to distinguish themselves from their lower-priced siblings. Entries like Google’s Pixel 7a have raised the standards thanks to Google’s prowess in computational photography, but that mostly remains an outlier.

All this is to say that, with the right expectations, the Moto G Stylus 5G takes suitable photos that won’t disappoint under most conditions. There’s a Night Mode that performs well in lower light conditions but doesn’t capture the same detail-rich photos you’ll find on more expensive phones, and there’s also a Portrait Mode that works competently despite the omission of the discrete depth sensor on this year’s model.

One nice touch is the “Pro” mode in Motorola’s Camera app for those who prefer more granular control over every possible setting, from white balance to shutter speed and ISO. This can help those with more photographic knowledge eke out better photos when working under unusual lighting conditions, but in most cases, the automatic settings work pretty well.

Competition

Since the most compelling reason to opt for the Moto G Stylus 5G is the stylus, it puts the phone largely in a class of its own. If you’re not looking for a stylus, even Motorola has other options worth considering, not to mention a comprehensive collection of other great budget phones.

Among stylus-equipped phones, the $200 LTE Moto G Stylus (2023) is a very affordable stylus pick if you don’t need 5G, but just be aware that you’re sacrificing a lot more than just faster cellular connectivity; you’ll also be stuck with a smaller 90Hz 720p display and a weaker MediaTek Helio G85 CPU.

Similarly, TCL’s Stylus 5G delivers 5G connectivity and an FHD+ screen, but makes similar compromises to get to a lower price. The refresh rate is only 60Hz, which makes a noticeable difference when working with a stylus, and the software is considerably less polished than what Motorola offers.

samsung-galaxy-s23-ultra-review-set-1-5

Of course, if you’re willing to splurge to get a stylus phone, Samsung’s flagship Galaxy S23 Ultra will run circles around the Moto G Stylus 5G, but it also comes in at three times the price. You’re getting a lot more for that investment, of course, including some of the best cameras on any smartphone in existence and an insanely powerful custom Snapdragon 8 Gen 2 chip that can handle anything you throw at it.

On the other hand, it’s also worth asking yourself if you really need a stylus. If the lack of a stylus isn’t a deal-breaker, then Google’s Pixel 7a offers significantly more horsepower, thanks to Google’s Tensor G2 chip, plus a camera system that’s far superior. The Pixel 7a’s 90Hz display is slower than Moto’s 120Hz, but that’s a fair tradeoff since the 120Hz is primarily to support drawing with the stylus rather than high-performance gaming.

Should you buy it?

Moto-G-Stylus-5G-held-in-front-of-laptop

The entire experience of using the stylus on the Moto G Stylus 5G is both well thought out and intuitive, making it easily the best reason to opt for this phone over any other in its price range. The 120Hz screen is also compelling, but it’s mostly there to power the writing experience; its usefulness for gaming is hampered a bit by the lower-specced Snapdragon 6 Gen 1 chip.

Even if you’re not entirely sold on the idea of a stylus, the Moto G Stylus 5G is worth a serious look for anybody who does a lot of sketching or note-taking on their phone. The stylus isn’t a mandatory feature — it stays nicely tucked out of the way and can be safely ignored when you don’t need it — but it is by far the best reason to opt for the Moto G Stylus 5G over other phones in this price range. You’ll likely find it extremely handy if you’re the sort of person who is always reaching for a pen and notepad.

moto-g-stylus-5g-2023

Moto G Stylus 5G (2023)

The Moto G Stylus 5G (2023) is quite the all-rounder, particularly for a midrange phone at its price point. 5G connectivity, an included stylus, and solid internals aren’t the most eye-catching features, but they combine to make this a great value proposition at its $400 MSRP.






Next Post

Leave a Reply

Your email address will not be published. Required fields are marked *

Get more stuff like this
in your inbox

Subscribe to our mailing list and get interesting stuff and updates to your email inbox.