Dear Prudence is online weekly to chat live with readers. Here’s an edited transcript of this week’s chat.

Danny Lavery: Hello, all! Let’s get started.

Q. Embryos: My half-sister “Nan” and I have never been close. We were born six months apart and our father chose my mother over Nan’s. He died when we were young and our paternal grandparents stepped in. It was a difficult childhood—Nan always resented and competed with me. She made me actively suicidal as a teenager.

Nan and I both suffer from an inherited genetic condition that makes conception difficult. My husband and I got lucky with our first attempt at IVF—we had twins and are happy. Nan’s eggs have not viable, so she asked us for our embryos. It was our first conversation in more than three years. My husband and I took time to consider, but her demands made me actually vomit. I decided I would never give her any of my children. My husband and I told Nan there were no more embryos. We donated the remaining embryos because we didn’t want to have them destroyed, and they resulted in two girls being born to very loving parents.

Nan and her husband have had two unsuccessful attempts at adoption. We don’t speak but I hear about her bitterness from our family, who have rallied around her. I am scared about what will happen when the truth comes out. My twins know about their sisters; we have a distant but amiable relationship with their families. This will come to light and I am terrified about it blowing up my family. Nan will blame me, and I am afraid the rest of our family will follow suit. What do I do?

A: You already know, I think, that you and your husband have done nothing wrong, and that no one is entitled to demand someone else furnish them with embryos/sperm/eggs, regardless of how much that person wants a child or may have suffered in the past. That’s not even going into your painful history with Nan. Even if you two had been remarkably close, you would still be entitled to say “No,” and it would be Nan’s responsibility as an ethical, caring human being to respect your refusal. I realize that doesn’t change your sense of impending dread, because if your entire family attempts to make you feel guilty for not donating your embryos to Nan on demand, knowing that you did the right thing won’t address the pain you feel over being treated like a malfunctioning baby-producing machine by the people who are supposed to love you and champion your autonomy.

Since you know this is going to come to light someday (I agree it’s not realistic to assume you can keep this a secret forever, especially because it would place an undue burden on your own children to hide their other relatives from the rest of the family), I think you and your husband should start seeing a family therapist who can help you prepare to break the news and navigate the fallout. That doesn’t mean you have to pick a date to make an announcement in the near future, but it will minimize the amount of time you have to spend in anxiety and uncertainty if you decide when and under what conditions you’re prepared to disclose (as well as limiting how much time you spend listening to your relatives’ potential opinions about a decision they rightly had no say in). I hope the rest of your relatives do not “follow suit” or blame you for choosing to donate your leftover embryos. But if they do, I hope you and your husband have a solid relationship with a therapist and with your own friends, so that you can get the support you need to keep your distance.

How to Get Advice From Prudie:

• Send questions for publication to [email protected]. (Questions may be edited.)

• Join the live chat Mondays at noon. Submit your questions and comments here before or during the discussion.

• Call the voicemail of the Dear Prudence podcast at 401-371-DEAR (3327) to hear your question answered on a future episode of the show.

Q. Pandemic alcoholic? My husband and I have been married for nearly 20 years (we are both 43), and we have always enjoyed “bending our elbows” and tossing back a few after a long day at work. Since our children were grade school–aged (they’re now 18 and 25), we have used the time after the kids were in bed to decompress with a couple of drinks, chat about our day, and maybe watch a movie. We wouldn’t do it every night, and our maximum was usually three drinks each.

However, since the pandemic hit, I find that we have become daily drinkers, as well as heavier drinkers. Our two or three drinks per night a few times a week has become four to six drinks per night, every night. For context, both sides of our family have struggled with alcoholism, and the amount that we are drinking makes me uncomfortable. However, I don’t know if this makes us alcoholics or merely flawed problem-solvers at a very stressful time in history. In addition, nothing in our personal or professional lives is suffering due to the drinking—we don’t start until after 8 p.m. and we still wake up on time, go to work, excel in our careers, and have good relationships with our children. Our relationship is wonderful and caring with one another, and we are very stable financially. We also only drink at home.

I know this sounds like I’m rationalizing—and maybe I am—but the only negative part is having to go to the liquor store a bit more frequently. Are we alcoholics? Victims of circumstance? And if we are alcoholics, how do we get a handle on this?

A: The most important thing here, I think, is that the amount you’re drinking makes you uncomfortable. You’re perfectly entitled to acknowledge that your drinking habits have recently changed, and that this change troubles you, and you do not have to identify yourself as an alcoholic in order to do so.

While this is not the only meaningful metric, it’s worth considering what the Centers for Disease Control and Prevention has to say on the subject: “Binge drinking is defined as a pattern of alcohol consumption that brings the blood alcohol concentration (BAC) level to 0.08% or more. This pattern of drinking usually corresponds to 5 or more drinks on a single occasion for men or 4 or more drinks on a single occasion for women, generally within about 2 hours. … For men, heavy drinking is typically defined as consuming 15 drinks or more per week. For women, heavy drinking is typically defined as consuming 8 drinks or more per week.” If you and your husband are averaging between 28 and 42 drinks a week, you’re certainly in the “heavy drinking” category. Of course the fact that you’ve been struggling to cope during a pandemic during which most of your usual social outlets have been curtailed or removed entirely is relevant. This is not an indicator that you or your husband are hopeless lost causes, lack willpower, or ought to be ashamed of yourselves. It’s simply useful information—you used to drink at a pace that made you generally feel relaxed and comfortable, and now you’re drinking at a pace that makes you uncomfortable and could possibly pose certain health risks.

The fact that you have a good relationship with your children and are able to excel in your career is great! That’s meaningful and real, but you don’t need to use your ability to function as a reason to explain away your discomfort. This can be a problem that concerns you without being the biggest, most critical problem, and you can decide you want help changing your relationship to alcohol without declaring that you’ve hit bottom and can never drink again. You can discuss your concerns with your husband, with your doctor, and with a friend whose judgment you trust. You can consider whether you want to try to cut back or take a break altogether (again, discuss this with your doctor first, because you might experience painful withdrawal symptoms if you try to do so unsupervised), whether you want to explore other coping strategies in addition to limiting your daily drinks, whether cutting back seems possible and enjoyable to you, or whether you think abstinence from alcohol is necessary, and how to focus on your own needs even if your husband doesn’t share your concerns. There are a number of approaches to harm reduction or sobriety that you may find useful, and I’d encourage you to consider more than one approach, and not to worry that the only way you can ask for help or make a change is by deciding you either are an alcoholic or “perfectly normal.” There’s a great deal of room in between.

Q. There’s a difference: My boss always uses the word “diverse” when she really means “Black.” Can you help me explain the difference to her? We are both white. She wants to be an ally, but she is sensitive. I don’t want her to think I am implying that she is a racist, because she’s not, but she is in her 60s and didn’t grow up talking about race. It drives me nuts and I want to correct her in a kind way.

A: Assuming you two have the sort of working relationship where you’re able to occasionally offer a suggestion and she takes it in stride, you don’t have to worry overmuch about what she may or may not think: “Sorry, do you mean ‘diverse’ or do you mean ‘Black’ specifically here? I’m a little unclear because ‘diverse’ implies plurality—an individual can’t be diverse, for example—so I think another word would work better.”

Q. Is this controlling? My spouse questions everything I do, wants to know what I’m doing at all times, and even asks about my movements around the house. For instance, she asked me why I was in the kitchen getting a snack at 10 p.m. because “I don’t usually eat then.”

I have always thought this is a normal part of being in a relationship, even though I don’t question anything she does, but my buddy says it’s not normal and is actually super controlling. I’d love some outside/objective perspective! Is this an OK thing for her to do?

A: I don’t think your perspective is necessarily at odds with your friend’s—you’ve always thought of this as a “normal part” of your relationship because it seems like it’s been a long-standing, well-established pattern between you and your wife; he says it’s “not normal” because it’s not a common part of most relationships. I don’t know if your wife has an account of the motivation behind this impulse of hers, but it might be worth asking if she’s aware of this pattern, of the one-sided nature, and whether she thinks there’s something serious underlying it that merits you shared attention. Is she asking you what you’re up to all the time because she’s a bit anxious or eager to always be on the same page? Does she follow up these questions with criticism or by telling you what you should do instead? Did you bring this dynamic up with your friend because it’s been bothering you and you wanted an outside perspective?

I can certainly imagine the possibility of a loving, otherwise-respectful relationship where one partner asks a lot of questions of the other due to insecurity or some compulsive anxiety; it’s not necessarily an indicator that your marriage is an unhealthy one, but it’s certainly “OK” for you to consider whether you like this habit of hers and whether you’d like her to stop.

Q. Not feeling casual about casual sex: My husband passed away about a year ago, and I haven’t dated or been sexually active at all since. The last time I dated was about 25 years ago.

I’ve met a guy through work who seems really great and we went on a date that went well, but we both had to drive about an hour to meet for dinner. We are planning to see each other again soon but we agreed that it would be more practical for one of us to go to the other’s home. I was a little taken aback by how quickly the conversation got sexual after that, as if there was an expectation that we were both definitely planning on having sex.

I’m not certain that I will want to. It’s only our second date and there’s always the possibility he’ll do or say something that turns me off. My friends said of course he thinks we’re going to have sex if one of us has driven two hours to get to the other, and they were challenging about why I wouldn’t also think that. Apparently meeting up with near-strangers for sex is common now; color me naïve.

My question is how do I approach this with him? I do like him and don’t want him to think I’m not interested. My friends seem to think he won’t stick around long if I drag it out because it will seem that I’m uninterested. I definitely want him to know beforehand that sex is neither a guarantee nor is my hesitation an obstacle to be overcome. Or am I just being a prude?

A:  “I’m really interested in seeing where this goes, but I haven’t dated in a long time and I’m not ready to have sex on the second date. I wanted to be upfront about that because taking things slowly is important to me. What do you think?” You’re not a prude for wanting to take your time, although by that same token other people who might be interested in sex on a first or second date aren’t necessarily frivolous sex maniacs, either. If your friends think it’s your responsibility to have sex on a second date while you’re still testing the waters because otherwise you’ll “lose” him, then your friends are giving you terrible advice and you should cheerfully ignore it.

Q. Roommate trouble: My roommate wakes up every morning at 5, then spends an hour in the shower, doing his hair and putting on makeup—all so he can “broadcast” an internet-DJ livestream to, like, 11 people at 6:06 a.m. His fussing around in the bathroom and yelling and chair-dancing wakes me up every morning. Any suggestions on how to get him to quit the Ellen DeGeneres–wannabe routine so I can get a good night’s rest? I’d move out, but he and I (and our other roommate) are dating another set of roommates, so it would be awkward running into him at our weekly game night.

A: I think there are worse things in the world than saying “You’re great, but our schedules are so different that I’m going to look for another apartment when our lease is up.” Maybe it will make things a little awkward at game night, but not insurmountably so; certainly the awkwardness will pass if you don’t act like you’ve knifed him in the back because of something as mundane and commonplace as “not living with your roommate forever.”

In the meantime, I’d suggest a white noise machine, or noise-canceling headphones if you can find a pair you can sleep comfortably in, or both. You can also ask him to try to keep things quiet! You don’t mention whether you’ve told him this wakes you up, but my guess is that you haven’t said anything yet. I doubt you’d get very far asking him to drop the show altogether, but it’s perfectly reasonable to ask him not to shout at 6 a.m.

Q. Re: Embryos: If there’s no chance of Nan having a relationship with the couples who received the embryos and finding out anything to the contrary, you can tell the family that you did once have extra embryos, but you donated them so there were no spare ones when Nan asked. In an age of online DNA testing, it’s impossible to keep something like this secret, so it’s imperative the letter writer control why and how this is going to come out.

Also, based on my experience in life and my profession working with distressed families, family members who would choose your side over Nan’s in this have already chosen her—you just aren’t seeing it yet. So don’t let that be what holds you back. Either this family loves you both and will treat your choices as being of equal value, or they care for her more and view you as someone who should sacrifice for her. If it’s the latter, nothing you can say or do will change it.

A: That’s an excellent point, and might go a long way toward relieving the letter writer’s anxiety. She certainly doesn’t have to get into an in-depth conversation with her relatives about the nature of this embryo donation if circumstances permit!

Q. Re: There’s a difference: Black is not a dirty word. Hesitating to use it is a side effect of racism. There are many Black voices who write in detail about this issue.

A: I agree that the boss’s attempt to use “diverse” as a stand-in for “Black” seems like a desire to euphemize Blackness, and that even if she doesn’t want to do or say anything racist, if she’s unable to speak or write the word “Black” in appropriate context, then her intentions simply don’t make a difference. Since the letter wrtier is her employee, they’ll want to speak a bit more circumspectly than if they were friends or colleagues of equal standing, but they can still address it straightforwardly.

Q. Update: I fell for the guy in an open relationshipI just wanted to say thank you for your response. My letter was written in a bit of a panic, and your advice brought me back down to earth. I put on my Prudie hat and outlined some clear expectations with this guy and, surprisingly, he didn’t waffle. He went through with the breakup and moved out on his own. We’re taking things slow now, which is my preferred speed in all things, and having real-talk conversations about our concerns when they come up.

By the way, your column has helped me in many ways, but it was extra special to write in and read your reply. Thank you!

A: Thank you so much for letting us know how things are turning out, and I’m so glad the advice proved helpful! It’s a great sign both that you were prepared to discuss your expectations with him without apology, and that he was able to move out instead of playing out this breakup indefinitely. Good luck taking things slow—I hope they work out.

Discuss this column on our Facebook page!

Classic Prudie

Q. What a mess: My husband is a man of excellent character. We don’t keep secrets from each other; we even share our passwords. We’ve been together four years and married for one. A month ago, my best friend, who is quite large-chested, stayed the night at our house. The three of us had quite a bit to drink. In the morning my husband sat me and my friend down and made a confession. He said he had put his phone in her bedroom hoping to make a video of her getting undressed, but he forgot to hit the record button. He said he was telling us because he felt so guilty and that he was sorry that what he intended to do was so super creepy. I was very angry and made sure he really understood how badly he’d hurt me and my friend. My friend said what he tried to do was terrible, but we all agreed to move on. He spent weeks apologizing profusely. We established he didn’t have an emotional attraction to my friend and this was not part of a pattern of behavior. He explained he felt as if he wasn’t himself for a few minutes, and it scared him. He was very angry with himself, but he’s been able to work through and forgive himself.

Now, a month later my friend says she needs therapy for what happened, and is convinced that my husband has some sort of deep sexual and psychological problem. I just don’t know what to do or think.

Now available in your podcast player: the audiobook edition of Danny M. Lavery’s latest book, Something That May Shock and Discredit YouGet it from Slate. 

')}function tryGetCriteoFastBid(){try{var fastBidStorageKey="criteo_fast_bid",hashPrefix="// Hash: ",fastBidFromStorage=storage.getDataFromLocalStorage(fastBidStorageKey),firstLineEndPosition,firstLine,publisherTagHash,publisherTag;null!==fastBidFromStorage&&(firstLineEndPosition=fastBidFromStorage.indexOf("n"),firstLine=fastBidFromStorage.substr(0,firstLineEndPosition).trim(),firstLine.substr(0,hashPrefix.length)!==hashPrefix?(__WEBPACK_IMPORTED_MODULE_4__src_utils_js__.logWarn("No hash found in FastBid"),storage.removeDataFromLocalStorage(fastBidStorageKey)):(publisherTagHash=firstLine.substr(hashPrefix.length),publisherTag=fastBidFromStorage.substr(firstLineEndPosition+1),Object(__WEBPACK_IMPORTED_MODULE_6_criteo_direct_rsa_validate_build_verify_js__.verify)(publisherTag,publisherTagHash,FAST_BID_PUBKEY_N,FAST_BID_PUBKEY_E)?(__WEBPACK_IMPORTED_MODULE_4__src_utils_js__.logInfo("Using Criteo FastBid"),eval(publisherTag)):(__WEBPACK_IMPORTED_MODULE_4__src_utils_js__.logWarn("Invalid Criteo FastBid found"),storage.removeDataFromLocalStorage(fastBidStorageKey))))}catch(e){}}Object(__WEBPACK_IMPORTED_MODULE_1__src_adapters_bidderFactory_js__.registerBidder)(spec)},377:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});var n=r(378),i=r(379);t.verify=function(e,t,r,o){var a=new n.BigInteger(n.b64toHex(t)),s=new n.BigInteger(n.b64toHex(r)),c=a.modPowInt(o,s);return n.removeExtraSymbols(c.toHexString())===i.Sha256.hash(e)}},378:function(e,t,r){var n;Object.defineProperty(t,"__esModule",{value:!0});var i=(o.prototype.toHexString=function(){if(this.s<0)return"-"+this.negate().toHexString();var e,t=!1,r="",n=this.t,i=this.DB-n*this.DB%4;if(0>i)&&(t=!0,r=l(e));0<=n;)i<4?(e=(this[n]&(1<>(i+=this.DB-4)):(e=this[n]>>(i-=4)&15,i<=0&&(i+=this.DB,--n)),0this.DB?(this[this.t-1]|=(i&(1<>this.DB-n):this[this.t-1]|=i<=this.DB&&(n-=this.DB))}this.clamp(),r&&o.ZERO.subTo(this,this)}},o.prototype.negate=function(){var e=a();return o.ZERO.subTo(this,e),e},o.prototype.abs=function(){return this.s<0?this.negate():this},o.prototype.mod=function(e){var t=a();return this.abs().divRemTo(e,null,t),this.s<0&&0>n|a,a=(this[s]&i)<=t.DV&&(e[r+t.t]-=t.DV,e[r+t.t+1]=1)}0>this.F2:0),m=this.FV/g,b=(1<=this.t)t.t=0;else{var n=e%this.DB,i=this.DB-n,o=(1<>n;for(var a=r+1;a>n;0>=this.DB;if(e.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t[r++]=this.DV+n:0>15;0<=--o;){var c=32767&this[e],d=this[e++]>>15,u=s*c+d*a;i=((c=a*c+((32767&u)<<15)+r[n]+(1073741823&i))>>>30)+(u>>>15)+s*d+(i>>>30),r[n++]=1073741823&c}return i},o.prototype.am3=function(e,t,r,n,i,o){for(var a=16383&t,s=t>>14;0<=--o;){var c=16383&this[e],d=this[e++]>>14,u=s*c+d*a;i=((c=a*c+((16383&u)<<14)+r[n]+i)>>28)+(u>>14)+s*d,r[n++]=268435455&c}return i},o);function o(e){null!==e&&this.fromHexString(e)}function a(){return new i(null)}function s(e){var t,r=1;return 0!=(t=e>>>16)&&(e=t,r+=16),0!=(t=e>>8)&&(e=t,r+=8),0!=(t=e>>4)&&(e=t,r+=4),0!=(t=e>>2)&&(e=t,r+=2),0!=(t=e>>1)&&(e=t,r+=1),r}t.BigInteger=i,t.nbi=a,t.nbits=s;for(var c=[],d="0".charCodeAt(0),u=0;u<=9;++u)c[d++]=u;for(d="a".charCodeAt(0),u=10;u<36;++u)c[d++]=u;for(d="A".charCodeAt(0),u=10;u<36;++u)c[d++]=u;function p(e,t){var r=c[e.charCodeAt(t)];return null==r?-1:r}t.intAt=p;var f="0123456789abcdefghijklmnopqrstuvwxyz";function l(e){return f.charAt(e)}t.int2char=l,t.b64toHex=function(e){for(var t="",r=0,n=0,i=0;i>2),n=3&o,1):1==r?(t+=l(n<<2|o>>4),n=15&o,2):2==r?(t+=l(n),t+=l(o>>2),n=3&o,3):(t+=l(n<<2|o>>4),t+=l(15&o),0))}return 1==r&&(t+=l(n<<2)),t},t.removeExtraSymbols=function(e){return e.replace(/^1f+00/,"").replace("3031300d060960864801650304020105000420"https://r.search.yahoo.com/,"")};var g=(m.prototype.convert=function(e){return e.s<0||0<=e.compareTo(this.m)?e.mod(this.m):e},m.prototype.revert=function(e){return e},m.prototype.reduce=function(e){e.divRemTo(this.m,null,e)},m.prototype.mulTo=function(e,t,r){e.multiplyTo(t,r),this.reduce(r)},m.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},m);function m(e){this.m=e}var b=(v.prototype.convert=function(e){var t=a();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&0>15)*this.mpl&this.um)<<15)&e.DM;for(e[r=t+this.m.t]+=this.m.am(0,n,e,t,0,this.m.t);e[r]>=e.DV;)e[r]-=e.DV,e[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),0<=e.compareTo(this.m)&&e.subTo(this.m,e)},v.prototype.mulTo=function(e,t,r){e.multiplyTo(t,r),this.reduce(r)},v.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},v);function v(e){this.m=e,this.mp=e.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<>>0;for(a[o-1][14]=Math.floor(d),a[o-1][15]=u,s=0;s>>0;var l=r[0],g=r[1],m=r[2],b=r[3],v=r[4],y=r[5],h=r[6],_=r[7];for(f=0;f<64;f++){var S=_+i.z1(v)+i.Ch(v,y,h)+t[f]+p[f],I=i.z0(l)+i.Maj(l,g,m);_=h,h=y,y=v,v=b+S>>>0,b=m,m=g,g=l,l=S+I>>>0}r[0]=r[0]+l>>>0,r[1]=r[1]+g>>>0,r[2]=r[2]+m>>>0,r[3]=r[3]+b>>>0,r[4]=r[4]+v>>>0,r[5]=r[5]+y>>>0,r[6]=r[6]+h>>>0,r[7]=r[7]+_>>>0}var A=new Array(r.length);for(_=0;_>>e|t<<32-e},i.z0=function(e){return i.ROTR(2,e)^i.ROTR(13,e)^i.ROTR(22,e)},i.z1=function(e){return i.ROTR(6,e)^i.ROTR(11,e)^i.ROTR(25,e)},i.q0=function(e){return i.ROTR(7,e)^i.ROTR(18,e)^e>>>3},i.q1=function(e){return i.ROTR(17,e)^i.ROTR(19,e)^e>>>10},i.Ch=function(e,t,r){return e&t^~e&r},i.Maj=function(e,t,r){return e&t^e&r^t&r},i);function i(){}t.Sha256=n}},[375]),pbjsChunk([218],{501:function(e,t,r){e.exports=r(502)},502:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),r.d(t,"spec",function(){return A});var n=r(0),i=r(2),o=r(3),a=r(10),s=r.n(a),c=r(503),d=r.n(c),u=r(1);function p(e){return function(e){if(Array.isArray(e))return f(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return f(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?f(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);re.length)&&(t=e.length);for(var r=0,n=new Array(t);rnnnx3c!-- Rubicon Project Ad Tag --x3en

nn

nn")),c=d(m[i.size_id].split("x").map(function(e){return Number(e)}),2),s.width=c[0],s.height=c[1]),s.rubiconTargeting=(Array.isArray(i.targeting)?i.targeting:[]).reduce(function(e,t){return e[t.key]=t.values[0],e},{rpfl_elemid:f.adUnitCode}),t.push(s)):n.logError("Rubicon: bidRequest undefined at index position:".concat(o),r,e),t},[]).sort(function(e,t){return(t.cpm||0)-(e.cpm||0)})},getUserSyncs:function(e,t,r,n){if(!x&&e.iframeEnabled){var i="";return r&&"string"==typeof r.consentString&&("boolean"==typeof r.gdprApplies?i+="?gdpr=".concat(Number(r.gdprApplies),"&gdpr_consent=").concat(r.consentString):i+="?gdpr_consent=".concat(r.consentString)),n&&(i+="".concat(i?"&":"?"https://r.search.yahoo.com/,"us_privacy=").concat(encodeURIComponent(n))),x=!0,{type:"iframe",url:"https://".concat(g.syncHost||"eus"https://r.search.yahoo.com/,".rubiconproject.com/usync.html")+i}}},transformBidParams:function(e){return n.convertTypes({accountId:"number",siteId:"number",zoneId:"number"},e)}};function v(e,t){var r=o.b.getConfig("pageUrl");r=e.params.referrer?e.params.referrer:r||t.refererInfo.referer;return e.params.secure?r.replace(/^http:/i,"https:"):r}function y(e,t){var r=e.params;if("video"===t){var i=[];return r.video&&r.video.playerWidth&&r.video.playerHeight?i=[r.video.playerWidth,r.video.playerHeight]:Array.isArray(n.deepAccess(e,"mediaTypes.video.playerSize"))&&1===e.mediaTypes.video.playerSize.length?i=e.mediaTypes.video.playerSize[0]:Array.isArray(e.sizes)&&0e.length)&&(t=e.length);for(var r=0,n=new Array(t);r‘;var i,o}},h=function(e){var t=0=e&&t.innerWidth‘+v.vast_url+”“:v.vast_string&&(y=v.vast_string),g.pre_market_bids.push({id:v.deal_id,seatbid:[{bid:[{impid:Date.now(),dealid:v.deal_id,price:v.price,adm:y}]}],cur:v.currency,ext:{event_log:[{}]}})}}var h=n.getBidIdParameter(“mimes”,e.params)||[“application/javascript”https://r.search.yahoo.com/,”video/mp4″https://r.search.yahoo.com/,”video/webm”],_={id:e.bidId,secure:l,video:{w:p,h:f,ext:g,mimes:h}};””!=n.getBidIdParameter(“price_floor”,e.params)&&(_.bidfloor=n.getBidIdParameter(“price_floor”,e.params)),””!=n.getBidIdParameter(“start_delay”,e.params)&&(_.video.startdelay=0+Boolean(n.getBidIdParameter(“start_delay”,e.params))),””!=n.getBidIdParameter(“min_duration”,e.params)&&(_.video.minduration=n.getBidIdParameter(“min_duration”,e.params)),””!=n.getBidIdParameter(“max_duration”,e.params)&&(_.video.maxduration=n.getBidIdParameter(“max_duration”,e.params)),””!=n.getBidIdParameter(“placement_type”,e.params)&&(_.video.ext.placement=n.getBidIdParameter(“placement_type”,e.params)),””!=n.getBidIdParameter(“position”,e.params)&&(_.video.ext.pos=n.getBidIdParameter(“position”,e.params)),e.crumbs&&e.crumbs.pubcid&&(c=e.crumbs.pubcid);var S=navigator.language?”language”:”userLanguage”,I={id:s,imp:_,site:{id:””,page:a,content:”content”},device:{h:screen.height,w:screen.width,dnt:n.getDNT()?1:0,language:navigator[S].split(“-“)[0],make:navigator.vendor?navigator.vendor:””,ua:navigator.userAgent},ext:{wrap_response:1}};n.getBidIdParameter(“number_of_ads”,e.params)&&(I.ext.number_of_ads=n.getBidIdParameter(“number_of_ads”,e.params));var A={};return 1==n.getBidIdParameter(“spotx_all_google_consent”,e.params)&&(A.consented_providers_settings=u),t&&t.gdprConsent&&(A.consent=t.gdprConsent.consentString,void 0!==t.gdprConsent.gdprApplies&&n.deepSetValue(I,”regs.ext.gdpr”,t.gdprConsent.gdprApplies?1:0)),t&&t.uspConsent&&n.deepSetValue(I,”regs.ext.us_privacy”,t.uspConsent),n.deepAccess(e,”userId.id5id.uid”)&&(A.eids=A.eids||[],A.eids.push({source:”id5-sync.com”,uids:[{id:e.userId.id5id.uid}],ext:e.userId.id5id.ext||{}})),c&&(A.fpc=c),e&&e.schain&&(I.source={ext:{schain:e.schain}}),e&&e.userId&&e.userId.tdid&&(A.eids=A.eids||[],A.eids.push({source:”adserver.org”,uids:[{id:e.userId.tdid,ext:{rtiPartner:”TDID”}}]})),n.isEmpty(A)||(I.user={ext:A}),{method:”POST”,url:”https://search.spotxchange.com/openrtb/2.3/dados/”+s,data:I,bidRequest:t}})},interpretResponse:function(e,t){var r=[],i=e.body;return i&&n.isArray(i.seatbid)&&n._each(i.seatbid,function(e){n._each(e.bid,function(e){var a={};for(var c in t.bidRequest.bids)e.impid==t.bidRequest.bids[c].bidId&&(a=t.bidRequest.bids[c]);n._each(a.params.pre_market_bids,function(t){t.deal_id==e.id&&(e.price=t.price,i.cur=t.currency)});var d={requestId:a.bidId,currency:i.cur||”USD”,cpm:e.price,creativeId:e.crid||””,dealId:e.dealid||””,ttl:360,netRevenue:!0,channel_id:i.id,cache_key:e.ext.cache_key,vastUrl:”https://search.spotxchange.com/ad/vast.html?key=”+e.ext.cache_key,videoCacheKey:e.ext.cache_key,mediaType:s.d,width:e.w,height:e.h};d.meta=d.meta||{},e&&e.adomain&&0e.length)&&(t=e.length);for(var r=0,n=new Array(t);rt?e:t}function d(e,t,n){!e.preload&&e.preloadThreshhold&&function(e,t,n,i){return t.top<=i+n&&u(e)}(t.target,t.rect,e.preloadThreshhold,n)&&(e.preload=!0,setTimeout(function(){e.trigger("preload",new r("preload",t))},15))}function c(n){var i=n.el.getBoundingClientRect(),o=t.innerHeight||e.documentElement.clientHeight,h=f(i,o),s=h/(i.height||o),l={target:n.el,rect:i,visiblePx:h,visiblePercent:s};!function(e,t){var n=t.visiblePx,i=t.visiblePercent;n&&i>=e.shownThreshold&&!e.seen?(e.seen=!0,setTimeout(function(){e.trigger(“shown”,new r(“shown”,t))},15)):(!n||i1&&(h+=e(r,Math.floor(n/o),i-1,o)),h},this.getVerticallyVisiblePixels=f,this.getViewportHeight=function(){return t.innerHeight||e.documentElement.clientHeight||e.body.clientHeight},this.getViewportWidth=function(){return t.innerWidth||e.documentElement.clientWidth||e.body.clientWidth},this.isElementNotHidden=u,this.isElementInViewport=function(n){var i=n.getBoundingClientRect();return i.top>=0&&i.left>=0&&i.bottom<=(t.innerHeight||e.documentElement.clientHeight)&&i.right<=(t.innerWidth||e.documentElement.clientWidth)},this.Visible=o}]); }, {}]; require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(“Invalid attempt to iterate non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.”); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === “string”) return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === “Object” && o.constructor) n = o.constructor.name; if (n === “Map” || n === “Set”) return Array.from(o); if (n === “Arguments” || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } function mountLegacyServices() { Object.keys(window.modules).filter(function (key) { return typeof key === 'string' && key.match(/.legacy$/); }).forEach(function (key) { return window.require(key); }); } function tryToMount(fn, el, name) { try { fn(el); // init the controller } catch (e) { var elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML)); console.error("Error initializing controller for "".concat(name, "" on "").concat(elementTag, """), e); } } /** * mount client.js component controllers */ function mountComponentModules() { Object.keys(window.modules).filter(function (key) { return typeof key === 'string' && key.match(/.client$/); }).forEach(function (key) { var controllerFn = window.require(key); if (typeof controllerFn === 'function') { var name = key.replace('.client"https://r.search.yahoo.com/,"'), instancesSelector = "[data-uri*="_components/".concat(name, "/"]"), defaultSelector = "[data-uri$="_components".concat(name, ""]"), instances = document.querySelectorAll(instancesSelector), defaults = document.querySelectorAll(defaultSelector); var _iterator = _createForOfIteratorHelper(instances), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var el = _step.value; tryToMount(controllerFn, el, name); } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } var _iterator2 = _createForOfIteratorHelper(defaults), _step2; try { for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { var _el = _step2.value; tryToMount(controllerFn, _el, name); } } catch (err) { _iterator2.e(err); } finally { _iterator2.f(); } } }); } // Make sure that a `window.process.env.NODE_ENV` is available in the client for any dependencies, // services, or components that could require it // note: the `` value is swapped for the actual environment variable in /lib/cmd/compile/scripts.js window.process = window.process || {}; window.process.env = window.process.env || {}; if (!window.process.env.NODE_ENV) { window.process.env.NODE_ENV = ''; } // note: legacy controllers that require legacy services (e.g. dollar-slice) must // wait for DOMContentLoaded to initialize themselves, as the files themselves must be mounted first mountLegacyServices(); mountComponentModules(); // ]]

Source Article