prebid.js 7.17.0 → 7.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/dist/33acrossBidAdapter.js +1 -1
  2. package/dist/adagioBidAdapter.js +1 -1
  3. package/dist/adbookpspBidAdapter.js +1 -1
  4. package/dist/adgenerationBidAdapter.js +1 -1
  5. package/dist/adqueryBidAdapter.js +1 -1
  6. package/dist/adrelevantisBidAdapter.js +1 -1
  7. package/dist/adtrgtmeBidAdapter.js +1 -1
  8. package/dist/adxcgBidAdapter.js +1 -1
  9. package/dist/adyoulikeBidAdapter.js +1 -1
  10. package/dist/ajaBidAdapter.js +1 -1
  11. package/dist/amxBidAdapter.js +1 -1
  12. package/dist/amxIdSystem.js +1 -1
  13. package/dist/appierAnalyticsAdapter.js +1 -1
  14. package/dist/appnexusBidAdapter.js +1 -1
  15. package/dist/asoBidAdapter.js +1 -1
  16. package/dist/audiencerunBidAdapter.js +1 -1
  17. package/dist/axonixBidAdapter.js +1 -1
  18. package/dist/bidglassBidAdapter.js +1 -1
  19. package/dist/bidwatchAnalyticsAdapter.js +1 -1
  20. package/dist/big-richmediaBidAdapter.js +1 -1
  21. package/dist/bluebillywigBidAdapter.js +1 -1
  22. package/dist/bridgewellBidAdapter.js +1 -1
  23. package/dist/brightMountainMediaBidAdapter.js +1 -1
  24. package/dist/carodaBidAdapter.js +1 -1
  25. package/dist/concertBidAdapter.js +1 -1
  26. package/dist/connectadBidAdapter.js +1 -1
  27. package/dist/consumableBidAdapter.js +1 -1
  28. package/dist/conversantBidAdapter.js +1 -1
  29. package/dist/craftBidAdapter.js +1 -1
  30. package/dist/criteoBidAdapter.js +1 -1
  31. package/dist/dspxBidAdapter.js +1 -1
  32. package/dist/eplanningBidAdapter.js +1 -1
  33. package/dist/finativeBidAdapter.js +1 -1
  34. package/dist/glimpseBidAdapter.js +1 -1
  35. package/dist/gmosspBidAdapter.js +1 -1
  36. package/dist/goldbachBidAdapter.js +1 -1
  37. package/dist/gridBidAdapter.js +1 -1
  38. package/dist/gridNMBidAdapter.js +1 -1
  39. package/dist/growthCodeIdSystem.js +1 -0
  40. package/dist/gumgumBidAdapter.js +1 -1
  41. package/dist/h12mediaBidAdapter.js +1 -1
  42. package/dist/id5IdSystem.js +1 -1
  43. package/dist/impactifyBidAdapter.js +1 -1
  44. package/dist/improvedigitalBidAdapter.js +1 -1
  45. package/dist/inmarBidAdapter.js +1 -1
  46. package/dist/insticatorBidAdapter.js +1 -1
  47. package/dist/ixBidAdapter.js +1 -1
  48. package/dist/jixieBidAdapter.js +1 -1
  49. package/dist/justpremiumBidAdapter.js +1 -1
  50. package/dist/konduitAnalyticsAdapter.js +1 -1
  51. package/dist/kueezBidAdapter.js +1 -1
  52. package/dist/lassoBidAdapter.js +1 -1
  53. package/dist/lifestreetBidAdapter.js +1 -1
  54. package/dist/liveyieldAnalyticsAdapter.js +1 -1
  55. package/dist/logicadBidAdapter.js +1 -1
  56. package/dist/loglyliftBidAdapter.js +1 -1
  57. package/dist/malltvAnalyticsAdapter.js +1 -1
  58. package/dist/marsmediaBidAdapter.js +1 -1
  59. package/dist/mediafuseBidAdapter.js +1 -1
  60. package/dist/mediakeysBidAdapter.js +1 -1
  61. package/dist/mediasquareBidAdapter.js +1 -1
  62. package/dist/mgidBidAdapter.js +1 -1
  63. package/dist/minutemediaBidAdapter.js +1 -1
  64. package/dist/nativoBidAdapter.js +1 -1
  65. package/dist/nextMillenniumBidAdapter.js +1 -1
  66. package/dist/not-for-prod/prebid.js +119 -118
  67. package/dist/oguryBidAdapter.js +1 -1
  68. package/dist/onetagBidAdapter.js +1 -1
  69. package/dist/ooloAnalyticsAdapter.js +1 -1
  70. package/dist/outbrainBidAdapter.js +1 -1
  71. package/dist/parrableIdSystem.js +1 -1
  72. package/dist/pixfutureBidAdapter.js +1 -1
  73. package/dist/prebid-core.js +1 -1
  74. package/dist/publinkIdSystem.js +1 -1
  75. package/dist/pubmaticBidAdapter.js +1 -1
  76. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  77. package/dist/pxyzBidAdapter.js +1 -1
  78. package/dist/quantcastBidAdapter.js +1 -1
  79. package/dist/readpeakBidAdapter.js +1 -1
  80. package/dist/relaidoBidAdapter.js +1 -1
  81. package/dist/rhythmoneBidAdapter.js +1 -1
  82. package/dist/riseBidAdapter.js +1 -1
  83. package/dist/rubiconAnalyticsAdapter.js +1 -1
  84. package/dist/rubiconBidAdapter.js +1 -1
  85. package/dist/seedingAllianceBidAdapter.js +1 -1
  86. package/dist/seedtagBidAdapter.js +1 -1
  87. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  88. package/dist/sharethroughBidAdapter.js +1 -1
  89. package/dist/shinezBidAdapter.js +1 -1
  90. package/dist/smaatoBidAdapter.js +1 -1
  91. package/dist/smartadserverBidAdapter.js +1 -1
  92. package/dist/smartxBidAdapter.js +1 -1
  93. package/dist/smilewantedBidAdapter.js +1 -1
  94. package/dist/sonobiBidAdapter.js +1 -1
  95. package/dist/sovrnAnalyticsAdapter.js +1 -1
  96. package/dist/sovrnBidAdapter.js +1 -1
  97. package/dist/sspBCBidAdapter.js +1 -1
  98. package/dist/sublimeBidAdapter.js +1 -1
  99. package/dist/synacormediaBidAdapter.js +1 -1
  100. package/dist/taboolaBidAdapter.js +1 -1
  101. package/dist/targetVideoBidAdapter.js +1 -1
  102. package/dist/teadsBidAdapter.js +1 -1
  103. package/dist/trionBidAdapter.js +1 -1
  104. package/dist/tripleliftBidAdapter.js +1 -1
  105. package/dist/ttdBidAdapter.js +1 -1
  106. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  107. package/dist/underdogmediaBidAdapter.js +1 -1
  108. package/dist/undertoneBidAdapter.js +1 -1
  109. package/dist/userId.js +1 -1
  110. package/dist/vidazooBidAdapter.js +1 -1
  111. package/dist/videobyteBidAdapter.js +1 -1
  112. package/dist/visxBidAdapter.js +1 -1
  113. package/dist/vuukleBidAdapter.js +1 -1
  114. package/dist/widespaceBidAdapter.js +1 -1
  115. package/dist/winrBidAdapter.js +1 -1
  116. package/dist/yahoosspBidAdapter.js +1 -1
  117. package/dist/yieldmoBidAdapter.js +1 -1
  118. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  119. package/modules/adagioBidAdapter.js +2 -1
  120. package/modules/adqueryBidAdapter.js +4 -2
  121. package/modules/bidwatchAnalyticsAdapter.js +1 -1
  122. package/modules/gridBidAdapter.js +1 -1
  123. package/modules/growthCodeIdSystem.js +164 -0
  124. package/modules/growthCodeIdSystem.md +37 -0
  125. package/modules/nativoBidAdapter.js +2 -1
  126. package/modules/nextMillenniumBidAdapter.js +34 -11
  127. package/modules/seedtagBidAdapter.js +4 -0
  128. package/modules/taboolaBidAdapter.js +3 -7
  129. package/modules/userId/eids.js +19 -0
  130. package/modules/vidazooBidAdapter.js +1 -1
  131. package/package.json +1 -1
  132. package/test/spec/modules/adagioBidAdapter_spec.js +23 -0
  133. package/test/spec/modules/adqueryBidAdapter_spec.js +11 -0
  134. package/test/spec/modules/bidwatchAnalyticsAdapter_spec.js +2 -0
  135. package/test/spec/modules/growthCodeIdSystem_spec.js +83 -0
  136. package/test/spec/modules/prebidServerBidAdapter_spec.js +12 -0
  137. package/test/spec/modules/seedtagBidAdapter_spec.js +45 -0
@@ -1 +1 @@
1
- (self.pbjsChunk=self.pbjsChunk||[]).push([[5337],{4192:function(e,t,r){r.d(t,{HQ:function(){return c},Pv:function(){return u},UR:function(){return a}});var n=r(64358),i=r(20265),a={trustpid:{source:"trustpid.com",atype:1,getValue:function(e){return e}},intentIqId:{source:"intentiq.com",atype:1},naveggId:{source:"navegg.com",atype:1},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){var t="";return e.DeviceID&&(t=e.DeviceID.join(",")),t},getUidExt:function(e){return"DeviceID"}},parrableId:{source:"parrable.com",atype:1,getValue:function(e){return e.eid?e.eid:e.ccpaOptout?"":null},getUidExt:function(e){var t=(0,n.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}}},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 e.snowflake},source:"novatiq.com",atype:1},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:"amxrtb.com",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},cpexId:{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]){var t=e.identifiers[0];return{version:t.version,type:t.type,source:t.source}}}}};function o(e,t){var r=a[t];if(r&&e){var i={};i.source=(0,n.isFn)(r.getSource)?r.getSource(e):r.source;var o=(0,n.isFn)(r.getValue)?r.getValue(e):e;if((0,n.isStr)(o)){var c={id:o,atype:r.atype};if((0,n.isFn)(r.getUidExt)){var u=r.getUidExt(e);u&&(c.ext=u)}if(i.uids=[c],(0,n.isFn)(r.getEidExt)){var d=r.getEidExt(e);d&&(i.ext=d)}return i}}return null}function c(e){var t=[],r=function(r){if(e.hasOwnProperty(r))if("pubProvidedId"===r)t=t.concat(e.pubProvidedId);else if("ftrackId"===r){var n={atype:1,id:(e.ftrackId.DeviceID||[]).join("|"),ext:{}};for(var i in e.ftrackId)n.ext[i]=(e.ftrackId[i]||[]).join("|");t.push(n)}else if(Array.isArray(e[r]))e[r].forEach((function(e,n,i){var a=o(e,r);a&&t.push(a)}));else{var a=o(e[r],r);a&&t.push(a)}};for(var n in e)r(n);return t}function u(e){var t=[];return e.filter((function(e){return(0,n.isPlainObject)(e.idObj)&&Object.keys(e.idObj).length})).forEach((function(e){Object.keys(e.idObj).forEach((function(r){(0,i.Z)(e,"config.bidders")&&Array.isArray(e.config.bidders)&&(0,i.Z)(a,r+".source")&&t.push({source:a[r].source,bidders:e.config.bidders})}))})),t}},55511:function(e,t,r){var n=r(71002),i=r(64358),a=r(20265),o=r(96475),c=r(24679),u=r(14699),d=r(35706),s=r(34614),p=r(4192),f="USD",m=300,l=!0,y="https://ads.yieldmo.com/exchange/prebid",v="https://ads.yieldmo.com/pbcas",g="https://prebid-outstream.yieldmo.com/bundle.js",b=["mimes","startdelay","placement","startdelay","skipafter","protocols","api","playbackmethod","maxduration","minduration","pos","skip","skippable"],h=["name","domain","cat","keywords"],I=(0,i.getWindowTop)(),x=["description","title","pr","page_url"],k={code:"yieldmo",supportedMediaTypes:[c.Mk,c.pX],isBidRequestValid:function(e){return!!(e&&e.adUnitCode&&e.bidId&&(w(e)||E(e))&&function(e){if(!E(e))return!0;var t=function(e,t,r){var n='"'.concat(e,'" is required');throw r&&(n+=" when "+r),new Error(n)},r=function(e,t,r){throw r=r?", expected: "+r:"",t=JSON.stringify(t),new Error('"'.concat(e,'"=').concat(t," is invalid").concat(r))},n=function(e){return void 0!==e},o=function(t,r,n,i){if(0===t.indexOf("video")){var o="params."+t,c="mediaTypes."+t,u=(0,a.Z)(e,o),d=(0,a.Z)(e,c),s=r(u),p=r(d);return s?u:p||(s?p||n(c,d,i):n(o,u,i),u||d)}var f=(0,a.Z)(e,t);return r(f)||n(t,f,i),f};try{o("video.context",(function(e){return!(0,i.isEmpty)(e)}),t),o("params.placementId",(function(e){return!(0,i.isEmpty)(e)}),t),o("video.playerSize",(function(e){return(0,i.isArrayOfNums)(e,2)||(0,i.isArray)(e)&&e.every((function(e){return(0,i.isArrayOfNums)(e,2)}))}),r,"array of 2 integers, ex: [640,480] or [[640,480]]"),o("video.mimes",(function(e){return n(e)}),t),o("video.mimes",(function(e){return(0,i.isArray)(e)&&e.every((function(e){return(0,i.isStr)(e)}))}),r,'array of strings, ex: ["video/mp4"]');var c=o("video.placement",(function(e){return n(e)}),t);return o("video.placement",(function(e){return e>=1&&e<=5}),r),1===c&&(o("video.startdelay",(function(e){return n(e)}),(function(e,r){return t(e,r,"placement == 1")})),o("video.startdelay",(function(e){return(0,i.isNumber)(e)}),r,"number, ex: 5")),o("video.protocols",(function(e){return n(e)}),t),o("video.protocols",(function(e){return(0,i.isArrayOfNums)(e)&&e.every((function(e){return e>=1&&e<=6}))}),r,"array of numbers, ex: [2,3]"),o("video.api",(function(e){return n(e)}),t),o("video.api",(function(e){return(0,i.isArrayOfNums)(e)&&e.every((function(e){return e>=1&&e<=6}))}),r,"array of numbers, ex: [2,3]"),o("video.playbackmethod",(function(e){return!n(e)||(0,i.isArrayOfNums)(e)}),r,"array of integers, ex: [2,6]"),o("video.maxduration",(function(e){return n(e)}),t),o("video.maxduration",(function(e){return(0,i.isInteger)(e)}),r),o("video.minduration",(function(e){return!n(e)||(0,i.isNumber)(e)}),r),o("video.skippable",(function(e){return!n(e)||(0,i.isBoolean)(e)}),r),o("video.skipafter",(function(e){return!n(e)||(0,i.isNumber)(e)}),r),o("video.pos",(function(e){return!n(e)||(0,i.isNumber)(e)}),r),o("params.badv",(function(e){return!n(e)||(0,i.isArray)(e)}),r,'array of strings, ex: ["ford.com","pepsi.com"]'),o("params.bcat",(function(e){return!n(e)||(0,i.isArray)(e)}),r,'array of strings, ex: ["IAB1-5","IAB1-6"]'),!0}catch(e){return(0,i.logError)(e.message),!1}}(e))},buildRequests:function(e,t){var r=e.filter((function(e){return w(e)})),n=e.filter((function(e){return E(e)})),u=[],d=function(e){if((0,a.Z)(e,"userId"))return(0,p.HQ)(e.userId)||[]}(e[0])||[];if(r.length>0){var f={pbav:"7.17.0",p:[],page_url:t.refererInfo.page,bust:(new Date).getTime().toString(),dnt:"1"===window.doNotTrack||"1"===window.navigator.doNotTrack||!1,description:A(),userConsent:JSON.stringify({gdprApplies:(0,a.Z)(t,"gdprConsent.gdprApplies")||"",cmp:(0,a.Z)(t,"gdprConsent.consentString")||""}),us_privacy:(0,a.Z)(t,"uspConsent")||""};(function(){try{if((0,i.getWindowTop)().location.href)return!0}catch(e){return!1}})()&&(f.pr=I.document&&I.document.referrer||"",f.scrd=I.devicePixelRatio||0,f.title=I.document.title||"",f.w=I.innerWidth,f.h=I.innerHeight);var m=window.navigator.maxTouchPoints;m&&(f.mtp=m),r.forEach((function(e){f.p.push(function(e){var t=(0,a.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);var n=Z(e,c.Mk);n&&(r.bidFloor=n)}t&&(r.gpid=t);var i=(0,a.Z)(e,"ortb2Imp.ext.tid");i&&(r.tid=i);e.auctionId&&(r.auctionId=e.auctionId);return JSON.stringify(r)}(e));var t=O(e,"pubcid");t?f.pubcid=t:e.crumbs&&e.crumbs.pubcid&&(f.pubcid=e.crumbs.pubcid);var r=O(e,"tdid");r&&(f.tdid=r);var n=O(e,"criteoId");n&&(f.cri_prebid=n),e.schain&&(f.schain=JSON.stringify(e.schain)),(0,a.Z)(e,"params.lr_env")&&(f.ats_envelope=e.params.lr_env)})),f.p="["+f.p.toString()+"]",d.length&&(f.eids=JSON.stringify(d));var l="".concat(y,"?").concat((0,i.parseQueryStringParameters)(f)).length-8e3;if(l>0)for(var v=0;v<x.length&&!((l=N(l,f,x[v]))<=0);v++);u.push({method:"GET",url:y,data:f})}if(n.length>0){var g=function(e,t){var r=e[0].schain,n={id:e[0].bidderRequestId,at:1,imp:e.map((function(e){return function(e){var t=(0,a.Z)(e,"ortb2Imp.ext.data.pbadslot"),r=function(e){var t=(0,a.Z)(e,"mediaTypes.video.playerSize");if((0,i.isArrayOfNums)(t,2))return t;if((0,i.isArray)(t)&&(0,i.isArrayOfNums)(t[0],2))return t[0];return null}(e),n={id:e.bidId,tagid:e.adUnitCode,bidfloor:Z(e,c.pX),ext:{placement_id:e.params.placementId,tid:(0,a.Z)(e,"ortb2Imp.ext.tid")},video:{w:r[0],h:r[1],linearity:1}},o=(0,a.Z)(e,"mediaTypes.video");Object.keys(o).filter((function(e){return(0,s.q9)(b,e)})).forEach((function(e){return n.video[e]=o[e]}));var u=(0,a.Z)(e,"params.video");Object.keys(u).filter((function(e){return(0,s.q9)(b,e)})).forEach((function(e){return n.video[e]=u[e]})),n.video.skippable&&(n.video.skip=1,delete n.video.skippable);1!==n.video.placement&&(n.video.startdelay=0,n.video.playbackmethod=[2]);t&&(n.ext.gpid=t);return n}(e)})),site:T(e[0],t),device:S(e[0]),badv:e[0].params.badv||[],bcat:(0,a.Z)(t,"bcat")||e[0].params.bcat||[],ext:{prebid:"7.17.0"},ats_envelope:e[0].params.lr_env};r&&(n.schain=r);e[0].auctionId&&(n.auctionId=e[0].auctionId);return function(e,t){var r=t.gdprConsent;r&&"gdprApplies"in r&&((0,o.N)(e,"regs.ext.gdpr",r.gdprApplies?1:0),(0,o.N)(e,"user.ext.consent",r.consentString));var n=(0,a.Z)(t,"uspConsent");n&&(0,o.N)(e,"regs.ext.us_privacy",n)}(n,t),n}(n,t);d.length&&(g.user={eids:d}),u.push({method:"POST",url:"https://ads.yieldmo.com/exchange/prebidvideo",data:g})}return u},interpretResponse:function(e,t){var r=[],n=e.body;(n.length>0&&n.forEach((function(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:f,netRevenue:l,ttl:300,ad:e.ad,meta:{advertiserDomains:e.adomain||[],mediaType:c.Mk}}}(e))})),n.seatbid)&&n.seatbid.reduce((function(e,t){return e.concat(t.bid)}),[]).forEach((function(e){return r.push(function(e,t){var r=(0,s.sE)((0,a.Z)(t,"data.imp")||[],(function(t){return t.id===e.impid})),n={dealId:e.dealid,requestId:r.id,cpm:e.price,width:r.video.w,height:r.video.h,creativeId:e.crid||e.adid,currency:f,netRevenue:l,mediaType:c.pX,ttl:m,vastXml:e.adm,meta:{advertiserDomains:e.adomain||[],mediaType:c.pX}};if(r.video.placement&&1!==r.video.placement){var i=d.Th.install({url:g,config:{width:n.width,height:n.height,vastTimeout:15e3,maxAllowedVastTagRedirects:5,allowVpaid:!0,autoPlay:!0,preload:!0,mute:!0},id:r.tagid,loaded:!1});i.setRender((function(e){e.renderer.push((function(){var t=e.renderer,r=t.id,n=t.config;window.YMoutstreamPlayer(e,r,n)}))})),n.renderer=i}return n}(e,t))}));return r},getUserSyncs:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",i=[],a="&gdpr=".concat(r.gdprApplies?1:0),o="&gdpr_consent=".concat(encodeURIComponent(r.consentString||"")),c="us_privacy=".concat(encodeURIComponent(n)),u="".concat(v,"?").concat(c).concat(a).concat(o);return e.iframeEnabled?i.push({type:"iframe",url:u+"&type=iframe"}):e.pixelEnabled&&i.push({type:"image",url:u+"&type=image"}),i}};function w(e){return!!(0,a.Z)(e,"mediaTypes.banner")}function E(e){return!!(0,a.Z)(e,"mediaTypes.video")}function A(){return document.querySelector('meta[name="description"]')&&document.querySelector('meta[name="description"]').getAttribute("content")||""}function O(e,t){return"object"===(0,n.Z)((0,a.Z)(e,"userId"))?e.userId[t]:void 0}function Z(e,t){var r={};return"function"==typeof e.getFloor&&(r=e.getFloor({currency:f,mediaType:t,size:"*"})),r.floor||e.params.bidfloor||e.params.bidFloor||0}function T(e,t){var r,n={},o=(0,i.parseUrl)((0,a.Z)(t,"refererInfo.page"));(0,i.isEmpty)(o)||(n.page="".concat(o.protocol,"://").concat(o.hostname).concat(o.pathname)),null!==(r=t.refererInfo)&&void 0!==r&&r.ref&&(n.ref=t.refererInfo.ref);var c=document.getElementsByTagName("meta").keywords;c&&c.content&&(n.keywords=c.content);var u=(0,a.Z)(e,"params.site");return u&&Object.keys(u).filter((function(e){return(0,s.q9)(h,e)})).forEach((function(e){return n[e]=u[e]})),n}function S(e){return{ua:navigator.userAgent,language:navigator.language||navigator.browserLanguage||navigator.userLanguage||navigator.systemLanguage}}function N(e,t,r){if(t[r].length>e)return t[r]=t[r].substring(0,t[r].length-e),0;var n=e-t[r].length;return t[r]="",n}(0,u.dX)(k),window.pbjs.installedModules.push("yieldmoBidAdapter")}},function(e){var t;t=55511,e(e.s=t)}]);
1
+ (self.pbjsChunk=self.pbjsChunk||[]).push([[5337],{4192:function(e,t,r){r.d(t,{HQ:function(){return c},Pv:function(){return u},UR:function(){return a}});var n=r(64358),i=r(20265),a={growthCodeId:{getValue:function(e){return e.gc_id},source:"growthcode.io",atype:1,getUidExt:function(e){var t=(0,n.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},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){var t="";return e.DeviceID&&(t=e.DeviceID.join(",")),t},getUidExt:function(e){return"DeviceID"}},parrableId:{source:"parrable.com",atype:1,getValue:function(e){return e.eid?e.eid:e.ccpaOptout?"":null},getUidExt:function(e){var t=(0,n.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}}},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 e.snowflake},source:"novatiq.com",atype:1},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:"amxrtb.com",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},cpexId:{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]){var t=e.identifiers[0];return{version:t.version,type:t.type,source:t.source}}}}};function o(e,t){var r=a[t];if(r&&e){var i={};i.source=(0,n.isFn)(r.getSource)?r.getSource(e):r.source;var o=(0,n.isFn)(r.getValue)?r.getValue(e):e;if((0,n.isStr)(o)){var c={id:o,atype:r.atype};if((0,n.isFn)(r.getUidExt)){var u=r.getUidExt(e);u&&(c.ext=u)}if(i.uids=[c],(0,n.isFn)(r.getEidExt)){var d=r.getEidExt(e);d&&(i.ext=d)}return i}}return null}function c(e){var t=[],r=function(r){if(e.hasOwnProperty(r))if("pubProvidedId"===r)t=t.concat(e.pubProvidedId);else if("ftrackId"===r){var n={atype:1,id:(e.ftrackId.DeviceID||[]).join("|"),ext:{}};for(var i in e.ftrackId)n.ext[i]=(e.ftrackId[i]||[]).join("|");t.push(n)}else if(Array.isArray(e[r]))e[r].forEach((function(e,n,i){var a=o(e,r);a&&t.push(a)}));else{var a=o(e[r],r);a&&t.push(a)}};for(var n in e)r(n);return t}function u(e){var t=[];return e.filter((function(e){return(0,n.isPlainObject)(e.idObj)&&Object.keys(e.idObj).length})).forEach((function(e){Object.keys(e.idObj).forEach((function(r){(0,i.Z)(e,"config.bidders")&&Array.isArray(e.config.bidders)&&(0,i.Z)(a,r+".source")&&t.push({source:a[r].source,bidders:e.config.bidders})}))})),t}},55511:function(e,t,r){var n=r(71002),i=r(64358),a=r(20265),o=r(96475),c=r(24679),u=r(14699),d=r(35706),s=r(34614),p=r(4192),f="USD",m=300,l=!0,y="https://ads.yieldmo.com/exchange/prebid",v="https://ads.yieldmo.com/pbcas",g="https://prebid-outstream.yieldmo.com/bundle.js",h=["mimes","startdelay","placement","startdelay","skipafter","protocols","api","playbackmethod","maxduration","minduration","pos","skip","skippable"],b=["name","domain","cat","keywords"],I=(0,i.getWindowTop)(),x=["description","title","pr","page_url"],k={code:"yieldmo",supportedMediaTypes:[c.Mk,c.pX],isBidRequestValid:function(e){return!!(e&&e.adUnitCode&&e.bidId&&(w(e)||E(e))&&function(e){if(!E(e))return!0;var t=function(e,t,r){var n='"'.concat(e,'" is required');throw r&&(n+=" when "+r),new Error(n)},r=function(e,t,r){throw r=r?", expected: "+r:"",t=JSON.stringify(t),new Error('"'.concat(e,'"=').concat(t," is invalid").concat(r))},n=function(e){return void 0!==e},o=function(t,r,n,i){if(0===t.indexOf("video")){var o="params."+t,c="mediaTypes."+t,u=(0,a.Z)(e,o),d=(0,a.Z)(e,c),s=r(u),p=r(d);return s?u:p||(s?p||n(c,d,i):n(o,u,i),u||d)}var f=(0,a.Z)(e,t);return r(f)||n(t,f,i),f};try{o("video.context",(function(e){return!(0,i.isEmpty)(e)}),t),o("params.placementId",(function(e){return!(0,i.isEmpty)(e)}),t),o("video.playerSize",(function(e){return(0,i.isArrayOfNums)(e,2)||(0,i.isArray)(e)&&e.every((function(e){return(0,i.isArrayOfNums)(e,2)}))}),r,"array of 2 integers, ex: [640,480] or [[640,480]]"),o("video.mimes",(function(e){return n(e)}),t),o("video.mimes",(function(e){return(0,i.isArray)(e)&&e.every((function(e){return(0,i.isStr)(e)}))}),r,'array of strings, ex: ["video/mp4"]');var c=o("video.placement",(function(e){return n(e)}),t);return o("video.placement",(function(e){return e>=1&&e<=5}),r),1===c&&(o("video.startdelay",(function(e){return n(e)}),(function(e,r){return t(e,r,"placement == 1")})),o("video.startdelay",(function(e){return(0,i.isNumber)(e)}),r,"number, ex: 5")),o("video.protocols",(function(e){return n(e)}),t),o("video.protocols",(function(e){return(0,i.isArrayOfNums)(e)&&e.every((function(e){return e>=1&&e<=6}))}),r,"array of numbers, ex: [2,3]"),o("video.api",(function(e){return n(e)}),t),o("video.api",(function(e){return(0,i.isArrayOfNums)(e)&&e.every((function(e){return e>=1&&e<=6}))}),r,"array of numbers, ex: [2,3]"),o("video.playbackmethod",(function(e){return!n(e)||(0,i.isArrayOfNums)(e)}),r,"array of integers, ex: [2,6]"),o("video.maxduration",(function(e){return n(e)}),t),o("video.maxduration",(function(e){return(0,i.isInteger)(e)}),r),o("video.minduration",(function(e){return!n(e)||(0,i.isNumber)(e)}),r),o("video.skippable",(function(e){return!n(e)||(0,i.isBoolean)(e)}),r),o("video.skipafter",(function(e){return!n(e)||(0,i.isNumber)(e)}),r),o("video.pos",(function(e){return!n(e)||(0,i.isNumber)(e)}),r),o("params.badv",(function(e){return!n(e)||(0,i.isArray)(e)}),r,'array of strings, ex: ["ford.com","pepsi.com"]'),o("params.bcat",(function(e){return!n(e)||(0,i.isArray)(e)}),r,'array of strings, ex: ["IAB1-5","IAB1-6"]'),!0}catch(e){return(0,i.logError)(e.message),!1}}(e))},buildRequests:function(e,t){var r=e.filter((function(e){return w(e)})),n=e.filter((function(e){return E(e)})),u=[],d=function(e){if((0,a.Z)(e,"userId"))return(0,p.HQ)(e.userId)||[]}(e[0])||[];if(r.length>0){var f={pbav:"7.18.0",p:[],page_url:t.refererInfo.page,bust:(new Date).getTime().toString(),dnt:"1"===window.doNotTrack||"1"===window.navigator.doNotTrack||!1,description:A(),userConsent:JSON.stringify({gdprApplies:(0,a.Z)(t,"gdprConsent.gdprApplies")||"",cmp:(0,a.Z)(t,"gdprConsent.consentString")||""}),us_privacy:(0,a.Z)(t,"uspConsent")||""};(function(){try{if((0,i.getWindowTop)().location.href)return!0}catch(e){return!1}})()&&(f.pr=I.document&&I.document.referrer||"",f.scrd=I.devicePixelRatio||0,f.title=I.document.title||"",f.w=I.innerWidth,f.h=I.innerHeight);var m=window.navigator.maxTouchPoints;m&&(f.mtp=m),r.forEach((function(e){f.p.push(function(e){var t=(0,a.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);var n=Z(e,c.Mk);n&&(r.bidFloor=n)}t&&(r.gpid=t);var i=(0,a.Z)(e,"ortb2Imp.ext.tid");i&&(r.tid=i);e.auctionId&&(r.auctionId=e.auctionId);return JSON.stringify(r)}(e));var t=O(e,"pubcid");t?f.pubcid=t:e.crumbs&&e.crumbs.pubcid&&(f.pubcid=e.crumbs.pubcid);var r=O(e,"tdid");r&&(f.tdid=r);var n=O(e,"criteoId");n&&(f.cri_prebid=n),e.schain&&(f.schain=JSON.stringify(e.schain)),(0,a.Z)(e,"params.lr_env")&&(f.ats_envelope=e.params.lr_env)})),f.p="["+f.p.toString()+"]",d.length&&(f.eids=JSON.stringify(d));var l="".concat(y,"?").concat((0,i.parseQueryStringParameters)(f)).length-8e3;if(l>0)for(var v=0;v<x.length&&!((l=j(l,f,x[v]))<=0);v++);u.push({method:"GET",url:y,data:f})}if(n.length>0){var g=function(e,t){var r=e[0].schain,n={id:e[0].bidderRequestId,at:1,imp:e.map((function(e){return function(e){var t=(0,a.Z)(e,"ortb2Imp.ext.data.pbadslot"),r=function(e){var t=(0,a.Z)(e,"mediaTypes.video.playerSize");if((0,i.isArrayOfNums)(t,2))return t;if((0,i.isArray)(t)&&(0,i.isArrayOfNums)(t[0],2))return t[0];return null}(e),n={id:e.bidId,tagid:e.adUnitCode,bidfloor:Z(e,c.pX),ext:{placement_id:e.params.placementId,tid:(0,a.Z)(e,"ortb2Imp.ext.tid")},video:{w:r[0],h:r[1],linearity:1}},o=(0,a.Z)(e,"mediaTypes.video");Object.keys(o).filter((function(e){return(0,s.q9)(h,e)})).forEach((function(e){return n.video[e]=o[e]}));var u=(0,a.Z)(e,"params.video");Object.keys(u).filter((function(e){return(0,s.q9)(h,e)})).forEach((function(e){return n.video[e]=u[e]})),n.video.skippable&&(n.video.skip=1,delete n.video.skippable);1!==n.video.placement&&(n.video.startdelay=0,n.video.playbackmethod=[2]);t&&(n.ext.gpid=t);return n}(e)})),site:T(e[0],t),device:S(e[0]),badv:e[0].params.badv||[],bcat:(0,a.Z)(t,"bcat")||e[0].params.bcat||[],ext:{prebid:"7.18.0"},ats_envelope:e[0].params.lr_env};r&&(n.schain=r);e[0].auctionId&&(n.auctionId=e[0].auctionId);return function(e,t){var r=t.gdprConsent;r&&"gdprApplies"in r&&((0,o.N)(e,"regs.ext.gdpr",r.gdprApplies?1:0),(0,o.N)(e,"user.ext.consent",r.consentString));var n=(0,a.Z)(t,"uspConsent");n&&(0,o.N)(e,"regs.ext.us_privacy",n)}(n,t),n}(n,t);d.length&&(g.user={eids:d}),u.push({method:"POST",url:"https://ads.yieldmo.com/exchange/prebidvideo",data:g})}return u},interpretResponse:function(e,t){var r=[],n=e.body;(n.length>0&&n.forEach((function(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:f,netRevenue:l,ttl:300,ad:e.ad,meta:{advertiserDomains:e.adomain||[],mediaType:c.Mk}}}(e))})),n.seatbid)&&n.seatbid.reduce((function(e,t){return e.concat(t.bid)}),[]).forEach((function(e){return r.push(function(e,t){var r=(0,s.sE)((0,a.Z)(t,"data.imp")||[],(function(t){return t.id===e.impid})),n={dealId:e.dealid,requestId:r.id,cpm:e.price,width:r.video.w,height:r.video.h,creativeId:e.crid||e.adid,currency:f,netRevenue:l,mediaType:c.pX,ttl:m,vastXml:e.adm,meta:{advertiserDomains:e.adomain||[],mediaType:c.pX}};if(r.video.placement&&1!==r.video.placement){var i=d.Th.install({url:g,config:{width:n.width,height:n.height,vastTimeout:15e3,maxAllowedVastTagRedirects:5,allowVpaid:!0,autoPlay:!0,preload:!0,mute:!0},id:r.tagid,loaded:!1});i.setRender((function(e){e.renderer.push((function(){var t=e.renderer,r=t.id,n=t.config;window.YMoutstreamPlayer(e,r,n)}))})),n.renderer=i}return n}(e,t))}));return r},getUserSyncs:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",i=[],a="&gdpr=".concat(r.gdprApplies?1:0),o="&gdpr_consent=".concat(encodeURIComponent(r.consentString||"")),c="us_privacy=".concat(encodeURIComponent(n)),u="".concat(v,"?").concat(c).concat(a).concat(o);return e.iframeEnabled?i.push({type:"iframe",url:u+"&type=iframe"}):e.pixelEnabled&&i.push({type:"image",url:u+"&type=image"}),i}};function w(e){return!!(0,a.Z)(e,"mediaTypes.banner")}function E(e){return!!(0,a.Z)(e,"mediaTypes.video")}function A(){return document.querySelector('meta[name="description"]')&&document.querySelector('meta[name="description"]').getAttribute("content")||""}function O(e,t){return"object"===(0,n.Z)((0,a.Z)(e,"userId"))?e.userId[t]:void 0}function Z(e,t){var r={};return"function"==typeof e.getFloor&&(r=e.getFloor({currency:f,mediaType:t,size:"*"})),r.floor||e.params.bidfloor||e.params.bidFloor||0}function T(e,t){var r,n={},o=(0,i.parseUrl)((0,a.Z)(t,"refererInfo.page"));(0,i.isEmpty)(o)||(n.page="".concat(o.protocol,"://").concat(o.hostname).concat(o.pathname)),null!==(r=t.refererInfo)&&void 0!==r&&r.ref&&(n.ref=t.refererInfo.ref);var c=document.getElementsByTagName("meta").keywords;c&&c.content&&(n.keywords=c.content);var u=(0,a.Z)(e,"params.site");return u&&Object.keys(u).filter((function(e){return(0,s.q9)(b,e)})).forEach((function(e){return n[e]=u[e]})),n}function S(e){return{ua:navigator.userAgent,language:navigator.language||navigator.browserLanguage||navigator.userLanguage||navigator.systemLanguage}}function j(e,t,r){if(t[r].length>e)return t[r]=t[r].substring(0,t[r].length-e),0;var n=e-t[r].length;return t[r]="",n}(0,u.dX)(k),window.pbjs.installedModules.push("yieldmoBidAdapter")}},function(e){var t;t=55511,e(e.s=t)}]);
@@ -1 +1 @@
1
- (self.pbjsChunk=self.pbjsChunk||[]).push([[4572],{83519:function(e,t,n){var a=n(64358),i=n(48928),o=n(64563),r=n(5644),d=n(9528),s=n(18621),c=n(78653),u={},v={},g={},f={};f[r.FP.BID_ADJUSTMENT]=!0,f[r.FP.BIDDER_DONE]=!0,f[r.FP.AUCTION_END]=!0;var l="",p="https://pool.tsukiji.iponweb.net/hba",b="";function I(e,t){e.adUnitCode&&t[e.adUnitCode]&&(e.adUnitName=t[e.adUnitCode]),(0,a.isArray)(e.adUnits)&&e.adUnits.forEach((function(e){e.code&&t[e.code]&&(e.name=t[e.code])})),(0,a.isArray)(e.adUnitCodes)&&(e.adUnitNames=e.adUnitCodes.map((function(e){return t[e]}))),["bids","bidderRequests","bidsReceived","noBids"].forEach((function(n){!function(e,t){(0,a.isArray)(e)&&e.forEach((function(e){I(e,t)}))}(e[n],t)}))}var h=Object.assign((0,o.Z)({analyticsType:"endpoint"}),{getUrl:function(){return p},track:function(e){var t=e.eventType,n=e.args,i=void 0===n?{}:n;if(t===r.FP.BID_REQUESTED){var o="".concat(i.bidderCode,"_").concat(i.auctionId);u[o]=(0,a.deepClone)(i),u[o].bids=[],i.bids.forEach((function(e){v["".concat(e.bidId,"_").concat(e.auctionId)]=e}))}if(t===r.FP.BID_TIMEOUT&&(0,a.isArray)(i)){var d=h.eventsStorage,p={};i.forEach((function(e){var n="".concat(e.bidId,"_").concat(e.auctionId),a="".concat(e.bidder,"_").concat(e.auctionId);d[e.auctionId]||(d[e.auctionId]={events:[]}),(u[a]||p[e.bidder])&&v[n]&&(p[e.bidder]||(p[e.bidder]=u[a],d[e.auctionId].events.push({eventType:t,params:p[e.bidder]}),delete u[a]),p[e.bidder].bids.push(v[n]),delete v[n])}))}else if(l=i.auctionId||l){var S=h.eventsStorage;S[l]||(S[l]={events:[]});var y=i.refererInfo&&i.refererInfo.page;y&&g[l]!==y&&(g[l]=y);var E=Object.assign({},i);if(delete E.ad,E.bidsReceived&&(E.bidsReceived=E.bidsReceived.map((function(e){var t=Object.assign({},e);return delete t.ad,t}))),f[t]||S[l].events.push({eventType:t,params:E}),t===r.FP.AUCTION_END||t===r.FP.BID_WON){if(E.adServerTargeting=s.q0.getAllTargeting(c.K.getAdUnitCodes(),c.K.getBidsReceived()),h.eventsStorage[l]&&h.eventsStorage[l].events.length){h.eventsStorage[l].page={url:g[l]},h.eventsStorage[l].pubId=b,h.eventsStorage[l].wrapper_version="7.17.0";var A=function(){if(window.googletag&&window.googletag.pubads){var e=googletag.pubads();if(e&&e.getSlots){var t=e.getSlots();if(t&&t.length){var n={};return t.forEach((function(e){var t=e.getSlotElementId(),a=(e.getAdUnitPath()||"").split("/").pop();n[t]=a})),n}}}}();A&&h.eventsStorage[l].events.forEach((function(e){I(e.params,A)}))}h.sendStat(h.eventsStorage[l],l)}}},sendStat:function(e,t){e&&e.events&&e.events.length&&(delete h.eventsStorage[t],(0,i.h)(p,{success:function(){},error:function(){}},JSON.stringify(e),{method:"POST"}))}});h.eventsStorage={},h.originEnableAnalytics=h.enableAnalytics,h.enableAnalytics=function(e){var t=e&&e.options;t&&("string"==typeof t.url&&(p=t.url),t.pubId&&(b=t.pubId.toString())),h.originEnableAnalytics(e)},d.ZP.registerAnalyticsAdapter({adapter:h,code:"yieldone"});window.pbjs.installedModules.push("yieldoneAnalyticsAdapter")}},function(e){e.O(0,[4861],(function(){return t=83519,e(e.s=t);var t}));e.O()}]);
1
+ (self.pbjsChunk=self.pbjsChunk||[]).push([[4572],{83519:function(e,t,n){var a=n(64358),i=n(48928),o=n(64563),r=n(5644),d=n(9528),s=n(18621),c=n(78653),u={},v={},g={},f={};f[r.FP.BID_ADJUSTMENT]=!0,f[r.FP.BIDDER_DONE]=!0,f[r.FP.AUCTION_END]=!0;var l="",p="https://pool.tsukiji.iponweb.net/hba",b="";function I(e,t){e.adUnitCode&&t[e.adUnitCode]&&(e.adUnitName=t[e.adUnitCode]),(0,a.isArray)(e.adUnits)&&e.adUnits.forEach((function(e){e.code&&t[e.code]&&(e.name=t[e.code])})),(0,a.isArray)(e.adUnitCodes)&&(e.adUnitNames=e.adUnitCodes.map((function(e){return t[e]}))),["bids","bidderRequests","bidsReceived","noBids"].forEach((function(n){!function(e,t){(0,a.isArray)(e)&&e.forEach((function(e){I(e,t)}))}(e[n],t)}))}var h=Object.assign((0,o.Z)({analyticsType:"endpoint"}),{getUrl:function(){return p},track:function(e){var t=e.eventType,n=e.args,i=void 0===n?{}:n;if(t===r.FP.BID_REQUESTED){var o="".concat(i.bidderCode,"_").concat(i.auctionId);u[o]=(0,a.deepClone)(i),u[o].bids=[],i.bids.forEach((function(e){v["".concat(e.bidId,"_").concat(e.auctionId)]=e}))}if(t===r.FP.BID_TIMEOUT&&(0,a.isArray)(i)){var d=h.eventsStorage,p={};i.forEach((function(e){var n="".concat(e.bidId,"_").concat(e.auctionId),a="".concat(e.bidder,"_").concat(e.auctionId);d[e.auctionId]||(d[e.auctionId]={events:[]}),(u[a]||p[e.bidder])&&v[n]&&(p[e.bidder]||(p[e.bidder]=u[a],d[e.auctionId].events.push({eventType:t,params:p[e.bidder]}),delete u[a]),p[e.bidder].bids.push(v[n]),delete v[n])}))}else if(l=i.auctionId||l){var S=h.eventsStorage;S[l]||(S[l]={events:[]});var y=i.refererInfo&&i.refererInfo.page;y&&g[l]!==y&&(g[l]=y);var E=Object.assign({},i);if(delete E.ad,E.bidsReceived&&(E.bidsReceived=E.bidsReceived.map((function(e){var t=Object.assign({},e);return delete t.ad,t}))),f[t]||S[l].events.push({eventType:t,params:E}),t===r.FP.AUCTION_END||t===r.FP.BID_WON){if(E.adServerTargeting=s.q0.getAllTargeting(c.K.getAdUnitCodes(),c.K.getBidsReceived()),h.eventsStorage[l]&&h.eventsStorage[l].events.length){h.eventsStorage[l].page={url:g[l]},h.eventsStorage[l].pubId=b,h.eventsStorage[l].wrapper_version="7.18.0";var A=function(){if(window.googletag&&window.googletag.pubads){var e=googletag.pubads();if(e&&e.getSlots){var t=e.getSlots();if(t&&t.length){var n={};return t.forEach((function(e){var t=e.getSlotElementId(),a=(e.getAdUnitPath()||"").split("/").pop();n[t]=a})),n}}}}();A&&h.eventsStorage[l].events.forEach((function(e){I(e.params,A)}))}h.sendStat(h.eventsStorage[l],l)}}},sendStat:function(e,t){e&&e.events&&e.events.length&&(delete h.eventsStorage[t],(0,i.h)(p,{success:function(){},error:function(){}},JSON.stringify(e),{method:"POST"}))}});h.eventsStorage={},h.originEnableAnalytics=h.enableAnalytics,h.enableAnalytics=function(e){var t=e&&e.options;t&&("string"==typeof t.url&&(p=t.url),t.pubId&&(b=t.pubId.toString())),h.originEnableAnalytics(e)},d.ZP.registerAnalyticsAdapter({adapter:h,code:"yieldone"});window.pbjs.installedModules.push("yieldoneAnalyticsAdapter")}},function(e){e.O(0,[4861],(function(){return t=83519,e(e.s=t);var t}));e.O()}]);
@@ -794,9 +794,10 @@ function getSlotPosition(adUnitElementId) {
794
794
 
795
795
  if (mustDisplayElement) {
796
796
  domElement.style = domElement.style || {};
797
+ const originalDisplay = domElement.style.display;
797
798
  domElement.style.display = 'block';
798
799
  box = domElement.getBoundingClientRect();
799
- domElement.style.display = elComputedDisplay;
800
+ domElement.style.display = originalDisplay || null;
800
801
  }
801
802
  position.x = Math.round(box.left + scrollLeft - clientLeft);
802
803
  position.y = Math.round(box.top + scrollTop - clientTop);
@@ -1,6 +1,6 @@
1
1
  import {registerBidder} from '../src/adapters/bidderFactory.js';
2
2
  import {BANNER} from '../src/mediaTypes.js';
3
- import { logInfo, buildUrl, triggerPixel } from '../src/utils.js';
3
+ import { logInfo, buildUrl, triggerPixel, parseSizesInput } from '../src/utils.js';
4
4
  import { getStorageManager } from '../src/storageManager.js';
5
5
 
6
6
  const ADQUERY_GVLID = 902;
@@ -24,7 +24,7 @@ export const spec = {
24
24
  * @return {boolean}
25
25
  */
26
26
  isBidRequestValid: (bid) => {
27
- return !!(bid && bid.params && bid.params.placementId)
27
+ return !!(bid && bid.params && bid.params.placementId && bid.mediaTypes.banner.sizes)
28
28
  },
29
29
 
30
30
  /**
@@ -202,6 +202,8 @@ function buildRequest(validBidRequests, bidderRequest) {
202
202
  bidderRequestId: bid.bidderRequestId,
203
203
  bidRequestsCount: bid.bidRequestsCount,
204
204
  bidderRequestsCount: bid.bidderRequestsCount,
205
+ sizes: parseSizesInput(bid.mediaTypes.banner.sizes).toString(),
206
+
205
207
  };
206
208
  }
207
209
 
@@ -21,7 +21,7 @@ let allEvents = {}
21
21
  let auctionEnd = {}
22
22
  let initOptions = {}
23
23
  let endpoint = 'https://default'
24
- let requestsAttributes = ['adUnitCode', 'auctionId', 'bidder', 'bidderCode', 'bidId', 'cpm', 'creativeId', 'currency', 'width', 'height', 'mediaType', 'netRevenue', 'originalCpm', 'originalCurrency', 'requestId', 'size', 'source', 'status', 'timeToRespond', 'transactionId', 'ttl', 'sizes', 'mediaTypes', 'src', 'params', 'userId', 'labelAny', 'bids'];
24
+ let requestsAttributes = ['adUnitCode', 'auctionId', 'bidder', 'bidderCode', 'bidId', 'cpm', 'creativeId', 'currency', 'width', 'height', 'mediaType', 'netRevenue', 'originalCpm', 'originalCurrency', 'requestId', 'size', 'source', 'status', 'timeToRespond', 'transactionId', 'ttl', 'sizes', 'mediaTypes', 'src', 'params', 'userId', 'labelAny', 'bids', 'adId'];
25
25
 
26
26
  function getAdapterNameForAlias(aliasName) {
27
27
  return adapterManager.aliasRegistry[aliasName] || aliasName;
@@ -39,7 +39,7 @@ let hasSynced = false;
39
39
 
40
40
  export const spec = {
41
41
  code: BIDDER_CODE,
42
- aliases: ['playwire', 'adlivetech', 'trustx'],
42
+ aliases: ['playwire', 'adlivetech', { code: 'trustx', skipPbsAliasing: true }],
43
43
  supportedMediaTypes: [ BANNER, VIDEO ],
44
44
  /**
45
45
  * Determines whether or not the given bid request is valid.
@@ -0,0 +1,164 @@
1
+ /**
2
+ * This module adds GrowthCodeId to the User ID module
3
+ * The {@link module:modules/userId} module is required
4
+ * @module modules/growthCodeIdSystem
5
+ * @requires module:modules/userId
6
+ */
7
+
8
+ import {logError, logInfo, tryAppendQueryString} from '../src/utils.js';
9
+ import {ajax} from '../src/ajax.js';
10
+ import { submodule } from '../src/hook.js'
11
+ import { getStorageManager } from '../src/storageManager.js';
12
+
13
+ const GCID_EXPIRY = 45;
14
+ const MODULE_NAME = 'growthCodeId';
15
+ const GC_DATA_KEY = '_gc_data';
16
+ const ENDPOINT_URL = 'https://p2.gcprivacy.com/v1/pb?'
17
+
18
+ export const storage = getStorageManager({ gvlid: undefined, moduleName: MODULE_NAME });
19
+
20
+ /**
21
+ * Read GrowthCode data from cookie or local storage
22
+ * @param key
23
+ * @return {string}
24
+ */
25
+ export function readData(key) {
26
+ try {
27
+ if (storage.hasLocalStorage()) {
28
+ return storage.getDataFromLocalStorage(key);
29
+ }
30
+ if (storage.cookiesAreEnabled()) {
31
+ return storage.getCookie(key);
32
+ }
33
+ } catch (error) {
34
+ logError(error);
35
+ }
36
+ }
37
+
38
+ /**
39
+ * Store GrowthCode data in either cookie or local storage
40
+ * expiration date: 45 days
41
+ * @param key
42
+ * @param {string} value
43
+ */
44
+ function storeData(key, value) {
45
+ try {
46
+ logInfo(MODULE_NAME + ': storing data: key=' + key + ' value=' + value);
47
+
48
+ if (value) {
49
+ if (storage.hasLocalStorage()) {
50
+ storage.setDataInLocalStorage(key, value);
51
+ }
52
+ const expiresStr = (new Date(Date.now() + (GCID_EXPIRY * (60 * 60 * 24 * 1000)))).toUTCString();
53
+ if (storage.cookiesAreEnabled()) {
54
+ storage.setCookie(key, value, expiresStr, 'LAX');
55
+ }
56
+ }
57
+ } catch (error) {
58
+ logError(error);
59
+ }
60
+ }
61
+
62
+ /**
63
+ * Parse json if possible, else return null
64
+ * @param data
65
+ * @param {object|null}
66
+ */
67
+ function tryParse(data) {
68
+ try {
69
+ return JSON.parse(data);
70
+ } catch (err) {
71
+ logError(err);
72
+ return null;
73
+ }
74
+ }
75
+
76
+ /** @type {Submodule} */
77
+ export const growthCodeIdSubmodule = {
78
+ /**
79
+ * used to link submodule with config
80
+ * @type {string}
81
+ */
82
+ name: MODULE_NAME,
83
+ /**
84
+ * decode the stored id value for passing to bid requests
85
+ * @function
86
+ * @param {{string}} value
87
+ * @returns {{growthCodeId: {string}}|undefined}
88
+ */
89
+ decode(value) {
90
+ return value && value !== '' ? { 'growthCodeId': value } : undefined;
91
+ },
92
+ /**
93
+ * performs action to obtain id and return a value in the callback's response argument
94
+ * @function
95
+ * @param {SubmoduleConfig} [config]
96
+ * @returns {IdResponse|undefined}
97
+ */
98
+ getId(config, consentData) {
99
+ const configParams = (config && config.params) || {};
100
+ if (!configParams || typeof configParams.pid !== 'string') {
101
+ logError('User ID - GrowthCodeID submodule requires a valid Partner ID to be defined');
102
+ return;
103
+ }
104
+
105
+ const gdpr = (consentData && typeof consentData.gdprApplies === 'boolean' && consentData.gdprApplies) ? 1 : 0;
106
+ const consentString = gdpr ? consentData.consentString : '';
107
+ if (gdpr && !consentString) {
108
+ logInfo('Consent string is required to call GrowthCode id.');
109
+ return;
110
+ }
111
+
112
+ let publisherId = configParams.publisher_id ? configParams.publisher_id : '_sharedID';
113
+
114
+ let sharedId;
115
+ if (configParams.publisher_id_storage === 'html5') {
116
+ sharedId = storage.getDataFromLocalStorage(publisherId, null) ? (storage.getDataFromLocalStorage(publisherId, null)) : null;
117
+ } else {
118
+ sharedId = storage.getCookie(publisherId, null) ? (storage.getCookie(publisherId, null)) : null;
119
+ }
120
+ if (!sharedId) {
121
+ logError('User ID - Publisher ID is not correctly setup.');
122
+ }
123
+
124
+ const resp = function(callback) {
125
+ let gcData = tryParse(readData(GC_DATA_KEY));
126
+ if (gcData) {
127
+ callback(gcData);
128
+ } else {
129
+ let segment = window.location.pathname.substr(1).replace(/\/+$/, '');
130
+ if (segment === '') {
131
+ segment = 'home';
132
+ }
133
+
134
+ let url = configParams.url ? configParams.url : ENDPOINT_URL;
135
+ url = tryAppendQueryString(url, 'pid', configParams.pid);
136
+ url = tryAppendQueryString(url, 'uid', sharedId);
137
+ url = tryAppendQueryString(url, 'u', window.location.href);
138
+ url = tryAppendQueryString(url, 'h', window.location.hostname);
139
+ url = tryAppendQueryString(url, 's', segment);
140
+ url = tryAppendQueryString(url, 'r', document.referrer);
141
+
142
+ ajax(url, {
143
+ success: response => {
144
+ let respJson = tryParse(response);
145
+ // If response is a valid json and should save is true
146
+ if (respJson) {
147
+ storeData(GC_DATA_KEY, JSON.stringify(respJson))
148
+ callback(respJson);
149
+ } else {
150
+ callback();
151
+ }
152
+ },
153
+ error: error => {
154
+ logError(MODULE_NAME + ': ID fetch encountered an error', error);
155
+ callback();
156
+ }
157
+ }, undefined, {method: 'GET', withCredentials: true})
158
+ }
159
+ };
160
+ return { callback: resp };
161
+ }
162
+ };
163
+
164
+ submodule('userId', growthCodeIdSubmodule);
@@ -0,0 +1,37 @@
1
+ ## GrowthCode User ID Submodule
2
+
3
+ GrowthCode provides Id Enrichment for requests.
4
+
5
+ ## Building Prebid with GrowthCode Support
6
+
7
+ First, make sure to add the GrowthCode submodule to your Prebid.js package with:
8
+
9
+ ```
10
+ gulp build --modules=growthCodeIdSystem,userId
11
+ ```
12
+
13
+ The following configuration parameters are available:
14
+
15
+ ```javascript
16
+ pbjs.setConfig({
17
+ userSync: {
18
+ userIds: [{
19
+ name: 'growthCodeId',
20
+ params: {
21
+ pid: 'TEST01', // Set your Partner ID here for production (obtained from Growthcode)
22
+ publisher_id: '_sharedID',
23
+ publisher_id_storage: 'html5'
24
+ }
25
+ }]
26
+ }
27
+ });
28
+ ```
29
+
30
+ | Param under userSync.userIds[] | Scope | Type | Description | Example |
31
+ |--------------------------------|----------|--------| --- |-----------------|
32
+ | name | Required | String | The name of this module. | `"growthCodeId"` |
33
+ | params | Required | Object | Details of module params. | |
34
+ | params.pid | Required | String | This is the Parter ID value obtained from GrowthCode | `"TEST01"` |
35
+ | params.url | Optional | String | Custom URL for server | |
36
+ | params.publisher_id | Optional | String | Name if the variable that holds your publisher ID | `"_sharedID"` |
37
+ | params.publisher_id_storage | Optional | String | Publisher ID storage (cookie, html5) | `"html5"` |
@@ -465,8 +465,9 @@ export function parseFloorPriceData(bidRequest) {
465
465
  // Setup price floor data per media type
466
466
  let mediaTypeData = bidMediaTypes[mediaType]
467
467
  let mediaTypeFloorPriceData = {}
468
+ let mediaTypeSizes = mediaTypeData.sizes || mediaTypeData.playerSize || [];
468
469
  // Step through each size of the media type so we can get floor data for each size per media type
469
- mediaTypeData.sizes.forEach((size) => {
470
+ mediaTypeSizes.forEach((size) => {
470
471
  // Get floor price data per the getFloor method and respective media type / size combination
471
472
  const priceFloorData = bidRequest.getFloor({
472
473
  currency: FLOOR_PRICE_CURRENCY,
@@ -8,6 +8,8 @@ import {
8
8
  logMessage,
9
9
  parseUrl,
10
10
  triggerPixel,
11
+ getDefinedParams,
12
+ parseGPTSingleSizeArrayToRtbSize,
11
13
  } from '../src/utils.js';
12
14
 
13
15
  import CONSTANTS from '../src/constants.json';
@@ -22,6 +24,10 @@ const ENDPOINT = 'https://pbs.nextmillmedia.com/openrtb2/auction';
22
24
  const TEST_ENDPOINT = 'https://test.pbs.nextmillmedia.com/openrtb2/auction';
23
25
  const SYNC_ENDPOINT = 'https://statics.nextmillmedia.com/load-cookie.html?v=4';
24
26
  const TIME_TO_LIVE = 360;
27
+ const VIDEO_PARAMS = [
28
+ 'api', 'linearity', 'maxduration', 'mimes', 'minduration', 'placement',
29
+ 'playbackmethod', 'protocols', 'startdelay'
30
+ ];
25
31
 
26
32
  const EXPIRENCE_WURL = 20 * 60000;
27
33
  const wurlMap = {};
@@ -72,21 +78,38 @@ export const spec = {
72
78
 
73
79
  device,
74
80
  site,
75
- 'imp': [{
76
- 'banner': {
77
- 'format': (sizes || []).map(s => { return {w: s[0], h: s[1]} })
78
- },
81
+ imp: []
82
+ };
79
83
 
80
- 'ext': {
81
- 'prebid': {
82
- 'storedrequest': {
83
- 'id': id
84
- }
85
- }
84
+ const imp = {
85
+ ext: {
86
+ prebid: {
87
+ storedrequest: {id}
86
88
  }
87
- }]
89
+ }
90
+ };
91
+
92
+ if (deepAccess(bid, 'mediaTypes.banner')) {
93
+ imp.banner = {
94
+ format: (sizes || []).map(s => { return {w: s[0], h: s[1]} })
95
+ };
88
96
  };
89
97
 
98
+ const video = deepAccess(bid, 'mediaTypes.video');
99
+ if (video) {
100
+ imp.video = getDefinedParams(video, VIDEO_PARAMS);
101
+ if (video.playerSize) {
102
+ imp.video = Object.assign(
103
+ imp.video, parseGPTSingleSizeArrayToRtbSize(video.playerSize[0]) || {}
104
+ );
105
+ } else if (video.w && video.h) {
106
+ imp.video.w = video.w;
107
+ imp.video.h = video.h;
108
+ };
109
+ };
110
+
111
+ postBody.imp.push(imp);
112
+
90
113
  const gdprConsent = bidderRequest && bidderRequest.gdprConsent;
91
114
  const uspConsent = bidderRequest && bidderRequest.uspConsent;
92
115
 
@@ -240,6 +240,10 @@ export const spec = {
240
240
  payload['uspConsent'] = bidderRequest.uspConsent
241
241
  }
242
242
 
243
+ if (validBidRequests[0].schain) {
244
+ payload.schain = validBidRequests[0].schain;
245
+ }
246
+
243
247
  const payloadString = JSON.stringify(payload)
244
248
  return {
245
249
  method: 'POST',
@@ -60,14 +60,10 @@ export const userData = {
60
60
 
61
61
  export const internal = {
62
62
  getPageUrl: (refererInfo = {}) => {
63
- return refererInfo.page || getWindowSelf().location.href;
63
+ return refererInfo?.page || getWindowSelf().location.href;
64
64
  },
65
65
  getReferrer: (refererInfo = {}) => {
66
- if (refererInfo.ref) {
67
- return refererInfo.ref;
68
- } else {
69
- return getWindowSelf().document.referrer;
70
- }
66
+ return refererInfo?.ref || getWindowSelf().document.referrer;
71
67
  }
72
68
  }
73
69
 
@@ -160,7 +156,7 @@ function getSiteProperties({publisherId, bcat = []}, refererInfo) {
160
156
  return {
161
157
  id: publisherId,
162
158
  name: publisherId,
163
- domain: refererInfo?.domain || window.location.host,
159
+ domain: refererInfo?.domain || window.location?.host,
164
160
  page: getPageUrl(refererInfo),
165
161
  ref: getReferrer(refererInfo),
166
162
  publisher: {
@@ -5,6 +5,25 @@ export const USER_IDS_CONFIG = {
5
5
 
6
6
  // key-name : {config}
7
7
 
8
+ // GrowthCode
9
+ 'growthCodeId': {
10
+ getValue: function(data) {
11
+ return data.gc_id
12
+ },
13
+ source: 'growthcode.io',
14
+ atype: 1,
15
+ getUidExt: function(data) {
16
+ const extendedData = pick(data, [
17
+ 'h1',
18
+ 'h2',
19
+ 'h3',
20
+ ]);
21
+ if (Object.keys(extendedData).length) {
22
+ return extendedData;
23
+ }
24
+ }
25
+ },
26
+
8
27
  // trustpid
9
28
  'trustpid': {
10
29
  source: 'trustpid.com',
@@ -10,7 +10,7 @@ const BIDDER_VERSION = '1.0.0';
10
10
  const CURRENCY = 'USD';
11
11
  const TTL_SECONDS = 60 * 5;
12
12
  const DEAL_ID_EXPIRY = 1000 * 60 * 15;
13
- const UNIQUE_DEAL_ID_EXPIRY = 1000 * 60 * 15;
13
+ const UNIQUE_DEAL_ID_EXPIRY = 1000 * 60 * 60;
14
14
  const SESSION_ID_KEY = 'vidSid';
15
15
  export const SUPPORTED_ID_SYSTEMS = {
16
16
  'britepoolid': 1,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prebid.js",
3
- "version": "7.17.0",
3
+ "version": "7.18.0",
4
4
  "description": "Header Bidding Management Library",
5
5
  "main": "src/prebid.js",
6
6
  "scripts": {
@@ -1265,6 +1265,29 @@ describe('Adagio bid adapter', () => {
1265
1265
  expect(result.dom_loading).to.be.a('String');
1266
1266
  expect(result.user_timestamp).to.be.a('String');
1267
1267
  });
1268
+
1269
+ it('should return `adunit_position` feature when the slot is hidden', function () {
1270
+ const elem = fixtures.getElementById();
1271
+ sandbox.stub(window.top.document, 'getElementById').returns(elem);
1272
+ sandbox.stub(window.top, 'getComputedStyle').returns({ display: 'none' });
1273
+ sandbox.stub(utils, 'inIframe').returns(false);
1274
+
1275
+ const bidRequest = new BidRequestBuilder({
1276
+ mediaTypes: {
1277
+ banner: { sizes: [[300, 250]] },
1278
+ },
1279
+ })
1280
+ .withParams()
1281
+ .build();
1282
+
1283
+ const bidderRequest = new BidderRequestBuilder().build();
1284
+
1285
+ const requests = spec.buildRequests([bidRequest], bidderRequest);
1286
+ const result = requests[0].data.adUnits[0].features;
1287
+
1288
+ expect(result.adunit_position).to.match(/^[\d]+x[\d]+$/);
1289
+ expect(elem.style.display).to.equal(null); // set null to reset style
1290
+ });
1268
1291
  });
1269
1292
 
1270
1293
  describe('Adagio features when prebid in Safeframe', function() {
@@ -70,6 +70,13 @@ describe('adqueryBidAdapter', function () {
70
70
  it('should return false if any parameter missing', function () {
71
71
  expect(spec.isBidRequestValid(inValidBid)).to.be.false
72
72
  })
73
+
74
+ it('should return false when sizes for banner are not specified', () => {
75
+ const bid = utils.deepClone(bidRequest);
76
+ delete bid.mediaTypes.banner.sizes;
77
+
78
+ expect(spec.isBidRequestValid(bid)).to.equal(false);
79
+ });
73
80
  })
74
81
 
75
82
  describe('buildRequests', function () {
@@ -108,6 +115,10 @@ describe('adqueryBidAdapter', function () {
108
115
  it('should include bidder', function () {
109
116
  expect(rdata.bidder !== null).to.be.true
110
117
  })
118
+
119
+ it('should include sizes', function () {
120
+ expect(rdata.sizes).not.be.null
121
+ })
111
122
  })
112
123
 
113
124
  describe('interpretResponse', function () {
@@ -293,6 +293,7 @@ describe('BidWatch Analytics', function () {
293
293
  expect(message.auctionEnd[0].bidsReceived[0]).not.to.have.property('ad');
294
294
  expect(message.auctionEnd[0].bidsReceived[0]).to.have.property('meta');
295
295
  expect(message.auctionEnd[0].bidsReceived[0].meta).to.have.property('advertiserDomains');
296
+ expect(message.auctionEnd[0].bidsReceived[0]).to.have.property('adId');
296
297
  expect(message.auctionEnd[0]).to.have.property('bidderRequests').and.to.have.lengthOf(1);
297
298
  expect(message.auctionEnd[0].bidderRequests[0]).to.have.property('gdprConsent');
298
299
  expect(message.auctionEnd[0].bidderRequests[0].gdprConsent).not.to.have.property('vendorData');
@@ -315,6 +316,7 @@ describe('BidWatch Analytics', function () {
315
316
  expect(server.requests.length).to.equal(1);
316
317
  let message = JSON.parse(server.requests[0].requestBody);
317
318
  expect(message).not.to.have.property('ad');
319
+ expect(message).to.have.property('adId')
318
320
  expect(message).to.have.property('cpmIncrement').and.to.equal(27.4276);
319
321
  sinon.assert.callCount(bidwatchAnalytics.track, 1);
320
322
  });