prebid.js 9.52.0 → 9.53.2

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 (235) hide show
  1. package/.circleci/config.yml +27 -4
  2. package/creative/crossDomain.js +4 -2
  3. package/dist/33acrossAnalyticsAdapter.js +1 -1
  4. package/dist/33acrossBidAdapter.js +1 -1
  5. package/dist/33acrossIdSystem.js +1 -1
  6. package/dist/BTBidAdapter.js +1 -1
  7. package/dist/adagioAnalyticsAdapter.js +1 -1
  8. package/dist/adagioBidAdapter.js +1 -1
  9. package/dist/adagioUtils.js +1 -1
  10. package/dist/addefendBidAdapter.js +1 -1
  11. package/dist/adgenerationBidAdapter.js +1 -1
  12. package/dist/adlooxRtdProvider.js +1 -1
  13. package/dist/adqueryBidAdapter.js +1 -1
  14. package/dist/adrelevantisBidAdapter.js +1 -1
  15. package/dist/adstirBidAdapter.js +1 -1
  16. package/dist/adtrgtmeBidAdapter.js +1 -1
  17. package/dist/adxcgAnalyticsAdapter.js +1 -1
  18. package/dist/adxcgBidAdapter.js +1 -1
  19. package/dist/adyoulikeBidAdapter.js +1 -1
  20. package/dist/agmaAnalyticsAdapter.js +1 -1
  21. package/dist/ajaBidAdapter.js +1 -1
  22. package/dist/amxBidAdapter.js +1 -1
  23. package/dist/amxIdSystem.js +1 -1
  24. package/dist/aniviewBidAdapter.js +1 -1
  25. package/dist/appierAnalyticsAdapter.js +1 -1
  26. package/dist/appnexusBidAdapter.js +1 -1
  27. package/dist/asoBidAdapter.js +1 -1
  28. package/dist/axonixBidAdapter.js +1 -1
  29. package/dist/beopBidAdapter.js +1 -1
  30. package/dist/bidglassBidAdapter.js +1 -1
  31. package/dist/big-richmediaBidAdapter.js +1 -1
  32. package/dist/bitmediaBidAdapter.js +1 -1
  33. package/dist/bridBidAdapter.js +1 -1
  34. package/dist/bridgeuppBidAdapter.js +1 -1
  35. package/dist/bridgewellBidAdapter.js +1 -1
  36. package/dist/brightMountainMediaBidAdapter.js +1 -1
  37. package/dist/carodaBidAdapter.js +1 -1
  38. package/dist/chromeAiRtdProvider.js +1 -0
  39. package/dist/chtnwBidAdapter.js +1 -1
  40. package/dist/chunk-core.js +1 -1
  41. package/dist/concertBidAdapter.js +1 -1
  42. package/dist/connectadBidAdapter.js +1 -1
  43. package/dist/consumableBidAdapter.js +1 -1
  44. package/dist/contxtfulBidAdapter.js +1 -1
  45. package/dist/conversantAnalyticsAdapter.js +1 -1
  46. package/dist/conversantBidAdapter.js +1 -1
  47. package/dist/craftBidAdapter.js +1 -1
  48. package/dist/criteoBidAdapter.js +1 -1
  49. package/dist/cwireBidAdapter.js +1 -1
  50. package/dist/dailymotionBidAdapter.js +1 -1
  51. package/dist/debugging-standalone.js +1 -1
  52. package/dist/dependencies.json +10 -2
  53. package/dist/dspxBidAdapter.js +1 -1
  54. package/dist/dxkultureBidAdapter.js +1 -1
  55. package/dist/eplanningBidAdapter.js +1 -1
  56. package/dist/equativBidAdapter.js +1 -1
  57. package/dist/eskimiBidAdapter.js +1 -1
  58. package/dist/euidIdSystem.js +1 -1
  59. package/dist/exadsBidAdapter.js +1 -1
  60. package/dist/excoBidAdapter.js +1 -1
  61. package/dist/fanAdapter.js +1 -1
  62. package/dist/feedadBidAdapter.js +1 -1
  63. package/dist/finativeBidAdapter.js +1 -1
  64. package/dist/freewheel-sspBidAdapter.js +1 -1
  65. package/dist/gmosspBidAdapter.js +1 -1
  66. package/dist/greenbidsAnalyticsAdapter.js +1 -1
  67. package/dist/greenbidsBidAdapter.js +1 -1
  68. package/dist/greenbidsRtdProvider.js +1 -1
  69. package/dist/gridBidAdapter.js +1 -1
  70. package/dist/gumgumBidAdapter.js +1 -1
  71. package/dist/h12mediaBidAdapter.js +1 -1
  72. package/dist/hypelabBidAdapter.js +1 -1
  73. package/dist/id5AnalyticsAdapter.js +1 -1
  74. package/dist/id5IdSystem.js +1 -1
  75. package/dist/imdsBidAdapter.js +1 -1
  76. package/dist/improvedigitalBidAdapter.js +1 -1
  77. package/dist/inmobiBidAdapter.js +1 -1
  78. package/dist/insticatorBidAdapter.js +1 -1
  79. package/dist/intentIqAnalyticsAdapter.js +1 -1
  80. package/dist/ixBidAdapter.js +1 -1
  81. package/dist/jixieBidAdapter.js +1 -1
  82. package/dist/jixieIdSystem.js +1 -0
  83. package/dist/justpremiumBidAdapter.js +1 -1
  84. package/dist/kargoBidAdapter.js +1 -1
  85. package/dist/kimberliteBidAdapter.js +1 -1
  86. package/dist/konduitAnalyticsAdapter.js +1 -1
  87. package/dist/kueezBidAdapter.js +1 -1
  88. package/dist/lassoBidAdapter.js +1 -1
  89. package/dist/lifestreetBidAdapter.js +1 -1
  90. package/dist/liveIntentId.js +1 -1
  91. package/dist/logicadBidAdapter.js +1 -1
  92. package/dist/loglyliftBidAdapter.js +1 -1
  93. package/dist/luceadBidAdapter.js +1 -1
  94. package/dist/mabidderBidAdapter.js +1 -1
  95. package/dist/madsenseBidAdapter.js +1 -1
  96. package/dist/magniteAnalyticsAdapter.js +1 -1
  97. package/dist/malltvAnalyticsAdapter.js +1 -1
  98. package/dist/marsmediaBidAdapter.js +1 -1
  99. package/dist/mediafuseBidAdapter.js +1 -1
  100. package/dist/medianetBidAdapter.js +1 -1
  101. package/dist/medianetUtils.js +1 -1
  102. package/dist/mediasquareBidAdapter.js +1 -1
  103. package/dist/mgidBidAdapter.js +1 -1
  104. package/dist/missenaBidAdapter.js +1 -1
  105. package/dist/mobilefuseBidAdapter.js +1 -1
  106. package/dist/nextMillenniumBidAdapter.js +1 -1
  107. package/dist/nexx360Utils.js +1 -1
  108. package/dist/nobidAnalyticsAdapter.js +1 -1
  109. package/dist/nobidBidAdapter.js +1 -1
  110. package/dist/nodalsAiRtdProvider.js +1 -1
  111. package/dist/not-for-prod/prebid.js +175 -173
  112. package/dist/oguryBidAdapter.js +1 -1
  113. package/dist/onetagBidAdapter.js +1 -1
  114. package/dist/ooloAnalyticsAdapter.js +1 -1
  115. package/dist/openxBidAdapter.js +1 -1
  116. package/dist/optidigitalBidAdapter.js +1 -1
  117. package/dist/orbidderBidAdapter.js +1 -1
  118. package/dist/ortb2.5Translator.js +1 -1
  119. package/dist/outbrainBidAdapter.js +1 -1
  120. package/dist/ozoneBidAdapter.js +1 -1
  121. package/dist/pixfutureBidAdapter.js +1 -1
  122. package/dist/prebidServerBidAdapter.js +1 -1
  123. package/dist/publinkIdSystem.js +1 -1
  124. package/dist/pubmaticAnalyticsAdapter.js +1 -1
  125. package/dist/pubmaticBidAdapter.js +1 -1
  126. package/dist/pubmaticRtdProvider.js +1 -1
  127. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  128. package/dist/pubxaiAnalyticsAdapter.js +1 -1
  129. package/dist/pxyzBidAdapter.js +1 -1
  130. package/dist/quantcastBidAdapter.js +1 -1
  131. package/dist/readpeakBidAdapter.js +1 -1
  132. package/dist/relaidoBidAdapter.js +1 -1
  133. package/dist/relevatehealthBidAdapter.js +1 -1
  134. package/dist/retailspotBidAdapter.js +1 -1
  135. package/dist/rhythmoneBidAdapter.js +1 -1
  136. package/dist/riseUtils.js +1 -1
  137. package/dist/rubiconBidAdapter.js +1 -1
  138. package/dist/seedingAllianceBidAdapter.js +1 -1
  139. package/dist/seedtagBidAdapter.js +1 -1
  140. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  141. package/dist/sharethroughBidAdapter.js +1 -1
  142. package/dist/showheroes-bsBidAdapter.js +1 -1
  143. package/dist/smaatoBidAdapter.js +1 -1
  144. package/dist/smartadserverBidAdapter.js +1 -1
  145. package/dist/smartxBidAdapter.js +1 -1
  146. package/dist/smilewantedBidAdapter.js +1 -1
  147. package/dist/snigelBidAdapter.js +1 -1
  148. package/dist/sonobiBidAdapter.js +1 -1
  149. package/dist/sovrnBidAdapter.js +1 -1
  150. package/dist/sparteoBidAdapter.js +1 -1
  151. package/dist/sspBCBidAdapter.js +1 -1
  152. package/dist/stvBidAdapter.js +1 -1
  153. package/dist/sublimeBidAdapter.js +1 -1
  154. package/dist/taboolaBidAdapter.js +1 -1
  155. package/dist/tappxBidAdapter.js +1 -1
  156. package/dist/targetVideoBidAdapter.js +1 -1
  157. package/dist/teadsBidAdapter.js +1 -1
  158. package/dist/terceptAnalyticsAdapter.js +1 -1
  159. package/dist/themoneytizerBidAdapter.js +1 -1
  160. package/dist/trionBidAdapter.js +1 -1
  161. package/dist/tripleliftBidAdapter.js +1 -1
  162. package/dist/ttdBidAdapter.js +1 -1
  163. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  164. package/dist/uid2IdSystem.js +1 -1
  165. package/dist/underdogmediaBidAdapter.js +1 -1
  166. package/dist/undertoneBidAdapter.js +1 -1
  167. package/dist/unrulyBidAdapter.js +1 -1
  168. package/dist/userId.js +1 -1
  169. package/dist/vidazooUtils.js +1 -1
  170. package/dist/videobyteBidAdapter.js +1 -1
  171. package/dist/visxBidAdapter.js +1 -1
  172. package/dist/vuukleBidAdapter.js +1 -1
  173. package/dist/widespaceBidAdapter.js +1 -1
  174. package/dist/winrBidAdapter.js +1 -1
  175. package/dist/yahooAdsBidAdapter.js +1 -1
  176. package/dist/yandexBidAdapter.js +1 -1
  177. package/dist/yieldmoBidAdapter.js +1 -1
  178. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  179. package/gulpfile.js +12 -6
  180. package/integrationExamples/chromeai/japanese.html +224 -0
  181. package/integrationExamples/gpt/x-domain/creative.html +1 -1
  182. package/karma.conf.maker.js +7 -7
  183. package/karmaRunner.js +3 -3
  184. package/libraries/liveIntentId/shared.js +16 -0
  185. package/modules/.submodules.json +1 -0
  186. package/modules/aniviewBidAdapter.js +32 -23
  187. package/modules/chromeAiRtdProvider.js +421 -0
  188. package/modules/chromeAiRtdProvider.md +230 -0
  189. package/modules/fanAdapter.js +318 -124
  190. package/modules/ixBidAdapter.js +5 -0
  191. package/modules/jixieIdSystem.js +186 -0
  192. package/modules/ozoneBidAdapter.js +214 -336
  193. package/modules/prebidServerBidAdapter/index.js +59 -35
  194. package/modules/pubmaticRtdProvider.js +418 -4
  195. package/modules/pubmaticRtdProvider.md +12 -2
  196. package/modules/relevatehealthBidAdapter.js +20 -130
  197. package/modules/relevatehealthBidAdapter.md +1 -2
  198. package/modules/sovrnBidAdapter.js +4 -4
  199. package/modules/teadsBidAdapter.js +5 -0
  200. package/modules/ttdBidAdapter.js +5 -4
  201. package/modules/userId/index.js +30 -31
  202. package/package.json +5 -4
  203. package/src/adapterManager.js +3 -0
  204. package/test/spec/libraries/cmUtils_spec.js +17 -12
  205. package/test/spec/modules/aniviewBidAdapter_spec.js +15 -2
  206. package/test/spec/modules/chromeAiRtdProvider_spec.js +393 -0
  207. package/test/spec/modules/dgkeywordRtdProvider_spec.js +5 -2
  208. package/test/spec/modules/euidIdSystem_spec.js +9 -3
  209. package/test/spec/modules/fanAdapter_spec.js +264 -268
  210. package/test/spec/modules/id5IdSystem_spec.js +57 -101
  211. package/test/spec/modules/identityLinkIdSystem_spec.js +1 -0
  212. package/test/spec/modules/idxIdSystem_spec.js +2 -75
  213. package/test/spec/modules/instreamTracking_spec.js +15 -18
  214. package/test/spec/modules/ixBidAdapter_spec.js +26 -0
  215. package/test/spec/modules/jixieIdSystem_spec.js +303 -0
  216. package/test/spec/modules/liveIntentExternalIdSystem_spec.js +5 -0
  217. package/test/spec/modules/liveIntentIdMinimalSystem_spec.js +5 -0
  218. package/test/spec/modules/liveIntentIdSystem_spec.js +38 -0
  219. package/test/spec/modules/lmpIdSystem_spec.js +2 -81
  220. package/test/spec/modules/ozoneBidAdapter_spec.js +511 -658
  221. package/test/spec/modules/prebidServerBidAdapter_spec.js +72 -2
  222. package/test/spec/modules/pubmaticBidAdapter_spec.js +411 -126
  223. package/test/spec/modules/pubmaticRtdProvider_spec.js +946 -2
  224. package/test/spec/modules/raynRtdProvider_spec.js +18 -22
  225. package/test/spec/modules/relevatehealthBidAdapter_spec.js +9 -39
  226. package/test/spec/modules/sharedIdSystem_spec.js +3 -3
  227. package/test/spec/modules/sovrnBidAdapter_spec.js +71 -3
  228. package/test/spec/modules/teadsBidAdapter_spec.js +9 -4
  229. package/test/spec/modules/ttdBidAdapter_spec.js +24 -2
  230. package/test/spec/modules/uid2IdSystem_helpers.js +5 -2
  231. package/test/spec/modules/userId_spec.js +142 -387
  232. package/test/spec/modules/yieldoneAnalyticsAdapter_spec.js +13 -12
  233. package/test/spec/modules/zeotapIdPlusIdSystem_spec.js +3 -69
  234. package/wdio.shared.conf.js +2 -2
  235. package/CLAUDE.md +0 -1
@@ -0,0 +1 @@
1
+ (self.pbjsChunk=self.pbjsChunk||[]).push([[63484],{54500:(e,a,r)=>{var t=r(7873),o=r(16833),n=r(91069),l=r(70433),g=r(63172),s=r(12938);const i=Object.freeze({SUBMODULE_NAME:"chromeAi",REAL_TIME_MODULE:"realTimeData",LOG_PRE_FIX:"ChromeAI-Rtd-Provider:",STORAGE_KEY:"chromeAi_detected_data",MIN_TEXT_LENGTH:20,DEFAULT_CONFIG:{languageDetector:{enabled:!0,confidence:.8,ortb2Path:"site.content.language"},summarizer:{enabled:!1,type:"headline",format:"markdown",length:"short",ortb2Path:"site.content.keywords",cacheInLocalStorage:!0}}}),c=(0,s.CK)(i.SUBMODULE_NAME);let u=JSON.parse(JSON.stringify(i.DEFAULT_CONFIG)),d=null;const _=async(e,a)=>{const r=e.name;try{if(!(r in self)||"function"!=typeof self[r])return(0,n.logError)(`${i.LOG_PRE_FIX} ${r} API not available or not a constructor in self.`),null;const t=await e.availability();if("unavailable"===t)return(0,n.logError)(`${i.LOG_PRE_FIX} ${r} is unavailable.`),null;let o;return"available"===t?(o=await e.create(a),(0,n.logMessage)(`${i.LOG_PRE_FIX} ${r} instance created (was available).`)):((0,n.logMessage)(`${i.LOG_PRE_FIX} ${r} model needs download.`),o=await e.create(a),o.addEventListener("downloadprogress",(e=>{const a=e.total>0?Math.round(e.loaded/e.total*100):e.loaded>0?"In progress":"Starting";(0,n.logMessage)(`${i.LOG_PRE_FIX} ${r} model DL: ${a}${e.total>0?"%":""}`)})),await o.ready,(0,n.logMessage)(`${i.LOG_PRE_FIX} ${r} model ready after download.`)),o}catch(e){return(0,n.logError)(`${i.LOG_PRE_FIX} Error creating ${r} instance:`,e),null}},m=()=>window.location.href,E=()=>{const e=document.body.textContent;return!e||e.length<i.MIN_TEXT_LENGTH?((0,n.logMessage)(`${i.LOG_PRE_FIX} Not enough text content (length: ${e?.length||0}) for processing.`),null):e},f=e=>{if(!c.hasLocalStorage()||!c.localStorageIsEnabled())return null;const a=e||m(),r=c.getDataFromLocalStorage(i.STORAGE_KEY);if(r)try{const e=JSON.parse(r);return e?.[a]||null}catch(e){(0,n.logError)(`${i.LOG_PRE_FIX} Error parsing Chrome AI data from localStorage:`,e)}return null},L=(e,a)=>{try{if(!c.hasLocalStorage()||!c.localStorageIsEnabled())return(0,n.logMessage)(`${i.LOG_PRE_FIX} localStorage is not available, cannot store Chrome AI data.`),!1;let r={};const t=c.getDataFromLocalStorage(i.STORAGE_KEY);if(t)try{r=JSON.parse(t)}catch(e){(0,n.logError)(`${i.LOG_PRE_FIX} Error parsing existing Chrome AI data from localStorage:`,e)}const o=e||m();return r[o]={...r[o],...a},c.setDataInLocalStorage(i.STORAGE_KEY,JSON.stringify(r)),(0,n.logMessage)(`${i.LOG_PRE_FIX} Chrome AI data stored in localStorage for ${o}:`,a),!0}catch(e){return(0,n.logError)(`${i.LOG_PRE_FIX} Error storing Chrome AI data to localStorage:`,e),!1}},$=e=>{if(e&&u.languageDetector){const a=u.languageDetector.ortb2Path,r=(0,l.A)(e.ortb2Fragments?.global,a);if(r)return(0,n.logMessage)(`${i.LOG_PRE_FIX} Language '${r}' found in auction-specific ortb2Fragments at path '${a}'.`),{language:r,source:"auction_ortb2"}}const a=(e=>{const a=f(e);return a?.language||null})(m());return a?((0,n.logMessage)(`${i.LOG_PRE_FIX} Language '${a.language}' found in localStorage.`),{...a,source:"localStorage"}):null},O=async()=>{const e=$(null);if(e&&"localStorage"===e.source)return(0,n.logMessage)(`${i.LOG_PRE_FIX} Language detection skipped, language '${e.language}' found in localStorage.`),!0;const a=E();if(!a)return!1;const r=await(async e=>{const a=await _(LanguageDetector);if(!a)return null;try{const r=await a.detect(e);if(!r||0===r.length)return(0,n.logMessage)(`${i.LOG_PRE_FIX} No language results from API.`),null;const t=r[0];return(0,n.logMessage)(`${i.LOG_PRE_FIX} Detected lang: ${t.detectedLanguage} (conf: ${t.confidence.toFixed(2)})`),t.confidence<u.languageDetector.confidence?((0,n.logMessage)(`${i.LOG_PRE_FIX} Lang confidence (${t.confidence.toFixed(2)}) < threshold (${u.languageDetector.confidence}).`),null):{language:t.detectedLanguage,confidence:t.confidence}}catch(e){return(0,n.logError)(`${i.LOG_PRE_FIX} Error during LanguageDetector.detect():`,e),null}})(a);return r?(t=r.language,o=r.confidence,l=m(),t?L(l,{language:{language:t,confidence:o}}):((0,n.logMessage)(`${i.LOG_PRE_FIX} No valid language to store`),!1)):((0,n.logMessage)(`${i.LOG_PRE_FIX} Failed to detect language from page content.`),!1);var t,o,l},I=async()=>{const e=(e=>{if(e&&u.summarizer){const a=u.summarizer.ortb2Path,r=(0,l.A)(e.ortb2Fragments?.global,a);if(r&&Array.isArray(r)&&r.length>0)return(0,n.logMessage)(`${i.LOG_PRE_FIX} Keywords found in auction-specific ortb2Fragments at path '${a}'.`,r),{keywords:r,source:"auction_ortb2"}}if(!0===u.summarizer?.cacheInLocalStorage){const e=f(),a=e?.keywords;if(a&&Array.isArray(a)&&a.length>0)return(0,n.logMessage)(`${i.LOG_PRE_FIX} Keywords found in localStorage.`,a),{keywords:a,source:"localStorage"}}return null})(null);if(e&&"localStorage"===e.source)return d=e.keywords,(0,n.logMessage)(`${i.LOG_PRE_FIX} Summarizer skipped, keywords from localStorage.`,d),!0;const a=E();if(!a)return(0,n.logMessage)(`${i.LOG_PRE_FIX} Summarizer: No/short text, cannot generate keywords.`),!1;if(!u.summarizer)return(0,n.logError)(`${i.LOG_PRE_FIX} Summarizer config missing during init.`),!1;const r=await(async(e,a)=>{const r={type:a.type,format:a.format,length:a.length},t=await _(Summarizer,r);if(!t)return null;try{const a=await t.summarize(e,r);return a?((0,n.logMessage)(`${i.LOG_PRE_FIX} Summary generated (type: ${r.type}, len: ${r.length}):`,a.substring(0,100)+"..."),a):((0,n.logMessage)(`${i.LOG_PRE_FIX} No summary result from API.`),null)}catch(e){return(0,n.logError)(`${i.LOG_PRE_FIX} Error during Summarizer.summarize():`,e),null}})(a,u.summarizer);return r?(d=[r],(0,n.logMessage)(`${i.LOG_PRE_FIX} Summary processed and new keywords generated:`,d),!0===u.summarizer.cacheInLocalStorage&&(t=d,o=m(),t&&Array.isArray(t)&&0!==t.length?L(o,{keywords:t}):(0,n.logMessage)(`${i.LOG_PRE_FIX} No valid keywords array to store`)),!0):((0,n.logMessage)(`${i.LOG_PRE_FIX} Failed to generate summary, no new keywords.`),!1);var t,o},F={name:i.SUBMODULE_NAME,init:async e=>{u=(e=>{let a=JSON.parse(JSON.stringify(i.DEFAULT_CONFIG));return e?.params&&(0,n.mergeDeep)(a,e.params),u=a,(0,n.logMessage)(`${i.LOG_PRE_FIX} Module config set:`,u),u})(e),(0,n.logMessage)(`${i.LOG_PRE_FIX} Initializing with config:`,u);const a=[];if(!1!==u.languageDetector?.enabled?((0,n.logMessage)(`${i.LOG_PRE_FIX} Language detection enabled. Initializing...`),a.push(O())):(0,n.logMessage)(`${i.LOG_PRE_FIX} Language detection disabled by config.`),!0===u.summarizer?.enabled?((0,n.logMessage)(`${i.LOG_PRE_FIX} Summarizer enabled. Initializing...`),a.push(I())):(0,n.logMessage)(`${i.LOG_PRE_FIX} Summarizer disabled by config.`),0===a.length)return(0,n.logMessage)(`${i.LOG_PRE_FIX} No features enabled for initialization.`),!0;try{const e=await Promise.all(a),r=!(e.length>0)||e.some((e=>!0===e));return r?(0,n.logMessage)(`${i.LOG_PRE_FIX} Relevant features initialized.`):(0,n.logError)(`${i.LOG_PRE_FIX} All enabled features failed to initialize.`),r}catch(e){return(0,n.logError)(`${i.LOG_PRE_FIX} Error during feature initializations:`,e),!1}},getBidRequestData:(e,a)=>{if((0,n.logMessage)(`${i.LOG_PRE_FIX} reqBidsConfigObj:`,e),e.ortb2Fragments=e.ortb2Fragments||{},e.ortb2Fragments.global=e.ortb2Fragments.global||{},!1!==u.languageDetector?.enabled){const a=$(e);if(a&&"auction_ortb2"!==a.source){const r=u.languageDetector.ortb2Path;(0,n.logMessage)(`${i.LOG_PRE_FIX} Enriching ORTB2 path '${r}' with lang '${a.language}' from ${a.source}.`),(0,g.J)(e.ortb2Fragments.global,r,a.language)}else if("auction_ortb2"===a?.source){const e=u.languageDetector.ortb2Path;(0,n.logMessage)(`${i.LOG_PRE_FIX} Lang already in auction ORTB2 at path '${e}', no enrichment needed.`)}}else(0,n.logMessage)(`${i.LOG_PRE_FIX} Language detection disabled, no lang enrichment.`);if(!0===u.summarizer?.enabled){const a=u.summarizer.ortb2Path,r=(0,l.A)(e.ortb2Fragments.global,a);r&&Array.isArray(r)&&r.length>0?(0,n.logMessage)(`${i.LOG_PRE_FIX} Keywords already present in auction_ortb2 at path '${a}', no enrichment from module.`,r):d&&d.length>0?((0,n.logMessage)(`${i.LOG_PRE_FIX} Enriching ORTB2 path '${a}' with keywords from module (localStorage/detection):`,d),(0,g.J)(e.ortb2Fragments.global,a,d)):(0,n.logMessage)(`${i.LOG_PRE_FIX} Summarizer enabled, but no keywords from auction_ortb2, localStorage, or fresh detection for path '${a}'.`)}else(0,n.logMessage)(`${i.LOG_PRE_FIX} Summarizer disabled, no keyword enrichment.`);(0,n.logMessage)(`${i.LOG_PRE_FIX} Final reqBidsConfigObj for auction:`,e),a()}};(0,o.bz)(i.REAL_TIME_MODULE,F),(0,t.E)("chromeAiRtdProvider")}},e=>{e.O(0,[60802,37769,12139,51085],(()=>{return a=54500,e(e.s=a);var a}));e.O()}]);
@@ -1 +1 @@
1
- (self.pbjsChunk=self.pbjsChunk||[]).push([[46245],{6855:(e,n,t)=>{var i=t(7873),r=t(91069),o=t(43272),s=t(57377),a=t(12449),d=t(12938),u=t(68044),p=t(71371);const l="https://prebid.cht.hinet.net/api/v1",g="chtnw",c="__htid",h=(0,d.vM)({bidderCode:g}),{getConfig:f}=o.$W;const b={code:g,supportedMediaTypes:[p.D4,p.G_,p.s6],isBidRequestValid:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return!(!e||!e.params)},buildRequests:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e=(0,a.Xj)(e);const t=null!=h.getCookie(c)?h.getCookie(c):(0,r.generateUUID)();h.cookiesAreEnabled()&&h.setCookie(c,t);const i=f("device")||{},{innerWidth:o,innerHeight:s}=(0,r.getWinDimensions)();i.w=i.w||o,i.h=i.h||s,i.ua=i.ua||navigator.userAgent,i.dnt=(0,r.getDNT)()?1:0,i.language=navigator&&navigator.language?navigator.language.split("-")[0]:"";const d=[];return(0,r._each)(e,(function(e){d.push({bidId:e.bidId,placement:e.params.placementId,sizes:e.sizes,adSlot:e.adUnitCode})})),{method:"POST",url:l+"/request/prebid.json",data:{bids:d,uuid:t,device:i,version:{prebid:"9.52.0-pre",adapter:"1.0.0"},site:{numIframes:n.refererInfo?.numIframes||0,isAmp:n.refererInfo?.isAmp||!1,pageUrl:n.refererInfo?.page||"",ref:n.refererInfo?.ref||""}},bids:e}},interpretResponse:function(e){const n=[];return(0,r._each)(e.body,(function(e,t){n.push({...e})})),n},getUserSyncs:function(e,n,t,i){const o=[];if(e.pixelEnabled){const e=(0,r.generateUUID)(),n=/(ios|ipod|ipad|iphone|android)/i.test(navigator.userAgent)?"dot":"pixel";o.push({type:"image",url:`https://t.ssp.hinet.net/${n}?bd=${e}&t=chtnw`})}return o},onTimeout:function(e){null!==e&&(0,u.RD)(l+"/trace/timeout/bid",null,JSON.stringify(e),{method:"POST",withCredentials:!1})},onBidWon:function(e){e.nurl&&(0,u.RD)(e.nurl,null)},onSetTargeting:function(e){}};(0,s.a$)(b),(0,i.E)("chtnwBidAdapter")}},e=>{e.O(0,[60802,37769,12139,51085],(()=>{return n=6855,e(e.s=n);var n}));e.O()}]);
1
+ (self.pbjsChunk=self.pbjsChunk||[]).push([[46245],{6855:(e,n,t)=>{var i=t(7873),r=t(91069),o=t(43272),s=t(57377),a=t(12449),d=t(12938),u=t(68044),p=t(71371);const l="https://prebid.cht.hinet.net/api/v1",g="chtnw",c="__htid",h=(0,d.vM)({bidderCode:g}),{getConfig:f}=o.$W;const b={code:g,supportedMediaTypes:[p.D4,p.G_,p.s6],isBidRequestValid:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return!(!e||!e.params)},buildRequests:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e=(0,a.Xj)(e);const t=null!=h.getCookie(c)?h.getCookie(c):(0,r.generateUUID)();h.cookiesAreEnabled()&&h.setCookie(c,t);const i=f("device")||{},{innerWidth:o,innerHeight:s}=(0,r.getWinDimensions)();i.w=i.w||o,i.h=i.h||s,i.ua=i.ua||navigator.userAgent,i.dnt=(0,r.getDNT)()?1:0,i.language=navigator&&navigator.language?navigator.language.split("-")[0]:"";const d=[];return(0,r._each)(e,(function(e){d.push({bidId:e.bidId,placement:e.params.placementId,sizes:e.sizes,adSlot:e.adUnitCode})})),{method:"POST",url:l+"/request/prebid.json",data:{bids:d,uuid:t,device:i,version:{prebid:"9.53.2-pre",adapter:"1.0.0"},site:{numIframes:n.refererInfo?.numIframes||0,isAmp:n.refererInfo?.isAmp||!1,pageUrl:n.refererInfo?.page||"",ref:n.refererInfo?.ref||""}},bids:e}},interpretResponse:function(e){const n=[];return(0,r._each)(e.body,(function(e,t){n.push({...e})})),n},getUserSyncs:function(e,n,t,i){const o=[];if(e.pixelEnabled){const e=(0,r.generateUUID)(),n=/(ios|ipod|ipad|iphone|android)/i.test(navigator.userAgent)?"dot":"pixel";o.push({type:"image",url:`https://t.ssp.hinet.net/${n}?bd=${e}&t=chtnw`})}return o},onTimeout:function(e){null!==e&&(0,u.RD)(l+"/trace/timeout/bid",null,JSON.stringify(e),{method:"POST",withCredentials:!1})},onBidWon:function(e){e.nurl&&(0,u.RD)(e.nurl,null)},onSetTargeting:function(e){}};(0,s.a$)(b),(0,i.E)("chtnwBidAdapter")}},e=>{e.O(0,[60802,37769,12139,51085],(()=>{return n=6855,e(e.s=n);var n}));e.O()}]);