prebid.js 10.2.0 → 10.4.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 (1650) hide show
  1. package/.github/dependabot.yml +8 -0
  2. package/.github/workflows/scripts/codepath-notification +1 -0
  3. package/creative/renderers/display/renderer.js +3 -4
  4. package/dist/chunks/1plusXRtdProvider.js +1 -1
  5. package/dist/chunks/33acrossAnalyticsAdapter.js +1 -1
  6. package/dist/chunks/33acrossBidAdapter.js +1 -1
  7. package/dist/chunks/33acrossBidAdapter.metadata.js +1 -1
  8. package/dist/chunks/33acrossIdSystem.js +1 -1
  9. package/dist/chunks/33acrossIdSystem.metadata.js +1 -1
  10. package/dist/chunks/acuityadsBidAdapter.metadata.js +1 -1
  11. package/dist/chunks/adagioAnalyticsAdapter.js +1 -1
  12. package/dist/chunks/adagioBidAdapter.js +1 -1
  13. package/dist/chunks/adagioBidAdapter.metadata.js +1 -1
  14. package/dist/chunks/adagioRtdProvider.metadata.js +1 -1
  15. package/dist/chunks/adagioUtils.js +1 -1
  16. package/dist/chunks/addefendBidAdapter.js +1 -1
  17. package/dist/chunks/addefendBidAdapter.metadata.js +1 -1
  18. package/dist/chunks/adfBidAdapter.metadata.js +1 -1
  19. package/dist/chunks/adfusionBidAdapter.metadata.js +1 -1
  20. package/dist/chunks/adgenerationBidAdapter.js +1 -1
  21. package/dist/chunks/adheseBidAdapter.metadata.js +1 -1
  22. package/dist/chunks/adkernelAdnBidAdapter.metadata.js +1 -1
  23. package/dist/chunks/adkernelBidAdapter.metadata.js +1 -1
  24. package/dist/chunks/adlooxRtdProvider.js +1 -1
  25. package/dist/chunks/admaticBidAdapter.metadata.js +1 -1
  26. package/dist/chunks/admixerBidAdapter.js +1 -1
  27. package/dist/chunks/admixerBidAdapter.metadata.js +1 -1
  28. package/dist/chunks/admixerIdSystem.metadata.js +1 -1
  29. package/dist/chunks/adnowBidAdapter.metadata.js +1 -1
  30. package/dist/chunks/adnuntiusBidAdapter.metadata.js +1 -1
  31. package/dist/chunks/adnuntiusRtdProvider.metadata.js +1 -1
  32. package/dist/chunks/adotBidAdapter.metadata.js +1 -1
  33. package/dist/chunks/adponeBidAdapter.metadata.js +1 -1
  34. package/dist/chunks/adqueryBidAdapter.js +1 -1
  35. package/dist/chunks/adqueryBidAdapter.metadata.js +1 -1
  36. package/dist/chunks/adqueryIdSystem.metadata.js +1 -1
  37. package/dist/chunks/adrelevantisBidAdapter.js +1 -1
  38. package/dist/chunks/adrinoBidAdapter.metadata.js +1 -1
  39. package/dist/chunks/ads_interactiveBidAdapter.metadata.js +1 -1
  40. package/dist/chunks/adstirBidAdapter.js +1 -1
  41. package/dist/chunks/adtargetBidAdapter.metadata.js +1 -1
  42. package/dist/chunks/adtelligentBidAdapter.metadata.js +1 -1
  43. package/dist/chunks/adtelligentIdSystem.metadata.js +1 -1
  44. package/dist/chunks/adtrgtmeBidAdapter.js +1 -1
  45. package/dist/chunks/aduptechBidAdapter.metadata.js +1 -1
  46. package/dist/chunks/advertisingBidAdapter.js +1 -1
  47. package/dist/chunks/adxcgAnalyticsAdapter.js +1 -1
  48. package/dist/chunks/adxcgBidAdapter.js +1 -1
  49. package/dist/chunks/adyoulikeBidAdapter.js +1 -1
  50. package/dist/chunks/adyoulikeBidAdapter.metadata.js +1 -1
  51. package/dist/chunks/agmaAnalyticsAdapter.js +1 -1
  52. package/dist/chunks/aidemBidAdapter.metadata.js +1 -1
  53. package/dist/chunks/airgridRtdProvider.metadata.js +1 -1
  54. package/dist/chunks/ajaBidAdapter.js +1 -1
  55. package/dist/chunks/alkimiBidAdapter.metadata.js +1 -1
  56. package/dist/chunks/ampliffyBidAdapter.metadata.js +1 -1
  57. package/dist/chunks/amxBidAdapter.js +1 -1
  58. package/dist/chunks/amxBidAdapter.metadata.js +1 -1
  59. package/dist/chunks/amxIdSystem.js +1 -1
  60. package/dist/chunks/amxIdSystem.metadata.js +1 -1
  61. package/dist/chunks/aniviewBidAdapter.js +1 -1
  62. package/dist/chunks/aniviewBidAdapter.metadata.js +1 -1
  63. package/dist/chunks/anonymisedRtdProvider.metadata.js +1 -1
  64. package/dist/chunks/appierAnalyticsAdapter.js +1 -1
  65. package/dist/chunks/appierBidAdapter.metadata.js +1 -1
  66. package/dist/chunks/appnexusBidAdapter.js +1 -1
  67. package/dist/chunks/appnexusBidAdapter.metadata.js +1 -1
  68. package/dist/chunks/appnexusUtils.js +1 -1
  69. package/dist/chunks/appushBidAdapter.metadata.js +1 -1
  70. package/dist/chunks/apstreamBidAdapter.metadata.js +1 -1
  71. package/dist/chunks/asoBidAdapter.js +1 -1
  72. package/dist/chunks/audiencerunBidAdapter.metadata.js +1 -1
  73. package/dist/chunks/axisBidAdapter.metadata.js +1 -1
  74. package/dist/chunks/axonixBidAdapter.js +1 -1
  75. package/dist/chunks/azerionedgeRtdProvider.metadata.js +1 -1
  76. package/dist/chunks/beopBidAdapter.js +1 -1
  77. package/dist/chunks/beopBidAdapter.metadata.js +1 -1
  78. package/dist/chunks/betweenBidAdapter.metadata.js +1 -1
  79. package/dist/chunks/bidglassBidAdapter.js +1 -1
  80. package/dist/chunks/bidmaticBidAdapter.metadata.js +1 -1
  81. package/dist/chunks/bidtheatreBidAdapter.metadata.js +1 -1
  82. package/dist/chunks/big-richmediaBidAdapter.js +1 -1
  83. package/dist/chunks/bitmediaBidAdapter.js +1 -1
  84. package/dist/chunks/bliinkBidAdapter.metadata.js +1 -1
  85. package/dist/chunks/blockthroughBidAdapter.js +1 -1
  86. package/dist/chunks/blockthroughBidAdapter.metadata.js +1 -1
  87. package/dist/chunks/blueBidAdapter.metadata.js +1 -1
  88. package/dist/chunks/bmsBidAdapter.metadata.js +1 -1
  89. package/dist/chunks/bmtmBidAdapter.js +1 -1
  90. package/dist/chunks/boldwinBidAdapter.metadata.js +1 -1
  91. package/dist/chunks/bridBidAdapter.js +1 -1
  92. package/dist/chunks/bridBidAdapter.metadata.js +1 -1
  93. package/dist/chunks/bridgewellBidAdapter.js +1 -1
  94. package/dist/chunks/browsiBidAdapter.metadata.js +1 -1
  95. package/dist/chunks/bucksenseBidAdapter.metadata.js +1 -1
  96. package/dist/chunks/carodaBidAdapter.js +1 -1
  97. package/dist/chunks/carodaBidAdapter.metadata.js +1 -1
  98. package/dist/chunks/categoryTranslation.metadata.js +1 -1
  99. package/dist/chunks/ccxBidAdapter.metadata.js +1 -1
  100. package/dist/chunks/ceeIdSystem.metadata.js +1 -1
  101. package/dist/chunks/chromeAiRtdProvider.metadata.js +1 -1
  102. package/dist/chunks/chtnwBidAdapter.js +1 -1
  103. package/dist/chunks/chunk-core.js +1 -1
  104. package/dist/chunks/compassBidAdapter.metadata.js +1 -1
  105. package/dist/chunks/conceptxBidAdapter.metadata.js +1 -1
  106. package/dist/chunks/concertBidAdapter.js +1 -1
  107. package/dist/chunks/connatixBidAdapter.metadata.js +1 -1
  108. package/dist/chunks/connectIdSystem.metadata.js +1 -1
  109. package/dist/chunks/connectadBidAdapter.js +1 -1
  110. package/dist/chunks/connectadBidAdapter.metadata.js +1 -1
  111. package/dist/chunks/consumableBidAdapter.js +1 -1
  112. package/dist/chunks/contentexchangeBidAdapter.metadata.js +1 -1
  113. package/dist/chunks/contxtfulBidAdapter.js +1 -1
  114. package/dist/chunks/conversantBidAdapter.js +1 -1
  115. package/dist/chunks/conversantBidAdapter.metadata.js +1 -1
  116. package/dist/chunks/copper6sspBidAdapter.metadata.js +1 -1
  117. package/dist/chunks/cpmstarBidAdapter.metadata.js +1 -1
  118. package/dist/chunks/craftBidAdapter.js +1 -1
  119. package/dist/chunks/creative-renderer-display.js +1 -1
  120. package/dist/chunks/criteoBidAdapter.js +1 -1
  121. package/dist/chunks/criteoBidAdapter.metadata.js +1 -1
  122. package/dist/chunks/criteoIdSystem.metadata.js +1 -1
  123. package/dist/chunks/cryptoUtils.js +1 -0
  124. package/dist/chunks/cwireBidAdapter.js +1 -1
  125. package/dist/chunks/cwireBidAdapter.metadata.js +1 -1
  126. package/dist/chunks/czechAdIdSystem.metadata.js +1 -1
  127. package/dist/chunks/dailymotionBidAdapter.js +1 -1
  128. package/dist/chunks/dailymotionBidAdapter.metadata.js +1 -1
  129. package/dist/chunks/debugging-standalone.js +1 -1
  130. package/dist/chunks/debugging.metadata.js +1 -1
  131. package/dist/chunks/deepintentBidAdapter.metadata.js +1 -1
  132. package/dist/chunks/deltaprojectsBidAdapter.metadata.js +1 -1
  133. package/dist/chunks/dependencies.json +13 -0
  134. package/dist/chunks/dianomiBidAdapter.metadata.js +1 -1
  135. package/dist/chunks/digitalMatterBidAdapter.metadata.js +1 -1
  136. package/dist/chunks/distroscaleBidAdapter.metadata.js +1 -1
  137. package/dist/chunks/docereeAdManagerBidAdapter.metadata.js +1 -1
  138. package/dist/chunks/docereeBidAdapter.metadata.js +1 -1
  139. package/dist/chunks/dspxBidAdapter.js +1 -1
  140. package/dist/chunks/dspxBidAdapter.metadata.js +1 -1
  141. package/dist/chunks/dxkultureBidAdapter.js +1 -1
  142. package/dist/chunks/e_volutionBidAdapter.metadata.js +1 -1
  143. package/dist/chunks/edge226BidAdapter.metadata.js +1 -1
  144. package/dist/chunks/eplanningBidAdapter.js +1 -1
  145. package/dist/chunks/equativBidAdapter.js +1 -1
  146. package/dist/chunks/equativBidAdapter.metadata.js +1 -1
  147. package/dist/chunks/eskimiBidAdapter.js +1 -1
  148. package/dist/chunks/eskimiBidAdapter.metadata.js +1 -1
  149. package/dist/chunks/etargetBidAdapter.metadata.js +1 -1
  150. package/dist/chunks/euidIdSystem.js +1 -1
  151. package/dist/chunks/euidIdSystem.metadata.js +1 -1
  152. package/dist/chunks/exadsBidAdapter.js +1 -1
  153. package/dist/chunks/exadsBidAdapter.metadata.js +1 -1
  154. package/dist/chunks/excoBidAdapter.js +1 -1
  155. package/dist/chunks/feedadBidAdapter.js +1 -1
  156. package/dist/chunks/feedadBidAdapter.metadata.js +1 -1
  157. package/dist/chunks/finativeBidAdapter.js +1 -1
  158. package/dist/chunks/fwsspBidAdapter.metadata.js +1 -1
  159. package/dist/chunks/gamoshiBidAdapter.metadata.js +1 -1
  160. package/dist/chunks/getintentBidAdapter.js +1 -1
  161. package/dist/chunks/glomexBidAdapter.metadata.js +1 -1
  162. package/dist/chunks/gmosspBidAdapter.js +1 -1
  163. package/dist/chunks/goldbachBidAdapter.metadata.js +1 -1
  164. package/dist/chunks/greenbidsAnalyticsAdapter.js +1 -1
  165. package/dist/chunks/greenbidsBidAdapter.js +1 -1
  166. package/dist/chunks/greenbidsBidAdapter.metadata.js +1 -1
  167. package/dist/chunks/greenbidsRtdProvider.js +1 -1
  168. package/dist/chunks/gridBidAdapter.js +1 -1
  169. package/dist/chunks/gridBidAdapter.metadata.js +1 -1
  170. package/dist/chunks/gumgumBidAdapter.js +1 -1
  171. package/dist/chunks/gumgumBidAdapter.metadata.js +1 -1
  172. package/dist/chunks/h12mediaBidAdapter.js +1 -1
  173. package/dist/chunks/hadronIdSystem.metadata.js +1 -1
  174. package/dist/chunks/hadronRtdProvider.metadata.js +1 -1
  175. package/dist/chunks/holidBidAdapter.metadata.js +1 -1
  176. package/dist/chunks/hybridBidAdapter.metadata.js +1 -1
  177. package/dist/chunks/hypelabBidAdapter.js +1 -1
  178. package/dist/chunks/iasRtdProvider.js +1 -1
  179. package/dist/chunks/id5AnalyticsAdapter.js +1 -1
  180. package/dist/chunks/id5IdSystem.js +1 -1
  181. package/dist/chunks/id5IdSystem.metadata.js +1 -1
  182. package/dist/chunks/identityLinkIdSystem.metadata.js +1 -1
  183. package/dist/chunks/illuminBidAdapter.metadata.js +1 -1
  184. package/dist/chunks/impactifyBidAdapter.metadata.js +1 -1
  185. package/dist/chunks/improvedigitalBidAdapter.js +1 -1
  186. package/dist/chunks/improvedigitalBidAdapter.metadata.js +1 -1
  187. package/dist/chunks/inmobiBidAdapter.js +1 -1
  188. package/dist/chunks/inmobiBidAdapter.metadata.js +1 -1
  189. package/dist/chunks/innityBidAdapter.metadata.js +1 -1
  190. package/dist/chunks/insticatorBidAdapter.js +1 -1
  191. package/dist/chunks/insticatorBidAdapter.metadata.js +1 -1
  192. package/dist/chunks/intentIqAnalyticsAdapter.js +1 -1
  193. package/dist/chunks/intentIqIdSystem.metadata.js +1 -1
  194. package/dist/chunks/invibesBidAdapter.metadata.js +1 -1
  195. package/dist/chunks/ipromBidAdapter.metadata.js +1 -1
  196. package/dist/chunks/ixBidAdapter.js +1 -1
  197. package/dist/chunks/ixBidAdapter.metadata.js +1 -1
  198. package/dist/chunks/jixieBidAdapter.js +1 -1
  199. package/dist/chunks/justIdSystem.metadata.js +1 -1
  200. package/dist/chunks/justpremiumBidAdapter.js +1 -1
  201. package/dist/chunks/justpremiumBidAdapter.metadata.js +1 -1
  202. package/dist/chunks/jwplayerBidAdapter.metadata.js +1 -1
  203. package/dist/chunks/jwplayerRtdProvider.js +1 -1
  204. package/dist/chunks/jwplayerVideoProvider.js +1 -1
  205. package/dist/chunks/kargoBidAdapter.js +1 -1
  206. package/dist/chunks/kargoBidAdapter.metadata.js +1 -1
  207. package/dist/chunks/kimberliteBidAdapter.js +1 -1
  208. package/dist/chunks/kubientBidAdapter.js +1 -1
  209. package/dist/chunks/kubientBidAdapter.metadata.js +1 -1
  210. package/dist/chunks/kueezRtbBidAdapter.metadata.js +1 -1
  211. package/dist/chunks/lassoBidAdapter.js +1 -1
  212. package/dist/chunks/lifestreetBidAdapter.js +1 -1
  213. package/dist/chunks/limelightDigitalBidAdapter.metadata.js +1 -1
  214. package/dist/chunks/liveIntentId.js +1 -1
  215. package/dist/chunks/liveIntentIdSystem.metadata.js +1 -1
  216. package/dist/chunks/liveIntentRtdProvider.metadata.js +1 -1
  217. package/dist/chunks/livewrappedBidAdapter.metadata.js +1 -1
  218. package/dist/chunks/logicadBidAdapter.js +1 -1
  219. package/dist/chunks/loopmeBidAdapter.metadata.js +1 -1
  220. package/dist/chunks/lotamePanoramaIdSystem.metadata.js +1 -1
  221. package/dist/chunks/luceadBidAdapter.js +1 -1
  222. package/dist/chunks/luceadBidAdapter.metadata.js +1 -1
  223. package/dist/chunks/luponmediaBidAdapter.metadata.js +1 -1
  224. package/dist/chunks/mabidderBidAdapter.js +1 -1
  225. package/dist/chunks/madsenseBidAdapter.js +1 -1
  226. package/dist/chunks/madvertiseBidAdapter.metadata.js +1 -1
  227. package/dist/chunks/magniteAnalyticsAdapter.js +1 -1
  228. package/dist/chunks/malltvAnalyticsAdapter.js +1 -1
  229. package/dist/chunks/marsmediaBidAdapter.js +1 -1
  230. package/dist/chunks/marsmediaBidAdapter.metadata.js +1 -1
  231. package/dist/chunks/mediaConsortiumBidAdapter.metadata.js +1 -1
  232. package/dist/chunks/mediaforceBidAdapter.metadata.js +1 -1
  233. package/dist/chunks/mediafuseBidAdapter.js +1 -1
  234. package/dist/chunks/mediafuseBidAdapter.metadata.js +1 -1
  235. package/dist/chunks/mediagoBidAdapter.metadata.js +1 -1
  236. package/dist/chunks/mediakeysBidAdapter.metadata.js +1 -1
  237. package/dist/chunks/medianetBidAdapter.js +1 -1
  238. package/dist/chunks/medianetBidAdapter.metadata.js +1 -1
  239. package/dist/chunks/medianetUtils.js +1 -1
  240. package/dist/chunks/mediasquareBidAdapter.js +1 -1
  241. package/dist/chunks/mediasquareBidAdapter.metadata.js +1 -1
  242. package/dist/chunks/mgidBidAdapter.js +1 -1
  243. package/dist/chunks/mgidBidAdapter.metadata.js +1 -1
  244. package/dist/chunks/mgidRtdProvider.metadata.js +1 -1
  245. package/dist/chunks/mgidXBidAdapter.metadata.js +1 -1
  246. package/dist/chunks/minutemediaBidAdapter.metadata.js +1 -1
  247. package/dist/chunks/missenaBidAdapter.js +1 -1
  248. package/dist/chunks/missenaBidAdapter.metadata.js +1 -1
  249. package/dist/chunks/mobianRtdProvider.metadata.js +1 -1
  250. package/dist/chunks/mobilefuseBidAdapter.js +1 -1
  251. package/dist/chunks/mobilefuseBidAdapter.metadata.js +1 -1
  252. package/dist/chunks/mobkoiBidAdapter.metadata.js +1 -1
  253. package/dist/chunks/mobkoiIdSystem.metadata.js +1 -1
  254. package/dist/chunks/nativeryBidAdapter.metadata.js +1 -1
  255. package/dist/chunks/nativoBidAdapter.metadata.js +1 -1
  256. package/dist/chunks/newspassidBidAdapter.metadata.js +1 -1
  257. package/dist/chunks/nextMillenniumBidAdapter.js +1 -1
  258. package/dist/chunks/nextMillenniumBidAdapter.metadata.js +1 -1
  259. package/dist/chunks/nextrollBidAdapter.metadata.js +1 -1
  260. package/dist/chunks/nexx360BidAdapter.metadata.js +1 -1
  261. package/dist/chunks/nexx360Utils.js +1 -1
  262. package/dist/chunks/nobidAnalyticsAdapter.js +1 -1
  263. package/dist/chunks/nobidBidAdapter.js +1 -1
  264. package/dist/chunks/nobidBidAdapter.metadata.js +1 -1
  265. package/dist/chunks/nodalsAiRtdProvider.js +1 -1
  266. package/dist/chunks/nodalsAiRtdProvider.metadata.js +1 -1
  267. package/dist/chunks/novatiqIdSystem.metadata.js +1 -1
  268. package/dist/chunks/oguryBidAdapter.js +1 -1
  269. package/dist/chunks/oguryBidAdapter.metadata.js +1 -1
  270. package/dist/chunks/omsBidAdapter.metadata.js +1 -1
  271. package/dist/chunks/onetagBidAdapter.js +1 -1
  272. package/dist/chunks/onetagBidAdapter.metadata.js +1 -1
  273. package/dist/chunks/ooloAnalyticsAdapter.js +1 -1
  274. package/dist/chunks/openwebBidAdapter.metadata.js +1 -1
  275. package/dist/chunks/openxBidAdapter.js +1 -1
  276. package/dist/chunks/openxBidAdapter.metadata.js +1 -1
  277. package/dist/chunks/operaadsBidAdapter.metadata.js +1 -1
  278. package/dist/chunks/optidigitalBidAdapter.js +1 -1
  279. package/dist/chunks/optidigitalBidAdapter.metadata.js +1 -1
  280. package/dist/chunks/optoutBidAdapter.metadata.js +1 -1
  281. package/dist/chunks/orbidderBidAdapter.js +1 -1
  282. package/dist/chunks/orbidderBidAdapter.metadata.js +1 -1
  283. package/dist/chunks/outbrainBidAdapter.js +1 -1
  284. package/dist/chunks/outbrainBidAdapter.metadata.js +1 -1
  285. package/dist/chunks/ozoneBidAdapter.metadata.js +1 -1
  286. package/dist/chunks/pairIdSystem.metadata.js +1 -1
  287. package/dist/chunks/performaxBidAdapter.metadata.js +1 -1
  288. package/dist/chunks/pgamsspBidAdapter.metadata.js +1 -1
  289. package/dist/chunks/pixfutureBidAdapter.js +1 -1
  290. package/dist/chunks/pixfutureBidAdapter.metadata.js +1 -1
  291. package/dist/chunks/playdigoBidAdapter.metadata.js +1 -1
  292. package/dist/chunks/prebid-core.metadata.js +1 -1
  293. package/dist/chunks/precisoBidAdapter.metadata.js +1 -1
  294. package/dist/chunks/prismaBidAdapter.metadata.js +1 -1
  295. package/dist/chunks/programmaticXBidAdapter.metadata.js +1 -1
  296. package/dist/chunks/proxistoreBidAdapter.metadata.js +1 -1
  297. package/dist/chunks/publinkIdSystem.js +1 -1
  298. package/dist/chunks/publinkIdSystem.metadata.js +1 -1
  299. package/dist/chunks/pubmaticAnalyticsAdapter.js +1 -1
  300. package/dist/chunks/pubmaticBidAdapter.js +1 -1
  301. package/dist/chunks/pubmaticBidAdapter.metadata.js +1 -1
  302. package/dist/chunks/pubmaticIdSystem.metadata.js +1 -1
  303. package/dist/chunks/pubwiseAnalyticsAdapter.js +1 -1
  304. package/dist/chunks/pubxaiAnalyticsAdapter.js +1 -1
  305. package/dist/chunks/pulsepointBidAdapter.js +1 -1
  306. package/dist/chunks/pulsepointBidAdapter.metadata.js +1 -1
  307. package/dist/chunks/pwbidBidAdapter.metadata.js +1 -1
  308. package/dist/chunks/pxyzBidAdapter.js +1 -1
  309. package/dist/chunks/qtBidAdapter.metadata.js +1 -1
  310. package/dist/chunks/quantcastBidAdapter.js +1 -1
  311. package/dist/chunks/quantcastBidAdapter.metadata.js +1 -1
  312. package/dist/chunks/quantcastIdSystem.metadata.js +1 -1
  313. package/dist/chunks/r2b2BidAdapter.metadata.js +1 -1
  314. package/dist/chunks/raynRtdProvider.metadata.js +1 -1
  315. package/dist/chunks/readpeakBidAdapter.js +1 -1
  316. package/dist/chunks/readpeakBidAdapter.metadata.js +1 -1
  317. package/dist/chunks/relaidoBidAdapter.js +1 -1
  318. package/dist/chunks/relayBidAdapter.metadata.js +1 -1
  319. package/dist/chunks/relevantdigitalBidAdapter.metadata.js +1 -1
  320. package/dist/chunks/resetdigitalBidAdapter.metadata.js +1 -1
  321. package/dist/chunks/responsiveAdsBidAdapter.metadata.js +1 -1
  322. package/dist/chunks/retailspotBidAdapter.js +1 -1
  323. package/dist/chunks/retailspotBidAdapter.metadata.js +1 -1
  324. package/dist/chunks/revcontentBidAdapter.metadata.js +1 -1
  325. package/dist/chunks/rhythmoneBidAdapter.js +1 -1
  326. package/dist/chunks/rhythmoneBidAdapter.metadata.js +1 -1
  327. package/dist/chunks/richaudienceBidAdapter.metadata.js +1 -1
  328. package/dist/chunks/riseBidAdapter.metadata.js +1 -1
  329. package/dist/chunks/riseUtils.js +1 -1
  330. package/dist/chunks/rixengineBidAdapter.metadata.js +1 -1
  331. package/dist/chunks/rtbhouseBidAdapter.metadata.js +1 -1
  332. package/dist/chunks/rubiconBidAdapter.js +1 -1
  333. package/dist/chunks/rubiconBidAdapter.metadata.js +1 -1
  334. package/dist/chunks/rumbleBidAdapter.js +1 -0
  335. package/dist/chunks/rumbleBidAdapter.metadata.js +1 -0
  336. package/dist/chunks/scatteredBidAdapter.metadata.js +1 -1
  337. package/dist/chunks/seedingAllianceBidAdapter.js +1 -1
  338. package/dist/chunks/seedingAllianceBidAdapter.metadata.js +1 -1
  339. package/dist/chunks/seedtagBidAdapter.js +1 -1
  340. package/dist/chunks/seedtagBidAdapter.metadata.js +1 -1
  341. package/dist/chunks/semantiqRtdProvider.metadata.js +1 -1
  342. package/dist/chunks/setupadBidAdapter.metadata.js +1 -1
  343. package/dist/chunks/sevioBidAdapter.js +1 -0
  344. package/dist/chunks/sevioBidAdapter.metadata.js +1 -0
  345. package/dist/chunks/sharedIdSystem.metadata.js +1 -1
  346. package/dist/chunks/sharethroughAnalyticsAdapter.js +1 -1
  347. package/dist/chunks/sharethroughBidAdapter.js +1 -1
  348. package/dist/chunks/sharethroughBidAdapter.metadata.js +1 -1
  349. package/dist/chunks/showheroes-bsBidAdapter.js +1 -1
  350. package/dist/chunks/showheroes-bsBidAdapter.metadata.js +1 -1
  351. package/dist/chunks/silvermobBidAdapter.metadata.js +1 -1
  352. package/dist/chunks/sirdataRtdProvider.metadata.js +1 -1
  353. package/dist/chunks/slimcutBidAdapter.metadata.js +1 -1
  354. package/dist/chunks/smaatoBidAdapter.js +1 -1
  355. package/dist/chunks/smaatoBidAdapter.metadata.js +1 -1
  356. package/dist/chunks/smartadserverBidAdapter.js +1 -1
  357. package/dist/chunks/smartadserverBidAdapter.metadata.js +1 -1
  358. package/dist/chunks/smartxBidAdapter.js +1 -1
  359. package/dist/chunks/smartxBidAdapter.metadata.js +1 -1
  360. package/dist/chunks/smartyadsBidAdapter.metadata.js +1 -1
  361. package/dist/chunks/smilewantedBidAdapter.js +1 -1
  362. package/dist/chunks/smilewantedBidAdapter.metadata.js +1 -1
  363. package/dist/chunks/snigelBidAdapter.js +1 -1
  364. package/dist/chunks/snigelBidAdapter.metadata.js +1 -1
  365. package/dist/chunks/sonaradsBidAdapter.js +1 -1
  366. package/dist/chunks/sonaradsBidAdapter.metadata.js +1 -1
  367. package/dist/chunks/sonobiBidAdapter.js +1 -1
  368. package/dist/chunks/sonobiBidAdapter.metadata.js +1 -1
  369. package/dist/chunks/sovrnBidAdapter.js +1 -1
  370. package/dist/chunks/sovrnBidAdapter.metadata.js +1 -1
  371. package/dist/chunks/sparteoBidAdapter.js +1 -1
  372. package/dist/chunks/sparteoBidAdapter.metadata.js +1 -1
  373. package/dist/chunks/ssmasBidAdapter.metadata.js +1 -1
  374. package/dist/chunks/sspBCBidAdapter.js +1 -1
  375. package/dist/chunks/sspBCBidAdapter.metadata.js +1 -1
  376. package/dist/chunks/stackadaptBidAdapter.metadata.js +1 -1
  377. package/dist/chunks/startioBidAdapter.metadata.js +1 -1
  378. package/dist/chunks/stroeerCoreBidAdapter.metadata.js +1 -1
  379. package/dist/chunks/stvBidAdapter.js +1 -1
  380. package/dist/chunks/stvBidAdapter.metadata.js +1 -1
  381. package/dist/chunks/sublimeBidAdapter.js +1 -1
  382. package/dist/chunks/sublimeBidAdapter.metadata.js +1 -1
  383. package/dist/chunks/taboolaBidAdapter.js +1 -1
  384. package/dist/chunks/taboolaBidAdapter.metadata.js +1 -1
  385. package/dist/chunks/taboolaIdSystem.metadata.js +1 -1
  386. package/dist/chunks/tappxBidAdapter.js +1 -1
  387. package/dist/chunks/tappxBidAdapter.metadata.js +1 -1
  388. package/dist/chunks/targetVideoBidAdapter.js +1 -1
  389. package/dist/chunks/targetVideoBidAdapter.metadata.js +1 -1
  390. package/dist/chunks/teadsBidAdapter.js +1 -1
  391. package/dist/chunks/teadsBidAdapter.metadata.js +1 -1
  392. package/dist/chunks/teadsIdSystem.metadata.js +1 -1
  393. package/dist/chunks/tealBidAdapter.metadata.js +1 -1
  394. package/dist/chunks/terceptAnalyticsAdapter.js +1 -1
  395. package/dist/chunks/themoneytizerBidAdapter.js +1 -1
  396. package/dist/chunks/themoneytizerBidAdapter.metadata.js +1 -1
  397. package/dist/chunks/tncIdSystem.metadata.js +1 -1
  398. package/dist/chunks/topicsFpdModule.metadata.js +1 -1
  399. package/dist/chunks/trionBidAdapter.js +1 -1
  400. package/dist/chunks/tripleliftBidAdapter.js +1 -1
  401. package/dist/chunks/tripleliftBidAdapter.metadata.js +1 -1
  402. package/dist/chunks/ttdBidAdapter.js +1 -1
  403. package/dist/chunks/ttdBidAdapter.metadata.js +1 -1
  404. package/dist/chunks/twistDigitalBidAdapter.metadata.js +1 -1
  405. package/dist/chunks/ucfunnelAnalyticsAdapter.js +1 -1
  406. package/dist/chunks/uid2IdSystem.js +1 -1
  407. package/dist/chunks/underdogmediaBidAdapter.js +1 -1
  408. package/dist/chunks/underdogmediaBidAdapter.metadata.js +1 -1
  409. package/dist/chunks/undertoneBidAdapter.js +1 -1
  410. package/dist/chunks/undertoneBidAdapter.metadata.js +1 -1
  411. package/dist/chunks/unifiedIdSystem.metadata.js +1 -1
  412. package/dist/chunks/unrulyBidAdapter.js +1 -1
  413. package/dist/chunks/unrulyBidAdapter.metadata.js +1 -1
  414. package/dist/chunks/userId.js +1 -1
  415. package/dist/chunks/userId.metadata.js +1 -1
  416. package/dist/chunks/validationFpdModule.metadata.js +1 -1
  417. package/dist/chunks/vidazooBidAdapter.metadata.js +1 -1
  418. package/dist/chunks/vidazooUtils.js +1 -1
  419. package/dist/chunks/videobyteBidAdapter.js +1 -1
  420. package/dist/chunks/vidoomyBidAdapter.metadata.js +1 -1
  421. package/dist/chunks/viewdeosDXBidAdapter.metadata.js +1 -1
  422. package/dist/chunks/viouslyBidAdapter.metadata.js +1 -1
  423. package/dist/chunks/visxBidAdapter.js +1 -1
  424. package/dist/chunks/visxBidAdapter.metadata.js +1 -1
  425. package/dist/chunks/vlybyBidAdapter.metadata.js +1 -1
  426. package/dist/chunks/voxBidAdapter.metadata.js +1 -1
  427. package/dist/chunks/vrtcalBidAdapter.metadata.js +1 -1
  428. package/dist/chunks/vuukleBidAdapter.js +1 -1
  429. package/dist/chunks/vuukleBidAdapter.metadata.js +1 -1
  430. package/dist/chunks/weboramaRtdProvider.js +1 -1
  431. package/dist/chunks/weboramaRtdProvider.metadata.js +1 -1
  432. package/dist/chunks/welectBidAdapter.metadata.js +1 -1
  433. package/dist/chunks/widespaceBidAdapter.js +1 -1
  434. package/dist/chunks/winrBidAdapter.js +1 -1
  435. package/dist/chunks/yahooAdsBidAdapter.js +1 -1
  436. package/dist/chunks/yahooAdsBidAdapter.metadata.js +1 -1
  437. package/dist/chunks/yandexBidAdapter.js +1 -1
  438. package/dist/chunks/yieldlabBidAdapter.metadata.js +1 -1
  439. package/dist/chunks/yieldliftBidAdapter.metadata.js +1 -1
  440. package/dist/chunks/yieldloveBidAdapter.metadata.js +1 -1
  441. package/dist/chunks/yieldmoBidAdapter.js +1 -1
  442. package/dist/chunks/yieldmoBidAdapter.metadata.js +1 -1
  443. package/dist/chunks/yieldoneAnalyticsAdapter.js +1 -1
  444. package/dist/chunks/zeotapIdPlusIdSystem.metadata.js +1 -1
  445. package/dist/chunks/zeta_globalBidAdapter.metadata.js +1 -1
  446. package/dist/chunks/zeta_global_sspBidAdapter.metadata.js +1 -1
  447. package/dist/not-for-prod/prebid.js +443 -438
  448. package/dist/src/creative/renderers/display/renderer.js +3 -4
  449. package/dist/src/creative/renderers/display/renderer.js.map +1 -1
  450. package/dist/src/libraries/adagioUtils/adagioUtils.js +1 -1
  451. package/dist/src/libraries/analyticsAdapter/AnalyticsAdapter.js.map +1 -1
  452. package/dist/src/libraries/appnexusUtils/anKeywords.js +15 -1
  453. package/dist/src/libraries/appnexusUtils/anKeywords.js.map +1 -1
  454. package/dist/src/libraries/consentManagement/cmUtils.js.map +1 -1
  455. package/dist/src/libraries/creative-renderer-display/renderer.d.ts +1 -1
  456. package/dist/src/libraries/creative-renderer-display/renderer.js +1 -1
  457. package/dist/src/libraries/creative-renderer-display/renderer.js.map +1 -1
  458. package/dist/src/libraries/cryptoUtils/wallets.js +14 -0
  459. package/dist/src/libraries/cryptoUtils/wallets.js.map +1 -0
  460. package/dist/src/libraries/dspxUtils/bidderUtils.js.map +1 -1
  461. package/dist/src/libraries/impUtils.js +36 -0
  462. package/dist/src/libraries/impUtils.js.map +1 -0
  463. package/dist/src/libraries/liveIntentId/externalIdSystem.js +1 -1
  464. package/dist/src/libraries/liveIntentId/idSystem.js +1 -1
  465. package/dist/src/libraries/liveIntentId/shared.js +20 -0
  466. package/dist/src/libraries/liveIntentId/shared.js.map +1 -1
  467. package/dist/src/libraries/medianetUtils/constants.js +1 -1
  468. package/dist/src/libraries/nexx360Utils/index.js +1 -1
  469. package/dist/src/libraries/nexx360Utils/index.js.map +1 -1
  470. package/dist/src/libraries/ortbConverter/converter.js.map +1 -1
  471. package/dist/src/libraries/riseUtils/index.js +1 -1
  472. package/dist/src/libraries/vidazooUtils/bidderUtils.js +1 -1
  473. package/dist/src/libraries/video/constants/events.js.map +1 -1
  474. package/dist/src/metadata/modules/33acrossBidAdapter.js +1 -1
  475. package/dist/src/metadata/modules/33acrossIdSystem.js +1 -1
  476. package/dist/src/metadata/modules/acuityadsBidAdapter.js +1 -1
  477. package/dist/src/metadata/modules/adagioBidAdapter.js +1 -1
  478. package/dist/src/metadata/modules/adagioRtdProvider.js +1 -1
  479. package/dist/src/metadata/modules/addefendBidAdapter.js +1 -1
  480. package/dist/src/metadata/modules/adfBidAdapter.js +1 -1
  481. package/dist/src/metadata/modules/adfusionBidAdapter.js +1 -1
  482. package/dist/src/metadata/modules/adheseBidAdapter.js +1 -1
  483. package/dist/src/metadata/modules/adkernelAdnBidAdapter.js +1 -1
  484. package/dist/src/metadata/modules/adkernelBidAdapter.js +1 -1
  485. package/dist/src/metadata/modules/admaticBidAdapter.js +1 -1
  486. package/dist/src/metadata/modules/admixerBidAdapter.js +1 -1
  487. package/dist/src/metadata/modules/admixerIdSystem.js +1 -1
  488. package/dist/src/metadata/modules/adnowBidAdapter.js +1 -1
  489. package/dist/src/metadata/modules/adnuntiusBidAdapter.js +1 -1
  490. package/dist/src/metadata/modules/adnuntiusRtdProvider.js +1 -1
  491. package/dist/src/metadata/modules/adotBidAdapter.js +1 -1
  492. package/dist/src/metadata/modules/adponeBidAdapter.js +1 -1
  493. package/dist/src/metadata/modules/adqueryBidAdapter.js +1 -1
  494. package/dist/src/metadata/modules/adqueryIdSystem.js +1 -1
  495. package/dist/src/metadata/modules/adrinoBidAdapter.js +1 -1
  496. package/dist/src/metadata/modules/ads_interactiveBidAdapter.js +1 -1
  497. package/dist/src/metadata/modules/adtargetBidAdapter.js +1 -1
  498. package/dist/src/metadata/modules/adtelligentBidAdapter.js +1 -1
  499. package/dist/src/metadata/modules/adtelligentIdSystem.js +1 -1
  500. package/dist/src/metadata/modules/aduptechBidAdapter.js +1 -1
  501. package/dist/src/metadata/modules/adyoulikeBidAdapter.js +1 -1
  502. package/dist/src/metadata/modules/aidemBidAdapter.js +1 -1
  503. package/dist/src/metadata/modules/airgridRtdProvider.js +1 -1
  504. package/dist/src/metadata/modules/alkimiBidAdapter.js +1 -1
  505. package/dist/src/metadata/modules/ampliffyBidAdapter.js +1 -1
  506. package/dist/src/metadata/modules/amxBidAdapter.js +1 -1
  507. package/dist/src/metadata/modules/amxIdSystem.js +1 -1
  508. package/dist/src/metadata/modules/aniviewBidAdapter.js +1 -1
  509. package/dist/src/metadata/modules/anonymisedRtdProvider.js +1 -1
  510. package/dist/src/metadata/modules/appierBidAdapter.js +1 -1
  511. package/dist/src/metadata/modules/appnexusBidAdapter.js +1 -1
  512. package/dist/src/metadata/modules/appushBidAdapter.js +1 -1
  513. package/dist/src/metadata/modules/apstreamBidAdapter.js +1 -1
  514. package/dist/src/metadata/modules/audiencerunBidAdapter.js +1 -1
  515. package/dist/src/metadata/modules/axisBidAdapter.js +1 -1
  516. package/dist/src/metadata/modules/azerionedgeRtdProvider.js +1 -1
  517. package/dist/src/metadata/modules/beopBidAdapter.js +1 -1
  518. package/dist/src/metadata/modules/betweenBidAdapter.js +1 -1
  519. package/dist/src/metadata/modules/bidmaticBidAdapter.js +1 -1
  520. package/dist/src/metadata/modules/bidtheatreBidAdapter.js +1 -1
  521. package/dist/src/metadata/modules/bliinkBidAdapter.js +1 -1
  522. package/dist/src/metadata/modules/blockthroughBidAdapter.js +1 -1
  523. package/dist/src/metadata/modules/blueBidAdapter.js +1 -1
  524. package/dist/src/metadata/modules/bmsBidAdapter.js +1 -1
  525. package/dist/src/metadata/modules/boldwinBidAdapter.js +1 -1
  526. package/dist/src/metadata/modules/bridBidAdapter.js +1 -1
  527. package/dist/src/metadata/modules/browsiBidAdapter.js +1 -1
  528. package/dist/src/metadata/modules/bucksenseBidAdapter.js +1 -1
  529. package/dist/src/metadata/modules/carodaBidAdapter.js +1 -1
  530. package/dist/src/metadata/modules/categoryTranslation.js +1 -1
  531. package/dist/src/metadata/modules/ccxBidAdapter.js +1 -1
  532. package/dist/src/metadata/modules/ceeIdSystem.js +1 -1
  533. package/dist/src/metadata/modules/chromeAiRtdProvider.js +1 -1
  534. package/dist/src/metadata/modules/compassBidAdapter.js +1 -1
  535. package/dist/src/metadata/modules/conceptxBidAdapter.js +1 -1
  536. package/dist/src/metadata/modules/connatixBidAdapter.js +1 -1
  537. package/dist/src/metadata/modules/connectIdSystem.js +1 -1
  538. package/dist/src/metadata/modules/connectadBidAdapter.js +1 -1
  539. package/dist/src/metadata/modules/contentexchangeBidAdapter.js +1 -1
  540. package/dist/src/metadata/modules/conversantBidAdapter.js +1 -1
  541. package/dist/src/metadata/modules/copper6sspBidAdapter.js +1 -1
  542. package/dist/src/metadata/modules/cpmstarBidAdapter.js +1 -1
  543. package/dist/src/metadata/modules/criteoBidAdapter.js +1 -1
  544. package/dist/src/metadata/modules/criteoIdSystem.js +1 -1
  545. package/dist/src/metadata/modules/cwireBidAdapter.js +1 -1
  546. package/dist/src/metadata/modules/czechAdIdSystem.js +1 -1
  547. package/dist/src/metadata/modules/dailymotionBidAdapter.js +1 -1
  548. package/dist/src/metadata/modules/debugging.js +1 -1
  549. package/dist/src/metadata/modules/deepintentBidAdapter.js +1 -1
  550. package/dist/src/metadata/modules/deltaprojectsBidAdapter.js +1 -1
  551. package/dist/src/metadata/modules/dianomiBidAdapter.js +1 -1
  552. package/dist/src/metadata/modules/digitalMatterBidAdapter.js +1 -1
  553. package/dist/src/metadata/modules/distroscaleBidAdapter.js +1 -1
  554. package/dist/src/metadata/modules/docereeAdManagerBidAdapter.js +1 -1
  555. package/dist/src/metadata/modules/docereeBidAdapter.js +1 -1
  556. package/dist/src/metadata/modules/dspxBidAdapter.js +1 -1
  557. package/dist/src/metadata/modules/e_volutionBidAdapter.js +1 -1
  558. package/dist/src/metadata/modules/edge226BidAdapter.js +1 -1
  559. package/dist/src/metadata/modules/equativBidAdapter.js +1 -1
  560. package/dist/src/metadata/modules/eskimiBidAdapter.js +1 -1
  561. package/dist/src/metadata/modules/etargetBidAdapter.js +1 -1
  562. package/dist/src/metadata/modules/euidIdSystem.js +1 -1
  563. package/dist/src/metadata/modules/exadsBidAdapter.js +1 -1
  564. package/dist/src/metadata/modules/feedadBidAdapter.js +1 -1
  565. package/dist/src/metadata/modules/fwsspBidAdapter.js +1 -1
  566. package/dist/src/metadata/modules/gamoshiBidAdapter.js +1 -1
  567. package/dist/src/metadata/modules/glomexBidAdapter.js +1 -1
  568. package/dist/src/metadata/modules/goldbachBidAdapter.js +1 -1
  569. package/dist/src/metadata/modules/greenbidsBidAdapter.js +1 -1
  570. package/dist/src/metadata/modules/gridBidAdapter.js +1 -1
  571. package/dist/src/metadata/modules/gumgumBidAdapter.js +1 -1
  572. package/dist/src/metadata/modules/hadronIdSystem.js +1 -1
  573. package/dist/src/metadata/modules/hadronRtdProvider.js +1 -1
  574. package/dist/src/metadata/modules/holidBidAdapter.js +1 -1
  575. package/dist/src/metadata/modules/hybridBidAdapter.js +1 -1
  576. package/dist/src/metadata/modules/id5IdSystem.js +1 -1
  577. package/dist/src/metadata/modules/identityLinkIdSystem.js +1 -1
  578. package/dist/src/metadata/modules/illuminBidAdapter.js +1 -1
  579. package/dist/src/metadata/modules/impactifyBidAdapter.js +1 -1
  580. package/dist/src/metadata/modules/improvedigitalBidAdapter.js +1 -1
  581. package/dist/src/metadata/modules/inmobiBidAdapter.js +1 -1
  582. package/dist/src/metadata/modules/innityBidAdapter.js +1 -1
  583. package/dist/src/metadata/modules/insticatorBidAdapter.js +1 -1
  584. package/dist/src/metadata/modules/intentIqIdSystem.js +1 -1
  585. package/dist/src/metadata/modules/invibesBidAdapter.js +1 -1
  586. package/dist/src/metadata/modules/ipromBidAdapter.js +1 -1
  587. package/dist/src/metadata/modules/ixBidAdapter.js +1 -1
  588. package/dist/src/metadata/modules/justIdSystem.js +1 -1
  589. package/dist/src/metadata/modules/justpremiumBidAdapter.js +1 -1
  590. package/dist/src/metadata/modules/jwplayerBidAdapter.js +1 -1
  591. package/dist/src/metadata/modules/kargoBidAdapter.js +1 -1
  592. package/dist/src/metadata/modules/kubientBidAdapter.js +1 -1
  593. package/dist/src/metadata/modules/kueezRtbBidAdapter.js +1 -1
  594. package/dist/src/metadata/modules/limelightDigitalBidAdapter.js +1 -1
  595. package/dist/src/metadata/modules/liveIntentIdSystem.js +1 -1
  596. package/dist/src/metadata/modules/liveIntentRtdProvider.js +1 -1
  597. package/dist/src/metadata/modules/livewrappedBidAdapter.js +1 -1
  598. package/dist/src/metadata/modules/loopmeBidAdapter.js +1 -1
  599. package/dist/src/metadata/modules/lotamePanoramaIdSystem.js +1 -1
  600. package/dist/src/metadata/modules/luceadBidAdapter.js +1 -1
  601. package/dist/src/metadata/modules/luponmediaBidAdapter.js +1 -1
  602. package/dist/src/metadata/modules/madvertiseBidAdapter.js +1 -1
  603. package/dist/src/metadata/modules/marsmediaBidAdapter.js +1 -1
  604. package/dist/src/metadata/modules/mediaConsortiumBidAdapter.js +1 -1
  605. package/dist/src/metadata/modules/mediaforceBidAdapter.js +1 -1
  606. package/dist/src/metadata/modules/mediafuseBidAdapter.js +1 -1
  607. package/dist/src/metadata/modules/mediagoBidAdapter.js +1 -1
  608. package/dist/src/metadata/modules/mediakeysBidAdapter.js +1 -1
  609. package/dist/src/metadata/modules/medianetBidAdapter.js +1 -1
  610. package/dist/src/metadata/modules/mediasquareBidAdapter.js +1 -1
  611. package/dist/src/metadata/modules/mgidBidAdapter.js +1 -1
  612. package/dist/src/metadata/modules/mgidRtdProvider.js +1 -1
  613. package/dist/src/metadata/modules/mgidXBidAdapter.js +1 -1
  614. package/dist/src/metadata/modules/minutemediaBidAdapter.js +1 -1
  615. package/dist/src/metadata/modules/missenaBidAdapter.js +1 -1
  616. package/dist/src/metadata/modules/mobianRtdProvider.js +1 -1
  617. package/dist/src/metadata/modules/mobilefuseBidAdapter.js +1 -1
  618. package/dist/src/metadata/modules/mobkoiBidAdapter.js +1 -1
  619. package/dist/src/metadata/modules/mobkoiIdSystem.js +1 -1
  620. package/dist/src/metadata/modules/nativeryBidAdapter.js +1 -1
  621. package/dist/src/metadata/modules/nativoBidAdapter.js +1 -1
  622. package/dist/src/metadata/modules/newspassidBidAdapter.js +1 -1
  623. package/dist/src/metadata/modules/nextMillenniumBidAdapter.js +1 -1
  624. package/dist/src/metadata/modules/nextrollBidAdapter.js +1 -1
  625. package/dist/src/metadata/modules/nexx360BidAdapter.js +1 -1
  626. package/dist/src/metadata/modules/nobidBidAdapter.js +1 -1
  627. package/dist/src/metadata/modules/nodalsAiRtdProvider.js +1 -1
  628. package/dist/src/metadata/modules/novatiqIdSystem.js +1 -1
  629. package/dist/src/metadata/modules/oguryBidAdapter.js +1 -1
  630. package/dist/src/metadata/modules/omsBidAdapter.js +1 -1
  631. package/dist/src/metadata/modules/onetagBidAdapter.js +1 -1
  632. package/dist/src/metadata/modules/openwebBidAdapter.js +1 -1
  633. package/dist/src/metadata/modules/openxBidAdapter.js +1 -1
  634. package/dist/src/metadata/modules/operaadsBidAdapter.js +1 -1
  635. package/dist/src/metadata/modules/optidigitalBidAdapter.js +1 -1
  636. package/dist/src/metadata/modules/optoutBidAdapter.js +1 -1
  637. package/dist/src/metadata/modules/orbidderBidAdapter.js +1 -1
  638. package/dist/src/metadata/modules/outbrainBidAdapter.js +1 -1
  639. package/dist/src/metadata/modules/ozoneBidAdapter.js +1 -1
  640. package/dist/src/metadata/modules/pairIdSystem.js +1 -1
  641. package/dist/src/metadata/modules/performaxBidAdapter.js +1 -1
  642. package/dist/src/metadata/modules/pgamsspBidAdapter.js +1 -1
  643. package/dist/src/metadata/modules/pixfutureBidAdapter.js +1 -1
  644. package/dist/src/metadata/modules/playdigoBidAdapter.js +1 -1
  645. package/dist/src/metadata/modules/prebid-core.js +1 -1
  646. package/dist/src/metadata/modules/precisoBidAdapter.js +1 -1
  647. package/dist/src/metadata/modules/prismaBidAdapter.js +1 -1
  648. package/dist/src/metadata/modules/programmaticXBidAdapter.js +1 -1
  649. package/dist/src/metadata/modules/proxistoreBidAdapter.js +1 -1
  650. package/dist/src/metadata/modules/publinkIdSystem.js +1 -1
  651. package/dist/src/metadata/modules/pubmaticBidAdapter.js +1 -1
  652. package/dist/src/metadata/modules/pubmaticIdSystem.js +1 -1
  653. package/dist/src/metadata/modules/pulsepointBidAdapter.js +1 -1
  654. package/dist/src/metadata/modules/pwbidBidAdapter.js +1 -1
  655. package/dist/src/metadata/modules/qtBidAdapter.js +1 -1
  656. package/dist/src/metadata/modules/quantcastBidAdapter.js +1 -1
  657. package/dist/src/metadata/modules/quantcastIdSystem.js +1 -1
  658. package/dist/src/metadata/modules/r2b2BidAdapter.js +1 -1
  659. package/dist/src/metadata/modules/raynRtdProvider.js +1 -1
  660. package/dist/src/metadata/modules/readpeakBidAdapter.js +1 -1
  661. package/dist/src/metadata/modules/relayBidAdapter.js +1 -1
  662. package/dist/src/metadata/modules/relevantdigitalBidAdapter.js +1 -1
  663. package/dist/src/metadata/modules/resetdigitalBidAdapter.js +1 -1
  664. package/dist/src/metadata/modules/responsiveAdsBidAdapter.js +1 -1
  665. package/dist/src/metadata/modules/retailspotBidAdapter.js +1 -1
  666. package/dist/src/metadata/modules/revcontentBidAdapter.js +1 -1
  667. package/dist/src/metadata/modules/rhythmoneBidAdapter.js +1 -1
  668. package/dist/src/metadata/modules/richaudienceBidAdapter.js +1 -1
  669. package/dist/src/metadata/modules/riseBidAdapter.js +1 -1
  670. package/dist/src/metadata/modules/rixengineBidAdapter.js +1 -1
  671. package/dist/src/metadata/modules/rtbhouseBidAdapter.js +1 -1
  672. package/dist/src/metadata/modules/rubiconBidAdapter.js +1 -1
  673. package/dist/src/metadata/modules/rumbleBidAdapter.js +2 -0
  674. package/dist/src/metadata/modules/scatteredBidAdapter.js +1 -1
  675. package/dist/src/metadata/modules/seedingAllianceBidAdapter.js +1 -1
  676. package/dist/src/metadata/modules/seedtagBidAdapter.js +1 -1
  677. package/dist/src/metadata/modules/semantiqRtdProvider.js +1 -1
  678. package/dist/src/metadata/modules/setupadBidAdapter.js +1 -1
  679. package/dist/src/metadata/modules/sevioBidAdapter.js +2 -0
  680. package/dist/src/metadata/modules/sharedIdSystem.js +1 -1
  681. package/dist/src/metadata/modules/sharethroughBidAdapter.js +1 -1
  682. package/dist/src/metadata/modules/showheroes-bsBidAdapter.js +1 -1
  683. package/dist/src/metadata/modules/silvermobBidAdapter.js +1 -1
  684. package/dist/src/metadata/modules/sirdataRtdProvider.js +1 -1
  685. package/dist/src/metadata/modules/slimcutBidAdapter.js +1 -1
  686. package/dist/src/metadata/modules/smaatoBidAdapter.js +1 -1
  687. package/dist/src/metadata/modules/smartadserverBidAdapter.js +1 -1
  688. package/dist/src/metadata/modules/smartxBidAdapter.js +1 -1
  689. package/dist/src/metadata/modules/smartyadsBidAdapter.js +1 -1
  690. package/dist/src/metadata/modules/smilewantedBidAdapter.js +1 -1
  691. package/dist/src/metadata/modules/snigelBidAdapter.js +1 -1
  692. package/dist/src/metadata/modules/sonaradsBidAdapter.js +1 -1
  693. package/dist/src/metadata/modules/sonobiBidAdapter.js +1 -1
  694. package/dist/src/metadata/modules/sovrnBidAdapter.js +1 -1
  695. package/dist/src/metadata/modules/sparteoBidAdapter.js +1 -1
  696. package/dist/src/metadata/modules/ssmasBidAdapter.js +1 -1
  697. package/dist/src/metadata/modules/sspBCBidAdapter.js +1 -1
  698. package/dist/src/metadata/modules/stackadaptBidAdapter.js +1 -1
  699. package/dist/src/metadata/modules/startioBidAdapter.js +1 -1
  700. package/dist/src/metadata/modules/stroeerCoreBidAdapter.js +1 -1
  701. package/dist/src/metadata/modules/stvBidAdapter.js +1 -1
  702. package/dist/src/metadata/modules/sublimeBidAdapter.js +1 -1
  703. package/dist/src/metadata/modules/taboolaBidAdapter.js +1 -1
  704. package/dist/src/metadata/modules/taboolaIdSystem.js +1 -1
  705. package/dist/src/metadata/modules/tappxBidAdapter.js +1 -1
  706. package/dist/src/metadata/modules/targetVideoBidAdapter.js +1 -1
  707. package/dist/src/metadata/modules/teadsBidAdapter.js +1 -1
  708. package/dist/src/metadata/modules/teadsIdSystem.js +1 -1
  709. package/dist/src/metadata/modules/tealBidAdapter.js +1 -1
  710. package/dist/src/metadata/modules/themoneytizerBidAdapter.js +1 -1
  711. package/dist/src/metadata/modules/tncIdSystem.js +1 -1
  712. package/dist/src/metadata/modules/topicsFpdModule.js +1 -1
  713. package/dist/src/metadata/modules/tripleliftBidAdapter.js +1 -1
  714. package/dist/src/metadata/modules/ttdBidAdapter.js +1 -1
  715. package/dist/src/metadata/modules/twistDigitalBidAdapter.js +1 -1
  716. package/dist/src/metadata/modules/underdogmediaBidAdapter.js +1 -1
  717. package/dist/src/metadata/modules/undertoneBidAdapter.js +1 -1
  718. package/dist/src/metadata/modules/unifiedIdSystem.js +1 -1
  719. package/dist/src/metadata/modules/unrulyBidAdapter.js +1 -1
  720. package/dist/src/metadata/modules/userId.js +1 -1
  721. package/dist/src/metadata/modules/validationFpdModule.js +1 -1
  722. package/dist/src/metadata/modules/vidazooBidAdapter.js +1 -1
  723. package/dist/src/metadata/modules/vidoomyBidAdapter.js +1 -1
  724. package/dist/src/metadata/modules/viewdeosDXBidAdapter.js +1 -1
  725. package/dist/src/metadata/modules/viouslyBidAdapter.js +1 -1
  726. package/dist/src/metadata/modules/visxBidAdapter.js +1 -1
  727. package/dist/src/metadata/modules/vlybyBidAdapter.js +1 -1
  728. package/dist/src/metadata/modules/voxBidAdapter.js +1 -1
  729. package/dist/src/metadata/modules/vrtcalBidAdapter.js +1 -1
  730. package/dist/src/metadata/modules/vuukleBidAdapter.js +1 -1
  731. package/dist/src/metadata/modules/weboramaRtdProvider.js +1 -1
  732. package/dist/src/metadata/modules/welectBidAdapter.js +1 -1
  733. package/dist/src/metadata/modules/yahooAdsBidAdapter.js +1 -1
  734. package/dist/src/metadata/modules/yieldlabBidAdapter.js +1 -1
  735. package/dist/src/metadata/modules/yieldliftBidAdapter.js +1 -1
  736. package/dist/src/metadata/modules/yieldloveBidAdapter.js +1 -1
  737. package/dist/src/metadata/modules/yieldmoBidAdapter.js +1 -1
  738. package/dist/src/metadata/modules/zeotapIdPlusIdSystem.js +1 -1
  739. package/dist/src/metadata/modules/zeta_globalBidAdapter.js +1 -1
  740. package/dist/src/metadata/modules/zeta_global_sspBidAdapter.js +1 -1
  741. package/dist/src/modules/1plusXRtdProvider.js +6 -2
  742. package/dist/src/modules/1plusXRtdProvider.js.map +1 -1
  743. package/dist/src/modules/33acrossAnalyticsAdapter.js +1 -1
  744. package/dist/src/modules/33acrossBidAdapter.js +1 -1
  745. package/dist/src/modules/33acrossIdSystem.js +1 -1
  746. package/dist/src/modules/adWMGBidAdapter.js.map +1 -1
  747. package/dist/src/modules/adagioAnalyticsAdapter.js +1 -1
  748. package/dist/src/modules/adagioBidAdapter.js +1 -1
  749. package/dist/src/modules/addefendBidAdapter.js +1 -1
  750. package/dist/src/modules/adgenerationBidAdapter.js +1 -1
  751. package/dist/src/modules/adlooxRtdProvider.js +1 -1
  752. package/dist/src/modules/admixerBidAdapter.js +5 -4
  753. package/dist/src/modules/admixerBidAdapter.js.map +1 -1
  754. package/dist/src/modules/adqueryBidAdapter.js +1 -1
  755. package/dist/src/modules/adrelevantisBidAdapter.js +1 -1
  756. package/dist/src/modules/adspiritBidAdapter.js.map +1 -1
  757. package/dist/src/modules/adstirBidAdapter.js +1 -1
  758. package/dist/src/modules/adtrgtmeBidAdapter.js +1 -1
  759. package/dist/src/modules/adtrgtmeBidAdapter.js.map +1 -1
  760. package/dist/src/modules/advertisingBidAdapter.js +2 -2
  761. package/dist/src/modules/adxcgAnalyticsAdapter.js +1 -1
  762. package/dist/src/modules/adxcgBidAdapter.js +4 -39
  763. package/dist/src/modules/adxcgBidAdapter.js.map +1 -1
  764. package/dist/src/modules/adyoulikeBidAdapter.js +1 -1
  765. package/dist/src/modules/agmaAnalyticsAdapter.js +1 -1
  766. package/dist/src/modules/ajaBidAdapter.js +1 -1
  767. package/dist/src/modules/amxBidAdapter.js +2 -2
  768. package/dist/src/modules/amxBidAdapter.js.map +1 -1
  769. package/dist/src/modules/amxIdSystem.js +1 -1
  770. package/dist/src/modules/aniviewBidAdapter.js +1 -1
  771. package/dist/src/modules/appierAnalyticsAdapter.js +1 -1
  772. package/dist/src/modules/appnexusBidAdapter.js +2 -2
  773. package/dist/src/modules/asoBidAdapter.js +1 -1
  774. package/dist/src/modules/axonixBidAdapter.js +1 -1
  775. package/dist/src/modules/beopBidAdapter.js +2 -2
  776. package/dist/src/modules/bidglassBidAdapter.js +1 -1
  777. package/dist/src/modules/bitmediaBidAdapter.js +1 -1
  778. package/dist/src/modules/blockthroughBidAdapter.js +1 -1
  779. package/dist/src/modules/bmtmBidAdapter.js +1 -1
  780. package/dist/src/modules/bridBidAdapter.js +1 -1
  781. package/dist/src/modules/bridgewellBidAdapter.js +1 -1
  782. package/dist/src/modules/carodaBidAdapter.js +1 -1
  783. package/dist/src/modules/chromeAiRtdProvider.js.map +1 -1
  784. package/dist/src/modules/chtnwBidAdapter.js +1 -1
  785. package/dist/src/modules/concertBidAdapter.js +1 -1
  786. package/dist/src/modules/connectadBidAdapter.js +1 -1
  787. package/dist/src/modules/consentManagementGpp.js.map +1 -1
  788. package/dist/src/modules/consentManagementTcf.js.map +1 -1
  789. package/dist/src/modules/consentManagementUsp.js.map +1 -1
  790. package/dist/src/modules/consumableBidAdapter.js +1 -1
  791. package/dist/src/modules/contxtfulBidAdapter.js +1 -1
  792. package/dist/src/modules/conversantBidAdapter.js +1 -1
  793. package/dist/src/modules/craftBidAdapter.js +1 -1
  794. package/dist/src/modules/criteoBidAdapter.js +2 -2
  795. package/dist/src/modules/currency.js.map +1 -1
  796. package/dist/src/modules/cwireBidAdapter.js +1 -1
  797. package/dist/src/modules/cwireBidAdapter.js.map +1 -1
  798. package/dist/src/modules/dailymotionBidAdapter.js +1 -1
  799. package/dist/src/modules/dailymotionBidAdapter.js.map +1 -1
  800. package/dist/src/modules/dchain.js.map +1 -1
  801. package/dist/src/modules/dspxBidAdapter.js +1 -1
  802. package/dist/src/modules/dspxBidAdapter.js.map +1 -1
  803. package/dist/src/modules/dxkultureBidAdapter.js +1 -1
  804. package/dist/src/modules/eightPodBidAdapter.js.map +1 -1
  805. package/dist/src/modules/eplanningBidAdapter.js +1 -1
  806. package/dist/src/modules/equativBidAdapter.js +1 -1
  807. package/dist/src/modules/eskimiBidAdapter.js +1 -1
  808. package/dist/src/modules/euidIdSystem.js +1 -1
  809. package/dist/src/modules/exadsBidAdapter.js +1 -1
  810. package/dist/src/modules/excoBidAdapter.js +3 -3
  811. package/dist/src/modules/feedadBidAdapter.js +2 -2
  812. package/dist/src/modules/finativeBidAdapter.js +1 -1
  813. package/dist/src/modules/genericAnalyticsAdapter.js.map +1 -1
  814. package/dist/src/modules/geolocationRtdProvider.js.map +1 -1
  815. package/dist/src/modules/getintentBidAdapter.js +4 -2
  816. package/dist/src/modules/getintentBidAdapter.js.map +1 -1
  817. package/dist/src/modules/gmosspBidAdapter.js +1 -1
  818. package/dist/src/modules/gmosspBidAdapter.js.map +1 -1
  819. package/dist/src/modules/gppControl_usstates.js.map +1 -1
  820. package/dist/src/modules/gptPreAuction.d.ts +3 -3
  821. package/dist/src/modules/gptPreAuction.js.map +1 -1
  822. package/dist/src/modules/greenbidsAnalyticsAdapter.js +1 -1
  823. package/dist/src/modules/greenbidsBidAdapter.js +1 -1
  824. package/dist/src/modules/greenbidsRtdProvider.js +1 -1
  825. package/dist/src/modules/gridBidAdapter.js +2 -2
  826. package/dist/src/modules/gumgumBidAdapter.js +2 -2
  827. package/dist/src/modules/h12mediaBidAdapter.js +1 -1
  828. package/dist/src/modules/hypelabBidAdapter.js +1 -1
  829. package/dist/src/modules/iasRtdProvider.js +110 -5
  830. package/dist/src/modules/iasRtdProvider.js.map +1 -1
  831. package/dist/src/modules/id5AnalyticsAdapter.js +1 -1
  832. package/dist/src/modules/id5IdSystem.js +1 -1
  833. package/dist/src/modules/improvedigitalBidAdapter.js +1 -1
  834. package/dist/src/modules/inmobiBidAdapter.js +1 -1
  835. package/dist/src/modules/insticatorBidAdapter.js +1 -1
  836. package/dist/src/modules/intentIqAnalyticsAdapter.js +1 -1
  837. package/dist/src/modules/intentIqAnalyticsAdapter.js.map +1 -1
  838. package/dist/src/modules/intentIqIdSystem.js.map +1 -1
  839. package/dist/src/modules/ixBidAdapter.js +1 -1
  840. package/dist/src/modules/jixieBidAdapter.js +1 -1
  841. package/dist/src/modules/justpremiumBidAdapter.js +1 -1
  842. package/dist/src/modules/jwplayerRtdProvider.js +6 -2
  843. package/dist/src/modules/jwplayerRtdProvider.js.map +1 -1
  844. package/dist/src/modules/jwplayerVideoProvider.js +12 -9
  845. package/dist/src/modules/jwplayerVideoProvider.js.map +1 -1
  846. package/dist/src/modules/kargoBidAdapter.js +1 -1
  847. package/dist/src/modules/kimberliteBidAdapter.js +1 -1
  848. package/dist/src/modules/kubientBidAdapter.js +0 -1
  849. package/dist/src/modules/kubientBidAdapter.js.map +1 -1
  850. package/dist/src/modules/lassoBidAdapter.js +1 -1
  851. package/dist/src/modules/lifestreetBidAdapter.js +1 -1
  852. package/dist/src/modules/logicadBidAdapter.js +1 -1
  853. package/dist/src/modules/luceadBidAdapter.js +1 -1
  854. package/dist/src/modules/mabidderBidAdapter.js +1 -1
  855. package/dist/src/modules/madsenseBidAdapter.js +1 -1
  856. package/dist/src/modules/magniteAnalyticsAdapter.js +1 -1
  857. package/dist/src/modules/malltvAnalyticsAdapter.js +1 -1
  858. package/dist/src/modules/marsmediaBidAdapter.js +1 -1
  859. package/dist/src/modules/mediafuseBidAdapter.js +2 -2
  860. package/dist/src/modules/medianetAnalyticsAdapter.js.map +1 -1
  861. package/dist/src/modules/medianetBidAdapter.js +6 -2
  862. package/dist/src/modules/medianetBidAdapter.js.map +1 -1
  863. package/dist/src/modules/mediasquareBidAdapter.js +2 -2
  864. package/dist/src/modules/mgidBidAdapter.js +1 -1
  865. package/dist/src/modules/michaoBidAdapter.js.map +1 -1
  866. package/dist/src/modules/missenaBidAdapter.js +1 -1
  867. package/dist/src/modules/mobilefuseBidAdapter.js +1 -1
  868. package/dist/src/modules/multibid/index.js.map +1 -1
  869. package/dist/src/modules/nextMillenniumBidAdapter.js +1 -1
  870. package/dist/src/modules/nexverseBidAdapter.js.map +1 -1
  871. package/dist/src/modules/nobidAnalyticsAdapter.js +1 -1
  872. package/dist/src/modules/nobidBidAdapter.js +1 -1
  873. package/dist/src/modules/nodalsAiRtdProvider.js +4 -2
  874. package/dist/src/modules/nodalsAiRtdProvider.js.map +1 -1
  875. package/dist/src/modules/oguryBidAdapter.js +1 -1
  876. package/dist/src/modules/onetagBidAdapter.js +1 -1
  877. package/dist/src/modules/onetagBidAdapter.js.map +1 -1
  878. package/dist/src/modules/ooloAnalyticsAdapter.js +1 -1
  879. package/dist/src/modules/openxBidAdapter.js +7 -2
  880. package/dist/src/modules/openxBidAdapter.js.map +1 -1
  881. package/dist/src/modules/optidigitalBidAdapter.js +1 -1
  882. package/dist/src/modules/orbidderBidAdapter.js +1 -1
  883. package/dist/src/modules/outbrainBidAdapter.js +1 -1
  884. package/dist/src/modules/pixfutureBidAdapter.js +2 -2
  885. package/dist/src/modules/prebidServerBidAdapter/index.js.map +1 -1
  886. package/dist/src/modules/priceFloors.d.ts +2 -2
  887. package/dist/src/modules/priceFloors.js.map +1 -1
  888. package/dist/src/modules/publinkIdSystem.js +1 -1
  889. package/dist/src/modules/pubmaticAnalyticsAdapter.js +2 -2
  890. package/dist/src/modules/pubmaticBidAdapter.js +23 -3
  891. package/dist/src/modules/pubmaticBidAdapter.js.map +1 -1
  892. package/dist/src/modules/pubmaticRtdProvider.js.map +1 -1
  893. package/dist/src/modules/pubwiseAnalyticsAdapter.js +1 -1
  894. package/dist/src/modules/pubxaiAnalyticsAdapter.js +1 -1
  895. package/dist/src/modules/pulsepointBidAdapter.js +2 -38
  896. package/dist/src/modules/pulsepointBidAdapter.js.map +1 -1
  897. package/dist/src/modules/pxyzBidAdapter.js +1 -1
  898. package/dist/src/modules/quantcastBidAdapter.js +1 -1
  899. package/dist/src/modules/readpeakBidAdapter.js +1 -1
  900. package/dist/src/modules/readpeakBidAdapter.js.map +1 -1
  901. package/dist/src/modules/relaidoBidAdapter.js +1 -1
  902. package/dist/src/modules/retailspotBidAdapter.js +1 -1
  903. package/dist/src/modules/rhythmoneBidAdapter.js +1 -1
  904. package/dist/src/modules/rtdModule/index.js.map +1 -1
  905. package/dist/src/modules/rtdModule/spec.js.map +1 -1
  906. package/dist/src/modules/rubiconBidAdapter.js +6 -2
  907. package/dist/src/modules/rubiconBidAdapter.js.map +1 -1
  908. package/dist/src/modules/rumbleBidAdapter.js +103 -0
  909. package/dist/src/modules/rumbleBidAdapter.js.map +1 -0
  910. package/dist/src/modules/schain.js.map +1 -1
  911. package/dist/src/modules/seedingAllianceBidAdapter.js +1 -1
  912. package/dist/src/modules/seedtagBidAdapter.js +1 -1
  913. package/dist/src/modules/sevioBidAdapter.js +254 -0
  914. package/dist/src/modules/sevioBidAdapter.js.map +1 -0
  915. package/dist/src/modules/sharedIdSystem.js.map +1 -1
  916. package/dist/src/modules/sharethroughAnalyticsAdapter.js +1 -1
  917. package/dist/src/modules/sharethroughBidAdapter.js +1 -1
  918. package/dist/src/modules/showheroes-bsBidAdapter.js +1 -1
  919. package/dist/src/modules/smaatoBidAdapter.js +1 -1
  920. package/dist/src/modules/smartadserverBidAdapter.js +1 -1
  921. package/dist/src/modules/smartxBidAdapter.js +1 -1
  922. package/dist/src/modules/smilewantedBidAdapter.js +1 -1
  923. package/dist/src/modules/snigelBidAdapter.js +1 -1
  924. package/dist/src/modules/sonaradsBidAdapter.js +2 -2
  925. package/dist/src/modules/sonobiBidAdapter.js +1 -1
  926. package/dist/src/modules/sovrnBidAdapter.js +1 -1
  927. package/dist/src/modules/sparteoBidAdapter.js +1 -1
  928. package/dist/src/modules/sspBCBidAdapter.js +1 -1
  929. package/dist/src/modules/storageControl.js.map +1 -1
  930. package/dist/src/modules/stvBidAdapter.js +1 -1
  931. package/dist/src/modules/sublimeBidAdapter.js +2 -2
  932. package/dist/src/modules/taboolaBidAdapter.js +1 -1
  933. package/dist/src/modules/tappxBidAdapter.js +1 -1
  934. package/dist/src/modules/targetVideoBidAdapter.js +1 -1
  935. package/dist/src/modules/tcfControl.js.map +1 -1
  936. package/dist/src/modules/teadsBidAdapter.js +1 -1
  937. package/dist/src/modules/terceptAnalyticsAdapter.js +1 -1
  938. package/dist/src/modules/themoneytizerBidAdapter.js +1 -3
  939. package/dist/src/modules/themoneytizerBidAdapter.js.map +1 -1
  940. package/dist/src/modules/trionBidAdapter.js +1 -1
  941. package/dist/src/modules/tripleliftBidAdapter.js +1 -1
  942. package/dist/src/modules/ttdBidAdapter.js +9 -2
  943. package/dist/src/modules/ttdBidAdapter.js.map +1 -1
  944. package/dist/src/modules/ucfunnelAnalyticsAdapter.js +1 -1
  945. package/dist/src/modules/uid2IdSystem.js +1 -1
  946. package/dist/src/modules/underdogmediaBidAdapter.js +1 -1
  947. package/dist/src/modules/undertoneBidAdapter.js +1 -1
  948. package/dist/src/modules/unrulyBidAdapter.js +1 -1
  949. package/dist/src/modules/userId/index.js +12 -8
  950. package/dist/src/modules/userId/index.js.map +1 -1
  951. package/dist/src/modules/userId/spec.js.map +1 -1
  952. package/dist/src/modules/validationFpdModule/index.js.map +1 -1
  953. package/dist/src/modules/videoModule/index.js.map +1 -1
  954. package/dist/src/modules/videobyteBidAdapter.js +1 -1
  955. package/dist/src/modules/visxBidAdapter.js +1 -1
  956. package/dist/src/modules/vuukleBidAdapter.js +1 -1
  957. package/dist/src/modules/weboramaRtdProvider.js +30 -11
  958. package/dist/src/modules/weboramaRtdProvider.js.map +1 -1
  959. package/dist/src/modules/welectBidAdapter.js.map +1 -1
  960. package/dist/src/modules/widespaceBidAdapter.js +1 -1
  961. package/dist/src/modules/winrBidAdapter.js +1 -1
  962. package/dist/src/modules/yahooAdsBidAdapter.js +1 -1
  963. package/dist/src/modules/yandexBidAdapter.js +47 -15
  964. package/dist/src/modules/yandexBidAdapter.js.map +1 -1
  965. package/dist/src/modules/yieldmoBidAdapter.js +2 -2
  966. package/dist/src/modules/yieldoneAnalyticsAdapter.js +1 -1
  967. package/dist/src/package.json +2 -3
  968. package/dist/src/public/rumbleBidAdapter.js +1 -0
  969. package/dist/src/public/sevioBidAdapter.js +1 -0
  970. package/dist/src/src/activities/params.d.ts +5 -0
  971. package/dist/src/src/activities/params.js +6 -0
  972. package/dist/src/src/activities/params.js.map +1 -1
  973. package/dist/src/src/activities/redactor.js.map +1 -1
  974. package/dist/src/src/adRendering.js.map +1 -1
  975. package/dist/src/src/adUnits.js.map +1 -1
  976. package/dist/src/src/adapterManager.js.map +1 -1
  977. package/dist/src/src/adapters/bidderFactory.js.map +1 -1
  978. package/dist/src/src/ajax.js.map +1 -1
  979. package/dist/src/src/auction.js.map +1 -1
  980. package/dist/src/src/banner.js.map +1 -1
  981. package/dist/src/src/bidTTL.js.map +1 -1
  982. package/dist/src/src/bidderSettings.js.map +1 -1
  983. package/dist/src/src/bidfactory.js.map +1 -1
  984. package/dist/src/src/config.js +3 -3
  985. package/dist/src/src/config.js.map +1 -1
  986. package/dist/src/src/consentHandler.js.map +1 -1
  987. package/dist/src/src/constants.js.map +1 -1
  988. package/dist/src/src/cpmBucketManager.js.map +1 -1
  989. package/dist/src/src/debugging.js +1 -1
  990. package/dist/src/src/events.js.map +1 -1
  991. package/dist/src/src/fpd/enrichment.js.map +1 -1
  992. package/dist/src/src/hook.js.map +1 -1
  993. package/dist/src/src/mediaTypes.js.map +1 -1
  994. package/dist/src/src/native.js.map +1 -1
  995. package/dist/src/src/prebid.js +2 -2
  996. package/dist/src/src/prebid.js.map +1 -1
  997. package/dist/src/src/prebidGlobal.js.map +1 -1
  998. package/dist/src/src/refererDetection.js.map +1 -1
  999. package/dist/src/src/storageManager.js +26 -25
  1000. package/dist/src/src/storageManager.js.map +1 -1
  1001. package/dist/src/src/targeting.d.ts +7 -7
  1002. package/dist/src/src/targeting.js.map +1 -1
  1003. package/dist/src/src/types/common.d.js.map +1 -1
  1004. package/dist/src/src/types/common.d.ts +29 -29
  1005. package/dist/src/src/types/local/buildOptions.d.js.map +1 -1
  1006. package/dist/src/src/types/local/shim.d.js.map +1 -1
  1007. package/dist/src/src/types/objects.d.js.map +1 -1
  1008. package/dist/src/src/types/objects.d.ts +15 -15
  1009. package/dist/src/src/types/ortb/common.d.js.map +1 -1
  1010. package/dist/src/src/types/ortb/common.d.ts +1 -1
  1011. package/dist/src/src/types/ortb/ext/dchain.d.js.map +1 -1
  1012. package/dist/src/src/types/ortb/ext/dchain.d.ts +69 -69
  1013. package/dist/src/src/types/ortb/ext/dsa.d.js.map +1 -1
  1014. package/dist/src/src/types/ortb/ext/dsa.d.ts +50 -50
  1015. package/dist/src/src/types/ortb/request.d.js.map +1 -1
  1016. package/dist/src/src/types/ortb/request.d.ts +21 -21
  1017. package/dist/src/src/types/ortb/response.d.js.map +1 -1
  1018. package/dist/src/src/types/ortb/response.d.ts +6 -6
  1019. package/dist/src/src/types/summary/core.d.ts +5 -5
  1020. package/dist/src/src/userSync.js.map +1 -1
  1021. package/dist/src/src/utils/objects.js.map +1 -1
  1022. package/dist/src/src/utils/perfMetrics.js.map +1 -1
  1023. package/dist/src/src/utils/promise.js.map +1 -1
  1024. package/dist/src/src/utils/ttlCollection.js.map +1 -1
  1025. package/dist/src/src/video.js.map +1 -1
  1026. package/dist/src/src/videoCache.js.map +1 -1
  1027. package/dist/src/test/helpers/index_adapter_utils.js +1 -1
  1028. package/dist/src/test/helpers/index_adapter_utils.js.map +1 -1
  1029. package/dist/src/test/helpers/refererDetectionHelper.js.map +1 -1
  1030. package/dist/src/test/mocks/timers.js +12 -12
  1031. package/dist/src/test/mocks/timers.js.map +1 -1
  1032. package/dist/src/test/spec/adloader_spec.js.map +1 -1
  1033. package/dist/src/test/spec/config_spec.js +9 -3
  1034. package/dist/src/test/spec/config_spec.js.map +1 -1
  1035. package/dist/src/test/spec/libraries/greedy/greedyPromise_spec.js +2 -2
  1036. package/dist/src/test/spec/libraries/greedy/greedyPromise_spec.js.map +1 -1
  1037. package/dist/src/test/spec/modules/1plusXRtdProvider_spec.js +2 -9
  1038. package/dist/src/test/spec/modules/1plusXRtdProvider_spec.js.map +1 -1
  1039. package/dist/src/test/spec/modules/33acrossAnalyticsAdapter_spec.js +2 -2
  1040. package/dist/src/test/spec/modules/33acrossBidAdapter_spec.js +1 -1
  1041. package/dist/src/test/spec/modules/33acrossIdSystem_spec.js +1 -1
  1042. package/dist/src/test/spec/modules/adagioAnalyticsAdapter_spec.js +4 -4
  1043. package/dist/src/test/spec/modules/adgridBidAdapter_spec.js.map +1 -1
  1044. package/dist/src/test/spec/modules/adkernelAdnBidAdapter_spec.js.map +1 -1
  1045. package/dist/src/test/spec/modules/adkernelBidAdapter_spec.js.map +1 -1
  1046. package/dist/src/test/spec/modules/admediaBidAdapter_spec.js.map +1 -1
  1047. package/dist/src/test/spec/modules/adnuntiusBidAdapter_spec.js.map +1 -1
  1048. package/dist/src/test/spec/modules/adqueryBidAdapter_spec.js +1 -1
  1049. package/dist/src/test/spec/modules/adrelevantisBidAdapter_spec.js +1 -1
  1050. package/dist/src/test/spec/modules/adspiritBidAdapter_spec.js.map +1 -1
  1051. package/dist/src/test/spec/modules/adtrgtmeBidAdapter_spec.js +1 -1
  1052. package/dist/src/test/spec/modules/adtrgtmeBidAdapter_spec.js.map +1 -1
  1053. package/dist/src/test/spec/modules/adtrueBidAdapter_spec.js.map +1 -1
  1054. package/dist/src/test/spec/modules/advertisingBidAdapter_spec.js +9 -9
  1055. package/dist/src/test/spec/modules/advertisingBidAdapter_spec.js.map +1 -1
  1056. package/dist/src/test/spec/modules/adyoulikeBidAdapter_spec.js +3 -3
  1057. package/dist/src/test/spec/modules/ajaBidAdapter_spec.js +2 -2
  1058. package/dist/src/test/spec/modules/amxBidAdapter_spec.js +2 -2
  1059. package/dist/src/test/spec/modules/appierAnalyticsAdapter_spec.js +1 -1
  1060. package/dist/src/test/spec/modules/appnexusBidAdapter_spec.js +2 -2
  1061. package/dist/src/test/spec/modules/asoBidAdapter_spec.js +1 -1
  1062. package/dist/src/test/spec/modules/bidmaticBidAdapter_spec.js.map +1 -1
  1063. package/dist/src/test/spec/modules/blockthroughBidAdapter_spec.js +1 -1
  1064. package/dist/src/test/spec/modules/bridBidAdapter_spec.js +1 -1
  1065. package/dist/src/test/spec/modules/criteoBidAdapter_spec.js +1 -1
  1066. package/dist/src/test/spec/modules/dailymotionBidAdapter_spec.js +4 -4
  1067. package/dist/src/test/spec/modules/datablocksBidAdapter_spec.js.map +1 -1
  1068. package/dist/src/test/spec/modules/deepintentBidAdapter_spec.js.map +1 -1
  1069. package/dist/src/test/spec/modules/dexertoBidAdapter_spec.js.map +1 -1
  1070. package/dist/src/test/spec/modules/dochaseBidAdapter_spec.js.map +1 -1
  1071. package/dist/src/test/spec/modules/dspxBidAdapter_spec.js.map +1 -1
  1072. package/dist/src/test/spec/modules/dxkultureBidAdapter_spec.js +1 -1
  1073. package/dist/src/test/spec/modules/ehealthcaresolutionsBidAdapter_spec.js.map +1 -1
  1074. package/dist/src/test/spec/modules/enrichmentLiftMeasurement_spec.js.map +1 -1
  1075. package/dist/src/test/spec/modules/eplanningBidAdapter_spec.js +1 -1
  1076. package/dist/src/test/spec/modules/equativBidAdapter_spec.js +1 -1
  1077. package/dist/src/test/spec/modules/equativBidAdapter_spec.js.map +1 -1
  1078. package/dist/src/test/spec/modules/excoBidAdapter_spec.js +1 -1
  1079. package/dist/src/test/spec/modules/feedadBidAdapter_spec.js +2 -2
  1080. package/dist/src/test/spec/modules/finativeBidAdapter_spec.js.map +1 -1
  1081. package/dist/src/test/spec/modules/ftrackIdSystem_spec.js.map +1 -1
  1082. package/dist/src/test/spec/modules/fwsspBidAdapter_spec.js.map +1 -1
  1083. package/dist/src/test/spec/modules/gmosspBidAdapter_spec.js +2 -2
  1084. package/dist/src/test/spec/modules/greenbidsAnalyticsAdapter_spec.js +1 -1
  1085. package/dist/src/test/spec/modules/gridBidAdapter_spec.js +6 -6
  1086. package/dist/src/test/spec/modules/gumgumBidAdapter_spec.js +1 -1
  1087. package/dist/src/test/spec/modules/hypelabBidAdapter_spec.js.map +1 -1
  1088. package/dist/src/test/spec/modules/iasRtdProvider_spec.js +104 -1
  1089. package/dist/src/test/spec/modules/iasRtdProvider_spec.js.map +1 -1
  1090. package/dist/src/test/spec/modules/id5IdSystem_spec.js +4 -4
  1091. package/dist/src/test/spec/modules/insticatorBidAdapter_spec.js +1 -1
  1092. package/dist/src/test/spec/modules/intentIqIdSystem_spec.js.map +1 -1
  1093. package/dist/src/test/spec/modules/invibesBidAdapter_spec.js.map +1 -1
  1094. package/dist/src/test/spec/modules/ixBidAdapter_spec.js +2 -2
  1095. package/dist/src/test/spec/modules/justpremiumBidAdapter_spec.js +1 -1
  1096. package/dist/src/test/spec/modules/kargoBidAdapter_spec.js +1 -1
  1097. package/dist/src/test/spec/modules/kargoBidAdapter_spec.js.map +1 -1
  1098. package/dist/src/test/spec/modules/lane4BidAdapter_spec.js.map +1 -1
  1099. package/dist/src/test/spec/modules/lemmaDigitalBidAdapter_spec.js.map +1 -1
  1100. package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js +29 -10
  1101. package/dist/src/test/spec/modules/liveIntentExternalIdSystem_spec.js.map +1 -1
  1102. package/dist/src/test/spec/modules/liveIntentIdMinimalSystem_spec.js +19 -0
  1103. package/dist/src/test/spec/modules/liveIntentIdMinimalSystem_spec.js.map +1 -1
  1104. package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js +58 -1
  1105. package/dist/src/test/spec/modules/liveIntentIdSystem_spec.js.map +1 -1
  1106. package/dist/src/test/spec/modules/liveIntentRtdProvider_spec.js.map +1 -1
  1107. package/dist/src/test/spec/modules/magniteAnalyticsAdapter_spec.js +1 -1
  1108. package/dist/src/test/spec/modules/malltvAnalyticsAdapter_spec.js +1 -1
  1109. package/dist/src/test/spec/modules/mediaeyesBidAdapter_spec.js.map +1 -1
  1110. package/dist/src/test/spec/modules/mediafuseBidAdapter_spec.js +2 -2
  1111. package/dist/src/test/spec/modules/mediagoBidAdapter_spec.js.map +1 -1
  1112. package/dist/src/test/spec/modules/medianetBidAdapter_spec.js +43 -26
  1113. package/dist/src/test/spec/modules/medianetBidAdapter_spec.js.map +1 -1
  1114. package/dist/src/test/spec/modules/mediasquareBidAdapter_spec.js.map +1 -1
  1115. package/dist/src/test/spec/modules/missenaBidAdapter_spec.js +1 -1
  1116. package/dist/src/test/spec/modules/nexx360BidAdapter_spec.js.map +1 -1
  1117. package/dist/src/test/spec/modules/nobidAnalyticsAdapter_spec.js +1 -1
  1118. package/dist/src/test/spec/modules/nobidBidAdapter_spec.js +1 -1
  1119. package/dist/src/test/spec/modules/nobidBidAdapter_spec.js.map +1 -1
  1120. package/dist/src/test/spec/modules/oguryBidAdapter_spec.js +1 -1
  1121. package/dist/src/test/spec/modules/onetagBidAdapter_spec.js.map +1 -1
  1122. package/dist/src/test/spec/modules/openxBidAdapter_spec.js +113 -0
  1123. package/dist/src/test/spec/modules/openxBidAdapter_spec.js.map +1 -1
  1124. package/dist/src/test/spec/modules/optoutBidAdapter_spec.js.map +1 -1
  1125. package/dist/src/test/spec/modules/orbitsoftBidAdapter_spec.js.map +1 -1
  1126. package/dist/src/test/spec/modules/outbrainBidAdapter_spec.js +3 -3
  1127. package/dist/src/test/spec/modules/oxxionAnalyticsAdapter_spec.js.map +1 -1
  1128. package/dist/src/test/spec/modules/ozoneBidAdapter_spec.js.map +1 -1
  1129. package/dist/src/test/spec/modules/prebidServerBidAdapter_spec.js +4 -4
  1130. package/dist/src/test/spec/modules/prebidServerBidAdapter_spec.js.map +1 -1
  1131. package/dist/src/test/spec/modules/prismaBidAdapter_spec.js.map +1 -1
  1132. package/dist/src/test/spec/modules/publinkIdSystem_spec.js +5 -5
  1133. package/dist/src/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +6 -6
  1134. package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js +58 -0
  1135. package/dist/src/test/spec/modules/pubmaticBidAdapter_spec.js.map +1 -1
  1136. package/dist/src/test/spec/modules/pubmaticRtdProvider_spec.js.map +1 -1
  1137. package/dist/src/test/spec/modules/pubwiseAnalyticsAdapter_spec.js +1 -1
  1138. package/dist/src/test/spec/modules/pubxaiAnalyticsAdapter_spec.js +6 -6
  1139. package/dist/src/test/spec/modules/pwbidBidAdapter_spec.js.map +1 -1
  1140. package/dist/src/test/spec/modules/quantcastBidAdapter_spec.js +6 -6
  1141. package/dist/src/test/spec/modules/readpeakBidAdapter_spec.js +4 -4
  1142. package/dist/src/test/spec/modules/relaidoBidAdapter_spec.js +1 -1
  1143. package/dist/src/test/spec/modules/relevadRtdProvider_spec.js.map +1 -1
  1144. package/dist/src/test/spec/modules/relevatehealthBidAdapter_spec.js.map +1 -1
  1145. package/dist/src/test/spec/modules/richaudienceBidAdapter_spec.js.map +1 -1
  1146. package/dist/src/test/spec/modules/rubiconBidAdapter_spec.js +2 -2
  1147. package/dist/src/test/spec/modules/rubiconBidAdapter_spec.js.map +1 -1
  1148. package/dist/src/test/spec/modules/rumbleBidAdapter_spec.js +110 -0
  1149. package/dist/src/test/spec/modules/rumbleBidAdapter_spec.js.map +1 -0
  1150. package/dist/src/test/spec/modules/sevioBidAdapter_spec.js +182 -0
  1151. package/dist/src/test/spec/modules/sevioBidAdapter_spec.js.map +1 -0
  1152. package/dist/src/test/spec/modules/smaatoBidAdapter_spec.js.map +1 -1
  1153. package/dist/src/test/spec/modules/smarticoBidAdapter_spec.js.map +1 -1
  1154. package/dist/src/test/spec/modules/smartxBidAdapter_spec.js +1 -1
  1155. package/dist/src/test/spec/modules/sonaradsBidAdapter_spec.js +5 -5
  1156. package/dist/src/test/spec/modules/sovrnBidAdapter_spec.js +1 -1
  1157. package/dist/src/test/spec/modules/sparteoBidAdapter_spec.js +3 -3
  1158. package/dist/src/test/spec/modules/sspBCBidAdapter_spec.js +1 -1
  1159. package/dist/src/test/spec/modules/stvBidAdapter_spec.js.map +1 -1
  1160. package/dist/src/test/spec/modules/taboolaBidAdapter_spec.js +1 -1
  1161. package/dist/src/test/spec/modules/tapnativeBidAdapter_spec.js.map +1 -1
  1162. package/dist/src/test/spec/modules/targetVideoBidAdapter_spec.js +2 -2
  1163. package/dist/src/test/spec/modules/themoneytizerBidAdapter_spec.js +0 -5
  1164. package/dist/src/test/spec/modules/themoneytizerBidAdapter_spec.js.map +1 -1
  1165. package/dist/src/test/spec/modules/trionBidAdapter_spec.js +1 -1
  1166. package/dist/src/test/spec/modules/ttdBidAdapter_spec.js +24 -3
  1167. package/dist/src/test/spec/modules/ttdBidAdapter_spec.js.map +1 -1
  1168. package/dist/src/test/spec/modules/ucfunnelAnalyticsAdapter_spec.js +1 -1
  1169. package/dist/src/test/spec/modules/uid2IdSystem_spec.js.map +1 -1
  1170. package/dist/src/test/spec/modules/unrulyBidAdapter_spec.js +3 -3
  1171. package/dist/src/test/spec/modules/userId_spec.js +41 -6
  1172. package/dist/src/test/spec/modules/userId_spec.js.map +1 -1
  1173. package/dist/src/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +1738 -9
  1174. package/dist/src/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js.map +1 -1
  1175. package/dist/src/test/spec/modules/videobyteBidAdapter_spec.js +1 -1
  1176. package/dist/src/test/spec/modules/visxBidAdapter_spec.js +12 -12
  1177. package/dist/src/test/spec/modules/winrBidAdapter_spec.js +1 -1
  1178. package/dist/src/test/spec/modules/yahooAdsBidAdapter_spec.js +1 -1
  1179. package/dist/src/test/spec/modules/yandexBidAdapter_spec.js +107 -2
  1180. package/dist/src/test/spec/modules/yandexBidAdapter_spec.js.map +1 -1
  1181. package/dist/src/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +2 -2
  1182. package/dist/src/test/spec/refererDetection_spec.js.map +1 -1
  1183. package/dist/src/test/spec/unit/core/storageManager_spec.js +18 -1
  1184. package/dist/src/test/spec/unit/core/storageManager_spec.js.map +1 -1
  1185. package/dist/src/test/spec/unit/core/targeting_spec.js.map +1 -1
  1186. package/dist/src/test/spec/utils_spec.js.map +1 -1
  1187. package/eslint.config.js +2 -6
  1188. package/gulpfile.js +0 -7
  1189. package/libraries/analyticsAdapter/AnalyticsAdapter.ts +28 -28
  1190. package/libraries/appnexusUtils/anKeywords.js +11 -0
  1191. package/libraries/consentManagement/cmUtils.ts +18 -18
  1192. package/libraries/creative-renderer-display/renderer.js +1 -1
  1193. package/libraries/cryptoUtils/wallets.js +38 -0
  1194. package/libraries/dspxUtils/bidderUtils.js +1 -1
  1195. package/libraries/impUtils.js +33 -0
  1196. package/libraries/liveIntentId/shared.js +16 -0
  1197. package/libraries/nexx360Utils/index.js +8 -8
  1198. package/libraries/ortbConverter/converter.ts +79 -79
  1199. package/libraries/video/constants/events.ts +5 -5
  1200. package/metadata/modules/33acrossBidAdapter.json +1 -1
  1201. package/metadata/modules/33acrossIdSystem.json +1 -1
  1202. package/metadata/modules/acuityadsBidAdapter.json +1 -1
  1203. package/metadata/modules/adagioBidAdapter.json +1 -1
  1204. package/metadata/modules/adagioRtdProvider.json +1 -1
  1205. package/metadata/modules/addefendBidAdapter.json +1 -1
  1206. package/metadata/modules/adfBidAdapter.json +1 -1
  1207. package/metadata/modules/adfusionBidAdapter.json +1 -1
  1208. package/metadata/modules/adheseBidAdapter.json +1 -1
  1209. package/metadata/modules/adkernelAdnBidAdapter.json +1 -1
  1210. package/metadata/modules/adkernelBidAdapter.json +4 -4
  1211. package/metadata/modules/admaticBidAdapter.json +2 -2
  1212. package/metadata/modules/admixerBidAdapter.json +8 -1
  1213. package/metadata/modules/admixerIdSystem.json +1 -1
  1214. package/metadata/modules/adnowBidAdapter.json +1 -1
  1215. package/metadata/modules/adnuntiusBidAdapter.json +1 -1
  1216. package/metadata/modules/adnuntiusRtdProvider.json +1 -1
  1217. package/metadata/modules/adotBidAdapter.json +1 -1
  1218. package/metadata/modules/adponeBidAdapter.json +1 -1
  1219. package/metadata/modules/adqueryBidAdapter.json +1 -1
  1220. package/metadata/modules/adqueryIdSystem.json +1 -1
  1221. package/metadata/modules/adrinoBidAdapter.json +1 -1
  1222. package/metadata/modules/ads_interactiveBidAdapter.json +1 -1
  1223. package/metadata/modules/adtargetBidAdapter.json +1 -1
  1224. package/metadata/modules/adtelligentBidAdapter.json +3 -3
  1225. package/metadata/modules/adtelligentIdSystem.json +1 -1
  1226. package/metadata/modules/aduptechBidAdapter.json +1 -1
  1227. package/metadata/modules/adyoulikeBidAdapter.json +1 -1
  1228. package/metadata/modules/aidemBidAdapter.json +1 -1
  1229. package/metadata/modules/airgridRtdProvider.json +1 -1
  1230. package/metadata/modules/alkimiBidAdapter.json +1 -1
  1231. package/metadata/modules/ampliffyBidAdapter.json +1 -1
  1232. package/metadata/modules/amxBidAdapter.json +1 -1
  1233. package/metadata/modules/amxIdSystem.json +1 -1
  1234. package/metadata/modules/aniviewBidAdapter.json +1 -1
  1235. package/metadata/modules/anonymisedRtdProvider.json +1 -1
  1236. package/metadata/modules/appierBidAdapter.json +15 -29
  1237. package/metadata/modules/appnexusBidAdapter.json +5 -5
  1238. package/metadata/modules/appushBidAdapter.json +1 -1
  1239. package/metadata/modules/apstreamBidAdapter.json +1 -1
  1240. package/metadata/modules/audiencerunBidAdapter.json +1 -1
  1241. package/metadata/modules/axisBidAdapter.json +1 -1
  1242. package/metadata/modules/azerionedgeRtdProvider.json +1 -1
  1243. package/metadata/modules/beopBidAdapter.json +1 -1
  1244. package/metadata/modules/betweenBidAdapter.json +1 -1
  1245. package/metadata/modules/bidmaticBidAdapter.json +1 -1
  1246. package/metadata/modules/bidtheatreBidAdapter.json +1 -1
  1247. package/metadata/modules/bliinkBidAdapter.json +1 -1
  1248. package/metadata/modules/blockthroughBidAdapter.json +1 -1
  1249. package/metadata/modules/blueBidAdapter.json +1 -1
  1250. package/metadata/modules/bmsBidAdapter.json +1 -1
  1251. package/metadata/modules/boldwinBidAdapter.json +1 -1
  1252. package/metadata/modules/bridBidAdapter.json +1 -1
  1253. package/metadata/modules/browsiBidAdapter.json +1 -1
  1254. package/metadata/modules/bucksenseBidAdapter.json +1 -1
  1255. package/metadata/modules/carodaBidAdapter.json +1 -1
  1256. package/metadata/modules/categoryTranslation.json +1 -1
  1257. package/metadata/modules/ccxBidAdapter.json +1 -1
  1258. package/metadata/modules/ceeIdSystem.json +1 -1
  1259. package/metadata/modules/chromeAiRtdProvider.json +1 -1
  1260. package/metadata/modules/compassBidAdapter.json +1 -1
  1261. package/metadata/modules/conceptxBidAdapter.json +1 -1
  1262. package/metadata/modules/connatixBidAdapter.json +1 -1
  1263. package/metadata/modules/connectIdSystem.json +1 -1
  1264. package/metadata/modules/connectadBidAdapter.json +1 -1
  1265. package/metadata/modules/contentexchangeBidAdapter.json +1 -1
  1266. package/metadata/modules/conversantBidAdapter.json +1 -1
  1267. package/metadata/modules/copper6sspBidAdapter.json +1 -1
  1268. package/metadata/modules/cpmstarBidAdapter.json +1 -1
  1269. package/metadata/modules/criteoBidAdapter.json +1 -1
  1270. package/metadata/modules/criteoIdSystem.json +1 -1
  1271. package/metadata/modules/cwireBidAdapter.json +1 -1
  1272. package/metadata/modules/czechAdIdSystem.json +1 -1
  1273. package/metadata/modules/dailymotionBidAdapter.json +1 -1
  1274. package/metadata/modules/debugging.json +1 -1
  1275. package/metadata/modules/deepintentBidAdapter.json +1 -1
  1276. package/metadata/modules/deltaprojectsBidAdapter.json +1 -1
  1277. package/metadata/modules/dianomiBidAdapter.json +1 -1
  1278. package/metadata/modules/digitalMatterBidAdapter.json +1 -1
  1279. package/metadata/modules/distroscaleBidAdapter.json +1 -1
  1280. package/metadata/modules/docereeAdManagerBidAdapter.json +3 -3
  1281. package/metadata/modules/docereeBidAdapter.json +3 -3
  1282. package/metadata/modules/dspxBidAdapter.json +1 -1
  1283. package/metadata/modules/e_volutionBidAdapter.json +1 -1
  1284. package/metadata/modules/edge226BidAdapter.json +3 -3
  1285. package/metadata/modules/equativBidAdapter.json +1 -1
  1286. package/metadata/modules/eskimiBidAdapter.json +1 -1
  1287. package/metadata/modules/etargetBidAdapter.json +1 -1
  1288. package/metadata/modules/euidIdSystem.json +1 -1
  1289. package/metadata/modules/exadsBidAdapter.json +1 -1
  1290. package/metadata/modules/feedadBidAdapter.json +1 -1
  1291. package/metadata/modules/fwsspBidAdapter.json +1 -1
  1292. package/metadata/modules/gamoshiBidAdapter.json +1 -1
  1293. package/metadata/modules/glomexBidAdapter.json +1 -1
  1294. package/metadata/modules/goldbachBidAdapter.json +1 -1
  1295. package/metadata/modules/greenbidsBidAdapter.json +1 -1
  1296. package/metadata/modules/gridBidAdapter.json +1 -1
  1297. package/metadata/modules/gumgumBidAdapter.json +1 -1
  1298. package/metadata/modules/hadronIdSystem.json +1 -1
  1299. package/metadata/modules/hadronRtdProvider.json +1 -1
  1300. package/metadata/modules/holidBidAdapter.json +1 -1
  1301. package/metadata/modules/hybridBidAdapter.json +1 -1
  1302. package/metadata/modules/id5IdSystem.json +1 -1
  1303. package/metadata/modules/identityLinkIdSystem.json +1 -1
  1304. package/metadata/modules/illuminBidAdapter.json +1 -1
  1305. package/metadata/modules/impactifyBidAdapter.json +1 -1
  1306. package/metadata/modules/improvedigitalBidAdapter.json +1 -1
  1307. package/metadata/modules/inmobiBidAdapter.json +1 -1
  1308. package/metadata/modules/innityBidAdapter.json +1 -1
  1309. package/metadata/modules/insticatorBidAdapter.json +1 -1
  1310. package/metadata/modules/intentIqIdSystem.json +1 -1
  1311. package/metadata/modules/invibesBidAdapter.json +1 -1
  1312. package/metadata/modules/ipromBidAdapter.json +1 -1
  1313. package/metadata/modules/ixBidAdapter.json +1 -1
  1314. package/metadata/modules/justIdSystem.json +1 -1
  1315. package/metadata/modules/justpremiumBidAdapter.json +1 -1
  1316. package/metadata/modules/jwplayerBidAdapter.json +1 -1
  1317. package/metadata/modules/kargoBidAdapter.json +1 -1
  1318. package/metadata/modules/kubientBidAdapter.json +3 -8
  1319. package/metadata/modules/kueezRtbBidAdapter.json +1 -1
  1320. package/metadata/modules/limelightDigitalBidAdapter.json +2 -2
  1321. package/metadata/modules/liveIntentIdSystem.json +1 -1
  1322. package/metadata/modules/liveIntentRtdProvider.json +1 -1
  1323. package/metadata/modules/livewrappedBidAdapter.json +1 -1
  1324. package/metadata/modules/loopmeBidAdapter.json +1 -1
  1325. package/metadata/modules/lotamePanoramaIdSystem.json +1 -1
  1326. package/metadata/modules/luceadBidAdapter.json +1 -1
  1327. package/metadata/modules/luponmediaBidAdapter.json +1 -1
  1328. package/metadata/modules/madvertiseBidAdapter.json +1 -1
  1329. package/metadata/modules/marsmediaBidAdapter.json +1 -1
  1330. package/metadata/modules/mediaConsortiumBidAdapter.json +1 -1
  1331. package/metadata/modules/mediaforceBidAdapter.json +1 -1
  1332. package/metadata/modules/mediafuseBidAdapter.json +1 -1
  1333. package/metadata/modules/mediagoBidAdapter.json +1 -1
  1334. package/metadata/modules/mediakeysBidAdapter.json +1 -1
  1335. package/metadata/modules/medianetBidAdapter.json +2 -2
  1336. package/metadata/modules/mediasquareBidAdapter.json +1 -1
  1337. package/metadata/modules/mgidBidAdapter.json +1 -1
  1338. package/metadata/modules/mgidRtdProvider.json +1 -1
  1339. package/metadata/modules/mgidXBidAdapter.json +1 -1
  1340. package/metadata/modules/minutemediaBidAdapter.json +1 -1
  1341. package/metadata/modules/missenaBidAdapter.json +1 -1
  1342. package/metadata/modules/mobianRtdProvider.json +1 -1
  1343. package/metadata/modules/mobilefuseBidAdapter.json +1 -1
  1344. package/metadata/modules/mobkoiBidAdapter.json +1 -1
  1345. package/metadata/modules/mobkoiIdSystem.json +1 -1
  1346. package/metadata/modules/nativeryBidAdapter.json +1 -1
  1347. package/metadata/modules/nativoBidAdapter.json +1 -1
  1348. package/metadata/modules/newspassidBidAdapter.json +1 -1
  1349. package/metadata/modules/nextMillenniumBidAdapter.json +1 -1
  1350. package/metadata/modules/nextrollBidAdapter.json +1 -1
  1351. package/metadata/modules/nexx360BidAdapter.json +8 -8
  1352. package/metadata/modules/nobidBidAdapter.json +2 -2
  1353. package/metadata/modules/nodalsAiRtdProvider.json +1 -1
  1354. package/metadata/modules/novatiqIdSystem.json +1 -1
  1355. package/metadata/modules/oguryBidAdapter.json +1 -1
  1356. package/metadata/modules/omsBidAdapter.json +1 -1
  1357. package/metadata/modules/onetagBidAdapter.json +1 -1
  1358. package/metadata/modules/openwebBidAdapter.json +1 -1
  1359. package/metadata/modules/openxBidAdapter.json +1 -1
  1360. package/metadata/modules/operaadsBidAdapter.json +1 -1
  1361. package/metadata/modules/optidigitalBidAdapter.json +1 -1
  1362. package/metadata/modules/optoutBidAdapter.json +1 -1
  1363. package/metadata/modules/orbidderBidAdapter.json +1 -1
  1364. package/metadata/modules/outbrainBidAdapter.json +1 -1
  1365. package/metadata/modules/ozoneBidAdapter.json +1 -1
  1366. package/metadata/modules/pairIdSystem.json +1 -1
  1367. package/metadata/modules/performaxBidAdapter.json +4 -5
  1368. package/metadata/modules/pgamsspBidAdapter.json +1 -1
  1369. package/metadata/modules/pixfutureBidAdapter.json +1 -1
  1370. package/metadata/modules/playdigoBidAdapter.json +1 -1
  1371. package/metadata/modules/prebid-core.json +2 -2
  1372. package/metadata/modules/precisoBidAdapter.json +1 -1
  1373. package/metadata/modules/prismaBidAdapter.json +1 -1
  1374. package/metadata/modules/programmaticXBidAdapter.json +1 -1
  1375. package/metadata/modules/proxistoreBidAdapter.json +1 -1
  1376. package/metadata/modules/publinkIdSystem.json +1 -1
  1377. package/metadata/modules/pubmaticBidAdapter.json +1 -1
  1378. package/metadata/modules/pubmaticIdSystem.json +1 -1
  1379. package/metadata/modules/pulsepointBidAdapter.json +1 -1
  1380. package/metadata/modules/pwbidBidAdapter.json +1 -1
  1381. package/metadata/modules/qtBidAdapter.json +1 -1
  1382. package/metadata/modules/quantcastBidAdapter.json +1 -1
  1383. package/metadata/modules/quantcastIdSystem.json +1 -1
  1384. package/metadata/modules/r2b2BidAdapter.json +1 -1
  1385. package/metadata/modules/raynRtdProvider.json +1 -1
  1386. package/metadata/modules/readpeakBidAdapter.json +1 -1
  1387. package/metadata/modules/relayBidAdapter.json +1 -1
  1388. package/metadata/modules/relevantdigitalBidAdapter.json +1 -1
  1389. package/metadata/modules/resetdigitalBidAdapter.json +1 -1
  1390. package/metadata/modules/responsiveAdsBidAdapter.json +1 -1
  1391. package/metadata/modules/retailspotBidAdapter.json +1 -1
  1392. package/metadata/modules/revcontentBidAdapter.json +7 -117
  1393. package/metadata/modules/rhythmoneBidAdapter.json +1 -1
  1394. package/metadata/modules/richaudienceBidAdapter.json +1 -1
  1395. package/metadata/modules/riseBidAdapter.json +2 -2
  1396. package/metadata/modules/rixengineBidAdapter.json +1 -1
  1397. package/metadata/modules/rtbhouseBidAdapter.json +1 -1
  1398. package/metadata/modules/rubiconBidAdapter.json +1 -1
  1399. package/metadata/modules/rumbleBidAdapter.json +13 -0
  1400. package/metadata/modules/scatteredBidAdapter.json +1 -1
  1401. package/metadata/modules/seedingAllianceBidAdapter.json +1 -1
  1402. package/metadata/modules/seedtagBidAdapter.json +1 -1
  1403. package/metadata/modules/semantiqRtdProvider.json +1 -1
  1404. package/metadata/modules/setupadBidAdapter.json +1 -1
  1405. package/metadata/modules/sevioBidAdapter.json +18 -0
  1406. package/metadata/modules/sharedIdSystem.json +1 -1
  1407. package/metadata/modules/sharethroughBidAdapter.json +1 -1
  1408. package/metadata/modules/showheroes-bsBidAdapter.json +1 -1
  1409. package/metadata/modules/silvermobBidAdapter.json +1 -1
  1410. package/metadata/modules/sirdataRtdProvider.json +1 -1
  1411. package/metadata/modules/slimcutBidAdapter.json +1 -1
  1412. package/metadata/modules/smaatoBidAdapter.json +1 -1
  1413. package/metadata/modules/smartadserverBidAdapter.json +1 -1
  1414. package/metadata/modules/smartxBidAdapter.json +1 -1
  1415. package/metadata/modules/smartyadsBidAdapter.json +1 -1
  1416. package/metadata/modules/smilewantedBidAdapter.json +1 -1
  1417. package/metadata/modules/snigelBidAdapter.json +1 -1
  1418. package/metadata/modules/sonaradsBidAdapter.json +1 -1
  1419. package/metadata/modules/sonobiBidAdapter.json +1 -1
  1420. package/metadata/modules/sovrnBidAdapter.json +4 -4
  1421. package/metadata/modules/sparteoBidAdapter.json +1 -1
  1422. package/metadata/modules/ssmasBidAdapter.json +1 -1
  1423. package/metadata/modules/sspBCBidAdapter.json +1 -1
  1424. package/metadata/modules/stackadaptBidAdapter.json +1 -1
  1425. package/metadata/modules/startioBidAdapter.json +1 -1
  1426. package/metadata/modules/stroeerCoreBidAdapter.json +1 -1
  1427. package/metadata/modules/stvBidAdapter.json +1 -1
  1428. package/metadata/modules/sublimeBidAdapter.json +1 -1
  1429. package/metadata/modules/taboolaBidAdapter.json +1 -1
  1430. package/metadata/modules/taboolaIdSystem.json +1 -1
  1431. package/metadata/modules/tappxBidAdapter.json +1 -1
  1432. package/metadata/modules/targetVideoBidAdapter.json +1 -1
  1433. package/metadata/modules/teadsBidAdapter.json +1 -1
  1434. package/metadata/modules/teadsIdSystem.json +1 -1
  1435. package/metadata/modules/tealBidAdapter.json +1 -1
  1436. package/metadata/modules/themoneytizerBidAdapter.json +3 -8
  1437. package/metadata/modules/tncIdSystem.json +1 -1
  1438. package/metadata/modules/topicsFpdModule.json +1 -1
  1439. package/metadata/modules/tripleliftBidAdapter.json +1 -1
  1440. package/metadata/modules/ttdBidAdapter.json +1 -1
  1441. package/metadata/modules/twistDigitalBidAdapter.json +1 -1
  1442. package/metadata/modules/underdogmediaBidAdapter.json +1 -1
  1443. package/metadata/modules/undertoneBidAdapter.json +1 -1
  1444. package/metadata/modules/unifiedIdSystem.json +1 -1
  1445. package/metadata/modules/unrulyBidAdapter.json +1 -1
  1446. package/metadata/modules/userId.json +1 -1
  1447. package/metadata/modules/validationFpdModule.json +1 -1
  1448. package/metadata/modules/vidazooBidAdapter.json +1 -1
  1449. package/metadata/modules/vidoomyBidAdapter.json +1 -1
  1450. package/metadata/modules/viewdeosDXBidAdapter.json +1 -1
  1451. package/metadata/modules/viouslyBidAdapter.json +1 -1
  1452. package/metadata/modules/visxBidAdapter.json +1 -1
  1453. package/metadata/modules/vlybyBidAdapter.json +1 -1
  1454. package/metadata/modules/voxBidAdapter.json +1 -1
  1455. package/metadata/modules/vrtcalBidAdapter.json +1 -1
  1456. package/metadata/modules/vuukleBidAdapter.json +1 -1
  1457. package/metadata/modules/weboramaRtdProvider.json +1 -1
  1458. package/metadata/modules/welectBidAdapter.json +1 -1
  1459. package/metadata/modules/yahooAdsBidAdapter.json +1 -1
  1460. package/metadata/modules/yieldlabBidAdapter.json +1 -1
  1461. package/metadata/modules/yieldliftBidAdapter.json +1 -1
  1462. package/metadata/modules/yieldloveBidAdapter.json +1 -1
  1463. package/metadata/modules/yieldmoBidAdapter.json +1 -1
  1464. package/metadata/modules/zeotapIdPlusIdSystem.json +1 -1
  1465. package/metadata/modules/zeta_globalBidAdapter.json +1 -1
  1466. package/metadata/modules/zeta_global_sspBidAdapter.json +1 -1
  1467. package/metadata/modules.json +23 -2
  1468. package/modules/1plusXRtdProvider.js +6 -2
  1469. package/modules/adWMGBidAdapter.js +8 -8
  1470. package/modules/admixerBidAdapter.js +9 -4
  1471. package/modules/adspiritBidAdapter.js +8 -8
  1472. package/modules/adtrgtmeBidAdapter.js +2 -2
  1473. package/modules/adxcgBidAdapter.js +2 -36
  1474. package/modules/amxBidAdapter.js +3 -3
  1475. package/modules/chromeAiRtdProvider.js +5 -5
  1476. package/modules/consentManagementGpp.ts +11 -11
  1477. package/modules/consentManagementTcf.ts +33 -33
  1478. package/modules/consentManagementUsp.ts +14 -14
  1479. package/modules/currency.ts +59 -59
  1480. package/modules/cwireBidAdapter.js +2 -2
  1481. package/modules/dailymotionBidAdapter.js +4 -4
  1482. package/modules/dchain.ts +4 -4
  1483. package/modules/dspxBidAdapter.js +8 -8
  1484. package/modules/eightPodBidAdapter.js +8 -8
  1485. package/modules/genericAnalyticsAdapter.ts +50 -50
  1486. package/modules/geolocationRtdProvider.ts +48 -48
  1487. package/modules/getintentBidAdapter.js +4 -2
  1488. package/modules/gmosspBidAdapter.js +1 -1
  1489. package/modules/gppControl_usstates.ts +40 -40
  1490. package/modules/gptPreAuction.ts +34 -34
  1491. package/modules/iasRtdProvider.js +87 -5
  1492. package/modules/intentIqAnalyticsAdapter.js +8 -8
  1493. package/modules/intentIqIdSystem.js +2 -2
  1494. package/modules/jwplayerRtdProvider.js +6 -2
  1495. package/modules/jwplayerVideoProvider.js +13 -9
  1496. package/modules/kubientBidAdapter.js +0 -1
  1497. package/modules/medianetAnalyticsAdapter.js +5 -5
  1498. package/modules/medianetBidAdapter.js +5 -1
  1499. package/modules/michaoBidAdapter.ts +7 -7
  1500. package/modules/multibid/index.ts +31 -31
  1501. package/modules/nexverseBidAdapter.js +1 -1
  1502. package/modules/nodalsAiRtdProvider.js +4 -2
  1503. package/modules/onetagBidAdapter.js +12 -12
  1504. package/modules/openxBidAdapter.js +6 -1
  1505. package/modules/prebidServerBidAdapter/index.ts +130 -130
  1506. package/modules/priceFloors.ts +131 -131
  1507. package/modules/pubmaticBidAdapter.js +21 -1
  1508. package/modules/pubmaticRtdProvider.js +143 -143
  1509. package/modules/pulsepointBidAdapter.js +3 -38
  1510. package/modules/readpeakBidAdapter.js +17 -17
  1511. package/modules/rtdModule/index.ts +8 -8
  1512. package/modules/rtdModule/spec.ts +30 -30
  1513. package/modules/rubiconBidAdapter.js +5 -1
  1514. package/modules/rumbleBidAdapter.js +128 -0
  1515. package/modules/rumbleBidAdapter.md +114 -0
  1516. package/modules/schain.ts +4 -4
  1517. package/modules/sevioBidAdapter.js +262 -0
  1518. package/modules/sevioBidAdapter.md +29 -0
  1519. package/modules/sharedIdSystem.ts +29 -29
  1520. package/modules/storageControl.ts +72 -72
  1521. package/modules/tcfControl.ts +60 -60
  1522. package/modules/themoneytizerBidAdapter.js +2 -4
  1523. package/modules/ttdBidAdapter.js +11 -1
  1524. package/modules/ttdBidAdapter.md +3 -1
  1525. package/modules/userId/index.ts +129 -119
  1526. package/modules/userId/spec.ts +136 -136
  1527. package/modules/validationFpdModule/index.ts +4 -4
  1528. package/modules/videoModule/index.ts +37 -37
  1529. package/modules/weboramaRtdProvider.js +30 -11
  1530. package/modules/welectBidAdapter.js +3 -3
  1531. package/modules/yandexBidAdapter.js +67 -24
  1532. package/package.json +2 -3
  1533. package/src/activities/params.js +6 -0
  1534. package/src/activities/redactor.ts +8 -8
  1535. package/src/adRendering.ts +61 -61
  1536. package/src/adUnits.ts +100 -100
  1537. package/src/adapterManager.ts +605 -605
  1538. package/src/adapters/bidderFactory.ts +99 -99
  1539. package/src/ajax.ts +39 -39
  1540. package/src/auction.ts +217 -217
  1541. package/src/banner.ts +28 -28
  1542. package/src/bidTTL.ts +16 -16
  1543. package/src/bidderSettings.ts +46 -46
  1544. package/src/bidfactory.ts +107 -107
  1545. package/src/config.ts +65 -65
  1546. package/src/consentHandler.ts +25 -25
  1547. package/src/constants.ts +14 -14
  1548. package/src/cpmBucketManager.ts +7 -7
  1549. package/src/events.ts +75 -75
  1550. package/src/fpd/enrichment.ts +8 -8
  1551. package/src/hook.ts +14 -14
  1552. package/src/mediaTypes.ts +16 -16
  1553. package/src/native.ts +62 -62
  1554. package/src/prebid.ts +362 -362
  1555. package/src/prebidGlobal.ts +18 -18
  1556. package/src/refererDetection.ts +54 -54
  1557. package/src/storageManager.ts +76 -73
  1558. package/src/targeting.ts +215 -215
  1559. package/src/types/common.d.ts +29 -29
  1560. package/src/types/local/buildOptions.d.ts +3 -3
  1561. package/src/types/local/shim.d.ts +6 -6
  1562. package/src/types/objects.d.ts +15 -15
  1563. package/src/types/ortb/common.d.ts +1 -1
  1564. package/src/types/ortb/ext/dchain.d.ts +69 -69
  1565. package/src/types/ortb/ext/dsa.d.ts +50 -50
  1566. package/src/types/ortb/request.d.ts +21 -21
  1567. package/src/types/ortb/response.d.ts +6 -6
  1568. package/src/userSync.ts +32 -32
  1569. package/src/utils/objects.ts +11 -11
  1570. package/src/utils/perfMetrics.ts +193 -193
  1571. package/src/utils/promise.ts +14 -14
  1572. package/src/utils/ttlCollection.ts +25 -25
  1573. package/src/video.ts +73 -73
  1574. package/src/videoCache.ts +60 -60
  1575. package/test/helpers/index_adapter_utils.js +1 -2
  1576. package/test/helpers/refererDetectionHelper.js +2 -2
  1577. package/test/mocks/timers.js +12 -9
  1578. package/test/spec/adloader_spec.js +13 -13
  1579. package/test/spec/config_spec.js +9 -3
  1580. package/test/spec/libraries/greedy/greedyPromise_spec.js +2 -2
  1581. package/test/spec/modules/1plusXRtdProvider_spec.js +2 -9
  1582. package/test/spec/modules/adgridBidAdapter_spec.js +6 -6
  1583. package/test/spec/modules/adkernelAdnBidAdapter_spec.js +127 -127
  1584. package/test/spec/modules/adkernelBidAdapter_spec.js +308 -308
  1585. package/test/spec/modules/admediaBidAdapter_spec.js +34 -34
  1586. package/test/spec/modules/adnuntiusBidAdapter_spec.js +7 -7
  1587. package/test/spec/modules/adspiritBidAdapter_spec.js +1 -1
  1588. package/test/spec/modules/adtrgtmeBidAdapter_spec.js +3 -3
  1589. package/test/spec/modules/adtrueBidAdapter_spec.js +19 -19
  1590. package/test/spec/modules/advertisingBidAdapter_spec.js +2 -2
  1591. package/test/spec/modules/bidmaticBidAdapter_spec.js +2 -2
  1592. package/test/spec/modules/datablocksBidAdapter_spec.js +115 -115
  1593. package/test/spec/modules/deepintentBidAdapter_spec.js +51 -51
  1594. package/test/spec/modules/dexertoBidAdapter_spec.js +16 -16
  1595. package/test/spec/modules/dochaseBidAdapter_spec.js +17 -17
  1596. package/test/spec/modules/dspxBidAdapter_spec.js +23 -23
  1597. package/test/spec/modules/ehealthcaresolutionsBidAdapter_spec.js +17 -17
  1598. package/test/spec/modules/enrichmentLiftMeasurement_spec.js +8 -8
  1599. package/test/spec/modules/equativBidAdapter_spec.js +1 -1
  1600. package/test/spec/modules/finativeBidAdapter_spec.js +11 -11
  1601. package/test/spec/modules/ftrackIdSystem_spec.js +16 -16
  1602. package/test/spec/modules/fwsspBidAdapter_spec.js +5 -5
  1603. package/test/spec/modules/hypelabBidAdapter_spec.js +9 -9
  1604. package/test/spec/modules/iasRtdProvider_spec.js +89 -8
  1605. package/test/spec/modules/intentIqIdSystem_spec.js +3 -3
  1606. package/test/spec/modules/invibesBidAdapter_spec.js +2 -2
  1607. package/test/spec/modules/kargoBidAdapter_spec.js +7 -7
  1608. package/test/spec/modules/lane4BidAdapter_spec.js +17 -17
  1609. package/test/spec/modules/lemmaDigitalBidAdapter_spec.js +37 -37
  1610. package/test/spec/modules/liveIntentExternalIdSystem_spec.js +5 -0
  1611. package/test/spec/modules/liveIntentIdMinimalSystem_spec.js +5 -0
  1612. package/test/spec/modules/liveIntentIdSystem_spec.js +38 -0
  1613. package/test/spec/modules/liveIntentRtdProvider_spec.js +2 -2
  1614. package/test/spec/modules/mediaeyesBidAdapter_spec.js +166 -166
  1615. package/test/spec/modules/mediagoBidAdapter_spec.js +1 -1
  1616. package/test/spec/modules/medianetBidAdapter_spec.js +1724 -1707
  1617. package/test/spec/modules/mediasquareBidAdapter_spec.js +7 -7
  1618. package/test/spec/modules/nexx360BidAdapter_spec.js +6 -6
  1619. package/test/spec/modules/nobidBidAdapter_spec.js +16 -16
  1620. package/test/spec/modules/onetagBidAdapter_spec.js +47 -47
  1621. package/test/spec/modules/openxBidAdapter_spec.js +129 -0
  1622. package/test/spec/modules/optoutBidAdapter_spec.js +1 -1
  1623. package/test/spec/modules/orbitsoftBidAdapter_spec.js +85 -85
  1624. package/test/spec/modules/oxxionAnalyticsAdapter_spec.js +1 -1
  1625. package/test/spec/modules/ozoneBidAdapter_spec.js +439 -439
  1626. package/test/spec/modules/prebidServerBidAdapter_spec.js +2 -2
  1627. package/test/spec/modules/prismaBidAdapter_spec.js +6 -6
  1628. package/test/spec/modules/pubmaticBidAdapter_spec.js +73 -3
  1629. package/test/spec/modules/pubmaticRtdProvider_spec.js +1389 -1389
  1630. package/test/spec/modules/pwbidBidAdapter_spec.js +25 -25
  1631. package/test/spec/modules/relevadRtdProvider_spec.js +1 -1
  1632. package/test/spec/modules/relevatehealthBidAdapter_spec.js +16 -16
  1633. package/test/spec/modules/richaudienceBidAdapter_spec.js +10 -10
  1634. package/test/spec/modules/rubiconBidAdapter_spec.js +7 -7
  1635. package/test/spec/modules/rumbleBidAdapter_spec.js +125 -0
  1636. package/test/spec/modules/sevioBidAdapter_spec.js +209 -0
  1637. package/test/spec/modules/smaatoBidAdapter_spec.js +30 -30
  1638. package/test/spec/modules/smarticoBidAdapter_spec.js +10 -10
  1639. package/test/spec/modules/stvBidAdapter_spec.js +32 -32
  1640. package/test/spec/modules/tapnativeBidAdapter_spec.js +17 -17
  1641. package/test/spec/modules/themoneytizerBidAdapter_spec.js +0 -6
  1642. package/test/spec/modules/ttdBidAdapter_spec.js +27 -2
  1643. package/test/spec/modules/uid2IdSystem_spec.js +3 -3
  1644. package/test/spec/modules/userId_spec.js +41 -7
  1645. package/test/spec/modules/videoModule/submodules/jwplayerVideoProvider_spec.js +1953 -154
  1646. package/test/spec/modules/yandexBidAdapter_spec.js +128 -0
  1647. package/test/spec/refererDetection_spec.js +11 -11
  1648. package/test/spec/unit/core/storageManager_spec.js +20 -1
  1649. package/test/spec/unit/core/targeting_spec.js +8 -8
  1650. package/test/spec/utils_spec.js +25 -25
@@ -1 +1 @@
1
- {"version":3,"file":"ttdBidAdapter_spec.js","names":["expect","spec","deepClone","config","detectReferer","buildWindowTree","describe","testBuildRequests","bidRequests","bidderRequestBase","clonedBidderRequest","bids","buildRequests","makeBid","it","isBidRequestValid","to","equal","bid","params","publisherId","supplySourceId","repeat","placementId","ortb2Imp","ext","gpid","mediaTypes","bidfloor","banner","pos","video","maxduration","api","mimes","protocols","syncOptions","pixelEnabled","gdprConsentString","gdprConsent","consentString","gdprApplies","uspConsent","syncs","getUserSyncs","have","lengthOf","type","URLSearchParams","URL","url","search","get","baseBannerBidRequests","testWindow","baseBidderRequestReferer","baseBidderRequest","ortb2","source","tid","extFirstPartyDataValues","extFirstPartyData","data","firstPartyKey","firstPartyKey2","custom","custom_kvp","customKey","validateExtFirstPartyData","eql","request","method","be","not","empty","null","requestWithoutTimeout","timeout","requestBody","tmax","requestWithTimeout","requestWithLowerTimeout","id","imp","bannerBidRequestsWithCustomEndpoint","useHttp2","site","publisher","tagid","clonedBannerRequests","rwdd","format","w","h","page","expdir","domain","baseBidderRequestWithoutRefererDomain","refererInfo","referer","resetConfig","deep","keywords","ttdprebid","bcat","badv","battr","pbjs","user","consent","regs","gdpr","us_privacy","setConfig","coppa","gpp","gpp_sid","schain","clonedBannerBidRequests","TDID","userId","tdid","buyeruid","undefined","UID2","userIdAsEids","uids","atype","rtiPartner","expectedEids","eids","name","cat","sectioncat","pagecat","ref","getFloor","currency","floor","secure","yob","metric","value","clickbrowser","app","ver","device","os","pmp","private_auction","baseBannerMultipleBidRequests","length","forEach","assert","fail","baseMultiformatBidRequests","baseVideoBidRequests","minduration","clonedVideoRequests","skip","skipmin","skipafter","minbitrate","maxbitrate","playbackmethod","startdelay","placement","plcmt","result","interpretResponse","response","body","incoming","serverRequest","expectedBid","expectedBids","vastXml","admIncoming","seatbid","nurl","adm","vastXmlExpectedBid","vastUrl"],"sourceRoot":"../../../../..","sources":["test/spec/modules/ttdBidAdapter_spec.js"],"sourcesContent":["import { expect } from 'chai';\nimport { spec } from 'modules/ttdBidAdapter';\nimport { deepClone } from 'src/utils.js';\nimport { config } from 'src/config';\nimport { detectReferer } from 'src/refererDetection.js';\n\nimport { buildWindowTree } from '../../helpers/refererDetectionHelper.js';\n\ndescribe('ttdBidAdapter', function () {\n function testBuildRequests(bidRequests, bidderRequestBase) {\n const clonedBidderRequest = deepClone(bidderRequestBase);\n clonedBidderRequest.bids = bidRequests;\n return spec.buildRequests(bidRequests, clonedBidderRequest);\n }\n\n describe('isBidRequestValid', function() {\n function makeBid() {\n return {\n 'bidder': 'ttd',\n 'params': {\n 'supplySourceId': 'supplier',\n 'publisherId': '22222222',\n 'placementId': 'some-PlacementId_1'\n },\n 'mediaTypes': {\n 'banner': {\n 'sizes': [\n [300, 250]\n ]\n }\n },\n 'adUnitCode': 'adunit-code',\n 'bidId': '30b31c1838de1e',\n 'bidderRequestId': '22edbae2733bf6',\n 'auctionId': '1d1a030790a475',\n };\n }\n\n describe('core', function () {\n it('should return true when required params found', function () {\n expect(spec.isBidRequestValid(makeBid())).to.equal(true);\n });\n\n it('should return false when publisherId not passed', function () {\n const bid = makeBid();\n delete bid.params.publisherId;\n expect(spec.isBidRequestValid(bid)).to.equal(false);\n });\n\n it('should return false when supplySourceId not passed', function () {\n const bid = makeBid();\n delete bid.params.supplySourceId;\n expect(spec.isBidRequestValid(bid)).to.equal(false);\n });\n\n it('should return false when publisherId is longer than 64 characters', function () {\n const bid = makeBid();\n bid.params.publisherId = '1'.repeat(65);\n expect(spec.isBidRequestValid(bid)).to.equal(false);\n });\n\n it('should return true when publisherId is equal to 64 characters', function () {\n const bid = makeBid();\n bid.params.publisherId = '1'.repeat(64);\n expect(spec.isBidRequestValid(bid)).to.equal(true);\n });\n\n it('should return true if placementId is not passed and gpid is passed', function () {\n const bid = makeBid();\n delete bid.params.placementId;\n bid.ortb2Imp = {\n ext: {\n gpid: '/1111/home#header'\n }\n }\n expect(spec.isBidRequestValid(bid)).to.equal(true);\n });\n\n it('should return false if neither placementId nor gpid is passed', function () {\n const bid = makeBid();\n delete bid.params.placementId;\n expect(spec.isBidRequestValid(bid)).to.equal(false);\n });\n\n it('should return false if neither mediaTypes.banner nor mediaTypes.video is passed', function () {\n const bid = makeBid();\n delete bid.mediaTypes\n expect(spec.isBidRequestValid(bid)).to.equal(false);\n });\n\n it('should return false if bidfloor is passed incorrectly', function () {\n const bid = makeBid();\n bid.params.bidfloor = 'invalid bidfloor';\n expect(spec.isBidRequestValid(bid)).to.equal(false);\n });\n\n it('should return true if bidfloor is passed correctly as a float', function () {\n const bid = makeBid();\n bid.params.bidfloor = 3.01;\n expect(spec.isBidRequestValid(bid)).to.equal(true);\n });\n });\n\n describe('banner', function () {\n it('should return true if banner.pos is passed correctly', function () {\n const bid = makeBid();\n bid.mediaTypes.banner.pos = 1;\n expect(spec.isBidRequestValid(bid)).to.equal(true);\n });\n });\n\n describe('video', function () {\n if (!FEATURES.VIDEO) {\n return;\n }\n\n function makeBid() {\n return {\n 'bidder': 'ttd',\n 'params': {\n 'supplySourceId': 'supplier',\n 'publisherId': '22222222',\n 'placementId': 'somePlacementId'\n },\n 'mediaTypes': {\n 'video': {\n 'minduration': 5,\n 'maxduration': 30,\n 'playerSize': [640, 480],\n 'api': [1, 3],\n 'mimes': ['video/mp4'],\n 'protocols': [2, 3, 5, 6]\n }\n },\n 'adUnitCode': 'adunit-code',\n 'sizes': [\n [300, 250]\n ],\n 'bidId': '30b31c1838de1e',\n 'bidderRequestId': '22edbae2733bf6',\n 'auctionId': '1d1a030790a475',\n };\n }\n\n it('should return true if required parameters are passed', function () {\n const bid = makeBid();\n expect(spec.isBidRequestValid(bid)).to.equal(true);\n });\n\n it('should return false if maxduration is missing', function () {\n const bid = makeBid();\n delete bid.mediaTypes.video.maxduration;\n expect(spec.isBidRequestValid(bid)).to.equal(false);\n });\n\n it('should return false if api is missing', function () {\n const bid = makeBid();\n delete bid.mediaTypes.video.api;\n expect(spec.isBidRequestValid(bid)).to.equal(false);\n });\n\n it('should return false if mimes is missing', function () {\n const bid = makeBid();\n delete bid.mediaTypes.video.mimes;\n expect(spec.isBidRequestValid(bid)).to.equal(false);\n });\n\n it('should return false if protocols is missing', function () {\n const bid = makeBid();\n delete bid.mediaTypes.video.protocols;\n expect(spec.isBidRequestValid(bid)).to.equal(false);\n });\n });\n });\n\n describe('getUserSyncs', function () {\n it('to check the user sync iframe', function () {\n const syncOptions = {\n pixelEnabled: true\n };\n const gdprConsentString = 'BON3G4EON3G4EAAABAENAA____ABl____A';\n const gdprConsent = {\n consentString: gdprConsentString,\n gdprApplies: true\n };\n const uspConsent = '1YYY';\n\n const syncs = spec.getUserSyncs(syncOptions, [], gdprConsent, uspConsent);\n expect(syncs).to.have.lengthOf(1);\n expect(syncs[0].type).to.equal('image');\n\n const params = new URLSearchParams(new URL(syncs[0].url).search);\n expect(params.get('us_privacy')).to.equal(uspConsent);\n expect(params.get('ust')).to.equal('image');\n expect(params.get('gdpr')).to.equal('1');\n expect(params.get('gdpr_consent')).to.equal(gdprConsentString);\n });\n });\n\n describe('buildRequests-banner', function () {\n const baseBannerBidRequests = [{\n 'bidder': 'ttd',\n 'params': {\n 'supplySourceId': 'supplier',\n 'publisherId': '13144370',\n 'placementId': '1gaa015'\n },\n 'mediaTypes': {\n 'banner': {\n 'sizes': [[300, 250], [300, 600]]\n }\n },\n 'ortb2Imp': {\n 'ext': {\n 'tid': '8651474f-58b1-4368-b812-84f8c937a099',\n }\n },\n 'sizes': [[300, 250], [300, 600]],\n 'transactionId': '1111474f-58b1-4368-b812-84f8c937a099',\n 'adUnitCode': 'div-gpt-ad-1460505748561-0',\n 'bidId': '243310435309b5',\n 'bidderRequestId': '18084284054531',\n 'auctionId': 'e7b34fa3-8654-424e-8c49-03e509e53d8c',\n 'src': 'client',\n 'bidRequestsCount': 1\n }];\n\n const testWindow = buildWindowTree(['https://www.example.com/test', 'https://www.example.com/other/page', 'https://www.example.com/third/page'], 'https://othersite.com/', 'https://example.com/canonical/page');\n const baseBidderRequestReferer = detectReferer(testWindow)();\n const baseBidderRequest = {\n 'bidderCode': 'ttd',\n ortb2: {\n source: {\n tid: 'e7b34fa3-8654-424e-8c49-03e509e53d8c',\n }\n },\n 'bidderRequestId': '18084284054531',\n 'auctionStart': 1540945362095,\n 'timeout': 3000,\n 'refererInfo': baseBidderRequestReferer,\n 'start': 1540945362099,\n 'doneCbCallCount': 0\n };\n\n const extFirstPartyDataValues = ['value', 'value2'];\n const extFirstPartyData = {\n data: {\n firstPartyKey: 'firstPartyValue',\n firstPartyKey2: extFirstPartyDataValues\n },\n custom: 'custom_data',\n custom_kvp: {\n customKey: 'customValue'\n }\n }\n\n function validateExtFirstPartyData(ext) {\n expect(ext.data.firstPartyKey).to.equal('firstPartyValue');\n expect(ext.data.firstPartyKey2).to.eql(extFirstPartyDataValues);\n expect(ext.custom).to.equal('custom_data');\n expect(ext.custom_kvp.customKey).to.equal('customValue');\n }\n\n it('sends bid request to our endpoint that makes sense', function () {\n const request = testBuildRequests(baseBannerBidRequests, baseBidderRequest);\n expect(request.method).to.equal('POST');\n expect(request.url).to.be.not.empty;\n expect(request.data).to.be.not.null;\n });\n\n it('bid request should parse tmax or have a default and minimum', function () {\n const requestWithoutTimeout = {\n ...baseBidderRequest,\n timeout: null\n };\n var requestBody = testBuildRequests(baseBannerBidRequests, requestWithoutTimeout).data;\n expect(requestBody.tmax).to.be.equal(400);\n\n const requestWithTimeout = {\n ...baseBidderRequest,\n timeout: 600\n };\n requestBody = testBuildRequests(baseBannerBidRequests, requestWithTimeout).data;\n expect(requestBody.tmax).to.be.equal(600);\n\n const requestWithLowerTimeout = {\n ...baseBidderRequest,\n timeout: 300\n };\n requestBody = testBuildRequests(baseBannerBidRequests, requestWithLowerTimeout).data;\n expect(requestBody.tmax).to.be.equal(400);\n });\n\n it('sets bidrequest.id to bidderRequestId', function () {\n const requestBody = testBuildRequests(baseBannerBidRequests, baseBidderRequest).data;\n expect(requestBody.id).to.equal('18084284054531');\n });\n\n it('sets impression id to ad unit\\'s bid id', function () {\n const requestBody = testBuildRequests(baseBannerBidRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].id).to.equal('243310435309b5');\n });\n\n it('sends bid requests to the correct endpoint', function () {\n const url = testBuildRequests(baseBannerBidRequests, baseBidderRequest).url;\n expect(url).to.equal('https://direct.adsrvr.org/bid/bidder/supplier');\n });\n\n it('sends bid requests to the correct custom endpoint', function () {\n const bannerBidRequestsWithCustomEndpoint = deepClone(baseBannerBidRequests);\n bannerBidRequestsWithCustomEndpoint[0].params.useHttp2 = true;\n const url = testBuildRequests(bannerBidRequestsWithCustomEndpoint, baseBidderRequest).url;\n expect(url).to.equal('https://d2.adsrvr.org/bid/bidder/supplier');\n });\n\n it('sends publisher id', function () {\n const requestBody = testBuildRequests(baseBannerBidRequests, baseBidderRequest).data;\n expect(requestBody.site).to.be.not.null;\n expect(requestBody.site.publisher).to.be.not.null;\n expect(requestBody.site.publisher.id).to.equal(baseBannerBidRequests[0].params.publisherId);\n });\n\n it('sends placement id in tagid', function () {\n const requestBody = testBuildRequests(baseBannerBidRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].tagid).to.equal(baseBannerBidRequests[0].params.placementId);\n });\n\n it('sends gpid in tagid if present', function () {\n const clonedBannerRequests = deepClone(baseBannerBidRequests);\n const gpid = '/1111/home#header';\n clonedBannerRequests[0].ortb2Imp = {\n ext: {\n gpid: gpid\n }\n };\n const requestBody = testBuildRequests(clonedBannerRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].tagid).to.equal(gpid);\n });\n\n it('sends gpid in ext.gpid if present', function () {\n const clonedBannerRequests = deepClone(baseBannerBidRequests);\n const gpid = '/1111/home#header';\n clonedBannerRequests[0].ortb2Imp = {\n ext: {\n gpid: gpid\n }\n };\n const requestBody = testBuildRequests(clonedBannerRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].ext).to.be.not.null;\n expect(requestBody.imp[0].ext.gpid).to.equal(gpid);\n });\n\n it('sends rwdd in imp.rwdd if present', function () {\n const clonedBannerRequests = deepClone(baseBannerBidRequests);\n const gpid = '/1111/home#header';\n const rwdd = 1;\n clonedBannerRequests[0].ortb2Imp = {\n rwdd: rwdd,\n ext: {\n gpid: gpid\n }\n };\n const requestBody = testBuildRequests(clonedBannerRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].rwdd).to.be.not.null;\n expect(requestBody.imp[0].rwdd).to.equal(1);\n });\n\n it('sends source.tid', function () {\n const requestBody = testBuildRequests(baseBannerBidRequests, baseBidderRequest).data;\n expect(requestBody.source).to.be.not.null;\n expect(requestBody.source.tid).to.equal(baseBidderRequest.ortb2.source.tid);\n });\n\n it('includes the ad size in the bid request', function () {\n const requestBody = testBuildRequests(baseBannerBidRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].banner.format[0].w).to.equal(300);\n expect(requestBody.imp[0].banner.format[0].h).to.equal(250);\n expect(requestBody.imp[0].banner.format[1].w).to.equal(300);\n expect(requestBody.imp[0].banner.format[1].h).to.equal(600);\n });\n\n it('includes the detected referer in the bid request', function () {\n const requestBody = testBuildRequests(baseBannerBidRequests, baseBidderRequest).data;\n expect(requestBody.site.page).to.equal('https://www.example.com/test');\n });\n\n it('ensure top most location is used', function () {\n const requestBody = testBuildRequests(baseBannerBidRequests, baseBidderRequest).data;\n expect(requestBody.site.page).to.equal('https://www.example.com/test');\n });\n\n it('sets the banner pos correctly if sent', function () {\n const clonedBannerRequests = deepClone(baseBannerBidRequests);\n clonedBannerRequests[0].mediaTypes.banner.pos = 1;\n\n const requestBody = testBuildRequests(clonedBannerRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].banner.pos).to.equal(1);\n });\n\n it('sets the banner expansion direction correctly if sent', function () {\n const clonedBannerRequests = deepClone(baseBannerBidRequests);\n const expdir = [1, 3]\n clonedBannerRequests[0].params.banner = {\n expdir: expdir\n };\n\n const requestBody = testBuildRequests(clonedBannerRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].banner.expdir).to.equal(expdir);\n });\n\n it('merges first party site data', function () {\n const ortb2 = {\n site: {\n publisher: {\n domain: 'https://foo.bar',\n }\n }\n };\n const baseBidderRequestWithoutRefererDomain = {\n ...baseBidderRequest,\n refererInfo: {\n ...baseBannerBidRequests.referer,\n domain: null\n }\n }\n const requestBody = testBuildRequests(\n baseBannerBidRequests, {...baseBidderRequestWithoutRefererDomain, ortb2}\n ).data;\n config.resetConfig();\n expect(requestBody.site.publisher).to.deep.equal({domain: 'https://foo.bar', id: '13144370'});\n });\n\n it('referer domain overrides first party site data publisher domain', function () {\n const ortb2 = {\n site: {\n publisher: {\n domain: 'https://foo.bar',\n }\n }\n };\n const requestBody = testBuildRequests(\n baseBannerBidRequests, {...baseBidderRequest, ortb2}\n ).data;\n config.resetConfig();\n expect(requestBody.site.publisher.domain).to.equal(baseBidderRequest.refererInfo.domain);\n });\n\n it('sets keywords properly if sent', function () {\n const ortb2 = {\n site: {\n keywords: 'highViewability, clothing, holiday shopping'\n }\n };\n const requestBody = testBuildRequests(baseBannerBidRequests, {...baseBidderRequest, ortb2}).data;\n config.resetConfig();\n expect(requestBody.ext.ttdprebid.keywords).to.deep.equal(['highViewability', 'clothing', 'holiday shopping']);\n });\n\n it('sets bcat properly if sent', function () {\n const ortb2 = {\n bcat: ['IAB1-1', 'IAB2-9']\n };\n const requestBody = testBuildRequests(baseBannerBidRequests, {...baseBidderRequest, ortb2}).data;\n config.resetConfig();\n expect(requestBody.bcat).to.deep.equal(['IAB1-1', 'IAB2-9']);\n });\n\n it('sets badv properly if sent', function () {\n const ortb2 = {\n badv: ['adv1.com', 'adv2.com']\n };\n const requestBody = testBuildRequests(baseBannerBidRequests, {...baseBidderRequest, ortb2}).data;\n config.resetConfig();\n expect(requestBody.badv).to.deep.equal(['adv1.com', 'adv2.com']);\n });\n\n it('sets battr properly if present', function () {\n const clonedBannerRequests = deepClone(baseBannerBidRequests);\n const battr = [1, 2, 3];\n clonedBannerRequests[0].ortb2Imp = {\n banner: {\n battr: battr\n }\n };\n const requestBody = testBuildRequests(clonedBannerRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].banner.battr).to.equal(battr);\n });\n\n it('sets ext properly', function () {\n const clonedBannerRequests = deepClone(baseBannerBidRequests);\n\n const requestBody = testBuildRequests(clonedBannerRequests, baseBidderRequest).data;\n expect(requestBody.ext.ttdprebid.pbjs).to.equal('$prebid.version$');\n });\n\n it('adds gdpr consent info to the request', function () {\n const consentString = 'BON3G4EON3G4EAAABAENAA____ABl____A';\n const clonedBidderRequest = deepClone(baseBidderRequest);\n clonedBidderRequest.gdprConsent = {\n consentString: consentString,\n gdprApplies: true\n };\n\n const requestBody = testBuildRequests(baseBannerBidRequests, clonedBidderRequest).data;\n expect(requestBody.user.ext.consent).to.equal(consentString);\n expect(requestBody.regs.ext.gdpr).to.equal(1);\n });\n\n it('adds usp consent info to the request', function () {\n const consentString = 'BON3G4EON3G4EAAABAENAA____ABl____A';\n const clonedBidderRequest = deepClone(baseBidderRequest);\n clonedBidderRequest.uspConsent = consentString;\n\n const requestBody = testBuildRequests(baseBannerBidRequests, clonedBidderRequest).data;\n expect(requestBody.regs.ext.us_privacy).to.equal(consentString);\n });\n\n it('adds coppa consent info to the request', function () {\n const clonedBidderRequest = deepClone(baseBidderRequest);\n\n config.setConfig({coppa: true});\n const requestBody = testBuildRequests(baseBannerBidRequests, clonedBidderRequest).data;\n config.resetConfig();\n expect(requestBody.regs.coppa).to.equal(1);\n });\n\n it('adds gpp consent info to the request', function () {\n const ortb2 = {\n regs: {\n gpp: 'somegppstring',\n gpp_sid: [6, 7]\n }\n };\n const clonedBidderRequest = {...deepClone(baseBidderRequest), ortb2};\n const requestBody = testBuildRequests(baseBannerBidRequests, clonedBidderRequest).data;\n config.resetConfig();\n expect(requestBody.regs.gpp).to.equal('somegppstring');\n expect(requestBody.regs.gpp_sid).to.eql([6, 7]);\n });\n\n it('adds schain info to the request', function () {\n const schain = {\n 'ver': '1.0',\n 'complete': 1,\n 'nodes': [{\n 'asi': 'indirectseller.com',\n 'sid': '00001',\n 'hp': 1\n }, {\n 'asi': 'indirectseller-2.com',\n 'sid': '00002',\n 'hp': 1\n }]\n };\n const clonedBannerBidRequests = deepClone(baseBannerBidRequests);\n clonedBannerBidRequests[0].ortb2 = { source: { ext: { schain: schain } } };\n\n const requestBody = testBuildRequests(clonedBannerBidRequests, baseBidderRequest).data;\n expect(requestBody.source.ext.schain).to.deep.equal(schain);\n });\n\n it('no longer uses userId', function () {\n const TDID = '00000000-0000-0000-0000-000000000000';\n const clonedBannerRequests = deepClone(baseBannerBidRequests);\n clonedBannerRequests[0].userId = {\n tdid: TDID\n };\n\n const requestBody = testBuildRequests(clonedBannerRequests, baseBidderRequest).data;\n expect(requestBody.user.buyeruid).to.be.undefined;\n });\n\n it('adds unified ID and UID2 info to user.ext.eids in the request', function () {\n const TDID = '00000000-0000-0000-0000-000000000000';\n const UID2 = '99999999-9999-9999-9999-999999999999';\n const clonedBannerRequests = deepClone(baseBannerBidRequests);\n clonedBannerRequests[0].userIdAsEids = [\n {\n source: 'adserver.org',\n uids: [\n {\n atype: 1,\n ext: {\n rtiPartner: 'TDID'\n },\n id: TDID\n }\n ]\n },\n {\n source: 'uidapi.com',\n uids: [\n {\n atype: 3,\n id: UID2\n }\n ]\n }\n ];\n const expectedEids = clonedBannerRequests[0].userIdAsEids;\n\n const requestBody = testBuildRequests(clonedBannerRequests, baseBidderRequest).data;\n expect(requestBody.user.ext.eids).to.deep.equal(expectedEids);\n expect(requestBody.user.buyeruid).to.equal(TDID);\n });\n\n it('has an empty buyeruid if tdid not found in userIdAsEids', function () {\n const UID2 = '99999999-9999-9999-9999-999999999999';\n const clonedBannerRequests = deepClone(baseBannerBidRequests);\n clonedBannerRequests[0].userIdAsEids = [\n {\n source: 'uidapi.com',\n uids: [\n {\n atype: 3,\n id: UID2\n }\n ]\n }\n ];\n const expectedEids = clonedBannerRequests[0].userIdAsEids;\n\n const requestBody = testBuildRequests(clonedBannerRequests, baseBidderRequest).data;\n expect(requestBody.user.ext.eids).to.deep.equal(expectedEids);\n expect(requestBody.user.buyeruid).to.be.undefined;\n });\n\n it('adds first party site data to the request', function () {\n const ortb2 = {\n site: {\n name: 'example',\n domain: 'page.example.com',\n cat: ['IAB2'],\n sectioncat: ['IAB2-2'],\n pagecat: ['IAB2-2'],\n page: 'https://page.example.com/here.html',\n ref: 'https://ref.example.com',\n keywords: 'power tools, drills'\n }\n };\n const clonedBidderRequest = {...deepClone(baseBidderRequest), ortb2};\n const requestBody = testBuildRequests(baseBannerBidRequests, clonedBidderRequest).data;\n expect(requestBody.site.name).to.equal('example');\n expect(requestBody.site.domain).to.equal('page.example.com');\n expect(requestBody.site.cat[0]).to.equal('IAB2');\n expect(requestBody.site.sectioncat[0]).to.equal('IAB2-2');\n expect(requestBody.site.pagecat[0]).to.equal('IAB2-2');\n expect(requestBody.site.page).to.equal('https://page.example.com/here.html');\n expect(requestBody.site.ref).to.equal('https://ref.example.com');\n expect(requestBody.site.keywords).to.equal('power tools, drills');\n });\n\n it('should fallback to floor module if no bidfloor is sent ', function () {\n const clonedBannerRequests = deepClone(baseBannerBidRequests);\n const bidfloor = 5.00;\n clonedBannerRequests[0].getFloor = () => {\n return { currency: 'USD', floor: bidfloor };\n };\n const requestBody = testBuildRequests(clonedBannerRequests, baseBidderRequest).data;\n config.resetConfig();\n expect(requestBody.imp[0].bidfloor).to.equal(bidfloor);\n });\n\n it('adds default value for secure if not set to request', function () {\n const requestBody = testBuildRequests(baseBannerBidRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].secure).to.equal(1);\n });\n\n it('adds secure to request', function () {\n const clonedBannerRequests = deepClone(baseBannerBidRequests);\n clonedBannerRequests[0].ortb2Imp.secure = 0;\n\n let requestBody = testBuildRequests(clonedBannerRequests, baseBidderRequest).data;\n expect(0).to.equal(requestBody.imp[0].secure);\n\n clonedBannerRequests[0].ortb2Imp.secure = 1;\n requestBody = testBuildRequests(clonedBannerRequests, baseBidderRequest).data;\n expect(1).to.equal(requestBody.imp[0].secure);\n });\n\n it('adds all of site first party data to request', function() {\n const ortb2 = {\n site: {\n ext: extFirstPartyData,\n search: 'test search'\n }\n };\n\n const clonedBidderRequest = {...deepClone(baseBidderRequest), ortb2};\n const requestBody = testBuildRequests(baseBannerBidRequests, clonedBidderRequest).data;\n\n validateExtFirstPartyData(requestBody.site.ext)\n expect(requestBody.site.search).to.equal('test search')\n });\n\n it('adds all of user first party data to request', function() {\n const ortb2 = {\n user: {\n ext: extFirstPartyData,\n yob: 1998\n }\n };\n\n const clonedBidderRequest = {...deepClone(baseBidderRequest), ortb2};\n const requestBody = testBuildRequests(baseBannerBidRequests, clonedBidderRequest).data;\n\n validateExtFirstPartyData(requestBody.user.ext)\n expect(requestBody.user.yob).to.equal(1998)\n });\n\n it('adds all of imp first party data to request', function() {\n const metric = { type: 'viewability', value: 0.8 };\n const clonedBannerRequests = deepClone(baseBannerBidRequests);\n clonedBannerRequests[0].ortb2Imp = {\n ext: extFirstPartyData,\n metric: [metric],\n clickbrowser: 1\n };\n\n const requestBody = testBuildRequests(clonedBannerRequests, baseBidderRequest).data;\n\n validateExtFirstPartyData(requestBody.imp[0].ext)\n expect(requestBody.imp[0].tagid).to.equal('1gaa015');\n expect(requestBody.imp[0].metric[0]).to.deep.equal(metric);\n expect(requestBody.imp[0].clickbrowser).to.equal(1)\n });\n\n it('adds all of app first party data to request', function() {\n const ortb2 = {\n app: {\n ext: extFirstPartyData,\n ver: 'v1.0'\n }\n };\n\n const clonedBidderRequest = {...deepClone(baseBidderRequest), ortb2};\n const requestBody = testBuildRequests(baseBannerBidRequests, clonedBidderRequest).data;\n\n validateExtFirstPartyData(requestBody.app.ext)\n expect(requestBody.app.ver).to.equal('v1.0')\n });\n\n it('adds all of device first party data to request', function() {\n const ortb2 = {\n device: {\n ext: extFirstPartyData,\n os: 'iPhone'\n }\n };\n\n const clonedBidderRequest = {...deepClone(baseBidderRequest), ortb2};\n const requestBody = testBuildRequests(baseBannerBidRequests, clonedBidderRequest).data;\n\n validateExtFirstPartyData(requestBody.device.ext)\n expect(requestBody.device.os).to.equal('iPhone')\n });\n\n it('adds all of pmp first party data to request', function() {\n const ortb2 = {\n pmp: {\n ext: extFirstPartyData,\n private_auction: 1\n }\n };\n\n const clonedBidderRequest = {...deepClone(baseBidderRequest), ortb2};\n const requestBody = testBuildRequests(baseBannerBidRequests, clonedBidderRequest).data;\n\n validateExtFirstPartyData(requestBody.imp[0].pmp.ext)\n expect(requestBody.imp[0].pmp.private_auction).to.equal(1)\n });\n });\n\n describe('buildRequests-banner-multiple', function () {\n const baseBannerMultipleBidRequests = [{\n 'bidder': 'ttd',\n 'params': {\n 'supplySourceId': 'supplier',\n 'publisherId': '13144370',\n 'placementId': 'bottom'\n },\n 'mediaTypes': {\n 'banner': {\n 'sizes': [[300, 250], [300, 600]]\n }\n },\n 'ortb2Imp': {\n 'ext': {\n 'tid': '8651474f-58b1-4368-b812-84f8c937a099',\n }\n },\n 'sizes': [[300, 250], [300, 600]],\n 'transactionId': '1111474f-58b1-4368-b812-84f8c937a099',\n 'adUnitCode': 'div-gpt-ad-1460505748561-0',\n 'bidId': 'small',\n 'bidderRequestId': '18084284054531',\n 'auctionId': 'e7b34fa3-8654-424e-8c49-03e509e53d8c',\n 'src': 'client',\n 'bidRequestsCount': 1\n }, {\n 'bidder': 'ttd',\n 'params': {\n 'publisherId': '13144370',\n 'placementId': 'top'\n },\n 'mediaTypes': {\n 'banner': {\n 'sizes': [[728, 90]]\n }\n },\n 'ortb2Imp': {\n 'ext': {\n 'tid': '12345678-58b1-4368-b812-84f8c937a099',\n }\n },\n 'sizes': [[728, 90]],\n 'transactionId': '825c1228-ca8c-4657-b40f-2df500621527',\n 'adUnitCode': 'div-gpt-ad-91515710-0',\n 'bidId': 'large',\n 'bidderRequestId': '18084284054531',\n 'auctionId': 'e7b34fa3-8654-424e-8c49-03e509e53d8c',\n 'src': 'client',\n 'bidRequestsCount': 1\n }];\n\n const baseBidderRequest = {\n 'bidderCode': 'ttd',\n ortb2: {\n source: {\n tid: 'e7b34fa3-8654-424e-8c49-03e509e53d8c',\n }\n },\n 'bidderRequestId': '18084284054531',\n 'auctionStart': 1540945362095,\n 'timeout': 3000,\n 'refererInfo': {\n 'referer': 'https://www.test.com',\n 'reachedTop': true,\n 'numIframes': 0,\n 'stack': [\n 'https://www.test.com'\n ]\n },\n 'start': 1540945362099,\n 'doneCbCallCount': 0\n };\n\n it('sends multiple impressions', function () {\n const requestBody = testBuildRequests(baseBannerMultipleBidRequests, baseBidderRequest).data;\n expect(requestBody.imp.length).to.equal(2);\n expect(requestBody.source).to.be.not.null;\n expect(requestBody.source.tid).to.equal(baseBidderRequest.ortb2.source.tid);\n expect(requestBody.imp[0].ext).to.be.not.null;\n expect(requestBody.imp[0].ext.tid).to.equal('8651474f-58b1-4368-b812-84f8c937a099');\n expect(requestBody.imp[1].ext).to.be.not.null;\n expect(requestBody.imp[1].ext.tid).to.equal('12345678-58b1-4368-b812-84f8c937a099');\n });\n\n it('sends the right tag ids for each ad unit', function () {\n const requestBody = testBuildRequests(baseBannerMultipleBidRequests, baseBidderRequest).data;\n requestBody.imp.forEach(imp => {\n if (imp.id === 'small') {\n expect(imp.tagid).to.equal('bottom');\n } else if (imp.id === 'large') {\n expect(imp.tagid).to.equal('top');\n } else {\n assert.fail('no matching impression id found');\n }\n });\n });\n\n it('sends the sizes for each ad unit', function () {\n const requestBody = testBuildRequests(baseBannerMultipleBidRequests, baseBidderRequest).data;\n requestBody.imp.forEach(imp => {\n if (imp.id === 'small') {\n expect(imp.banner.format[0].w).to.equal(300);\n expect(imp.banner.format[0].h).to.equal(250);\n expect(imp.banner.format[1].w).to.equal(300);\n expect(imp.banner.format[1].h).to.equal(600);\n } else if (imp.id === 'large') {\n expect(imp.banner.format[0].w).to.equal(728);\n expect(imp.banner.format[0].h).to.equal(90);\n } else {\n assert.fail('no matching impression id found');\n }\n });\n });\n });\n\n describe('buildRequests-display-video-multiformat', function () {\n if (!FEATURES.VIDEO) {\n return;\n }\n\n const baseMultiformatBidRequests = [{\n 'bidder': 'ttd',\n 'params': {\n 'supplySourceId': 'supplier',\n 'publisherId': '13144370',\n 'placementId': '1gaa015'\n },\n 'mediaTypes': {\n 'video': {\n 'playerSize': [640, 480],\n 'api': [1, 3],\n 'mimes': ['video/mp4'],\n 'protocols': [2, 3, 5, 6],\n 'minduration': 5,\n 'maxduration': 30\n },\n 'banner': {\n 'sizes': [[300, 250], [300, 600]]\n }\n },\n 'ortb2Imp': {\n 'ext': {\n 'tid': '8651474f-58b1-4368-b812-84f8c937a099',\n }\n },\n 'transactionId': '1111474f-58b1-4368-b812-84f8c937a099',\n 'adUnitCode': 'div-gpt-ad-1460505748561-0',\n 'bidId': '243310435309b5',\n 'bidderRequestId': '18084284054531',\n 'auctionId': 'e7b34fa3-8654-424e-8c49-03e509e53d8c',\n 'src': 'client',\n 'bidRequestsCount': 1\n }];\n\n const baseBidderRequest = {\n 'bidderCode': 'ttd',\n 'auctionId': 'e7b34fa3-8654-424e-8c49-03e509e53d8c',\n 'bidderRequestId': '18084284054531',\n 'auctionStart': 1540945362095,\n 'timeout': 3000,\n 'refererInfo': {\n 'referer': 'https://www.example.com/test',\n 'reachedTop': true,\n 'numIframes': 0,\n 'stack': [\n 'https://www.example.com/test'\n ]\n },\n 'start': 1540945362099,\n 'doneCbCallCount': 0\n };\n\n it('includes the video ad size in the bid request', function () {\n const requestBody = testBuildRequests(baseMultiformatBidRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].video.w).to.equal(640);\n expect(requestBody.imp[0].video.h).to.equal(480);\n });\n\n it('includes the banner ad size in the bid request', function () {\n const requestBody = testBuildRequests(baseMultiformatBidRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].banner.format[0].w).to.equal(300);\n expect(requestBody.imp[0].banner.format[0].h).to.equal(250);\n expect(requestBody.imp[0].banner.format[1].w).to.equal(300);\n expect(requestBody.imp[0].banner.format[1].h).to.equal(600);\n });\n });\n\n describe('buildRequests-video', function () {\n if (!FEATURES.VIDEO) {\n return;\n }\n\n const baseVideoBidRequests = [{\n 'bidder': 'ttd',\n 'params': {\n 'supplySourceId': 'supplier',\n 'publisherId': '13144370',\n 'placementId': '1gaa015'\n },\n 'mediaTypes': {\n 'video': {\n 'playerSize': [640, 480],\n 'api': [1, 3],\n 'mimes': ['video/mp4'],\n 'protocols': [2, 3, 5, 6],\n 'minduration': 5,\n 'maxduration': 30\n }\n },\n 'ortb2Imp': {\n 'ext': {\n 'tid': '8651474f-58b1-4368-b812-84f8c937a099',\n }\n },\n 'transactionId': '1111474f-58b1-4368-b812-84f8c937a099',\n 'adUnitCode': 'div-gpt-ad-1460505748561-0',\n 'bidId': '243310435309b5',\n 'bidderRequestId': '18084284054531',\n 'auctionId': 'e7b34fa3-8654-424e-8c49-03e509e53d8c',\n 'src': 'client',\n 'bidRequestsCount': 1\n }];\n\n const baseBidderRequest = {\n 'bidderCode': 'ttd',\n 'auctionId': 'e7b34fa3-8654-424e-8c49-03e509e53d8c',\n 'bidderRequestId': '18084284054531',\n 'auctionStart': 1540945362095,\n 'timeout': 3000,\n 'refererInfo': {\n 'referer': 'https://www.example.com/test',\n 'reachedTop': true,\n 'numIframes': 0,\n 'stack': [\n 'https://www.example.com/test'\n ]\n },\n 'start': 1540945362099,\n 'doneCbCallCount': 0\n };\n\n it('includes the ad size in the bid request', function () {\n const requestBody = testBuildRequests(baseVideoBidRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].video.w).to.equal(640);\n expect(requestBody.imp[0].video.h).to.equal(480);\n });\n\n it('includes the mimes in the bid request', function () {\n const requestBody = testBuildRequests(baseVideoBidRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].video.mimes[0]).to.equal('video/mp4');\n });\n\n it('includes the min and max duration in the bid request', function () {\n const requestBody = testBuildRequests(baseVideoBidRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].video.minduration).to.equal(5);\n expect(requestBody.imp[0].video.maxduration).to.equal(30);\n });\n\n it('sets the minduration to 0 if missing', function () {\n const clonedVideoRequests = deepClone(baseVideoBidRequests);\n delete clonedVideoRequests[0].mediaTypes.video.minduration\n\n const requestBody = testBuildRequests(clonedVideoRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].video.minduration).to.equal(0);\n });\n\n it('includes the api frameworks in the bid request', function () {\n const requestBody = testBuildRequests(baseVideoBidRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].video.api[0]).to.equal(1);\n expect(requestBody.imp[0].video.api[1]).to.equal(3);\n });\n\n it('includes the protocols in the bid request', function () {\n const requestBody = testBuildRequests(baseVideoBidRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].video.protocols[0]).to.equal(2);\n expect(requestBody.imp[0].video.protocols[1]).to.equal(3);\n expect(requestBody.imp[0].video.protocols[2]).to.equal(5);\n expect(requestBody.imp[0].video.protocols[3]).to.equal(6);\n });\n\n it('sets skip correctly if sent', function () {\n const clonedVideoRequests = deepClone(baseVideoBidRequests);\n clonedVideoRequests[0].mediaTypes.video.skip = 1;\n clonedVideoRequests[0].mediaTypes.video.skipmin = 5;\n clonedVideoRequests[0].mediaTypes.video.skipafter = 10;\n\n const requestBody = testBuildRequests(clonedVideoRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].video.skip).to.equal(1);\n expect(requestBody.imp[0].video.skipmin).to.equal(5);\n expect(requestBody.imp[0].video.skipafter).to.equal(10);\n });\n\n it('sets bitrate correctly if sent', function () {\n const clonedVideoRequests = deepClone(baseVideoBidRequests);\n clonedVideoRequests[0].mediaTypes.video.minbitrate = 100;\n clonedVideoRequests[0].mediaTypes.video.maxbitrate = 500;\n\n const requestBody = testBuildRequests(clonedVideoRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].video.minbitrate).to.equal(100);\n expect(requestBody.imp[0].video.maxbitrate).to.equal(500);\n });\n\n it('sets pos correctly if sent', function () {\n const clonedVideoRequests = deepClone(baseVideoBidRequests);\n clonedVideoRequests[0].mediaTypes.video.pos = 1;\n\n const requestBody = testBuildRequests(clonedVideoRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].video.pos).to.equal(1);\n });\n\n it('sets playbackmethod correctly if sent', function () {\n const clonedVideoRequests = deepClone(baseVideoBidRequests);\n clonedVideoRequests[0].mediaTypes.video.playbackmethod = [1];\n\n const requestBody = testBuildRequests(clonedVideoRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].video.playbackmethod[0]).to.equal(1);\n });\n\n it('sets startdelay correctly if sent', function () {\n const clonedVideoRequests = deepClone(baseVideoBidRequests);\n clonedVideoRequests[0].mediaTypes.video.startdelay = -1;\n\n const requestBody = testBuildRequests(clonedVideoRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].video.startdelay).to.equal(-1);\n });\n\n it('sets placement correctly if sent', function () {\n const clonedVideoRequests = deepClone(baseVideoBidRequests);\n clonedVideoRequests[0].mediaTypes.video.placement = 3;\n\n const requestBody = testBuildRequests(clonedVideoRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].video.placement).to.equal(3);\n });\n\n it('sets plcmt correctly if sent', function () {\n const clonedVideoRequests = deepClone(baseVideoBidRequests);\n clonedVideoRequests[0].mediaTypes.video.plcmt = 3;\n\n const requestBody = testBuildRequests(clonedVideoRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].video.plcmt).to.equal(3);\n });\n });\n\n describe('interpretResponse-empty', function () {\n it('should handle empty response', function () {\n const result = spec.interpretResponse({});\n expect(result.length).to.equal(0);\n });\n\n it('should handle empty seatbid response', function () {\n const response = {\n body: {\n 'id': '5e5c23a5ba71e78',\n 'seatbid': []\n }\n };\n const result = spec.interpretResponse(response);\n expect(result.length).to.equal(0);\n });\n });\n\n describe('interpretResponse-simple-display', function () {\n const incoming = {\n body: {\n 'id': '5e5c23a5ba71e78',\n 'seatbid': [\n {\n 'bid': [\n {\n 'id': '6vmb3isptf',\n 'crid': 'ttdscreative',\n 'impid': '322add653672f68',\n 'price': 1.22,\n 'adm': '<!-- creative -->',\n 'cat': [],\n 'h': 90,\n 'w': 728,\n 'ttl': 60,\n 'dealid': 'ttd-dealid-1',\n 'adomain': ['advertiser.com'],\n 'ext': {\n 'mediatype': 1\n }\n }\n ],\n 'seat': 'MOCK'\n }\n ],\n 'cur': 'EUR',\n 'bidid': '5e5c23a5ba71e78'\n }\n };\n\n const serverRequest = {\n 'method': 'POST',\n 'url': 'https://direct.adsrvr.org/bid/bidder/supplier',\n 'data': {\n 'id': 'c47237df-c108-419f-9c2b-da513dc3c133',\n 'imp': [\n {\n 'id': '322add653672f68',\n 'tagid': 'simple',\n 'banner': {\n 'w': 728,\n 'h': 90,\n 'format': [\n {\n 'w': 728,\n 'h': 90\n }\n ]\n }\n }\n ],\n 'site': {\n 'page': 'http://www.test.com',\n 'publisher': {\n 'id': '111'\n }\n },\n 'device': {\n 'ua': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36',\n 'dnt': 0,\n 'language': 'en-US',\n 'connectiontype': 0\n },\n 'user': {},\n 'at': 1,\n 'cur': [\n 'USD'\n ],\n 'regs': {},\n 'ext': {\n 'ttdprebid': {\n 'ver': 'TTD-PREBID-2019.11.12',\n 'pbjs': '2.31.0'\n }\n }\n },\n 'options': {\n 'withCredentials': true\n }\n };\n\n const expectedBid = {\n 'requestId': '322add653672f68',\n 'cpm': 1.22,\n 'width': 728,\n 'height': 90,\n 'creativeId': 'ttdscreative',\n 'dealId': 'ttd-dealid-1',\n 'currency': 'EUR',\n 'netRevenue': true,\n 'ttl': 60,\n 'ad': '<!-- creative -->',\n 'mediaType': 'banner',\n 'meta': {\n 'advertiserDomains': ['advertiser.com']\n }\n };\n\n it('should get the correct bid response', function () {\n const result = spec.interpretResponse(incoming, serverRequest);\n expect(result.length).to.equal(1);\n expect(result[0]).to.deep.equal(expectedBid);\n });\n });\n\n describe('interpretResponse-multiple-display', function () {\n const incoming = {\n 'body': {\n 'id': 'e7b34fa3-8654-424e-8c49-03e509e53d8c',\n 'seatbid': [\n {\n 'bid': [\n {\n 'id': 'small',\n 'impid': 'small',\n 'price': 4.25,\n 'adm': '<img src=\\\"https://test.adsrvr.org/feedback/prebid?iid=a6702d4e-8d0f-4c48-b251-ce7db4150b46&crid=creativeId999&wp=${AUCTION_PRICE}&aid=small&wpc=USD&sfe=f8d2db2&puid=&tdid=825c1228-ca8c-4657-b40f-2df500621527&pid=&ag=adgroupid&sig=dFthumiovXraET6E7SiXy41xVCF0HgbuBSVkvazJp-w.&cf=&fq=0&td_s=www.test.com&rcats=&mcat=&mste=&mfld=0&mssi=&mfsi=&uhow=&agsa=&rgco=&rgre=&rgme=&rgci=&rgz=&svbttd=1&dt=Other&osf=&os=&br=&rlangs=en&mlang=&svpid=13144370&did=&rcxt=Other&lat=&lon=&tmpc=&daid=&vp=0&osi=&osv=&bp=250.25&c=OAA.&dur=&crrelr=&ipl=bottom&vc=0&said=e7b34fa3-8654-424e-8c49-03e509e53d8c&ict=Unknown\\\" width=\\\"1\\\" height=\\\"1\\\" style=\\\"display: none;\\\"/>Default Test Ad Tag',\n 'cid': 'campaignId132',\n 'crid': 'creativeId999',\n 'adomain': [\n 'http://foo'\n ],\n 'dealid': null,\n 'w': 300,\n 'h': 600,\n 'cat': [],\n 'ext': {\n 'mediatype': 1\n }\n },\n {\n 'id': 'large',\n 'impid': 'large',\n 'price': 5.25,\n 'adm': '<img src=\\\"https://test.adsrvr.org/feedback/prebid?iid=02348bcc-773a-4e98-8550-d27a870262e4&crid=creativeId222&wp=${AUCTION_PRICE}&aid=large&wpc=USD&sfe=f8d2db2&puid=&tdid=825c1228-ca8c-4657-b40f-2df500621527&pid=&ag=adgroupid&sig=iK1Drckqd-4kokX0eXwWQn5rh0EynlQim0H22GyT3pg.&cf=&fq=0&td_s=www.test.com&rcats=&mcat=&mste=&mfld=0&mssi=&mfsi=&uhow=&agsa=&rgco=&rgre=&rgme=&rgci=&rgz=&svbttd=1&dt=Other&osf=&os=&br=&rlangs=en&mlang=&svpid=13144370&did=&rcxt=Other&lat=&lon=&tmpc=&daid=&vp=0&osi=&osv=&bp=251.25&c=OAA.&dur=&crrelr=&ipl=top&vc=0&said=e7b34fa3-8654-424e-8c49-03e509e53d8c&ict=Unknown\\\" width=\\\"1\\\" height=\\\"1\\\" style=\\\"display: none;\\\"/>Default Test Ad Tag',\n 'cid': 'campaignId132',\n 'crid': 'creativeId222',\n 'adomain': [\n 'http://foo2'\n ],\n 'dealid': null,\n 'w': 728,\n 'h': 90,\n 'cat': [],\n 'ext': {\n 'mediatype': 1\n }\n }\n ],\n 'seat': 'supplyVendorBuyerId132'\n }\n ],\n 'cur': 'USD'\n }\n };\n\n const expectedBids = [\n {\n 'requestId': 'small',\n 'cpm': 4.25,\n 'width': 300,\n 'height': 600,\n 'creativeId': 'creativeId999',\n 'currency': 'USD',\n 'dealId': null,\n 'netRevenue': true,\n 'ttl': 360,\n 'ad': '<img src=\\\"https://test.adsrvr.org/feedback/prebid?iid=a6702d4e-8d0f-4c48-b251-ce7db4150b46&crid=creativeId999&wp=4.25&aid=small&wpc=USD&sfe=f8d2db2&puid=&tdid=825c1228-ca8c-4657-b40f-2df500621527&pid=&ag=adgroupid&sig=dFthumiovXraET6E7SiXy41xVCF0HgbuBSVkvazJp-w.&cf=&fq=0&td_s=www.test.com&rcats=&mcat=&mste=&mfld=0&mssi=&mfsi=&uhow=&agsa=&rgco=&rgre=&rgme=&rgci=&rgz=&svbttd=1&dt=Other&osf=&os=&br=&rlangs=en&mlang=&svpid=13144370&did=&rcxt=Other&lat=&lon=&tmpc=&daid=&vp=0&osi=&osv=&bp=250.25&c=OAA.&dur=&crrelr=&ipl=bottom&vc=0&said=e7b34fa3-8654-424e-8c49-03e509e53d8c&ict=Unknown\\\" width=\\\"1\\\" height=\\\"1\\\" style=\\\"display: none;\\\"/>Default Test Ad Tag',\n 'mediaType': 'banner',\n 'meta': {\n 'advertiserDomains': ['http://foo']\n }\n },\n {\n 'requestId': 'large',\n 'cpm': 5.25,\n 'width': 728,\n 'height': 90,\n 'creativeId': 'creativeId222',\n 'currency': 'USD',\n 'dealId': null,\n 'netRevenue': true,\n 'ttl': 360,\n 'ad': '<img src=\\\"https://test.adsrvr.org/feedback/prebid?iid=02348bcc-773a-4e98-8550-d27a870262e4&crid=creativeId222&wp=5.25&aid=large&wpc=USD&sfe=f8d2db2&puid=&tdid=825c1228-ca8c-4657-b40f-2df500621527&pid=&ag=adgroupid&sig=iK1Drckqd-4kokX0eXwWQn5rh0EynlQim0H22GyT3pg.&cf=&fq=0&td_s=www.test.com&rcats=&mcat=&mste=&mfld=0&mssi=&mfsi=&uhow=&agsa=&rgco=&rgre=&rgme=&rgci=&rgz=&svbttd=1&dt=Other&osf=&os=&br=&rlangs=en&mlang=&svpid=13144370&did=&rcxt=Other&lat=&lon=&tmpc=&daid=&vp=0&osi=&osv=&bp=251.25&c=OAA.&dur=&crrelr=&ipl=top&vc=0&said=e7b34fa3-8654-424e-8c49-03e509e53d8c&ict=Unknown\\\" width=\\\"1\\\" height=\\\"1\\\" style=\\\"display: none;\\\"/>Default Test Ad Tag',\n 'mediaType': 'banner',\n 'meta': {\n 'advertiserDomains': ['http://foo2']\n }\n }\n ];\n\n const serverRequest = {\n 'method': 'POST',\n 'url': 'https://direct.adsrvr.org/bid/bidder/supplier',\n 'data': {\n 'id': 'c47237df-c108-419f-9c2b-da513dc3c133',\n 'imp': [\n {\n 'id': 'small',\n 'tagid': 'test1',\n 'banner': {\n 'w': 300,\n 'h': 600,\n 'format': [\n {\n 'w': 300,\n 'h': 600\n }\n ]\n }\n },\n {\n 'id': 'large',\n 'tagid': 'test2',\n 'banner': {\n 'w': 728,\n 'h': 90,\n 'format': [\n {\n 'w': 728,\n 'h': 90\n }\n ]\n }\n }\n ],\n 'site': {\n 'page': 'http://www.test.com',\n 'publisher': {\n 'id': '111'\n }\n },\n 'device': {\n 'ua': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36',\n 'dnt': 0,\n 'language': 'en-US',\n 'connectiontype': 0\n },\n 'user': {},\n 'at': 1,\n 'cur': [\n 'USD'\n ],\n 'regs': {},\n 'ext': {\n 'ttdprebid': {\n 'ver': 'TTD-PREBID-2019.11.12',\n 'pbjs': '2.31.0'\n }\n }\n },\n 'options': {\n 'withCredentials': true\n }\n };\n\n it('should get the correct bid response', function () {\n const result = spec.interpretResponse(incoming, serverRequest);\n expect(result.length).to.equal(2);\n expect(result).to.deep.equal(expectedBids);\n });\n });\n\n describe('interpretResponse-simple-video', function () {\n if (!FEATURES.VIDEO) {\n return;\n }\n\n const incoming = {\n 'body': {\n 'cur': 'USD',\n 'seatbid': [\n {\n 'bid': [\n {\n 'crid': 'mokivv6m',\n 'ext': {\n 'advid': '7ieo6xk',\n 'agid': '7q9n3s2',\n 'deal': {\n 'dealid': '7013542'\n },\n 'imptrackers': [],\n 'viewabilityvendors': [],\n 'mediatype': 2\n },\n 'h': 480,\n 'impid': '2eabb87dfbcae4',\n 'nurl': 'https://insight.adsrvr.org/enduser/vast?iid=00000000-0000-0000-0000-000000000000&crid=v3pek2eh&wp=${AUCTION_PRICE}&aid=&wpc=&sfe=0&puid=&tdid=00000000-0000-0000-0000-000000000000&pid=&ag=&adv=&sig=AAAAAAAAAAAAAA.&cf=&fq=0&td_s=&rcats=&mcat=&mste=&mfld=4&mssi=&mfsi=&uhow=&agsa=&rgco=&rgre=&rgme=&rgci=&rgz=&svbttd=0&dt=&osf=&os=&br=&rlangs=en&mlang=en&svpid=&did=&rcxt=&lat=&lon=&tmpc=&daid=&vp=0&osi=&osv=&dc=0&vcc=QAFIAVABiAECwAEDyAED0AED6AEG8AEBgAIDigIMCAIIBQgDCAYICwgMmgIECAEIAqACA6gCAsACAA..&sv=noop&pidi=&advi=&cmpi=&agi=&cridi=&svi=&cmp=&skip=1&c=&dur=&crrelr=',\n 'price': 13.6,\n 'ttl': 500,\n 'w': 600\n }\n ],\n 'seat': 'supplyVendorBuyerId132'\n }\n ]\n },\n 'headers': {}\n };\n\n const serverRequest = {\n 'method': 'POST',\n 'url': 'https://direct.bid.adsrvr.org/bid/bidder/supplier',\n 'data': {\n 'id': 'e94ec12d-ae1d-4ed7-abd1-eb3198ce3b63',\n 'imp': [\n {\n 'id': '2eabb87dfbcae4',\n 'tagid': 'video',\n 'video': {\n 'api': [\n 1,\n 3\n ],\n 'mimes': [\n 'video/mp4'\n ],\n 'minduration': 5,\n 'maxduration': 30,\n 'w': 640,\n 'h': 480,\n 'protocols': [\n 2,\n 3,\n 5,\n 6\n ]\n }\n }\n ],\n 'site': {\n 'page': 'http://www.test.com',\n 'publisher': {\n 'id': '111'\n }\n },\n 'device': {\n 'ua': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36',\n 'dnt': 0,\n 'language': 'en-US',\n 'connectiontype': 0\n },\n 'user': {},\n 'at': 1,\n 'cur': [\n 'USD'\n ],\n 'regs': {},\n 'ext': {\n 'ttdprebid': {\n 'ver': 'TTD-PREBID-2019.11.12',\n 'pbjs': '3.10.0'\n }\n }\n },\n 'options': {\n 'withCredentials': true\n }\n };\n\n const expectedBid = {\n 'requestId': '2eabb87dfbcae4',\n 'cpm': 13.6,\n 'creativeId': 'mokivv6m',\n 'dealId': null,\n 'currency': 'USD',\n 'netRevenue': true,\n 'ttl': 500,\n 'width': 640,\n 'height': 480,\n 'mediaType': 'video',\n 'vastUrl': 'https://insight.adsrvr.org/enduser/vast?iid=00000000-0000-0000-0000-000000000000&crid=v3pek2eh&wp=13.6&aid=&wpc=&sfe=0&puid=&tdid=00000000-0000-0000-0000-000000000000&pid=&ag=&adv=&sig=AAAAAAAAAAAAAA.&cf=&fq=0&td_s=&rcats=&mcat=&mste=&mfld=4&mssi=&mfsi=&uhow=&agsa=&rgco=&rgre=&rgme=&rgci=&rgz=&svbttd=0&dt=&osf=&os=&br=&rlangs=en&mlang=en&svpid=&did=&rcxt=&lat=&lon=&tmpc=&daid=&vp=0&osi=&osv=&dc=0&vcc=QAFIAVABiAECwAEDyAED0AED6AEG8AEBgAIDigIMCAIIBQgDCAYICwgMmgIECAEIAqACA6gCAsACAA..&sv=noop&pidi=&advi=&cmpi=&agi=&cridi=&svi=&cmp=&skip=1&c=&dur=&crrelr=',\n 'meta': {}\n };\n\n it('should get the correct bid response if nurl is returned', function () {\n const result = spec.interpretResponse(incoming, serverRequest);\n expect(result.length).to.equal(1);\n expect(result[0]).to.deep.equal(expectedBid);\n });\n\n it('should get the correct bid response if adm is returned', function () {\n const vastXml = \"<VAST version=\\\"2.0\\\"><Ad id=\\\"preroll-1\\\"><InLine><AdSystem>2.0</AdSystem><AdTitle>5748406</AdTitle><Impression id=\\\"blah\\\"><![CDATA[http://b.scorecardresearch.com/b?C1=1&C2=6000003&C3=0000000200500000197000000&C4=us&C7=http://www.scanscout.com&C8=scanscout.com&C9=http://www.scanscout.com&C10=xn&rn=-103217130]]></Impression><Creatives><Creative><Linear><Duration>00:00:30</Duration><TrackingEvents> </TrackingEvents><VideoClicks><ClickThrough id=\\\"scanscout\\\"><![CDATA[ http://www.target.com ]]></ClickThrough></VideoClicks><MediaFiles><MediaFile height=\\\"396\\\" width=\\\"600\\\" bitrate=\\\"496\\\" type=\\\"video/x-flv\\\" delivery=\\\"progressive\\\"><![CDATA[http://media.scanscout.com/ads/partner1_a1d1fbbc-c4d4-419f-b6c8-e9db63fd4491.flv]]></MediaFile></MediaFiles></Linear></Creative><Creative><CompanionAds><Companion height=\\\"250\\\" width=\\\"300\\\" id=\\\"555750\\\"><HTMLResource><![CDATA[<A onClick=\\\"var i= new Image(1,1); i.src='http://app.scanscout.com/ssframework/log/log.png?a=logitemaction&RI=555750&CbC=1&CbF=true&EC=0&RC=0&SmC=2&CbM=1.0E-5&VI=736e6b13bad531dc476bc3612749bc35&admode=preroll&PRI=-4827170214961170629&RprC=0&ADsn=17&VcaI=192,197&RrC=1&VgI=736e6b13bad531dc476bc3612749bc35&AVI=142&Ust=ma&Uctry=us&CI=1223187&AC=4&PI=567&Udma=506&ADI=5748406&VclF=true';\\\" HREF=\\\"http://target.com\\\" target=\\\"_blank\\\"> <IMG SRC=\\\"http://media.scanscout.com/ads/target300x250Companion.jpg\\\" BORDER=0 WIDTH=300 HEIGHT=250 ALT=\\\"Click Here\\\"> </A> <img src=\\\"http://app.scanscout.com/ssframework/log/log.png?a=logitemaction&RI=555750&CbC=1&CbF=true&EC=1&RC=0&SmC=2&CbM=1.0E-5&VI=736e6b13bad531dc476bc3612749bc35&admode=preroll&PRI=-4827170214961170629&RprC=0&ADsn=17&VcaI=192,197&RrC=1&VgI=736e6b13bad531dc476bc3612749bc35&AVI=142&Ust=ma&Uctry=us&CI=1223187&AC=4&PI=567&Udma=506&ADI=5748406&VclF=true\\\" height=\\\"1\\\" width=\\\"1\\\">]]></HTMLResource></Companion></CompanionAds></Creative></Creatives></InLine></Ad></VAST>\";\n const admIncoming = deepClone(incoming);\n delete admIncoming.body.seatbid[0].bid[0].nurl;\n admIncoming.body.seatbid[0].bid[0].adm = vastXml;\n\n const vastXmlExpectedBid = deepClone(expectedBid);\n delete vastXmlExpectedBid.vastUrl;\n vastXmlExpectedBid.vastXml = vastXml;\n\n const result = spec.interpretResponse(admIncoming, serverRequest);\n expect(result.length).to.equal(1);\n expect(result[0]).to.deep.equal(vastXmlExpectedBid);\n });\n });\n\n describe('interpretResponse-display-and-video', function () {\n if (!FEATURES.VIDEO) {\n return;\n }\n\n const incoming = {\n 'body': {\n 'id': 'e7b34fa3-8654-424e-8c49-03e509e53d8c',\n 'seatbid': [\n {\n 'bid': [\n {\n 'id': 'small',\n 'impid': 'small',\n 'price': 4.25,\n 'adm': '<img src=\\\"https://test.adsrvr.org/feedback/prebid?iid=a6702d4e-8d0f-4c48-b251-ce7db4150b46&crid=creativeId999&wp=${AUCTION_PRICE}&aid=small&wpc=USD&sfe=f8d2db2&puid=&tdid=825c1228-ca8c-4657-b40f-2df500621527&pid=&ag=adgroupid&sig=dFthumiovXraET6E7SiXy41xVCF0HgbuBSVkvazJp-w.&cf=&fq=0&td_s=www.test.com&rcats=&mcat=&mste=&mfld=0&mssi=&mfsi=&uhow=&agsa=&rgco=&rgre=&rgme=&rgci=&rgz=&svbttd=1&dt=Other&osf=&os=&br=&rlangs=en&mlang=&svpid=13144370&did=&rcxt=Other&lat=&lon=&tmpc=&daid=&vp=0&osi=&osv=&bp=250.25&c=OAA.&dur=&crrelr=&ipl=bottom&vc=0&said=e7b34fa3-8654-424e-8c49-03e509e53d8c&ict=Unknown\\\" width=\\\"1\\\" height=\\\"1\\\" style=\\\"display: none;\\\"/>Default Test Ad Tag',\n 'cid': 'campaignId132',\n 'crid': 'creativeId999',\n 'adomain': [\n 'http://foo'\n ],\n 'dealid': null,\n 'w': 300,\n 'h': 600,\n 'cat': [],\n 'ext': {\n 'mediatype': 1\n }\n },\n {\n 'crid': 'mokivv6m',\n 'ext': {\n 'advid': '7ieo6xk',\n 'agid': '7q9n3s2',\n 'deal': {\n 'dealid': '7013542'\n },\n 'imptrackers': [],\n 'viewabilityvendors': [],\n 'mediatype': 2\n },\n 'h': 480,\n 'impid': '2eabb87dfbcae4',\n 'nurl': 'https://insight.adsrvr.org/enduser/vast?iid=00000000-0000-0000-0000-000000000000&crid=v3pek2eh&wp=${AUCTION_PRICE}&aid=&wpc=&sfe=0&puid=&tdid=00000000-0000-0000-0000-000000000000&pid=&ag=&adv=&sig=AAAAAAAAAAAAAA.&cf=&fq=0&td_s=&rcats=&mcat=&mste=&mfld=4&mssi=&mfsi=&uhow=&agsa=&rgco=&rgre=&rgme=&rgci=&rgz=&svbttd=0&dt=&osf=&os=&br=&rlangs=en&mlang=en&svpid=&did=&rcxt=&lat=&lon=&tmpc=&daid=&vp=0&osi=&osv=&dc=0&vcc=QAFIAVABiAECwAEDyAED0AED6AEG8AEBgAIDigIMCAIIBQgDCAYICwgMmgIECAEIAqACA6gCAsACAA..&sv=noop&pidi=&advi=&cmpi=&agi=&cridi=&svi=&cmp=&skip=1&c=&dur=&crrelr=',\n 'price': 13.6,\n 'ttl': 500,\n 'w': 600\n }\n ],\n 'seat': 'supplyVendorBuyerId132'\n }\n ],\n 'cur': 'USD'\n }\n };\n\n const expectedBids = [\n {\n 'requestId': 'small',\n 'cpm': 4.25,\n 'width': 300,\n 'height': 600,\n 'creativeId': 'creativeId999',\n 'currency': 'USD',\n 'dealId': null,\n 'netRevenue': true,\n 'ttl': 360,\n 'ad': '<img src=\\\"https://test.adsrvr.org/feedback/prebid?iid=a6702d4e-8d0f-4c48-b251-ce7db4150b46&crid=creativeId999&wp=4.25&aid=small&wpc=USD&sfe=f8d2db2&puid=&tdid=825c1228-ca8c-4657-b40f-2df500621527&pid=&ag=adgroupid&sig=dFthumiovXraET6E7SiXy41xVCF0HgbuBSVkvazJp-w.&cf=&fq=0&td_s=www.test.com&rcats=&mcat=&mste=&mfld=0&mssi=&mfsi=&uhow=&agsa=&rgco=&rgre=&rgme=&rgci=&rgz=&svbttd=1&dt=Other&osf=&os=&br=&rlangs=en&mlang=&svpid=13144370&did=&rcxt=Other&lat=&lon=&tmpc=&daid=&vp=0&osi=&osv=&bp=250.25&c=OAA.&dur=&crrelr=&ipl=bottom&vc=0&said=e7b34fa3-8654-424e-8c49-03e509e53d8c&ict=Unknown\\\" width=\\\"1\\\" height=\\\"1\\\" style=\\\"display: none;\\\"/>Default Test Ad Tag',\n 'mediaType': 'banner',\n 'meta': {\n 'advertiserDomains': ['http://foo']\n }\n },\n {\n 'requestId': '2eabb87dfbcae4',\n 'cpm': 13.6,\n 'creativeId': 'mokivv6m',\n 'dealId': null,\n 'currency': 'USD',\n 'netRevenue': true,\n 'ttl': 500,\n 'width': 640,\n 'height': 480,\n 'mediaType': 'video',\n 'vastUrl': 'https://insight.adsrvr.org/enduser/vast?iid=00000000-0000-0000-0000-000000000000&crid=v3pek2eh&wp=13.6&aid=&wpc=&sfe=0&puid=&tdid=00000000-0000-0000-0000-000000000000&pid=&ag=&adv=&sig=AAAAAAAAAAAAAA.&cf=&fq=0&td_s=&rcats=&mcat=&mste=&mfld=4&mssi=&mfsi=&uhow=&agsa=&rgco=&rgre=&rgme=&rgci=&rgz=&svbttd=0&dt=&osf=&os=&br=&rlangs=en&mlang=en&svpid=&did=&rcxt=&lat=&lon=&tmpc=&daid=&vp=0&osi=&osv=&dc=0&vcc=QAFIAVABiAECwAEDyAED0AED6AEG8AEBgAIDigIMCAIIBQgDCAYICwgMmgIECAEIAqACA6gCAsACAA..&sv=noop&pidi=&advi=&cmpi=&agi=&cridi=&svi=&cmp=&skip=1&c=&dur=&crrelr=',\n 'meta': {}\n }\n ];\n\n const serverRequest = {\n 'method': 'POST',\n 'url': 'https://direct.adsrvr.org/bid/bidder/supplier',\n 'data': {\n 'id': 'c47237df-c108-419f-9c2b-da513dc3c133',\n 'imp': [\n {\n 'id': 'small',\n 'tagid': 'test1',\n 'banner': {\n 'w': 300,\n 'h': 600,\n 'format': [\n {\n 'w': 300,\n 'h': 600\n }\n ]\n },\n },\n {\n 'id': '2eabb87dfbcae4',\n 'tagid': 'video',\n 'video': {\n 'api': [\n 1,\n 3\n ],\n 'mimes': [\n 'video/mp4'\n ],\n 'minduration': 5,\n 'maxduration': 30,\n 'w': 640,\n 'h': 480,\n 'protocols': [\n 2,\n 3,\n 5,\n 6\n ]\n }\n }\n ],\n 'site': {\n 'page': 'http://www.test.com',\n 'publisher': {\n 'id': '111'\n }\n },\n 'device': {\n 'ua': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36',\n 'dnt': 0,\n 'language': 'en-US',\n 'connectiontype': 0\n },\n 'user': {},\n 'at': 1,\n 'cur': [\n 'USD'\n ],\n 'regs': {},\n 'ext': {\n 'ttdprebid': {\n 'ver': 'TTD-PREBID-2019.11.12',\n 'pbjs': '2.31.0'\n }\n }\n },\n 'options': {\n 'withCredentials': true\n }\n };\n\n it('should get the correct bid response', function () {\n const result = spec.interpretResponse(incoming, serverRequest);\n expect(result.length).to.equal(2);\n expect(result).to.deep.equal(expectedBids);\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ttdBidAdapter_spec.js","names":["expect","spec","deepClone","config","detectReferer","buildWindowTree","describe","testBuildRequests","bidRequests","bidderRequestBase","clonedBidderRequest","bids","buildRequests","makeBid","it","isBidRequestValid","to","equal","bid","params","publisherId","supplySourceId","repeat","placementId","ortb2Imp","ext","gpid","mediaTypes","bidfloor","customBidderEndpoint","banner","pos","video","maxduration","api","mimes","protocols","syncOptions","pixelEnabled","gdprConsentString","gdprConsent","consentString","gdprApplies","uspConsent","syncs","getUserSyncs","have","lengthOf","type","URLSearchParams","URL","url","search","get","baseBannerBidRequests","testWindow","baseBidderRequestReferer","baseBidderRequest","ortb2","source","tid","extFirstPartyDataValues","extFirstPartyData","data","firstPartyKey","firstPartyKey2","custom","custom_kvp","customKey","validateExtFirstPartyData","eql","request","method","be","not","empty","null","requestWithoutTimeout","timeout","requestBody","tmax","requestWithTimeout","requestWithLowerTimeout","id","imp","bannerBidRequestsWithHttp2Endpoint","useHttp2","bannerBidRequestsWithCustomEndpoint","site","publisher","tagid","clonedBannerRequests","rwdd","format","w","h","page","expdir","domain","baseBidderRequestWithoutRefererDomain","refererInfo","referer","resetConfig","deep","keywords","ttdprebid","bcat","badv","battr","pbjs","user","consent","regs","gdpr","us_privacy","setConfig","coppa","gpp","gpp_sid","schain","clonedBannerBidRequests","TDID","userId","tdid","buyeruid","undefined","UID2","userIdAsEids","uids","atype","rtiPartner","expectedEids","eids","name","cat","sectioncat","pagecat","ref","getFloor","currency","floor","secure","yob","metric","value","clickbrowser","app","ver","device","os","pmp","private_auction","baseBannerMultipleBidRequests","length","forEach","assert","fail","baseMultiformatBidRequests","baseVideoBidRequests","minduration","clonedVideoRequests","skip","skipmin","skipafter","minbitrate","maxbitrate","playbackmethod","startdelay","placement","plcmt","result","interpretResponse","response","body","incoming","serverRequest","expectedBid","expectedBids","vastXml","admIncoming","seatbid","nurl","adm","vastXmlExpectedBid","vastUrl"],"sourceRoot":"../../../../..","sources":["test/spec/modules/ttdBidAdapter_spec.js"],"sourcesContent":["import { expect } from 'chai';\nimport { spec } from 'modules/ttdBidAdapter';\nimport { deepClone } from 'src/utils.js';\nimport { config } from 'src/config';\nimport { detectReferer } from 'src/refererDetection.js';\n\nimport { buildWindowTree } from '../../helpers/refererDetectionHelper.js';\n\ndescribe('ttdBidAdapter', function () {\n function testBuildRequests(bidRequests, bidderRequestBase) {\n const clonedBidderRequest = deepClone(bidderRequestBase);\n clonedBidderRequest.bids = bidRequests;\n return spec.buildRequests(bidRequests, clonedBidderRequest);\n }\n\n describe('isBidRequestValid', function() {\n function makeBid() {\n return {\n 'bidder': 'ttd',\n 'params': {\n 'supplySourceId': 'supplier',\n 'publisherId': '22222222',\n 'placementId': 'some-PlacementId_1'\n },\n 'mediaTypes': {\n 'banner': {\n 'sizes': [\n [300, 250]\n ]\n }\n },\n 'adUnitCode': 'adunit-code',\n 'bidId': '30b31c1838de1e',\n 'bidderRequestId': '22edbae2733bf6',\n 'auctionId': '1d1a030790a475',\n };\n }\n\n describe('core', function () {\n it('should return true when required params found', function () {\n expect(spec.isBidRequestValid(makeBid())).to.equal(true);\n });\n\n it('should return false when publisherId not passed', function () {\n const bid = makeBid();\n delete bid.params.publisherId;\n expect(spec.isBidRequestValid(bid)).to.equal(false);\n });\n\n it('should return false when supplySourceId not passed', function () {\n const bid = makeBid();\n delete bid.params.supplySourceId;\n expect(spec.isBidRequestValid(bid)).to.equal(false);\n });\n\n it('should return false when publisherId is longer than 64 characters', function () {\n const bid = makeBid();\n bid.params.publisherId = '1'.repeat(65);\n expect(spec.isBidRequestValid(bid)).to.equal(false);\n });\n\n it('should return true when publisherId is equal to 64 characters', function () {\n const bid = makeBid();\n bid.params.publisherId = '1'.repeat(64);\n expect(spec.isBidRequestValid(bid)).to.equal(true);\n });\n\n it('should return true if placementId is not passed and gpid is passed', function () {\n const bid = makeBid();\n delete bid.params.placementId;\n bid.ortb2Imp = {\n ext: {\n gpid: '/1111/home#header'\n }\n }\n expect(spec.isBidRequestValid(bid)).to.equal(true);\n });\n\n it('should return false if neither placementId nor gpid is passed', function () {\n const bid = makeBid();\n delete bid.params.placementId;\n expect(spec.isBidRequestValid(bid)).to.equal(false);\n });\n\n it('should return false if neither mediaTypes.banner nor mediaTypes.video is passed', function () {\n const bid = makeBid();\n delete bid.mediaTypes\n expect(spec.isBidRequestValid(bid)).to.equal(false);\n });\n\n it('should return false if bidfloor is passed incorrectly', function () {\n const bid = makeBid();\n bid.params.bidfloor = 'invalid bidfloor';\n expect(spec.isBidRequestValid(bid)).to.equal(false);\n });\n\n it('should return true if bidfloor is passed correctly as a float', function () {\n const bid = makeBid();\n bid.params.bidfloor = 3.01;\n expect(spec.isBidRequestValid(bid)).to.equal(true);\n });\n\n it('should return false if customBidderEndpoint is provided and does not start with https://', function () {\n const bid = makeBid();\n bid.params.customBidderEndpoint = 'customBidderEndpoint/bid/bidder/';\n expect(spec.isBidRequestValid(bid)).to.equal(false);\n });\n\n it('should return false if customBidderEndpoint is provided and does not end with /bid/bidder/', function () {\n const bid = makeBid();\n bid.params.customBidderEndpoint = 'https://customBidderEndpoint/bid/bidder';\n expect(spec.isBidRequestValid(bid)).to.equal(false);\n });\n\n it('should return true if customBidderEndpoint is provided that starts with https:// and ends with /bid/bidder/', function () {\n const bid = makeBid();\n bid.params.customBidderEndpoint = 'https://customBidderEndpoint/bid/bidder/';\n expect(spec.isBidRequestValid(bid)).to.equal(true);\n });\n });\n\n describe('banner', function () {\n it('should return true if banner.pos is passed correctly', function () {\n const bid = makeBid();\n bid.mediaTypes.banner.pos = 1;\n expect(spec.isBidRequestValid(bid)).to.equal(true);\n });\n });\n\n describe('video', function () {\n if (!FEATURES.VIDEO) {\n return;\n }\n\n function makeBid() {\n return {\n 'bidder': 'ttd',\n 'params': {\n 'supplySourceId': 'supplier',\n 'publisherId': '22222222',\n 'placementId': 'somePlacementId'\n },\n 'mediaTypes': {\n 'video': {\n 'minduration': 5,\n 'maxduration': 30,\n 'playerSize': [640, 480],\n 'api': [1, 3],\n 'mimes': ['video/mp4'],\n 'protocols': [2, 3, 5, 6]\n }\n },\n 'adUnitCode': 'adunit-code',\n 'sizes': [\n [300, 250]\n ],\n 'bidId': '30b31c1838de1e',\n 'bidderRequestId': '22edbae2733bf6',\n 'auctionId': '1d1a030790a475',\n };\n }\n\n it('should return true if required parameters are passed', function () {\n const bid = makeBid();\n expect(spec.isBidRequestValid(bid)).to.equal(true);\n });\n\n it('should return false if maxduration is missing', function () {\n const bid = makeBid();\n delete bid.mediaTypes.video.maxduration;\n expect(spec.isBidRequestValid(bid)).to.equal(false);\n });\n\n it('should return false if api is missing', function () {\n const bid = makeBid();\n delete bid.mediaTypes.video.api;\n expect(spec.isBidRequestValid(bid)).to.equal(false);\n });\n\n it('should return false if mimes is missing', function () {\n const bid = makeBid();\n delete bid.mediaTypes.video.mimes;\n expect(spec.isBidRequestValid(bid)).to.equal(false);\n });\n\n it('should return false if protocols is missing', function () {\n const bid = makeBid();\n delete bid.mediaTypes.video.protocols;\n expect(spec.isBidRequestValid(bid)).to.equal(false);\n });\n });\n });\n\n describe('getUserSyncs', function () {\n it('to check the user sync iframe', function () {\n const syncOptions = {\n pixelEnabled: true\n };\n const gdprConsentString = 'BON3G4EON3G4EAAABAENAA____ABl____A';\n const gdprConsent = {\n consentString: gdprConsentString,\n gdprApplies: true\n };\n const uspConsent = '1YYY';\n\n const syncs = spec.getUserSyncs(syncOptions, [], gdprConsent, uspConsent);\n expect(syncs).to.have.lengthOf(1);\n expect(syncs[0].type).to.equal('image');\n\n const params = new URLSearchParams(new URL(syncs[0].url).search);\n expect(params.get('us_privacy')).to.equal(uspConsent);\n expect(params.get('ust')).to.equal('image');\n expect(params.get('gdpr')).to.equal('1');\n expect(params.get('gdpr_consent')).to.equal(gdprConsentString);\n });\n });\n\n describe('buildRequests-banner', function () {\n const baseBannerBidRequests = [{\n 'bidder': 'ttd',\n 'params': {\n 'supplySourceId': 'supplier',\n 'publisherId': '13144370',\n 'placementId': '1gaa015'\n },\n 'mediaTypes': {\n 'banner': {\n 'sizes': [[300, 250], [300, 600]]\n }\n },\n 'ortb2Imp': {\n 'ext': {\n 'tid': '8651474f-58b1-4368-b812-84f8c937a099',\n }\n },\n 'sizes': [[300, 250], [300, 600]],\n 'transactionId': '1111474f-58b1-4368-b812-84f8c937a099',\n 'adUnitCode': 'div-gpt-ad-1460505748561-0',\n 'bidId': '243310435309b5',\n 'bidderRequestId': '18084284054531',\n 'auctionId': 'e7b34fa3-8654-424e-8c49-03e509e53d8c',\n 'src': 'client',\n 'bidRequestsCount': 1\n }];\n\n const testWindow = buildWindowTree(['https://www.example.com/test', 'https://www.example.com/other/page', 'https://www.example.com/third/page'], 'https://othersite.com/', 'https://example.com/canonical/page');\n const baseBidderRequestReferer = detectReferer(testWindow)();\n const baseBidderRequest = {\n 'bidderCode': 'ttd',\n ortb2: {\n source: {\n tid: 'e7b34fa3-8654-424e-8c49-03e509e53d8c',\n }\n },\n 'bidderRequestId': '18084284054531',\n 'auctionStart': 1540945362095,\n 'timeout': 3000,\n 'refererInfo': baseBidderRequestReferer,\n 'start': 1540945362099,\n 'doneCbCallCount': 0\n };\n\n const extFirstPartyDataValues = ['value', 'value2'];\n const extFirstPartyData = {\n data: {\n firstPartyKey: 'firstPartyValue',\n firstPartyKey2: extFirstPartyDataValues\n },\n custom: 'custom_data',\n custom_kvp: {\n customKey: 'customValue'\n }\n }\n\n function validateExtFirstPartyData(ext) {\n expect(ext.data.firstPartyKey).to.equal('firstPartyValue');\n expect(ext.data.firstPartyKey2).to.eql(extFirstPartyDataValues);\n expect(ext.custom).to.equal('custom_data');\n expect(ext.custom_kvp.customKey).to.equal('customValue');\n }\n\n it('sends bid request to our endpoint that makes sense', function () {\n const request = testBuildRequests(baseBannerBidRequests, baseBidderRequest);\n expect(request.method).to.equal('POST');\n expect(request.url).to.be.not.empty;\n expect(request.data).to.be.not.null;\n });\n\n it('bid request should parse tmax or have a default and minimum', function () {\n const requestWithoutTimeout = {\n ...baseBidderRequest,\n timeout: null\n };\n var requestBody = testBuildRequests(baseBannerBidRequests, requestWithoutTimeout).data;\n expect(requestBody.tmax).to.be.equal(400);\n\n const requestWithTimeout = {\n ...baseBidderRequest,\n timeout: 600\n };\n requestBody = testBuildRequests(baseBannerBidRequests, requestWithTimeout).data;\n expect(requestBody.tmax).to.be.equal(600);\n\n const requestWithLowerTimeout = {\n ...baseBidderRequest,\n timeout: 300\n };\n requestBody = testBuildRequests(baseBannerBidRequests, requestWithLowerTimeout).data;\n expect(requestBody.tmax).to.be.equal(400);\n });\n\n it('sets bidrequest.id to bidderRequestId', function () {\n const requestBody = testBuildRequests(baseBannerBidRequests, baseBidderRequest).data;\n expect(requestBody.id).to.equal('18084284054531');\n });\n\n it('sets impression id to ad unit\\'s bid id', function () {\n const requestBody = testBuildRequests(baseBannerBidRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].id).to.equal('243310435309b5');\n });\n\n it('sends bid requests to the correct endpoint', function () {\n const url = testBuildRequests(baseBannerBidRequests, baseBidderRequest).url;\n expect(url).to.equal('https://direct.adsrvr.org/bid/bidder/supplier');\n });\n\n it('sends bid requests to the correct http2 endpoint', function () {\n const bannerBidRequestsWithHttp2Endpoint = deepClone(baseBannerBidRequests);\n bannerBidRequestsWithHttp2Endpoint[0].params.useHttp2 = true;\n const url = testBuildRequests(bannerBidRequestsWithHttp2Endpoint, baseBidderRequest).url;\n expect(url).to.equal('https://d2.adsrvr.org/bid/bidder/supplier');\n });\n\n it('sends bid requests to the correct custom endpoint', function () {\n const bannerBidRequestsWithCustomEndpoint = deepClone(baseBannerBidRequests);\n bannerBidRequestsWithCustomEndpoint[0].params.customBidderEndpoint = 'https://customBidderEndpoint/bid/bidder/';\n const url = testBuildRequests(bannerBidRequestsWithCustomEndpoint, baseBidderRequest).url;\n expect(url).to.equal('https://customBidderEndpoint/bid/bidder/supplier');\n });\n\n it('sends publisher id', function () {\n const requestBody = testBuildRequests(baseBannerBidRequests, baseBidderRequest).data;\n expect(requestBody.site).to.be.not.null;\n expect(requestBody.site.publisher).to.be.not.null;\n expect(requestBody.site.publisher.id).to.equal(baseBannerBidRequests[0].params.publisherId);\n });\n\n it('sends placement id in tagid', function () {\n const requestBody = testBuildRequests(baseBannerBidRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].tagid).to.equal(baseBannerBidRequests[0].params.placementId);\n });\n\n it('sends gpid in tagid if present', function () {\n const clonedBannerRequests = deepClone(baseBannerBidRequests);\n const gpid = '/1111/home#header';\n clonedBannerRequests[0].ortb2Imp = {\n ext: {\n gpid: gpid\n }\n };\n const requestBody = testBuildRequests(clonedBannerRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].tagid).to.equal(gpid);\n });\n\n it('sends gpid in ext.gpid if present', function () {\n const clonedBannerRequests = deepClone(baseBannerBidRequests);\n const gpid = '/1111/home#header';\n clonedBannerRequests[0].ortb2Imp = {\n ext: {\n gpid: gpid\n }\n };\n const requestBody = testBuildRequests(clonedBannerRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].ext).to.be.not.null;\n expect(requestBody.imp[0].ext.gpid).to.equal(gpid);\n });\n\n it('sends rwdd in imp.rwdd if present', function () {\n const clonedBannerRequests = deepClone(baseBannerBidRequests);\n const gpid = '/1111/home#header';\n const rwdd = 1;\n clonedBannerRequests[0].ortb2Imp = {\n rwdd: rwdd,\n ext: {\n gpid: gpid\n }\n };\n const requestBody = testBuildRequests(clonedBannerRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].rwdd).to.be.not.null;\n expect(requestBody.imp[0].rwdd).to.equal(1);\n });\n\n it('sends source.tid', function () {\n const requestBody = testBuildRequests(baseBannerBidRequests, baseBidderRequest).data;\n expect(requestBody.source).to.be.not.null;\n expect(requestBody.source.tid).to.equal(baseBidderRequest.ortb2.source.tid);\n });\n\n it('includes the ad size in the bid request', function () {\n const requestBody = testBuildRequests(baseBannerBidRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].banner.format[0].w).to.equal(300);\n expect(requestBody.imp[0].banner.format[0].h).to.equal(250);\n expect(requestBody.imp[0].banner.format[1].w).to.equal(300);\n expect(requestBody.imp[0].banner.format[1].h).to.equal(600);\n });\n\n it('includes the detected referer in the bid request', function () {\n const requestBody = testBuildRequests(baseBannerBidRequests, baseBidderRequest).data;\n expect(requestBody.site.page).to.equal('https://www.example.com/test');\n });\n\n it('ensure top most location is used', function () {\n const requestBody = testBuildRequests(baseBannerBidRequests, baseBidderRequest).data;\n expect(requestBody.site.page).to.equal('https://www.example.com/test');\n });\n\n it('sets the banner pos correctly if sent', function () {\n const clonedBannerRequests = deepClone(baseBannerBidRequests);\n clonedBannerRequests[0].mediaTypes.banner.pos = 1;\n\n const requestBody = testBuildRequests(clonedBannerRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].banner.pos).to.equal(1);\n });\n\n it('sets the banner expansion direction correctly if sent', function () {\n const clonedBannerRequests = deepClone(baseBannerBidRequests);\n const expdir = [1, 3]\n clonedBannerRequests[0].params.banner = {\n expdir: expdir\n };\n\n const requestBody = testBuildRequests(clonedBannerRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].banner.expdir).to.equal(expdir);\n });\n\n it('merges first party site data', function () {\n const ortb2 = {\n site: {\n publisher: {\n domain: 'https://foo.bar',\n }\n }\n };\n const baseBidderRequestWithoutRefererDomain = {\n ...baseBidderRequest,\n refererInfo: {\n ...baseBannerBidRequests.referer,\n domain: null\n }\n }\n const requestBody = testBuildRequests(\n baseBannerBidRequests, {...baseBidderRequestWithoutRefererDomain, ortb2}\n ).data;\n config.resetConfig();\n expect(requestBody.site.publisher).to.deep.equal({domain: 'https://foo.bar', id: '13144370'});\n });\n\n it('referer domain overrides first party site data publisher domain', function () {\n const ortb2 = {\n site: {\n publisher: {\n domain: 'https://foo.bar',\n }\n }\n };\n const requestBody = testBuildRequests(\n baseBannerBidRequests, {...baseBidderRequest, ortb2}\n ).data;\n config.resetConfig();\n expect(requestBody.site.publisher.domain).to.equal(baseBidderRequest.refererInfo.domain);\n });\n\n it('sets keywords properly if sent', function () {\n const ortb2 = {\n site: {\n keywords: 'highViewability, clothing, holiday shopping'\n }\n };\n const requestBody = testBuildRequests(baseBannerBidRequests, {...baseBidderRequest, ortb2}).data;\n config.resetConfig();\n expect(requestBody.ext.ttdprebid.keywords).to.deep.equal(['highViewability', 'clothing', 'holiday shopping']);\n });\n\n it('sets bcat properly if sent', function () {\n const ortb2 = {\n bcat: ['IAB1-1', 'IAB2-9']\n };\n const requestBody = testBuildRequests(baseBannerBidRequests, {...baseBidderRequest, ortb2}).data;\n config.resetConfig();\n expect(requestBody.bcat).to.deep.equal(['IAB1-1', 'IAB2-9']);\n });\n\n it('sets badv properly if sent', function () {\n const ortb2 = {\n badv: ['adv1.com', 'adv2.com']\n };\n const requestBody = testBuildRequests(baseBannerBidRequests, {...baseBidderRequest, ortb2}).data;\n config.resetConfig();\n expect(requestBody.badv).to.deep.equal(['adv1.com', 'adv2.com']);\n });\n\n it('sets battr properly if present', function () {\n const clonedBannerRequests = deepClone(baseBannerBidRequests);\n const battr = [1, 2, 3];\n clonedBannerRequests[0].ortb2Imp = {\n banner: {\n battr: battr\n }\n };\n const requestBody = testBuildRequests(clonedBannerRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].banner.battr).to.equal(battr);\n });\n\n it('sets ext properly', function () {\n const clonedBannerRequests = deepClone(baseBannerBidRequests);\n\n const requestBody = testBuildRequests(clonedBannerRequests, baseBidderRequest).data;\n expect(requestBody.ext.ttdprebid.pbjs).to.equal('$prebid.version$');\n });\n\n it('adds gdpr consent info to the request', function () {\n const consentString = 'BON3G4EON3G4EAAABAENAA____ABl____A';\n const clonedBidderRequest = deepClone(baseBidderRequest);\n clonedBidderRequest.gdprConsent = {\n consentString: consentString,\n gdprApplies: true\n };\n\n const requestBody = testBuildRequests(baseBannerBidRequests, clonedBidderRequest).data;\n expect(requestBody.user.ext.consent).to.equal(consentString);\n expect(requestBody.regs.ext.gdpr).to.equal(1);\n });\n\n it('adds usp consent info to the request', function () {\n const consentString = 'BON3G4EON3G4EAAABAENAA____ABl____A';\n const clonedBidderRequest = deepClone(baseBidderRequest);\n clonedBidderRequest.uspConsent = consentString;\n\n const requestBody = testBuildRequests(baseBannerBidRequests, clonedBidderRequest).data;\n expect(requestBody.regs.ext.us_privacy).to.equal(consentString);\n });\n\n it('adds coppa consent info to the request', function () {\n const clonedBidderRequest = deepClone(baseBidderRequest);\n\n config.setConfig({coppa: true});\n const requestBody = testBuildRequests(baseBannerBidRequests, clonedBidderRequest).data;\n config.resetConfig();\n expect(requestBody.regs.coppa).to.equal(1);\n });\n\n it('adds gpp consent info to the request', function () {\n const ortb2 = {\n regs: {\n gpp: 'somegppstring',\n gpp_sid: [6, 7]\n }\n };\n const clonedBidderRequest = {...deepClone(baseBidderRequest), ortb2};\n const requestBody = testBuildRequests(baseBannerBidRequests, clonedBidderRequest).data;\n config.resetConfig();\n expect(requestBody.regs.gpp).to.equal('somegppstring');\n expect(requestBody.regs.gpp_sid).to.eql([6, 7]);\n });\n\n it('adds schain info to the request', function () {\n const schain = {\n 'ver': '1.0',\n 'complete': 1,\n 'nodes': [{\n 'asi': 'indirectseller.com',\n 'sid': '00001',\n 'hp': 1\n }, {\n 'asi': 'indirectseller-2.com',\n 'sid': '00002',\n 'hp': 1\n }]\n };\n const clonedBannerBidRequests = deepClone(baseBannerBidRequests);\n clonedBannerBidRequests[0].ortb2 = { source: { ext: { schain: schain } } };\n\n const requestBody = testBuildRequests(clonedBannerBidRequests, baseBidderRequest).data;\n expect(requestBody.source.ext.schain).to.deep.equal(schain);\n });\n\n it('no longer uses userId', function () {\n const TDID = '00000000-0000-0000-0000-000000000000';\n const clonedBannerRequests = deepClone(baseBannerBidRequests);\n clonedBannerRequests[0].userId = {\n tdid: TDID\n };\n\n const requestBody = testBuildRequests(clonedBannerRequests, baseBidderRequest).data;\n expect(requestBody.user.buyeruid).to.be.undefined;\n });\n\n it('adds unified ID and UID2 info to user.ext.eids in the request', function () {\n const TDID = '00000000-0000-0000-0000-000000000000';\n const UID2 = '99999999-9999-9999-9999-999999999999';\n const clonedBannerRequests = deepClone(baseBannerBidRequests);\n clonedBannerRequests[0].userIdAsEids = [\n {\n source: 'adserver.org',\n uids: [\n {\n atype: 1,\n ext: {\n rtiPartner: 'TDID'\n },\n id: TDID\n }\n ]\n },\n {\n source: 'uidapi.com',\n uids: [\n {\n atype: 3,\n id: UID2\n }\n ]\n }\n ];\n const expectedEids = clonedBannerRequests[0].userIdAsEids;\n\n const requestBody = testBuildRequests(clonedBannerRequests, baseBidderRequest).data;\n expect(requestBody.user.ext.eids).to.deep.equal(expectedEids);\n expect(requestBody.user.buyeruid).to.equal(TDID);\n });\n\n it('has an empty buyeruid if tdid not found in userIdAsEids', function () {\n const UID2 = '99999999-9999-9999-9999-999999999999';\n const clonedBannerRequests = deepClone(baseBannerBidRequests);\n clonedBannerRequests[0].userIdAsEids = [\n {\n source: 'uidapi.com',\n uids: [\n {\n atype: 3,\n id: UID2\n }\n ]\n }\n ];\n const expectedEids = clonedBannerRequests[0].userIdAsEids;\n\n const requestBody = testBuildRequests(clonedBannerRequests, baseBidderRequest).data;\n expect(requestBody.user.ext.eids).to.deep.equal(expectedEids);\n expect(requestBody.user.buyeruid).to.be.undefined;\n });\n\n it('adds first party site data to the request', function () {\n const ortb2 = {\n site: {\n name: 'example',\n domain: 'page.example.com',\n cat: ['IAB2'],\n sectioncat: ['IAB2-2'],\n pagecat: ['IAB2-2'],\n page: 'https://page.example.com/here.html',\n ref: 'https://ref.example.com',\n keywords: 'power tools, drills'\n }\n };\n const clonedBidderRequest = {...deepClone(baseBidderRequest), ortb2};\n const requestBody = testBuildRequests(baseBannerBidRequests, clonedBidderRequest).data;\n expect(requestBody.site.name).to.equal('example');\n expect(requestBody.site.domain).to.equal('page.example.com');\n expect(requestBody.site.cat[0]).to.equal('IAB2');\n expect(requestBody.site.sectioncat[0]).to.equal('IAB2-2');\n expect(requestBody.site.pagecat[0]).to.equal('IAB2-2');\n expect(requestBody.site.page).to.equal('https://page.example.com/here.html');\n expect(requestBody.site.ref).to.equal('https://ref.example.com');\n expect(requestBody.site.keywords).to.equal('power tools, drills');\n });\n\n it('should fallback to floor module if no bidfloor is sent ', function () {\n const clonedBannerRequests = deepClone(baseBannerBidRequests);\n const bidfloor = 5.00;\n clonedBannerRequests[0].getFloor = () => {\n return { currency: 'USD', floor: bidfloor };\n };\n const requestBody = testBuildRequests(clonedBannerRequests, baseBidderRequest).data;\n config.resetConfig();\n expect(requestBody.imp[0].bidfloor).to.equal(bidfloor);\n });\n\n it('adds default value for secure if not set to request', function () {\n const requestBody = testBuildRequests(baseBannerBidRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].secure).to.equal(1);\n });\n\n it('adds secure to request', function () {\n const clonedBannerRequests = deepClone(baseBannerBidRequests);\n clonedBannerRequests[0].ortb2Imp.secure = 0;\n\n let requestBody = testBuildRequests(clonedBannerRequests, baseBidderRequest).data;\n expect(0).to.equal(requestBody.imp[0].secure);\n\n clonedBannerRequests[0].ortb2Imp.secure = 1;\n requestBody = testBuildRequests(clonedBannerRequests, baseBidderRequest).data;\n expect(1).to.equal(requestBody.imp[0].secure);\n });\n\n it('adds all of site first party data to request', function() {\n const ortb2 = {\n site: {\n ext: extFirstPartyData,\n search: 'test search'\n }\n };\n\n const clonedBidderRequest = {...deepClone(baseBidderRequest), ortb2};\n const requestBody = testBuildRequests(baseBannerBidRequests, clonedBidderRequest).data;\n\n validateExtFirstPartyData(requestBody.site.ext)\n expect(requestBody.site.search).to.equal('test search')\n });\n\n it('adds all of user first party data to request', function() {\n const ortb2 = {\n user: {\n ext: extFirstPartyData,\n yob: 1998\n }\n };\n\n const clonedBidderRequest = {...deepClone(baseBidderRequest), ortb2};\n const requestBody = testBuildRequests(baseBannerBidRequests, clonedBidderRequest).data;\n\n validateExtFirstPartyData(requestBody.user.ext)\n expect(requestBody.user.yob).to.equal(1998)\n });\n\n it('adds all of imp first party data to request', function() {\n const metric = { type: 'viewability', value: 0.8 };\n const clonedBannerRequests = deepClone(baseBannerBidRequests);\n clonedBannerRequests[0].ortb2Imp = {\n ext: extFirstPartyData,\n metric: [metric],\n clickbrowser: 1\n };\n\n const requestBody = testBuildRequests(clonedBannerRequests, baseBidderRequest).data;\n\n validateExtFirstPartyData(requestBody.imp[0].ext)\n expect(requestBody.imp[0].tagid).to.equal('1gaa015');\n expect(requestBody.imp[0].metric[0]).to.deep.equal(metric);\n expect(requestBody.imp[0].clickbrowser).to.equal(1)\n });\n\n it('adds all of app first party data to request', function() {\n const ortb2 = {\n app: {\n ext: extFirstPartyData,\n ver: 'v1.0'\n }\n };\n\n const clonedBidderRequest = {...deepClone(baseBidderRequest), ortb2};\n const requestBody = testBuildRequests(baseBannerBidRequests, clonedBidderRequest).data;\n\n validateExtFirstPartyData(requestBody.app.ext)\n expect(requestBody.app.ver).to.equal('v1.0')\n });\n\n it('adds all of device first party data to request', function() {\n const ortb2 = {\n device: {\n ext: extFirstPartyData,\n os: 'iPhone'\n }\n };\n\n const clonedBidderRequest = {...deepClone(baseBidderRequest), ortb2};\n const requestBody = testBuildRequests(baseBannerBidRequests, clonedBidderRequest).data;\n\n validateExtFirstPartyData(requestBody.device.ext)\n expect(requestBody.device.os).to.equal('iPhone')\n });\n\n it('adds all of pmp first party data to request', function() {\n const ortb2 = {\n pmp: {\n ext: extFirstPartyData,\n private_auction: 1\n }\n };\n\n const clonedBidderRequest = {...deepClone(baseBidderRequest), ortb2};\n const requestBody = testBuildRequests(baseBannerBidRequests, clonedBidderRequest).data;\n\n validateExtFirstPartyData(requestBody.imp[0].pmp.ext)\n expect(requestBody.imp[0].pmp.private_auction).to.equal(1)\n });\n });\n\n describe('buildRequests-banner-multiple', function () {\n const baseBannerMultipleBidRequests = [{\n 'bidder': 'ttd',\n 'params': {\n 'supplySourceId': 'supplier',\n 'publisherId': '13144370',\n 'placementId': 'bottom'\n },\n 'mediaTypes': {\n 'banner': {\n 'sizes': [[300, 250], [300, 600]]\n }\n },\n 'ortb2Imp': {\n 'ext': {\n 'tid': '8651474f-58b1-4368-b812-84f8c937a099',\n }\n },\n 'sizes': [[300, 250], [300, 600]],\n 'transactionId': '1111474f-58b1-4368-b812-84f8c937a099',\n 'adUnitCode': 'div-gpt-ad-1460505748561-0',\n 'bidId': 'small',\n 'bidderRequestId': '18084284054531',\n 'auctionId': 'e7b34fa3-8654-424e-8c49-03e509e53d8c',\n 'src': 'client',\n 'bidRequestsCount': 1\n }, {\n 'bidder': 'ttd',\n 'params': {\n 'publisherId': '13144370',\n 'placementId': 'top'\n },\n 'mediaTypes': {\n 'banner': {\n 'sizes': [[728, 90]]\n }\n },\n 'ortb2Imp': {\n 'ext': {\n 'tid': '12345678-58b1-4368-b812-84f8c937a099',\n }\n },\n 'sizes': [[728, 90]],\n 'transactionId': '825c1228-ca8c-4657-b40f-2df500621527',\n 'adUnitCode': 'div-gpt-ad-91515710-0',\n 'bidId': 'large',\n 'bidderRequestId': '18084284054531',\n 'auctionId': 'e7b34fa3-8654-424e-8c49-03e509e53d8c',\n 'src': 'client',\n 'bidRequestsCount': 1\n }];\n\n const baseBidderRequest = {\n 'bidderCode': 'ttd',\n ortb2: {\n source: {\n tid: 'e7b34fa3-8654-424e-8c49-03e509e53d8c',\n }\n },\n 'bidderRequestId': '18084284054531',\n 'auctionStart': 1540945362095,\n 'timeout': 3000,\n 'refererInfo': {\n 'referer': 'https://www.test.com',\n 'reachedTop': true,\n 'numIframes': 0,\n 'stack': [\n 'https://www.test.com'\n ]\n },\n 'start': 1540945362099,\n 'doneCbCallCount': 0\n };\n\n it('sends multiple impressions', function () {\n const requestBody = testBuildRequests(baseBannerMultipleBidRequests, baseBidderRequest).data;\n expect(requestBody.imp.length).to.equal(2);\n expect(requestBody.source).to.be.not.null;\n expect(requestBody.source.tid).to.equal(baseBidderRequest.ortb2.source.tid);\n expect(requestBody.imp[0].ext).to.be.not.null;\n expect(requestBody.imp[0].ext.tid).to.equal('8651474f-58b1-4368-b812-84f8c937a099');\n expect(requestBody.imp[1].ext).to.be.not.null;\n expect(requestBody.imp[1].ext.tid).to.equal('12345678-58b1-4368-b812-84f8c937a099');\n });\n\n it('sends the right tag ids for each ad unit', function () {\n const requestBody = testBuildRequests(baseBannerMultipleBidRequests, baseBidderRequest).data;\n requestBody.imp.forEach(imp => {\n if (imp.id === 'small') {\n expect(imp.tagid).to.equal('bottom');\n } else if (imp.id === 'large') {\n expect(imp.tagid).to.equal('top');\n } else {\n assert.fail('no matching impression id found');\n }\n });\n });\n\n it('sends the sizes for each ad unit', function () {\n const requestBody = testBuildRequests(baseBannerMultipleBidRequests, baseBidderRequest).data;\n requestBody.imp.forEach(imp => {\n if (imp.id === 'small') {\n expect(imp.banner.format[0].w).to.equal(300);\n expect(imp.banner.format[0].h).to.equal(250);\n expect(imp.banner.format[1].w).to.equal(300);\n expect(imp.banner.format[1].h).to.equal(600);\n } else if (imp.id === 'large') {\n expect(imp.banner.format[0].w).to.equal(728);\n expect(imp.banner.format[0].h).to.equal(90);\n } else {\n assert.fail('no matching impression id found');\n }\n });\n });\n });\n\n describe('buildRequests-display-video-multiformat', function () {\n if (!FEATURES.VIDEO) {\n return;\n }\n\n const baseMultiformatBidRequests = [{\n 'bidder': 'ttd',\n 'params': {\n 'supplySourceId': 'supplier',\n 'publisherId': '13144370',\n 'placementId': '1gaa015'\n },\n 'mediaTypes': {\n 'video': {\n 'playerSize': [640, 480],\n 'api': [1, 3],\n 'mimes': ['video/mp4'],\n 'protocols': [2, 3, 5, 6],\n 'minduration': 5,\n 'maxduration': 30\n },\n 'banner': {\n 'sizes': [[300, 250], [300, 600]]\n }\n },\n 'ortb2Imp': {\n 'ext': {\n 'tid': '8651474f-58b1-4368-b812-84f8c937a099',\n }\n },\n 'transactionId': '1111474f-58b1-4368-b812-84f8c937a099',\n 'adUnitCode': 'div-gpt-ad-1460505748561-0',\n 'bidId': '243310435309b5',\n 'bidderRequestId': '18084284054531',\n 'auctionId': 'e7b34fa3-8654-424e-8c49-03e509e53d8c',\n 'src': 'client',\n 'bidRequestsCount': 1\n }];\n\n const baseBidderRequest = {\n 'bidderCode': 'ttd',\n 'auctionId': 'e7b34fa3-8654-424e-8c49-03e509e53d8c',\n 'bidderRequestId': '18084284054531',\n 'auctionStart': 1540945362095,\n 'timeout': 3000,\n 'refererInfo': {\n 'referer': 'https://www.example.com/test',\n 'reachedTop': true,\n 'numIframes': 0,\n 'stack': [\n 'https://www.example.com/test'\n ]\n },\n 'start': 1540945362099,\n 'doneCbCallCount': 0\n };\n\n it('includes the video ad size in the bid request', function () {\n const requestBody = testBuildRequests(baseMultiformatBidRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].video.w).to.equal(640);\n expect(requestBody.imp[0].video.h).to.equal(480);\n });\n\n it('includes the banner ad size in the bid request', function () {\n const requestBody = testBuildRequests(baseMultiformatBidRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].banner.format[0].w).to.equal(300);\n expect(requestBody.imp[0].banner.format[0].h).to.equal(250);\n expect(requestBody.imp[0].banner.format[1].w).to.equal(300);\n expect(requestBody.imp[0].banner.format[1].h).to.equal(600);\n });\n });\n\n describe('buildRequests-video', function () {\n if (!FEATURES.VIDEO) {\n return;\n }\n\n const baseVideoBidRequests = [{\n 'bidder': 'ttd',\n 'params': {\n 'supplySourceId': 'supplier',\n 'publisherId': '13144370',\n 'placementId': '1gaa015'\n },\n 'mediaTypes': {\n 'video': {\n 'playerSize': [640, 480],\n 'api': [1, 3],\n 'mimes': ['video/mp4'],\n 'protocols': [2, 3, 5, 6],\n 'minduration': 5,\n 'maxduration': 30\n }\n },\n 'ortb2Imp': {\n 'ext': {\n 'tid': '8651474f-58b1-4368-b812-84f8c937a099',\n }\n },\n 'transactionId': '1111474f-58b1-4368-b812-84f8c937a099',\n 'adUnitCode': 'div-gpt-ad-1460505748561-0',\n 'bidId': '243310435309b5',\n 'bidderRequestId': '18084284054531',\n 'auctionId': 'e7b34fa3-8654-424e-8c49-03e509e53d8c',\n 'src': 'client',\n 'bidRequestsCount': 1\n }];\n\n const baseBidderRequest = {\n 'bidderCode': 'ttd',\n 'auctionId': 'e7b34fa3-8654-424e-8c49-03e509e53d8c',\n 'bidderRequestId': '18084284054531',\n 'auctionStart': 1540945362095,\n 'timeout': 3000,\n 'refererInfo': {\n 'referer': 'https://www.example.com/test',\n 'reachedTop': true,\n 'numIframes': 0,\n 'stack': [\n 'https://www.example.com/test'\n ]\n },\n 'start': 1540945362099,\n 'doneCbCallCount': 0\n };\n\n it('includes the ad size in the bid request', function () {\n const requestBody = testBuildRequests(baseVideoBidRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].video.w).to.equal(640);\n expect(requestBody.imp[0].video.h).to.equal(480);\n });\n\n it('includes the mimes in the bid request', function () {\n const requestBody = testBuildRequests(baseVideoBidRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].video.mimes[0]).to.equal('video/mp4');\n });\n\n it('includes the min and max duration in the bid request', function () {\n const requestBody = testBuildRequests(baseVideoBidRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].video.minduration).to.equal(5);\n expect(requestBody.imp[0].video.maxduration).to.equal(30);\n });\n\n it('sets the minduration to 0 if missing', function () {\n const clonedVideoRequests = deepClone(baseVideoBidRequests);\n delete clonedVideoRequests[0].mediaTypes.video.minduration\n\n const requestBody = testBuildRequests(clonedVideoRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].video.minduration).to.equal(0);\n });\n\n it('includes the api frameworks in the bid request', function () {\n const requestBody = testBuildRequests(baseVideoBidRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].video.api[0]).to.equal(1);\n expect(requestBody.imp[0].video.api[1]).to.equal(3);\n });\n\n it('includes the protocols in the bid request', function () {\n const requestBody = testBuildRequests(baseVideoBidRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].video.protocols[0]).to.equal(2);\n expect(requestBody.imp[0].video.protocols[1]).to.equal(3);\n expect(requestBody.imp[0].video.protocols[2]).to.equal(5);\n expect(requestBody.imp[0].video.protocols[3]).to.equal(6);\n });\n\n it('sets skip correctly if sent', function () {\n const clonedVideoRequests = deepClone(baseVideoBidRequests);\n clonedVideoRequests[0].mediaTypes.video.skip = 1;\n clonedVideoRequests[0].mediaTypes.video.skipmin = 5;\n clonedVideoRequests[0].mediaTypes.video.skipafter = 10;\n\n const requestBody = testBuildRequests(clonedVideoRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].video.skip).to.equal(1);\n expect(requestBody.imp[0].video.skipmin).to.equal(5);\n expect(requestBody.imp[0].video.skipafter).to.equal(10);\n });\n\n it('sets bitrate correctly if sent', function () {\n const clonedVideoRequests = deepClone(baseVideoBidRequests);\n clonedVideoRequests[0].mediaTypes.video.minbitrate = 100;\n clonedVideoRequests[0].mediaTypes.video.maxbitrate = 500;\n\n const requestBody = testBuildRequests(clonedVideoRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].video.minbitrate).to.equal(100);\n expect(requestBody.imp[0].video.maxbitrate).to.equal(500);\n });\n\n it('sets pos correctly if sent', function () {\n const clonedVideoRequests = deepClone(baseVideoBidRequests);\n clonedVideoRequests[0].mediaTypes.video.pos = 1;\n\n const requestBody = testBuildRequests(clonedVideoRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].video.pos).to.equal(1);\n });\n\n it('sets playbackmethod correctly if sent', function () {\n const clonedVideoRequests = deepClone(baseVideoBidRequests);\n clonedVideoRequests[0].mediaTypes.video.playbackmethod = [1];\n\n const requestBody = testBuildRequests(clonedVideoRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].video.playbackmethod[0]).to.equal(1);\n });\n\n it('sets startdelay correctly if sent', function () {\n const clonedVideoRequests = deepClone(baseVideoBidRequests);\n clonedVideoRequests[0].mediaTypes.video.startdelay = -1;\n\n const requestBody = testBuildRequests(clonedVideoRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].video.startdelay).to.equal(-1);\n });\n\n it('sets placement correctly if sent', function () {\n const clonedVideoRequests = deepClone(baseVideoBidRequests);\n clonedVideoRequests[0].mediaTypes.video.placement = 3;\n\n const requestBody = testBuildRequests(clonedVideoRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].video.placement).to.equal(3);\n });\n\n it('sets plcmt correctly if sent', function () {\n const clonedVideoRequests = deepClone(baseVideoBidRequests);\n clonedVideoRequests[0].mediaTypes.video.plcmt = 3;\n\n const requestBody = testBuildRequests(clonedVideoRequests, baseBidderRequest).data;\n expect(requestBody.imp[0].video.plcmt).to.equal(3);\n });\n });\n\n describe('interpretResponse-empty', function () {\n it('should handle empty response', function () {\n const result = spec.interpretResponse({});\n expect(result.length).to.equal(0);\n });\n\n it('should handle empty seatbid response', function () {\n const response = {\n body: {\n 'id': '5e5c23a5ba71e78',\n 'seatbid': []\n }\n };\n const result = spec.interpretResponse(response);\n expect(result.length).to.equal(0);\n });\n });\n\n describe('interpretResponse-simple-display', function () {\n const incoming = {\n body: {\n 'id': '5e5c23a5ba71e78',\n 'seatbid': [\n {\n 'bid': [\n {\n 'id': '6vmb3isptf',\n 'crid': 'ttdscreative',\n 'impid': '322add653672f68',\n 'price': 1.22,\n 'adm': '<!-- creative -->',\n 'cat': [],\n 'h': 90,\n 'w': 728,\n 'ttl': 60,\n 'dealid': 'ttd-dealid-1',\n 'adomain': ['advertiser.com'],\n 'ext': {\n 'mediatype': 1\n }\n }\n ],\n 'seat': 'MOCK'\n }\n ],\n 'cur': 'EUR',\n 'bidid': '5e5c23a5ba71e78'\n }\n };\n\n const serverRequest = {\n 'method': 'POST',\n 'url': 'https://direct.adsrvr.org/bid/bidder/supplier',\n 'data': {\n 'id': 'c47237df-c108-419f-9c2b-da513dc3c133',\n 'imp': [\n {\n 'id': '322add653672f68',\n 'tagid': 'simple',\n 'banner': {\n 'w': 728,\n 'h': 90,\n 'format': [\n {\n 'w': 728,\n 'h': 90\n }\n ]\n }\n }\n ],\n 'site': {\n 'page': 'http://www.test.com',\n 'publisher': {\n 'id': '111'\n }\n },\n 'device': {\n 'ua': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36',\n 'dnt': 0,\n 'language': 'en-US',\n 'connectiontype': 0\n },\n 'user': {},\n 'at': 1,\n 'cur': [\n 'USD'\n ],\n 'regs': {},\n 'ext': {\n 'ttdprebid': {\n 'ver': 'TTD-PREBID-2019.11.12',\n 'pbjs': '2.31.0'\n }\n }\n },\n 'options': {\n 'withCredentials': true\n }\n };\n\n const expectedBid = {\n 'requestId': '322add653672f68',\n 'cpm': 1.22,\n 'width': 728,\n 'height': 90,\n 'creativeId': 'ttdscreative',\n 'dealId': 'ttd-dealid-1',\n 'currency': 'EUR',\n 'netRevenue': true,\n 'ttl': 60,\n 'ad': '<!-- creative -->',\n 'mediaType': 'banner',\n 'meta': {\n 'advertiserDomains': ['advertiser.com']\n }\n };\n\n it('should get the correct bid response', function () {\n const result = spec.interpretResponse(incoming, serverRequest);\n expect(result.length).to.equal(1);\n expect(result[0]).to.deep.equal(expectedBid);\n });\n });\n\n describe('interpretResponse-multiple-display', function () {\n const incoming = {\n 'body': {\n 'id': 'e7b34fa3-8654-424e-8c49-03e509e53d8c',\n 'seatbid': [\n {\n 'bid': [\n {\n 'id': 'small',\n 'impid': 'small',\n 'price': 4.25,\n 'adm': '<img src=\\\"https://test.adsrvr.org/feedback/prebid?iid=a6702d4e-8d0f-4c48-b251-ce7db4150b46&crid=creativeId999&wp=${AUCTION_PRICE}&aid=small&wpc=USD&sfe=f8d2db2&puid=&tdid=825c1228-ca8c-4657-b40f-2df500621527&pid=&ag=adgroupid&sig=dFthumiovXraET6E7SiXy41xVCF0HgbuBSVkvazJp-w.&cf=&fq=0&td_s=www.test.com&rcats=&mcat=&mste=&mfld=0&mssi=&mfsi=&uhow=&agsa=&rgco=&rgre=&rgme=&rgci=&rgz=&svbttd=1&dt=Other&osf=&os=&br=&rlangs=en&mlang=&svpid=13144370&did=&rcxt=Other&lat=&lon=&tmpc=&daid=&vp=0&osi=&osv=&bp=250.25&c=OAA.&dur=&crrelr=&ipl=bottom&vc=0&said=e7b34fa3-8654-424e-8c49-03e509e53d8c&ict=Unknown\\\" width=\\\"1\\\" height=\\\"1\\\" style=\\\"display: none;\\\"/>Default Test Ad Tag',\n 'cid': 'campaignId132',\n 'crid': 'creativeId999',\n 'adomain': [\n 'http://foo'\n ],\n 'dealid': null,\n 'w': 300,\n 'h': 600,\n 'cat': [],\n 'ext': {\n 'mediatype': 1\n }\n },\n {\n 'id': 'large',\n 'impid': 'large',\n 'price': 5.25,\n 'adm': '<img src=\\\"https://test.adsrvr.org/feedback/prebid?iid=02348bcc-773a-4e98-8550-d27a870262e4&crid=creativeId222&wp=${AUCTION_PRICE}&aid=large&wpc=USD&sfe=f8d2db2&puid=&tdid=825c1228-ca8c-4657-b40f-2df500621527&pid=&ag=adgroupid&sig=iK1Drckqd-4kokX0eXwWQn5rh0EynlQim0H22GyT3pg.&cf=&fq=0&td_s=www.test.com&rcats=&mcat=&mste=&mfld=0&mssi=&mfsi=&uhow=&agsa=&rgco=&rgre=&rgme=&rgci=&rgz=&svbttd=1&dt=Other&osf=&os=&br=&rlangs=en&mlang=&svpid=13144370&did=&rcxt=Other&lat=&lon=&tmpc=&daid=&vp=0&osi=&osv=&bp=251.25&c=OAA.&dur=&crrelr=&ipl=top&vc=0&said=e7b34fa3-8654-424e-8c49-03e509e53d8c&ict=Unknown\\\" width=\\\"1\\\" height=\\\"1\\\" style=\\\"display: none;\\\"/>Default Test Ad Tag',\n 'cid': 'campaignId132',\n 'crid': 'creativeId222',\n 'adomain': [\n 'http://foo2'\n ],\n 'dealid': null,\n 'w': 728,\n 'h': 90,\n 'cat': [],\n 'ext': {\n 'mediatype': 1\n }\n }\n ],\n 'seat': 'supplyVendorBuyerId132'\n }\n ],\n 'cur': 'USD'\n }\n };\n\n const expectedBids = [\n {\n 'requestId': 'small',\n 'cpm': 4.25,\n 'width': 300,\n 'height': 600,\n 'creativeId': 'creativeId999',\n 'currency': 'USD',\n 'dealId': null,\n 'netRevenue': true,\n 'ttl': 360,\n 'ad': '<img src=\\\"https://test.adsrvr.org/feedback/prebid?iid=a6702d4e-8d0f-4c48-b251-ce7db4150b46&crid=creativeId999&wp=4.25&aid=small&wpc=USD&sfe=f8d2db2&puid=&tdid=825c1228-ca8c-4657-b40f-2df500621527&pid=&ag=adgroupid&sig=dFthumiovXraET6E7SiXy41xVCF0HgbuBSVkvazJp-w.&cf=&fq=0&td_s=www.test.com&rcats=&mcat=&mste=&mfld=0&mssi=&mfsi=&uhow=&agsa=&rgco=&rgre=&rgme=&rgci=&rgz=&svbttd=1&dt=Other&osf=&os=&br=&rlangs=en&mlang=&svpid=13144370&did=&rcxt=Other&lat=&lon=&tmpc=&daid=&vp=0&osi=&osv=&bp=250.25&c=OAA.&dur=&crrelr=&ipl=bottom&vc=0&said=e7b34fa3-8654-424e-8c49-03e509e53d8c&ict=Unknown\\\" width=\\\"1\\\" height=\\\"1\\\" style=\\\"display: none;\\\"/>Default Test Ad Tag',\n 'mediaType': 'banner',\n 'meta': {\n 'advertiserDomains': ['http://foo']\n }\n },\n {\n 'requestId': 'large',\n 'cpm': 5.25,\n 'width': 728,\n 'height': 90,\n 'creativeId': 'creativeId222',\n 'currency': 'USD',\n 'dealId': null,\n 'netRevenue': true,\n 'ttl': 360,\n 'ad': '<img src=\\\"https://test.adsrvr.org/feedback/prebid?iid=02348bcc-773a-4e98-8550-d27a870262e4&crid=creativeId222&wp=5.25&aid=large&wpc=USD&sfe=f8d2db2&puid=&tdid=825c1228-ca8c-4657-b40f-2df500621527&pid=&ag=adgroupid&sig=iK1Drckqd-4kokX0eXwWQn5rh0EynlQim0H22GyT3pg.&cf=&fq=0&td_s=www.test.com&rcats=&mcat=&mste=&mfld=0&mssi=&mfsi=&uhow=&agsa=&rgco=&rgre=&rgme=&rgci=&rgz=&svbttd=1&dt=Other&osf=&os=&br=&rlangs=en&mlang=&svpid=13144370&did=&rcxt=Other&lat=&lon=&tmpc=&daid=&vp=0&osi=&osv=&bp=251.25&c=OAA.&dur=&crrelr=&ipl=top&vc=0&said=e7b34fa3-8654-424e-8c49-03e509e53d8c&ict=Unknown\\\" width=\\\"1\\\" height=\\\"1\\\" style=\\\"display: none;\\\"/>Default Test Ad Tag',\n 'mediaType': 'banner',\n 'meta': {\n 'advertiserDomains': ['http://foo2']\n }\n }\n ];\n\n const serverRequest = {\n 'method': 'POST',\n 'url': 'https://direct.adsrvr.org/bid/bidder/supplier',\n 'data': {\n 'id': 'c47237df-c108-419f-9c2b-da513dc3c133',\n 'imp': [\n {\n 'id': 'small',\n 'tagid': 'test1',\n 'banner': {\n 'w': 300,\n 'h': 600,\n 'format': [\n {\n 'w': 300,\n 'h': 600\n }\n ]\n }\n },\n {\n 'id': 'large',\n 'tagid': 'test2',\n 'banner': {\n 'w': 728,\n 'h': 90,\n 'format': [\n {\n 'w': 728,\n 'h': 90\n }\n ]\n }\n }\n ],\n 'site': {\n 'page': 'http://www.test.com',\n 'publisher': {\n 'id': '111'\n }\n },\n 'device': {\n 'ua': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36',\n 'dnt': 0,\n 'language': 'en-US',\n 'connectiontype': 0\n },\n 'user': {},\n 'at': 1,\n 'cur': [\n 'USD'\n ],\n 'regs': {},\n 'ext': {\n 'ttdprebid': {\n 'ver': 'TTD-PREBID-2019.11.12',\n 'pbjs': '2.31.0'\n }\n }\n },\n 'options': {\n 'withCredentials': true\n }\n };\n\n it('should get the correct bid response', function () {\n const result = spec.interpretResponse(incoming, serverRequest);\n expect(result.length).to.equal(2);\n expect(result).to.deep.equal(expectedBids);\n });\n });\n\n describe('interpretResponse-simple-video', function () {\n if (!FEATURES.VIDEO) {\n return;\n }\n\n const incoming = {\n 'body': {\n 'cur': 'USD',\n 'seatbid': [\n {\n 'bid': [\n {\n 'crid': 'mokivv6m',\n 'ext': {\n 'advid': '7ieo6xk',\n 'agid': '7q9n3s2',\n 'deal': {\n 'dealid': '7013542'\n },\n 'imptrackers': [],\n 'viewabilityvendors': [],\n 'mediatype': 2\n },\n 'h': 480,\n 'impid': '2eabb87dfbcae4',\n 'nurl': 'https://insight.adsrvr.org/enduser/vast?iid=00000000-0000-0000-0000-000000000000&crid=v3pek2eh&wp=${AUCTION_PRICE}&aid=&wpc=&sfe=0&puid=&tdid=00000000-0000-0000-0000-000000000000&pid=&ag=&adv=&sig=AAAAAAAAAAAAAA.&cf=&fq=0&td_s=&rcats=&mcat=&mste=&mfld=4&mssi=&mfsi=&uhow=&agsa=&rgco=&rgre=&rgme=&rgci=&rgz=&svbttd=0&dt=&osf=&os=&br=&rlangs=en&mlang=en&svpid=&did=&rcxt=&lat=&lon=&tmpc=&daid=&vp=0&osi=&osv=&dc=0&vcc=QAFIAVABiAECwAEDyAED0AED6AEG8AEBgAIDigIMCAIIBQgDCAYICwgMmgIECAEIAqACA6gCAsACAA..&sv=noop&pidi=&advi=&cmpi=&agi=&cridi=&svi=&cmp=&skip=1&c=&dur=&crrelr=',\n 'price': 13.6,\n 'ttl': 500,\n 'w': 600\n }\n ],\n 'seat': 'supplyVendorBuyerId132'\n }\n ]\n },\n 'headers': {}\n };\n\n const serverRequest = {\n 'method': 'POST',\n 'url': 'https://direct.bid.adsrvr.org/bid/bidder/supplier',\n 'data': {\n 'id': 'e94ec12d-ae1d-4ed7-abd1-eb3198ce3b63',\n 'imp': [\n {\n 'id': '2eabb87dfbcae4',\n 'tagid': 'video',\n 'video': {\n 'api': [\n 1,\n 3\n ],\n 'mimes': [\n 'video/mp4'\n ],\n 'minduration': 5,\n 'maxduration': 30,\n 'w': 640,\n 'h': 480,\n 'protocols': [\n 2,\n 3,\n 5,\n 6\n ]\n }\n }\n ],\n 'site': {\n 'page': 'http://www.test.com',\n 'publisher': {\n 'id': '111'\n }\n },\n 'device': {\n 'ua': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36',\n 'dnt': 0,\n 'language': 'en-US',\n 'connectiontype': 0\n },\n 'user': {},\n 'at': 1,\n 'cur': [\n 'USD'\n ],\n 'regs': {},\n 'ext': {\n 'ttdprebid': {\n 'ver': 'TTD-PREBID-2019.11.12',\n 'pbjs': '3.10.0'\n }\n }\n },\n 'options': {\n 'withCredentials': true\n }\n };\n\n const expectedBid = {\n 'requestId': '2eabb87dfbcae4',\n 'cpm': 13.6,\n 'creativeId': 'mokivv6m',\n 'dealId': null,\n 'currency': 'USD',\n 'netRevenue': true,\n 'ttl': 500,\n 'width': 640,\n 'height': 480,\n 'mediaType': 'video',\n 'vastUrl': 'https://insight.adsrvr.org/enduser/vast?iid=00000000-0000-0000-0000-000000000000&crid=v3pek2eh&wp=13.6&aid=&wpc=&sfe=0&puid=&tdid=00000000-0000-0000-0000-000000000000&pid=&ag=&adv=&sig=AAAAAAAAAAAAAA.&cf=&fq=0&td_s=&rcats=&mcat=&mste=&mfld=4&mssi=&mfsi=&uhow=&agsa=&rgco=&rgre=&rgme=&rgci=&rgz=&svbttd=0&dt=&osf=&os=&br=&rlangs=en&mlang=en&svpid=&did=&rcxt=&lat=&lon=&tmpc=&daid=&vp=0&osi=&osv=&dc=0&vcc=QAFIAVABiAECwAEDyAED0AED6AEG8AEBgAIDigIMCAIIBQgDCAYICwgMmgIECAEIAqACA6gCAsACAA..&sv=noop&pidi=&advi=&cmpi=&agi=&cridi=&svi=&cmp=&skip=1&c=&dur=&crrelr=',\n 'meta': {}\n };\n\n it('should get the correct bid response if nurl is returned', function () {\n const result = spec.interpretResponse(incoming, serverRequest);\n expect(result.length).to.equal(1);\n expect(result[0]).to.deep.equal(expectedBid);\n });\n\n it('should get the correct bid response if adm is returned', function () {\n const vastXml = \"<VAST version=\\\"2.0\\\"><Ad id=\\\"preroll-1\\\"><InLine><AdSystem>2.0</AdSystem><AdTitle>5748406</AdTitle><Impression id=\\\"blah\\\"><![CDATA[http://b.scorecardresearch.com/b?C1=1&C2=6000003&C3=0000000200500000197000000&C4=us&C7=http://www.scanscout.com&C8=scanscout.com&C9=http://www.scanscout.com&C10=xn&rn=-103217130]]></Impression><Creatives><Creative><Linear><Duration>00:00:30</Duration><TrackingEvents> </TrackingEvents><VideoClicks><ClickThrough id=\\\"scanscout\\\"><![CDATA[ http://www.target.com ]]></ClickThrough></VideoClicks><MediaFiles><MediaFile height=\\\"396\\\" width=\\\"600\\\" bitrate=\\\"496\\\" type=\\\"video/x-flv\\\" delivery=\\\"progressive\\\"><![CDATA[http://media.scanscout.com/ads/partner1_a1d1fbbc-c4d4-419f-b6c8-e9db63fd4491.flv]]></MediaFile></MediaFiles></Linear></Creative><Creative><CompanionAds><Companion height=\\\"250\\\" width=\\\"300\\\" id=\\\"555750\\\"><HTMLResource><![CDATA[<A onClick=\\\"var i= new Image(1,1); i.src='http://app.scanscout.com/ssframework/log/log.png?a=logitemaction&RI=555750&CbC=1&CbF=true&EC=0&RC=0&SmC=2&CbM=1.0E-5&VI=736e6b13bad531dc476bc3612749bc35&admode=preroll&PRI=-4827170214961170629&RprC=0&ADsn=17&VcaI=192,197&RrC=1&VgI=736e6b13bad531dc476bc3612749bc35&AVI=142&Ust=ma&Uctry=us&CI=1223187&AC=4&PI=567&Udma=506&ADI=5748406&VclF=true';\\\" HREF=\\\"http://target.com\\\" target=\\\"_blank\\\"> <IMG SRC=\\\"http://media.scanscout.com/ads/target300x250Companion.jpg\\\" BORDER=0 WIDTH=300 HEIGHT=250 ALT=\\\"Click Here\\\"> </A> <img src=\\\"http://app.scanscout.com/ssframework/log/log.png?a=logitemaction&RI=555750&CbC=1&CbF=true&EC=1&RC=0&SmC=2&CbM=1.0E-5&VI=736e6b13bad531dc476bc3612749bc35&admode=preroll&PRI=-4827170214961170629&RprC=0&ADsn=17&VcaI=192,197&RrC=1&VgI=736e6b13bad531dc476bc3612749bc35&AVI=142&Ust=ma&Uctry=us&CI=1223187&AC=4&PI=567&Udma=506&ADI=5748406&VclF=true\\\" height=\\\"1\\\" width=\\\"1\\\">]]></HTMLResource></Companion></CompanionAds></Creative></Creatives></InLine></Ad></VAST>\";\n const admIncoming = deepClone(incoming);\n delete admIncoming.body.seatbid[0].bid[0].nurl;\n admIncoming.body.seatbid[0].bid[0].adm = vastXml;\n\n const vastXmlExpectedBid = deepClone(expectedBid);\n delete vastXmlExpectedBid.vastUrl;\n vastXmlExpectedBid.vastXml = vastXml;\n\n const result = spec.interpretResponse(admIncoming, serverRequest);\n expect(result.length).to.equal(1);\n expect(result[0]).to.deep.equal(vastXmlExpectedBid);\n });\n });\n\n describe('interpretResponse-display-and-video', function () {\n if (!FEATURES.VIDEO) {\n return;\n }\n\n const incoming = {\n 'body': {\n 'id': 'e7b34fa3-8654-424e-8c49-03e509e53d8c',\n 'seatbid': [\n {\n 'bid': [\n {\n 'id': 'small',\n 'impid': 'small',\n 'price': 4.25,\n 'adm': '<img src=\\\"https://test.adsrvr.org/feedback/prebid?iid=a6702d4e-8d0f-4c48-b251-ce7db4150b46&crid=creativeId999&wp=${AUCTION_PRICE}&aid=small&wpc=USD&sfe=f8d2db2&puid=&tdid=825c1228-ca8c-4657-b40f-2df500621527&pid=&ag=adgroupid&sig=dFthumiovXraET6E7SiXy41xVCF0HgbuBSVkvazJp-w.&cf=&fq=0&td_s=www.test.com&rcats=&mcat=&mste=&mfld=0&mssi=&mfsi=&uhow=&agsa=&rgco=&rgre=&rgme=&rgci=&rgz=&svbttd=1&dt=Other&osf=&os=&br=&rlangs=en&mlang=&svpid=13144370&did=&rcxt=Other&lat=&lon=&tmpc=&daid=&vp=0&osi=&osv=&bp=250.25&c=OAA.&dur=&crrelr=&ipl=bottom&vc=0&said=e7b34fa3-8654-424e-8c49-03e509e53d8c&ict=Unknown\\\" width=\\\"1\\\" height=\\\"1\\\" style=\\\"display: none;\\\"/>Default Test Ad Tag',\n 'cid': 'campaignId132',\n 'crid': 'creativeId999',\n 'adomain': [\n 'http://foo'\n ],\n 'dealid': null,\n 'w': 300,\n 'h': 600,\n 'cat': [],\n 'ext': {\n 'mediatype': 1\n }\n },\n {\n 'crid': 'mokivv6m',\n 'ext': {\n 'advid': '7ieo6xk',\n 'agid': '7q9n3s2',\n 'deal': {\n 'dealid': '7013542'\n },\n 'imptrackers': [],\n 'viewabilityvendors': [],\n 'mediatype': 2\n },\n 'h': 480,\n 'impid': '2eabb87dfbcae4',\n 'nurl': 'https://insight.adsrvr.org/enduser/vast?iid=00000000-0000-0000-0000-000000000000&crid=v3pek2eh&wp=${AUCTION_PRICE}&aid=&wpc=&sfe=0&puid=&tdid=00000000-0000-0000-0000-000000000000&pid=&ag=&adv=&sig=AAAAAAAAAAAAAA.&cf=&fq=0&td_s=&rcats=&mcat=&mste=&mfld=4&mssi=&mfsi=&uhow=&agsa=&rgco=&rgre=&rgme=&rgci=&rgz=&svbttd=0&dt=&osf=&os=&br=&rlangs=en&mlang=en&svpid=&did=&rcxt=&lat=&lon=&tmpc=&daid=&vp=0&osi=&osv=&dc=0&vcc=QAFIAVABiAECwAEDyAED0AED6AEG8AEBgAIDigIMCAIIBQgDCAYICwgMmgIECAEIAqACA6gCAsACAA..&sv=noop&pidi=&advi=&cmpi=&agi=&cridi=&svi=&cmp=&skip=1&c=&dur=&crrelr=',\n 'price': 13.6,\n 'ttl': 500,\n 'w': 600\n }\n ],\n 'seat': 'supplyVendorBuyerId132'\n }\n ],\n 'cur': 'USD'\n }\n };\n\n const expectedBids = [\n {\n 'requestId': 'small',\n 'cpm': 4.25,\n 'width': 300,\n 'height': 600,\n 'creativeId': 'creativeId999',\n 'currency': 'USD',\n 'dealId': null,\n 'netRevenue': true,\n 'ttl': 360,\n 'ad': '<img src=\\\"https://test.adsrvr.org/feedback/prebid?iid=a6702d4e-8d0f-4c48-b251-ce7db4150b46&crid=creativeId999&wp=4.25&aid=small&wpc=USD&sfe=f8d2db2&puid=&tdid=825c1228-ca8c-4657-b40f-2df500621527&pid=&ag=adgroupid&sig=dFthumiovXraET6E7SiXy41xVCF0HgbuBSVkvazJp-w.&cf=&fq=0&td_s=www.test.com&rcats=&mcat=&mste=&mfld=0&mssi=&mfsi=&uhow=&agsa=&rgco=&rgre=&rgme=&rgci=&rgz=&svbttd=1&dt=Other&osf=&os=&br=&rlangs=en&mlang=&svpid=13144370&did=&rcxt=Other&lat=&lon=&tmpc=&daid=&vp=0&osi=&osv=&bp=250.25&c=OAA.&dur=&crrelr=&ipl=bottom&vc=0&said=e7b34fa3-8654-424e-8c49-03e509e53d8c&ict=Unknown\\\" width=\\\"1\\\" height=\\\"1\\\" style=\\\"display: none;\\\"/>Default Test Ad Tag',\n 'mediaType': 'banner',\n 'meta': {\n 'advertiserDomains': ['http://foo']\n }\n },\n {\n 'requestId': '2eabb87dfbcae4',\n 'cpm': 13.6,\n 'creativeId': 'mokivv6m',\n 'dealId': null,\n 'currency': 'USD',\n 'netRevenue': true,\n 'ttl': 500,\n 'width': 640,\n 'height': 480,\n 'mediaType': 'video',\n 'vastUrl': 'https://insight.adsrvr.org/enduser/vast?iid=00000000-0000-0000-0000-000000000000&crid=v3pek2eh&wp=13.6&aid=&wpc=&sfe=0&puid=&tdid=00000000-0000-0000-0000-000000000000&pid=&ag=&adv=&sig=AAAAAAAAAAAAAA.&cf=&fq=0&td_s=&rcats=&mcat=&mste=&mfld=4&mssi=&mfsi=&uhow=&agsa=&rgco=&rgre=&rgme=&rgci=&rgz=&svbttd=0&dt=&osf=&os=&br=&rlangs=en&mlang=en&svpid=&did=&rcxt=&lat=&lon=&tmpc=&daid=&vp=0&osi=&osv=&dc=0&vcc=QAFIAVABiAECwAEDyAED0AED6AEG8AEBgAIDigIMCAIIBQgDCAYICwgMmgIECAEIAqACA6gCAsACAA..&sv=noop&pidi=&advi=&cmpi=&agi=&cridi=&svi=&cmp=&skip=1&c=&dur=&crrelr=',\n 'meta': {}\n }\n ];\n\n const serverRequest = {\n 'method': 'POST',\n 'url': 'https://direct.adsrvr.org/bid/bidder/supplier',\n 'data': {\n 'id': 'c47237df-c108-419f-9c2b-da513dc3c133',\n 'imp': [\n {\n 'id': 'small',\n 'tagid': 'test1',\n 'banner': {\n 'w': 300,\n 'h': 600,\n 'format': [\n {\n 'w': 300,\n 'h': 600\n }\n ]\n },\n },\n {\n 'id': '2eabb87dfbcae4',\n 'tagid': 'video',\n 'video': {\n 'api': [\n 1,\n 3\n ],\n 'mimes': [\n 'video/mp4'\n ],\n 'minduration': 5,\n 'maxduration': 30,\n 'w': 640,\n 'h': 480,\n 'protocols': [\n 2,\n 3,\n 5,\n 6\n ]\n }\n }\n ],\n 'site': {\n 'page': 'http://www.test.com',\n 'publisher': {\n 'id': '111'\n }\n },\n 'device': {\n 'ua': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36',\n 'dnt': 0,\n 'language': 'en-US',\n 'connectiontype': 0\n },\n 'user': {},\n 'at': 1,\n 'cur': [\n 'USD'\n ],\n 'regs': {},\n 'ext': {\n 'ttdprebid': {\n 'ver': 'TTD-PREBID-2019.11.12',\n 'pbjs': '2.31.0'\n }\n }\n },\n 'options': {\n 'withCredentials': true\n }\n };\n\n it('should get the correct bid response', function () {\n const result = spec.interpretResponse(incoming, serverRequest);\n expect(result.length).to.equal(2);\n expect(result).to.deep.equal(expectedBids);\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}