The Best Websites for Watching Free Documentaries (2024)

")),[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:o.adUnitCode}),t.push(e)}else(0,p.logError)("Rubicon: bidRequest undefined at index position:".concat(i),a,e);var c,l;return t}),[]).sort(((e,t)=>(t.cpm||0)-(e.cpm||0))),l=null===(r=e.component_auction_config)||void 0===r?void 0:r.map((e=>({config:e,bidId:e.bidId})));return l?{bids:c,fledgeAuctionConfigs:l}:c},getUserSyncs:function(e,t,r,i,n){if(!I&&e.iframeEnabled){let e={};var o;if(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)),null!=n&&n.gppString)e.gpp=n.gppString,e.gpp_sid=null===(o=n.applicableSections)||void 0===o?void 0:o.toString();return e=Object.keys(e).length?"?".concat((0,p.formatQS)(e)):"",I=!0,{type:"iframe",url:"https://".concat(b.syncHost||"eus",".rubiconproject.com/usync.html")+e}}}};function h(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 _(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={...{align:"center",position:"append",closeButton:!1,label:void 0,collapse:!0},...e.renderer.getConfig()};e.renderer.push((()=>{window.MagniteApex.renderAd({width:e.width,height:e.height,vastUrl:e.vastUrl,placement:{attachTo:t,align:r.align,position:r.position},closeButton:r.closeButton,label:r.label,collapse:r.collapse})}))}function A(e,t){let r=e.params;if(t===d.G_){let t=[];return r.video&&r.video.playerWidth&&r.video.playerHeight?t=[r.video.playerWidth,r.video.playerHeight]:Array.isArray((0,m.A)(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.A)(e,"mediaTypes.banner.sizes")?i=j(e.mediaTypes.banner.sizes):Array.isArray(e.sizes)&&e.sizes.length>0?i=j(e.sizes):(0,p.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 j(e){return(0,p.parseSizesInput)(e).reduce(((e,t)=>{let r=parseInt(x[t],10);return r&&e.push(r),e}),[])}function k(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=[];if(function(e){let t=void 0!==(0,m.A)(e,"mediaTypes.".concat(d.G_)),r=void 0!==(0,m.A)(e,"mediaTypes.".concat(d.D4)),i=void 0!==(0,m.A)(e,"params.bidonmultiformat"),n="object"!=typeof(0,m.A)(e,"params.video");return!(!t||!i)||(r&&n&&(t=!1),t&&n&&(0,u.J)(e,"params.video",{}),t)}(e)){if(-1===["outstream","instream"].indexOf((0,m.A)(e,"mediaTypes.".concat(d.G_,".context"))))return t&&(0,p.logError)("Rubicon: mediaTypes.video.context must be outstream or instream"),r;if(A(e,d.G_).length<2)return t&&(0,p.logError)("Rubicon: could not determine the playerSize of the video"),r;t&&(0,p.logMessage)("Rubicon: making video request for adUnit",e.adUnitCode),r.push(d.G_)}if(void 0!==(0,m.A)(e,"mediaTypes.".concat(d.s6))&&r.push(d.s6),void 0!==(0,m.A)(e,"mediaTypes.".concat(d.D4))){if(0===A(e,d.D4).length)return t&&(0,p.logError)("Rubicon: could not determine the sizes for banner request"),r;t&&(0,p.logMessage)("Rubicon: making banner request for adUnit",e.adUnitCode),r.push(d.D4)}return r}function S(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,p.logError)("Rubicon: required schain params missing"),t):t}function C(e,t){return"rp_schain"===e?"rp_schain=".concat(t):"".concat(e,"=").concat(encodeURIComponent(t))}var I=!1;(0,s.a$)(y),(0,i.E)("rubiconBidAdapter")},1e3:(e,t,r)=>{r.d(t,{Cf:()=>a,S3:()=>n,Tb:()=>o,WR:()=>s,e4:()=>c,pS:()=>p,qN:()=>d,yB:()=>u,zt:()=>i});const i=["request","imp","bidResponse","response"],[n,o,s,a]=i,[d,c]=["default","pbs"],l=new Set(i);const{registerOrtbProcessor:p,getProcessors:u}=function(){const e={};return{registerOrtbProcessor(t){let{type:r,name:n,fn:o,priority:s=0,dialects:a=[d]}=t;if(!l.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,[58498,97247,47618,51085],(()=>{return t=99293,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[84258],{95282:(e,t,n)=>{var i=n(7873),r=n(91069),o=n(57377),a=n(71371),s=n(43272);const p=["inScreen","inImage","inArticle","inBanner"],d={[a.D4]:"display",[a.G_]:"video"},c="fixed",u="mobile",l="unknown",m=()=>{const e=navigator.connection||navigator.mozConnection||navigator.webkitConnection||{};switch(e.type||e.effectiveType){case"wifi":case"ethernet":return c;case"cellular":case"wimax":return u;default:return/iPad|iPhone|iPod/.test(navigator.userAgent)||/android/i.test(navigator.userAgent)?l:c}};function g(e){return!!e.mediaTypes&&!!e.mediaTypes.video}function h(e){const t=e.params;return!!t.publisherId&&!!t.adUnitId&&p.indexOf(t.placement)>-1}function y(e){var t;const n=e.params,i=(0,r._map)(Object.keys(e.mediaTypes),(function(e){return d[e]})),o={id:e.bidId,transactionId:null===(t=e.ortb2Imp)||void 0===t||null===(t=t.ext)||void 0===t?void 0:t.tid,sizes:e.sizes,supplyTypes:i,adUnitId:n.adUnitId,adUnitCode:e.adUnitCode,geom:S(e.adUnitCode),placement:n.placement,requestCount:e.bidderRequestsCount||1};return g(e)&&(o.videoParams=f(e)),o}function f(e){const t=e.mediaTypes.video||{};return t.playerSize&&(t.w=t.playerSize[0][0],t.h=t.playerSize[0][1]),t}function b(e){const t="display"===(n=e.mediaType)?a.D4:"video"===n?a.G_:n;var n;const i={requestId:e.bidId,cpm:e.price,width:e.width,height:e.height,creativeId:e.creativeId,currency:e.currency,netRevenue:!0,mediaType:t,ttl:e.ttl,nurl:e.nurl,meta:{advertiserDomains:e&&e.adomain&&e.adomain.length>0?e.adomain:[]}};return t===a.G_?i.vastXml=e.content:i.ad=e.content,i}function v(){const e=(()=>{try{const e=performance.getEntriesByType("navigation")[0];return Math.round(e.responseStart-e.startTime)}catch(e){try{const e=performance.timing;return Math.round(e.responseStart-e.fetchStart)}catch(e){return 0}}})();return e>=0&&e<=performance.now()?e:0}function S(e){const t=document.getElementById(e);if(t){const e=window.scrollY,{top:n,left:i,width:r,height:o}=t.getBoundingClientRect();return{scrollY:e,top:n,left:i,width:r,height:o,viewport:{width:window.innerWidth,height:window.innerHeight}}}}const C={code:"seedtag",gvlid:157,aliases:["st"],supportedMediaTypes:[a.D4,a.G_],isBidRequestValid:e=>g(e)?function(e){const t=f(e);let n=!!e.params.publisherId&&!!e.params.adUnitId&&g(e)&&!!t.playerSize&&(0,r.isArray)(t.playerSize)&&t.playerSize.length>0;return"inStream"===e.params.placement?n&&"instream"===t.context:n&&"outstream"===t.context&&function(e){return!!e.mediaTypes&&!!e.mediaTypes.banner}(e)&&h(e)}(e):h(e),buildRequests(e,t){var n;const i={url:t.refererInfo.page,publisherToken:e[0].params.publisherId,cmp:!!t.gdprConsent,timeout:t.timeout,version:"8.38.0",connectionType:m(),auctionStart:t.auctionStart||Date.now(),ttfb:v(),bidRequests:(0,r._map)(e,y)};if(i.cmp){const e=t.gdprConsent.gdprApplies;void 0!==e&&(i.ga=e),i.cd=t.gdprConsent.consentString}t.uspConsent&&(i.uspConsent=t.uspConsent),e[0].schain&&(i.schain=e[0].schain);let o=s.$W.getConfig("coppa");o&&(i.coppa=o),t.gppConsent?i.gppConsent={gppString:t.gppConsent.gppString,applicableSections:t.gppConsent.applicableSections}:null!==(n=t.ortb2)&&void 0!==n&&null!==(n=n.regs)&&void 0!==n&&n.gpp&&(i.gppConsent={gppString:t.ortb2.regs.gpp,applicableSections:t.ortb2.regs.gpp_sid});return{method:"POST",url:"https://s.seedtag.com/c/hb/bid",data:JSON.stringify(i)}},interpretResponse:function(e){const t=e.body;return t&&t.bids&&(0,r.isArray)(t.bids)?(0,r._map)(t.bids,(function(e){return b(e)})):[]},getUserSyncs(e,t){const n=t[0];if(e.iframeEnabled&&n){const e=n.body.cookieSync;return e?[{type:"iframe",url:e}]:[]}return[]},onTimeout(e){const t=function(e){let t="";if((0,r.isArray)(e)&&e[0]&&(0,r.isArray)(e[0].params)&&e[0].params[0]){const n=e[0].params[0],i=e[0].timeout;t="?publisherToken="+n.publisherId+"&adUnitId="+n.adUnitId+"&timeout="+i}return"https://s.seedtag.com/se/hb/timeout"+t}(e);(0,r.triggerPixel)(t)},onBidWon:function(e){e&&e.nurl&&(0,r.triggerPixel)(e.nurl)}};(0,o.a$)(C),(0,i.E)("seedtagBidAdapter")}},e=>{e.O(0,[51085],(()=>{return t=95282,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[45496],{25862:(e,o,t)=>{var n=t(7873),r=t(91069),d=t(16833),i=t(16916),a=t(12938),u=t(45569),c=t(2339);const l=(0,a.vM)({moduleType:u.fW,moduleName:"sharedId"}),s="cookie",m="html5",f="_pubcid_optout",g="PublisherCommonId";function p(e,o){if(o===s)return l.getCookie(e);if(o===m&&l.hasLocalStorage()){const o=l.getDataFromLocalStorage("".concat(e,"_exp"));if(!o)return l.getDataFromLocalStorage(e);if(new Date(o).getTime()-Date.now()>0)return l.getDataFromLocalStorage(e)}}function I(e,o){return function(t,n){o?b(o,e,(()=>{t(n()||e)}))():t(e)}}function b(e){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",t=arguments.length>2?arguments[2]:void 0;if(!e)return;const n=(0,r.parseUrl)(e);n.search.id=encodeURIComponent("pubcid:"+o);const d=(0,r.buildUrl)(n);return function(){(0,r.triggerPixel)(d,t)}}function v(){return!!(l.cookiesAreEnabled()&&p(f,s)||l.hasLocalStorage()&&p(f,m))}const h={name:"sharedId",aliasName:"pubCommonId",gvlid:i.B1,decode(e,o){if(v())return void(0,r.logInfo)("PubCommonId decode: Has opted-out");(0,r.logInfo)(" Decoded value PubCommonId "+e);return{pubcid:e}},getId:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>2?arguments[2]:void 0;if(v())return void(0,r.logInfo)("PubCommonId: Has opted-out");if(i.et.getCoppa())return void(0,r.logInfo)("PubCommonId: IDs not provided for coppa requests, exiting PubCommonId");const{params:{create:t=!0,pixelUrl:n}={}}=e;let d=o;if(!d){try{"object"==typeof window[g]&&(d=window[g].getId())}catch(e){}d||(d=t&&(0,r.hasDeviceAccess)()?(0,r.generateUUID)():void 0)}return{id:d,callback:I(d,n)}},extendId:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>2?arguments[2]:void 0;if(v())return(0,r.logInfo)("PubCommonId: Has opted-out"),{id:void 0};if(i.et.getCoppa())return void(0,r.logInfo)("PubCommonId: IDs not provided for coppa requests, exiting PubCommonId");const{params:{extend:t=!1,pixelUrl:n}={}}=e;if(t){if(n){return{callback:b(n,o)}}return{id:o}}},domainOverride:(0,c.w)(l,"sharedId"),eids:{pubcid:{source:"pubcid.org",atype:1}}};(0,d.bz)("userId",h),(0,n.E)("sharedIdSystem")}},e=>{e.O(0,[12764,51085],(()=>{return o=25862,e(e.s=o);var o}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[28746],{27454:(e,t,n)=>{var r=n(7873),i=n(91069),o=n(70433),a=n(57377),d=n(12938);const s="teads",c=12,u=11,p=0,l=22,m=(0,d.vM)({bidderCode:s}),g={code:s,gvlid:132,supportedMediaTypes:["video","banner"],isBidRequestValid:function(e){let t=!1;if(void 0!==e.params){let n=w((0,i.getValue)(e.params,"placementId")),r=w((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){var n,r,i,a,d,s;const m=e.map(b),g=window.top,w={referrer:v(t),pageReferrer:document.referrer,pageTitle:I().slice(0,300),pageDescription:f().slice(0,300),networkBandwidth:(q=window.navigator,q&&q.connection&&q.connection.downlink>=0?q.connection.downlink.toString():""),timeToFirstByte:h(window),data:m,deviceWidth:screen.width,screenOrientation:null===(n=screen.orientation)||void 0===n?void 0:n.type,historyLength:null===(r=g.history)||void 0===r?void 0:r.length,viewportHeight:null===(i=g.visualViewport)||void 0===i?void 0:i.height,viewportWidth:null===(a=g.visualViewport)||void 0===a?void 0:a.width,hardwareConcurrency:null===(d=g.navigator)||void 0===d?void 0:d.hardwareConcurrency,deviceMemory:null===(s=g.navigator)||void 0===s?void 0:s.deviceMemory,hb_version:"8.38.0",...y(e),...S(e)};var q;const T=e[0];T.schain&&(w.schain=T.schain);let A=t.gdprConsent;if(t&&A){let e="boolean"==typeof A.gdprApplies,t="string"==typeof A.consentString,n=e?function(e,t){let n=c;e?t&&!t.isServiceSpecific&&(n=u):n=p;return n}(A.gdprApplies,A.vendorData):l;w.gdpr_iab={consent:t?A.consentString:"",status:n,apiVersion:A.apiVersion}}t&&t.uspConsent&&(w.us_privacy=t.uspConsent);const B=(0,o.A)(T,"ortb2.device.sua");B&&(w.userAgentClientHints=B);const k=(0,o.A)(t,"ortb2.regs.ext.dsa");k&&(w.dsa=k);return{method:"POST",url:"https://a.teads.tv/hb/bid-request",data:JSON.stringify(w)}},interpretResponse:function(e,t){const n=[];return(e=e.body).responses&&e.responses.forEach((function(e){var t;const r={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&&(r.dealId=e.dealId),null!=e&&null!==(t=e.ext)&&void 0!==t&&t.dsa&&(r.meta.dsa=e.ext.dsa),n.push(r)})),n}};function y(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],a=(0,o.A)(e,"0.userId.".concat(i));a&&(n[r]=a)}return n}function v(e){let t="";return e&&e.refererInfo&&e.refererInfo.page&&(t=e.refererInfo.page),t}function I(){try{const e=window.top.document.querySelector('meta[property="og:title"]');return window.top.document.title||e&&e.content||""}catch(e){const t=document.querySelector('meta[property="og:title"]');return document.title||t&&t.content||""}}function f(){let e;try{e=window.top.document.querySelector('meta[name="description"]')||window.top.document.querySelector('meta[property="og:description"]')}catch(t){e=document.querySelector('meta[name="description"]')||document.querySelector('meta[property="og:description"]')}return e&&e.content||""}function h(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 b(e){var t;const n={};let r=(0,i.getValue)(e.params,"placementId"),a=(0,i.getValue)(e.params,"pageId");const d=(0,o.A)(e,"ortb2Imp.ext.gpid"),s=(0,o.A)(e,"mediaTypes.video.plcmt");return n.sizes=function(e){return(0,i.parseSizesInput)(function(e){let t=(0,o.A)(e,"mediaTypes.video.playerSize"),n=(0,o.A)(e,"mediaTypes.video.sizes"),r=(0,o.A)(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),n.bidId=(0,i.getBidIdParameter)("bidId",e),n.bidderRequestId=(0,i.getBidIdParameter)("bidderRequestId",e),n.placementId=parseInt(r,10),n.pageId=parseInt(a,10),n.adUnitCode=(0,i.getBidIdParameter)("adUnitCode",e),n.transactionId=(null===(t=e.ortb2Imp)||void 0===t||null===(t=t.ext)||void 0===t?void 0:t.tid)||"",d&&(n.gpid=d),s&&(n.videoPlcmt=s),n}function w(e){return parseInt(e)>0}function S(e){const t=(0,o.A)(e,"0.userId.teadsId");if(t)return{firstPartyCookieTeadsId:t};if(m.cookiesAreEnabled(null)){const e=m.getCookie("_tfpvi",null);if(e)return{firstPartyCookieTeadsId:e}}return{}}(0,a.a$)(g),(0,r.E)("teadsBidAdapter")}},e=>{e.O(0,[51085],(()=>{return t=27454,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[98282],{26504:(e,t,r)=>{var n=r(7873),i=r(91069),o=r(71371),a=r(57377),s=r(43272),d=r(12938),l=r(76568);const c="triplelift";let u=null,p=null;const m=(0,d.vM)({bidderCode:c}),f={gvlid:28,code:c,supportedMediaTypes:[o.D4,o.G_],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;let n={},{schain:o}=e[0];const a=function(e){const t={},r={},n={},o=e.ortb2||{},a=function(){const e=m.getDataFromLocalStorage("opecloud_ctx");if(!e)return null;try{return JSON.parse(e)}catch(e){return(0,i.logError)("Triplelift: error parsing JSON: ",e),null}}(),s=Object.assign({},o.site),d=Object.assign({},o.user);if(a){d.data=d.data||[];try{d.data.push({name:"www.1plusx.com",ext:a})}catch(e){(0,i.logError)("Triplelift: error adding 1plusX segments: ",e)}}h(r,s),h(n,d),(0,i.isEmpty)(r)||(t.context=r);(0,i.isEmpty)(n)||(t.user=n);return t}(t);n.imp=e.map((function(e,t){let r={id:t,tagid:e.params.inventoryCode,floor:y(e)};return g(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||(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&&!b(e)&&(r.banner={format:O(e.sizes)}),(0,i.isEmpty)(e.ortb2Imp)||(r.fpd=function(e){const t={},r={};h(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 s=[...x([e[0]]),...E([e[0]]),...I([e[0]]),...S([e[0]]),..._(e[0])];s.length>0&&(n.user={ext:{eids:s}});let d=function(e,t){let r={};(0,i.isEmpty)(e)||(r.schain={...e});(0,i.isEmpty)(t)||(r.fpd={...t});return r}(o,a);(0,i.isEmpty)(d)||(n.ext=d);null!=t&&null!==(r=t.ortb2)&&void 0!==r&&null!==(r=r.regs)&&void 0!==r&&r.gpp&&(n.regs=Object.assign({},t.ortb2.regs));null!=t&&t.ortb2&&(n.ext.ortb2=Object.assign({},t.ortb2));return n}(e,t);if(r=(0,l.v)(r,"lib","prebid"),r=(0,l.v)(r,"v","8.38.0"),t&&t.refererInfo){let e=t.refererInfo.page;r=(0,l.v)(r,"referrer",e)}return t&&t.timeout&&(r=(0,l.v)(r,"tmax",t.timeout)),t&&t.gdprConsent&&(u=void 0===t.gdprConsent.gdprApplies||t.gdprConsent.gdprApplies,r=(0,l.v)(r,"gdpr",u.toString()),void 0!==t.gdprConsent.consentString&&(p=t.gdprConsent.consentString,r=(0,l.v)(r,"cmp_cs",p))),t&&t.uspConsent&&(r=(0,l.v)(r,"us_privacy",t.uspConsent)),t&&t.fledgeEnabled&&(r=(0,l.v)(r,"fledge",t.fledgeEnabled)),!0===s.$W.getConfig("coppa")&&(r=(0,l.v)(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,n=e.body.bids||[];const o=e.body.paapi||[];if(n=n.map((e=>function(e,t){let r={},n=t.width||1,i=t.height||1,o=t.deal_id||"",a=t.crid||"",s=e.bids[t.imp_id];0!=t.cpm&&t.ad&&(r={requestId:s.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:{}},g(s)&&"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&&(g(s)&&"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))),o.length>0){const e=o.map((e=>({bidId:r.bids[e.imp_id].bidId,config:e.auctionConfig})));return(0,i.logMessage)("Response with FLEDGE:",{bids:n,fledgeAuctionConfigs:e}),{bids:n,fledgeAuctionConfigs:e}}return n},getUserSyncs:function(e,t,r,n,i){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,l.v)(a,"px",1),a=(0,l.v)(a,"src","prebid")),(null!==p||u)&&(a=(0,l.v)(a,"gdpr",u),a=(0,l.v)(a,"cmp_cs",p)),n&&(a=(0,l.v)(a,"us_privacy",n)),i&&(i.gppString&&(a=(0,l.v)(a,"gpp",i.gppString)),i.applicableSections&&0!==i.applicableSections.length&&(a=(0,l.v)(a,"gpp_sid",i.applicableSections.filter((e=>Number.isInteger(e))).join(",")))),[{type:o,url:a}]}};function g(e){return v(e)&&(b(e)||function(e){return v(e)&&"outstream"===e.mediaTypes.video.context.toLowerCase()}(e))}function b(e){return v(e)&&"instream"===e.mediaTypes.video.context.toLowerCase()}function v(e){return e.mediaTypes.video&&e.mediaTypes.video.context}function y(e){let t=null;if("function"==typeof e.getFloor)try{const r=e.getFloor({currency:"USD",mediaType:g(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 h(e,t){(0,i.isEmpty)(t)||Object.keys(t).forEach((r=>{null!=t[r]&&(e[r]=t[r])}))}function x(e){return C(e,"tdid","adserver.org","TDID")}function E(e){return C(e,"idl_env","liveramp.com","idl")}function I(e){return C(e,"criteoId","criteo.com","criteoId")}function S(e){return C(e,"pubcid","pubcid.org","pubcid")}function _(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 C(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 O(e){return e.filter(w).map((function(e){return{w:e[0],h:e[1]}}))}function w(e){return 2===e.length&&"number"==typeof e[0]&&"number"==typeof e[1]}(0,a.a$)(f),(0,n.E)("tripleliftBidAdapter")}},e=>{e.O(0,[14577,51085],(()=>{return t=26504,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[68907,56293],{85263:(e,t,s)=>{var i=s(7873),r=s(91069),o=s(16833),n=s(12938),a=s(45569),l=s(84259),d=s(50646);const c="uid2",u=l.kz,p="PrebidJS-".concat("8.38.0","-UID2Module-").concat(u),h="UID2: ";function g(e,t){return function(){for(var s=arguments.length,i=new Array(s),r=0;r{s.d(t,{E0:()=>g,kz:()=>a,wq:()=>h});var i=s(54705),r=s(7873),o=s(68044),n=s(91069);const a="1.1";function l(e){return!!("object"==typeof e&&null!==e&&e.advertising_token&&e.identity_expires&&e.refresh_from&&e.refresh_token&&e.refresh_expires)}class d{constructor(e,t,s,i){this._baseUrl=e.baseUrl,this._clientVersion=t,this._logInfo=s,this._logWarn=i}createArrayBuffer(e){const t=new Uint8Array(e.length);for(let s=0;s{s=e,i=t}));return this._logInfo("Sending refresh request",e),(0,o.RD)(t,{success:t=>{try{if(e.refresh_response_key){this._logInfo("Decrypting refresh API response");const r=this.createArrayBuffer(atob(t));window.crypto.subtle.importKey("raw",this.createArrayBuffer(atob(e.refresh_response_key)),{name:"AES-GCM"},!1,["decrypt"]).then((e=>{this._logInfo("Imported decryption key"),window.crypto.subtle.decrypt({name:"AES-GCM",iv:r.slice(0,12),tagLength:128},e,r.slice(12)).then((e=>{const t=String.fromCharCode(...new Uint8Array(e));this._logInfo("Decrypted to:",t);const r=JSON.parse(t),o=this.ResponseToRefreshResult(r);"string"==typeof o?i(o):s(o)}),(e=>this._logWarn("Call to UID2 API failed",e)))}),(e=>this._logWarn("Call to UID2 API failed",e)))}else{this._logInfo("No response decryption key available, assuming unencrypted JSON");const e=JSON.parse(t),r=this.ResponseToRefreshResult(e);"string"==typeof r?i(r):s(r)}}catch(e){i(t)}},error:(e,t)=>{try{this._logInfo("Error status, assuming unencrypted JSON");const e=JSON.parse(t.responseText),r=this.ResponseToRefreshResult(e);"string"==typeof r?i(r):s(r)}catch(t){i(e)}}},e.refresh_token,{method:"POST",customHeaders:{"X-UID2-Client-Version":this._clientVersion}}),r}}class c{constructor(e,t,s,i){this._storage=e,this._preferLocalStorage=t,this._storageName=s,this._logInfo=i}readCookie(e){return this._storage.cookiesAreEnabled()?this._storage.getCookie(e):null}readLocalStorage(e){return this._storage.localStorageIsEnabled()?this._storage.getDataFromLocalStorage(e):null}readModuleCookie(){return this.parseIfContainsBraces(this.readCookie(this._storageName))}writeModuleCookie(e){this._storage.setCookie(this._storageName,JSON.stringify(e),Date.now()+864e5)}readModuleStorage(){return this.parseIfContainsBraces(this.readLocalStorage(this._storageName))}writeModuleStorage(e){this._storage.setDataInLocalStorage(this._storageName,JSON.stringify(e))}readProvidedCookie(e){return JSON.parse(this.readCookie(e))}parseIfContainsBraces(e){return null!=e&&e.includes("{")?JSON.parse(e):e}storeValue(e){this._preferLocalStorage?this.writeModuleStorage(e):this.writeModuleCookie(e)}getStoredValueWithFallback(){const e=this._preferLocalStorage?"local storage":"cookie",t=(this._preferLocalStorage?this.readModuleStorage:this.readModuleCookie).bind(this),s=(this._preferLocalStorage?this.writeModuleStorage:this.writeModuleCookie).bind(this),i=(this._preferLocalStorage?this.readModuleCookie:this.readModuleStorage).bind(this),r=t();if(r){if("string"==typeof r){const t=i();if(t&&"object"==typeof t)return this._logInfo("".concat(e," contained a basic token, but found a refreshable token fallback. Copying the fallback value to ").concat(e,".")),s(t),t}}else{const t=i();if(t)return this._logInfo("".concat(e," was empty, but found a fallback value.")),"object"==typeof t&&(this._logInfo("Copying the fallback value to ".concat(e,".")),s(t)),t}return r}}function u(e,t,s,i,r,o){r("UID2 base url provided: ",e);return new d({baseUrl:e},s,r,o).callRefreshApi(t).then((e=>{r("Refresh endpoint responded with:",e);const s={originalToken:t,latestToken:e.identity};let o=i.getStoredValueWithFallback();return null!=o&&o.originalIdentity&&(s.originalIdentity=o.originalIdentity),i.storeValue(s),s}))}let p;{const e=9;p={isCSTGOptionsValid(e,t){if("object"!=typeof e||null===e)return t("CSTG opts must be an object"),!1;const s=e;if("string"!=typeof s.serverPublicKey)return t("CSTG opts.serverPublicKey must be a string"),!1;const i=/^UID2-X-[A-Z]-.+/;return i.test(s.serverPublicKey)?"string"!=typeof s.subscriptionId?(t("CSTG opts.subscriptionId must be a string"),!1):0!==s.subscriptionId.length||(t("CSTG opts.subscriptionId is empty"),!1):(t("CSTG opts.serverPublicKey must match the regular expression ".concat(i)),!1)},getValidIdentity(e,s){if(e.emailHash)return t.isBase64Hash(e.emailHash)?{email_hash:e.emailHash}:void s("CSTG opts.emailHash is invalid");if(e.phoneHash)return t.isBase64Hash(e.phoneHash)?{phone_hash:e.phoneHash}:void s("CSTG opts.phoneHash is invalid");if(e.email){const i=t.normalizeEmail(e.email);return void 0===i?void s("CSTG opts.email is invalid"):{email:i}}return e.phone?t.isNormalizedPhone(e.phone)?{phone:e.phone}:void s("CSTG opts.phone is invalid"):void 0},isStoredTokenInvalid(e,t,s,i){if(t){if("optout"===t.latestToken)return!0;const i=Object.values(e)[0];if(!this.isStoredTokenFromSameIdentity(t,i))return s("CSTG supplied new identity - ignoring stored value.",t.originalIdentity,e),!0}return!1},async generateTokenAndStore(e,t,i,r,o,n){o("UID2 cstg opts provided: ",JSON.stringify(t));const a=new s({baseUrl:e,cstg:t},o,n),l=await a.generateToken(i);o("CSTG endpoint responded with:",l);const d={originalIdentity:this.encodeOriginalIdentity(i),latestToken:l.identity};return r.storeValue(d),d},isStoredTokenFromSameIdentity:(e,t)=>!!e.originalIdentity&&(0,n.cyrb53Hash)(t,e.originalIdentity.salt)===e.originalIdentity.identity,encodeOriginalIdentity(e){const t=Object.values(e)[0],s=Math.floor(Math.random()*Math.pow(2,32));return{identity:(0,n.cyrb53Hash)(t,s),salt:s}}};class t{static isBase64Hash(e){if(!e||44!==e.length)return!1;try{return btoa(atob(e))===e}catch(e){return!1}}static isNormalizedPhone(e){return/^\+[0-9]{10,15}$/.test(e)}static normalizeEmail(e){if(!e||!e.length)return;const t=e.trim().toLowerCase();if(t.indexOf(" ")>0)return;const s=this.splitEmailIntoAddressAndDomain(t);if(!s)return;const{address:i,domain:r}=s,o=this.isGmail(r),n=this.normalizeAddressPart(i,o,o);return n?"".concat(n,"@").concat(r):void 0}static splitEmailIntoAddressAndDomain(e){const t=e.split("@");if(2===t.length&&!t.some((e=>""===e)))return{address:t[0],domain:t[1]}}static isGmail(e){return e===this.GMAIL_DOMAIN}static dropExtension(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.EMAIL_EXTENSION_SYMBOL;return e.split(t)[0]}static normalizeAddressPart(e,t,s){let i=e;return t&&(i=i.replaceAll(this.EMAIL_DOT,"")),s&&(i=this.dropExtension(i)),i}}(0,i.A)(t,"EMAIL_EXTENSION_SYMBOL","+"),(0,i.A)(t,"EMAIL_DOT","."),(0,i.A)(t,"GMAIL_DOMAIN","gmail.com");class s{constructor(e,t,s){this._baseUrl=e.baseUrl,this._serverPublicKey=e.cstg.serverPublicKey,this._subscriptionId=e.cstg.subscriptionId,this._optoutCheck=e.cstg.optoutCheck,this._logInfo=t,this._logWarn=s}hasStatusResponse(e){return"object"==typeof e&&e&&e.status}isCstgApiSuccessResponse(e){return this.hasStatusResponse(e)&&"success"===e.status&&l(e.body)}isCstgApiOptoutResponse(e){return this.hasStatusResponse(e)&&"optout"===e.status}isCstgApiClientErrorResponse(e){return this.hasStatusResponse(e)&&"client_error"===e.status&&"string"==typeof e.message}isCstgApiForbiddenResponse(e){return this.hasStatusResponse(e)&&"invalid_http_origin"===e.status&&"string"==typeof e.message}stripPublicKeyPrefix(t){return t.substring(e)}async generateCstgRequest(e){if("email_hash"in e||"phone_hash"in e)return e;if("email"in e){return{email_hash:await a.hash(e.email)}}if("phone"in e){return{phone_hash:await a.hash(e.phone)}}}async generateToken(e){const t=await this.generateCstgRequest(e),s={optout_check:this._optoutCheck,...t};this._logInfo("Building CSTG request for",s);const i=await r.build(this.stripPublicKeyPrefix(this._serverPublicKey)),o=new TextEncoder,n=Date.now(),{iv:l,ciphertext:d}=await i.encrypt(o.encode(JSON.stringify(s)),o.encode(JSON.stringify([n]))),c=await a.exportPublicKey(i.clientPublicKey),u={payload:a.bytesToBase64(new Uint8Array(d)),iv:a.bytesToBase64(new Uint8Array(l)),public_key:a.bytesToBase64(new Uint8Array(c)),timestamp:n,subscription_id:this._subscriptionId};return this.callCstgApi(u,i)}async callCstgApi(e,t){const s=this._baseUrl+"/v2/token/client-generate";let i,r;const n=new Promise(((e,t)=>{i=e,r=t}));return this._logInfo("Sending CSTG request",e),(0,o.RD)(s,{success:async(e,s)=>{try{const s=a.base64ToBytes(e),o=await t.decrypt(s.slice(0,12),s.slice(12)),n=(new TextDecoder).decode(o),l=JSON.parse(n);this.isCstgApiSuccessResponse(l)?i({status:"success",identity:l.body}):this.isCstgApiOptoutResponse(l)?i({status:"optout",identity:"optout"}):r("API error: Response body was invalid for HTTP status 200: ".concat(n))}catch(e){r(e)}},error:(e,t)=>{try{if(400===t.status){const e=JSON.parse(t.responseText);this.isCstgApiClientErrorResponse(e)?r("Client error: ".concat(e.message)):r("API error: Response body was invalid for HTTP status 400: ".concat(t.responseText))}else if(403===t.status){const e=JSON.parse(t.responseText);this.isCstgApiForbiddenResponse(t)?r("Forbidden: ".concat(e.message)):r("API error: Response body was invalid for HTTP status 403: ".concat(t.responseText))}else r("API error: Unexpected HTTP status ".concat(t.status,": ").concat(e))}catch(t){r(e)}}},JSON.stringify(e),{method:"POST"}),n}}class r{constructor(e,t){this._clientPublicKey=e,this._sharedKey=t}static async build(e){const t=await a.generateKeyPair(r._namedCurve),s=await a.importPublicKey(e,this._namedCurve),i=await a.deriveKey(s,t.privateKey);return new r(t.publicKey,i)}async encrypt(e,t){const s=window.crypto.getRandomValues(new Uint8Array(12));return{iv:s,ciphertext:await window.crypto.subtle.encrypt({name:"AES-GCM",iv:s,additionalData:t},this._sharedKey,e)}}async decrypt(e,t){return window.crypto.subtle.decrypt({name:"AES-GCM",iv:e},this._sharedKey,t)}get clientPublicKey(){return this._clientPublicKey}}(0,i.A)(r,"_namedCurve","P-256");class a{static base64ToBytes(e){const t=atob(e);return Uint8Array.from(t,(e=>e.codePointAt(0)))}static bytesToBase64(e){const t=Array.from(e,(e=>String.fromCodePoint(e))).join("");return btoa(t)}static async generateKeyPair(e){const t={name:"ECDH",namedCurve:e};return window.crypto.subtle.generateKey(t,!1,["deriveKey"])}static async importPublicKey(e,t){const s={name:"ECDH",namedCurve:t};return window.crypto.subtle.importKey("spki",this.base64ToBytes(e),s,!1,[])}static exportPublicKey(e){return window.crypto.subtle.exportKey("spki",e)}static async deriveKey(e,t){return window.crypto.subtle.deriveKey({name:"ECDH",public:e},t,{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])}static async hash(e){const t=await window.crypto.subtle.digest("SHA-256",(new TextEncoder).encode(e));return this.bytesToBase64(new Uint8Array(t))}}}function h(e,t,s,i){var r,o,n;let a=null;const l="cookie"!==e.storage,d=new c(t,l,e.internalStorage,s);s("Module is using ".concat(l?"local storage":"cookies"," for internal storage."));const h=p&&p.isCSTGOptionsValid(e.cstg,i);h?(s("Module is using client-side token generation."),a=null):e.paramToken?(a=e.paramToken,s("Read token from params",a)):e.serverCookieName&&(a=d.readProvidedCookie(e.serverCookieName),s("Read token from server-supplied cookie",a));let g=d.getStoredValueWithFallback();if(s("Loaded module-stored tokens:",g),g&&"string"==typeof g){if(!a&&!h)return s("Returning legacy cookie value."),{id:g};s("Discarding superseded legacy cookie."),g=null}var y,f;a&&g&&((null===(y=g.originalToken)||void 0===y?void 0:y.advertising_token)!==a.advertising_token&&(s("Server supplied new token - ignoring stored value.",null===(f=g.originalToken)||void 0===f?void 0:f.advertising_token,a.advertising_token),g=null));if(h){const t=p.getValidIdentity(e.cstg,i);if(t&&(g&&p.isStoredTokenInvalid(t,g,s,i)&&(g=null),!g||Date.now()>g.latestToken.refresh_expires)){const r=p.generateTokenAndStore(e.apiBaseUrl,e.cstg,t,d,s,i);return s("Generate token using CSTG"),{callback:e=>{r.then((t=>{s("Token generation responded, passing the new token on.",t),e(t)}))}}}}const b=!(null!==(r=g)&&void 0!==r&&r.latestToken)||a&&a.identity_expires>g.latestToken.identity_expires,m=b?a:g.latestToken;if(s("UID2 module selected latest token",b,m),!m||Date.now()>m.refresh_expires)return s("Newest available token is expired and not refreshable."),{id:null};if(Date.now()>m.identity_expires){const t=u(e.apiBaseUrl,m,e.clientId,d,s,i);return s("Token is expired but can be refreshed, attempting refresh."),{callback:e=>{t.then((t=>{s("Refresh reponded, passing the updated token on.",t),e(t)}))}}}Date.now()>m.refresh_from&&(s("Refreshing token in background with low priority."),u(e.apiBaseUrl,m,e.clientId,d,s,i));const v={originalToken:null!==(o=a)&&void 0!==o?o:null===(n=g)||void 0===n?void 0:n.originalToken,latestToken:m};var k;h&&(v.originalIdentity=null===(k=g)||void 0===k?void 0:k.originalIdentity);return d.storeValue(v),{id:v}}function g(e){const t=["emailHash","phoneHash","email","phone"];for(let s of t)if(e.hasOwnProperty(s))return{[s]:e[s]};return{}}(0,r.E)("uid2IdSystem_shared")}},e=>{e.O(0,[44950,51085],(()=>{return t=85263,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[48785],{64747:(e,t,n)=>{var a=n(7873),r=n(91069),i=n(70433),o=n(57377),s=n(71371);function p(e){if(!e)return null;let t=e.gdprApplies?"1":"0",n=e.consentString?e.consentString:"";return"gdpr=".concat(t,"&gdprstr=").concat(n)}function c(e){let t=document.getElementById(e),n=-1,a=-1;if(t){n=t.offsetLeft,a=t.offsetTop;let e=t.offsetParent;return e&&(n+=e.offsetLeft,a+=e.offsetTop),[n,a]}return null}const d={code:"undertone",gvlid:677,supportedMediaTypes:[s.D4,s.G_],isBidRequestValid:function(e){if(e&&e.params&&e.params.publisherId)return e.params.publisherId=parseInt(e.params.publisherId),!0},buildRequests:function(e,t){const n=Math.max(document.documentElement.clientWidth,window.innerWidth||0),a=Math.max(document.documentElement.clientHeight,window.innerHeight||0),o=0==n||0==a?null:[n,a],d={adapterVersion:"8.38.0",uids:e[0].userId,pageSize:o};e[0].schain&&(d.schain=e[0].schain);const l={"x-ut-hb-params":[],commons:d},u=t.refererInfo.topmostLocation,m=t.refererInfo.canonicalUrl;u&&(d.referrer=u),m&&(d.canonicalUrl=m);let h=function(e){let t=null;try{let n=/[-\w]+\.([-\w]+|[-\w]{3,}|[-\w]{1,3}\.[-\w]{2})$/i.exec(e);if(null!=n&&n.length>0){t=n[0];for(let e=1;et.length&&(t=n[e])}}catch(e){t=null}return t}((0,r.parseUrl)(u).hostname);const f=m||u,y=e[0].params.publisherId;let g="".concat("https://hb.undertone.com/hb","?pid=").concat(y,"&domain=").concat(h),b=p(t.gdprConsent);if(b&&(g+="&".concat(b)),t.uspConsent&&(g+="&ccpa=".concat(t.uspConsent)),t.gppConsent){var I,v;const e=null!==(I=t.gppConsent.gppString)&&void 0!==I?I:"",n=null!==(v=t.gppConsent.applicableSections)&&void 0!==v?v:"";g+="&gpp=".concat(e,"&gpp_sid=").concat(n)}return e.map((e=>{const t={bidRequestId:e.bidId,coordinates:c(e.adUnitCode),hbadaptor:"prebid",url:f,domain:h,placementId:null!=e.params.placementId?e.params.placementId:null,publisherId:e.params.publisherId,gpid:(0,i.A)(e,"ortb2Imp.ext.gpid",(0,i.A)(e,"ortb2Imp.ext.data.pbadslot","")),sizes:e.sizes,params:e.params},n=(0,i.A)(e,"mediaTypes.video"),a=n?s.G_:s.D4;t.mediaType=a,t.bidfloor=function(e,t){if("function"!=typeof e.getFloor)return 0;const n=e.getFloor({currency:"USD",mediaType:t,size:"*"});return n&&"USD"===n.currency&&n.floor||0}(e,a),n&&(t.video={playerSize:(0,i.A)(e,"mediaTypes.video.playerSize")||null,streamType:(0,i.A)(e,"mediaTypes.video.context")||null,playbackMethod:(0,i.A)(e,"params.video.playbackMethod")||null,maxDuration:(0,i.A)(e,"params.video.maxDuration")||null,skippable:(0,i.A)(e,"params.video.skippable")||null,placement:(0,i.A)(e,"mediaTypes.video.placement")||null,plcmt:(0,i.A)(e,"mediaTypes.video.plcmt")||null}),l["x-ut-hb-params"].push(t)})),{method:"POST",url:g,withCredentials:!0,data:JSON.stringify(l)}},interpretResponse:function(e,t){const n=[],a=e.body;return a&&Array.isArray(a)&&a.length>0&&a.forEach((e=>{if(e.ad&&e.cpm>0){const t={requestId:e.bidRequestId,cpm:e.cpm,width:e.width,height:e.height,creativeId:e.adId,currency:e.currency,netRevenue:e.netRevenue,ttl:e.ttl||360,meta:{advertiserDomains:e.adomain?e.adomain:[]}};e.mediaType&&"video"===e.mediaType?(t.vastXml=e.ad,t.mediaType=e.mediaType):t.ad=e.ad,n.push(t)}})),n},getUserSyncs:function(e,t,n,a){const r=[];let i=p(n),o="",s="";return i&&(o+="?".concat(i),s+="&".concat(i)),a&&(o+=""!=o?"&":"?",o+="ccpa=".concat(a),s+="&ccpa=".concat(a)),e.iframeEnabled?r.push({type:"iframe",url:"https://cdn.undertone.com/js/usersync.html"+o}):e.pixelEnabled&&r.push({type:"image",url:"https://usr.undertone.com/userPixel/syncOne?id=1&of=2"+s},{type:"image",url:"https://usr.undertone.com/userPixel/syncOne?id=2&of=2"+s}),r}};(0,o.a$)(d),(0,a.E)("undertoneBidAdapter")}},e=>{e.O(0,[51085],(()=>{return t=64747,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[10891],{78413:(r,e,t)=>{var n=t(7873),o=t(91069),d=t(68044),s=t(16833);const i="unifiedId",a={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,o.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,o.logError)(r)}r(t)},error:e=>{(0,o.logError)("".concat(i,": ID fetch encountered an error"),e),r()}};(0,d.RD)(t,e,void 0,{method:"GET",withCredentials:!0})}}},eids:{tdid:{source:"adserver.org",atype:1,getUidExt:function(){return{rtiPartner:"TDID"}}}}};(0,s.bz)("userId",a),(0,n.E)("unifiedIdSystem")}},r=>{r.O(0,[51085],(()=>{return e=78413,r(r.s=e);var e}));r.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[99582],{27364:(e,r,n)=>{var t=n(7873),i=n(70433),d=n(91069),o=n(95789),s=n(57377),a=n(71371);const u=(e,r,n)=>{const{bids:t,bidderRequestId:d,bidderCode:o,...s}=n,a=n.bids.length-r.length;let u={};r.forEach((r=>{const n=r.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}))})(r),(e=>{let r=(0,i.A)(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}})(r),((e,r)=>{!r&&e.ortb2Imp&&e.ortb2Imp.ext&&delete e.ortb2Imp.ext.ae})(r,e.protectedAudienceEnabled),u[n]=u[n]||[],u[n].push(r)}));let l=[];return Object.keys(u).forEach((r=>{let n={bidderRequest:Object.assign({},{bids:u[r],invalidBidsCount:a,prebidVersion:"8.38.0",...s})};l.push(Object.assign({},{data:n,...e}))})),l},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.A)(e,"ext.renderer.config"),n=!!(0,i.A)(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.A)(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.A4.install(Object.assign({},t)),a=Object.assign({},e,{renderer:s,adUnitCode:(0,i.A)(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},f=e=>{if(!e.context)return!1;return-1!==["outstream","instream"].indexOf(e.context)},y=e=>e.sizes,b={code:"unruly",supportedMediaTypes:[a.G_,a.D4],gvlid:36,isBidRequestValid:function(e){let r=(0,i.A)(e,"params.siteId")&&(e=>{const r=(0,i.A)(e,"mediaTypes.video"),n=(0,i.A)(e,"mediaTypes.banner");let t=!(!r&&!n);return t&&r&&(t=f(r)),t&&n&&(t=y(n)),t})(e);return!!r},buildRequests:function(e,r){let n="https://targeting.unrulymedia.com/unruly_prebid";return e[0]&&(n=(0,i.A)(e[0],"params.endpoint")||n),u({url:n,method:"POST",options:{contentType:"application/json"},protectedAudienceEnabled:r.fledgeEnabled},e,r)},interpretResponse:function(e){if(!e||!e.body||!e.body.auctionConfigs&&!e.body.bids)return[];const r=e.body;let n=[],t=null;if(r.bids.length&&(n=(e=>{let r=[];return e.forEach((e=>{let n,t=(0,i.A)(e,"meta.mediaType");if(t&&"banner"===t.toLowerCase())e.mediaType=a.D4,n=l(e);else if(t&&"video"===t.toLowerCase()){let r=(0,i.A)(e,"meta.videoContext");e.mediaType=a.G_,"instream"===r?n=p(e):"outstream"===r&&(n=c(e))}n&&r.push(n)})),r})(r.bids)),r.auctionConfigs){let e=r.auctionConfigs,n=Object.keys(e);n.length&&n.forEach((r=>{t=[{bidId:r,config:e[r]}]}))}return t?{bids:n,fledgeAuctionConfigs:t}:n}};(0,s.a$)(b),(0,t.E)("unrulyBidAdapter")}},e=>{e.O(0,[51085],(()=>{return r=27364,e(e.s=r);var r}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[73469],{34836:(e,t,n)=>{var o=n(7873),r=n(15901),s=n(43272),i=n(75023),c=n(16916),a=n(9684),u=n(43018),l=n(16833),d=n(91069),g=n(70433);const f=new Map;function m(e){const t={};function n(e){var n;const o=JSON.stringify([null===(n=e.source)||void 0===n?void 0:n.toLowerCase(),e.ext]);t.hasOwnProperty(o)?t[o].uids.push(...e.uids):t[o]=e}return Object.entries(e).forEach((e=>{let[t,o]=e;o=Array.isArray(o)?o:[o];("pubProvidedId"===t?(0,d.deepClone)(o):o.map((e=>function(e,t){const n=f.get(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}(e,t)))).filter((e=>null!=e)).forEach(n)})),Object.values(t)}var b=n(12938),h=n(63172),y=n(51692),p=n(25555),v=n(1e3),I=n(16894),E=n(5973),S=n(45569),w=n(95139),O=n(76811),k=n(83441);const D="User ID",j=b.X0,A=b.qk,P="_pbjs_id_optout",C=(0,b.CK)("userId"),N={isAllowed:w.io};let T,U,x,L,_,F,W=!1,q=[],R=[],M={},G=[];const B=(()=>{let e;return()=>(null==e&&(e=(0,I.K7)()),e)})();function J(e){return B().fork().renameWith((t=>["userId.mod.".concat(t),"userId.mods.".concat(e,".").concat(t)]))}function V(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,s){t.setCookie(o+(e||""),r,s,"Lax",n)}}function K(e,t){const n=e.config.storage,o=e.storageMgr;try{const r=new Date(Date.now()+864e5*n.expires).toUTCString(),s=(0,d.isPlainObject)(t)?JSON.stringify(t):t;if(n.type===j){const t=V(e);t(null,s,r),t("_cst",ge(),r),"number"==typeof n.refreshInSeconds&&t("_last",(new Date).toUTCString(),r)}else n.type===A&&(o.setDataInLocalStorage("".concat(n.name,"_exp"),r),o.setDataInLocalStorage("".concat(n.name,"_cst"),ge()),o.setDataInLocalStorage(n.name,encodeURIComponent(s)),"number"==typeof n.refreshInSeconds&&o.setDataInLocalStorage("".concat(n.name,"_last"),(new Date).toUTCString()))}catch(e){(0,d.logError)(e)}}function z(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=>{const o=f.get(n)||{};(0,g.A)(e,"config.bidders")&&Array.isArray(e.config.bidders)&&o.source&&t.push({source:o.source,bidders:e.config.bidders})}))})),t}(e))}function Q(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 s;try{if(o.type===j)s=n.getCookie(r);else if(o.type===A){const e=n.getDataFromLocalStorage("".concat(o.name,"_exp"));""===e?s=n.getDataFromLocalStorage(r):e&&new Date(e).getTime()-Date.now()>0&&(s=decodeURIComponent(n.getDataFromLocalStorage(r)))}"string"==typeof s&&"{"===s.trim().charAt(0)&&(s=JSON.parse(s))}catch(e){(0,d.logError)(e)}return s}function $(e,t,n){t=B().fork().startTiming("userId.callbacks.total").stopBefore(t);const o=(0,d.delayExecution)((()=>{clearTimeout(U),t()}),e.length);e.forEach((function(e){const t=J(e.submodule.name).startTiming("callback").stopBefore(o);try{e.callback((function(o){o?(e.config.storage&&K(e,o),e.idObj=e.submodule.decode(o,e.config),me(X(n))):(0,d.logInfo)("".concat(D,": ").concat(e.submodule.name," - request id responded with an empty value")),t()}),Q.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){return Array.isArray(e)&&e.length?Y(e):{}}function H(e,t,n){return Object.fromEntries(Object.entries(e.reduce(((e,o)=>{const r=t(o);return r&&Object.keys(r).forEach((t=>{var s;const i=null===(s=M[t])||void 0===s?void 0:s.indexOf(n(o)),c={priority:(0,d.isNumber)(i)?i:-1,value:r[t]};if(e[t]){const n=c.priority>e[t].priority?c:e[t];e[t]=n}else e[t]=c})),e}),{})).map((e=>{let[t,n]=e;return[t,n.value]})))}function Y(e){return H(e.filter((e=>(0,d.isPlainObject)(e.idObj)&&Object.keys(e.idObj).length)),(e=>e.idObj),(e=>e.submodule.name))}function Z(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?Y(e.filter((e=>!e.config.bidders||!(0,d.isArray)(e.config.bidders)||(0,r.mK)(e.config.bidders,t)))):{}}(t,e.bidder);Object.keys(n).length&&(e.userId=n,e.userIdAsEids=m(n))}))}))}const ee={};let te;function ne(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:se()||[];const t=_&&e.find((e=>e.source===_));if(t&&"string"==typeof(0,g.A)(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(_," is not between 32 and 150 characters - ").concat(e))}}const oe=(0,I.Ak)("userId",(function(e,t){let{delay:n=p.k.timeout,getIds:r=de}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};p.k.race([r().catch((()=>null)),n(L)]).then((()=>{Z(t.adUnits||(0,o.m)().adUnits,T),B().join((0,I.BO)(t.metrics),{propagate:!1,includeGroups:!0}),e.call(this,t)}))}));function re(){return X(T)}function se(){return m(re())}function ie(e){return m(function(e,t){if(!Array.isArray(e)||!e.length)return{};const n=Y(e),o=Object.keys(n).find((e=>{const n=f.get(e);return(null==n?void 0:n.source)===t||(0,d.isFn)(null==n?void 0:n.getSource)&&n.getSource()===t}));return o?{[o]:n[o]}:[]}(T,e))[0]}function ce(e,t,n){return te().then((()=>{let o={};if((0,d.isFn)(n)){(0,d.logInfo)("".concat(D," - 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=ie(e);(0,d.logInfo)("".concat(D," - 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(D," - 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.secureSignalProviders=window.googletag.secureSignalProviders||[];const e=s.$W.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.secureSignalProviders.push({id:e,collectorFunction:()=>ce(e,n,o)})}))}))}),t)}else(0,d.logWarn)("".concat(D," - ESP : encryptedSignalSources config not defined under userSync Object"))}function le(){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 de(){return te().then((()=>re()),(e=>e===ee?Promise.resolve().then(de):((0,d.logError)("Error initializing userId",e),p.k.reject(e))))}function ge(){let e=Number(c.SL.hash);const t=[];for(;e>0;)t.push(String.fromCharCode(255&e)),e>>>=8;return btoa(t.join())}function fe(e,t,n){const o=c.mW.getConsentData();if(e.config.storage){let n,r=Q(e),s=!1;if("number"==typeof e.config.storage.refreshInSeconds){const t=new Date(Q(e,"last"));s=t&&Date.now()-t.getTime()>1e3*e.config.storage.refreshInSeconds}!r||s||t||function(e){const t=Q(e,"cst");return!t||t!==ge()}(e)?n=e.submodule.getId(e.config,o,r):"function"==typeof e.submodule.extendId&&(n=e.submodule.extendId(e.config,o,r)),(0,d.isPlainObject)(n)&&(n.id&&(K(e,n.id),r=n.id),"function"==typeof n.callback&&(e.callback=n.callback)),r&&(e.idObj=e.submodule.decode(r,e.config))}else if(e.config.value)e.idObj=e.config.value;else{const t=e.submodule.getId(e.config,o,void 0);(0,d.isPlainObject)(t)&&("function"==typeof t.callback&&(e.callback=t.callback),t.id&&(e.idObj=e.submodule.decode(t.id,e.config)))}me(X(n))}function me(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:re();if(e&&_){const t=ne(m(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 be(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return B().fork().measureTime("userId.init.modules",(function(){if(!t.length)return[];if(!(t=t.filter((e=>(!e.config.storage||function(e){var t;switch(null===(t=e.config)||void 0===t||null===(t=t.storage)||void 0===t?void 0:t.type){case A:if(e.storageMgr.localStorageIsEnabled())return!C.getDataFromLocalStorage(P)||((0,d.logInfo)("".concat(D," - opt-out localStorage found, storage disabled")),!1);break;case j:if(e.storageMgr.cookiesAreEnabled())return!C.getCookie(P)||((0,d.logInfo)("".concat(D," - opt-out cookie found, storage disabled")),!1)}return!1}(e))&&N.isAllowed(O.yl,(0,k.s)(S.fW,e.config.name))))).length)return(0,d.logWarn)("".concat(D," - no ID module configured")),[];const o=t.reduce(((e,o)=>J(o.submodule.name).measureTime("init",(()=>{try{fe(o,n,t),e.push(o)}catch(e){(0,d.logError)("Error in userID module '".concat(o.submodule.name,"':"),e)}return e}))),[]);return o.length&&z(o),o.forEach(he.bind(null,e)),o}))}function he(e,t){let n=!1;for(let o=0;oe.eids),(e=>e.name))).forEach((e=>{let[t,n]=e;return f.set(t,n)}))}function ve(){pe(G);const e=function(e){return Array.isArray(e)?e.reduce(((e,t)=>(!t||(0,d.isEmptyStr)(t.name)||(t.storage&&!(0,d.isEmptyStr)(t.storage.type)&&!(0,d.isEmptyStr)(t.storage.name)&&ye.has(t.storage.type)||(0,d.isPlainObject)(t.value)?e.push(t):t.storage||t.value||e.push(t)),e)),[]):[]}(R);if(!e.length)return;const t=G.filter((e=>!(0,r.I6)(q,(t=>t.name===e.name))));q.splice(0,q.length),t.map((t=>{const n=(0,r.I6)(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=E.S,n?{submodule:t,config:n,callback:void 0,idObj:void 0,storageMgr:(0,b.vM)({moduleType:S.fW,moduleName:n.name})}:null})).filter((e=>null!==e)).forEach((e=>q.push(e))),!W&&q.length&&((0,o.m)().requestBids.before(oe,40),a.Ay.callDataDeletionRequest.before(Ie),y.Q.after((e=>e(ne()))),(0,d.logInfo)("".concat(D," - usersync config updated for ").concat(q.length," submodules: "),q.map((e=>e.submodule.name))),W=!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;let n,o;switch(null===(t=e.config)||void 0===t||null===(t=t.storage)||void 0===t?void 0:t.type){case j:const t=V(e,C),r=new Date(Date.now()-864e5).toUTCString();n=e=>t(e,"",r),o=["","_last","_cst"];break;case A:n=t=>C.removeDataFromLocalStorage(e.config.storage.name+t),o=["","_last","_exp","_cst"]}n&&o.forEach((e=>{try{n(e)}catch(e){(0,d.logError)(e)}}))}(e)})),e.apply(this,n)}function Ee(e){return function(){return Promise.resolve(e.apply(this,arguments))}}!function(e){let{delay:t=p.k.timeout}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};_=void 0,q=[],R=[],W=!1,T=[],te=function(){let{delay:e=p.k.timeout}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=(0,p.v)(),n=(0,p.v)();let o,r,s=!1;function a(e){return r=B().fork(),null!=o&&o.reject(ee),o=(0,p.v)(),p.k.race([e,o.promise]).finally(r.startTiming("userId.total"))}let g=T,f=q;function m(e){return function(){if(g===T&&f===q)return e(...arguments)}}function b(){return c.SL.promise.finally(r.startTiming("userId.init.consent"))}let h=a(p.k.all([l.Gc,t.promise]).then(b).then(m((()=>{be(g,f)}))).then((()=>n.promise.finally(r.startTiming("userId.callbacks.pending")))).then(m((()=>{const e=g.filter((e=>(0,d.isFn)(e.callback)));if(e.length)return new p.k((t=>$(e,t,g)))}))));return function(){let{refresh:o=!1,submoduleNames:r=null,ready:c=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return c&&!s&&(s=!0,t.resolve(),L>0?n.resolve():i.on(u.EVENTS.AUCTION_END,(function t(){i.off(u.EVENTS.AUCTION_END,t),e(x).then(n.resolve)}))),o&&s&&(h=a(h.catch((()=>null)).then(b).then(m((()=>{const e=be(g,f.filter((e=>null==r||r.includes(e.submodule.name))),!0).filter((e=>null!=e.callback));if(e.length)return new p.k((t=>$(e,t,g)))}))))),h}}({delay:t}),null!=F&&F(),G=[],F=e.getConfig("userSync",(e=>{const t=e.userSync;t&&(_=t.ppid,t.userIds&&(R=t.userIds,x=(0,d.isNumber)(t.syncDelay)?t.syncDelay:500,L=(0,d.isNumber)(t.auctionDelay)?t.auctionDelay:0,ve(),function(e,t){if(e){const n={},o=new Map(t.map((e=>e.submodule.aliasName?[e.submodule.aliasName,e.submodule.name]:[])));Object.keys(e).forEach((t=>{const r=(0,d.isArray)(e[t])?[...e[t]].reverse():[];n[t]=r.map((e=>o.has(e)?o.get(e):e))})),M=n}else M={}}(t.idPriority,q),te({ready:!0})))})),(0,o.m)().getUserIds=re,(0,o.m)().getUserIdsAsEids=se,(0,o.m)().getEncryptedEidsForSource=Ee(ce),(0,o.m)().registerSignalSources=ue,(0,o.m)().refreshUserIds=Ee(le),(0,o.m)().getUserIdsAsync=Ee(de),(0,o.m)().getUserIdsAsEidBySource=ie}(s.$W),(0,l.xG)("userId",(function(e){(0,r.I6)(G,(t=>t.name===e.name))||(G.push(e),c.o2.register(S.fW,e.name,e.gvlid),ve(),te({refresh:!0,submoduleNames:[e.name]}))})),(0,v.pS)({type:v.S3,name:"userExtEids",fn:function(e,t,n){const o=(0,g.A)(n,"bidRequests.0.userIdAsEids");o&&Object.keys(o).length>0&&(0,h.J)(e,"user.ext.eids",o)}}),(0,o.E)("userId")},51692:(e,t,n)=>{n.d(t,{Q:()=>o});const o=(0,n(16833).A_)("sync",(()=>{}))},1e3:(e,t,n)=>{n.d(t,{Cf:()=>c,S3:()=>r,Tb:()=>s,WR:()=>i,e4:()=>u,pS:()=>d,qN:()=>a,yB:()=>g,zt:()=>o});const o=["request","imp","bidResponse","response"],[r,s,i,c]=o,[a,u]=["default","pbs"],l=new Set(o);const{registerOrtbProcessor:d,getProcessors:g}=function(){const e={};return{registerOrtbProcessor(t){let{type:n,name:r,fn:s,priority:i=0,dialects:c=[a]}=t;if(!l.has(n))throw new Error("ORTB processor type must be one of: ".concat(o.join(", ")));c.forEach((t=>{e.hasOwnProperty(t)||(e[t]={}),e[t].hasOwnProperty(n)||(e[t][n]={}),e[t][n][r]={priority:i,fn:s}}))},getProcessors:t=>e[t]||{}}}()}},e=>{e.O(0,[51085],(()=>{return t=34836,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[47957],{93043:(e,t,n)=>{var i=n(7873),o=n(91069),r=n(70433),a=n(57377),d=n(71371),s=n(12938),c=n(12693),u=n(43272),p=n(29906);const l="prebid",g="vidazoo",m="1.0.0",b=9e5,f=36e5,h="vidSid",I="vdzwopt",v="wsid_"+parseInt(Date.now()*Math.random()),C=(0,s.vM)({bidderCode:g});function y(){try{return(0,o.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]:l,".cootlogix.com")}function D(e){return e.cId||e.CID||e.cID||e.CId||e.cid||e.ciD||e.Cid||e.CiD}function R(e){return e.pId||e.PID||e.pID||e.PId||e.pid||e.piD||e.Pid||e.PiD}function A(e){return e.subDomain||e.SubDomain||e.Subdomain||e.subdomain||e.SUBDOMAIN||e.subDOMAIN}function T(e,t,n,i,a){var d,s;const{params:u,bidId:p,userId:l,adUnitCode:S,schain:D,mediaTypes:A,ortb2Imp:T,bidderRequestId:w,bidRequestsCount:q,bidderRequestsCount:x,bidderWinsCount:O}=e,{ext:_}=u;let{bidFloor:j}=u;const P=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"_";const n=e.length;let i=0,o=0;if(n>0)for(;o1&&void 0!==arguments[1]?arguments[1]:b;try{const n=U(e);let i,o=0;n&&n.value&&Date.now()-n.created1&&void 0!==arguments[1]?arguments[1]:f;const n="u_".concat(e),i=Date.now(),o=U(n);let r;!o||!o.value||i-o.created>t?(r="".concat(e,"_").concat(i.toString()),z(n,r)):r=o.value;return r}(P),W=U(h)||"",E=R(u),L=function(){let e=C.getDataFromLocalStorage(I);e||(e=String(Date.now()),C.setDataInLocalStorage(I,e));return e}(),M=c.u.get(g,"storageAllowed"),$=(0,r.A)(e,"ortb2Imp.ext.gpid",(0,r.A)(e,"ortb2Imp.ext.data.pbadslot","")),B=(0,r.A)(i,"ortb2.site.cat",[]),N=(0,r.A)(i,"ortb2.site.pagecat",[]);if((0,o.isFn)(e.getFloor)){const t=e.getFloor({currency:"USD",mediaType:"*",size:"*"});"USD"===t.currency&&(j=t.floor)}let G={url:encodeURIComponent(t),uqs:y(),cb:Date.now(),bidFloor:j,bidId:p,referrer:i.refererInfo.ref,adUnitCode:S,publisherId:E,sessionId:W,sizes:n,dealId:k,uniqueDealId:F,bidderVersion:m,prebidVersion:"8.38.0",res:"".concat(screen.width,"x").concat(screen.height),schain:D,mediaTypes:A,ptrace:L,isStorageAllowed:M,gpid:$,cat:B,pagecat:N,transactionId:null==T||null===(d=T.ext)||void 0===d?void 0:d.tid,bidderRequestId:w,bidRequestsCount:q,bidderRequestsCount:x,bidderWinsCount:O,bidderTimeout:a,webSessionId:v};!function(e,t){let n;(0,o._each)(t,((t,i)=>{switch(n="uid.".concat(i),i){case"digitrustid":e[n]=(0,r.A)(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}}))}(G,l);const V=(0,r.A)(i,"ortb2.device.sua");return V&&(G.sua=V),i.gdprConsent&&(i.gdprConsent.consentString&&(G.gdprConsent=i.gdprConsent.consentString),void 0!==i.gdprConsent.gdprApplies&&(G.gdpr=i.gdprConsent.gdprApplies?1:0)),i.uspConsent&&(G.usPrivacy=i.uspConsent),i.gppConsent?(G.gppString=i.gppConsent.gppString,G.gppSid=i.gppConsent.applicableSections):null!==(s=i.ortb2)&&void 0!==s&&null!==(s=s.regs)&&void 0!==s&&s.gpp&&(G.gppString=i.ortb2.regs.gpp,G.gppSid=i.ortb2.regs.gpp_sid),(0,o._each)(_,((e,t)=>{G["ext."+t]=e})),G}function w(e,t,n,i,o){const{params:r}=e,a=D(r),d=A(r),s=T(e,t,n,i,o);return{method:"POST",url:"".concat(S(d),"/prebid/multi/").concat(a),data:s}}function U(e){try{return function(e){try{return JSON.parse(e)}catch(t){return e}}(C.getDataFromLocalStorage(e))}catch(e){}return null}function z(e,t,n){try{const i=n||Date.now(),o=JSON.stringify({value:t,created:i});C.setDataInLocalStorage(e,o)}catch(e){}}const q={code:g,version:m,gvlid:744,supportedMediaTypes:[d.D4,d.G_],isBidRequestValid:function(e){const t=e.params||{};return!(!D(t)||!R(t))},buildRequests:function(e,t){const n=t.refererInfo.page||t.refererInfo.topmostLocation,i=u.$W.getConfig("bidderTimeout"),r=u.$W.getConfig("vidazoo.singleRequest"),a=[];if(r){const r=e.filter((e=>(0,o.isArray)(e.mediaTypes)?e.mediaTypes.includes(d.D4):void 0!==e.mediaTypes[d.D4]));if(r.length>0){const e=function(e,t,n,i){const{params:r}=e[0],a=D(r),d=A(r),s=e.map((e=>{const r=(0,o.parseSizesInput)(e.sizes);return T(e,n,r,t,i)})),c=Math.min(20,u.$W.getConfig("vidazoo.chunkSize")||10);return(0,p.i)(s,c).map((e=>({method:"POST",url:"".concat(S(d),"/prebid/multi/").concat(a),data:{bids:e}})))}(r,t,n,i);a.push(...e)}e.filter((e=>void 0!==e.mediaTypes[d.G_])).forEach((e=>{const r=(0,o.parseSizesInput)(e.sizes),d=w(e,n,r,t,i);a.push(d)}))}else e.forEach((e=>{const r=(0,o.parseSizesInput)(e.sizes),d=w(e,n,r,t,i);a.push(d)}));return a},interpretResponse:function(e,t){if(!e||!e.body)return[];const n=u.$W.getConfig("vidazoo.singleRequest"),i=(0,r.A)(t,"data.bidId"),{results:o}=e.body;let a=[];try{return o.forEach(((e,t)=>{const{creativeId:o,ad:r,price:s,exp:c,width:u,height:p,currency:l,bidId:g,nurl:m,advertiserDomains:b,metaData:f,mediaType:h=d.D4}=e;if(!r||!s)return;const I={requestId:n&&g?g:i,cpm:s,width:u,height:p,creativeId:o,currency:l||"USD",netRevenue:!0,ttl:c||300};m&&(I.nurl=m),f?Object.assign(I,{meta:f}):Object.assign(I,{meta:{advertiserDomains:b||[]}}),h===d.D4?Object.assign(I,{ad:r}):Object.assign(I,{vastXml:r,mediaType:d.G_}),a.push(I)})),a}catch(e){return[]}},getUserSyncs:function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},d=[];const{iframeEnabled:s,pixelEnabled:c}=e,{gdprApplies:u,consentString:p=""}=n,{gppString:l,applicableSections:g}=a,m=t.filter((e=>(0,r.A)(e,"body.cid"))).map((e=>e.body.cid)).filter(o.uniques);let b="?cid=".concat(encodeURIComponent(m.join(",")),"&gdpr=").concat(u?1:0,"&gdpr_consent=").concat(encodeURIComponent(p||""),"&us_privacy=").concat(encodeURIComponent(i||""));return l&&null!=g&&g.length&&(b+="&gpp="+encodeURIComponent(l),b+="&gpp_sid="+encodeURIComponent(g.join(","))),s&&d.push({type:"iframe",url:"https://sync.cootlogix.com/api/sync/iframe/".concat(b)}),c&&d.push({type:"image",url:"https://sync.cootlogix.com/api/sync/image/".concat(b)}),d},onBidWon:function(e){if(!e.nurl)return;const t={adId:e.adId,creativeId:e.creativeId,auctionId:e.auctionId,transactionId:e.transactionId,adUnitCode:e.adUnitCode,cpm:e.cpm,currency:e.currency,originalCpm:e.originalCpm,originalCurrency:e.originalCurrency,netRevenue:e.netRevenue,mediaType:e.mediaType,timeToRespond:e.timeToRespond,status:e.status},n=(0,o.formatQS)(t),i=e.nurl+(-1===e.nurl.indexOf("?")?"?":"&")+n;(0,o.triggerPixel)(i)}};(0,a.a$)(q),(0,i.E)("vidazooBidAdapter")}},e=>{e.O(0,[44982,51085],(()=>{return t=93043,e(e.s=t);var t}));e.O()}]);})(),pbjs.processQueue();

The Best Websites for Watching Free Documentaries (2024)

FAQs

Where can I watch documentaries free? ›

Documentary Heaven has been around since 2009, we are an educational website dedicated solely to bringing you the very best documentary films sourced from all over the internet. We currently have thousands of free thought-provoking documentaries for you to choose from which fall into a wide range of categories.

What streaming site has the best documentaries? ›

While we believe all the services on the list are worth your time, if you're looking for a constant flow of new titles to watch, we recommend Max and Netflix as top picks. If you prefer documentaries only, go with Curiosity Stream for its selection and price.

Is documentary Heaven legal? ›

These documentaries are publicly available, and we do not own or imply ownership of any of the documentaries featured – All documentaries are assumed to be either in the public domain or uploaded with the consent of their copyright owners.

How do I find documentaries? ›

Our Top 13 Picks
  1. Kanopy. Best for Educational and Family Content. ...
  2. Netflix. Best for Blockbuster Documentaries. ...
  3. CuriosityStream. Best for HD & 4K Documentaries. ...
  4. Hulu. Best for Celebrity Biopics and Entertainment Insiders. ...
  5. Amazon Prime Video. Best for Political Documentaries. ...
  6. History Vault. ...
  7. MagellanTV. ...
  8. PBS Documentaries.

Which channel has best documentaries? ›

The best documentary channel in India for history and geography is undoubtedly the National Geographic Channel (Nat Geo).

What is the number one streaming site? ›

Netflix is the biggest streaming service in the world. The company reported 260.28 million global paid memberships as of December 31, 2023. That number was up 5.3 percent from the previous quarter, and up nearly 13 percent year over year.

What is the number one movie streaming site? ›

Netflix. There's a reason why Netflix has become shorthand for streaming in general. The former movie rental service evolved into the top-tier streaming app that's a must-have in 2024, even if you're.

How can I download documentaries for free? ›

Some popular options include:
  1. DocumentaryHeaven: A curated collection of documentaries that are available for free streaming and download.
  2. TopDocumentaryFilms: Another curated collection of documentaries that can be streamed or downloaded for free.
Jun 19, 2015

Is curiosity stream worth it? ›

CuriosityStream also deserves Editor's Choice recognition for the thousands of hours of viewing it offers its curious, nonfiction-minded audience. The low price, high specs, and good-size library make this streaming service worth it.

Is documentary Heaven free? ›

DocumentaryHeaven is a site filled with thousands of free online documentaries just waiting to be seen, so come on in and embrace the knowledge!

Is Tubi really free? ›

Tubi is a 100% free, 100% legal streaming service. Our app is free to install, and all of our content is always free to watch. We never ask for any credit card information and have no way of charging you for anything, ever. We stay free by showing short ad breaks during our movies and TV shows.

Who is streaming documentary now? ›

How to Watch Documentary Now! Right now you can watch Documentary Now! on Netflix, Spectrum On Demand, and Discovery+.

What is the most common documentary? ›

Expository is the most common documentary form because of its structured, informative approach and voice over narration.

Where can I watch PBS documentaries for free? ›

Watch the best of PBS anytime, anywhere on the free PBS app. Stream your favorite PBS shows on-demand and livestream shows from your local station, all from your favorite device.

Does Amazon Prime accept documentaries? ›

Amazon.com, Inc.

(NASDAQ: AMZN) has announced that its Prime Video Direct platform has stopped accepting unsolicited documentary and short film submissions.

Does Tubi have documentaries? ›

Watch Free Documentary Movies and TV Shows Online. Tubi.

Does PBS have documentaries? ›

A trusted source of journalism presenting news documentaries on today's public affairs.

Top Articles
Latest Posts
Article information

Author: Trent Wehner

Last Updated:

Views: 6757

Rating: 4.6 / 5 (56 voted)

Reviews: 87% of readers found this page helpful

Author information

Name: Trent Wehner

Birthday: 1993-03-14

Address: 872 Kevin Squares, New Codyville, AK 01785-0416

Phone: +18698800304764

Job: Senior Farming Developer

Hobby: Paintball, Calligraphy, Hunting, Flying disc, Lapidary, Rafting, Inline skating

Introduction: My name is Trent Wehner, I am a talented, brainy, zealous, light, funny, gleaming, attractive person who loves writing and wants to share my knowledge and understanding with you.