prebid.js 9.53.2 → 9.53.3

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 (196) hide show
  1. package/dist/33acrossAnalyticsAdapter.js +1 -1
  2. package/dist/33acrossBidAdapter.js +1 -1
  3. package/dist/33acrossIdSystem.js +1 -1
  4. package/dist/BTBidAdapter.js +1 -1
  5. package/dist/adagioAnalyticsAdapter.js +1 -1
  6. package/dist/adagioBidAdapter.js +1 -1
  7. package/dist/adagioRtdProvider.js +1 -1
  8. package/dist/adagioUtils.js +1 -1
  9. package/dist/addefendBidAdapter.js +1 -1
  10. package/dist/adgenerationBidAdapter.js +1 -1
  11. package/dist/adlooxRtdProvider.js +1 -1
  12. package/dist/adqueryBidAdapter.js +1 -1
  13. package/dist/adrelevantisBidAdapter.js +1 -1
  14. package/dist/adstirBidAdapter.js +1 -1
  15. package/dist/adtrgtmeBidAdapter.js +1 -1
  16. package/dist/adxcgAnalyticsAdapter.js +1 -1
  17. package/dist/adxcgBidAdapter.js +1 -1
  18. package/dist/adyoulikeBidAdapter.js +1 -1
  19. package/dist/agmaAnalyticsAdapter.js +1 -1
  20. package/dist/ajaBidAdapter.js +1 -1
  21. package/dist/amxBidAdapter.js +1 -1
  22. package/dist/amxIdSystem.js +1 -1
  23. package/dist/aniviewBidAdapter.js +1 -1
  24. package/dist/appierAnalyticsAdapter.js +1 -1
  25. package/dist/appnexusBidAdapter.js +1 -1
  26. package/dist/asoBidAdapter.js +1 -1
  27. package/dist/axonixBidAdapter.js +1 -1
  28. package/dist/beopBidAdapter.js +1 -1
  29. package/dist/bidglassBidAdapter.js +1 -1
  30. package/dist/big-richmediaBidAdapter.js +1 -1
  31. package/dist/bitmediaBidAdapter.js +1 -1
  32. package/dist/bridBidAdapter.js +1 -1
  33. package/dist/bridgeuppBidAdapter.js +1 -1
  34. package/dist/bridgewellBidAdapter.js +1 -1
  35. package/dist/brightMountainMediaBidAdapter.js +1 -1
  36. package/dist/carodaBidAdapter.js +1 -1
  37. package/dist/chtnwBidAdapter.js +1 -1
  38. package/dist/chunk-core.js +1 -1
  39. package/dist/concertBidAdapter.js +1 -1
  40. package/dist/connectadBidAdapter.js +1 -1
  41. package/dist/consumableBidAdapter.js +1 -1
  42. package/dist/contxtfulBidAdapter.js +1 -1
  43. package/dist/conversantAnalyticsAdapter.js +1 -1
  44. package/dist/conversantBidAdapter.js +1 -1
  45. package/dist/craftBidAdapter.js +1 -1
  46. package/dist/criteoBidAdapter.js +1 -1
  47. package/dist/cwireBidAdapter.js +1 -1
  48. package/dist/dailymotionBidAdapter.js +1 -1
  49. package/dist/debugging-standalone.js +1 -1
  50. package/dist/dspxBidAdapter.js +1 -1
  51. package/dist/dxkultureBidAdapter.js +1 -1
  52. package/dist/eplanningBidAdapter.js +1 -1
  53. package/dist/equativBidAdapter.js +1 -1
  54. package/dist/eskimiBidAdapter.js +1 -1
  55. package/dist/euidIdSystem.js +1 -1
  56. package/dist/exadsBidAdapter.js +1 -1
  57. package/dist/excoBidAdapter.js +1 -1
  58. package/dist/feedadBidAdapter.js +1 -1
  59. package/dist/finativeBidAdapter.js +1 -1
  60. package/dist/freewheel-sspBidAdapter.js +1 -1
  61. package/dist/gmosspBidAdapter.js +1 -1
  62. package/dist/greenbidsAnalyticsAdapter.js +1 -1
  63. package/dist/greenbidsBidAdapter.js +1 -1
  64. package/dist/greenbidsRtdProvider.js +1 -1
  65. package/dist/gridBidAdapter.js +1 -1
  66. package/dist/gumgumBidAdapter.js +1 -1
  67. package/dist/h12mediaBidAdapter.js +1 -1
  68. package/dist/hypelabBidAdapter.js +1 -1
  69. package/dist/id5AnalyticsAdapter.js +1 -1
  70. package/dist/id5IdSystem.js +1 -1
  71. package/dist/imdsBidAdapter.js +1 -1
  72. package/dist/improvedigitalBidAdapter.js +1 -1
  73. package/dist/inmobiBidAdapter.js +1 -1
  74. package/dist/insticatorBidAdapter.js +1 -1
  75. package/dist/intentIqAnalyticsAdapter.js +1 -1
  76. package/dist/ixBidAdapter.js +1 -1
  77. package/dist/jixieBidAdapter.js +1 -1
  78. package/dist/justpremiumBidAdapter.js +1 -1
  79. package/dist/kargoBidAdapter.js +1 -1
  80. package/dist/kimberliteBidAdapter.js +1 -1
  81. package/dist/konduitAnalyticsAdapter.js +1 -1
  82. package/dist/kueezBidAdapter.js +1 -1
  83. package/dist/lassoBidAdapter.js +1 -1
  84. package/dist/lifestreetBidAdapter.js +1 -1
  85. package/dist/liveIntentId.js +1 -1
  86. package/dist/logicadBidAdapter.js +1 -1
  87. package/dist/loglyliftBidAdapter.js +1 -1
  88. package/dist/luceadBidAdapter.js +1 -1
  89. package/dist/mabidderBidAdapter.js +1 -1
  90. package/dist/madsenseBidAdapter.js +1 -1
  91. package/dist/magniteAnalyticsAdapter.js +1 -1
  92. package/dist/malltvAnalyticsAdapter.js +1 -1
  93. package/dist/marsmediaBidAdapter.js +1 -1
  94. package/dist/mediafuseBidAdapter.js +1 -1
  95. package/dist/medianetBidAdapter.js +1 -1
  96. package/dist/medianetUtils.js +1 -1
  97. package/dist/mediasquareBidAdapter.js +1 -1
  98. package/dist/mgidBidAdapter.js +1 -1
  99. package/dist/missenaBidAdapter.js +1 -1
  100. package/dist/mobilefuseBidAdapter.js +1 -1
  101. package/dist/nextMillenniumBidAdapter.js +1 -1
  102. package/dist/nexx360Utils.js +1 -1
  103. package/dist/nobidAnalyticsAdapter.js +1 -1
  104. package/dist/nobidBidAdapter.js +1 -1
  105. package/dist/nodalsAiRtdProvider.js +1 -1
  106. package/dist/not-for-prod/prebid.js +172 -172
  107. package/dist/objectGuard.js +1 -1
  108. package/dist/oguryBidAdapter.js +1 -1
  109. package/dist/onetagBidAdapter.js +1 -1
  110. package/dist/ooloAnalyticsAdapter.js +1 -1
  111. package/dist/openxBidAdapter.js +1 -1
  112. package/dist/optidigitalBidAdapter.js +1 -1
  113. package/dist/orbidderBidAdapter.js +1 -1
  114. package/dist/outbrainBidAdapter.js +1 -1
  115. package/dist/pixfutureBidAdapter.js +1 -1
  116. package/dist/publinkIdSystem.js +1 -1
  117. package/dist/pubmaticAnalyticsAdapter.js +1 -1
  118. package/dist/pubmaticBidAdapter.js +1 -1
  119. package/dist/pubmaticIdSystem.js +1 -1
  120. package/dist/pubmaticRtdProvider.js +1 -1
  121. package/dist/pubwiseAnalyticsAdapter.js +1 -1
  122. package/dist/pubxaiAnalyticsAdapter.js +1 -1
  123. package/dist/pxyzBidAdapter.js +1 -1
  124. package/dist/quantcastBidAdapter.js +1 -1
  125. package/dist/readpeakBidAdapter.js +1 -1
  126. package/dist/relaidoBidAdapter.js +1 -1
  127. package/dist/retailspotBidAdapter.js +1 -1
  128. package/dist/rhythmoneBidAdapter.js +1 -1
  129. package/dist/riseUtils.js +1 -1
  130. package/dist/rtdModule.js +1 -1
  131. package/dist/rubiconBidAdapter.js +1 -1
  132. package/dist/seedingAllianceBidAdapter.js +1 -1
  133. package/dist/seedtagBidAdapter.js +1 -1
  134. package/dist/sharethroughAnalyticsAdapter.js +1 -1
  135. package/dist/sharethroughBidAdapter.js +1 -1
  136. package/dist/showheroes-bsBidAdapter.js +1 -1
  137. package/dist/smaatoBidAdapter.js +1 -1
  138. package/dist/smartadserverBidAdapter.js +1 -1
  139. package/dist/smartxBidAdapter.js +1 -1
  140. package/dist/smilewantedBidAdapter.js +1 -1
  141. package/dist/snigelBidAdapter.js +1 -1
  142. package/dist/sonobiBidAdapter.js +1 -1
  143. package/dist/sovrnBidAdapter.js +1 -1
  144. package/dist/sparteoBidAdapter.js +1 -1
  145. package/dist/sspBCBidAdapter.js +1 -1
  146. package/dist/stvBidAdapter.js +1 -1
  147. package/dist/sublimeBidAdapter.js +1 -1
  148. package/dist/taboolaBidAdapter.js +1 -1
  149. package/dist/tappxBidAdapter.js +1 -1
  150. package/dist/targetVideoBidAdapter.js +1 -1
  151. package/dist/teadsBidAdapter.js +1 -1
  152. package/dist/terceptAnalyticsAdapter.js +1 -1
  153. package/dist/themoneytizerBidAdapter.js +1 -1
  154. package/dist/trionBidAdapter.js +1 -1
  155. package/dist/tripleliftBidAdapter.js +1 -1
  156. package/dist/ttdBidAdapter.js +1 -1
  157. package/dist/ucfunnelAnalyticsAdapter.js +1 -1
  158. package/dist/uid2IdSystem.js +1 -1
  159. package/dist/underdogmediaBidAdapter.js +1 -1
  160. package/dist/undertoneBidAdapter.js +1 -1
  161. package/dist/unrulyBidAdapter.js +1 -1
  162. package/dist/userId.js +1 -1
  163. package/dist/vidazooUtils.js +1 -1
  164. package/dist/videobyteBidAdapter.js +1 -1
  165. package/dist/visxBidAdapter.js +1 -1
  166. package/dist/vuukleBidAdapter.js +1 -1
  167. package/dist/widespaceBidAdapter.js +1 -1
  168. package/dist/winrBidAdapter.js +1 -1
  169. package/dist/yahooAdsBidAdapter.js +1 -1
  170. package/dist/yandexBidAdapter.js +1 -1
  171. package/dist/yieldmoBidAdapter.js +1 -1
  172. package/dist/yieldoneAnalyticsAdapter.js +1 -1
  173. package/libraries/objectGuard/objectGuard.js +149 -48
  174. package/libraries/objectGuard/ortbGuard.js +33 -43
  175. package/modules/adagioAnalyticsAdapter.js +6 -1
  176. package/modules/adagioBidAdapter.js +12 -5
  177. package/modules/adagioRtdProvider.js +41 -35
  178. package/modules/pubmaticAnalyticsAdapter.js +311 -587
  179. package/modules/pubmaticBidAdapter.js +71 -8
  180. package/modules/pubmaticIdSystem.js +4 -4
  181. package/modules/pubmaticRtdProvider.js +12 -60
  182. package/modules/rtdModule/index.js +1 -5
  183. package/modules/ttdBidAdapter.js +0 -5
  184. package/modules/userId/eids.js +1 -1
  185. package/modules/userId/index.js +32 -1
  186. package/package.json +1 -1
  187. package/src/auction.js +3 -0
  188. package/test/spec/activities/objectGuard_spec.js +156 -32
  189. package/test/spec/activities/ortbGuard_spec.js +10 -15
  190. package/test/spec/modules/adagioAnalyticsAdapter_spec.js +94 -24
  191. package/test/spec/modules/adagioRtdProvider_spec.js +17 -17
  192. package/test/spec/modules/pubmaticAnalyticsAdapter_spec.js +634 -916
  193. package/test/spec/modules/pubmaticBidAdapter_spec.js +260 -1
  194. package/test/spec/modules/pubmaticRtdProvider_spec.js +78 -400
  195. package/test/spec/modules/ttdBidAdapter_spec.js +0 -33
  196. package/test/spec/modules/userId_spec.js +115 -1
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see debugging-standalone.js.LICENSE.txt */
2
- (()=>{var e={128:e=>{o.SYNC=1,o.ASYNC=2,o.QUEUE=4;var t="fun-hooks",n=Object.freeze({ready:0}),i=new WeakMap;function r(e,t){return Array.prototype.slice.call(e,t)}function o(e){var s,a={},d=[];function c(e,t){return"function"==typeof e?p.call(null,"sync",e,t):"string"==typeof e&&"function"==typeof t?p.apply(null,arguments):"object"==typeof e?l.apply(null,arguments):void 0}function l(e,t,n){var i=!0;void 0===t&&(t=Object.getOwnPropertyNames(e).filter((e=>!e.match(/^_/))),i=!1);var r={},o=["constructor"];do{t.forEach((function(t){var i=t.match(/(?:(sync|async):)?(.+)/),s=i[1]||"sync",a=i[2];if(!r[a]&&"function"==typeof e[a]&&-1===o.indexOf(a)){var d=e[a];r[a]=e[a]=p(s,d,n?[n,a]:void 0)}})),e=Object.getPrototypeOf(e)}while(i&&e);return r}function u(e){var n=Array.isArray(e)?e:e.split(".");return n.reduce((function(i,r,o){var a=i[r],c=!1;return a||(o===n.length-1?(s||d.push((function(){c||console.warn(t+": referenced '"+e+"' but it was never created")})),i[r]=f((function(e){i[r]=e,c=!0}))):i[r]={})}),a)}function f(e){var t=[],n=[],r=function(){},o={before:function(e,n){return a.call(this,t,"before",e,n)},after:function(e,t){return a.call(this,n,"after",e,t)},getHooks:function(e){var i=t.concat(n);"object"==typeof e&&(i=i.filter((function(t){return Object.keys(e).every((function(n){return t[n]===e[n]}))})));try{Object.assign(i,{remove:function(){return i.forEach((function(e){e.remove()})),this}})}catch(e){console.error("error adding `remove` to array, did you modify Array.prototype?")}return i},removeAll:function(){return this.getHooks().remove()}},s={install:function(i,o,s){this.type=i,r=s,s(t,n),e&&e(o)}};return i.set(o.after,s),o;function a(e,i,o,s){var a={hook:o,type:i,priority:s||10,remove:function(){var i=e.indexOf(a);-1!==i&&(e.splice(i,1),r(t,n))}};return e.push(a),e.sort((function(e,t){return t.priority-e.priority})),r(t,n),this}}function p(n,a,c){var l=a.after&&i.get(a.after);if(l){if(l.type!==n)throw t+": recreated hookable with different type";return a}var p,g=c?u(c):f(),h={get:function(e,t){return g[t]||Reflect.get.apply(Reflect,arguments)}};s||d.push(b);var m=new Proxy(a,h);return i.get(m.after).install(n,m,(function(e,t){var i,o=[];function s(e){o.push(e.hook)}e.length||t.length?(e.forEach(s),i=o.push(void 0)-1,t.forEach(s),p=function(e,t,s){var a,d=o.slice(),c=0,l="async"===n&&"function"==typeof s[s.length-1]&&s.pop();function u(e){"sync"===n?a=e:l&&l.apply(null,arguments)}function f(e){if(d[c]){var i=r(arguments);return f.bail=u,i.unshift(f),d[c++].apply(t,i)}"sync"===n?a=e:l&&l.apply(null,arguments)}return d[i]=function(){var i=r(arguments,1);"async"===n&&l&&(delete f.bail,i.push(f));var o=e.apply(t,i);"sync"===n&&f(o)},f.apply(null,s),a}):p=void 0,b()})),m;function b(){!s&&("sync"!==n||e.ready&o.SYNC)&&("async"!==n||e.ready&o.ASYNC)?"sync"!==n&&e.ready&o.QUEUE?h.apply=function(){var e=arguments;d.push((function(){m.apply(e[1],e[2])}))}:h.apply=function(){throw t+": hooked function not ready"}:h.apply=p}}return(e=Object.assign({},n,e)).ready?c.ready=function(){s=!0,function(e){for(var t;t=e.shift();)t()}(d)}:s=!0,c.get=u,c}e.exports=o}},t={};function n(i){var r=t[i];if(void 0!==r)return r.exports;var o=t[i]={exports:{}};return e[i](o,o.exports,n),o.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";const e=2,t={buckets:[{max:5,increment:.5}]},i={buckets:[{max:20,increment:.1}]},r={buckets:[{max:20,increment:.01}]},o={buckets:[{max:3,increment:.01},{max:8,increment:.05},{max:20,increment:.5}]},s={buckets:[{max:5,increment:.05},{max:10,increment:.1},{max:20,increment:.5}]};function a(t,n,i){let r="";if(!d(n))return r;const o=n.buckets.reduce(((e,t)=>e.max>t.max?e:t),{max:0});let s=0,a=n.buckets.find((n=>{if(t>o.max*i){let t=n.precision;void 0===t&&(t=e),r=(n.max*i).toFixed(t)}else{if(t<=n.max*i&&t>=s*i)return n.min=s,n;s=n.max}}));return a&&(r=c(t,a,i)),r}function d(e){if(Ie(e)||!e.buckets||!Array.isArray(e.buckets))return!1;let t=!0;return e.buckets.forEach((e=>{e.max&&e.increment||(t=!1)})),t}function c(t,n,i){const r=void 0!==n.precision?n.precision:e,o=n.increment*i,s=n.min*i;let a=Math.floor,d=U.getConfig("cpmRoundingFunction");"function"==typeof d&&(a=d);let c,l,u=Math.pow(10,r+2),f=(t*u-s*u)/(o*u);try{c=a(f)*o+s}catch(e){l=!0}return(l||"number"!=typeof c)&&(ge("Invalid rounding function passed in config"),c=Math.floor(f)*o+s),c=Number(c.toFixed(10)),c.toFixed(r)}function l(e,t,n,i,r){for(t=t.split?t.split("."):t,i=0;i<t.length;i++)e=e?e[t[i]]:r;return e===r?n:e}const u={PL_CODE:"code",PL_SIZE:"sizes",PL_BIDS:"bids",BD_BIDDER:"bidder",BD_ID:"paramsd",BD_PL_ID:"placementId",ADSERVER_TARGETING:"adserverTargeting",BD_SETTING_STANDARD:"standard"},f="pbjs_debug",p=1,g={AUCTION_INIT:"auctionInit",AUCTION_TIMEOUT:"auctionTimeout",AUCTION_END:"auctionEnd",BID_ADJUSTMENT:"bidAdjustment",BID_TIMEOUT:"bidTimeout",BID_REQUESTED:"bidRequested",BID_RESPONSE:"bidResponse",BID_REJECTED:"bidRejected",NO_BID:"noBid",SEAT_NON_BID:"seatNonBid",BID_WON:"bidWon",BIDDER_DONE:"bidderDone",BIDDER_ERROR:"bidderError",SET_TARGETING:"setTargeting",BEFORE_REQUEST_BIDS:"beforeRequestBids",BEFORE_BIDDER_HTTP:"beforeBidderHttp",REQUEST_BIDS:"requestBids",ADD_AD_UNITS:"addAdUnits",AD_RENDER_FAILED:"adRenderFailed",AD_RENDER_SUCCEEDED:"adRenderSucceeded",TCF2_ENFORCEMENT:"tcf2Enforcement",AUCTION_DEBUG:"auctionDebug",BID_VIEWABLE:"bidViewable",STALE_RENDER:"staleRender",EXPIRED_RENDER:"expiredRender",BILLABLE_EVENT:"billableEvent",BID_ACCEPTED:"bidAccepted",RUN_PAAPI_AUCTION:"paapiRunAuction",PBS_ANALYTICS:"pbsAnalytics",PAAPI_BID:"paapiBid",PAAPI_NO_BID:"paapiNoBid",PAAPI_ERROR:"paapiError",BEFORE_PBS_HTTP:"beforePBSHttp",BROWSI_INIT:"browsiInit",BROWSI_DATA:"browsiData"},h={BIDDER:"hb_bidder",AD_ID:"hb_adid",PRICE_BUCKET:"hb_pb",SIZE:"hb_size",DEAL:"hb_deal",SOURCE:"hb_source",FORMAT:"hb_format",UUID:"hb_uuid",CACHE_ID:"hb_cache_id",CACHE_HOST:"hb_cache_host",ADOMAIN:"hb_adomain",ACAT:"hb_acat",CRID:"hb_crid",DSP:"hb_dsp"},m={title:"hb_native_title",body:"hb_native_body",body2:"hb_native_body2",privacyLink:"hb_native_privacy",privacyIcon:"hb_native_privicon",sponsoredBy:"hb_native_brand",image:"hb_native_image",icon:"hb_native_icon",clickUrl:"hb_native_linkurl",displayUrl:"hb_native_displayurl",cta:"hb_native_cta",rating:"hb_native_rating",address:"hb_native_address",downloads:"hb_native_downloads",likes:"hb_native_likes",phone:"hb_native_phone",price:"hb_native_price",salePrice:"hb_native_saleprice",rendererUrl:"hb_renderer_url",adTemplate:"hb_adTemplate"},b="s2s",y="Bid has missing or invalid properties",v="Invalid request ID",w="Bidder code is not allowed by allowedAlternateBidderCodes / allowUnknownBidderCodes",E="Bid price exceeds maximum value",A={body:"desc",body2:"desc2",sponsoredBy:"sponsored",cta:"ctatext",rating:"rating",address:"address",downloads:"downloads",likes:"likes",phone:"phone",price:"price",salePrice:"saleprice",displayUrl:"displayurl"},C={sponsored:1,desc:2,rating:3,likes:4,downloads:5,price:6,saleprice:7,phone:8,address:9,desc2:10,displayurl:11,ctatext:12},T={ICON:1,MAIN:3},B=["privacyIcon","clickUrl","sendTargetingKeys","adTemplate","rendererUrl","type"],I="TRUE"===ye(f).toUpperCase(),R={},S="random",k={};k[S]=!0,k.fixed=!0;const O=S,D={LOW:"low",MEDIUM:"medium",HIGH:"high",AUTO:"auto",DENSE:"dense",CUSTOM:"custom"};function x(e){const t=arguments.length>1&&void 0!==arguments[1]&&!arguments[1]?{}:{priceGranularity:D.MEDIUM,customPriceBucket:{},mediaTypePriceGranularity:{},bidderSequence:O,auctionOptions:{}};function n(e){return t[e]}function i(n,i){t.hasOwnProperty(n)||Object.defineProperty(e,n,{enumerable:!0}),t[n]=i}const r={publisherDomain:{set(e){null!=e&&ge("publisherDomain is deprecated and has no effect since v7 - use pageUrl instead"),i("publisherDomain",e)}},priceGranularity:{set(e){s(e)&&("string"==typeof e?i("priceGranularity",o(e)?e:D.MEDIUM):Te(e)&&(i("customPriceBucket",e),i("priceGranularity",D.CUSTOM),fe("Using custom price granularity")))}},customPriceBucket:{},mediaTypePriceGranularity:{set(e){null!=e&&i("mediaTypePriceGranularity",Object.keys(e).reduce(((t,i)=>(s(e[i])?"string"==typeof e?t[i]=o(e[i])?e[i]:n("priceGranularity"):Te(e)&&(t[i]=e[i],fe(`Using custom price granularity for ${i}`)):ge(`Invalid price granularity for media type: ${i}`),t)),{}))}},bidderSequence:{set(e){k[e]?i("bidderSequence",e):ge(`Invalid order: ${e}. Bidder Sequence was not set.`)}},auctionOptions:{set(e){(function(e){if(!Te(e))return ge("Auction Options must be an object"),!1;for(let t of Object.keys(e)){if("secondaryBidders"!==t&&"suppressStaleRender"!==t&&"suppressExpiredRender"!==t)return ge(`Auction Options given an incorrect param: ${t}`),!1;if("secondaryBidders"===t){if(!Ae(e[t]))return ge(`Auction Options ${t} must be of type Array`),!1;if(!e[t].every(Ee))return ge(`Auction Options ${t} must be only string`),!1}else if(("suppressStaleRender"===t||"suppressExpiredRender"===t)&&!Be(e[t]))return ge(`Auction Options ${t} must be of type boolean`),!1}return!0})(e)&&i("auctionOptions",e)}}};return Object.defineProperties(e,Object.fromEntries(Object.entries(r).map((e=>{let[r,o]=e;return[r,Object.assign({get:n.bind(null,r),set:i.bind(null,r),enumerable:t.hasOwnProperty(r),configurable:!t.hasOwnProperty(r)},o)]})))),e;function o(e){return Object.keys(D).find((t=>e===D[t]))}function s(e){if(!e)return he("Prebid Error: no value passed to `setPriceGranularity()`"),!1;if("string"==typeof e)o(e)||ge("Prebid Warning: setPriceGranularity was called with invalid setting, using `medium` as default.");else if(Te(e)&&!d(e))return he("Invalid custom price value passed to `setPriceGranularity()`"),!1;return!0}}const U=function(){let e,t,n,i=[],r=null;function o(){e={};let i=x({debug:I,bidderTimeout:3e3,enableSendAllBids:!0,useBidCache:!1,deviceAccess:!0,disableAjaxTimeout:!1,maxNestedIframes:10,maxBid:5e3,userSync:{topics:R}});t&&p(Object.keys(t).reduce(((e,n)=>(t[n]!==i[n]&&(e[n]=i[n]||{}),e)),{})),t=i,n={}}function s(){if(r&&n&&Te(n[r])){const e=n[r],i=new Set([...Object.keys(t),...Object.keys(e)]),o={};for(const n of i){const i=t[n],r=e[n];o[n]=void 0===r?i:void 0===i?r:Te(r)?Ve({},i,r):r}return o}return{...t}}const[a,d]=[s,function(){const e=s();return Object.defineProperty(e,"ortb2",{get:function(){throw new Error("invalid access to 'orbt2' config - use request parameters instead")}}),e}].map((e=>function(){if(arguments.length<=1&&"function"!=typeof(arguments.length<=0?void 0:arguments[0])){const t=arguments.length<=0?void 0:arguments[0];return t?l(e(),t):s()}return function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=t;if("string"!=typeof e&&(r=e,e="*",n=t||{}),"function"!=typeof r)return void he("listener must be a function");const o={topic:e,callback:r};return i.push(o),n.init&&r("*"===e?d():{[e]:d(e)}),function(){i.splice(i.indexOf(o),1)}}(...arguments)})),[c,u]=[d,a].map((e=>function(){let t=e(...arguments);return t&&"object"==typeof t&&(t=je(t)),t}));function f(n){if(!Te(n))return void he("setConfig options must be an object");let i=Object.keys(n),r={};i.forEach((i=>{let o=n[i];Te(e[i])&&Te(o)&&(o=Object.assign({},e[i],o));try{r[i]=t[i]=o}catch(e){ge(`Cannot set config for property ${i} : `,e)}})),p(r)}function p(e){const t=Object.keys(e);i.filter((e=>t.includes(e.topic))).forEach((t=>{t.callback({[t.topic]:e[t.topic]})})),i.filter((e=>"*"===e.topic)).forEach((t=>t.callback(e)))}function g(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];try{!function(e){if(!Te(e))throw"setBidderConfig bidder options must be an object";if(!Array.isArray(e.bidders)||!e.bidders.length)throw"setBidderConfig bidder options must contain a bidders list with at least 1 bidder";if(!Te(e.config))throw"setBidderConfig bidder options must contain a config object"}(e),e.bidders.forEach((i=>{n[i]||(n[i]=x({},!1)),Object.keys(e.config).forEach((r=>{let o=e.config[r];const s=n[i][r];if(Te(o)&&(null==s||Te(s))){const e=t?Ve:Object.assign;n[i][r]=e({},s||{},o)}else n[i][r]=o}))}))}catch(e){he(e)}}function h(e,t){r=e;try{return t()}finally{m()}}function m(){r=null}return o(),{getCurrentBidder:function(){return r},resetBidder:m,getConfig:d,getAnyConfig:a,readConfig:c,readAnyConfig:u,setConfig:f,mergeConfig:function(e){if(!Te(e))return void he("mergeConfig input must be an object");const t=Ve(s(),e);return f({...t}),t},setDefaults:function(n){Te(e)?(Object.assign(e,n),Object.assign(t,n)):he("defaults must be an object")},resetConfig:o,runWithBidder:h,callbackWithBidder:function(e){return function(t){return function(){if("function"==typeof t){for(var n=arguments.length,i=new Array(n),r=0;r<n;r++)i[r]=arguments[r];return h(e,t.bind(this,...i))}ge("config.callbackWithBidder callback is not a function")}}},setBidderConfig:g,getBidderConfig:function(){return n},mergeBidderConfig:function(e){return g(e,!0)}}}();function _(e){var t,n,i;if(Array.isArray(e)){for(n=Array(t=e.length);t--;)n[t]=(i=e[t])&&"object"==typeof i?_(i):i;return n}if("[object Object]"===Object.prototype.toString.call(e)){for(t in n={},e)"__proto__"===t?Object.defineProperty(n,t,{value:_(e[t]),configurable:!0,enumerable:!0,writable:!0}):n[t]=(i=e[t])&&"object"==typeof i?_(i):i;return n}return e}const j=0,q=1,P=window,$=P.pbjs=P.pbjs||{};function N(){return $}$.cmd=$.cmd||[],$.que=$.que||[],P===window&&(P._pbjsGlobals=P._pbjsGlobals||[],P._pbjsGlobals.push("pbjs")),N().setTimeout;const M=N().Promise??class{#e;#t;constructor(e){if("function"!=typeof e)throw new Error("resolver not a function");const t=[],n=[];let[i,r]=[j,q].map((e=>function(o){if(e===j&&"function"==typeof o?.then)o.then(i,r);else if(!t.length)for(t.push(e,o);n.length;)n.shift()()}));try{e(i,r)}catch(e){r(e)}this.#e=t,this.#t=n}then(e,t){const n=this.#e;return new this.constructor(((i,r)=>{const o=()=>{let o=n[1],[s,a]=n[0]===j?[e,i]:[t,r];if("function"==typeof s){try{o=s(o)}catch(e){return void r(e)}a=i}a(o)};n.length?o():this.#t.push(o)}))}catch(e){return this.then(null,e)}finally(e){let t;return this.then((n=>(t=n,e())),(n=>(t=this.constructor.reject(n),e()))).then((()=>t))}static#n(e,t,n){let i=e.length;function r(){t.apply(this,arguments),--i<=0&&n&&n()}0===e.length&&n?n():e.forEach(((e,t)=>this.resolve(e).then((e=>r(!0,e,t)),(e=>r(!1,e,t)))))}static race(e){return new this(((t,n)=>{this.#n(e,((e,i)=>e?t(i):n(i)))}))}static all(e){return new this(((t,n)=>{let i=[];this.#n(e,((e,t,r)=>e?i[r]=t:n(t)),(()=>t(i)))}))}static allSettled(e){return new this((t=>{let n=[];this.#n(e,((e,t,i)=>n[i]=e?{status:"fulfilled",value:t}:{status:"rejected",reason:t}),(()=>t(n)))}))}static resolve(e){return new this((t=>t(e)))}static reject(e){return new this(((t,n)=>n(e)))}};function W(){let e,t,{promiseFactory:n=(e=>new M(e))}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};function i(e){return t=>e(t)}return{promise:n(((n,i)=>{e=n,t=i})),resolve:i(e),reject:i(t)}}var L="String",G="Function",F="Number",H="Object",V="Boolean",z=Object.prototype.toString;let K,J,Y=Boolean(window.console),Q=Boolean(Y&&window.console.log),X=Boolean(Y&&window.console.info),Z=Boolean(Y&&window.console.warn),ee=Boolean(Y&&window.console.error);const te=N();function ne(){null!=K&&K(...arguments)}const ie={checkCookieSupport:$e,createTrackPixelIframeHtml:function(e){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return e?((!(arguments.length>1&&void 0!==arguments[1])||arguments[1])&&(e=encodeURI(e)),t&&(t=`sandbox="${t}"`),`<iframe ${t} id="${se()}"\n frameborder="0"\n allowtransparency="true"\n marginheight="0" marginwidth="0"\n width="0" hspace="0" vspace="0" height="0"\n style="height:0px;width:0px;display:none;"\n scrolling="no"\n src="${e}">\n </iframe>`):""},getWindowSelf:function(){return window.self},getWindowTop:function(){return window.top},canAccessWindowTop:ue,getWindowLocation:le,insertUserSyncIframe:Oe,insertElement:Re,isFn:we,triggerPixel:ke,logError:he,logWarn:ge,logMessage:fe,logInfo:pe,parseQS:Ge,formatQS:function(e){return Object.keys(e).map((t=>Array.isArray(e[t])?e[t].map((e=>`${t}[]=${e}`)).join("&"):`${t}=${e[t]}`)).join("&")},deepEqual:He,resetWinDimensions:function(){const e=ue()?ie.getWindowTop():ie.getWindowSelf();J={screen:{width:e.screen?.width,height:e.screen?.height,availWidth:e.screen?.availWidth,availHeight:e.screen?.availHeight,colorDepth:e.screen?.colorDepth},innerHeight:e.innerHeight,innerWidth:e.innerWidth,outerWidth:e.outerWidth,outerHeight:e.outerHeight,visualViewport:{height:e.visualViewport?.height,width:e.visualViewport?.width},document:{documentElement:{clientWidth:e.document?.documentElement?.clientWidth,clientHeight:e.document?.documentElement?.clientHeight,scrollTop:e.document?.documentElement?.scrollTop,scrollLeft:e.document?.documentElement?.scrollLeft},body:{scrollTop:document.body?.scrollTop,scrollLeft:document.body?.scrollLeft,clientWidth:document.body?.clientWidth,clientHeight:document.body?.clientHeight}}}}};var re,oe=(re=0,function(){return++re});function se(){return oe()+Math.random().toString(16).substr(2)}function ae(e){return e?(e^(window&&window.crypto&&window.crypto.getRandomValues?crypto.getRandomValues(new Uint8Array(1))[0]%16:16*Math.random())>>e/4).toString(16):([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,ae)}function de(e){return e[0]+"x"+e[1]}function ce(e){return Ae(e)&&2===e.length&&!isNaN(e[0])&&!isNaN(e[1])}function le(){return window.location}function ue(){try{if(ie.getWindowTop().location.href)return!0}catch(e){return!1}}function fe(){be()&&Q&&console.log.apply(console,me(arguments,"MESSAGE:"))}function pe(){be()&&X&&console.info.apply(console,me(arguments,"INFO:"))}function ge(){be()&&Z&&console.warn.apply(console,me(arguments,"WARNING:")),ne(g.AUCTION_DEBUG,{type:"WARNING",arguments})}function he(){be()&&ee&&console.error.apply(console,me(arguments,"ERROR:")),ne(g.AUCTION_DEBUG,{type:"ERROR",arguments})}function me(e,t){e=[].slice.call(e);let n=U.getCurrentBidder();return t&&e.unshift(t),n&&e.unshift(i("#aaa")),e.unshift(i("#3b88c3")),e.unshift("%cPrebid"+(n?`%c${n}`:"")),e;function i(e){return`display: inline-block; color: #fff; background: ${e}; padding: 1px 4px; border-radius: 3px;`}}function be(){return!!U.getConfig("debug")}function ye(e){return Ge(le().search)[e]||""}function ve(e,t){return z.call(e)==="[object "+t+"]"}function we(e){return ve(e,G)}function Ee(e){return ve(e,L)}const Ae=Array.isArray.bind(Array);function Ce(e){return ve(e,F)}function Te(e){return ve(e,H)}function Be(e){return ve(e,V)}function Ie(e){return!e||(Ae(e)||Ee(e)?!(e.length>0):Object.keys(e).length<=0)}function Re(e,t,n,i){let r;t=t||document,r=n?t.getElementsByTagName(n):t.getElementsByTagName("head");try{if(r=r.length?r:t.getElementsByTagName("body"),r.length){r=r[0];let t=i?null:r.firstChild;return r.insertBefore(e,t)}}catch(e){}}function Se(e,t){let n=null;return new M((i=>{const r=function(){e.removeEventListener("load",r),e.removeEventListener("error",r),null!=n&&window.clearTimeout(n),i()};e.addEventListener("load",r),e.addEventListener("error",r),null!=t&&(n=window.setTimeout(r,t))}))}function ke(e,t,n){const i=new Image;t&&ie.isFn(t)&&Se(i,n).then(t),i.src=e}function Oe(e,t,n){let i=ie.createTrackPixelIframeHtml(e,!1,"allow-scripts allow-same-origin"),r=document.createElement("div");r.innerHTML=i;let o=r.firstChild;t&&ie.isFn(t)&&Se(o,n).then(t),ie.insertElement(o,document,"html",!0)}function De(e,t,n){return n.indexOf(e)===t}function xe(e,t){return e.concat(t)}function Ue(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:te.adUnits).map((e=>e.bids.map((e=>e.bidder)).reduce(xe,[]))).reduce(xe,[]).filter((e=>void 0!==e)).filter(De)}function _e(e){let t=e.length;for(;t>0;){let n=Math.floor(Math.random()*t);t--;let i=e[t];e[t]=e[n],e[n]=i}return e}function je(e){return _(e)||{}}function qe(){return(new Date).getTime()}function Pe(){return!1!==U.getConfig("deviceAccess")}function $e(){if(window.navigator.cookieEnabled||document.cookie.length)return!0}function Ne(e,t){if(t<1)throw new Error(`numRequiredCalls must be a positive number. Got ${t}`);let n=0;return function(){n++,n===t&&e.apply(this,arguments)}}function Me(e,t,n){return e.filter((e=>e.code===t)).flatMap((e=>e.bids)).filter((e=>e.bidder===n)).map((e=>e.params||{}))}const We=Number.isInteger.bind(Number);function Le(e,t){return Ae(e)&&(!t||e.length===t)&&e.every((e=>We(e)))}function Ge(e){return e?e.replace(/^\?/,"").split("&").reduce(((e,t)=>{let[n,i]=t.split("=");return/\[\]$/.test(n)?(n=n.replace("[]",""),e[n]=e[n]||[],e[n].push(i)):e[n]=i||"",e}),{}):{}}function Fe(e,t){let n=document.createElement("a");t&&"noDecodeWholeURL"in t&&t.noDecodeWholeURL?n.href=e:n.href=decodeURIComponent(e);let i=t&&"decodeSearchAsString"in t&&t.decodeSearchAsString;return{href:n.href,protocol:(n.protocol||"").replace(/:$/,""),hostname:n.hostname,port:+n.port,pathname:n.pathname.replace(/^(?!\/)/,"/"),search:i?n.search:ie.parseQS(n.search||""),hash:(n.hash||"").replace(/^#/,""),host:n.host||window.location.host}}function He(e,t){let{checkTypes:n=!1}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e===t)return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;const i=Array.isArray(e),r=Array.isArray(t);if(i&&r){if(e.length!==t.length)return!1;for(let i=0;i<e.length;i++)if(!He(e[i],t[i],{checkTypes:n}))return!1;return!0}if(i||r)return!1;if(n&&e.constructor!==t.constructor)return!1;const o=Object.keys(e),s=Object.keys(t);if(o.length!==s.length)return!1;for(const i of o){if(!Object.prototype.hasOwnProperty.call(t,i))return!1;if(!He(e[i],t[i],{checkTypes:n}))return!1}return!0}function Ve(e){for(let t=0;t<(arguments.length<=1?0:arguments.length-1);t++){const n=t+1<1||arguments.length<=t+1?void 0:arguments[t+1];Te(n)&&ze(e,n)}return e}function ze(e,t){if(!Te(e)||!Te(t))return;const n=Object.keys(t);for(let i=0;i<n.length;i++){const r=n[i];if("__proto__"===r||"constructor"===r)continue;const o=t[r];Te(o)?(e[r]||(e[r]={}),ze(e[r],o)):Array.isArray(o)?Array.isArray(e[r])?o.forEach((t=>{e[r].some((e=>He(e,t)))||e[r].push(t)})):e[r]=[...o]:e[r]=o}}function Ke(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=function(e,t){if(we(Math.imul))return Math.imul(e,t);var n=(4194303&e)*(t|=0);return 4290772992&e&&(n+=(4290772992&e)*t|0),0|n},i=3735928559^t,r=1103547991^t;for(let t,o=0;o<e.length;o++)t=e.charCodeAt(o),i=n(i^t,2654435761),r=n(r^t,1597334677);return i=n(i^i>>>16,2246822507)^n(r^r>>>13,3266489909),r=n(r^r>>>16,2246822507)^n(i^i>>>13,3266489909),(4294967296*(2097151&r)+(i>>>0)).toString()}function Je(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e};const n=new Map,i=function(){const i=t.apply(this,arguments);return n.has(i)||n.set(i,e.apply(this,arguments)),n.get(i)};return i.clear=n.clear.bind(n),i}function Ye(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Set;for(const n in e){const i=e[n],r=typeof i;if(void 0===i||"function"===r||"symbol"===r||i instanceof RegExp||i instanceof Map||i instanceof Set||i instanceof Date||null!==i&&"object"===r&&i.hasOwnProperty("toJSON"))return!0;if(null!==i&&"object"===r&&i.constructor===Object){if(t.has(i))return!0;if(t.add(i),Ye(i,t))return!0}}return!1}const Qe=function(){let e;return function(){if(void 0!==e)return e;try{void 0===window.CompressionStream?e=!1:(new window.CompressionStream("gzip"),e=!0)}catch(t){e=!1}return e}}(),Xe="native",Ze="video",et="banner",tt="accessDevice",nt="syncUser",it="fetchBids",rt="transmitEids",ot="transmitUfpd",st="transmitPreciseGeo",at="transmitTid",dt="loadExternalScript",ct={fetch:window.fetch.bind(window),makeRequest:(e,t)=>new Request(e,t),timeout(e,t){const n=new AbortController;let i=setTimeout((()=>{n.abort(),he(`Request timeout after ${e}ms`,t),i=null}),e);return{signal:n.signal,done(){i&&clearTimeout(i)}}}},lt="GET",ut="POST",ft="Content-Type";function pt(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:3e3,{request:t,done:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=(t,n)=>{let i;null==e||null!=n?.signal||U.getConfig("disableAjaxTimeout")||(i=ct.timeout(e,t),n=Object.assign({signal:i.signal},n));let r=ct.fetch(t,n);return null!=i?.done&&(r=r.finally(i.done)),r};return null==t&&null==n||(r=i,i=function(e,i){const o=new URL(null==e?.url?e:e.url,document.location).origin;let s=r(e,i);return t&&t(o),n&&(s=s.finally((()=>n(o)))),s}),i;var r}function gt(e,t){let{status:n,statusText:i="",headers:r,url:o}=e,s=0;function a(e){if(0===s)try{s=(new DOMParser).parseFromString(t,r?.get(ft)?.split(";")?.[0])}catch(t){s=null,e&&e(t)}return s}return{readyState:XMLHttpRequest.DONE,status:n,statusText:i,responseText:t,response:t,responseType:"",responseURL:o,get responseXML(){return a(he)},getResponseHeader:e=>r?.has(e)?r.get(e):null,toJSON(){return Object.assign({responseXML:a()},this)},timedOut:!1}}function ht(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:3e3,{request:t,done:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=pt(e,{request:t,done:n});return function(e,t,n){!function(e,t){const{success:n,error:i}="object"==typeof t&&null!=t?t:{success:"function"==typeof t?t:()=>null,error:(e,t)=>he("Network error",e,t)};e.then((e=>e.text().then((t=>[e,t])))).then((e=>{let[t,r]=e;const o=gt(t,r);t.ok||304===t.status?n(r,o):i(t.statusText,o)}),(e=>i("",Object.assign(gt({status:0},""),{reason:e,timedOut:"AbortError"===e?.name}))))}(i(function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=n.method||(t?ut:lt);if(i===lt&&t){const i=Fe(e,n);Object.assign(i.search,t),e=((r=i).protocol||"http")+"://"+(r.host||r.hostname+(r.port?`:${r.port}`:""))+(r.pathname||"")+(r.search?`?${ie.formatQS(r.search||"")}`:"")+(r.hash?`#${r.hash}`:"")}var r;const o=new Headers(n.customHeaders);o.set(ft,n.contentType||"text/plain");const s={method:i,headers:o};return i!==lt&&t&&(s.body=t),n.withCredentials&&(s.credentials="include"),isSecureContext&&(["browsingTopics","adAuctionHeaders"].forEach((e=>{n[e]&&(s[e]=!0)})),null!=n.suppressTopicsEnrollmentWarning&&(s.suppressTopicsEnrollmentWarning=n.suppressTopicsEnrollmentWarning)),n.keepalive&&(s.keepalive=!0),ct.makeRequest(e,s)}(e,n,arguments.length>3&&void 0!==arguments[3]?arguments[3]:{})),t)}}ht(),pt();const mt=new Map;function bt(e){let{index:t=ci.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=yt(e),i=t.getAuction(e);let r={type:"xml",value:n,ttlseconds:Number(e.ttl)+15};return U.getConfig("cache.vasttrack")&&(r.bidder=e.bidder,r.bidid=e.requestId,r.aid=e.auctionId),null!=i&&(r.timestamp=i.getAuctionStart()),"string"==typeof e.customCacheKey&&""!==e.customCacheKey&&(r.key=e.customCacheKey),r}function yt(e){return e.vastXml?e.vastXml:`<VAST version="3.0">\n <Ad>\n <Wrapper>\n <AdSystem>prebid.org wrapper</AdSystem>\n <VASTAdTagURI><![CDATA[${e.vastUrl}]]></VASTAdTagURI>\n ${(t=(t=e.vastImpUrl)&&(Array.isArray(t)?t:[t]))?t.map((e=>`<Impression><![CDATA[${e}]]></Impression>`)).join(""):""}\n <Creatives></Creatives>\n </Wrapper>\n </Ad>\n </VAST>`;var t}const vt=(e,t,n)=>{e.videoCacheKey=n||ae(),e.vastUrl||(e.vastUrl=t)},wt=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:ht;const i={puts:e.map(bt)};n(U.getConfig("cache.timeout"))(U.getConfig("cache.url"),function(e){return{success:function(t){let n;try{n=JSON.parse(t).responses}catch(t){return void e(t,[])}n?e(null,n):e(new Error("The cache server didn't respond with a responses property."),[])},error:function(t,n){e(new Error(`Error storing video ad in the cache: ${t}: ${JSON.stringify(n)}`),[])}}}(t),JSON.stringify(i),{contentType:"text/plain",withCredentials:!0})};function Et(e){const t=e.map((e=>e.bidResponse));wt(t,(function(n,i){n?he(`Failed to save to the video cache: ${n}. Video bids will be discarded:`,t):e.length!==i.length?he(`expected ${e.length} cache IDs, got ${i.length} instead`):i.forEach(((t,n)=>{const{auctionInstance:i,bidResponse:r,afterBidAdded:o}=e[n];var s;""===t.uuid?ge("Supplied video cache key was already in use by Prebid Cache; caching attempt was rejected. Video bid must be discarded."):(vt(r,(s=t.uuid,`${U.getConfig("cache.url")}?uuid=${s}`),t.uuid),Yn(i,r),o())}))}))}let At,Ct,Tt;U.getConfig("cache",(e=>{let{cache:t}=e;At="number"==typeof t.batchSize&&t.batchSize>0?t.batchSize:1,Ct="number"==typeof t.batchTimeout&&t.batchTimeout>0?t.batchTimeout:0,t.useLocal&&!Tt&&(Tt=ci.onExpiry((e=>{e.getBidsReceived().forEach((e=>{const t=mt.get(e.videoCacheKey);t&&t.startsWith("blob")&&URL.revokeObjectURL(t),mt.delete(e.videoCacheKey)}))})))}));const Bt=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:setTimeout,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Et,n=[[]],i=!1;const r=e=>e();return function(o,s,a){const d=Ct>0?e:r;n[n.length-1].length>=At&&n.push([]),n[n.length-1].push({auctionInstance:o,bidResponse:s,afterBidAdded:a}),i||(i=!0,d((()=>{n.forEach(t),n=[[]],i=!1}),Ct))}}(),It=new class{constructor(e,t){this.getSettings=e,this.defaultScope=t}get(e,t){let n=this.getOwn(e,t);return void 0===n&&(n=this.getOwn(null,t)),n}getOwn(e,t){return e=this.#i(e),l(this.getSettings(),`${e}.${t}`)}getScopes(){return Object.keys(this.getSettings()).filter((e=>e!==this.defaultScope))}settingsFor(e){return Ve({},this.ownSettingsFor(null),this.ownSettingsFor(e))}ownSettingsFor(e){return e=this.#i(e),this.getSettings()[e]||{}}#i(e){return null==e?this.defaultScope:e}}((()=>N().bidderSettings||{}),u.BD_SETTING_STANDARD),Rt="prebid",St="bidder",kt="analytics";var Ot=n(128),Dt=n.n(Ot);let xt=Dt()({ready:Dt().SYNC|Dt().ASYNC|Dt().QUEUE});const Ut=W();xt.ready=(()=>{const e=xt.ready;return function(){try{return e.apply(xt,arguments)}finally{Ut.resolve()}}})(),Ut.promise,xt.get;const _t="component",jt=_t+"Type",qt=_t+"Name",Pt="adapterCode",$t="storageType",Nt="configName",Mt="syncType",Wt="syncUrl",Lt="_config";function Gt(e){return function(t,n,i){const r={[jt]:t,[qt]:n,[_t]:`${t}.${n}`};return t===St&&(r[Pt]=e(n)),Ft(Object.assign(r,i))}}const Ft=xt("sync",(e=>e)),[Ht,Vt]=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(e){function t(e){return function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];e("Activity control:",...n)}}return{logError:t(he),logWarn:t(ge),logMessage:t(fe),logInfo:t(pe)}}();const t={};function n(e){return t[e]=t[e]||[]}function i(t,n,i,r){let o;try{o=i(r)}catch(i){e.logError(`Exception in rule ${n} for '${t}'`,i),o={allow:!1,reason:i}}return o&&Object.assign({activity:t,name:n,component:r[_t]},o)}const r={};function o(t){let{activity:n,name:i,allow:o,reason:s,component:a}=t;const d=`${i} ${o?"allowed":"denied"} '${n}' for '${a}'${s?":":""}`,c=r.hasOwnProperty(d);if(c&&clearTimeout(r[d]),r[d]=setTimeout((()=>delete r[d]),1e3),!c){const t=[d];s&&t.push(s),(o?e.logInfo:e.logWarn).apply(e,t)}}return[function(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10;const o=n(e),s=o.findIndex((e=>{let[t]=e;return r<t})),a=[r,t,i];return o.splice(s<0?o.length:s,0,a),function(){const e=o.indexOf(a);e>=0&&o.splice(e,1)}},function(e,t){let r,s;for(const[a,d,c]of n(e)){if(r!==a&&s)break;r=a;const n=i(e,d,c,t);if(n){if(!n.allow)return o(n),!1;s=n}}return s&&o(s),!0}]}(),zt="html5",Kt="cookie";let Jt=[];Ht(tt,"deviceAccess config",(function(){if(!Pe())return{allow:!1}})),Ht(tt,"bidderSettings.*.storageAllowed",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:It;if(e[jt]!==St)return;let n=t.get(e[Pt],"storageAllowed");if(n&&!0!==n){const t=e[$t];n=Array.isArray(n)?n.some((e=>e===t)):n===t}else n=!!n;return n?void 0:{allow:n}})),U.setDefaults({userSync:je({syncEnabled:!0,filterSettings:{image:{bidders:"*",filter:"include"}},syncsPerBidder:5,syncDelay:3e3,auctionDelay:500})});const Yt=function(){let{moduleName:e,moduleType:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{isAllowed:n=Vt}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};function i(i,r){let o=e;const s=U.getCurrentBidder();return s&&t===St&&Br.aliasRegistry[s]===e&&(o=s),i({valid:n(tt,Ir(t,o,{[$t]:r}))})}function r(e,t,n){if(!n||"function"!=typeof n)return i(e,t);Jt.push((function(){let r=i(e,t);n(r)}))}function o(e){const t=e.charAt(0).toUpperCase()+e.substring(1),n=()=>window[e],i=function(t){return r((function(t){if(t&&t.valid)try{return!!n()}catch(t){he(`${e} api disabled`)}return!1}),zt,t)};return{[`has${t}`]:i,[`${e}IsEnabled`]:e=>r((function(e){if(e&&e.valid)try{return n().setItem("prebid.cookieTest","1"),"1"===n().getItem("prebid.cookieTest")}catch(e){}finally{try{n().removeItem("prebid.cookieTest")}catch(e){}}return!1}),zt,e),[`setDataIn${t}`]:(e,t,o)=>r((function(r){r&&r.valid&&i()&&n().setItem(e,t)}),zt,o),[`getDataFrom${t}`]:(e,t)=>r((function(t){return t&&t.valid&&i()?n().getItem(e):null}),zt,t),[`removeDataFrom${t}`]:(e,t)=>r((function(t){t&&t.valid&&i()&&n().removeItem(e)}),zt,t)}}return{setCookie:function(e,t,n,i,o,s){return r((function(r){if(r&&r.valid){const r=o&&""!==o?` ;domain=${encodeURIComponent(o)}`:"",s=n&&""!==n?` ;expires=${n}`:"",a=null!=i&&"none"==i.toLowerCase()?"; Secure":"";document.cookie=`${e}=${encodeURIComponent(t)}${s}; path=/${r}${i?`; SameSite=${i}`:""}${a}`}}),Kt,s)},getCookie:function(e,t){return r((function(t){if(t&&t.valid){let t=window.document.cookie.match("(^|;)\\s*"+e+"\\s*=\\s*([^;]*)\\s*(;|$)");return t?decodeURIComponent(t[2]):null}return null}),Kt,t)},cookiesAreEnabled:function(e){return r((function(e){return!(!e||!e.valid)&&$e()}),Kt,e)},...o("localStorage"),...o("sessionStorage"),findSimilarCookies:function(e,t){return r((function(t){if(t&&t.valid){const t=[];if(Pe()){const n=document.cookie.split(";");for(;n.length;){const i=n.pop();let r=i.indexOf("=");r=r<0?i.length:r,decodeURIComponent(i.slice(0,r).replace(/^\s+/,"")).indexOf(e)>=0&&t.push(decodeURIComponent(i.slice(r+1)))}}return t}}),Kt,t)}}}({moduleName:"usersync",moduleType:Rt}),Qt=function(e){let t={},n={image:[],iframe:[]},i=new Set,r={},o={image:!0,iframe:!1},s=e.config;function a(){if(s.syncEnabled&&e.browserSupportsCookies){try{o.iframe&&d(n.iframe,(e=>{let[t,i]=e;fe(`Invoking iframe user sync for bidder: ${t}`),Oe(i),function(e,t){e.image=e.image.filter((e=>e[0]!==t))}(n,t)})),o.image&&d(n.image,(e=>{let[t,n]=e;fe(`Invoking image pixel user sync for bidder: ${t}`),ke(n)}))}catch(e){return he("Error firing user syncs",e)}n={image:[],iframe:[]}}}function d(e,t){_e(e).forEach(t)}return U.getConfig("userSync",(e=>{if(e.userSync){let t=e.userSync.filterSettings;Te(t)&&(t.image||t.all||(e.userSync.filterSettings.image={bidders:"*",filter:"include"}))}s=Object.assign(s,e.userSync)})),e.regRule(nt,"userSync config",(e=>{if(!s.syncEnabled)return{allow:!1,reason:"syncs are disabled"};if(e[jt]===St){const n=e[Mt],i=e[qt];if(!t.canBidderRegisterSync(n,i))return{allow:!1,reason:`${n} syncs are not enabled for ${i}`}}})),t.registerSync=(t,o,a)=>i.has(o)?fe(`already fired syncs for "${o}", ignoring registerSync call`):s.syncEnabled&&Ae(n[t])?o?0!==s.syncsPerBidder&&Number(r[o])>=s.syncsPerBidder?ge(`Number of user syncs exceeded for "${o}"`):void(e.isAllowed(nt,Ir(St,o,{[Mt]:t,[Wt]:a}))&&(n[t].push([o,a]),r=function(e,t){return e[t]?e[t]+=1:e[t]=1,e}(r,o))):ge("Bidder is required for registering sync"):ge(`User sync type "${t}" not supported`),t.bidderDone=i.add.bind(i),t.syncUsers=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(e)return setTimeout(a,Number(e));a()},t.triggerUserSyncs=()=>{s.enableOverride&&t.syncUsers()},t.canBidderRegisterSync=(e,t)=>!s.filterSettings||!function(e,t){let n=s.filterSettings;if(function(e,t){if(e.all&&e[t])return ge(`Detected presence of the "filterSettings.all" and "filterSettings.${t}" in userSync config. You cannot mix "all" with "iframe/image" configs; they are mutually exclusive.`),!1;let n=e.all?e.all:e[t],i=e.all?"all":t;if(!n)return!1;let r=n.filter,o=n.bidders;return r&&"include"!==r&&"exclude"!==r?(ge(`UserSync "filterSettings.${i}.filter" setting '${r}' is not a valid option; use either 'include' or 'exclude'.`),!1):!!("*"===o||Array.isArray(o)&&o.length>0&&o.every((e=>Ee(e)&&"*"!==e)))||(ge(`Detected an invalid setup in userSync "filterSettings.${i}.bidders"; use either '*' (to represent all bidders) or an array of bidders.`),!1)}(n,e)){o[e]=!0;let i=n.all?n.all:n[e],r="*"===i.bidders?[t]:i.bidders;const s={include:(e,t)=>!e.includes(t),exclude:(e,t)=>e.includes(t)};return s[i.filter||"include"](r,t)}return!o[e]}(e,t),t}(Object.defineProperties({config:U.getConfig("userSync"),isAllowed:Vt,regRule:Ht},{browserSupportsCookies:{get:function(){return!/^((?!chrome|android|crios|fxios).)*safari/i.test(navigator.userAgent)&&Yt.cookiesAreEnabled()}}})),Xt="outstream";new Map([["mimes",e=>Array.isArray(e)&&e.length>0&&e.every((e=>"string"==typeof e))],["minduration",We],["maxduration",We],["startdelay",We],["maxseq",We],["poddur",We],["protocols",Le],["w",We],["h",We],["podid",Ee],["podseq",We],["rqddurs",Le],["placement",We],["plcmt",We],["linearity",We],["skip",e=>[1,0].includes(e)],["skipmin",We],["skipafter",We],["sequence",We],["slotinpod",We],["mincpmpersec",Ce],["battr",Le],["maxextended",We],["minbitrate",We],["maxbitrate",We],["boxingallowed",We],["playbackmethod",Le],["playbackend",We],["delivery",Le],["pos",We],["api",Le],["companiontype",Le],["poddedupe",Le]]);const Zt=xt("sync",(function(e,t,n,i,r){if(n&&(r||i!==Xt)){const{url:t,useLocal:n}=U.getConfig("cache")||{};return t||n||!e.vastXml||e.vastUrl?!(!e.vastUrl&&!e.vastXml):(he('\n This bid contains only vastXml and will not work when a prebid cache url is not specified.\n Try enabling either prebid cache with pbjs.setConfig({ cache: {url: "..."} });\n or local cache with pbjs.setConfig({ cache: { useLocal: true }});\n '),!1)}return!(i===Xt&&!r&&!(e.renderer||t&&t.renderer||n.renderer))}),"checkVideoBidSetup");let en=null,tn=0,nn=[];function rn(e,t){const n=tn;let i=setTimeout((()=>{tn===n&&null==en?e():null!=en?nn.push({callback:e,startTime:n,setTimerId(e){i=e}}):i=rn(e,tn-n)()}),t);return()=>i}function on(){let{startTime:e=qe,ttl:t=(()=>null),monotonic:n=!1,slack:i=5e3}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const r=new Map,o=[],s=[],a=n?e=>s.push(e):e=>s.splice(function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e=>e,i=0,r=e.length&&e.length-1;const o=n(t);for(;r-i>1;){const t=i+Math.round((r-i)/2);o>n(e[t])?i=t:r=t}for(;e.length>i&&o>n(e[i]);)i++;return i}(s,e,(e=>e.expiry)),0,e);let d,c;function l(){if(c&&clearTimeout(c),s.length>0){const e=qe();d=Math.max(e,s[0].expiry+i),c=rn((()=>{const e=qe();let t=0;for(const n of s){if(n.expiry>e)break;o.forEach((e=>{try{e(n.item)}catch(e){he(e)}})),r.delete(n.item),t++}s.splice(0,t),c=null,l()}),d-e)}else c=null}let u={};return{[Symbol.iterator]:()=>r.keys(),add(n){!r.has(n)&&r.set(n,function(n){const r={},o=u;let s;const[f,p]=Object.entries({start:e,delta:t}).map((e=>{let t,[f,p]=e;return function(){const e=t={};M.resolve(p(n)).then((n=>{e===t&&(r[f]=n,o===u&&null!=r.start&&null!=r.delta&&(s=r.start+r.delta,a(g),(null==c||d>s+i)&&l()))}))}})),g={item:n,refresh:p,get expiry(){return s}};return f(),p(),g}(n))},clear(){s.length=0,l(),r.clear(),u={}},toArray:()=>Array.from(r.keys()),refresh(){s.length=0,l();for(const e of r.values())e.refresh()},onExpiry:e=>(o.push(e),()=>{const t=o.indexOf(e);t>=0&&o.splice(t,1)})}}document.addEventListener("visibilitychange",(function(){document.hidden?en=Date.now():(tn+=Date.now()-(en??0),en=null,nn.forEach((e=>{let{callback:t,startTime:n,setTimerId:i}=e;return i(rn(t,tn-n)())})),nn=[])}));const sn="eventHistoryTTL";let an=null;const dn=on({monotonic:!0,ttl:()=>an});U.getConfig(sn,(e=>{const t=an;e=e?.[sn],an="number"==typeof e?1e3*e:null,t!==an&&dn.refresh()}));let cn=Array.prototype.slice,ln=Array.prototype.push,un=Object.values(g);const fn={bidWon:"adUnitCode"},pn=function(){let e={},t={};function n(e){return un.includes(e)}return t.has=n,t.on=function(t,i,r){if(n(t)){let n=e[t]||{que:[]};r?(n[r]=n[r]||{que:[]},n[r].que.push(i)):n.que.push(i),e[t]=n}else he("Wrong event name : "+t+" Valid event names :"+un)},t.emit=function(t){!function(t,n){fe("Emitting event for: "+t);let i=n[0]||{},r=i[fn[t]],o=e[t]||{que:[]};var s=Object.keys(o);let a=[];dn.add({eventType:t,args:i,id:r,elapsedTime:window.performance&&window.performance.now&&window.performance.now()||0}),r&&s.includes(r)&&ln.apply(a,o[r].que),ln.apply(a,o.que),(a||[]).forEach((function(e){if(e)try{e.apply(null,n)}catch(e){he("Error executing handler:","events.js",e,t)}}))}(t,cn.call(arguments,1))},t.off=function(t,n,i){let r=e[t];Ie(r)||Ie(r.que)&&Ie(r[i])||i&&(Ie(r[i])||Ie(r[i].que))||(i?(r[i].que||[]).forEach((function(e){let t=r[i].que;e===n&&t.splice(t.indexOf(e),1)})):(r.que||[]).forEach((function(e){let t=r.que;e===n&&t.splice(t.indexOf(e),1)})),e[t]=r)},t.get=function(){return e},t.addEvents=function(e){un=un.concat(e)},t.getEvents=function(){return dn.toArray().map((e=>Object.assign({},e)))},t}();var gn;gn=pn.emit.bind(pn),K=gn;const{on:hn,off:mn,get:bn,getEvents:yn,emit:vn,addEvents:wn,has:En}=pn,An="performanceMetrics",Cn=window.performance&&window.performance.now?()=>window.performance.now():()=>Date.now(),Tn=new WeakMap;function Bn(){let{now:e=Cn,mkNode:t=Sn,mkTimer:n=Rn,mkRenamer:i=(e=>e),nodes:r=Tn}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(){return function o(s){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e=>({forEach(t){t(e)}});a=i(a);const d=function(e){return s.dfWalk({visit(t,n){const i=n.timestamps;if(i.hasOwnProperty(e))return i[e]}})};function c(e,t){const n=a(e);s.dfWalk({follow:(e,t)=>t.propagate&&(!e||!e.stopPropagation),visit(e,i){n.forEach((n=>{null==e?i.metrics[n]=t:(i.groups.hasOwnProperty(n)||(i.groups[n]=[]),i.groups[n].push(t))}))}})}function l(t){return n(e,(e=>c(t,e)))}function u(){let e={};return s.dfWalk({visit(t,n){e=Object.assign({},!t||t.includeGroups?n.groups:null,n.metrics,e)}}),e}const f={startTiming:l,measureTime:function(e,t){return l(e).stopAfter(t)()},measureHookTime:function(e,t,n){const i=l(e);return n(function(e){const t=i.stopBefore(e);return t.bail=e.bail&&i.stopBefore(e.bail),t.stopTiming=i,t.untimed=e,t}(t))},checkpoint:function(t){s.timestamps[t]=e()},timeSince:function(t,n){const i=d(t),r=null!=i?e()-i:null;return null!=n&&c(n,r),r},timeBetween:function(e,t,n){const i=d(e),r=d(t),o=null!=i&&null!=r?r-i:null;return null!=n&&c(n,o),o},setMetric:c,getMetrics:u,fork:function(){let{propagate:e=!0,stopPropagation:n=!1,includeGroups:i=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return o(t([[s,{propagate:e,stopPropagation:n,includeGroups:i}]]),a)},join:function(e){let{propagate:t=!0,stopPropagation:n=!1,includeGroups:i=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=r.get(e);null!=o&&o.addParent(s,{propagate:t,stopPropagation:n,includeGroups:i})},newMetrics:function(){return o(s.newSibling(),a)},renameWith:function(e){return o(s,e)},toJSON:()=>u()};return r.set(f,s),f}(t([]))}}function In(e,t,n){return function(){t&&t();try{return e.apply(this,arguments)}finally{n&&n()}}}function Rn(e,t){const n=e();let i=!1;function r(){i||(t(e()-n),i=!0)}return r.stopBefore=e=>In(e,r),r.stopAfter=e=>In(e,null,r),r}function Sn(e){return{metrics:{},timestamps:{},groups:{},addParent(t,n){e.push([t,n])},newSibling:()=>Sn(e.slice()),dfWalk(){let t,{visit:n,follow:i=(()=>!0),visited:r=new Set,inEdge:o}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!r.has(this)){if(r.add(this),t=n(o,this),null!=t)return t;for(const[s,a]of e)if(i(o,a)&&(t=s.dfWalk({visit:n,follow:i,visited:r,inEdge:a}),null!=t))return t}}}}const kn=(()=>{const e=function(){},t=()=>({}),n={forEach:e},i=()=>null;i.stopBefore=e=>e,i.stopAfter=e=>e;const r=Object.defineProperties({dfWalk:e,newSibling:()=>r,addParent:e},Object.fromEntries(["metrics","timestamps","groups"].map((e=>[e,{get:t}]))));return Bn({now:()=>0,mkNode:()=>r,mkRenamer:()=>()=>n,mkTimer:()=>i,nodes:{get:e,set:e}})()})();let On=!0;function Dn(e){return On&&e||kn}function xn(e,t){return function(n,i){return function(r){for(var o=arguments.length,s=new Array(o>1?o-1:0),a=1;a<o;a++)s[a-1]=arguments[a];const d=this;return Dn(t.apply(d,s)).measureHookTime(e+n,r,(function(e){return i.call(d,e,...s)}))}}}U.getConfig(An,(e=>{On=!!e[An]})),Bn(),xn("requestBids.",(e=>e.metrics)),xn("addBidResponse.",((e,t)=>t.metrics));const Un="minBidCacheTTL";let _n=1,jn=null;const qn=[];function Pn(){return jn}function $n(e){qn.push(e)}U.getConfig("ttlBuffer",(e=>{"number"==typeof e.ttlBuffer?_n=e.ttlBuffer:he("Invalid value for ttlBuffer",e.ttlBuffer)})),U.getConfig(Un,(e=>{const t=jn;jn=e?.[Un],jn="number"==typeof jn?jn:null,t!==jn&&qn.forEach((e=>e(jn)))}));const{syncUsers:Nn}=Qt,Mn="completed";hn(g.BID_ADJUSTMENT,(function(e){!function(e){let t=function(e,t,n){let{index:i=ci.index,bs:r=It}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};n=n||i.getBidRequest(t);const o=t?.adapterCode,s=t?.bidderCode||n?.bidder,a=r.get(t?.adapterCode,"adjustAlternateBids"),d=r.getOwn(s,"bidCpmAdjustment")||r.get(a?o:s,"bidCpmAdjustment");if(d&&"function"==typeof d)try{return d(e,Object.assign({},t),n)}catch(e){he("Error during bid adjustment",e)}return e}(e.cpm,e);t>=0&&(e.cpm=t)}(e)}));const Wn={},Ln={},Gn=[],Fn=N();function Hn(e){let{adUnits:n,adUnitCodes:d,callback:c,cbTimeout:l,labels:u,auctionId:f,ortb2Fragments:p,metrics:h}=e;h=Dn(h);const m=n,y=u,v=d,w=f||ae(),E=l,A=new Set,C=W(),B=W();let I,R,S,k,O=[],D=c,x=[],_=on({startTime:e=>e.responseTimestamp,ttl:e=>null==Pn()?null:1e3*Math.max(Pn(),e.ttl)}),j=[],q=[],P=[];function $(){return{auctionId:w,timestamp:I,auctionEnd:R,auctionStatus:k,adUnits:m,adUnitCodes:v,labels:y,bidderRequests:x,noBids:j,bidsReceived:_.toArray(),bidsRejected:O,winningBids:q,timeout:E,metrics:h,seatNonBids:P}}function N(e){if(e?vn(g.AUCTION_TIMEOUT,$()):clearTimeout(S),void 0===R){let t=[];e&&(fe(`Auction ${w} timedOut`),t=x.filter((e=>!A.has(e.bidderRequestId))).flatMap((e=>e.bids)),t.length&&vn(g.BID_TIMEOUT,t)),k=Mn,R=Date.now(),h.checkpoint("auctionEnd"),h.timeBetween("requestBids","auctionEnd","requestBids.total"),h.timeBetween("callBids","auctionEnd","requestBids.callBids"),C.resolve(),vn(g.AUCTION_END,$()),Jn(m,(function(){try{if(null!=D){const t=_.toArray().filter((e=>v.includes(e.adUnitCode))).reduce(ai,{});D.apply(Fn,[t,e,w]),D=null}}catch(e){he("Error executing bidsBackHandler",null,e)}finally{t.length&&Br.callTimedOutBidders(n,t,E);let e=U.getConfig("userSync")||{};e.enableOverride||Nn(e.syncDelay)}}))}}function L(){U.resetBidder(),pe(`Bids Received for Auction with id: ${w}`,_.toArray()),k=Mn,N(!1)}function G(e){A.add(e)}function F(e){e.forEach((e=>{var t;t=e,x=x.concat(t)}));let n={},d={bidRequests:e,run:()=>{S=setTimeout((()=>N(!0)),E),k="inProgress",vn(g.AUCTION_INIT,$());let d=function(e,n){let{index:d=ci.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},c=0,l=!1,u=new Set,f={};function p(){c--,l&&0===c&&e()}function h(e,t,n){return f[t.requestId]=!0,function(e,t){let{index:n=ci.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=n.getBidderRequest(e),r=n.getAdUnit(e),o=i&&i.start||e.requestTimestamp;Object.assign(e,{responseTimestamp:e.responseTimestamp||qe(),requestTimestamp:e.requestTimestamp||o,cpm:parseFloat(e.cpm)||0,bidder:e.bidder||e.bidderCode,adUnitCode:t}),null!=r?.ttlBuffer&&(e.ttlBuffer=r.ttlBuffer),e.timeToRespond=e.responseTimestamp-e.requestTimestamp}(t,e),c++,n(p)}function m(e,c){h(e,c,(e=>{let l=function(e){let{index:n=ci.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};vn(g.BID_ADJUSTMENT,e);const d=n.getAdUnit(e);e.instl=1===d?.ortb2Imp?.instl;const c=n.getBidRequest(e)?.renderer||d.renderer,l=e.mediaType,u=n.getMediaTypes(e),f=u&&u[l];var p=f&&f.renderer,h=null;!p||!p.render||!0===p.backupOnly&&e.renderer?!c||!c.render||!0===c.backupOnly&&e.renderer||(h=c):h=p,h&&(e.renderer=Dr.install({url:h.url,config:h.options,renderNow:null==h.url}),e.renderer.setRender(h.render));const m=Xn(e.mediaType,u,U.getConfig("mediaTypePriceGranularity")),b=function(e,n){let d=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,c=parseFloat(e);return isNaN(c)&&(c=""),{low:""===c?"":a(e,t,d),med:""===c?"":a(e,i,d),high:""===c?"":a(e,r,d),auto:""===c?"":a(e,s,d),dense:""===c?"":a(e,o,d),custom:""===c?"":a(e,n,d)}}(e.cpm,"object"==typeof m?m:U.getConfig("customPriceBucket"),U.getConfig("currency.granularityMultiplier"));return e.pbLg=b.low,e.pbMg=b.med,e.pbHg=b.high,e.pbAg=b.auto,e.pbDg=b.dense,e.pbCg=b.custom,e}(c);vn(g.BID_ACCEPTED,l),l.mediaType===Ze?function(e,t,n){let{index:i=ci.index}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=!0;const o=i.getMediaTypes({requestId:t.originalRequestId||t.requestId,adUnitId:t.adUnitId})?.video,s=o&&o?.context,a=o&&o?.useCacheKey,{useLocal:d,url:c,ignoreBidderCacheKey:l}=U.getConfig("cache")||{};d?(e=>{const t=yt(e),n=URL.createObjectURL(new Blob([t],{type:"text/xml"}));vt(e,n),mt.set(e.videoCacheKey,n)})(t):c&&(a||s!==Xt)&&(!t.videoCacheKey||l?(r=!1,Qn(e,t,n,o)):t.vastUrl||(he("videoCacheKey specified but not required vastUrl for video bid"),r=!1)),r&&(Yn(e,t),n())}(n,l,e):(function(e){return e.native&&"object"==typeof e.native}(l)&&function(e,t){const n=t?.nativeOrtbRequest,i=e.native?.ortb;if(n&&i){const t=function(e,t){const n={},i=t?.assets||[];n.clickUrl=e.link?.url,n.privacyLink=e.privacy;for(const t of e?.assets||[]){const e=i.find((e=>t.id===e.id));t.title?n.title=t.title.text:t.img?n[e?.img?.type===T.MAIN?"image":"icon"]={url:t.img.url,width:t.img.w,height:t.img.h}:t.data&&(n[hi[mi[e?.data?.type]]]=t.data.value)}n.impressionTrackers=[];let r=[];e.imptrackers&&n.impressionTrackers.push(...e.imptrackers);for(const t of e?.eventtrackers||[])t.event===fi&&t.method===li&&n.impressionTrackers.push(t.url),t.event===fi&&t.method===ui&&r.push(t.url);return r=r.map((e=>`<script async src="${e}"><\/script>`)),e?.jstracker&&r.push(e.jstracker),r.length&&(n.javascriptTrackers=r.join("\n")),n}(i,n);Object.assign(e.native,t)}["rendererUrl","adTemplate"].forEach((n=>{const i=t?.nativeParams?.[n];i&&(e.native[n]=vi(i))}))}(l,d.getAdUnit(l)),Yn(n,l),e())}))}function b(e,t,i){return h(e,t,(e=>{t.rejectionReason=i,ge(`Bid from ${t.bidder||"unknown bidder"} was rejected: ${i}`,t),vn(g.BID_REJECTED,t),n.addBidRejected(t),e()}))}function y(){let t=n.getBidRequests();const i=U.getConfig("auctionOptions");if(u.add(this),i&&!Ie(i)){const e=i.secondaryBidders;e&&!t.every((t=>e.includes(t.bidderCode)))&&(t=t.filter((t=>!e.includes(t.bidderCode))))}l=t.every((e=>u.has(e))),this.bids.forEach((e=>{f[e.bidId]||(n.addNoBid(e),vn(g.NO_BID,e))})),l&&0===c&&e()}return{addBidResponse:function(){function e(e,t){Vn.call({dispatch:m},e,t,(()=>{let n=!1;return i=>{n||(b(e,t,i),n=!0)}})())}return e.reject=b,e}(),adapterDone:function(){zn(M.resolve()).finally((()=>y.call(this)))}}}(L,this);Br.callBids(m,e,d.addBidResponse,d.adapterDone,{request(e,t){l(Wn,t),l(n,e),Ln[e]||(Ln[e]={SRA:!0,origin:t}),n[e]>1&&(Ln[e].SRA=!1)},done(e){Wn[e]--,Gn[0]&&c(Gn[0])&&Gn.shift()}},E,G,p),B.resolve()}};function c(e){let t=!0,n=U.getConfig("maxRequestsPerOrigin")||4;return e.bidRequests.some((e=>{let i=1,r=void 0!==e.src&&e.src===b?"s2s":e.bidderCode;return Ln[r]&&(!1===Ln[r].SRA&&(i=Math.min(e.bids.length,n)),Wn[Ln[r].origin]+i>n&&(t=!1)),!t})),t&&e.run(),t}function l(e,t){void 0===e[t]?e[t]=1:e[t]++}c(d)||(ge("queueing auction due to limited endpoint capacity"),Gn.push(d))}return $n((()=>_.refresh())),hn(g.SEAT_NON_BID,(e=>{var t;e.auctionId===w&&(t=e.seatnonbid,P=P.concat(t))})),{addBidReceived:function(e){_.add(e)},addBidRejected:function(e){O=O.concat(e)},addNoBid:function(e){j=j.concat(e)},callBids:function(){k="started",I=Date.now();let e=h.measureTime("requestBids.makeRequests",(()=>Br.makeBidRequests(m,I,w,E,y,p,h)));pe(`Bids Requested for Auction with id: ${w}`,e),h.checkpoint("callBids"),e.length<1?(ge("No valid bid requests returned for auction"),L()):Kn.call({dispatch:F,context:this},e)},addWinningBid:function(e){q=q.concat(e),Br.callBidWonBidder(e.adapterCode||e.bidder,e,n),e.deferBilling||Br.triggerBilling(e)},setBidTargeting:function(e){Br.callSetTargetingBidder(e.adapterCode||e.bidder,e)},getWinningBids:()=>q,getAuctionStart:()=>I,getAuctionEnd:()=>R,getTimeout:()=>E,getAuctionId:()=>w,getAuctionStatus:()=>k,getAdUnits:()=>m,getAdUnitCodes:()=>v,getBidRequests:()=>x,getBidsReceived:()=>_.toArray(),getNoBids:()=>j,getNonBids:()=>P,getFPD:()=>p,getMetrics:()=>h,end:C.promise,requestsDone:B.promise,getProperties:$}}const Vn=function(e){return function(e,t){return Object.defineProperties(t,Object.fromEntries(["before","after","getHooks","removeAll"].map((t=>[t,{get:()=>e[t]}])))),t}(e,(function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return n.push((function(){})),e.apply(this,n)}))}(xt("async",(function(e,t,n){!function(e){const t=U.getConfig("maxBid");return!t||!e.cpm||t>=Number(e.cpm)}(t)?n(E):this.dispatch.call(null,e,t)}),"addBidResponse")),zn=xt("sync",(e=>e),"responsesReady"),Kn=xt("sync",(function(e){this.dispatch.call(this.context,e)}),"addBidderRequests"),Jn=xt("async",(function(e,t){t&&t()}),"bidsBackCallback");function Yn(e,t){!function(e){let t;const n=!0===It.get(e.bidderCode,"allowZeroCpmBids")?e.cpm>=0:e.cpm>0;e.bidderCode&&(n||e.dealId)&&(t=function(e,t){let{index:n=ci.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!t)return{};const i=n.getBidRequest(t);var r={};return si(r,oi(t.mediaType,e),t,i),e&&It.getOwn(e,u.ADSERVER_TARGETING)&&(si(r,It.ownSettingsFor(e),t,i),t.sendStandardTargeting=It.get(e,"sendStandardTargeting")),t.native&&(r=Object.assign({},r,function(e){let{index:t=ci.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={};const i=t.getAdUnit(e),r=null==i?.nativeParams?.ortb&&!1!==i?.nativeParams?.sendTargetingKeys,o=function(e){const t={};return e?.nativeParams?.ext&&Object.keys(e.nativeParams.ext).forEach((e=>{t[e]=`hb_native_${e}`})),{...m,...t}}(i),s={...e.native,...e.native.ext};return delete s.ext,Object.keys(s).forEach((t=>{const s=o[t];let a=vi(e.native[t])||vi(e?.native?.ext?.[t]);if("adTemplate"===t||!s||!a)return;let d=i?.nativeParams?.[t]?.sendId;"boolean"!=typeof d&&(d=i?.nativeParams?.ext?.[t]?.sendId),d&&(a=`${s}:${e.adId}`);let c=i?.nativeParams?.[t]?.sendTargetingKeys;"boolean"!=typeof c&&(c=i?.nativeParams?.ext?.[t]?.sendTargetingKeys),("boolean"==typeof c?c:r)&&(n[s]=a)})),n}(t))),r}(e.bidderCode,e)),e.adserverTargeting=Object.assign(e.adserverTargeting||{},t)}(t),Dn(t.metrics).timeSince("addBidResponse","addBidResponse.total"),e.addBidReceived(t),vn(g.BID_RESPONSE,t)}const Qn=xt("async",(function(e,t,n,i){Bt(e,t,n)}),"callPrebidCache");function Xn(e,t,n){if(e&&n){if(e===Ze){const e=t?.[Ze]?.context??"instream";if(n[`${Ze}-${e}`])return n[`${Ze}-${e}`]}return n[e]}}const Zn=e=>t=>{const n=e||function(e){let{index:t=ci.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=Xn(e.mediaType,t.getMediaTypes(e),U.getConfig("mediaTypePriceGranularity"));return"string"==typeof e.mediaType&&n?"string"==typeof n?n:"custom":U.getConfig("priceGranularity")}(t);return"auto"===n?t.pbAg:"dense"===n?t.pbDg:"low"===n?t.pbLg:"medium"===n?t.pbMg:"high"===n?t.pbHg:"custom"===n?t.pbCg:void 0},ei=()=>e=>e.creativeId?e.creativeId:"",ti=()=>e=>e.meta&&e.meta.advertiserDomains&&e.meta.advertiserDomains.length>0?[e.meta.advertiserDomains].flat()[0]:"",ni=()=>e=>e.meta&&(e.meta.networkId||e.meta.networkName)?e?.meta?.networkName||e?.meta?.networkId:"",ii=()=>e=>{const t=e?.meta?.primaryCatId;return Array.isArray(t)?t[0]||"":t||""};function ri(e,t){return{key:e,val:"function"==typeof t?function(e,n){return t(e,n)}:function(e){return e[t]}}}function oi(e,t){const n=Object.assign({},It.settingsFor(null));if(n[u.ADSERVER_TARGETING]||(n[u.ADSERVER_TARGETING]=[ri(h.BIDDER,"bidderCode"),ri(h.AD_ID,"adId"),ri(h.PRICE_BUCKET,Zn()),ri(h.SIZE,"size"),ri(h.DEAL,"dealId"),ri(h.SOURCE,"source"),ri(h.FORMAT,"mediaType"),ri(h.ADOMAIN,ti()),ri(h.ACAT,ii()),ri(h.DSP,ni()),ri(h.CRID,ei())]),"video"===e){const e=n[u.ADSERVER_TARGETING].slice();if(n[u.ADSERVER_TARGETING]=e,[h.UUID,h.CACHE_ID].forEach((t=>{void 0===e.find((e=>e.key===t))&&e.push(ri(t,"videoCacheKey"))})),U.getConfig("cache.url")&&(!t||!1!==It.get(t,"sendStandardTargeting"))){const t=Fe(U.getConfig("cache.url"));void 0===e.find((e=>e.key===h.CACHE_HOST))&&e.push(ri(h.CACHE_HOST,(function(e){return e?.adserverTargeting?.[h.CACHE_HOST]||t.hostname})))}}return n}function si(e,t,n,i){var r=t[u.ADSERVER_TARGETING];return n.size=n.getSize(),(r||[]).forEach((function(r){var o,s=r.key,a=r.val;if(e[s]&&ge("The key: "+s+" is being overwritten"),we(a))try{a=a(n,i)}catch(e){he("bidmanager","ERROR",e)}(void 0===t.suppressEmptyKeys||!0!==t.suppressEmptyKeys)&&s!==h.DEAL&&s!==h.ACAT&&s!==h.DSP&&s!==h.CRID||(!Ee(o=a)||o&&0!==o.length)&&null!=a?e[s]=a:pe("suppressing empty key '"+s+"' from adserver targeting")})),e}function ai(e,t){return e[t.adUnitCode]||(e[t.adUnitCode]={bids:[]}),e[t.adUnitCode].bids.push(t),e}function di(e){Object.assign(this,{getAuction(t){let{auctionId:n}=t;if(null!=n)return e().find((e=>e.getAuctionId()===n))},getAdUnit(t){let{adUnitId:n}=t;if(null!=n)return e().flatMap((e=>e.getAdUnits())).find((e=>e.adUnitId===n))},getMediaTypes(e){let{adUnitId:t,requestId:n}=e;if(null!=n){const e=this.getBidRequest({requestId:n});if(null!=e&&(null==t||e.adUnitId===t))return e.mediaTypes}else if(null!=t){const e=this.getAdUnit({adUnitId:t});if(null!=e)return e.mediaTypes}},getBidderRequest(t){let{requestId:n,bidderRequestId:i}=t;if(null!=n||null!=i){let t=e().flatMap((e=>e.getBidRequests()));return null!=i&&(t=t.filter((e=>e.bidderRequestId===i))),null==n?t[0]:t.find((e=>e.bids&&null!=e.bids.find((e=>e.bidId===n))))}},getBidRequest(t){let{requestId:n}=t;if(null!=n)return e().flatMap((e=>e.getBidRequests())).flatMap((e=>e.bids)).find((e=>e&&e.bidId===n))},getOrtb2(e){return this.getBidderRequest(e)?.ortb2||this.getAuction(e)?.getFPD()?.global?.ortb2}})}const ci=function(){const e=on({startTime:e=>e.end.then((()=>e.getAuctionEnd())),ttl:e=>null==Pn()?null:e.end.then((()=>1e3*Math.max(Pn(),...e.getBidsReceived().map((e=>e.ttl)))))});$n((()=>e.refresh()));const t={onExpiry:e.onExpiry};function n(t){for(const n of e)if(n.getAuctionId()===t)return n}function i(){return e.toArray().flatMap((e=>e.getBidsReceived()))}return t.addWinningBid=function(e){const t=Dn(e.metrics);t.checkpoint("bidWon"),t.timeBetween("auctionEnd","bidWon","adserver.pending"),t.timeBetween("requestBids","bidWon","adserver.e2e");const i=n(e.auctionId);i?i.addWinningBid(e):ge("Auction not found when adding winning bid")},Object.entries({getAllWinningBids:{name:"getWinningBids"},getBidsRequested:{name:"getBidRequests"},getNoBids:{},getAdUnits:{},getBidsReceived:{pre:e=>e.getAuctionStatus()===Mn},getAdUnitCodes:{post:De}}).forEach((n=>{let[i,{name:r=i,pre:o,post:s}]=n;const a=null==o?e=>e[r]():e=>o(e)?e[r]():[],d=null==s?e=>e:e=>e.filter(s);t[i]=()=>d(e.toArray().flatMap(a))})),t.getAllBidsForAdUnitCode=function(e){return i().filter((t=>t&&t.adUnitCode===e))},t.createAuction=function(t){const n=Hn(t);return function(t){e.add(t)}(n),n},t.findBidByAdId=function(e){return i().find((t=>t.adId===e))},t.getStandardBidderAdServerTargeting=function(){return oi()[u.ADSERVER_TARGETING]},t.setStatusForBids=function(e,i){let r=t.findBidByAdId(e);if(r&&(r.status=i),r&&"targetingSet"===i){const e=n(r.auctionId);e&&e.setBidTargeting(r)}},t.getLastAuctionId=function(){const t=e.toArray();return t.length&&t[t.length-1].getAuctionId()},t.clearAllAuctions=function(){e.clear()},t.index=new di((()=>e.toArray())),t}(),li=1,ui=2,fi=1,pi=[],gi=(Object.keys(m).map((e=>m[e])),{image:{ortb:{ver:"1.2",assets:[{required:1,id:1,img:{type:3,wmin:100,hmin:100}},{required:1,id:2,title:{len:140}},{required:1,id:3,data:{type:1}},{required:0,id:4,data:{type:2}},{required:0,id:5,img:{type:1,wmin:20,hmin:20}}]},image:{required:!0},title:{required:!0},sponsoredBy:{required:!0},clickUrl:{required:!0},body:{required:!1},icon:{required:!1}}}),hi=Ei(A),mi=Ei(C);function bi(e){if(e&&e.type&&(!(!(t=e.type)||!Object.keys(gi).includes(t))||(he(`${t} nativeParam is not supported`),!1))&&(e=gi[e.type]),!e||!e.ortb||function(e){const t=e.assets;if(!Array.isArray(t)||0===t.length)return he("assets in mediaTypes.native.ortb is not an array, or it's empty. Assets: ",t),!1;const n=t.map((e=>e.id));return t.length!==new Set(n).size||n.some((e=>e!==parseInt(e,10)))?(he("each asset object must have 'id' property, it must be unique and it must be an integer"),!1):e.hasOwnProperty("eventtrackers")&&!Array.isArray(e.eventtrackers)?(he("ortb.eventtrackers is not an array. Eventtrackers: ",e.eventtrackers),!1):t.every((e=>function(e){if(!Te(e))return he("asset must be an object. Provided asset: ",e),!1;if(e.img){if(!Ce(e.img.w)&&!Ce(e.img.wmin))return he("for img asset there must be 'w' or 'wmin' property"),!1;if(!Ce(e.img.h)&&!Ce(e.img.hmin))return he("for img asset there must be 'h' or 'hmin' property"),!1}else if(e.title){if(!Ce(e.title.len))return he("for title asset there must be 'len' property defined"),!1}else if(e.data){if(!Ce(e.data.type))return he("for data asset 'type' property must be a number"),!1}else if(e.video&&!(Array.isArray(e.video.mimes)&&Array.isArray(e.video.protocols)&&Ce(e.video.minduration)&&Ce(e.video.maxduration)))return he("video asset is not properly configured"),!1;return!0}(e)))}(e.ortb))return e;var t}function yi(e){let{index:t=ci.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=t.getAdUnit(e);if(!n)return!1;let i=n.nativeOrtbRequest;return function(e,t){if(!e?.link?.url)return he("native response doesn't have 'link' property. Ortb response: ",e),!1;let n=t.assets.filter((e=>1===e.required)).map((e=>e.id)),i=e.assets.map((e=>e.id));const r=n.every((e=>i.includes(e)));return r||he(`didn't receive a bid with all required assets. Required ids: ${n}, but received ids in response: ${i}`),r}(e.native?.ortb||function(e,t){const n={...wi(e),assets:[]};function i(e,i){let r=t.assets.find(e);null!=r&&(r=je(r),i(r),n.assets.push(r))}return Object.keys(e).filter((t=>!!e[t])).forEach((t=>{const n=vi(e[t]);switch(t){case"title":i((e=>null!=e.title),(e=>{e.title={text:n}}));break;case"image":case"icon":const e="image"===t?T.MAIN:T.ICON;i((t=>null!=t.img&&t.img.type===e),(e=>{e.img={url:n}}));break;default:t in A&&i((e=>null!=e.data&&e.data.type===C[A[t]]),(e=>{e.data={value:n}}))}})),n}(e.native,i),i)}function vi(e){return e?.url||e}function wi(e){const t={link:{},eventtrackers:[]};return Object.entries(e).forEach((e=>{let[n,i]=e;switch(n){case"clickUrl":t.link.url=i;break;case"clickTrackers":t.link.clicktrackers=Array.isArray(i)?i:[i];break;case"impressionTrackers":(Array.isArray(i)?i:[i]).forEach((e=>{t.eventtrackers.push({event:fi,method:li,url:e})}));break;case"javascriptTrackers":t.jstracker=Array.isArray(i)?i.join(""):i;break;case"privacyLink":t.privacy=i}})),t}function Ei(e){var t={};for(var n in e)t[e[n]]=n;return t}function Ai(e){var t=e;return{callBids:function(){},setBidderCode:function(e){t=e},getBidderCode:function(){return t}}}function Ci(e){let{src:t="client",bidder:n="",bidId:i,transactionId:r,adUnitId:o,auctionId:s}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var a=t,d=e||0;Object.assign(this,{bidderCode:n,width:0,height:0,statusMessage:function(){switch(d){case 0:return"Pending";case 1:return"Bid available";case 2:return"Bid returned empty or error response";case 3:return"Bid timed out"}}(),adId:se(),requestId:i,transactionId:r,adUnitId:o,auctionId:s,mediaType:"banner",source:a}),this.getStatusCode=function(){return d},this.getSize=function(){return this.width+"x"+this.height},this.getIdentifiers=function(){return{src:this.source,bidder:this.bidderCode,bidId:this.requestId,transactionId:this.transactionId,adUnitId:this.adUnitId,auctionId:this.auctionId}}}Object.fromEntries(Object.entries(m).map((e=>{let[t,n]=e;return[n,t]})));const Ti=["cpm","ttl","creativeId","netRevenue","currency"],Bi=["auctionId","transactionId"],Ii=Je((e=>{let{bidderCode:t}=e;if(Vt(at,Ir(St,t)))return{bidRequest:e=>e,bidderRequest:e=>e};function n(e,t,n){return Bi.includes(t)?null:Reflect.get(e,t,n)}function i(e,t){const n=new Proxy(e,t);return Object.entries(e).filter((e=>{let[t,n]=e;return"function"==typeof n})).forEach((t=>{let[i,r]=t;return n[i]=r.bind(e)})),n}const r=Je((e=>i(e,{get:n})),(e=>e.bidId));return{bidRequest:r,bidderRequest:e=>i(e,{get:(t,i,o)=>"bids"===i?e.bids.map(r):n(t,i,o)})}}));function Ri(e){return Object.assign(new Ai(e.code),{getSpec:function(){return Object.freeze(Object.assign({},e))},registerSyncs:t,callBids:function(n,i,r,o,s,a){if(!Array.isArray(n.bids))return;const d=Ii(n),c={};function l(e,t){const n=Dn(t.metrics);n.checkpoint("addBidResponse"),c[e]=!0,n.measureTime("addBidResponse.validate",(()=>function(e,t){let{index:n=ci.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};function i(e){return`Invalid bid from ${t.bidderCode}. Ignoring bid: ${e}`}return e?t?function(){let e=Object.keys(t);return Ti.every((n=>e.includes(n)&&![void 0,null].includes(t[n])))}()?"native"!==t.mediaType||yi(t,{index:n})?"video"!==t.mediaType||function(e){let{index:t=ci.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=t.getMediaTypes(e)?.video,i=n&&n?.context,r=n&&n?.useCacheKey,o=t.getAdUnit(e);return Zt(e,o,n,i,r)}(t,{index:n})?!("banner"===t.mediaType&&!function(e,t){let{index:n=ci.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if((t.width||0===parseInt(t.width,10))&&(t.height||0===parseInt(t.height,10)))return t.width=parseInt(t.width,10),t.height=parseInt(t.height,10),!0;if(null!=t.wratio&&null!=t.hratio)return t.wratio=parseInt(t.wratio,10),t.hratio=parseInt(t.hratio,10),!0;const i=n.getBidRequest(t),r=n.getMediaTypes(t),o=(s=i&&i.sizes||r&&r.banner&&r.banner.sizes,(a=s,"string"==typeof a?a.split(/\s*,\s*/).map((e=>e.match(/^(\d+)x(\d+)$/i))).filter((e=>e)).map((e=>{let[t,n,i]=e;return[parseInt(n,10),parseInt(i,10)]})):Array.isArray(a)?ce(a)?[a]:a.filter(ce):[]).map(de));var s,a;if(1===o.length){const[e,n]=o[0].split("x");return t.width=parseInt(e,10),t.height=parseInt(n,10),!0}return!1}(e,t,{index:n}))||(he(i("Banner bids require a width and height")),!1):(he(i("Video bid does not have required vastUrl or renderer property")),!1):(he(i("Native bid missing some required properties.")),!1):(he(i(`Bidder ${t.bidderCode} is missing required params. Check http://prebid.org/dev-docs/bidder-adapter-1.html for list of params.`)),!1):(ge(`Some adapter tried to add an undefined bid for ${e}.`),!1):(ge("No adUnitCode was supplied to addBidResponse."),!1)}(e,t)))?i(e,t):i.reject(e,t,y)}const u=[];function f(){r(),U.runWithBidder(e.code,(()=>{vn(g.BIDDER_DONE,n),t(u,n.gdprConsent,n.uspConsent,n.gppConsent)}))}const h=xi(n).measureTime("validate",(()=>n.bids.filter((t=>{return n=d.bidRequest(t),!!e.isBidRequestValid(n)||(ge(`Invalid bid sent to bidder ${e.code}: ${JSON.stringify(n)}`),!1);var n}))));if(0===h.length)return void f();const m={};h.forEach((e=>{m[e.bidId]=e,e.adUnitCode||(e.adUnitCode=e.placementCode)})),ki(e,h,n,o,a,{onRequest:e=>vn(g.BEFORE_BIDDER_HTTP,n,e),onResponse:t=>{s(e.code),u.push(t)},onPaapi:e=>{const t=m[e.bidId];t?Di(t,e):ge("Received fledge auction configuration for an unknown bidId",e)},onError:(t,i)=>{i.timedOut||s(e.code),Br.callBidderError(e.code,i,n),vn(g.BIDDER_ERROR,{error:i,bidderRequest:n}),he(`Server call for ${e.code} failed: ${t} ${i.status}. Continuing without bids.`,{bidRequests:h})},onBid:t=>{const n=m[t.requestId];if(n){if(t.adapterCode=n.bidder,function(e,t){let n=It.get(t,"allowAlternateBidderCodes")||!1,i=It.get(t,"allowedAlternateBidderCodes");return!!(e&&t&&t!==e&&(i=Ae(i)?i.map((e=>e.trim().toLowerCase())).filter((e=>!!e)).filter(De):i,!n||Ae(i)&&"*"!==i[0]&&!i.includes(e)))}(t.bidderCode,n.bidder))return ge(`${t.bidderCode} is not a registered partner or known bidder of ${n.bidder}, hence continuing without bid. If you wish to support this bidder, please mark allowAlternateBidderCodes as true in bidderSettings.`),void i.reject(n.adUnitCode,t,w);t.originalCpm=t.cpm,t.originalCurrency=t.currency,t.meta=t.meta||Object.assign({},t[n.bidder]),t.deferBilling=n.deferBilling,t.deferRendering=t.deferBilling&&(t.deferRendering??"function"!=typeof e.onBidBillable);const s=Object.assign(new Ci(p,n),t,(o=Bi,"object"!=typeof(r=n)?{}:o.reduce(((e,t,n)=>{if("function"==typeof t)return e;let i=t,s=t.match(/^(.+?)\sas\s(.+?)$/i);s&&(t=s[1],i=s[2]);let a=r[t];return"function"==typeof o[n+1]&&(a=o[n+1](a,e)),void 0!==a&&(e[i]=a),e}),{})));l(n.adUnitCode,s)}else ge(`Bidder ${e.code} made bid for unknown request ID: ${t.requestId}. Ignoring.`),i.reject(null,t,v);var r,o},onCompletion:f})}});function t(t,n,i,r){Oi(e,t,n,i,r)}}const Si=["bids","paapi"],ki=xt("async",(function(e,t,n,i,r,o){let{onRequest:s,onResponse:a,onPaapi:d,onError:c,onBid:l,onCompletion:u}=o;const p=xi(n);u=p.startTiming("total").stopBefore(u);const g=Ii(n);let h=p.measureTime("buildRequests",(()=>e.buildRequests(t.map(g.bidRequest),g.bidderRequest(n))));if(!h||0===h.length)return void u();Array.isArray(h)||(h=[h]);const m=Ne(u,h.length);h.forEach((t=>{const n=p.fork();function o(e){null!=e&&(e.metrics=n.fork().renameWith()),l(e)}const u=r((function(i,r){h();try{i=JSON.parse(i)}catch(e){}i={body:i,headers:{get:r.getResponseHeader.bind(r)}},a(i);try{i=n.measureTime("interpretResponse",(()=>e.interpretResponse(i,t)))}catch(t){return he(`Bidder ${e.code} failed to interpret the server's response. Continuing without bids`,null,t),void m()}let s,c;i&&!Object.keys(i).some((e=>!Si.includes(e)))?(s=i.bids,c=i.paapi):s=i,Ae(c)&&c.forEach(d),s&&(Ae(s)?s.forEach(o):o(s)),m()})),g=r((function(e,t){h(),c(e,t),m()}));s(t);const h=n.startTiming("net"),b="TRUE"===ye(f).toUpperCase()||be();function y(n){const i=t.options;return Object.assign(n,i,{browsingTopics:!(i?.hasOwnProperty("browsingTopics")&&!i.browsingTopics)&&(It.get(e.code,"topicsHeader")??!0)&&Vt(ot,Ir(St,e.code)),suppressTopicsEnrollmentWarning:i?.hasOwnProperty("suppressTopicsEnrollmentWarning")?i.suppressTopicsEnrollmentWarning:!b})}switch(t.method){case"GET":i(`${t.url}${v=t.data,v?`?${"object"==typeof v?function(e){let t="";for(var n in e)e.hasOwnProperty(n)&&(t+=n+"="+encodeURIComponent(e[n])+"&");return t=t.replace(/&$/,""),t}(v):v}`:""}`,{success:u,error:g},void 0,y({method:"GET",withCredentials:!0}));break;case"POST":const n=t.options?.endpointCompression,r=e=>{let{url:t,payload:n}=e;i(t,{success:u,error:g},n,y({method:"POST",contentType:"text/plain",withCredentials:!0}))};n&&b&&ge(`Skipping GZIP compression for ${e.code} as debug mode is enabled`),n&&!b&&Qe()?async function(e){"string"!=typeof e&&(e=JSON.stringify(e));const t=(new TextEncoder).encode(e),n=new Blob([t]).stream().pipeThrough(new window.CompressionStream("gzip")),i=await new Response(n).blob(),r=await i.arrayBuffer();return new Uint8Array(r)}(t.data).then((e=>{const n=new URL(t.url,window.location.origin);n.searchParams.has("gzip")||n.searchParams.set("gzip","1"),r({url:n.href,payload:e})})):r({url:t.url,payload:"string"==typeof t.data?t.data:JSON.stringify(t.data)});break;default:ge(`Skipping invalid request from ${e.code}. Request type ${t.type} must be GET or POST`),m()}var v}))}),"processBidderRequests"),Oi=xt("async",(function(e,t,n,i,r){const o=U.getConfig("userSync.aliasSyncEnabled");if(e.getUserSyncs&&(o||!Br.aliasRegistry[e.code])){let o=e.getUserSyncs({iframeEnabled:Qt.canBidderRegisterSync("iframe",e.code),pixelEnabled:Qt.canBidderRegisterSync("image",e.code)},t,n,i,r);o&&(Array.isArray(o)||(o=[o]),o.forEach((t=>{Qt.registerSync(t.type,e.code,t.url)})),Qt.bidderDone(e.code))}}),"registerSyncs"),Di=xt("sync",((e,t)=>{}),"addPaapiConfig");function xi(e){return Dn(e.metrics).renameWith((t=>[`adapter.client.${t}`,`adapters.client.${e.bidderCode}.${t}`]))}let Ui={};function _i(e,t,n){let i=function(e,t){let n=Ui[e]=Ui[e]||{bidders:{}};return t?n.bidders[t]=n.bidders[t]||{}:n}(e,n);return i[t]=(i[t]||0)+1,i[t]}function ji(e){return _i(e,"auctionsCounter")}function qi(e){return Ui?.[e]?.requestsCounter||0}function Pi(e,t){return Ui?.[e]?.bidders?.[t]?.requestsCounter||0}function $i(e,t){return Ui?.[e]?.bidders?.[t]?.winsCounter||0}function Ni(e){return Ui?.[e]?.auctionsCounter||0}function Mi(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window;if(!e)return e;if(/\w+:\/\//.exec(e))return e;let n=t.location.protocol;try{n=t.top.location.protocol}catch(e){}return/^\/\//.exec(e)?n+e:`${n}//${e}`}function Wi(e){let{noLeadingWww:t=!1,noPort:n=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{e=new URL(Mi(e))}catch(e){return}return e=n?e.hostname:e.host,t&&e.startsWith("www.")&&(e=e.substring(4)),e}function Li(e){try{const t=e.querySelector("link[rel='canonical']");if(null!==t)return t.href}catch(e){}return null}const Gi=function(e){let t,n,i,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window;return r.top!==r?e:function(){const o=Li(r.document),s=r.location.href;return t===o&&s===n||(t=o,n=s,i=e()),i}}((Fi=window,function(){const e=[],t=function(e){try{if(!e.location.ancestorOrigins)return;return e.location.ancestorOrigins}catch(e){}}(Fi),n=U.getConfig("maxNestedIframes");let i,r,o,s,a=!1,d=0,c=!1,l=!1,u=!1;do{const n=i,s=l;let f,p=!1,g=null;l=!1,i=i?i.parent:Fi;try{f=i.location.href||null}catch(e){p=!0}if(p)if(s){const e=n.context;try{g=e.sourceUrl,r=g,u=!0,c=!0,i===Fi.top&&(a=!0),e.canonicalUrl&&(o=e.canonicalUrl)}catch(e){}}else{ge("Trying to access cross domain iframe. Continuing without referrer and location");try{const e=n.document.referrer;e&&(g=e,i===Fi.top&&(a=!0))}catch(e){}!g&&t&&t[d-1]&&(g=t[d-1],i===Fi.top&&(u=!0)),g&&!c&&(r=g)}else{if(f&&(g=f,r=g,c=!1,i===Fi.top)){a=!0;const e=Li(i.document);e&&(o=e)}i.context&&i.context.sourceUrl&&(l=!0)}e.push(g),d++}while(i!==Fi.top&&d<n);e.reverse();try{s=Fi.top.document.referrer}catch(e){}const f=a||u?r:null,p=U.getConfig("pageUrl")||o||null;let g=U.getConfig("pageUrl")||f||Mi(p,Fi);return f&&f.indexOf("?")>-1&&-1===g.indexOf("?")&&(g=`${g}${f.substring(f.indexOf("?"))}`),{reachedTop:a,isAmp:c,numIframes:d-1,stack:e,topmostLocation:r||null,location:f,canonicalUrl:p,page:g,domain:Wi(g)||null,ref:s||null,legacy:{reachedTop:a,isAmp:c,numIframes:d-1,stack:e,referer:r||null,canonicalUrl:p}}}));var Fi;Object.freeze({});class Hi{#r;#o;#s;#a;#d=!0;#c;generatedTime;hashFields;constructor(){this.reset()}#l(e){this.#a=!0,this.#o=e,this.#s.resolve(e)}reset(){this.#s=W(),this.#r=!1,this.#o=null,this.#a=!1,this.generatedTime=null}enable(){this.#r=!0}get enabled(){return this.#r}get ready(){return this.#a}get promise(){return this.#a?M.resolve(this.#o):(this.#r||this.#l(null),this.#s.promise)}setConsentData(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:qe();this.generatedTime=t,this.#d=!0,this.#l(e)}getConsentData(){return this.#o}get hash(){return this.#d&&(this.#c=Ke(JSON.stringify(this.#o&&this.hashFields?this.hashFields.map((e=>this.#o[e])):this.#o)),this.#d=!1),this.#c}}const Vi=new class extends Hi{hashFields=["gdprApplies","consentString"];getConsentMeta(){const e=this.getConsentData();if(e&&e.vendorData&&this.generatedTime)return{gdprApplies:e.gdprApplies,consentStringSize:Ee(e.vendorData.tcString)?e.vendorData.tcString.length:0,generatedAt:this.generatedTime,apiVersion:e.apiVersion}}},zi=new class extends Hi{getConsentMeta(){if(this.getConsentData()&&this.generatedTime)return{generatedAt:this.generatedTime}}},Ki=new class extends Hi{hashFields=["applicableSections","gppString"];getConsentMeta(){if(this.getConsentData()&&this.generatedTime)return{generatedAt:this.generatedTime}}},Ji=(()=>{function e(){return!!U.getConfig("coppa")}return{getCoppa:e,getConsentData:e,getConsentMeta:e,reset(){},get promise(){return M.resolve(e())},get hash(){return e()?"1":"0"}}})(),Yi=function(){const e={},t={},n={};return{register(i,r,o){o&&((e[r]=e[r]||{})[i]=o,t.hasOwnProperty(r)?t[r]!==o&&(t[r]=n):t[r]=o)},get(i){const r={modules:e[i]||{}};return t.hasOwnProperty(i)&&t[i]!==n&&(r.gvlid=t[i]),r}}}(),Qi={gdpr:Vi,usp:zi,gpp:Ki,coppa:Ji};!function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Qi;e=Object.entries(e),Object.assign({get promise(){return M.all(e.map((e=>{let[t,n]=e;return n.promise.then((e=>[t,e]))}))).then((e=>Object.fromEntries(e)))},get hash(){return Ke(e.map((e=>{let[t,n]=e;return n.hash})).join(":"))}},Object.fromEntries(["getConsentData","getConsentMeta","reset"].map((t=>{return[t,(n=t,function(){return Object.fromEntries(e.map((e=>{let[t,i]=e;return[t,i[n]()]})))})];var n}))))}();const Xi=["data","ext.data","yob","gender","keywords","kwarray","id","buyeruid","customdata"].map((e=>`user.${e}`)).concat("device.ext.cdep"),Zi=["user.eids","user.ext.eids"],er=["user.geo.lat","user.geo.lon","device.geo.lat","device.geo.lon"],tr=["device.ip"],nr=["device.ipv6"];function ir(e){return Object.assign({get(){},run(e,t,n,i,r){const o=n&&n[i];if(function(e){return null!=e&&("object"!=typeof e||Object.keys(e).length>0)}(o)&&r()){const e=this.get(o);void 0===e?delete n[i]:n[i]=e}}},e)}function rr(e){return e.forEach((e=>{e.paths=e.paths.map((e=>{const t=e.split("."),n=t.pop();return[t.length>0?t.join("."):null,n]}))})),function(t,n){const i=[];for(var r=arguments.length,o=new Array(r>2?r-2:0),s=2;s<r;s++)o[s-2]=arguments[s];const a=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return function(t){return e.hasOwnProperty(t.name)||(e[t.name]=!!t.applies(...n)),e[t.name]}}(t,...o);return e.forEach((e=>{if(!1!==t[e.name])for(const[r,o]of e.paths){const s=null==r?n:l(n,r);if(i.push(e.run(n,r,s,o,a.bind(null,e))),!1===t[e.name])return}})),i.filter((e=>null!=e))}}function or(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Vt;return function(n){return!t(e,n)}}const sr=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Vt;const t=rr(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Vt;return[{name:ot,paths:Xi,applies:or(ot,e)},{name:rt,paths:Zi,applies:or(rt,e)},{name:st,paths:er,applies:or(st,e),get:e=>Math.round(100*(e+Number.EPSILON))/100},{name:st,paths:tr,applies:or(st,e),get:e=>function(e){if(!e)return null;let t=e.split(".").map(Number);if(4!=t.length)return null;let n=[];for(let e=0;e<4;e++){let t=Math.max(0,Math.min(8,24-8*e));n.push(255<<8-t&255)}return t.map(((e,t)=>e&n[t])).join(".")}(e)},{name:st,paths:nr,applies:or(st,e),get:e=>function(e){if(!e)return null;let t=e.split(":").map((e=>parseInt(e,16)));for(t=t.map((e=>isNaN(e)?0:e));t.length<8;)t.push(0);if(8!=t.length)return null;let n=[];for(let e=0;e<8;e++){let t=Math.max(0,Math.min(16,64-16*e));n.push(65535<<16-t&65535)}return t.map(((e,t)=>e&n[t])).map((e=>e.toString(16))).join(":")}(e)},{name:at,paths:["source.tid"],applies:or(at,e)}].map(ir)}(e)),n=rr(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Vt;return[{name:rt,paths:["userId","userIdAsEids"],applies:or(rt,e)},{name:at,paths:["ortb2Imp.ext.tid"],applies:or(at,e)}].map(ir)}(e));return function(e){const i={};return{ortb2:n=>(t(i,n,e),n),bidRequest:t=>(n(i,t,e),t)}}}();Ht(at,"enableTIDs config",(()=>{if(!U.getConfig("enableTIDs"))return{allow:!1,reason:"TIDs are disabled"}}));const ar="pbsBidAdapter",dr={CLIENT:"client",SERVER:"server"},cr={isAllowed:Vt,redact:sr};let lr={},ur=lr.bidderRegistry={},fr=lr.aliasRegistry={},pr=[];U.getConfig("s2sConfig",(e=>{e&&e.s2sConfig&&(pr=Ae(e.s2sConfig)?e.s2sConfig:[e.s2sConfig])}));var gr={};const hr=Gt((e=>lr.resolveAlias(e)));function mr(e){return e.configName??e.name}const br=xt("sync",(function(e){let{bidderCode:t,auctionId:n,bidderRequestId:i,adUnits:r,src:o,metrics:s}=e;return r.reduce(((e,r)=>{const a=r.bids.filter((e=>e.bidder===t));return null==t&&0===a.length&&null!=r.s2sBid&&a.push({bidder:null}),e.push(a.reduce(((e,a)=>{var d;const c=null==(a=Object.assign({},a,{ortb2Imp:Ve({},r.ortb2Imp,a.ortb2Imp)},(d=r,["nativeParams","nativeOrtbRequest","mediaType","renderer"].filter((e=>d[e])).reduce(((e,t)=>Object.assign(e,{[t]:d[t]})),{})))).mediaTypes?r.mediaTypes:a.mediaTypes;return function(e){const t=["banner","native","video"];return!!Object.keys(e).every((e=>t.includes(e)))&&(!e.video||!e.video.context||["instream","outstream","adpod"].includes(e.video.context))}(c)?a=Object.assign({},a,{mediaTypes:c}):he(`mediaTypes is not correctly configured for adunit ${r.code}`),"client"===o&&function(e,t){_i(e,"requestsCounter",t)}(r.code,t),e.push(Object.assign({},a,{adUnitCode:r.code,transactionId:r.transactionId,adUnitId:r.adUnitId,sizes:c?.banner?.sizes||c?.video?.playerSize||[],bidId:a.bid_id||se(),bidderRequestId:i,auctionId:n,src:o,metrics:s,auctionsCount:Ni(r.code),bidRequestsCount:qi(r.code),bidderRequestsCount:Pi(r.code,a.bidder),bidderWinsCount:$i(r.code,a.bidder),deferBilling:!!r.deferBilling})),e}),[])),e}),[]).reduce(xe,[]).filter((e=>""!==e))}),"getBids"),yr=xt("sync",(function(e,t){let{getS2SBidders:n=wr}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(null==t)return e;{const i=n(t);return e.filter((e=>{if(!i.has(e.bidder))return!1;if(null==e.s2sConfigName)return!0;const n=mr(t);return(Array.isArray(e.s2sConfigName)?e.s2sConfigName:[e.s2sConfigName]).includes(n)}))}}),"filterBidsForAdUnit"),vr=xt("sync",((e,t)=>e),"setupAdUnitMediaTypes");function wr(e){Ae(e)||(e=[e]);const t=new Set([null]);return e.filter((e=>e&&e.enabled)).flatMap((e=>e.bidders)).forEach((e=>t.add(e))),t}const Er=xt("sync",(function(e,t){let{getS2SBidders:n=wr}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=n(t);return Ue(e).reduce(((e,t)=>(e[i.has(t)?dr.SERVER:dr.CLIENT].push(t),e)),{[dr.CLIENT]:[],[dr.SERVER]:[]})}),"partitionBidders");function Ar(e,t){const n=ur[e],i=n?.getSpec&&n.getSpec();if(i&&i[t]&&"function"==typeof i[t])return[i,i[t]]}function Cr(e,t,n,i){try{pe(`Invoking ${e}.${t}`);for(var r=arguments.length,o=new Array(r>4?r-4:0),s=4;s<r;s++)o[s-4]=arguments[s];U.runWithBidder(e,i.bind(n,...o))}catch(n){ge(`Error calling ${t} of ${e}`)}}function Tr(e,t,n){if(n?.source!==b){const i=Ar(e,t);null!=i&&Cr(e,t,...i,n)}}lr.makeBidRequests=xt("sync",(function(e,t,n,i,r){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},s=arguments.length>6?arguments[6]:void 0;s=Dn(s),vn(g.BEFORE_REQUEST_BIDS,e),function(e){e.forEach((e=>{const t=e.nativeParams||e?.mediaTypes?.native;t&&(e.nativeParams=bi(t)),e.nativeParams&&(e.nativeOrtbRequest=e.nativeParams.ortb||function(e){if(!e&&!Te(e))return void he("Native assets object is empty or not an object: ",e);const t={ver:"1.2",assets:[]};for(let n in e){if(B.includes(n))continue;if(!m.hasOwnProperty(n)){he(`Unrecognized native asset code: ${n}. Asset will be ignored.`);continue}if("privacyLink"===n){t.privacy=1;continue}const i=e[n];let r=0;i.required&&Be(i.required)&&(r=Number(i.required));const o={id:t.assets.length,required:r};if(n in A)o.data={type:C[A[n]]},i.len&&(o.data.len=i.len);else if("icon"===n||"image"===n){if(o.img={type:"icon"===n?T.ICON:T.MAIN},i.aspect_ratios)if(Ae(i.aspect_ratios))if(i.aspect_ratios.length){const{min_width:e,min_height:t}=i.aspect_ratios[0];We(e)&&We(t)?(o.img.wmin=e,o.img.hmin=t):he("image.aspect_ratios min_width or min_height are invalid: ",e,t);const n=i.aspect_ratios.filter((e=>e.ratio_width&&e.ratio_height)).map((e=>`${e.ratio_width}:${e.ratio_height}`));n.length>0&&(o.img.ext={aspectratios:n})}else he("image.aspect_ratios was passed, but it's empty:",i.aspect_ratios);else he("image.aspect_ratios was passed, but it's not a an array:",i.aspect_ratios);i.sizes&&(2===i.sizes.length&&We(i.sizes[0])&&We(i.sizes[1])?(o.img.w=i.sizes[0],o.img.h=i.sizes[1],delete o.img.hmin,delete o.img.wmin):he("image.sizes was passed, but its value is not an array of integers:",i.sizes))}else"title"===n?o.title={len:i.len||140}:"ext"===n&&(o.ext=i,delete o.required);t.assets.push(o)}return t}(e.nativeParams))}))}(e),e.map((e=>e.code)).filter(De).forEach(ji),e.forEach((e=>{Te(e.mediaTypes)||(e.mediaTypes={}),e.bids=e.bids.filter((e=>!e.bidder||cr.isAllowed(it,hr(St,e.bidder)))),_i(e.code,"requestsCounter")})),e=vr(e,r);let{[dr.CLIENT]:a,[dr.SERVER]:d}=Er(e,pr);U.getConfig("bidderSequence")===S&&(a=_e(a));const c=Gi();let l=[];const u=o.global||{},f=o.bidder||{};function p(e,t){const i=cr.redact(null!=t?t:hr(St,e.bidderCode)),r=Ve({source:{tid:n}},u,f[e.bidderCode]);!function(e){const t=e.user?.eids;Array.isArray(t)&&t.length&&(e.user.ext=e.user.ext||{},e.user.ext.eids=[...e.user.ext.eids||[],...t],delete e.user.eids)}(r);const o=Object.freeze(i.ortb2(r));return e.ortb2=o,e.bids=e.bids.map((e=>(e.ortb2=o,i.bidRequest(e)))),e}pr.forEach((i=>{const r=function(e){return hr(Rt,ar,{[Nt]:mr(e)})}(i);if(i&&i.enabled&&cr.isAllowed(it,r)){let{adUnits:o,hasModuleBids:a}=function(e,t){let n=je(e),i=!1;return n.forEach((e=>{const n=e.bids.filter((e=>e.module===ar&&e.params?.configName===mr(t)));1===n.length?(e.s2sBid=n[0],i=!0,e.ortb2Imp=Ve({},e.s2sBid.ortb2Imp,e.ortb2Imp)):n.length>1&&ge('Multiple "module" bids for the same s2s configuration; all will be ignored',n),e.bids=yr(e.bids,t).map((e=>(e.bid_id=se(),e)))})),n=n.filter((e=>!(t.filterBidderlessCalls&&1===e.bids.length&&null==e.bids[0].bidder||0===e.bids.length&&null==e.s2sBid))),{adUnits:n,hasModuleBids:i}}(e,i),u=ae();(0===d.length&&a?[null]:d).forEach((e=>{const a=se(),d=s.fork(),f=p({bidderCode:e,auctionId:n,bidderRequestId:a,uniquePbsTid:u,bids:br({bidderCode:e,auctionId:n,bidderRequestId:a,adUnits:je(o),src:b,metrics:d}),auctionStart:t,timeout:i.timeout,src:b,refererInfo:c,metrics:d},r);0!==f.bids.length&&l.push(f)})),o.forEach((e=>{let t=e.bids.filter((e=>l.find((t=>t.bids.find((t=>t.bidId===e.bid_id))))));e.bids=t})),l.forEach((e=>{void 0===e.adUnitsS2SCopy&&(e.adUnitsS2SCopy=o.filter((e=>e.bids.length>0||null!=e.s2sBid)))}))}}));let h=function(e){let t=je(e);return t.forEach((e=>{e.bids=yr(e.bids,null)})),t=t.filter((e=>0!==e.bids.length)),t}(e);return a.forEach((e=>{const o=se(),a=s.fork(),d=p({bidderCode:e,auctionId:n,bidderRequestId:o,bids:br({bidderCode:e,auctionId:n,bidderRequestId:o,adUnits:je(h),labels:r,src:"client",metrics:a}),auctionStart:t,timeout:i,refererInfo:c,metrics:a}),u=ur[e];u||he(`Trying to make a request for bidder that does not exist: ${e}`),u&&d.bids&&0!==d.bids.length&&l.push(d)})),l.forEach((e=>{Vi.getConsentData()&&(e.gdprConsent=Vi.getConsentData()),zi.getConsentData()&&(e.uspConsent=zi.getConsentData()),Ki.getConsentData()&&(e.gppConsent=Ki.getConsentData())})),l}),"makeBidRequests"),lr.callBids=function(e,t,n,i,r,o,s){let a=arguments.length>7&&void 0!==arguments[7]?arguments[7]:{};if(!t.length)return void ge("callBids executed with no bidRequests. Were they filtered by labels or sizing?");let[d,c]=t.reduce(((e,t)=>(e[Number(void 0!==t.src&&t.src===b)].push(t),e)),[[],[]]);var l=[];c.forEach((e=>{for(var t=-1,n=0;n<l.length;++n)if(e.uniquePbsTid===l[n].uniquePbsTid){t=n;break}t<=-1&&l.push(e)}));let u=0;pr.forEach((e=>{if(e&&l[u]&&wr(e).has(l[u].bidderCode)){const t=ht(o,r?{request:r.request.bind(null,"s2s"),done:r.done}:void 0);let d=e.bidders;const f=ur[e.adapter];let p=l[u].uniquePbsTid,h=l[u].adUnitsS2SCopy,m=c.filter((e=>e.uniquePbsTid===p));if(f){let r={ad_units:h,s2sConfig:e,ortb2Fragments:a,requestBidsTimeout:o};if(r.ad_units.length){let e=m.map((e=>(e.start=qe(),function(t){t||s(e.bidderRequestId),i.apply(e,arguments)})));const o=Ue(r.ad_units).filter((e=>d.includes(e)));fe(`CALLING S2S HEADER BIDDERS ==== ${o.length>0?o.join(", "):'No bidder specified, using "ortb2Imp" definition(s) only'}`),m.forEach((e=>{vn(g.BID_REQUESTED,{...e,tid:e.auctionId})})),f.callBids(r,c,n,(t=>e.forEach((e=>e(t)))),t)}}else he("missing "+e.adapter);u++}})),d.forEach((e=>{e.start=qe();const t=ur[e.bidderCode];U.runWithBidder(e.bidderCode,(()=>{fe("CALLING BIDDER"),vn(g.BID_REQUESTED,e)}));let a=ht(o,r?{request:r.request.bind(null,e.bidderCode),done:r.done}:void 0);const d=i.bind(e);try{U.runWithBidder(e.bidderCode,t.callBids.bind(t,e,n,d,a,(()=>s(e.bidderRequestId)),U.callbackWithBidder(e.bidderCode)))}catch(t){he(`${e.bidderCode} Bid Adapter emitted an uncaught error when parsing their bidRequest`,{e:t,bidRequest:e}),d()}}))},lr.videoAdapters=[],lr.registerBidAdapter=function(e,t){let{supportedMediaTypes:n=[]}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e&&t?"function"==typeof e.callBids?(ur[t]=e,Yi.register(St,t,e.getSpec?.().gvlid),n.includes("video")&&lr.videoAdapters.push(t),n.includes("native")&&pi.push(t)):he("Bidder adaptor error for bidder code: "+t+"bidder must implement a callBids() function"):he("bidAdapter or bidderCode not specified")},lr.aliasBidAdapter=function(e,t,n){if(void 0===ur[t]){let i=ur[e];if(void 0===i){const n=[];pr.forEach((i=>{if(i.bidders&&i.bidders.length){const r=i&&i.bidders;i&&r.includes(t)?fr[t]=e:n.push(e)}})),n.forEach((e=>{he('bidderCode "'+e+'" is not an existing bidder.',"adapterManager.aliasBidAdapter")}))}else try{let r,o=function(e){let t=[];return lr.videoAdapters.includes(e)&&t.push("video"),pi.includes(e)&&t.push("native"),t}(e);if(i.constructor.prototype!=Object.prototype)r=new i.constructor,r.setBidderCode(t);else{const{useBaseGvlid:o=!1}=n||{};let s=i.getSpec();const a=o?s.gvlid:n?.gvlid;null==a&&null!=s.gvlid&&ge(`Alias '${t}' will NOT re-use the GVL ID of the original adapter ('${s.code}', gvlid: ${s.gvlid}). Functionality that requires TCF consent may not work as expected.`);let d=n&&n.skipPbsAliasing;r=Ri(Object.assign({},s,{code:t,gvlid:a,skipPbsAliasing:d})),fr[t]=e}lr.registerBidAdapter(r,t,{supportedMediaTypes:o})}catch(t){he(e+" bidder does not currently support aliasing.","adapterManager.aliasBidAdapter")}}else fe('alias name "'+t+'" has been already specified.')},lr.resolveAlias=function(e){let t,n=e;for(;fr[n]&&(!t||!t.has(n));)n=fr[n],(t=t||new Set).add(n);return n},lr.registerAnalyticsAdapter=function(e){let{adapter:t,code:n,gvlid:i}=e;t&&n?"function"==typeof t.enableAnalytics?(t.code=n,gr[n]={adapter:t,gvlid:i},Yi.register(kt,n,i)):he(`Prebid Error: Analytics adaptor error for analytics "${n}"\n analytics adapter must implement an enableAnalytics() function`):he("Prebid Error: analyticsAdapter or analyticsCode not specified")},lr.enableAnalytics=function(e){Ae(e)||(e=[e]),e.forEach((e=>{const t=gr[e.provider];t&&t.adapter?cr.isAllowed("reportAnalytics",hr(kt,e.provider,{[Lt]:e}))&&t.adapter.enableAnalytics(e):he(`Prebid Error: no analytics adapter found in registry for '${e.provider}'.`)}))},lr.getBidAdapter=function(e){return ur[e]},lr.getAnalyticsAdapter=function(e){return gr[e]},lr.callTimedOutBidders=function(e,t,n){var i;t=t.map((t=>(t.params=Me(e,t.adUnitCode,t.bidder),t.timeout=n,t))),i="bidder",t=t.reduce((function(e,t){return(e[t[i]]=e[t[i]]||[]).push(t),e}),{}),Object.keys(t).forEach((e=>{Tr(e,"onTimeout",t[e])}))},lr.callBidWonBidder=function(e,t,n){t.params=Me(n,t.adUnitCode,t.bidder),_i(t.adUnitCode,"winsCounter",t.bidder),Tr(e,"onBidWon",t)},lr.triggerBilling=(()=>{const e=new WeakSet;return t=>{var n;e.has(t)||(e.add(t),((n=t.eventtrackers,(n??[]).reduce(((e,t)=>{let{event:n,method:i,url:r}=t;const o=e[n]=e[n]??{};return(o[i]=o[i]??[]).push(r),e}),{}))[fi]?.[li]||[]).forEach((e=>ie.triggerPixel(e))),Tr(t.bidder,"onBidBillable",t))}})(),lr.callSetTargetingBidder=function(e,t){Tr(e,"onSetTargeting",t)},lr.callBidViewableBidder=function(e,t){Tr(e,"onBidViewable",t)},lr.callBidderError=function(e,t,n){Tr(e,"onBidderError",{error:t,bidderRequest:n})},lr.callAdRenderSucceededBidder=function(e,t){Tr(e,"onAdRenderSucceeded",t)},lr.callDataDeletionRequest=xt("sync",(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];const i="onDataDeletionRequest";Object.keys(ur).filter((e=>!fr.hasOwnProperty(e))).forEach((e=>{const n=Ar(e,i);if(null!=n){const r=ci.getBidsRequested().filter((t=>function(e){const t=new Set;for(;fr.hasOwnProperty(e)&&!t.has(e);)t.add(e),e=fr[e];return e}(t.bidderCode)===e));Cr(e,i,...n,r,...t)}})),Object.entries(gr).forEach((e=>{let[n,r]=e;const o=r?.adapter?.[i];if("function"==typeof o)try{o.apply(r.adapter,t)}catch(e){he(`error calling ${i} of ${n}`,e)}}))}));const Br=lr,Ir=Gt((e=>Br.resolveAlias(e))),Rr=new WeakMap,Sr=["debugging","outstream","aaxBlockmeter","adagio","adloox","akamaidap","arcspan","airgrid","browsi","brandmetrics","clean.io","humansecurity","confiant","contxtful","hadron","mediafilter","medianet","azerionedge","a1Media","geoedge","qortex","dynamicAdBoost","51Degrees","symitridap","wurfl","nodalsAi","anonymised","optable","justtag","tncId","ftrackId","id5"];const kr=N(),Or="outstream";function Dr(e){const{url:t,config:n,id:i,callback:r,loaded:o,adUnitCode:s,renderNow:a}=e;this.url=t,this.config=n,this.handlers={},this.id=i,this.renderNow=a,this.adUnitCode=s,this.loaded=o,this.cmd=[],this.push=e=>{"function"==typeof e?this.loaded?e.call():this.cmd.push(e):he("Commands given to Renderer.push must be wrapped in a function")},this.callback=r||(()=>{this.loaded=!0,this.process()}),this.render=function(){const e=arguments,n=()=>{this._render?this._render.apply(this,e):ge("No render function was provided, please use .setRender on the renderer")};!function(e){const t=kr.adUnits.find((t=>t.code===e));if(!t)return!1;const n=t?.renderer,i=!!(n&&n.url&&n.render),r=t?.mediaTypes?.video?.renderer,o=!!(r&&r.url&&r.render);return!!(i&&!0!==n.backupOnly||o&&!0!==r.backupOnly)}(s)?a?n():(this.cmd.unshift(n),function(e,t,n,i,r,o){if(!Vt(dt,Ir(t,n)))return;if(!n||!e)return void he("cannot load external script without url and moduleCode");if(!Sr.includes(n))return void he(`${n} not whitelisted for loading external JavaScript`);r||(r=document);const s=c(r,e);if(s)return i&&"function"==typeof i&&(s.loaded?i():s.callbacks.push(i)),s.tag;const a=Rr.get(r)||{},d={loaded:!1,tag:null,callbacks:[]};return a[e]=d,Rr.set(r,a),i&&"function"==typeof i&&d.callbacks.push(i),ge(`module ${n} is loading external JavaScript`),function(t,n,i,r){i||(i=document);var o=i.createElement("script");o.type="text/javascript",o.async=!0;const s=c(i,e);return s&&(s.tag=o),o.readyState?o.onreadystatechange=function(){"loaded"!==o.readyState&&"complete"!==o.readyState||(o.onreadystatechange=null,n())}:o.onload=function(){n()},o.src=t,r&&function(e,t){Object.entries(t).forEach((t=>{let[n,i]=t;return e.setAttribute(n,i)}))}(o,r),Re(o,i),o}(e,(function(){d.loaded=!0;try{for(let e=0;e<d.callbacks.length;e++)d.callbacks[e]()}catch(e){he("Error executing callback","adloader.js:loadExternalScript",e)}}),r,o);function c(e,t){const n=Rr.get(e);return n&&n[t]?n[t]:null}}(t,Rt,Or,this.callback,this.documentContext)):(ge(`External Js not loaded by Renderer since renderer url and callback is already defined on adUnit ${s}`),n())}.bind(this)}Dr.install=function(e){let{url:t,config:n,id:i,callback:r,loaded:o,adUnitCode:s,renderNow:a}=e;return new Dr({url:t,config:n,id:i,callback:r,loaded:o,adUnitCode:s,renderNow:a})},Dr.prototype.getConfig=function(){return this.config},Dr.prototype.setRender=function(e){this._render=e},Dr.prototype.setEventHandlers=function(e){this.handlers=e},Dr.prototype.handleVideoEvent=function(e){let{id:t,eventName:n}=e;"function"==typeof this.handlers[n]&&this.handlers[n](),fe(`Prebid Renderer event for id ${t} type ${n}`)},Dr.prototype.process=function(){for(;this.cmd.length>0;)try{this.cmd.shift().call()}catch(e){he(`Error processing Renderer command on ad unit '${this.adUnitCode}':`,e)}};const xr=["img","video","link","data","title"],Ur={[et]:(e,t)=>{if(!t.hasOwnProperty("ad")&&!t.hasOwnProperty("adUrl")){let[e,n]=(t.width??t.wratio)<(t.height??t.hratio)?[t.width,"repeat-y"]:[t.height,"repeat-x"];e=null==e?"100%":`${e}px`,t.ad=`<html><body><div style="display: inline-block; height: ${null==t.height?"100%":t.height+"px"}; width: ${null==t.width?"100%":t.width+"px"}; background-image: url(https://vcdn.adnxs.com/p/creative-image/27/c0/52/67/27c05267-5a6d-4874-834e-18e218493c32.png); background-size: ${e}; background-repeat: ${n}"></div></body></html>`}},[Ze]:(e,t)=>{t.hasOwnProperty("vastXml")||t.hasOwnProperty("vastUrl")||(t.vastXml='<?xml version="1.0" encoding="UTF-8"?><VAST version="3.0"><Ad><InLine><AdSystem>GDFP</AdSystem><AdTitle>Demo</AdTitle><Description><![CDATA[Demo]]></Description><Creatives><Creative><Linear ><Duration>00:00:11</Duration><VideoClicks><ClickThrough><![CDATA[https://prebid.org/]]></ClickThrough></VideoClicks><MediaFiles><MediaFile delivery="progressive" width="640" height="360" type="video/mp4" scalable="true" maintainAspectRatio="true"><![CDATA[https://s3.amazonaws.com/files.prebid.org/creatives/PrebidLogo.mp4]]></MediaFile></MediaFiles></Linear></Creative></Creatives></InLine></Ad></VAST>',t.renderer=Dr.install({url:"https://cdn.jwplayer.com/libraries/l5MchIxB.js"}),t.renderer.setRender((function(e,n){const i=function(e){const t=function(e){let t;return function(){if(window.googletag&&we(window.googletag.pubads)&&we(window.googletag.pubads().getSlots))return!0}()&&(t=window.googletag.pubads().getSlots().find(function(e){return t=>((e,t)=>e.getAdUnitPath()===t||e.getSlotElementId()===t)(t,e)}(e))),t}(e);return t?{gptSlot:t.getAdUnitPath(),divId:t.getSlotElementId()}:{}}(e.adUnitCode).divId??e.adUnitCode,r=n.createElement("div");r.id=`${i}-video-player`,n.getElementById(i).appendChild(r);const o=window.jwplayer(r.id).setup({debug:!0,width:t.width,height:t.height,advertising:{client:"vast",outstream:!0,endstate:"close"}});o.on("ready",(async function(){e.vastUrl?o.loadAdTag(e.vastUrl):o.loadAdXml(e.vastXml)}))})))},[Xe]:(e,t)=>{t.hasOwnProperty("native")||(t.native={ortb:{link:{url:"https://www.link.example",clicktrackers:["https://impression.example"]},assets:e.nativeOrtbRequest.assets.map(_r)}})}};function _r(e){switch(xr.find((t=>e.hasOwnProperty(t)))){case"img":return{...e,img:{type:3,w:600,h:500,url:"https://vcdn.adnxs.com/p/creative-image/27/c0/52/67/27c05267-5a6d-4874-834e-18e218493c32.png"}};case"video":return{...e,video:{vasttag:'<?xml version="1.0" encoding="UTF-8"?><VAST version="3.0"><Ad><InLine><AdSystem>GDFP</AdSystem><AdTitle>Demo</AdTitle><Description><![CDATA[Demo]]></Description><Creatives><Creative><Linear ><Duration>00:00:11</Duration><VideoClicks><ClickThrough><![CDATA[https://prebid.org/]]></ClickThrough></VideoClicks><MediaFiles><MediaFile delivery="progressive" width="640" height="360" type="video/mp4" scalable="true" maintainAspectRatio="true"><![CDATA[https://s3.amazonaws.com/files.prebid.org/creatives/PrebidLogo.mp4]]></MediaFile></MediaFiles></Linear></Creative></Creatives></InLine></Ad></VAST>'}};case"data":return{...e,data:{value:"5 stars"}};case"title":return{...e,title:{text:"Prebid Native Example"}}}}function jr(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};({setTimeout:this.setTimeout=window.setTimeout.bind(window)}=e),this.logger=e.logger,this.rules=[]}let qr,Pr;function $r(e,t){let{hook:n,logger:i}=t;qr=Gr.bind({overrides:e,logger:i}),n.get("addBidResponse").before(qr,5),Pr=Fr.bind({overrides:e,logger:i}),n.get("addBidderRequests").before(Pr,5)}function Nr(e){let{hook:t}=e;t.get("addBidResponse").getHooks({hook:qr}).remove(),t.get("addBidderRequests").getHooks({hook:Pr}).remove()}function Mr(e,t,n){return!(!e.bidder||e.bidder===t)||!(!e.adUnitCode||e.adUnitCode===n)}function Wr(e,t){return Array.isArray(e)&&-1===e.indexOf(t)}function Lr(e,t,n,i){return Object.keys(e).filter((e=>-1===["adUnitCode","bidder"].indexOf(e))).reduce((function(t,r){return i.logMessage(`bidder overrides changed '${t.adUnitCode}/${t.bidderCode}' ${n}.${r} from '${t[r]}.js' to '${e[r]}'`),t[r]=e[r],t.isDebug=!0,t}),t)}function Gr(e,t,n,i){const{overrides:r,logger:o}=this;Wr(r.bidders,n.bidderCode)?o.logWarn(`bidder '${n.bidderCode}' excluded from auction by bidder overrides`):(Array.isArray(r.bids)&&r.bids.forEach((function(e){Mr(e,n.bidderCode,t)||Lr(e,n,"bidder",o)})),e(t,n,i))}function Fr(e,t){const{overrides:n,logger:i}=this,r=t.filter((function(e){return!Wr(n.bidders,e.bidderCode)||(i.logWarn(`bidRequest '${e.bidderCode}' excluded from auction by bidder overrides`),!1)}));Array.isArray(n.bidRequests)&&r.forEach((function(e){n.bidRequests.forEach((function(t){e.bids.forEach((function(n){Mr(t,e.bidderCode,n.adUnitCode)||Lr(t,n,"bidRequest",i)}))}))})),e(r)}Object.assign(jr.prototype,{DEFAULT_RULE_OPTIONS:{delay:0},serializeConfig(e){return e.filter(((e,t)=>{const n=!Ye(e);return n||l(e,"options.suppressWarnings")||this.logger.logWarn(`Bid interceptor rule definition #${t+1} contains non-serializable properties and will be lost after a refresh. Rule definition: `,e),n}))},updateConfig(e){this.rules=(e.intercept||[]).map(((e,t)=>this.rule(e,t+1)))},rule(e,t){return{no:t,match:this.matcher(e.when,t),replace:this.replacer(e.then,t),options:Object.assign({},this.DEFAULT_RULE_OPTIONS,e.options),paapi:this.paapiReplacer(e.paapi||[],t)}},matcher(e,t){if("function"==typeof e)return e;if("object"!=typeof e)return this.logger.logError(`Invalid 'when' definition for debug bid interceptor (in rule #${t})`),()=>!1;function n(t,i){let{ref:r=e,args:o=[]}=i;return Object.entries(r).map((e=>{let[i,r]=e;const s=t[i];return r instanceof RegExp?null!=r.exec(s):"function"==typeof r?!!r(s,...o):"object"==typeof r?n(s,{ref:r,args:o}):s===r})).every((e=>e))}return function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r<t;r++)i[r-1]=arguments[r];return n(e,{args:i})}},replacer(e,t){var n=this;if(null===e)return()=>null;let i;return"function"==typeof(e=e||{})?i=t=>{let{args:n}=t;return e(...n)}:"object"!=typeof e?(this.logger.logError(`Invalid 'then' definition for debug bid interceptor (in rule #${t})`),i=()=>({})):i=t=>{let{args:n,ref:r=e}=t;const o=Array.isArray(r)?[]:{};return Object.entries(r).forEach((e=>{let[t,r]=e;o[t]="function"==typeof r?r(...n):null!=r&&"object"==typeof r?i({args:n,ref:r}):r})),o},function(e){const t=n.responseDefaults(e);for(var r=arguments.length,o=new Array(r>1?r-1:0),s=1;s<r;s++)o[s-1]=arguments[s];Ve(t,i({args:[e,...o]}));const a=Ur[t.mediaType];return a&&a(e,t),t.isDebug=!0,t}},paapiReplacer(e,t){function n(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).map((e=>Object.keys(e).some((e=>!["config","igb"].includes(e)))?{config:e}:e))}return Array.isArray(e)?()=>n(e):"function"==typeof e?function(){return n(e(...arguments))}:void this.logger.logError(`Invalid 'paapi' definition for debug bid interceptor (in rule #${t})`)},responseDefaults(e){const t={requestId:e.bidId,cpm:3.5764,currency:"EUR",ttl:360,creativeId:"mock-creative-id",netRevenue:!1,meta:{}};let n;return e.mediaType||(t.mediaType=Object.keys(e.mediaTypes??{})[0]??et),t.mediaType===et?n=e.mediaTypes?.banner?.sizes?.[0]??[300,250]:t.mediaType===Ze&&(n=e.mediaTypes?.video?.playerSize?.[0]??[600,500]),Array.isArray(n)&&([t.width,t.height]=n),t},match(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return this.rules.find((t=>t.match(e,...n)))},matchAll(e,t){const[n,i]=[[],[]];return e.forEach((e=>{const r=this.match(e,t);null!=r?n.push({rule:r,bid:e}):i.push(e)})),[n,i]},intercept(e){let{bids:t,bidRequest:n,addBid:i,addPaapiConfig:r,done:o}=e;null==t&&(t=n.bids);const[s,a]=this.matchAll(t,n);if(s.length>0){const e=Ne(o,s.length);s.forEach((t=>{const o=t.rule.replace(t.bid,n),s=t.rule.paapi(t.bid,n),a=t.rule.options.delay;this.logger.logMessage(`Intercepted bid request (matching rule #${t.rule.no}), mocking response in ${a}ms. Request, response, PAAPI configs:`,t.bid,o,s),this.setTimeout((()=>{o&&i(o,t.bid),s.forEach((e=>r(e,t.bid,n))),e()}),a)})),n=je(n),t=n.bids=a}else this.setTimeout(o,0);return{bids:t,bidRequest:n}}});const Hr=[];let Vr,zr=!1;function Kr(e,t){let{fromSession:n=!1,config:i,hook:r,logger:o}=t;i.setConfig({debug:!0}),Vr.updateConfig(e),Jr(!0),Nr({hook:r}),$r(e,{hook:r,logger:o}),zr||(zr=!0,o.logMessage("Debug overrides enabled"+(n?" from session":"")))}function Jr(e){Hr.forEach((e=>{let[t,n]=e;t().getHooks({hook:n}).remove()})),e&&Hr.forEach((e=>{let[t,n]=e;t().before(n)}))}function Yr(e,t){const n=function(){return Vr.intercept(...arguments)};Hr.push([e,function(e){for(var i=arguments.length,r=new Array(i>1?i-1:0),o=1;o<i;o++)r[o-1]=arguments[o];t(e,n,...r)}])}function Qr(e,t,n,i,r,o,s,a){const d=Ne(a.onCompletion,2);({bids:i,bidRequest:r}=t({bids:i,bidRequest:r,addBid:s(a.onBid),addPaapiConfig:s(((e,t)=>a.onPaapi({bidId:t.bidId,...e}))),done:d})),0===i.length?(a.onResponse?.({}),d()):e(n,i,r,o,s,{...a,onCompletion:d})}function Xr(e){let{DEBUG_KEY:t,config:n,hook:i,createBid:r,logger:o}=e;Vr=new jr({logger:o});const s=function(e){let{createBid:t}=e;return function(e,n,i,r,o,s){let a,{onResponse:d,onError:c,onBid:l,onFledge:u}=s;const f=Ne((()=>d(...a)),r.length+1);function g(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];a=t,f()}function h(e,n){l({adUnit:n.adUnitCode,bid:Object.assign(t(p,n),{requestBidder:n.bidder},e)})}if(r=r.map((e=>n({bidRequest:e,addBid:h,addPaapiConfig(e,t,n){u({adUnitCode:t.adUnitCode,ortb2:n.ortb2,ortb2Imp:t.ortb2Imp,...e})},done:f}).bidRequest)).filter((e=>e.bids.length>0)),r.length>0){const t=new Set;r.forEach((e=>e.bids.forEach((e=>t.add(e.bidId))))),(i=je(i)).ad_units.forEach((e=>{e.bids=e.bids.filter((e=>t.has(e.bid_id)))})),i.ad_units=i.ad_units.filter((e=>e.bids.length>0)),e(i,r,o,{onResponse:g,onError:c,onBid:l})}else g(!0,[])}}({createBid:r});Yr((()=>i.get("processBidderRequests")),Qr),Yr((()=>i.get("processPBSRequest")),s),function(e){let t,{DEBUG_KEY:n,storage:i,config:r,hook:o,logger:s}=e;try{i=i||window.sessionStorage,t=JSON.parse(i.getItem(n))}catch(e){}t&&Kr(t,{fromSession:!0,config:r,hook:o,logger:s})}({DEBUG_KEY:t,config:n,hook:i,logger:o}),n.getConfig("debugging",(e=>{let{debugging:r}=e;return function(e){let t,{getStorage:n=(()=>window.sessionStorage),DEBUG_KEY:i,config:r,hook:o,logger:s}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(null!=e){try{t=n()}catch(e){s.logError("sessionStorage is not available: debugging configuration will not persist on page reload",e)}null!=t&&function(e){let{sessionStorage:t=window.sessionStorage,DEBUG_KEY:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e.enabled){e.intercept&&((e=je(e)).intercept=Vr.serializeConfig(e.intercept));try{t.setItem(n,JSON.stringify(e))}catch(e){}}else try{t.removeItem(n)}catch(e){}}(e,{sessionStorage:t,DEBUG_KEY:i}),e.enabled?Kr(e,{config:r,hook:o,logger:s}):function(e){let{hook:t,logger:n}=e;Vr.updateConfig({}),Jr(!1),Nr({hook:t}),zr&&(zr=!1,n.logMessage("Debug overrides disabled"))}({hook:o,logger:s})}}(r,{DEBUG_KEY:t,config:n,hook:i,logger:o})}),{init:!0})}window._pbjsGlobals.forEach((e=>{window[e]&&!0===window[e]._installDebugging&&(window[e]._installDebugging=Xr)}))})()})();
2
+ (()=>{var e={128:e=>{o.SYNC=1,o.ASYNC=2,o.QUEUE=4;var t="fun-hooks",n=Object.freeze({ready:0}),i=new WeakMap;function r(e,t){return Array.prototype.slice.call(e,t)}function o(e){var s,a={},d=[];function c(e,t){return"function"==typeof e?p.call(null,"sync",e,t):"string"==typeof e&&"function"==typeof t?p.apply(null,arguments):"object"==typeof e?l.apply(null,arguments):void 0}function l(e,t,n){var i=!0;void 0===t&&(t=Object.getOwnPropertyNames(e).filter((e=>!e.match(/^_/))),i=!1);var r={},o=["constructor"];do{t.forEach((function(t){var i=t.match(/(?:(sync|async):)?(.+)/),s=i[1]||"sync",a=i[2];if(!r[a]&&"function"==typeof e[a]&&-1===o.indexOf(a)){var d=e[a];r[a]=e[a]=p(s,d,n?[n,a]:void 0)}})),e=Object.getPrototypeOf(e)}while(i&&e);return r}function u(e){var n=Array.isArray(e)?e:e.split(".");return n.reduce((function(i,r,o){var a=i[r],c=!1;return a||(o===n.length-1?(s||d.push((function(){c||console.warn(t+": referenced '"+e+"' but it was never created")})),i[r]=f((function(e){i[r]=e,c=!0}))):i[r]={})}),a)}function f(e){var t=[],n=[],r=function(){},o={before:function(e,n){return a.call(this,t,"before",e,n)},after:function(e,t){return a.call(this,n,"after",e,t)},getHooks:function(e){var i=t.concat(n);"object"==typeof e&&(i=i.filter((function(t){return Object.keys(e).every((function(n){return t[n]===e[n]}))})));try{Object.assign(i,{remove:function(){return i.forEach((function(e){e.remove()})),this}})}catch(e){console.error("error adding `remove` to array, did you modify Array.prototype?")}return i},removeAll:function(){return this.getHooks().remove()}},s={install:function(i,o,s){this.type=i,r=s,s(t,n),e&&e(o)}};return i.set(o.after,s),o;function a(e,i,o,s){var a={hook:o,type:i,priority:s||10,remove:function(){var i=e.indexOf(a);-1!==i&&(e.splice(i,1),r(t,n))}};return e.push(a),e.sort((function(e,t){return t.priority-e.priority})),r(t,n),this}}function p(n,a,c){var l=a.after&&i.get(a.after);if(l){if(l.type!==n)throw t+": recreated hookable with different type";return a}var p,g=c?u(c):f(),h={get:function(e,t){return g[t]||Reflect.get.apply(Reflect,arguments)}};s||d.push(b);var m=new Proxy(a,h);return i.get(m.after).install(n,m,(function(e,t){var i,o=[];function s(e){o.push(e.hook)}e.length||t.length?(e.forEach(s),i=o.push(void 0)-1,t.forEach(s),p=function(e,t,s){var a,d=o.slice(),c=0,l="async"===n&&"function"==typeof s[s.length-1]&&s.pop();function u(e){"sync"===n?a=e:l&&l.apply(null,arguments)}function f(e){if(d[c]){var i=r(arguments);return f.bail=u,i.unshift(f),d[c++].apply(t,i)}"sync"===n?a=e:l&&l.apply(null,arguments)}return d[i]=function(){var i=r(arguments,1);"async"===n&&l&&(delete f.bail,i.push(f));var o=e.apply(t,i);"sync"===n&&f(o)},f.apply(null,s),a}):p=void 0,b()})),m;function b(){!s&&("sync"!==n||e.ready&o.SYNC)&&("async"!==n||e.ready&o.ASYNC)?"sync"!==n&&e.ready&o.QUEUE?h.apply=function(){var e=arguments;d.push((function(){m.apply(e[1],e[2])}))}:h.apply=function(){throw t+": hooked function not ready"}:h.apply=p}}return(e=Object.assign({},n,e)).ready?c.ready=function(){s=!0,function(e){for(var t;t=e.shift();)t()}(d)}:s=!0,c.get=u,c}e.exports=o}},t={};function n(i){var r=t[i];if(void 0!==r)return r.exports;var o=t[i]={exports:{}};return e[i](o,o.exports,n),o.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";const e=2,t={buckets:[{max:5,increment:.5}]},i={buckets:[{max:20,increment:.1}]},r={buckets:[{max:20,increment:.01}]},o={buckets:[{max:3,increment:.01},{max:8,increment:.05},{max:20,increment:.5}]},s={buckets:[{max:5,increment:.05},{max:10,increment:.1},{max:20,increment:.5}]};function a(t,n,i){let r="";if(!d(n))return r;const o=n.buckets.reduce(((e,t)=>e.max>t.max?e:t),{max:0});let s=0,a=n.buckets.find((n=>{if(t>o.max*i){let t=n.precision;void 0===t&&(t=e),r=(n.max*i).toFixed(t)}else{if(t<=n.max*i&&t>=s*i)return n.min=s,n;s=n.max}}));return a&&(r=c(t,a,i)),r}function d(e){if(Ie(e)||!e.buckets||!Array.isArray(e.buckets))return!1;let t=!0;return e.buckets.forEach((e=>{e.max&&e.increment||(t=!1)})),t}function c(t,n,i){const r=void 0!==n.precision?n.precision:e,o=n.increment*i,s=n.min*i;let a=Math.floor,d=U.getConfig("cpmRoundingFunction");"function"==typeof d&&(a=d);let c,l,u=Math.pow(10,r+2),f=(t*u-s*u)/(o*u);try{c=a(f)*o+s}catch(e){l=!0}return(l||"number"!=typeof c)&&(ge("Invalid rounding function passed in config"),c=Math.floor(f)*o+s),c=Number(c.toFixed(10)),c.toFixed(r)}function l(e,t,n,i,r){for(t=t.split?t.split("."):t,i=0;i<t.length;i++)e=e?e[t[i]]:r;return e===r?n:e}const u={PL_CODE:"code",PL_SIZE:"sizes",PL_BIDS:"bids",BD_BIDDER:"bidder",BD_ID:"paramsd",BD_PL_ID:"placementId",ADSERVER_TARGETING:"adserverTargeting",BD_SETTING_STANDARD:"standard"},f="pbjs_debug",p=1,g={AUCTION_INIT:"auctionInit",AUCTION_TIMEOUT:"auctionTimeout",AUCTION_END:"auctionEnd",BID_ADJUSTMENT:"bidAdjustment",BID_TIMEOUT:"bidTimeout",BID_REQUESTED:"bidRequested",BID_RESPONSE:"bidResponse",BID_REJECTED:"bidRejected",NO_BID:"noBid",SEAT_NON_BID:"seatNonBid",BID_WON:"bidWon",BIDDER_DONE:"bidderDone",BIDDER_ERROR:"bidderError",SET_TARGETING:"setTargeting",BEFORE_REQUEST_BIDS:"beforeRequestBids",BEFORE_BIDDER_HTTP:"beforeBidderHttp",REQUEST_BIDS:"requestBids",ADD_AD_UNITS:"addAdUnits",AD_RENDER_FAILED:"adRenderFailed",AD_RENDER_SUCCEEDED:"adRenderSucceeded",TCF2_ENFORCEMENT:"tcf2Enforcement",AUCTION_DEBUG:"auctionDebug",BID_VIEWABLE:"bidViewable",STALE_RENDER:"staleRender",EXPIRED_RENDER:"expiredRender",BILLABLE_EVENT:"billableEvent",BID_ACCEPTED:"bidAccepted",RUN_PAAPI_AUCTION:"paapiRunAuction",PBS_ANALYTICS:"pbsAnalytics",PAAPI_BID:"paapiBid",PAAPI_NO_BID:"paapiNoBid",PAAPI_ERROR:"paapiError",BEFORE_PBS_HTTP:"beforePBSHttp",BROWSI_INIT:"browsiInit",BROWSI_DATA:"browsiData"},h={BIDDER:"hb_bidder",AD_ID:"hb_adid",PRICE_BUCKET:"hb_pb",SIZE:"hb_size",DEAL:"hb_deal",SOURCE:"hb_source",FORMAT:"hb_format",UUID:"hb_uuid",CACHE_ID:"hb_cache_id",CACHE_HOST:"hb_cache_host",ADOMAIN:"hb_adomain",ACAT:"hb_acat",CRID:"hb_crid",DSP:"hb_dsp"},m={title:"hb_native_title",body:"hb_native_body",body2:"hb_native_body2",privacyLink:"hb_native_privacy",privacyIcon:"hb_native_privicon",sponsoredBy:"hb_native_brand",image:"hb_native_image",icon:"hb_native_icon",clickUrl:"hb_native_linkurl",displayUrl:"hb_native_displayurl",cta:"hb_native_cta",rating:"hb_native_rating",address:"hb_native_address",downloads:"hb_native_downloads",likes:"hb_native_likes",phone:"hb_native_phone",price:"hb_native_price",salePrice:"hb_native_saleprice",rendererUrl:"hb_renderer_url",adTemplate:"hb_adTemplate"},b="s2s",y="Bid has missing or invalid properties",v="Invalid request ID",w="Bidder code is not allowed by allowedAlternateBidderCodes / allowUnknownBidderCodes",E="Bid price exceeds maximum value",A={body:"desc",body2:"desc2",sponsoredBy:"sponsored",cta:"ctatext",rating:"rating",address:"address",downloads:"downloads",likes:"likes",phone:"phone",price:"price",salePrice:"saleprice",displayUrl:"displayurl"},C={sponsored:1,desc:2,rating:3,likes:4,downloads:5,price:6,saleprice:7,phone:8,address:9,desc2:10,displayurl:11,ctatext:12},T={ICON:1,MAIN:3},B=["privacyIcon","clickUrl","sendTargetingKeys","adTemplate","rendererUrl","type"],I="TRUE"===ye(f).toUpperCase(),R={},S="random",k={};k[S]=!0,k.fixed=!0;const O=S,D={LOW:"low",MEDIUM:"medium",HIGH:"high",AUTO:"auto",DENSE:"dense",CUSTOM:"custom"};function x(e){const t=arguments.length>1&&void 0!==arguments[1]&&!arguments[1]?{}:{priceGranularity:D.MEDIUM,customPriceBucket:{},mediaTypePriceGranularity:{},bidderSequence:O,auctionOptions:{}};function n(e){return t[e]}function i(n,i){t.hasOwnProperty(n)||Object.defineProperty(e,n,{enumerable:!0}),t[n]=i}const r={publisherDomain:{set(e){null!=e&&ge("publisherDomain is deprecated and has no effect since v7 - use pageUrl instead"),i("publisherDomain",e)}},priceGranularity:{set(e){s(e)&&("string"==typeof e?i("priceGranularity",o(e)?e:D.MEDIUM):Te(e)&&(i("customPriceBucket",e),i("priceGranularity",D.CUSTOM),fe("Using custom price granularity")))}},customPriceBucket:{},mediaTypePriceGranularity:{set(e){null!=e&&i("mediaTypePriceGranularity",Object.keys(e).reduce(((t,i)=>(s(e[i])?"string"==typeof e?t[i]=o(e[i])?e[i]:n("priceGranularity"):Te(e)&&(t[i]=e[i],fe(`Using custom price granularity for ${i}`)):ge(`Invalid price granularity for media type: ${i}`),t)),{}))}},bidderSequence:{set(e){k[e]?i("bidderSequence",e):ge(`Invalid order: ${e}. Bidder Sequence was not set.`)}},auctionOptions:{set(e){(function(e){if(!Te(e))return ge("Auction Options must be an object"),!1;for(let t of Object.keys(e)){if("secondaryBidders"!==t&&"suppressStaleRender"!==t&&"suppressExpiredRender"!==t)return ge(`Auction Options given an incorrect param: ${t}`),!1;if("secondaryBidders"===t){if(!Ae(e[t]))return ge(`Auction Options ${t} must be of type Array`),!1;if(!e[t].every(Ee))return ge(`Auction Options ${t} must be only string`),!1}else if(("suppressStaleRender"===t||"suppressExpiredRender"===t)&&!Be(e[t]))return ge(`Auction Options ${t} must be of type boolean`),!1}return!0})(e)&&i("auctionOptions",e)}}};return Object.defineProperties(e,Object.fromEntries(Object.entries(r).map((e=>{let[r,o]=e;return[r,Object.assign({get:n.bind(null,r),set:i.bind(null,r),enumerable:t.hasOwnProperty(r),configurable:!t.hasOwnProperty(r)},o)]})))),e;function o(e){return Object.keys(D).find((t=>e===D[t]))}function s(e){if(!e)return he("Prebid Error: no value passed to `setPriceGranularity()`"),!1;if("string"==typeof e)o(e)||ge("Prebid Warning: setPriceGranularity was called with invalid setting, using `medium` as default.");else if(Te(e)&&!d(e))return he("Invalid custom price value passed to `setPriceGranularity()`"),!1;return!0}}const U=function(){let e,t,n,i=[],r=null;function o(){e={};let i=x({debug:I,bidderTimeout:3e3,enableSendAllBids:!0,useBidCache:!1,deviceAccess:!0,disableAjaxTimeout:!1,maxNestedIframes:10,maxBid:5e3,userSync:{topics:R}});t&&p(Object.keys(t).reduce(((e,n)=>(t[n]!==i[n]&&(e[n]=i[n]||{}),e)),{})),t=i,n={}}function s(){if(r&&n&&Te(n[r])){const e=n[r],i=new Set([...Object.keys(t),...Object.keys(e)]),o={};for(const n of i){const i=t[n],r=e[n];o[n]=void 0===r?i:void 0===i?r:Te(r)?Ve({},i,r):r}return o}return{...t}}const[a,d]=[s,function(){const e=s();return Object.defineProperty(e,"ortb2",{get:function(){throw new Error("invalid access to 'orbt2' config - use request parameters instead")}}),e}].map((e=>function(){if(arguments.length<=1&&"function"!=typeof(arguments.length<=0?void 0:arguments[0])){const t=arguments.length<=0?void 0:arguments[0];return t?l(e(),t):s()}return function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=t;if("string"!=typeof e&&(r=e,e="*",n=t||{}),"function"!=typeof r)return void he("listener must be a function");const o={topic:e,callback:r};return i.push(o),n.init&&r("*"===e?d():{[e]:d(e)}),function(){i.splice(i.indexOf(o),1)}}(...arguments)})),[c,u]=[d,a].map((e=>function(){let t=e(...arguments);return t&&"object"==typeof t&&(t=je(t)),t}));function f(n){if(!Te(n))return void he("setConfig options must be an object");let i=Object.keys(n),r={};i.forEach((i=>{let o=n[i];Te(e[i])&&Te(o)&&(o=Object.assign({},e[i],o));try{r[i]=t[i]=o}catch(e){ge(`Cannot set config for property ${i} : `,e)}})),p(r)}function p(e){const t=Object.keys(e);i.filter((e=>t.includes(e.topic))).forEach((t=>{t.callback({[t.topic]:e[t.topic]})})),i.filter((e=>"*"===e.topic)).forEach((t=>t.callback(e)))}function g(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];try{!function(e){if(!Te(e))throw"setBidderConfig bidder options must be an object";if(!Array.isArray(e.bidders)||!e.bidders.length)throw"setBidderConfig bidder options must contain a bidders list with at least 1 bidder";if(!Te(e.config))throw"setBidderConfig bidder options must contain a config object"}(e),e.bidders.forEach((i=>{n[i]||(n[i]=x({},!1)),Object.keys(e.config).forEach((r=>{let o=e.config[r];const s=n[i][r];if(Te(o)&&(null==s||Te(s))){const e=t?Ve:Object.assign;n[i][r]=e({},s||{},o)}else n[i][r]=o}))}))}catch(e){he(e)}}function h(e,t){r=e;try{return t()}finally{m()}}function m(){r=null}return o(),{getCurrentBidder:function(){return r},resetBidder:m,getConfig:d,getAnyConfig:a,readConfig:c,readAnyConfig:u,setConfig:f,mergeConfig:function(e){if(!Te(e))return void he("mergeConfig input must be an object");const t=Ve(s(),e);return f({...t}),t},setDefaults:function(n){Te(e)?(Object.assign(e,n),Object.assign(t,n)):he("defaults must be an object")},resetConfig:o,runWithBidder:h,callbackWithBidder:function(e){return function(t){return function(){if("function"==typeof t){for(var n=arguments.length,i=new Array(n),r=0;r<n;r++)i[r]=arguments[r];return h(e,t.bind(this,...i))}ge("config.callbackWithBidder callback is not a function")}}},setBidderConfig:g,getBidderConfig:function(){return n},mergeBidderConfig:function(e){return g(e,!0)}}}();function _(e){var t,n,i;if(Array.isArray(e)){for(n=Array(t=e.length);t--;)n[t]=(i=e[t])&&"object"==typeof i?_(i):i;return n}if("[object Object]"===Object.prototype.toString.call(e)){for(t in n={},e)"__proto__"===t?Object.defineProperty(n,t,{value:_(e[t]),configurable:!0,enumerable:!0,writable:!0}):n[t]=(i=e[t])&&"object"==typeof i?_(i):i;return n}return e}const j=0,q=1,P=window,$=P.pbjs=P.pbjs||{};function N(){return $}$.cmd=$.cmd||[],$.que=$.que||[],P===window&&(P._pbjsGlobals=P._pbjsGlobals||[],P._pbjsGlobals.push("pbjs")),N().setTimeout;const M=N().Promise??class{#e;#t;constructor(e){if("function"!=typeof e)throw new Error("resolver not a function");const t=[],n=[];let[i,r]=[j,q].map((e=>function(o){if(e===j&&"function"==typeof o?.then)o.then(i,r);else if(!t.length)for(t.push(e,o);n.length;)n.shift()()}));try{e(i,r)}catch(e){r(e)}this.#e=t,this.#t=n}then(e,t){const n=this.#e;return new this.constructor(((i,r)=>{const o=()=>{let o=n[1],[s,a]=n[0]===j?[e,i]:[t,r];if("function"==typeof s){try{o=s(o)}catch(e){return void r(e)}a=i}a(o)};n.length?o():this.#t.push(o)}))}catch(e){return this.then(null,e)}finally(e){let t;return this.then((n=>(t=n,e())),(n=>(t=this.constructor.reject(n),e()))).then((()=>t))}static#n(e,t,n){let i=e.length;function r(){t.apply(this,arguments),--i<=0&&n&&n()}0===e.length&&n?n():e.forEach(((e,t)=>this.resolve(e).then((e=>r(!0,e,t)),(e=>r(!1,e,t)))))}static race(e){return new this(((t,n)=>{this.#n(e,((e,i)=>e?t(i):n(i)))}))}static all(e){return new this(((t,n)=>{let i=[];this.#n(e,((e,t,r)=>e?i[r]=t:n(t)),(()=>t(i)))}))}static allSettled(e){return new this((t=>{let n=[];this.#n(e,((e,t,i)=>n[i]=e?{status:"fulfilled",value:t}:{status:"rejected",reason:t}),(()=>t(n)))}))}static resolve(e){return new this((t=>t(e)))}static reject(e){return new this(((t,n)=>n(e)))}};function W(){let e,t,{promiseFactory:n=(e=>new M(e))}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};function i(e){return t=>e(t)}return{promise:n(((n,i)=>{e=n,t=i})),resolve:i(e),reject:i(t)}}var L="String",G="Function",F="Number",H="Object",V="Boolean",z=Object.prototype.toString;let K,J,Y=Boolean(window.console),Q=Boolean(Y&&window.console.log),X=Boolean(Y&&window.console.info),Z=Boolean(Y&&window.console.warn),ee=Boolean(Y&&window.console.error);const te=N();function ne(){null!=K&&K(...arguments)}const ie={checkCookieSupport:$e,createTrackPixelIframeHtml:function(e){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return e?((!(arguments.length>1&&void 0!==arguments[1])||arguments[1])&&(e=encodeURI(e)),t&&(t=`sandbox="${t}"`),`<iframe ${t} id="${se()}"\n frameborder="0"\n allowtransparency="true"\n marginheight="0" marginwidth="0"\n width="0" hspace="0" vspace="0" height="0"\n style="height:0px;width:0px;display:none;"\n scrolling="no"\n src="${e}">\n </iframe>`):""},getWindowSelf:function(){return window.self},getWindowTop:function(){return window.top},canAccessWindowTop:ue,getWindowLocation:le,insertUserSyncIframe:Oe,insertElement:Re,isFn:we,triggerPixel:ke,logError:he,logWarn:ge,logMessage:fe,logInfo:pe,parseQS:Ge,formatQS:function(e){return Object.keys(e).map((t=>Array.isArray(e[t])?e[t].map((e=>`${t}[]=${e}`)).join("&"):`${t}=${e[t]}`)).join("&")},deepEqual:He,resetWinDimensions:function(){const e=ue()?ie.getWindowTop():ie.getWindowSelf();J={screen:{width:e.screen?.width,height:e.screen?.height,availWidth:e.screen?.availWidth,availHeight:e.screen?.availHeight,colorDepth:e.screen?.colorDepth},innerHeight:e.innerHeight,innerWidth:e.innerWidth,outerWidth:e.outerWidth,outerHeight:e.outerHeight,visualViewport:{height:e.visualViewport?.height,width:e.visualViewport?.width},document:{documentElement:{clientWidth:e.document?.documentElement?.clientWidth,clientHeight:e.document?.documentElement?.clientHeight,scrollTop:e.document?.documentElement?.scrollTop,scrollLeft:e.document?.documentElement?.scrollLeft},body:{scrollTop:document.body?.scrollTop,scrollLeft:document.body?.scrollLeft,clientWidth:document.body?.clientWidth,clientHeight:document.body?.clientHeight}}}}};var re,oe=(re=0,function(){return++re});function se(){return oe()+Math.random().toString(16).substr(2)}function ae(e){return e?(e^(window&&window.crypto&&window.crypto.getRandomValues?crypto.getRandomValues(new Uint8Array(1))[0]%16:16*Math.random())>>e/4).toString(16):([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,ae)}function de(e){return e[0]+"x"+e[1]}function ce(e){return Ae(e)&&2===e.length&&!isNaN(e[0])&&!isNaN(e[1])}function le(){return window.location}function ue(){try{if(ie.getWindowTop().location.href)return!0}catch(e){return!1}}function fe(){be()&&Q&&console.log.apply(console,me(arguments,"MESSAGE:"))}function pe(){be()&&X&&console.info.apply(console,me(arguments,"INFO:"))}function ge(){be()&&Z&&console.warn.apply(console,me(arguments,"WARNING:")),ne(g.AUCTION_DEBUG,{type:"WARNING",arguments})}function he(){be()&&ee&&console.error.apply(console,me(arguments,"ERROR:")),ne(g.AUCTION_DEBUG,{type:"ERROR",arguments})}function me(e,t){e=[].slice.call(e);let n=U.getCurrentBidder();return t&&e.unshift(t),n&&e.unshift(i("#aaa")),e.unshift(i("#3b88c3")),e.unshift("%cPrebid"+(n?`%c${n}`:"")),e;function i(e){return`display: inline-block; color: #fff; background: ${e}; padding: 1px 4px; border-radius: 3px;`}}function be(){return!!U.getConfig("debug")}function ye(e){return Ge(le().search)[e]||""}function ve(e,t){return z.call(e)==="[object "+t+"]"}function we(e){return ve(e,G)}function Ee(e){return ve(e,L)}const Ae=Array.isArray.bind(Array);function Ce(e){return ve(e,F)}function Te(e){return ve(e,H)}function Be(e){return ve(e,V)}function Ie(e){return!e||(Ae(e)||Ee(e)?!(e.length>0):Object.keys(e).length<=0)}function Re(e,t,n,i){let r;t=t||document,r=n?t.getElementsByTagName(n):t.getElementsByTagName("head");try{if(r=r.length?r:t.getElementsByTagName("body"),r.length){r=r[0];let t=i?null:r.firstChild;return r.insertBefore(e,t)}}catch(e){}}function Se(e,t){let n=null;return new M((i=>{const r=function(){e.removeEventListener("load",r),e.removeEventListener("error",r),null!=n&&window.clearTimeout(n),i()};e.addEventListener("load",r),e.addEventListener("error",r),null!=t&&(n=window.setTimeout(r,t))}))}function ke(e,t,n){const i=new Image;t&&ie.isFn(t)&&Se(i,n).then(t),i.src=e}function Oe(e,t,n){let i=ie.createTrackPixelIframeHtml(e,!1,"allow-scripts allow-same-origin"),r=document.createElement("div");r.innerHTML=i;let o=r.firstChild;t&&ie.isFn(t)&&Se(o,n).then(t),ie.insertElement(o,document,"html",!0)}function De(e,t,n){return n.indexOf(e)===t}function xe(e,t){return e.concat(t)}function Ue(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:te.adUnits).map((e=>e.bids.map((e=>e.bidder)).reduce(xe,[]))).reduce(xe,[]).filter((e=>void 0!==e)).filter(De)}function _e(e){let t=e.length;for(;t>0;){let n=Math.floor(Math.random()*t);t--;let i=e[t];e[t]=e[n],e[n]=i}return e}function je(e){return _(e)||{}}function qe(){return(new Date).getTime()}function Pe(){return!1!==U.getConfig("deviceAccess")}function $e(){if(window.navigator.cookieEnabled||document.cookie.length)return!0}function Ne(e,t){if(t<1)throw new Error(`numRequiredCalls must be a positive number. Got ${t}`);let n=0;return function(){n++,n===t&&e.apply(this,arguments)}}function Me(e,t,n){return e.filter((e=>e.code===t)).flatMap((e=>e.bids)).filter((e=>e.bidder===n)).map((e=>e.params||{}))}const We=Number.isInteger.bind(Number);function Le(e,t){return Ae(e)&&(!t||e.length===t)&&e.every((e=>We(e)))}function Ge(e){return e?e.replace(/^\?/,"").split("&").reduce(((e,t)=>{let[n,i]=t.split("=");return/\[\]$/.test(n)?(n=n.replace("[]",""),e[n]=e[n]||[],e[n].push(i)):e[n]=i||"",e}),{}):{}}function Fe(e,t){let n=document.createElement("a");t&&"noDecodeWholeURL"in t&&t.noDecodeWholeURL?n.href=e:n.href=decodeURIComponent(e);let i=t&&"decodeSearchAsString"in t&&t.decodeSearchAsString;return{href:n.href,protocol:(n.protocol||"").replace(/:$/,""),hostname:n.hostname,port:+n.port,pathname:n.pathname.replace(/^(?!\/)/,"/"),search:i?n.search:ie.parseQS(n.search||""),hash:(n.hash||"").replace(/^#/,""),host:n.host||window.location.host}}function He(e,t){let{checkTypes:n=!1}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e===t)return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;const i=Array.isArray(e),r=Array.isArray(t);if(i&&r){if(e.length!==t.length)return!1;for(let i=0;i<e.length;i++)if(!He(e[i],t[i],{checkTypes:n}))return!1;return!0}if(i||r)return!1;if(n&&e.constructor!==t.constructor)return!1;const o=Object.keys(e),s=Object.keys(t);if(o.length!==s.length)return!1;for(const i of o){if(!Object.prototype.hasOwnProperty.call(t,i))return!1;if(!He(e[i],t[i],{checkTypes:n}))return!1}return!0}function Ve(e){for(let t=0;t<(arguments.length<=1?0:arguments.length-1);t++){const n=t+1<1||arguments.length<=t+1?void 0:arguments[t+1];Te(n)&&ze(e,n)}return e}function ze(e,t){if(!Te(e)||!Te(t))return;const n=Object.keys(t);for(let i=0;i<n.length;i++){const r=n[i];if("__proto__"===r||"constructor"===r)continue;const o=t[r];Te(o)?(e[r]||(e[r]={}),ze(e[r],o)):Array.isArray(o)?Array.isArray(e[r])?o.forEach((t=>{e[r].some((e=>He(e,t)))||e[r].push(t)})):e[r]=[...o]:e[r]=o}}function Ke(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=function(e,t){if(we(Math.imul))return Math.imul(e,t);var n=(4194303&e)*(t|=0);return 4290772992&e&&(n+=(4290772992&e)*t|0),0|n},i=3735928559^t,r=1103547991^t;for(let t,o=0;o<e.length;o++)t=e.charCodeAt(o),i=n(i^t,2654435761),r=n(r^t,1597334677);return i=n(i^i>>>16,2246822507)^n(r^r>>>13,3266489909),r=n(r^r>>>16,2246822507)^n(i^i>>>13,3266489909),(4294967296*(2097151&r)+(i>>>0)).toString()}function Je(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e};const n=new Map,i=function(){const i=t.apply(this,arguments);return n.has(i)||n.set(i,e.apply(this,arguments)),n.get(i)};return i.clear=n.clear.bind(n),i}function Ye(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Set;for(const n in e){const i=e[n],r=typeof i;if(void 0===i||"function"===r||"symbol"===r||i instanceof RegExp||i instanceof Map||i instanceof Set||i instanceof Date||null!==i&&"object"===r&&i.hasOwnProperty("toJSON"))return!0;if(null!==i&&"object"===r&&i.constructor===Object){if(t.has(i))return!0;if(t.add(i),Ye(i,t))return!0}}return!1}const Qe=function(){let e;return function(){if(void 0!==e)return e;try{void 0===window.CompressionStream?e=!1:(new window.CompressionStream("gzip"),e=!0)}catch(t){e=!1}return e}}(),Xe="native",Ze="video",et="banner",tt="accessDevice",nt="syncUser",it="fetchBids",rt="transmitEids",ot="transmitUfpd",st="transmitPreciseGeo",at="transmitTid",dt="loadExternalScript",ct={fetch:window.fetch.bind(window),makeRequest:(e,t)=>new Request(e,t),timeout(e,t){const n=new AbortController;let i=setTimeout((()=>{n.abort(),he(`Request timeout after ${e}ms`,t),i=null}),e);return{signal:n.signal,done(){i&&clearTimeout(i)}}}},lt="GET",ut="POST",ft="Content-Type";function pt(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:3e3,{request:t,done:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=(t,n)=>{let i;null==e||null!=n?.signal||U.getConfig("disableAjaxTimeout")||(i=ct.timeout(e,t),n=Object.assign({signal:i.signal},n));let r=ct.fetch(t,n);return null!=i?.done&&(r=r.finally(i.done)),r};return null==t&&null==n||(r=i,i=function(e,i){const o=new URL(null==e?.url?e:e.url,document.location).origin;let s=r(e,i);return t&&t(o),n&&(s=s.finally((()=>n(o)))),s}),i;var r}function gt(e,t){let{status:n,statusText:i="",headers:r,url:o}=e,s=0;function a(e){if(0===s)try{s=(new DOMParser).parseFromString(t,r?.get(ft)?.split(";")?.[0])}catch(t){s=null,e&&e(t)}return s}return{readyState:XMLHttpRequest.DONE,status:n,statusText:i,responseText:t,response:t,responseType:"",responseURL:o,get responseXML(){return a(he)},getResponseHeader:e=>r?.has(e)?r.get(e):null,toJSON(){return Object.assign({responseXML:a()},this)},timedOut:!1}}function ht(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:3e3,{request:t,done:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=pt(e,{request:t,done:n});return function(e,t,n){!function(e,t){const{success:n,error:i}="object"==typeof t&&null!=t?t:{success:"function"==typeof t?t:()=>null,error:(e,t)=>he("Network error",e,t)};e.then((e=>e.text().then((t=>[e,t])))).then((e=>{let[t,r]=e;const o=gt(t,r);t.ok||304===t.status?n(r,o):i(t.statusText,o)}),(e=>i("",Object.assign(gt({status:0},""),{reason:e,timedOut:"AbortError"===e?.name}))))}(i(function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=n.method||(t?ut:lt);if(i===lt&&t){const i=Fe(e,n);Object.assign(i.search,t),e=((r=i).protocol||"http")+"://"+(r.host||r.hostname+(r.port?`:${r.port}`:""))+(r.pathname||"")+(r.search?`?${ie.formatQS(r.search||"")}`:"")+(r.hash?`#${r.hash}`:"")}var r;const o=new Headers(n.customHeaders);o.set(ft,n.contentType||"text/plain");const s={method:i,headers:o};return i!==lt&&t&&(s.body=t),n.withCredentials&&(s.credentials="include"),isSecureContext&&(["browsingTopics","adAuctionHeaders"].forEach((e=>{n[e]&&(s[e]=!0)})),null!=n.suppressTopicsEnrollmentWarning&&(s.suppressTopicsEnrollmentWarning=n.suppressTopicsEnrollmentWarning)),n.keepalive&&(s.keepalive=!0),ct.makeRequest(e,s)}(e,n,arguments.length>3&&void 0!==arguments[3]?arguments[3]:{})),t)}}ht(),pt();const mt=new Map;function bt(e){let{index:t=li.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=yt(e),i=t.getAuction(e);let r={type:"xml",value:n,ttlseconds:Number(e.ttl)+15};return U.getConfig("cache.vasttrack")&&(r.bidder=e.bidder,r.bidid=e.requestId,r.aid=e.auctionId),null!=i&&(r.timestamp=i.getAuctionStart()),"string"==typeof e.customCacheKey&&""!==e.customCacheKey&&(r.key=e.customCacheKey),r}function yt(e){return e.vastXml?e.vastXml:`<VAST version="3.0">\n <Ad>\n <Wrapper>\n <AdSystem>prebid.org wrapper</AdSystem>\n <VASTAdTagURI><![CDATA[${e.vastUrl}]]></VASTAdTagURI>\n ${(t=(t=e.vastImpUrl)&&(Array.isArray(t)?t:[t]))?t.map((e=>`<Impression><![CDATA[${e}]]></Impression>`)).join(""):""}\n <Creatives></Creatives>\n </Wrapper>\n </Ad>\n </VAST>`;var t}const vt=(e,t,n)=>{e.videoCacheKey=n||ae(),e.vastUrl||(e.vastUrl=t)},wt=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:ht;const i={puts:e.map(bt)};n(U.getConfig("cache.timeout"))(U.getConfig("cache.url"),function(e){return{success:function(t){let n;try{n=JSON.parse(t).responses}catch(t){return void e(t,[])}n?e(null,n):e(new Error("The cache server didn't respond with a responses property."),[])},error:function(t,n){e(new Error(`Error storing video ad in the cache: ${t}: ${JSON.stringify(n)}`),[])}}}(t),JSON.stringify(i),{contentType:"text/plain",withCredentials:!0})};function Et(e){const t=e.map((e=>e.bidResponse));wt(t,(function(n,i){n?he(`Failed to save to the video cache: ${n}. Video bids will be discarded:`,t):e.length!==i.length?he(`expected ${e.length} cache IDs, got ${i.length} instead`):i.forEach(((t,n)=>{const{auctionInstance:i,bidResponse:r,afterBidAdded:o}=e[n];var s;""===t.uuid?ge("Supplied video cache key was already in use by Prebid Cache; caching attempt was rejected. Video bid must be discarded."):(vt(r,(s=t.uuid,`${U.getConfig("cache.url")}?uuid=${s}`),t.uuid),Qn(i,r),o())}))}))}let At,Ct,Tt;U.getConfig("cache",(e=>{let{cache:t}=e;At="number"==typeof t.batchSize&&t.batchSize>0?t.batchSize:1,Ct="number"==typeof t.batchTimeout&&t.batchTimeout>0?t.batchTimeout:0,t.useLocal&&!Tt&&(Tt=li.onExpiry((e=>{e.getBidsReceived().forEach((e=>{const t=mt.get(e.videoCacheKey);t&&t.startsWith("blob")&&URL.revokeObjectURL(t),mt.delete(e.videoCacheKey)}))})))}));const Bt=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:setTimeout,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Et,n=[[]],i=!1;const r=e=>e();return function(o,s,a){const d=Ct>0?e:r;n[n.length-1].length>=At&&n.push([]),n[n.length-1].push({auctionInstance:o,bidResponse:s,afterBidAdded:a}),i||(i=!0,d((()=>{n.forEach(t),n=[[]],i=!1}),Ct))}}(),It=new class{constructor(e,t){this.getSettings=e,this.defaultScope=t}get(e,t){let n=this.getOwn(e,t);return void 0===n&&(n=this.getOwn(null,t)),n}getOwn(e,t){return e=this.#i(e),l(this.getSettings(),`${e}.${t}`)}getScopes(){return Object.keys(this.getSettings()).filter((e=>e!==this.defaultScope))}settingsFor(e){return Ve({},this.ownSettingsFor(null),this.ownSettingsFor(e))}ownSettingsFor(e){return e=this.#i(e),this.getSettings()[e]||{}}#i(e){return null==e?this.defaultScope:e}}((()=>N().bidderSettings||{}),u.BD_SETTING_STANDARD),Rt="prebid",St="bidder",kt="analytics";var Ot=n(128),Dt=n.n(Ot);let xt=Dt()({ready:Dt().SYNC|Dt().ASYNC|Dt().QUEUE});const Ut=W();xt.ready=(()=>{const e=xt.ready;return function(){try{return e.apply(xt,arguments)}finally{Ut.resolve()}}})(),Ut.promise,xt.get;const _t="component",jt=_t+"Type",qt=_t+"Name",Pt="adapterCode",$t="storageType",Nt="configName",Mt="syncType",Wt="syncUrl",Lt="_config";function Gt(e){return function(t,n,i){const r={[jt]:t,[qt]:n,[_t]:`${t}.${n}`};return t===St&&(r[Pt]=e(n)),Ft(Object.assign(r,i))}}const Ft=xt("sync",(e=>e)),[Ht,Vt]=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(e){function t(e){return function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];e("Activity control:",...n)}}return{logError:t(he),logWarn:t(ge),logMessage:t(fe),logInfo:t(pe)}}();const t={};function n(e){return t[e]=t[e]||[]}function i(t,n,i,r){let o;try{o=i(r)}catch(i){e.logError(`Exception in rule ${n} for '${t}'`,i),o={allow:!1,reason:i}}return o&&Object.assign({activity:t,name:n,component:r[_t]},o)}const r={};function o(t){let{activity:n,name:i,allow:o,reason:s,component:a}=t;const d=`${i} ${o?"allowed":"denied"} '${n}' for '${a}'${s?":":""}`,c=r.hasOwnProperty(d);if(c&&clearTimeout(r[d]),r[d]=setTimeout((()=>delete r[d]),1e3),!c){const t=[d];s&&t.push(s),(o?e.logInfo:e.logWarn).apply(e,t)}}return[function(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10;const o=n(e),s=o.findIndex((e=>{let[t]=e;return r<t})),a=[r,t,i];return o.splice(s<0?o.length:s,0,a),function(){const e=o.indexOf(a);e>=0&&o.splice(e,1)}},function(e,t){let r,s;for(const[a,d,c]of n(e)){if(r!==a&&s)break;r=a;const n=i(e,d,c,t);if(n){if(!n.allow)return o(n),!1;s=n}}return s&&o(s),!0}]}(),zt="html5",Kt="cookie";let Jt=[];Ht(tt,"deviceAccess config",(function(){if(!Pe())return{allow:!1}})),Ht(tt,"bidderSettings.*.storageAllowed",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:It;if(e[jt]!==St)return;let n=t.get(e[Pt],"storageAllowed");if(n&&!0!==n){const t=e[$t];n=Array.isArray(n)?n.some((e=>e===t)):n===t}else n=!!n;return n?void 0:{allow:n}})),U.setDefaults({userSync:je({syncEnabled:!0,filterSettings:{image:{bidders:"*",filter:"include"}},syncsPerBidder:5,syncDelay:3e3,auctionDelay:500})});const Yt=function(){let{moduleName:e,moduleType:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{isAllowed:n=Vt}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};function i(i,r){let o=e;const s=U.getCurrentBidder();return s&&t===St&&Ir.aliasRegistry[s]===e&&(o=s),i({valid:n(tt,Rr(t,o,{[$t]:r}))})}function r(e,t,n){if(!n||"function"!=typeof n)return i(e,t);Jt.push((function(){let r=i(e,t);n(r)}))}function o(e){const t=e.charAt(0).toUpperCase()+e.substring(1),n=()=>window[e],i=function(t){return r((function(t){if(t&&t.valid)try{return!!n()}catch(t){he(`${e} api disabled`)}return!1}),zt,t)};return{[`has${t}`]:i,[`${e}IsEnabled`]:e=>r((function(e){if(e&&e.valid)try{return n().setItem("prebid.cookieTest","1"),"1"===n().getItem("prebid.cookieTest")}catch(e){}finally{try{n().removeItem("prebid.cookieTest")}catch(e){}}return!1}),zt,e),[`setDataIn${t}`]:(e,t,o)=>r((function(r){r&&r.valid&&i()&&n().setItem(e,t)}),zt,o),[`getDataFrom${t}`]:(e,t)=>r((function(t){return t&&t.valid&&i()?n().getItem(e):null}),zt,t),[`removeDataFrom${t}`]:(e,t)=>r((function(t){t&&t.valid&&i()&&n().removeItem(e)}),zt,t)}}return{setCookie:function(e,t,n,i,o,s){return r((function(r){if(r&&r.valid){const r=o&&""!==o?` ;domain=${encodeURIComponent(o)}`:"",s=n&&""!==n?` ;expires=${n}`:"",a=null!=i&&"none"==i.toLowerCase()?"; Secure":"";document.cookie=`${e}=${encodeURIComponent(t)}${s}; path=/${r}${i?`; SameSite=${i}`:""}${a}`}}),Kt,s)},getCookie:function(e,t){return r((function(t){if(t&&t.valid){let t=window.document.cookie.match("(^|;)\\s*"+e+"\\s*=\\s*([^;]*)\\s*(;|$)");return t?decodeURIComponent(t[2]):null}return null}),Kt,t)},cookiesAreEnabled:function(e){return r((function(e){return!(!e||!e.valid)&&$e()}),Kt,e)},...o("localStorage"),...o("sessionStorage"),findSimilarCookies:function(e,t){return r((function(t){if(t&&t.valid){const t=[];if(Pe()){const n=document.cookie.split(";");for(;n.length;){const i=n.pop();let r=i.indexOf("=");r=r<0?i.length:r,decodeURIComponent(i.slice(0,r).replace(/^\s+/,"")).indexOf(e)>=0&&t.push(decodeURIComponent(i.slice(r+1)))}}return t}}),Kt,t)}}}({moduleName:"usersync",moduleType:Rt}),Qt=function(e){let t={},n={image:[],iframe:[]},i=new Set,r={},o={image:!0,iframe:!1},s=e.config;function a(){if(s.syncEnabled&&e.browserSupportsCookies){try{o.iframe&&d(n.iframe,(e=>{let[t,i]=e;fe(`Invoking iframe user sync for bidder: ${t}`),Oe(i),function(e,t){e.image=e.image.filter((e=>e[0]!==t))}(n,t)})),o.image&&d(n.image,(e=>{let[t,n]=e;fe(`Invoking image pixel user sync for bidder: ${t}`),ke(n)}))}catch(e){return he("Error firing user syncs",e)}n={image:[],iframe:[]}}}function d(e,t){_e(e).forEach(t)}return U.getConfig("userSync",(e=>{if(e.userSync){let t=e.userSync.filterSettings;Te(t)&&(t.image||t.all||(e.userSync.filterSettings.image={bidders:"*",filter:"include"}))}s=Object.assign(s,e.userSync)})),e.regRule(nt,"userSync config",(e=>{if(!s.syncEnabled)return{allow:!1,reason:"syncs are disabled"};if(e[jt]===St){const n=e[Mt],i=e[qt];if(!t.canBidderRegisterSync(n,i))return{allow:!1,reason:`${n} syncs are not enabled for ${i}`}}})),t.registerSync=(t,o,a)=>i.has(o)?fe(`already fired syncs for "${o}", ignoring registerSync call`):s.syncEnabled&&Ae(n[t])?o?0!==s.syncsPerBidder&&Number(r[o])>=s.syncsPerBidder?ge(`Number of user syncs exceeded for "${o}"`):void(e.isAllowed(nt,Rr(St,o,{[Mt]:t,[Wt]:a}))&&(n[t].push([o,a]),r=function(e,t){return e[t]?e[t]+=1:e[t]=1,e}(r,o))):ge("Bidder is required for registering sync"):ge(`User sync type "${t}" not supported`),t.bidderDone=i.add.bind(i),t.syncUsers=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(e)return setTimeout(a,Number(e));a()},t.triggerUserSyncs=()=>{s.enableOverride&&t.syncUsers()},t.canBidderRegisterSync=(e,t)=>!s.filterSettings||!function(e,t){let n=s.filterSettings;if(function(e,t){if(e.all&&e[t])return ge(`Detected presence of the "filterSettings.all" and "filterSettings.${t}" in userSync config. You cannot mix "all" with "iframe/image" configs; they are mutually exclusive.`),!1;let n=e.all?e.all:e[t],i=e.all?"all":t;if(!n)return!1;let r=n.filter,o=n.bidders;return r&&"include"!==r&&"exclude"!==r?(ge(`UserSync "filterSettings.${i}.filter" setting '${r}' is not a valid option; use either 'include' or 'exclude'.`),!1):!!("*"===o||Array.isArray(o)&&o.length>0&&o.every((e=>Ee(e)&&"*"!==e)))||(ge(`Detected an invalid setup in userSync "filterSettings.${i}.bidders"; use either '*' (to represent all bidders) or an array of bidders.`),!1)}(n,e)){o[e]=!0;let i=n.all?n.all:n[e],r="*"===i.bidders?[t]:i.bidders;const s={include:(e,t)=>!e.includes(t),exclude:(e,t)=>e.includes(t)};return s[i.filter||"include"](r,t)}return!o[e]}(e,t),t}(Object.defineProperties({config:U.getConfig("userSync"),isAllowed:Vt,regRule:Ht},{browserSupportsCookies:{get:function(){return!/^((?!chrome|android|crios|fxios).)*safari/i.test(navigator.userAgent)&&Yt.cookiesAreEnabled()}}})),Xt="outstream";new Map([["mimes",e=>Array.isArray(e)&&e.length>0&&e.every((e=>"string"==typeof e))],["minduration",We],["maxduration",We],["startdelay",We],["maxseq",We],["poddur",We],["protocols",Le],["w",We],["h",We],["podid",Ee],["podseq",We],["rqddurs",Le],["placement",We],["plcmt",We],["linearity",We],["skip",e=>[1,0].includes(e)],["skipmin",We],["skipafter",We],["sequence",We],["slotinpod",We],["mincpmpersec",Ce],["battr",Le],["maxextended",We],["minbitrate",We],["maxbitrate",We],["boxingallowed",We],["playbackmethod",Le],["playbackend",We],["delivery",Le],["pos",We],["api",Le],["companiontype",Le],["poddedupe",Le]]);const Zt=xt("sync",(function(e,t,n,i,r){if(n&&(r||i!==Xt)){const{url:t,useLocal:n}=U.getConfig("cache")||{};return t||n||!e.vastXml||e.vastUrl?!(!e.vastUrl&&!e.vastXml):(he('\n This bid contains only vastXml and will not work when a prebid cache url is not specified.\n Try enabling either prebid cache with pbjs.setConfig({ cache: {url: "..."} });\n or local cache with pbjs.setConfig({ cache: { useLocal: true }});\n '),!1)}return!(i===Xt&&!r&&!(e.renderer||t&&t.renderer||n.renderer))}),"checkVideoBidSetup");let en=null,tn=0,nn=[];function rn(e,t){const n=tn;let i=setTimeout((()=>{tn===n&&null==en?e():null!=en?nn.push({callback:e,startTime:n,setTimerId(e){i=e}}):i=rn(e,tn-n)()}),t);return()=>i}function on(){let{startTime:e=qe,ttl:t=(()=>null),monotonic:n=!1,slack:i=5e3}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const r=new Map,o=[],s=[],a=n?e=>s.push(e):e=>s.splice(function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e=>e,i=0,r=e.length&&e.length-1;const o=n(t);for(;r-i>1;){const t=i+Math.round((r-i)/2);o>n(e[t])?i=t:r=t}for(;e.length>i&&o>n(e[i]);)i++;return i}(s,e,(e=>e.expiry)),0,e);let d,c;function l(){if(c&&clearTimeout(c),s.length>0){const e=qe();d=Math.max(e,s[0].expiry+i),c=rn((()=>{const e=qe();let t=0;for(const n of s){if(n.expiry>e)break;o.forEach((e=>{try{e(n.item)}catch(e){he(e)}})),r.delete(n.item),t++}s.splice(0,t),c=null,l()}),d-e)}else c=null}let u={};return{[Symbol.iterator]:()=>r.keys(),add(n){!r.has(n)&&r.set(n,function(n){const r={},o=u;let s;const[f,p]=Object.entries({start:e,delta:t}).map((e=>{let t,[f,p]=e;return function(){const e=t={};M.resolve(p(n)).then((n=>{e===t&&(r[f]=n,o===u&&null!=r.start&&null!=r.delta&&(s=r.start+r.delta,a(g),(null==c||d>s+i)&&l()))}))}})),g={item:n,refresh:p,get expiry(){return s}};return f(),p(),g}(n))},clear(){s.length=0,l(),r.clear(),u={}},toArray:()=>Array.from(r.keys()),refresh(){s.length=0,l();for(const e of r.values())e.refresh()},onExpiry:e=>(o.push(e),()=>{const t=o.indexOf(e);t>=0&&o.splice(t,1)})}}document.addEventListener("visibilitychange",(function(){document.hidden?en=Date.now():(tn+=Date.now()-(en??0),en=null,nn.forEach((e=>{let{callback:t,startTime:n,setTimerId:i}=e;return i(rn(t,tn-n)())})),nn=[])}));const sn="eventHistoryTTL";let an=null;const dn=on({monotonic:!0,ttl:()=>an});U.getConfig(sn,(e=>{const t=an;e=e?.[sn],an="number"==typeof e?1e3*e:null,t!==an&&dn.refresh()}));let cn=Array.prototype.slice,ln=Array.prototype.push,un=Object.values(g);const fn={bidWon:"adUnitCode"},pn=function(){let e={},t={};function n(e){return un.includes(e)}return t.has=n,t.on=function(t,i,r){if(n(t)){let n=e[t]||{que:[]};r?(n[r]=n[r]||{que:[]},n[r].que.push(i)):n.que.push(i),e[t]=n}else he("Wrong event name : "+t+" Valid event names :"+un)},t.emit=function(t){!function(t,n){fe("Emitting event for: "+t);let i=n[0]||{},r=i[fn[t]],o=e[t]||{que:[]};var s=Object.keys(o);let a=[];dn.add({eventType:t,args:i,id:r,elapsedTime:window.performance&&window.performance.now&&window.performance.now()||0}),r&&s.includes(r)&&ln.apply(a,o[r].que),ln.apply(a,o.que),(a||[]).forEach((function(e){if(e)try{e.apply(null,n)}catch(e){he("Error executing handler:","events.js",e,t)}}))}(t,cn.call(arguments,1))},t.off=function(t,n,i){let r=e[t];Ie(r)||Ie(r.que)&&Ie(r[i])||i&&(Ie(r[i])||Ie(r[i].que))||(i?(r[i].que||[]).forEach((function(e){let t=r[i].que;e===n&&t.splice(t.indexOf(e),1)})):(r.que||[]).forEach((function(e){let t=r.que;e===n&&t.splice(t.indexOf(e),1)})),e[t]=r)},t.get=function(){return e},t.addEvents=function(e){un=un.concat(e)},t.getEvents=function(){return dn.toArray().map((e=>Object.assign({},e)))},t}();var gn;gn=pn.emit.bind(pn),K=gn;const{on:hn,off:mn,get:bn,getEvents:yn,emit:vn,addEvents:wn,has:En}=pn,An="performanceMetrics",Cn=window.performance&&window.performance.now?()=>window.performance.now():()=>Date.now(),Tn=new WeakMap;function Bn(){let{now:e=Cn,mkNode:t=Sn,mkTimer:n=Rn,mkRenamer:i=(e=>e),nodes:r=Tn}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(){return function o(s){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e=>({forEach(t){t(e)}});a=i(a);const d=function(e){return s.dfWalk({visit(t,n){const i=n.timestamps;if(i.hasOwnProperty(e))return i[e]}})};function c(e,t){const n=a(e);s.dfWalk({follow:(e,t)=>t.propagate&&(!e||!e.stopPropagation),visit(e,i){n.forEach((n=>{null==e?i.metrics[n]=t:(i.groups.hasOwnProperty(n)||(i.groups[n]=[]),i.groups[n].push(t))}))}})}function l(t){return n(e,(e=>c(t,e)))}function u(){let e={};return s.dfWalk({visit(t,n){e=Object.assign({},!t||t.includeGroups?n.groups:null,n.metrics,e)}}),e}const f={startTiming:l,measureTime:function(e,t){return l(e).stopAfter(t)()},measureHookTime:function(e,t,n){const i=l(e);return n(function(e){const t=i.stopBefore(e);return t.bail=e.bail&&i.stopBefore(e.bail),t.stopTiming=i,t.untimed=e,t}(t))},checkpoint:function(t){s.timestamps[t]=e()},timeSince:function(t,n){const i=d(t),r=null!=i?e()-i:null;return null!=n&&c(n,r),r},timeBetween:function(e,t,n){const i=d(e),r=d(t),o=null!=i&&null!=r?r-i:null;return null!=n&&c(n,o),o},setMetric:c,getMetrics:u,fork:function(){let{propagate:e=!0,stopPropagation:n=!1,includeGroups:i=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return o(t([[s,{propagate:e,stopPropagation:n,includeGroups:i}]]),a)},join:function(e){let{propagate:t=!0,stopPropagation:n=!1,includeGroups:i=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const o=r.get(e);null!=o&&o.addParent(s,{propagate:t,stopPropagation:n,includeGroups:i})},newMetrics:function(){return o(s.newSibling(),a)},renameWith:function(e){return o(s,e)},toJSON:()=>u()};return r.set(f,s),f}(t([]))}}function In(e,t,n){return function(){t&&t();try{return e.apply(this,arguments)}finally{n&&n()}}}function Rn(e,t){const n=e();let i=!1;function r(){i||(t(e()-n),i=!0)}return r.stopBefore=e=>In(e,r),r.stopAfter=e=>In(e,null,r),r}function Sn(e){return{metrics:{},timestamps:{},groups:{},addParent(t,n){e.push([t,n])},newSibling:()=>Sn(e.slice()),dfWalk(){let t,{visit:n,follow:i=(()=>!0),visited:r=new Set,inEdge:o}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!r.has(this)){if(r.add(this),t=n(o,this),null!=t)return t;for(const[s,a]of e)if(i(o,a)&&(t=s.dfWalk({visit:n,follow:i,visited:r,inEdge:a}),null!=t))return t}}}}const kn=(()=>{const e=function(){},t=()=>({}),n={forEach:e},i=()=>null;i.stopBefore=e=>e,i.stopAfter=e=>e;const r=Object.defineProperties({dfWalk:e,newSibling:()=>r,addParent:e},Object.fromEntries(["metrics","timestamps","groups"].map((e=>[e,{get:t}]))));return Bn({now:()=>0,mkNode:()=>r,mkRenamer:()=>()=>n,mkTimer:()=>i,nodes:{get:e,set:e}})()})();let On=!0;function Dn(e){return On&&e||kn}function xn(e,t){return function(n,i){return function(r){for(var o=arguments.length,s=new Array(o>1?o-1:0),a=1;a<o;a++)s[a-1]=arguments[a];const d=this;return Dn(t.apply(d,s)).measureHookTime(e+n,r,(function(e){return i.call(d,e,...s)}))}}}U.getConfig(An,(e=>{On=!!e[An]})),Bn(),xn("requestBids.",(e=>e.metrics)),xn("addBidResponse.",((e,t)=>t.metrics));const Un="minBidCacheTTL";let _n=1,jn=null;const qn=[];function Pn(){return jn}function $n(e){qn.push(e)}U.getConfig("ttlBuffer",(e=>{"number"==typeof e.ttlBuffer?_n=e.ttlBuffer:he("Invalid value for ttlBuffer",e.ttlBuffer)})),U.getConfig(Un,(e=>{const t=jn;jn=e?.[Un],jn="number"==typeof jn?jn:null,t!==jn&&qn.forEach((e=>e(jn)))}));const{syncUsers:Nn}=Qt,Mn="completed";hn(g.BID_ADJUSTMENT,(function(e){!function(e){let t=function(e,t,n){let{index:i=li.index,bs:r=It}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};n=n||i.getBidRequest(t);const o=t?.adapterCode,s=t?.bidderCode||n?.bidder,a=r.get(t?.adapterCode,"adjustAlternateBids"),d=r.getOwn(s,"bidCpmAdjustment")||r.get(a?o:s,"bidCpmAdjustment");if(d&&"function"==typeof d)try{return d(e,Object.assign({},t),n)}catch(e){he("Error during bid adjustment",e)}return e}(e.cpm,e);t>=0&&(e.cpm=t)}(e)}));const Wn={},Ln={},Gn=[],Fn=N(),Hn=xt("sync",(e=>{}));function Vn(e){let{adUnits:n,adUnitCodes:d,callback:c,cbTimeout:l,labels:u,auctionId:f,ortb2Fragments:p,metrics:h}=e;h=Dn(h);const m=n,y=u,v=d,w=f||ae(),E=l,A=new Set,C=W(),B=W();let I,R,S,k,O=[],D=c,x=[],_=on({startTime:e=>e.responseTimestamp,ttl:e=>null==Pn()?null:1e3*Math.max(Pn(),e.ttl)}),j=[],q=[],P=[];function $(){return{auctionId:w,timestamp:I,auctionEnd:R,auctionStatus:k,adUnits:m,adUnitCodes:v,labels:y,bidderRequests:x,noBids:j,bidsReceived:_.toArray(),bidsRejected:O,winningBids:q,timeout:E,metrics:h,seatNonBids:P}}function N(e){if(e?vn(g.AUCTION_TIMEOUT,$()):clearTimeout(S),void 0===R){let t=[];e&&(fe(`Auction ${w} timedOut`),t=x.filter((e=>!A.has(e.bidderRequestId))).flatMap((e=>e.bids)),t.length&&vn(g.BID_TIMEOUT,t)),k=Mn,R=Date.now(),h.checkpoint("auctionEnd"),h.timeBetween("requestBids","auctionEnd","requestBids.total"),h.timeBetween("callBids","auctionEnd","requestBids.callBids"),C.resolve(),vn(g.AUCTION_END,$()),Yn(m,(function(){try{if(null!=D){const t=_.toArray().filter((e=>v.includes(e.adUnitCode))).reduce(di,{});D.apply(Fn,[t,e,w]),D=null}}catch(e){he("Error executing bidsBackHandler",null,e)}finally{t.length&&Ir.callTimedOutBidders(n,t,E);let e=U.getConfig("userSync")||{};e.enableOverride||Nn(e.syncDelay)}}))}}function L(){U.resetBidder(),pe(`Bids Received for Auction with id: ${w}`,_.toArray()),k=Mn,N(!1)}function G(e){A.add(e)}function F(e){e.forEach((e=>{var t;t=e,x=x.concat(t)}));let n={},d={bidRequests:e,run:()=>{Hn(this),S=setTimeout((()=>N(!0)),E),k="inProgress",vn(g.AUCTION_INIT,$());let d=function(e,n){let{index:d=li.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},c=0,l=!1,u=new Set,f={};function p(){c--,l&&0===c&&e()}function h(e,t,n){return f[t.requestId]=!0,function(e,t){let{index:n=li.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=n.getBidderRequest(e),r=n.getAdUnit(e),o=i&&i.start||e.requestTimestamp;Object.assign(e,{responseTimestamp:e.responseTimestamp||qe(),requestTimestamp:e.requestTimestamp||o,cpm:parseFloat(e.cpm)||0,bidder:e.bidder||e.bidderCode,adUnitCode:t}),null!=r?.ttlBuffer&&(e.ttlBuffer=r.ttlBuffer),e.timeToRespond=e.responseTimestamp-e.requestTimestamp}(t,e),c++,n(p)}function m(e,c){h(e,c,(e=>{let l=function(e){let{index:n=li.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};vn(g.BID_ADJUSTMENT,e);const d=n.getAdUnit(e);e.instl=1===d?.ortb2Imp?.instl;const c=n.getBidRequest(e)?.renderer||d.renderer,l=e.mediaType,u=n.getMediaTypes(e),f=u&&u[l];var p=f&&f.renderer,h=null;!p||!p.render||!0===p.backupOnly&&e.renderer?!c||!c.render||!0===c.backupOnly&&e.renderer||(h=c):h=p,h&&(e.renderer=xr.install({url:h.url,config:h.options,renderNow:null==h.url}),e.renderer.setRender(h.render));const m=Zn(e.mediaType,u,U.getConfig("mediaTypePriceGranularity")),b=function(e,n){let d=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,c=parseFloat(e);return isNaN(c)&&(c=""),{low:""===c?"":a(e,t,d),med:""===c?"":a(e,i,d),high:""===c?"":a(e,r,d),auto:""===c?"":a(e,s,d),dense:""===c?"":a(e,o,d),custom:""===c?"":a(e,n,d)}}(e.cpm,"object"==typeof m?m:U.getConfig("customPriceBucket"),U.getConfig("currency.granularityMultiplier"));return e.pbLg=b.low,e.pbMg=b.med,e.pbHg=b.high,e.pbAg=b.auto,e.pbDg=b.dense,e.pbCg=b.custom,e}(c);vn(g.BID_ACCEPTED,l),l.mediaType===Ze?function(e,t,n){let{index:i=li.index}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=!0;const o=i.getMediaTypes({requestId:t.originalRequestId||t.requestId,adUnitId:t.adUnitId})?.video,s=o&&o?.context,a=o&&o?.useCacheKey,{useLocal:d,url:c,ignoreBidderCacheKey:l}=U.getConfig("cache")||{};d?(e=>{const t=yt(e),n=URL.createObjectURL(new Blob([t],{type:"text/xml"}));vt(e,n),mt.set(e.videoCacheKey,n)})(t):c&&(a||s!==Xt)&&(!t.videoCacheKey||l?(r=!1,Xn(e,t,n,o)):t.vastUrl||(he("videoCacheKey specified but not required vastUrl for video bid"),r=!1)),r&&(Qn(e,t),n())}(n,l,e):(function(e){return e.native&&"object"==typeof e.native}(l)&&function(e,t){const n=t?.nativeOrtbRequest,i=e.native?.ortb;if(n&&i){const t=function(e,t){const n={},i=t?.assets||[];n.clickUrl=e.link?.url,n.privacyLink=e.privacy;for(const t of e?.assets||[]){const e=i.find((e=>t.id===e.id));t.title?n.title=t.title.text:t.img?n[e?.img?.type===T.MAIN?"image":"icon"]={url:t.img.url,width:t.img.w,height:t.img.h}:t.data&&(n[mi[bi[e?.data?.type]]]=t.data.value)}n.impressionTrackers=[];let r=[];e.imptrackers&&n.impressionTrackers.push(...e.imptrackers);for(const t of e?.eventtrackers||[])t.event===pi&&t.method===ui&&n.impressionTrackers.push(t.url),t.event===pi&&t.method===fi&&r.push(t.url);return r=r.map((e=>`<script async src="${e}"><\/script>`)),e?.jstracker&&r.push(e.jstracker),r.length&&(n.javascriptTrackers=r.join("\n")),n}(i,n);Object.assign(e.native,t)}["rendererUrl","adTemplate"].forEach((n=>{const i=t?.nativeParams?.[n];i&&(e.native[n]=wi(i))}))}(l,d.getAdUnit(l)),Qn(n,l),e())}))}function b(e,t,i){return h(e,t,(e=>{t.rejectionReason=i,ge(`Bid from ${t.bidder||"unknown bidder"} was rejected: ${i}`,t),vn(g.BID_REJECTED,t),n.addBidRejected(t),e()}))}function y(){let t=n.getBidRequests();const i=U.getConfig("auctionOptions");if(u.add(this),i&&!Ie(i)){const e=i.secondaryBidders;e&&!t.every((t=>e.includes(t.bidderCode)))&&(t=t.filter((t=>!e.includes(t.bidderCode))))}l=t.every((e=>u.has(e))),this.bids.forEach((e=>{f[e.bidId]||(n.addNoBid(e),vn(g.NO_BID,e))})),l&&0===c&&e()}return{addBidResponse:function(){function e(e,t){zn.call({dispatch:m},e,t,(()=>{let n=!1;return i=>{n||(b(e,t,i),n=!0)}})())}return e.reject=b,e}(),adapterDone:function(){Kn(M.resolve()).finally((()=>y.call(this)))}}}(L,this);Ir.callBids(m,e,d.addBidResponse,d.adapterDone,{request(e,t){l(Wn,t),l(n,e),Ln[e]||(Ln[e]={SRA:!0,origin:t}),n[e]>1&&(Ln[e].SRA=!1)},done(e){Wn[e]--,Gn[0]&&c(Gn[0])&&Gn.shift()}},E,G,p),B.resolve()}};function c(e){let t=!0,n=U.getConfig("maxRequestsPerOrigin")||4;return e.bidRequests.some((e=>{let i=1,r=void 0!==e.src&&e.src===b?"s2s":e.bidderCode;return Ln[r]&&(!1===Ln[r].SRA&&(i=Math.min(e.bids.length,n)),Wn[Ln[r].origin]+i>n&&(t=!1)),!t})),t&&e.run(),t}function l(e,t){void 0===e[t]?e[t]=1:e[t]++}c(d)||(ge("queueing auction due to limited endpoint capacity"),Gn.push(d))}return $n((()=>_.refresh())),hn(g.SEAT_NON_BID,(e=>{var t;e.auctionId===w&&(t=e.seatnonbid,P=P.concat(t))})),{addBidReceived:function(e){_.add(e)},addBidRejected:function(e){O=O.concat(e)},addNoBid:function(e){j=j.concat(e)},callBids:function(){k="started",I=Date.now();let e=h.measureTime("requestBids.makeRequests",(()=>Ir.makeBidRequests(m,I,w,E,y,p,h)));pe(`Bids Requested for Auction with id: ${w}`,e),h.checkpoint("callBids"),e.length<1?(ge("No valid bid requests returned for auction"),L()):Jn.call({dispatch:F,context:this},e)},addWinningBid:function(e){q=q.concat(e),Ir.callBidWonBidder(e.adapterCode||e.bidder,e,n),e.deferBilling||Ir.triggerBilling(e)},setBidTargeting:function(e){Ir.callSetTargetingBidder(e.adapterCode||e.bidder,e)},getWinningBids:()=>q,getAuctionStart:()=>I,getAuctionEnd:()=>R,getTimeout:()=>E,getAuctionId:()=>w,getAuctionStatus:()=>k,getAdUnits:()=>m,getAdUnitCodes:()=>v,getBidRequests:()=>x,getBidsReceived:()=>_.toArray(),getNoBids:()=>j,getNonBids:()=>P,getFPD:()=>p,getMetrics:()=>h,end:C.promise,requestsDone:B.promise,getProperties:$}}const zn=function(e){return function(e,t){return Object.defineProperties(t,Object.fromEntries(["before","after","getHooks","removeAll"].map((t=>[t,{get:()=>e[t]}])))),t}(e,(function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return n.push((function(){})),e.apply(this,n)}))}(xt("async",(function(e,t,n){!function(e){const t=U.getConfig("maxBid");return!t||!e.cpm||t>=Number(e.cpm)}(t)?n(E):this.dispatch.call(null,e,t)}),"addBidResponse")),Kn=xt("sync",(e=>e),"responsesReady"),Jn=xt("sync",(function(e){this.dispatch.call(this.context,e)}),"addBidderRequests"),Yn=xt("async",(function(e,t){t&&t()}),"bidsBackCallback");function Qn(e,t){!function(e){let t;const n=!0===It.get(e.bidderCode,"allowZeroCpmBids")?e.cpm>=0:e.cpm>0;e.bidderCode&&(n||e.dealId)&&(t=function(e,t){let{index:n=li.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!t)return{};const i=n.getBidRequest(t);var r={};return ai(r,si(t.mediaType,e),t,i),e&&It.getOwn(e,u.ADSERVER_TARGETING)&&(ai(r,It.ownSettingsFor(e),t,i),t.sendStandardTargeting=It.get(e,"sendStandardTargeting")),t.native&&(r=Object.assign({},r,function(e){let{index:t=li.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={};const i=t.getAdUnit(e),r=null==i?.nativeParams?.ortb&&!1!==i?.nativeParams?.sendTargetingKeys,o=function(e){const t={};return e?.nativeParams?.ext&&Object.keys(e.nativeParams.ext).forEach((e=>{t[e]=`hb_native_${e}`})),{...m,...t}}(i),s={...e.native,...e.native.ext};return delete s.ext,Object.keys(s).forEach((t=>{const s=o[t];let a=wi(e.native[t])||wi(e?.native?.ext?.[t]);if("adTemplate"===t||!s||!a)return;let d=i?.nativeParams?.[t]?.sendId;"boolean"!=typeof d&&(d=i?.nativeParams?.ext?.[t]?.sendId),d&&(a=`${s}:${e.adId}`);let c=i?.nativeParams?.[t]?.sendTargetingKeys;"boolean"!=typeof c&&(c=i?.nativeParams?.ext?.[t]?.sendTargetingKeys),("boolean"==typeof c?c:r)&&(n[s]=a)})),n}(t))),r}(e.bidderCode,e)),e.adserverTargeting=Object.assign(e.adserverTargeting||{},t)}(t),Dn(t.metrics).timeSince("addBidResponse","addBidResponse.total"),e.addBidReceived(t),vn(g.BID_RESPONSE,t)}const Xn=xt("async",(function(e,t,n,i){Bt(e,t,n)}),"callPrebidCache");function Zn(e,t,n){if(e&&n){if(e===Ze){const e=t?.[Ze]?.context??"instream";if(n[`${Ze}-${e}`])return n[`${Ze}-${e}`]}return n[e]}}const ei=e=>t=>{const n=e||function(e){let{index:t=li.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=Zn(e.mediaType,t.getMediaTypes(e),U.getConfig("mediaTypePriceGranularity"));return"string"==typeof e.mediaType&&n?"string"==typeof n?n:"custom":U.getConfig("priceGranularity")}(t);return"auto"===n?t.pbAg:"dense"===n?t.pbDg:"low"===n?t.pbLg:"medium"===n?t.pbMg:"high"===n?t.pbHg:"custom"===n?t.pbCg:void 0},ti=()=>e=>e.creativeId?e.creativeId:"",ni=()=>e=>e.meta&&e.meta.advertiserDomains&&e.meta.advertiserDomains.length>0?[e.meta.advertiserDomains].flat()[0]:"",ii=()=>e=>e.meta&&(e.meta.networkId||e.meta.networkName)?e?.meta?.networkName||e?.meta?.networkId:"",ri=()=>e=>{const t=e?.meta?.primaryCatId;return Array.isArray(t)?t[0]||"":t||""};function oi(e,t){return{key:e,val:"function"==typeof t?function(e,n){return t(e,n)}:function(e){return e[t]}}}function si(e,t){const n=Object.assign({},It.settingsFor(null));if(n[u.ADSERVER_TARGETING]||(n[u.ADSERVER_TARGETING]=[oi(h.BIDDER,"bidderCode"),oi(h.AD_ID,"adId"),oi(h.PRICE_BUCKET,ei()),oi(h.SIZE,"size"),oi(h.DEAL,"dealId"),oi(h.SOURCE,"source"),oi(h.FORMAT,"mediaType"),oi(h.ADOMAIN,ni()),oi(h.ACAT,ri()),oi(h.DSP,ii()),oi(h.CRID,ti())]),"video"===e){const e=n[u.ADSERVER_TARGETING].slice();if(n[u.ADSERVER_TARGETING]=e,[h.UUID,h.CACHE_ID].forEach((t=>{void 0===e.find((e=>e.key===t))&&e.push(oi(t,"videoCacheKey"))})),U.getConfig("cache.url")&&(!t||!1!==It.get(t,"sendStandardTargeting"))){const t=Fe(U.getConfig("cache.url"));void 0===e.find((e=>e.key===h.CACHE_HOST))&&e.push(oi(h.CACHE_HOST,(function(e){return e?.adserverTargeting?.[h.CACHE_HOST]||t.hostname})))}}return n}function ai(e,t,n,i){var r=t[u.ADSERVER_TARGETING];return n.size=n.getSize(),(r||[]).forEach((function(r){var o,s=r.key,a=r.val;if(e[s]&&ge("The key: "+s+" is being overwritten"),we(a))try{a=a(n,i)}catch(e){he("bidmanager","ERROR",e)}(void 0===t.suppressEmptyKeys||!0!==t.suppressEmptyKeys)&&s!==h.DEAL&&s!==h.ACAT&&s!==h.DSP&&s!==h.CRID||(!Ee(o=a)||o&&0!==o.length)&&null!=a?e[s]=a:pe("suppressing empty key '"+s+"' from adserver targeting")})),e}function di(e,t){return e[t.adUnitCode]||(e[t.adUnitCode]={bids:[]}),e[t.adUnitCode].bids.push(t),e}function ci(e){Object.assign(this,{getAuction(t){let{auctionId:n}=t;if(null!=n)return e().find((e=>e.getAuctionId()===n))},getAdUnit(t){let{adUnitId:n}=t;if(null!=n)return e().flatMap((e=>e.getAdUnits())).find((e=>e.adUnitId===n))},getMediaTypes(e){let{adUnitId:t,requestId:n}=e;if(null!=n){const e=this.getBidRequest({requestId:n});if(null!=e&&(null==t||e.adUnitId===t))return e.mediaTypes}else if(null!=t){const e=this.getAdUnit({adUnitId:t});if(null!=e)return e.mediaTypes}},getBidderRequest(t){let{requestId:n,bidderRequestId:i}=t;if(null!=n||null!=i){let t=e().flatMap((e=>e.getBidRequests()));return null!=i&&(t=t.filter((e=>e.bidderRequestId===i))),null==n?t[0]:t.find((e=>e.bids&&null!=e.bids.find((e=>e.bidId===n))))}},getBidRequest(t){let{requestId:n}=t;if(null!=n)return e().flatMap((e=>e.getBidRequests())).flatMap((e=>e.bids)).find((e=>e&&e.bidId===n))},getOrtb2(e){return this.getBidderRequest(e)?.ortb2||this.getAuction(e)?.getFPD()?.global?.ortb2}})}const li=function(){const e=on({startTime:e=>e.end.then((()=>e.getAuctionEnd())),ttl:e=>null==Pn()?null:e.end.then((()=>1e3*Math.max(Pn(),...e.getBidsReceived().map((e=>e.ttl)))))});$n((()=>e.refresh()));const t={onExpiry:e.onExpiry};function n(t){for(const n of e)if(n.getAuctionId()===t)return n}function i(){return e.toArray().flatMap((e=>e.getBidsReceived()))}return t.addWinningBid=function(e){const t=Dn(e.metrics);t.checkpoint("bidWon"),t.timeBetween("auctionEnd","bidWon","adserver.pending"),t.timeBetween("requestBids","bidWon","adserver.e2e");const i=n(e.auctionId);i?i.addWinningBid(e):ge("Auction not found when adding winning bid")},Object.entries({getAllWinningBids:{name:"getWinningBids"},getBidsRequested:{name:"getBidRequests"},getNoBids:{},getAdUnits:{},getBidsReceived:{pre:e=>e.getAuctionStatus()===Mn},getAdUnitCodes:{post:De}}).forEach((n=>{let[i,{name:r=i,pre:o,post:s}]=n;const a=null==o?e=>e[r]():e=>o(e)?e[r]():[],d=null==s?e=>e:e=>e.filter(s);t[i]=()=>d(e.toArray().flatMap(a))})),t.getAllBidsForAdUnitCode=function(e){return i().filter((t=>t&&t.adUnitCode===e))},t.createAuction=function(t){const n=Vn(t);return function(t){e.add(t)}(n),n},t.findBidByAdId=function(e){return i().find((t=>t.adId===e))},t.getStandardBidderAdServerTargeting=function(){return si()[u.ADSERVER_TARGETING]},t.setStatusForBids=function(e,i){let r=t.findBidByAdId(e);if(r&&(r.status=i),r&&"targetingSet"===i){const e=n(r.auctionId);e&&e.setBidTargeting(r)}},t.getLastAuctionId=function(){const t=e.toArray();return t.length&&t[t.length-1].getAuctionId()},t.clearAllAuctions=function(){e.clear()},t.index=new ci((()=>e.toArray())),t}(),ui=1,fi=2,pi=1,gi=[],hi=(Object.keys(m).map((e=>m[e])),{image:{ortb:{ver:"1.2",assets:[{required:1,id:1,img:{type:3,wmin:100,hmin:100}},{required:1,id:2,title:{len:140}},{required:1,id:3,data:{type:1}},{required:0,id:4,data:{type:2}},{required:0,id:5,img:{type:1,wmin:20,hmin:20}}]},image:{required:!0},title:{required:!0},sponsoredBy:{required:!0},clickUrl:{required:!0},body:{required:!1},icon:{required:!1}}}),mi=Ai(A),bi=Ai(C);function yi(e){if(e&&e.type&&(!(!(t=e.type)||!Object.keys(hi).includes(t))||(he(`${t} nativeParam is not supported`),!1))&&(e=hi[e.type]),!e||!e.ortb||function(e){const t=e.assets;if(!Array.isArray(t)||0===t.length)return he("assets in mediaTypes.native.ortb is not an array, or it's empty. Assets: ",t),!1;const n=t.map((e=>e.id));return t.length!==new Set(n).size||n.some((e=>e!==parseInt(e,10)))?(he("each asset object must have 'id' property, it must be unique and it must be an integer"),!1):e.hasOwnProperty("eventtrackers")&&!Array.isArray(e.eventtrackers)?(he("ortb.eventtrackers is not an array. Eventtrackers: ",e.eventtrackers),!1):t.every((e=>function(e){if(!Te(e))return he("asset must be an object. Provided asset: ",e),!1;if(e.img){if(!Ce(e.img.w)&&!Ce(e.img.wmin))return he("for img asset there must be 'w' or 'wmin' property"),!1;if(!Ce(e.img.h)&&!Ce(e.img.hmin))return he("for img asset there must be 'h' or 'hmin' property"),!1}else if(e.title){if(!Ce(e.title.len))return he("for title asset there must be 'len' property defined"),!1}else if(e.data){if(!Ce(e.data.type))return he("for data asset 'type' property must be a number"),!1}else if(e.video&&!(Array.isArray(e.video.mimes)&&Array.isArray(e.video.protocols)&&Ce(e.video.minduration)&&Ce(e.video.maxduration)))return he("video asset is not properly configured"),!1;return!0}(e)))}(e.ortb))return e;var t}function vi(e){let{index:t=li.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=t.getAdUnit(e);if(!n)return!1;let i=n.nativeOrtbRequest;return function(e,t){if(!e?.link?.url)return he("native response doesn't have 'link' property. Ortb response: ",e),!1;let n=t.assets.filter((e=>1===e.required)).map((e=>e.id)),i=e.assets.map((e=>e.id));const r=n.every((e=>i.includes(e)));return r||he(`didn't receive a bid with all required assets. Required ids: ${n}, but received ids in response: ${i}`),r}(e.native?.ortb||function(e,t){const n={...Ei(e),assets:[]};function i(e,i){let r=t.assets.find(e);null!=r&&(r=je(r),i(r),n.assets.push(r))}return Object.keys(e).filter((t=>!!e[t])).forEach((t=>{const n=wi(e[t]);switch(t){case"title":i((e=>null!=e.title),(e=>{e.title={text:n}}));break;case"image":case"icon":const e="image"===t?T.MAIN:T.ICON;i((t=>null!=t.img&&t.img.type===e),(e=>{e.img={url:n}}));break;default:t in A&&i((e=>null!=e.data&&e.data.type===C[A[t]]),(e=>{e.data={value:n}}))}})),n}(e.native,i),i)}function wi(e){return e?.url||e}function Ei(e){const t={link:{},eventtrackers:[]};return Object.entries(e).forEach((e=>{let[n,i]=e;switch(n){case"clickUrl":t.link.url=i;break;case"clickTrackers":t.link.clicktrackers=Array.isArray(i)?i:[i];break;case"impressionTrackers":(Array.isArray(i)?i:[i]).forEach((e=>{t.eventtrackers.push({event:pi,method:ui,url:e})}));break;case"javascriptTrackers":t.jstracker=Array.isArray(i)?i.join(""):i;break;case"privacyLink":t.privacy=i}})),t}function Ai(e){var t={};for(var n in e)t[e[n]]=n;return t}function Ci(e){var t=e;return{callBids:function(){},setBidderCode:function(e){t=e},getBidderCode:function(){return t}}}function Ti(e){let{src:t="client",bidder:n="",bidId:i,transactionId:r,adUnitId:o,auctionId:s}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var a=t,d=e||0;Object.assign(this,{bidderCode:n,width:0,height:0,statusMessage:function(){switch(d){case 0:return"Pending";case 1:return"Bid available";case 2:return"Bid returned empty or error response";case 3:return"Bid timed out"}}(),adId:se(),requestId:i,transactionId:r,adUnitId:o,auctionId:s,mediaType:"banner",source:a}),this.getStatusCode=function(){return d},this.getSize=function(){return this.width+"x"+this.height},this.getIdentifiers=function(){return{src:this.source,bidder:this.bidderCode,bidId:this.requestId,transactionId:this.transactionId,adUnitId:this.adUnitId,auctionId:this.auctionId}}}Object.fromEntries(Object.entries(m).map((e=>{let[t,n]=e;return[n,t]})));const Bi=["cpm","ttl","creativeId","netRevenue","currency"],Ii=["auctionId","transactionId"],Ri=Je((e=>{let{bidderCode:t}=e;if(Vt(at,Rr(St,t)))return{bidRequest:e=>e,bidderRequest:e=>e};function n(e,t,n){return Ii.includes(t)?null:Reflect.get(e,t,n)}function i(e,t){const n=new Proxy(e,t);return Object.entries(e).filter((e=>{let[t,n]=e;return"function"==typeof n})).forEach((t=>{let[i,r]=t;return n[i]=r.bind(e)})),n}const r=Je((e=>i(e,{get:n})),(e=>e.bidId));return{bidRequest:r,bidderRequest:e=>i(e,{get:(t,i,o)=>"bids"===i?e.bids.map(r):n(t,i,o)})}}));function Si(e){return Object.assign(new Ci(e.code),{getSpec:function(){return Object.freeze(Object.assign({},e))},registerSyncs:t,callBids:function(n,i,r,o,s,a){if(!Array.isArray(n.bids))return;const d=Ri(n),c={};function l(e,t){const n=Dn(t.metrics);n.checkpoint("addBidResponse"),c[e]=!0,n.measureTime("addBidResponse.validate",(()=>function(e,t){let{index:n=li.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};function i(e){return`Invalid bid from ${t.bidderCode}. Ignoring bid: ${e}`}return e?t?function(){let e=Object.keys(t);return Bi.every((n=>e.includes(n)&&![void 0,null].includes(t[n])))}()?"native"!==t.mediaType||vi(t,{index:n})?"video"!==t.mediaType||function(e){let{index:t=li.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=t.getMediaTypes(e)?.video,i=n&&n?.context,r=n&&n?.useCacheKey,o=t.getAdUnit(e);return Zt(e,o,n,i,r)}(t,{index:n})?!("banner"===t.mediaType&&!function(e,t){let{index:n=li.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if((t.width||0===parseInt(t.width,10))&&(t.height||0===parseInt(t.height,10)))return t.width=parseInt(t.width,10),t.height=parseInt(t.height,10),!0;if(null!=t.wratio&&null!=t.hratio)return t.wratio=parseInt(t.wratio,10),t.hratio=parseInt(t.hratio,10),!0;const i=n.getBidRequest(t),r=n.getMediaTypes(t),o=(s=i&&i.sizes||r&&r.banner&&r.banner.sizes,(a=s,"string"==typeof a?a.split(/\s*,\s*/).map((e=>e.match(/^(\d+)x(\d+)$/i))).filter((e=>e)).map((e=>{let[t,n,i]=e;return[parseInt(n,10),parseInt(i,10)]})):Array.isArray(a)?ce(a)?[a]:a.filter(ce):[]).map(de));var s,a;if(1===o.length){const[e,n]=o[0].split("x");return t.width=parseInt(e,10),t.height=parseInt(n,10),!0}return!1}(e,t,{index:n}))||(he(i("Banner bids require a width and height")),!1):(he(i("Video bid does not have required vastUrl or renderer property")),!1):(he(i("Native bid missing some required properties.")),!1):(he(i(`Bidder ${t.bidderCode} is missing required params. Check http://prebid.org/dev-docs/bidder-adapter-1.html for list of params.`)),!1):(ge(`Some adapter tried to add an undefined bid for ${e}.`),!1):(ge("No adUnitCode was supplied to addBidResponse."),!1)}(e,t)))?i(e,t):i.reject(e,t,y)}const u=[];function f(){r(),U.runWithBidder(e.code,(()=>{vn(g.BIDDER_DONE,n),t(u,n.gdprConsent,n.uspConsent,n.gppConsent)}))}const h=Ui(n).measureTime("validate",(()=>n.bids.filter((t=>{return n=d.bidRequest(t),!!e.isBidRequestValid(n)||(ge(`Invalid bid sent to bidder ${e.code}: ${JSON.stringify(n)}`),!1);var n}))));if(0===h.length)return void f();const m={};h.forEach((e=>{m[e.bidId]=e,e.adUnitCode||(e.adUnitCode=e.placementCode)})),Oi(e,h,n,o,a,{onRequest:e=>vn(g.BEFORE_BIDDER_HTTP,n,e),onResponse:t=>{s(e.code),u.push(t)},onPaapi:e=>{const t=m[e.bidId];t?xi(t,e):ge("Received fledge auction configuration for an unknown bidId",e)},onError:(t,i)=>{i.timedOut||s(e.code),Ir.callBidderError(e.code,i,n),vn(g.BIDDER_ERROR,{error:i,bidderRequest:n}),he(`Server call for ${e.code} failed: ${t} ${i.status}. Continuing without bids.`,{bidRequests:h})},onBid:t=>{const n=m[t.requestId];if(n){if(t.adapterCode=n.bidder,function(e,t){let n=It.get(t,"allowAlternateBidderCodes")||!1,i=It.get(t,"allowedAlternateBidderCodes");return!!(e&&t&&t!==e&&(i=Ae(i)?i.map((e=>e.trim().toLowerCase())).filter((e=>!!e)).filter(De):i,!n||Ae(i)&&"*"!==i[0]&&!i.includes(e)))}(t.bidderCode,n.bidder))return ge(`${t.bidderCode} is not a registered partner or known bidder of ${n.bidder}, hence continuing without bid. If you wish to support this bidder, please mark allowAlternateBidderCodes as true in bidderSettings.`),void i.reject(n.adUnitCode,t,w);t.originalCpm=t.cpm,t.originalCurrency=t.currency,t.meta=t.meta||Object.assign({},t[n.bidder]),t.deferBilling=n.deferBilling,t.deferRendering=t.deferBilling&&(t.deferRendering??"function"!=typeof e.onBidBillable);const s=Object.assign(new Ti(p,n),t,(o=Ii,"object"!=typeof(r=n)?{}:o.reduce(((e,t,n)=>{if("function"==typeof t)return e;let i=t,s=t.match(/^(.+?)\sas\s(.+?)$/i);s&&(t=s[1],i=s[2]);let a=r[t];return"function"==typeof o[n+1]&&(a=o[n+1](a,e)),void 0!==a&&(e[i]=a),e}),{})));l(n.adUnitCode,s)}else ge(`Bidder ${e.code} made bid for unknown request ID: ${t.requestId}. Ignoring.`),i.reject(null,t,v);var r,o},onCompletion:f})}});function t(t,n,i,r){Di(e,t,n,i,r)}}const ki=["bids","paapi"],Oi=xt("async",(function(e,t,n,i,r,o){let{onRequest:s,onResponse:a,onPaapi:d,onError:c,onBid:l,onCompletion:u}=o;const p=Ui(n);u=p.startTiming("total").stopBefore(u);const g=Ri(n);let h=p.measureTime("buildRequests",(()=>e.buildRequests(t.map(g.bidRequest),g.bidderRequest(n))));if(!h||0===h.length)return void u();Array.isArray(h)||(h=[h]);const m=Ne(u,h.length);h.forEach((t=>{const n=p.fork();function o(e){null!=e&&(e.metrics=n.fork().renameWith()),l(e)}const u=r((function(i,r){h();try{i=JSON.parse(i)}catch(e){}i={body:i,headers:{get:r.getResponseHeader.bind(r)}},a(i);try{i=n.measureTime("interpretResponse",(()=>e.interpretResponse(i,t)))}catch(t){return he(`Bidder ${e.code} failed to interpret the server's response. Continuing without bids`,null,t),void m()}let s,c;i&&!Object.keys(i).some((e=>!ki.includes(e)))?(s=i.bids,c=i.paapi):s=i,Ae(c)&&c.forEach(d),s&&(Ae(s)?s.forEach(o):o(s)),m()})),g=r((function(e,t){h(),c(e,t),m()}));s(t);const h=n.startTiming("net"),b="TRUE"===ye(f).toUpperCase()||be();function y(n){const i=t.options;return Object.assign(n,i,{browsingTopics:!(i?.hasOwnProperty("browsingTopics")&&!i.browsingTopics)&&(It.get(e.code,"topicsHeader")??!0)&&Vt(ot,Rr(St,e.code)),suppressTopicsEnrollmentWarning:i?.hasOwnProperty("suppressTopicsEnrollmentWarning")?i.suppressTopicsEnrollmentWarning:!b})}switch(t.method){case"GET":i(`${t.url}${v=t.data,v?`?${"object"==typeof v?function(e){let t="";for(var n in e)e.hasOwnProperty(n)&&(t+=n+"="+encodeURIComponent(e[n])+"&");return t=t.replace(/&$/,""),t}(v):v}`:""}`,{success:u,error:g},void 0,y({method:"GET",withCredentials:!0}));break;case"POST":const n=t.options?.endpointCompression,r=e=>{let{url:t,payload:n}=e;i(t,{success:u,error:g},n,y({method:"POST",contentType:"text/plain",withCredentials:!0}))};n&&b&&ge(`Skipping GZIP compression for ${e.code} as debug mode is enabled`),n&&!b&&Qe()?async function(e){"string"!=typeof e&&(e=JSON.stringify(e));const t=(new TextEncoder).encode(e),n=new Blob([t]).stream().pipeThrough(new window.CompressionStream("gzip")),i=await new Response(n).blob(),r=await i.arrayBuffer();return new Uint8Array(r)}(t.data).then((e=>{const n=new URL(t.url,window.location.origin);n.searchParams.has("gzip")||n.searchParams.set("gzip","1"),r({url:n.href,payload:e})})):r({url:t.url,payload:"string"==typeof t.data?t.data:JSON.stringify(t.data)});break;default:ge(`Skipping invalid request from ${e.code}. Request type ${t.type} must be GET or POST`),m()}var v}))}),"processBidderRequests"),Di=xt("async",(function(e,t,n,i,r){const o=U.getConfig("userSync.aliasSyncEnabled");if(e.getUserSyncs&&(o||!Ir.aliasRegistry[e.code])){let o=e.getUserSyncs({iframeEnabled:Qt.canBidderRegisterSync("iframe",e.code),pixelEnabled:Qt.canBidderRegisterSync("image",e.code)},t,n,i,r);o&&(Array.isArray(o)||(o=[o]),o.forEach((t=>{Qt.registerSync(t.type,e.code,t.url)})),Qt.bidderDone(e.code))}}),"registerSyncs"),xi=xt("sync",((e,t)=>{}),"addPaapiConfig");function Ui(e){return Dn(e.metrics).renameWith((t=>[`adapter.client.${t}`,`adapters.client.${e.bidderCode}.${t}`]))}let _i={};function ji(e,t,n){let i=function(e,t){let n=_i[e]=_i[e]||{bidders:{}};return t?n.bidders[t]=n.bidders[t]||{}:n}(e,n);return i[t]=(i[t]||0)+1,i[t]}function qi(e){return ji(e,"auctionsCounter")}function Pi(e){return _i?.[e]?.requestsCounter||0}function $i(e,t){return _i?.[e]?.bidders?.[t]?.requestsCounter||0}function Ni(e,t){return _i?.[e]?.bidders?.[t]?.winsCounter||0}function Mi(e){return _i?.[e]?.auctionsCounter||0}function Wi(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window;if(!e)return e;if(/\w+:\/\//.exec(e))return e;let n=t.location.protocol;try{n=t.top.location.protocol}catch(e){}return/^\/\//.exec(e)?n+e:`${n}//${e}`}function Li(e){let{noLeadingWww:t=!1,noPort:n=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{e=new URL(Wi(e))}catch(e){return}return e=n?e.hostname:e.host,t&&e.startsWith("www.")&&(e=e.substring(4)),e}function Gi(e){try{const t=e.querySelector("link[rel='canonical']");if(null!==t)return t.href}catch(e){}return null}const Fi=function(e){let t,n,i,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window;return r.top!==r?e:function(){const o=Gi(r.document),s=r.location.href;return t===o&&s===n||(t=o,n=s,i=e()),i}}((Hi=window,function(){const e=[],t=function(e){try{if(!e.location.ancestorOrigins)return;return e.location.ancestorOrigins}catch(e){}}(Hi),n=U.getConfig("maxNestedIframes");let i,r,o,s,a=!1,d=0,c=!1,l=!1,u=!1;do{const n=i,s=l;let f,p=!1,g=null;l=!1,i=i?i.parent:Hi;try{f=i.location.href||null}catch(e){p=!0}if(p)if(s){const e=n.context;try{g=e.sourceUrl,r=g,u=!0,c=!0,i===Hi.top&&(a=!0),e.canonicalUrl&&(o=e.canonicalUrl)}catch(e){}}else{ge("Trying to access cross domain iframe. Continuing without referrer and location");try{const e=n.document.referrer;e&&(g=e,i===Hi.top&&(a=!0))}catch(e){}!g&&t&&t[d-1]&&(g=t[d-1],i===Hi.top&&(u=!0)),g&&!c&&(r=g)}else{if(f&&(g=f,r=g,c=!1,i===Hi.top)){a=!0;const e=Gi(i.document);e&&(o=e)}i.context&&i.context.sourceUrl&&(l=!0)}e.push(g),d++}while(i!==Hi.top&&d<n);e.reverse();try{s=Hi.top.document.referrer}catch(e){}const f=a||u?r:null,p=U.getConfig("pageUrl")||o||null;let g=U.getConfig("pageUrl")||f||Wi(p,Hi);return f&&f.indexOf("?")>-1&&-1===g.indexOf("?")&&(g=`${g}${f.substring(f.indexOf("?"))}`),{reachedTop:a,isAmp:c,numIframes:d-1,stack:e,topmostLocation:r||null,location:f,canonicalUrl:p,page:g,domain:Li(g)||null,ref:s||null,legacy:{reachedTop:a,isAmp:c,numIframes:d-1,stack:e,referer:r||null,canonicalUrl:p}}}));var Hi;Object.freeze({});class Vi{#r;#o;#s;#a;#d=!0;#c;generatedTime;hashFields;constructor(){this.reset()}#l(e){this.#a=!0,this.#o=e,this.#s.resolve(e)}reset(){this.#s=W(),this.#r=!1,this.#o=null,this.#a=!1,this.generatedTime=null}enable(){this.#r=!0}get enabled(){return this.#r}get ready(){return this.#a}get promise(){return this.#a?M.resolve(this.#o):(this.#r||this.#l(null),this.#s.promise)}setConsentData(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:qe();this.generatedTime=t,this.#d=!0,this.#l(e)}getConsentData(){return this.#o}get hash(){return this.#d&&(this.#c=Ke(JSON.stringify(this.#o&&this.hashFields?this.hashFields.map((e=>this.#o[e])):this.#o)),this.#d=!1),this.#c}}const zi=new class extends Vi{hashFields=["gdprApplies","consentString"];getConsentMeta(){const e=this.getConsentData();if(e&&e.vendorData&&this.generatedTime)return{gdprApplies:e.gdprApplies,consentStringSize:Ee(e.vendorData.tcString)?e.vendorData.tcString.length:0,generatedAt:this.generatedTime,apiVersion:e.apiVersion}}},Ki=new class extends Vi{getConsentMeta(){if(this.getConsentData()&&this.generatedTime)return{generatedAt:this.generatedTime}}},Ji=new class extends Vi{hashFields=["applicableSections","gppString"];getConsentMeta(){if(this.getConsentData()&&this.generatedTime)return{generatedAt:this.generatedTime}}},Yi=(()=>{function e(){return!!U.getConfig("coppa")}return{getCoppa:e,getConsentData:e,getConsentMeta:e,reset(){},get promise(){return M.resolve(e())},get hash(){return e()?"1":"0"}}})(),Qi=function(){const e={},t={},n={};return{register(i,r,o){o&&((e[r]=e[r]||{})[i]=o,t.hasOwnProperty(r)?t[r]!==o&&(t[r]=n):t[r]=o)},get(i){const r={modules:e[i]||{}};return t.hasOwnProperty(i)&&t[i]!==n&&(r.gvlid=t[i]),r}}}(),Xi={gdpr:zi,usp:Ki,gpp:Ji,coppa:Yi};!function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Xi;e=Object.entries(e),Object.assign({get promise(){return M.all(e.map((e=>{let[t,n]=e;return n.promise.then((e=>[t,e]))}))).then((e=>Object.fromEntries(e)))},get hash(){return Ke(e.map((e=>{let[t,n]=e;return n.hash})).join(":"))}},Object.fromEntries(["getConsentData","getConsentMeta","reset"].map((t=>{return[t,(n=t,function(){return Object.fromEntries(e.map((e=>{let[t,i]=e;return[t,i[n]()]})))})];var n}))))}();const Zi=["data","ext.data","yob","gender","keywords","kwarray","id","buyeruid","customdata"].map((e=>`user.${e}`)).concat("device.ext.cdep"),er=["user.eids","user.ext.eids"],tr=["user.geo.lat","user.geo.lon","device.geo.lat","device.geo.lon"],nr=["device.ip"],ir=["device.ipv6"];function rr(e){return Object.assign({get(){},run(e,t,n,i,r){const o=n&&n[i];if(function(e){return null!=e&&("object"!=typeof e||Object.keys(e).length>0)}(o)&&r()){const e=this.get(o);void 0===e?delete n[i]:n[i]=e}}},e)}function or(e){return e.forEach((e=>{e.paths=e.paths.map((e=>{const t=e.split("."),n=t.pop();return[t.length>0?t.join("."):null,n]}))})),function(t,n){const i=[];for(var r=arguments.length,o=new Array(r>2?r-2:0),s=2;s<r;s++)o[s-2]=arguments[s];const a=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return function(t){return e.hasOwnProperty(t.name)||(e[t.name]=!!t.applies(...n)),e[t.name]}}(t,...o);return e.forEach((e=>{if(!1!==t[e.name])for(const[r,o]of e.paths){const s=null==r?n:l(n,r);if(i.push(e.run(n,r,s,o,a.bind(null,e))),!1===t[e.name])return}})),i.filter((e=>null!=e))}}function sr(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Vt;return function(n){return!t(e,n)}}const ar=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Vt;const t=or(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Vt;return[{name:ot,paths:Zi,applies:sr(ot,e)},{name:rt,paths:er,applies:sr(rt,e)},{name:st,paths:tr,applies:sr(st,e),get:e=>Math.round(100*(e+Number.EPSILON))/100},{name:st,paths:nr,applies:sr(st,e),get:e=>function(e){if(!e)return null;let t=e.split(".").map(Number);if(4!=t.length)return null;let n=[];for(let e=0;e<4;e++){let t=Math.max(0,Math.min(8,24-8*e));n.push(255<<8-t&255)}return t.map(((e,t)=>e&n[t])).join(".")}(e)},{name:st,paths:ir,applies:sr(st,e),get:e=>function(e){if(!e)return null;let t=e.split(":").map((e=>parseInt(e,16)));for(t=t.map((e=>isNaN(e)?0:e));t.length<8;)t.push(0);if(8!=t.length)return null;let n=[];for(let e=0;e<8;e++){let t=Math.max(0,Math.min(16,64-16*e));n.push(65535<<16-t&65535)}return t.map(((e,t)=>e&n[t])).map((e=>e.toString(16))).join(":")}(e)},{name:at,paths:["source.tid"],applies:sr(at,e)}].map(rr)}(e)),n=or(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Vt;return[{name:rt,paths:["userId","userIdAsEids"],applies:sr(rt,e)},{name:at,paths:["ortb2Imp.ext.tid"],applies:sr(at,e)}].map(rr)}(e));return function(e){const i={};return{ortb2:n=>(t(i,n,e),n),bidRequest:t=>(n(i,t,e),t)}}}();Ht(at,"enableTIDs config",(()=>{if(!U.getConfig("enableTIDs"))return{allow:!1,reason:"TIDs are disabled"}}));const dr="pbsBidAdapter",cr={CLIENT:"client",SERVER:"server"},lr={isAllowed:Vt,redact:ar};let ur={},fr=ur.bidderRegistry={},pr=ur.aliasRegistry={},gr=[];U.getConfig("s2sConfig",(e=>{e&&e.s2sConfig&&(gr=Ae(e.s2sConfig)?e.s2sConfig:[e.s2sConfig])}));var hr={};const mr=Gt((e=>ur.resolveAlias(e)));function br(e){return e.configName??e.name}const yr=xt("sync",(function(e){let{bidderCode:t,auctionId:n,bidderRequestId:i,adUnits:r,src:o,metrics:s}=e;return r.reduce(((e,r)=>{const a=r.bids.filter((e=>e.bidder===t));return null==t&&0===a.length&&null!=r.s2sBid&&a.push({bidder:null}),e.push(a.reduce(((e,a)=>{var d;const c=null==(a=Object.assign({},a,{ortb2Imp:Ve({},r.ortb2Imp,a.ortb2Imp)},(d=r,["nativeParams","nativeOrtbRequest","mediaType","renderer"].filter((e=>d[e])).reduce(((e,t)=>Object.assign(e,{[t]:d[t]})),{})))).mediaTypes?r.mediaTypes:a.mediaTypes;return function(e){const t=["banner","native","video"];return!!Object.keys(e).every((e=>t.includes(e)))&&(!e.video||!e.video.context||["instream","outstream","adpod"].includes(e.video.context))}(c)?a=Object.assign({},a,{mediaTypes:c}):he(`mediaTypes is not correctly configured for adunit ${r.code}`),"client"===o&&function(e,t){ji(e,"requestsCounter",t)}(r.code,t),e.push(Object.assign({},a,{adUnitCode:r.code,transactionId:r.transactionId,adUnitId:r.adUnitId,sizes:c?.banner?.sizes||c?.video?.playerSize||[],bidId:a.bid_id||se(),bidderRequestId:i,auctionId:n,src:o,metrics:s,auctionsCount:Mi(r.code),bidRequestsCount:Pi(r.code),bidderRequestsCount:$i(r.code,a.bidder),bidderWinsCount:Ni(r.code,a.bidder),deferBilling:!!r.deferBilling})),e}),[])),e}),[]).reduce(xe,[]).filter((e=>""!==e))}),"getBids"),vr=xt("sync",(function(e,t){let{getS2SBidders:n=Er}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(null==t)return e;{const i=n(t);return e.filter((e=>{if(!i.has(e.bidder))return!1;if(null==e.s2sConfigName)return!0;const n=br(t);return(Array.isArray(e.s2sConfigName)?e.s2sConfigName:[e.s2sConfigName]).includes(n)}))}}),"filterBidsForAdUnit"),wr=xt("sync",((e,t)=>e),"setupAdUnitMediaTypes");function Er(e){Ae(e)||(e=[e]);const t=new Set([null]);return e.filter((e=>e&&e.enabled)).flatMap((e=>e.bidders)).forEach((e=>t.add(e))),t}const Ar=xt("sync",(function(e,t){let{getS2SBidders:n=Er}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=n(t);return Ue(e).reduce(((e,t)=>(e[i.has(t)?cr.SERVER:cr.CLIENT].push(t),e)),{[cr.CLIENT]:[],[cr.SERVER]:[]})}),"partitionBidders");function Cr(e,t){const n=fr[e],i=n?.getSpec&&n.getSpec();if(i&&i[t]&&"function"==typeof i[t])return[i,i[t]]}function Tr(e,t,n,i){try{pe(`Invoking ${e}.${t}`);for(var r=arguments.length,o=new Array(r>4?r-4:0),s=4;s<r;s++)o[s-4]=arguments[s];U.runWithBidder(e,i.bind(n,...o))}catch(n){ge(`Error calling ${t} of ${e}`)}}function Br(e,t,n){if(n?.source!==b){const i=Cr(e,t);null!=i&&Tr(e,t,...i,n)}}ur.makeBidRequests=xt("sync",(function(e,t,n,i,r){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},s=arguments.length>6?arguments[6]:void 0;s=Dn(s),vn(g.BEFORE_REQUEST_BIDS,e),function(e){e.forEach((e=>{const t=e.nativeParams||e?.mediaTypes?.native;t&&(e.nativeParams=yi(t)),e.nativeParams&&(e.nativeOrtbRequest=e.nativeParams.ortb||function(e){if(!e&&!Te(e))return void he("Native assets object is empty or not an object: ",e);const t={ver:"1.2",assets:[]};for(let n in e){if(B.includes(n))continue;if(!m.hasOwnProperty(n)){he(`Unrecognized native asset code: ${n}. Asset will be ignored.`);continue}if("privacyLink"===n){t.privacy=1;continue}const i=e[n];let r=0;i.required&&Be(i.required)&&(r=Number(i.required));const o={id:t.assets.length,required:r};if(n in A)o.data={type:C[A[n]]},i.len&&(o.data.len=i.len);else if("icon"===n||"image"===n){if(o.img={type:"icon"===n?T.ICON:T.MAIN},i.aspect_ratios)if(Ae(i.aspect_ratios))if(i.aspect_ratios.length){const{min_width:e,min_height:t}=i.aspect_ratios[0];We(e)&&We(t)?(o.img.wmin=e,o.img.hmin=t):he("image.aspect_ratios min_width or min_height are invalid: ",e,t);const n=i.aspect_ratios.filter((e=>e.ratio_width&&e.ratio_height)).map((e=>`${e.ratio_width}:${e.ratio_height}`));n.length>0&&(o.img.ext={aspectratios:n})}else he("image.aspect_ratios was passed, but it's empty:",i.aspect_ratios);else he("image.aspect_ratios was passed, but it's not a an array:",i.aspect_ratios);i.sizes&&(2===i.sizes.length&&We(i.sizes[0])&&We(i.sizes[1])?(o.img.w=i.sizes[0],o.img.h=i.sizes[1],delete o.img.hmin,delete o.img.wmin):he("image.sizes was passed, but its value is not an array of integers:",i.sizes))}else"title"===n?o.title={len:i.len||140}:"ext"===n&&(o.ext=i,delete o.required);t.assets.push(o)}return t}(e.nativeParams))}))}(e),e.map((e=>e.code)).filter(De).forEach(qi),e.forEach((e=>{Te(e.mediaTypes)||(e.mediaTypes={}),e.bids=e.bids.filter((e=>!e.bidder||lr.isAllowed(it,mr(St,e.bidder)))),ji(e.code,"requestsCounter")})),e=wr(e,r);let{[cr.CLIENT]:a,[cr.SERVER]:d}=Ar(e,gr);U.getConfig("bidderSequence")===S&&(a=_e(a));const c=Fi();let l=[];const u=o.global||{},f=o.bidder||{};function p(e,t){const i=lr.redact(null!=t?t:mr(St,e.bidderCode)),r=Ve({source:{tid:n}},u,f[e.bidderCode]);!function(e){const t=e.user?.eids;Array.isArray(t)&&t.length&&(e.user.ext=e.user.ext||{},e.user.ext.eids=[...e.user.ext.eids||[],...t],delete e.user.eids)}(r);const o=Object.freeze(i.ortb2(r));return e.ortb2=o,e.bids=e.bids.map((e=>(e.ortb2=o,i.bidRequest(e)))),e}gr.forEach((i=>{const r=function(e){return mr(Rt,dr,{[Nt]:br(e)})}(i);if(i&&i.enabled&&lr.isAllowed(it,r)){let{adUnits:o,hasModuleBids:a}=function(e,t){let n=je(e),i=!1;return n.forEach((e=>{const n=e.bids.filter((e=>e.module===dr&&e.params?.configName===br(t)));1===n.length?(e.s2sBid=n[0],i=!0,e.ortb2Imp=Ve({},e.s2sBid.ortb2Imp,e.ortb2Imp)):n.length>1&&ge('Multiple "module" bids for the same s2s configuration; all will be ignored',n),e.bids=vr(e.bids,t).map((e=>(e.bid_id=se(),e)))})),n=n.filter((e=>!(t.filterBidderlessCalls&&1===e.bids.length&&null==e.bids[0].bidder||0===e.bids.length&&null==e.s2sBid))),{adUnits:n,hasModuleBids:i}}(e,i),u=ae();(0===d.length&&a?[null]:d).forEach((e=>{const a=se(),d=s.fork(),f=p({bidderCode:e,auctionId:n,bidderRequestId:a,uniquePbsTid:u,bids:yr({bidderCode:e,auctionId:n,bidderRequestId:a,adUnits:je(o),src:b,metrics:d}),auctionStart:t,timeout:i.timeout,src:b,refererInfo:c,metrics:d},r);0!==f.bids.length&&l.push(f)})),o.forEach((e=>{let t=e.bids.filter((e=>l.find((t=>t.bids.find((t=>t.bidId===e.bid_id))))));e.bids=t})),l.forEach((e=>{void 0===e.adUnitsS2SCopy&&(e.adUnitsS2SCopy=o.filter((e=>e.bids.length>0||null!=e.s2sBid)))}))}}));let h=function(e){let t=je(e);return t.forEach((e=>{e.bids=vr(e.bids,null)})),t=t.filter((e=>0!==e.bids.length)),t}(e);return a.forEach((e=>{const o=se(),a=s.fork(),d=p({bidderCode:e,auctionId:n,bidderRequestId:o,bids:yr({bidderCode:e,auctionId:n,bidderRequestId:o,adUnits:je(h),labels:r,src:"client",metrics:a}),auctionStart:t,timeout:i,refererInfo:c,metrics:a}),u=fr[e];u||he(`Trying to make a request for bidder that does not exist: ${e}`),u&&d.bids&&0!==d.bids.length&&l.push(d)})),l.forEach((e=>{zi.getConsentData()&&(e.gdprConsent=zi.getConsentData()),Ki.getConsentData()&&(e.uspConsent=Ki.getConsentData()),Ji.getConsentData()&&(e.gppConsent=Ji.getConsentData())})),l}),"makeBidRequests"),ur.callBids=function(e,t,n,i,r,o,s){let a=arguments.length>7&&void 0!==arguments[7]?arguments[7]:{};if(!t.length)return void ge("callBids executed with no bidRequests. Were they filtered by labels or sizing?");let[d,c]=t.reduce(((e,t)=>(e[Number(void 0!==t.src&&t.src===b)].push(t),e)),[[],[]]);var l=[];c.forEach((e=>{for(var t=-1,n=0;n<l.length;++n)if(e.uniquePbsTid===l[n].uniquePbsTid){t=n;break}t<=-1&&l.push(e)}));let u=0;gr.forEach((e=>{if(e&&l[u]&&Er(e).has(l[u].bidderCode)){const t=ht(o,r?{request:r.request.bind(null,"s2s"),done:r.done}:void 0);let d=e.bidders;const f=fr[e.adapter];let p=l[u].uniquePbsTid,h=l[u].adUnitsS2SCopy,m=c.filter((e=>e.uniquePbsTid===p));if(f){let r={ad_units:h,s2sConfig:e,ortb2Fragments:a,requestBidsTimeout:o};if(r.ad_units.length){let e=m.map((e=>(e.start=qe(),function(t){t||s(e.bidderRequestId),i.apply(e,arguments)})));const o=Ue(r.ad_units).filter((e=>d.includes(e)));fe(`CALLING S2S HEADER BIDDERS ==== ${o.length>0?o.join(", "):'No bidder specified, using "ortb2Imp" definition(s) only'}`),m.forEach((e=>{vn(g.BID_REQUESTED,{...e,tid:e.auctionId})})),f.callBids(r,c,n,(t=>e.forEach((e=>e(t)))),t)}}else he("missing "+e.adapter);u++}})),d.forEach((e=>{e.start=qe();const t=fr[e.bidderCode];U.runWithBidder(e.bidderCode,(()=>{fe("CALLING BIDDER"),vn(g.BID_REQUESTED,e)}));let a=ht(o,r?{request:r.request.bind(null,e.bidderCode),done:r.done}:void 0);const d=i.bind(e);try{U.runWithBidder(e.bidderCode,t.callBids.bind(t,e,n,d,a,(()=>s(e.bidderRequestId)),U.callbackWithBidder(e.bidderCode)))}catch(t){he(`${e.bidderCode} Bid Adapter emitted an uncaught error when parsing their bidRequest`,{e:t,bidRequest:e}),d()}}))},ur.videoAdapters=[],ur.registerBidAdapter=function(e,t){let{supportedMediaTypes:n=[]}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e&&t?"function"==typeof e.callBids?(fr[t]=e,Qi.register(St,t,e.getSpec?.().gvlid),n.includes("video")&&ur.videoAdapters.push(t),n.includes("native")&&gi.push(t)):he("Bidder adaptor error for bidder code: "+t+"bidder must implement a callBids() function"):he("bidAdapter or bidderCode not specified")},ur.aliasBidAdapter=function(e,t,n){if(void 0===fr[t]){let i=fr[e];if(void 0===i){const n=[];gr.forEach((i=>{if(i.bidders&&i.bidders.length){const r=i&&i.bidders;i&&r.includes(t)?pr[t]=e:n.push(e)}})),n.forEach((e=>{he('bidderCode "'+e+'" is not an existing bidder.',"adapterManager.aliasBidAdapter")}))}else try{let r,o=function(e){let t=[];return ur.videoAdapters.includes(e)&&t.push("video"),gi.includes(e)&&t.push("native"),t}(e);if(i.constructor.prototype!=Object.prototype)r=new i.constructor,r.setBidderCode(t);else{const{useBaseGvlid:o=!1}=n||{};let s=i.getSpec();const a=o?s.gvlid:n?.gvlid;null==a&&null!=s.gvlid&&ge(`Alias '${t}' will NOT re-use the GVL ID of the original adapter ('${s.code}', gvlid: ${s.gvlid}). Functionality that requires TCF consent may not work as expected.`);let d=n&&n.skipPbsAliasing;r=Si(Object.assign({},s,{code:t,gvlid:a,skipPbsAliasing:d})),pr[t]=e}ur.registerBidAdapter(r,t,{supportedMediaTypes:o})}catch(t){he(e+" bidder does not currently support aliasing.","adapterManager.aliasBidAdapter")}}else fe('alias name "'+t+'" has been already specified.')},ur.resolveAlias=function(e){let t,n=e;for(;pr[n]&&(!t||!t.has(n));)n=pr[n],(t=t||new Set).add(n);return n},ur.registerAnalyticsAdapter=function(e){let{adapter:t,code:n,gvlid:i}=e;t&&n?"function"==typeof t.enableAnalytics?(t.code=n,hr[n]={adapter:t,gvlid:i},Qi.register(kt,n,i)):he(`Prebid Error: Analytics adaptor error for analytics "${n}"\n analytics adapter must implement an enableAnalytics() function`):he("Prebid Error: analyticsAdapter or analyticsCode not specified")},ur.enableAnalytics=function(e){Ae(e)||(e=[e]),e.forEach((e=>{const t=hr[e.provider];t&&t.adapter?lr.isAllowed("reportAnalytics",mr(kt,e.provider,{[Lt]:e}))&&t.adapter.enableAnalytics(e):he(`Prebid Error: no analytics adapter found in registry for '${e.provider}'.`)}))},ur.getBidAdapter=function(e){return fr[e]},ur.getAnalyticsAdapter=function(e){return hr[e]},ur.callTimedOutBidders=function(e,t,n){var i;t=t.map((t=>(t.params=Me(e,t.adUnitCode,t.bidder),t.timeout=n,t))),i="bidder",t=t.reduce((function(e,t){return(e[t[i]]=e[t[i]]||[]).push(t),e}),{}),Object.keys(t).forEach((e=>{Br(e,"onTimeout",t[e])}))},ur.callBidWonBidder=function(e,t,n){t.params=Me(n,t.adUnitCode,t.bidder),ji(t.adUnitCode,"winsCounter",t.bidder),Br(e,"onBidWon",t)},ur.triggerBilling=(()=>{const e=new WeakSet;return t=>{var n;e.has(t)||(e.add(t),((n=t.eventtrackers,(n??[]).reduce(((e,t)=>{let{event:n,method:i,url:r}=t;const o=e[n]=e[n]??{};return(o[i]=o[i]??[]).push(r),e}),{}))[pi]?.[ui]||[]).forEach((e=>ie.triggerPixel(e))),Br(t.bidder,"onBidBillable",t))}})(),ur.callSetTargetingBidder=function(e,t){Br(e,"onSetTargeting",t)},ur.callBidViewableBidder=function(e,t){Br(e,"onBidViewable",t)},ur.callBidderError=function(e,t,n){Br(e,"onBidderError",{error:t,bidderRequest:n})},ur.callAdRenderSucceededBidder=function(e,t){Br(e,"onAdRenderSucceeded",t)},ur.callDataDeletionRequest=xt("sync",(function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];const i="onDataDeletionRequest";Object.keys(fr).filter((e=>!pr.hasOwnProperty(e))).forEach((e=>{const n=Cr(e,i);if(null!=n){const r=li.getBidsRequested().filter((t=>function(e){const t=new Set;for(;pr.hasOwnProperty(e)&&!t.has(e);)t.add(e),e=pr[e];return e}(t.bidderCode)===e));Tr(e,i,...n,r,...t)}})),Object.entries(hr).forEach((e=>{let[n,r]=e;const o=r?.adapter?.[i];if("function"==typeof o)try{o.apply(r.adapter,t)}catch(e){he(`error calling ${i} of ${n}`,e)}}))}));const Ir=ur,Rr=Gt((e=>Ir.resolveAlias(e))),Sr=new WeakMap,kr=["debugging","outstream","aaxBlockmeter","adagio","adloox","akamaidap","arcspan","airgrid","browsi","brandmetrics","clean.io","humansecurity","confiant","contxtful","hadron","mediafilter","medianet","azerionedge","a1Media","geoedge","qortex","dynamicAdBoost","51Degrees","symitridap","wurfl","nodalsAi","anonymised","optable","justtag","tncId","ftrackId","id5"];const Or=N(),Dr="outstream";function xr(e){const{url:t,config:n,id:i,callback:r,loaded:o,adUnitCode:s,renderNow:a}=e;this.url=t,this.config=n,this.handlers={},this.id=i,this.renderNow=a,this.adUnitCode=s,this.loaded=o,this.cmd=[],this.push=e=>{"function"==typeof e?this.loaded?e.call():this.cmd.push(e):he("Commands given to Renderer.push must be wrapped in a function")},this.callback=r||(()=>{this.loaded=!0,this.process()}),this.render=function(){const e=arguments,n=()=>{this._render?this._render.apply(this,e):ge("No render function was provided, please use .setRender on the renderer")};!function(e){const t=Or.adUnits.find((t=>t.code===e));if(!t)return!1;const n=t?.renderer,i=!!(n&&n.url&&n.render),r=t?.mediaTypes?.video?.renderer,o=!!(r&&r.url&&r.render);return!!(i&&!0!==n.backupOnly||o&&!0!==r.backupOnly)}(s)?a?n():(this.cmd.unshift(n),function(e,t,n,i,r,o){if(!Vt(dt,Rr(t,n)))return;if(!n||!e)return void he("cannot load external script without url and moduleCode");if(!kr.includes(n))return void he(`${n} not whitelisted for loading external JavaScript`);r||(r=document);const s=c(r,e);if(s)return i&&"function"==typeof i&&(s.loaded?i():s.callbacks.push(i)),s.tag;const a=Sr.get(r)||{},d={loaded:!1,tag:null,callbacks:[]};return a[e]=d,Sr.set(r,a),i&&"function"==typeof i&&d.callbacks.push(i),ge(`module ${n} is loading external JavaScript`),function(t,n,i,r){i||(i=document);var o=i.createElement("script");o.type="text/javascript",o.async=!0;const s=c(i,e);return s&&(s.tag=o),o.readyState?o.onreadystatechange=function(){"loaded"!==o.readyState&&"complete"!==o.readyState||(o.onreadystatechange=null,n())}:o.onload=function(){n()},o.src=t,r&&function(e,t){Object.entries(t).forEach((t=>{let[n,i]=t;return e.setAttribute(n,i)}))}(o,r),Re(o,i),o}(e,(function(){d.loaded=!0;try{for(let e=0;e<d.callbacks.length;e++)d.callbacks[e]()}catch(e){he("Error executing callback","adloader.js:loadExternalScript",e)}}),r,o);function c(e,t){const n=Sr.get(e);return n&&n[t]?n[t]:null}}(t,Rt,Dr,this.callback,this.documentContext)):(ge(`External Js not loaded by Renderer since renderer url and callback is already defined on adUnit ${s}`),n())}.bind(this)}xr.install=function(e){let{url:t,config:n,id:i,callback:r,loaded:o,adUnitCode:s,renderNow:a}=e;return new xr({url:t,config:n,id:i,callback:r,loaded:o,adUnitCode:s,renderNow:a})},xr.prototype.getConfig=function(){return this.config},xr.prototype.setRender=function(e){this._render=e},xr.prototype.setEventHandlers=function(e){this.handlers=e},xr.prototype.handleVideoEvent=function(e){let{id:t,eventName:n}=e;"function"==typeof this.handlers[n]&&this.handlers[n](),fe(`Prebid Renderer event for id ${t} type ${n}`)},xr.prototype.process=function(){for(;this.cmd.length>0;)try{this.cmd.shift().call()}catch(e){he(`Error processing Renderer command on ad unit '${this.adUnitCode}':`,e)}};const Ur=["img","video","link","data","title"],_r={[et]:(e,t)=>{if(!t.hasOwnProperty("ad")&&!t.hasOwnProperty("adUrl")){let[e,n]=(t.width??t.wratio)<(t.height??t.hratio)?[t.width,"repeat-y"]:[t.height,"repeat-x"];e=null==e?"100%":`${e}px`,t.ad=`<html><body><div style="display: inline-block; height: ${null==t.height?"100%":t.height+"px"}; width: ${null==t.width?"100%":t.width+"px"}; background-image: url(https://vcdn.adnxs.com/p/creative-image/27/c0/52/67/27c05267-5a6d-4874-834e-18e218493c32.png); background-size: ${e}; background-repeat: ${n}"></div></body></html>`}},[Ze]:(e,t)=>{t.hasOwnProperty("vastXml")||t.hasOwnProperty("vastUrl")||(t.vastXml='<?xml version="1.0" encoding="UTF-8"?><VAST version="3.0"><Ad><InLine><AdSystem>GDFP</AdSystem><AdTitle>Demo</AdTitle><Description><![CDATA[Demo]]></Description><Creatives><Creative><Linear ><Duration>00:00:11</Duration><VideoClicks><ClickThrough><![CDATA[https://prebid.org/]]></ClickThrough></VideoClicks><MediaFiles><MediaFile delivery="progressive" width="640" height="360" type="video/mp4" scalable="true" maintainAspectRatio="true"><![CDATA[https://s3.amazonaws.com/files.prebid.org/creatives/PrebidLogo.mp4]]></MediaFile></MediaFiles></Linear></Creative></Creatives></InLine></Ad></VAST>',t.renderer=xr.install({url:"https://cdn.jwplayer.com/libraries/l5MchIxB.js"}),t.renderer.setRender((function(e,n){const i=function(e){const t=function(e){let t;return function(){if(window.googletag&&we(window.googletag.pubads)&&we(window.googletag.pubads().getSlots))return!0}()&&(t=window.googletag.pubads().getSlots().find(function(e){return t=>((e,t)=>e.getAdUnitPath()===t||e.getSlotElementId()===t)(t,e)}(e))),t}(e);return t?{gptSlot:t.getAdUnitPath(),divId:t.getSlotElementId()}:{}}(e.adUnitCode).divId??e.adUnitCode,r=n.createElement("div");r.id=`${i}-video-player`,n.getElementById(i).appendChild(r);const o=window.jwplayer(r.id).setup({debug:!0,width:t.width,height:t.height,advertising:{client:"vast",outstream:!0,endstate:"close"}});o.on("ready",(async function(){e.vastUrl?o.loadAdTag(e.vastUrl):o.loadAdXml(e.vastXml)}))})))},[Xe]:(e,t)=>{t.hasOwnProperty("native")||(t.native={ortb:{link:{url:"https://www.link.example",clicktrackers:["https://impression.example"]},assets:e.nativeOrtbRequest.assets.map(jr)}})}};function jr(e){switch(Ur.find((t=>e.hasOwnProperty(t)))){case"img":return{...e,img:{type:3,w:600,h:500,url:"https://vcdn.adnxs.com/p/creative-image/27/c0/52/67/27c05267-5a6d-4874-834e-18e218493c32.png"}};case"video":return{...e,video:{vasttag:'<?xml version="1.0" encoding="UTF-8"?><VAST version="3.0"><Ad><InLine><AdSystem>GDFP</AdSystem><AdTitle>Demo</AdTitle><Description><![CDATA[Demo]]></Description><Creatives><Creative><Linear ><Duration>00:00:11</Duration><VideoClicks><ClickThrough><![CDATA[https://prebid.org/]]></ClickThrough></VideoClicks><MediaFiles><MediaFile delivery="progressive" width="640" height="360" type="video/mp4" scalable="true" maintainAspectRatio="true"><![CDATA[https://s3.amazonaws.com/files.prebid.org/creatives/PrebidLogo.mp4]]></MediaFile></MediaFiles></Linear></Creative></Creatives></InLine></Ad></VAST>'}};case"data":return{...e,data:{value:"5 stars"}};case"title":return{...e,title:{text:"Prebid Native Example"}}}}function qr(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};({setTimeout:this.setTimeout=window.setTimeout.bind(window)}=e),this.logger=e.logger,this.rules=[]}let Pr,$r;function Nr(e,t){let{hook:n,logger:i}=t;Pr=Fr.bind({overrides:e,logger:i}),n.get("addBidResponse").before(Pr,5),$r=Hr.bind({overrides:e,logger:i}),n.get("addBidderRequests").before($r,5)}function Mr(e){let{hook:t}=e;t.get("addBidResponse").getHooks({hook:Pr}).remove(),t.get("addBidderRequests").getHooks({hook:$r}).remove()}function Wr(e,t,n){return!(!e.bidder||e.bidder===t)||!(!e.adUnitCode||e.adUnitCode===n)}function Lr(e,t){return Array.isArray(e)&&-1===e.indexOf(t)}function Gr(e,t,n,i){return Object.keys(e).filter((e=>-1===["adUnitCode","bidder"].indexOf(e))).reduce((function(t,r){return i.logMessage(`bidder overrides changed '${t.adUnitCode}/${t.bidderCode}' ${n}.${r} from '${t[r]}.js' to '${e[r]}'`),t[r]=e[r],t.isDebug=!0,t}),t)}function Fr(e,t,n,i){const{overrides:r,logger:o}=this;Lr(r.bidders,n.bidderCode)?o.logWarn(`bidder '${n.bidderCode}' excluded from auction by bidder overrides`):(Array.isArray(r.bids)&&r.bids.forEach((function(e){Wr(e,n.bidderCode,t)||Gr(e,n,"bidder",o)})),e(t,n,i))}function Hr(e,t){const{overrides:n,logger:i}=this,r=t.filter((function(e){return!Lr(n.bidders,e.bidderCode)||(i.logWarn(`bidRequest '${e.bidderCode}' excluded from auction by bidder overrides`),!1)}));Array.isArray(n.bidRequests)&&r.forEach((function(e){n.bidRequests.forEach((function(t){e.bids.forEach((function(n){Wr(t,e.bidderCode,n.adUnitCode)||Gr(t,n,"bidRequest",i)}))}))})),e(r)}Object.assign(qr.prototype,{DEFAULT_RULE_OPTIONS:{delay:0},serializeConfig(e){return e.filter(((e,t)=>{const n=!Ye(e);return n||l(e,"options.suppressWarnings")||this.logger.logWarn(`Bid interceptor rule definition #${t+1} contains non-serializable properties and will be lost after a refresh. Rule definition: `,e),n}))},updateConfig(e){this.rules=(e.intercept||[]).map(((e,t)=>this.rule(e,t+1)))},rule(e,t){return{no:t,match:this.matcher(e.when,t),replace:this.replacer(e.then,t),options:Object.assign({},this.DEFAULT_RULE_OPTIONS,e.options),paapi:this.paapiReplacer(e.paapi||[],t)}},matcher(e,t){if("function"==typeof e)return e;if("object"!=typeof e)return this.logger.logError(`Invalid 'when' definition for debug bid interceptor (in rule #${t})`),()=>!1;function n(t,i){let{ref:r=e,args:o=[]}=i;return Object.entries(r).map((e=>{let[i,r]=e;const s=t[i];return r instanceof RegExp?null!=r.exec(s):"function"==typeof r?!!r(s,...o):"object"==typeof r?n(s,{ref:r,args:o}):s===r})).every((e=>e))}return function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r<t;r++)i[r-1]=arguments[r];return n(e,{args:i})}},replacer(e,t){var n=this;if(null===e)return()=>null;let i;return"function"==typeof(e=e||{})?i=t=>{let{args:n}=t;return e(...n)}:"object"!=typeof e?(this.logger.logError(`Invalid 'then' definition for debug bid interceptor (in rule #${t})`),i=()=>({})):i=t=>{let{args:n,ref:r=e}=t;const o=Array.isArray(r)?[]:{};return Object.entries(r).forEach((e=>{let[t,r]=e;o[t]="function"==typeof r?r(...n):null!=r&&"object"==typeof r?i({args:n,ref:r}):r})),o},function(e){const t=n.responseDefaults(e);for(var r=arguments.length,o=new Array(r>1?r-1:0),s=1;s<r;s++)o[s-1]=arguments[s];Ve(t,i({args:[e,...o]}));const a=_r[t.mediaType];return a&&a(e,t),t.isDebug=!0,t}},paapiReplacer(e,t){function n(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).map((e=>Object.keys(e).some((e=>!["config","igb"].includes(e)))?{config:e}:e))}return Array.isArray(e)?()=>n(e):"function"==typeof e?function(){return n(e(...arguments))}:void this.logger.logError(`Invalid 'paapi' definition for debug bid interceptor (in rule #${t})`)},responseDefaults(e){const t={requestId:e.bidId,cpm:3.5764,currency:"EUR",ttl:360,creativeId:"mock-creative-id",netRevenue:!1,meta:{}};let n;return e.mediaType||(t.mediaType=Object.keys(e.mediaTypes??{})[0]??et),t.mediaType===et?n=e.mediaTypes?.banner?.sizes?.[0]??[300,250]:t.mediaType===Ze&&(n=e.mediaTypes?.video?.playerSize?.[0]??[600,500]),Array.isArray(n)&&([t.width,t.height]=n),t},match(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return this.rules.find((t=>t.match(e,...n)))},matchAll(e,t){const[n,i]=[[],[]];return e.forEach((e=>{const r=this.match(e,t);null!=r?n.push({rule:r,bid:e}):i.push(e)})),[n,i]},intercept(e){let{bids:t,bidRequest:n,addBid:i,addPaapiConfig:r,done:o}=e;null==t&&(t=n.bids);const[s,a]=this.matchAll(t,n);if(s.length>0){const e=Ne(o,s.length);s.forEach((t=>{const o=t.rule.replace(t.bid,n),s=t.rule.paapi(t.bid,n),a=t.rule.options.delay;this.logger.logMessage(`Intercepted bid request (matching rule #${t.rule.no}), mocking response in ${a}ms. Request, response, PAAPI configs:`,t.bid,o,s),this.setTimeout((()=>{o&&i(o,t.bid),s.forEach((e=>r(e,t.bid,n))),e()}),a)})),n=je(n),t=n.bids=a}else this.setTimeout(o,0);return{bids:t,bidRequest:n}}});const Vr=[];let zr,Kr=!1;function Jr(e,t){let{fromSession:n=!1,config:i,hook:r,logger:o}=t;i.setConfig({debug:!0}),zr.updateConfig(e),Yr(!0),Mr({hook:r}),Nr(e,{hook:r,logger:o}),Kr||(Kr=!0,o.logMessage("Debug overrides enabled"+(n?" from session":"")))}function Yr(e){Vr.forEach((e=>{let[t,n]=e;t().getHooks({hook:n}).remove()})),e&&Vr.forEach((e=>{let[t,n]=e;t().before(n)}))}function Qr(e,t){const n=function(){return zr.intercept(...arguments)};Vr.push([e,function(e){for(var i=arguments.length,r=new Array(i>1?i-1:0),o=1;o<i;o++)r[o-1]=arguments[o];t(e,n,...r)}])}function Xr(e,t,n,i,r,o,s,a){const d=Ne(a.onCompletion,2);({bids:i,bidRequest:r}=t({bids:i,bidRequest:r,addBid:s(a.onBid),addPaapiConfig:s(((e,t)=>a.onPaapi({bidId:t.bidId,...e}))),done:d})),0===i.length?(a.onResponse?.({}),d()):e(n,i,r,o,s,{...a,onCompletion:d})}function Zr(e){let{DEBUG_KEY:t,config:n,hook:i,createBid:r,logger:o}=e;zr=new qr({logger:o});const s=function(e){let{createBid:t}=e;return function(e,n,i,r,o,s){let a,{onResponse:d,onError:c,onBid:l,onFledge:u}=s;const f=Ne((()=>d(...a)),r.length+1);function g(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];a=t,f()}function h(e,n){l({adUnit:n.adUnitCode,bid:Object.assign(t(p,n),{requestBidder:n.bidder},e)})}if(r=r.map((e=>n({bidRequest:e,addBid:h,addPaapiConfig(e,t,n){u({adUnitCode:t.adUnitCode,ortb2:n.ortb2,ortb2Imp:t.ortb2Imp,...e})},done:f}).bidRequest)).filter((e=>e.bids.length>0)),r.length>0){const t=new Set;r.forEach((e=>e.bids.forEach((e=>t.add(e.bidId))))),(i=je(i)).ad_units.forEach((e=>{e.bids=e.bids.filter((e=>t.has(e.bid_id)))})),i.ad_units=i.ad_units.filter((e=>e.bids.length>0)),e(i,r,o,{onResponse:g,onError:c,onBid:l})}else g(!0,[])}}({createBid:r});Qr((()=>i.get("processBidderRequests")),Xr),Qr((()=>i.get("processPBSRequest")),s),function(e){let t,{DEBUG_KEY:n,storage:i,config:r,hook:o,logger:s}=e;try{i=i||window.sessionStorage,t=JSON.parse(i.getItem(n))}catch(e){}t&&Jr(t,{fromSession:!0,config:r,hook:o,logger:s})}({DEBUG_KEY:t,config:n,hook:i,logger:o}),n.getConfig("debugging",(e=>{let{debugging:r}=e;return function(e){let t,{getStorage:n=(()=>window.sessionStorage),DEBUG_KEY:i,config:r,hook:o,logger:s}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(null!=e){try{t=n()}catch(e){s.logError("sessionStorage is not available: debugging configuration will not persist on page reload",e)}null!=t&&function(e){let{sessionStorage:t=window.sessionStorage,DEBUG_KEY:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e.enabled){e.intercept&&((e=je(e)).intercept=zr.serializeConfig(e.intercept));try{t.setItem(n,JSON.stringify(e))}catch(e){}}else try{t.removeItem(n)}catch(e){}}(e,{sessionStorage:t,DEBUG_KEY:i}),e.enabled?Jr(e,{config:r,hook:o,logger:s}):function(e){let{hook:t,logger:n}=e;zr.updateConfig({}),Yr(!1),Mr({hook:t}),Kr&&(Kr=!1,n.logMessage("Debug overrides disabled"))}({hook:o,logger:s})}}(r,{DEBUG_KEY:t,config:n,hook:i,logger:o})}),{init:!0})}window._pbjsGlobals.forEach((e=>{window[e]&&!0===window[e]._installDebugging&&(window[e]._installDebugging=Zr)}))})()})();