Election canvassing on Hinge, Tinder, Bumble, and other dating apps: advice from Dear Prudie. | #tinder | #pof


Photo illustration by Slate. Photo by max-kegfire/iStock/Getty Images Plus.

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

Q. Catfishing: My daughters have been phone banking, calling Arizona and Michigan and so on to get out the vote. I didn’t want to do that but I felt guilty. Then I read an article in Slate about using the dating app Hinge to get out the vote. That sounded like fun to me, so I set up an account. I figured that there were few people my age (about 70) on Hinge, so I used a pic that was 40(!) years old and pretended to be young, single, and child-free. My state was also in the bag as far as electoral votes were concerned, so I decided to “live” in another state. Anyway, you could say I was catfishing, but I figured it was for a good cause—no one would get hurt, thus, no harm, no foul.

However. I found a match. Of course he is much younger than I am and lives in a different state. But we are politically similar. And we have the same (very niche!) hobby. (I can’t name the hobby, because all my friends who read this column would immediately identify me! But, as a false example, it is not that we both like to read biographies—it is more like we both like to make art with old encyclopedias. So we share this unusual passion.)

Now I want to tell him the truth and be friends. But I know that no one wants to be fooled. Is there any way to break the news—that I am decades older than he is and not interested in dating—that would not destroy this budding relationship?

A: No, sorry! But you can certainly find other people online who share your interest in this hobby, so go forth and do so honestly.

How to Get Advice From Prudie:

Send questions for publication to prudence@slate.com. (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. A rotten choice: My adult son and his wife, “Casey,” live with me, along with their children. They both struggle with mental illness, and my son has dealt with addiction since he was a young teen. Two months ago, Casey got into an argument with my daughter, “Meg.” They’ve had some tension before. Meg, while well intentioned, tends to be a bit overbearing in her attempts to help. Casey responded badly to Meg trying to offer some advice. She posted about Meg on social media, claiming that she’s racist, that she uses drugs (she doesn’t), and that her husband is cheating on her. She then posted that Meg had called CPS on her, before calling CPS herself to report Meg as negligent. Meg definitely had not reported them to anyone and no social worker ever contacted us.

Meg informed me she was cutting off her brother and Casey. This weekend Casey invited herself to my niece’s baby shower. When Meg found out, she told me that she would not be attending since Casey would be there. Meg then planned an outdoor (masked) family gathering and did not invite her brother or Casey. In both instances I think my daughter is being overly dramatic and overreacting. Yes, Casey was wrong, but these are instances where they could easily just not speak to each other and allow us to be together as a family peacefully. I’ve declined Meg’s party invitation until she stops asking me to choose between my children, but how do I navigate this going forward? Meg won’t even let her children come visit me until her brother’s family moves out and says I have to come to them. We’re family and shouldn’t be forcing one another to choose between one another.

A: Man, what? You think your daughter is “forcing [people] to choose between one another” because she declines to be around the woman who called CPS on her because she was angry? “Sure, Casey falsely and publicly accused you of calling CPS on her kids, then called CPS on your kids, but can’t you just smile politely when she invites herself to a baby shower?” is not a reasonable request to make of your daughter, and even if she were a little overbearing—frankly, even if she were a lot overbearing—nothing justifies Casey’s dangerous and unhinged attempts at retaliation. You can’t “be together as a family peacefully” with a woman who just tried to get your kids taken away from you because she was mad about some unsolicited advice, no matter how unsuccessful that attempt was. Frankly, it doesn’t sound like you’re asking for “peace” so much as a total denial of reality and pasted-on smiles from everybody. “Why can’t we all just sit together in the living room and ignore the relatives we hate and mistrust” is not a particularly compelling image of family.

Meg’s decision to keep her children away from Casey is a very sensible and peaceful one, but if you can’t support it, you should continue to decline future invitations and leave Meg alone, instead of trying to argue with her about it. I do not think your apparent policy of giving in to the most unreasonable person in the room and then trying to pressure everyone else into doing the same is a sound or a healthy one, and I hope you look for a new strategy in the future.

Q. The poor sister: My sisters are both well-off and regularly are able to plan modest but exciting vacations. They plan these years in advance and book tickets super early in order to keep costs down. Some areas of the U.S. have opened up to travel, and my sisters have resumed taking carefully planned trips. The problem is I’m never invited. I don’t make nearly as much as them; however, with careful planning I could go!

When I’ve asked to be included, they simply state that they don’t want me to spend money I don’t have (ouch). Recently, I overheard them talking/jesting about how if they invited me, I’d just be “asking for money the whole trip”—like, actually mocking me with a funny voice! Our relationship is otherwise very caring and loving; I just feel excluded and judged about these vacations. What can I do to get more respect without sounding defensive? And can I somehow convince them to include me?

A: I’d hold off on trying to convince your sisters to include you on these trips, because my guess is that even if you could, you’d just be in for a full week of being frozen out, mocked, and imitated with funny voices. If you do regularly ask your sisters for money, now might be a good time to have an honest conversation with them about how this has affected your relationship, and if they have anything they want to say to you directly. If you don’t hit them up for cash, and they simply assumed you would panhandle for the duration of any trip together just because you make less than they do, then I think it’s time to reassess just how “caring and loving” your relationship with your sisters really is. Your sisters have been both distant and cruel, and they absolutely seem to have excluded and judged you on the strength of your income, so I don’t think the question is “What can I do to get more respect?” but “Why do my sisters treat people who make less money than they do so dismissively and callously?”

Q. Is it mercenary to care about retirement? My girlfriend and I have been together for four years. We’re both women in our late 20s. We’ve talked about marriage and kids and are on the same page, though I’m not ready for either until I’m more financially stable and settled in my career. However, I’m worried about the future. My current job doesn’t have retirement benefits, so I started saving on my own a few years ago. Meanwhile my girlfriend has spent the past several years in academia, and now she’s considering going back for a Ph.D. since COVID-19 has made finding jobs in her field almost impossible. Because of her lack of stable income and huge student loans, she hasn’t been able to save for retirement. I love her, but I’m not sure if in 40 years I’ll be ready to divide my own savings in half to support her, or watch her have to keep working while I retire. Is that heartless? Classist? How do I broach the subject? And at what point does “have a retirement plan”—something I’m aware is a privilege! —become a deal-breaker?

A: It’s not heartless to want to talk about retirement with a partner, nor to treat financial compatibility as a serious issue—but it does seem worth investigating why the idea of sharing your money in 40 years with the woman you apparently want to marry and raise children with seems so daunting. You say you don’t think you’ll be “ready” to do so, but this is so far in the future that I wonder if it doesn’t serve as a stand-in for something else (like, say, your anxiety about her decision to go back to school for a degree that may not do anything to help her find a job). You say your girlfriend doesn’t have stable income, so I wonder if the more salient issue is the fact that you are supporting her now. Being concerned about that dynamic, and wanting to talk about the toll it takes on you, is not heartless; if you’re worried about having to provide financially for the both of you indefinitely and you want to talk about that with your partner, you should do so without guilt.

You sound quite sensitive to her position, so I’m not worried you’re going to lean too far in the other direction and dismiss her professional struggles or demand she pull herself up by her bootstraps in six months “or else.” It might help to set up a meeting with a financial planner, either as a couple or by yourself, so you can get a sharper sense of what you need to get to what you want—detail and specificity often do wonders to relieve general financial anxiety. Even if the picture is daunting, few things are worse than a vague general sense of “things are bad and getting worse.”

It’s not classist to want to have a shared emotional investment in your financial future with your partner. What you are asking of her is not “Get a high-paying job tomorrow and open a Roth IRA” but to have an honest, patient, committed series of conversations with you about your goals, your options, your shared values, and your budget.

Q. Helping, not humping: My partner of two months and I (27 and 24, respectively) started living together about two weeks ago. We are both confident in our feelings and understand that we want to marry each other in the future, but living together so soon was not planned: He was evicted from his apartment, and I invited him to live with me until he finds a new place, rather than suffer the anxiety of his emotionally abusive relatives.

Now my parents have told me they’re disappointed in me for letting him move in. I know they’re upset because they think their baby girl is screwing her partner (I’m not), but, contextually, I have to take this with a grain of salt. They conceived their eldest, my sister, out of wedlock, and that same sister actually has been banging her live-in boyfriend for five years! I just don’t understand. How can I make my parents see that I’m trying to help my partner, not have my brains pounded out of me?

A: I think it’s a waste of your time and an insult to your status as a 27-year-old, self-sufficient adult (and not anyone’s “baby girl”) to try to convince your parents you’re not having sex, or to try to demand a particular emotional response from them because your sister has been having sex for five years. Don’t bother trying to do sexual calculus (“You should be X amount of proud of me because my sister has been having sex for Y years”). Frankly, I think you should start having sex (assuming you want to—obviously you don’t have to). Tell your disappointed parents: “I’m sorry to hear that! I’m not disappointed in the least, but I realize we won’t always agree on everything. I hope you can find productive ways to get over your sense of loss.”

I can certainly understand some skepticism upon hearing your daughter is moving in with someone they’ve been dating for two months. That’s very fast, and while you’re entitled to move fast if you want to, I don’t think you should be too surprised if it takes a little while for your friends and family to move from outright skepticism to cautious optimism. (Far be it from me to try to, shall we say, gatekeep the word partner, but it may not be doing quite the work you hope it will of denoting longevity, maturity, seriousness, and commitment.)

But it doesn’t actually sound like your relatives object to the speed of your moving in together, just the implication that you might have sex if you live together, so I’ll drop it. I think any parent who wants to monitor their 27-year-old’s sex life is being officious and prudish, and it’s not worth trying to win their good opinion on this front. Give yourself the gift of cheerfully disagreeing with your parents!

Q. How can I leave now? My wife and I have been married nine years and trying for a baby for six. We have been unsuccessful despite six rounds of IVF, twice with a surrogate. It has sapped our savings, our sex life, and our emotional well-being. Our marriage is barely holding on—my wife suffers, and I don’t know how much support is left in me to give. I love my wife. I want a child with her, but I have come to a point where I admit that might not be possible. My wife refuses to give up. She has pushed her parents to sell some of their stock for another round of IVF. She has pushed away friends and family over their successful pregnancies. She hates it if I talk about my young nieces and nephews. She isn’t on speaking terms with her own sister because my sister-in-law had an abortion two years ago after a one-night stand. Counseling has been unsuccessful. We go and then stop because my wife feels attacked. She has online “support” groups that don’t help, they just harden her world view.

My breaking point came in September. My oldest friend lost his toddler to a heart condition. My wife and I were among the few to be able to attend the funeral. When we got back home, my wife out of the blue complained how “lucky” our friends were. At least, they got to have a child for a little while. I was shocked and told her that was horrible. She went on to say she has it “harder.” I told her it was like I didn’t even know her anymore. The woman I married was kind and compassionate and would never even think of something that awful, let alone say it. We fought. We are still fighting. My wife still wants to try one more round of IVF. I don’t know what to do—leave or stay and try to force our marriage to work. I love my wife. I can’t live like this anymore. What do I do?

A: One important question to ask yourself (and to ask your trusted friends, too, while you’re at it) is: “Do I want to have a child with the person my wife is now?” Put aside your memory of how kind and compassionate your wife was nine years ago, and consider the woman she is today. She is so stuck in her own suffering that she’s incapable of feeling even a whisper of happiness for someone else’s pregnancy, she drives everyone else away from her, she stopped speaking to her own sister for having an abortion (as if pregnancy were a zero-sum game and everyone who got pregnant had an obligation to stay pregnant on behalf of someone else), she ignores therapists and support groups that threaten her sense of primal victimization, she demands money from others, and she is so lost to compassion that when her friends have to bury their toddler she calls them “lucky” because she’s the only person in the world who really knows what suffering is. What kind of a mother do you think she’s capable of being right now? If part of you is tempted to say, “I’m sure she’d go back to her old self if only she could get what she wanted, and she’d be a great parent, capable of putting someone else’s needs before her own,” please go back and reread your own letter.

You have already tried to stay and force your marriage to work. You’ve tried counseling and support groups and multiple rounds of IVF, and you recently told your wife that you were horrified by her callous, selfish behavior. None of it has made one particle of difference. You can’t live like this, and your wife isn’t willing to live any other way. It’s time for you to go.

Q. Boundaries between in-laws and mother: My older brother got married a couple years ago. He and his wife are very religious and committed to being totally unified in their beliefs and opinions. He has always had a complicated relationship with our mother and his marriage predictably has strained it more. My mother is worried that my brother’s wife will take her son away. She is not allowed to bake them any home goods, has not been invited into their house, and is only given a few hours of visitation on holidays (some holidays are exclusively with my sister-in-law’s family and they do not alternate years). Almost all of her gifts to them are simply regifted, and they have already told her that when they have children she is not allowed to babysit.

Recently they have decided that they will not be celebrating Halloween anymore for religious reasons and gave away everything she had given them for Halloween before their announcement. One of the few things my mother enjoys happens to be football, and she had enjoyed being able to share this with my brother. The list continues, but most of these new beliefs are not consistent with the brother I used to know (I do understand people change) and some of their rules seem exclusively more about hurting my mother’s feelings than setting a boundary. I understand she can be difficult, but I feel their actions are making things worse, not helping. My husband and I have mostly stayed out of it since it truly is their relationship to work out. However, my mother is being increasingly hurt and I feel this is all going to come to a head where we will end up in the middle. Should I bring this up with my brother? And if so, how do I go about approaching the topic? I should say these new developments in his thinking have also affected our relationship as well. We are having fewer and fewer things in common and I rarely see them during the year as holidays are almost impossible to plan together.

A: You asked if you should bring “this” up with your brother, but I counted at least three mentions of “this” in your letter. If you feel that he’s been growing distant from you, and you miss spending time with him, and want to try to plan a holiday get-together with him, by all means reach out to him and speak up on your own behalf. But you have no reason to interfere over something like “no baked goods from Mom” or “We don’t want Halloween presents” or “We spend a lot of holidays with the other side of the family.” The fact that your mother has apparently openly worried that her daughter-in-law will “take her son away” speaks volumes about your mother’s proprietary attitude toward him, and I don’t wonder that he’s seriously limited contact. If they’ve told her more than once that they don’t want gifts and she’s still sending them, even knowing that they’re going to be resold or donated, then the fault lies not with your brother and sister-in-law for refusing to accept unwanted presents but with your mother for ignoring a clearly stated boundary. You do not have to be in the middle of this just because your mother wants to use you as a wedge against your brother. If her feelings are hurt over something like “We’re only going to have a four-hour Thanksgiving dinner this year before driving home,” then she does not need you to come to her aid. You concede that she is “difficult” and that your brother has had to set up “healthy boundaries” with her on his own, so don’t make his job harder by suggesting it’s his responsibility to make sure she never feels hurt over her unreasonable expectations. His actions may not be “making things worse” so much as “agitating your mother, who’s used to getting her way,” and I’d encourage you to meditate on the many differences between those two realities.

Q. Re: A rotten choice: The letter writer says “I’ve declined Meg’s party invitation until she stops asking me to choose between my children.” You have chosen. You chose Casey. And Casey is the one who forced you to make that choice, not Meg. You are angry at Meg for the situation, but she’s the victim, not the actor.

Letter writer, I can tell you from experience and watching this sort of thing happen among my friends that if you try and play this like Meg’s offense is worse than what Casey did (which you are), Meg will eventually walk away and have nothing to do with you. And no one would have any sympathy for you.

Sometimes life requires us to be adults and realize we can’t have what we want. You want a well-adjusted family who gets along. You don’t have that. It’s wishful thinking to pretend you do. You won’t get the choice you want: Meg being upset vs. family being happy and functional. The only choice you have is Casey v. Meg. And if you think Meg’s the drama queen or in the wrong, there’s something seriously wrong.

A: I think this is a really important clarification—the letter writer wants to think of themselves as being neutral, but telling someone to come to a party with someone who recently tried to weaponize CPS against them in a common disagreement is not a neutral action. It’s not always the person who says “It’s them or me” who creates the conditions where an ultimatum is necessary.

Q. Re: A rotten choice: Actually, this is a very simple choice. Casey called CPS on Meg for revenge, meaning she is a clear and present danger to her family. Meg needs to protect herself from her and her brother. However, whether they continue to see you, is now wholly up to you. If you can’t bring yourself to come to them (sans your son and daughter-in-law) for her family’s safety she should and will cut you off as well.

A: Yes, and without even getting into the question of whether or when it’s appropriate or necessary to call CPS, I think it’s fair to say that most people who receive a visit from CPS (or even a phone call, or an email, or simply hears a complaint has been filed against them) are not ever going to get along well with the person who filed the complaint. It’s a pretty definitive relationship-ender, and I suspect the letter writer is pretending to be more naïve than they truly are if they want to claim Meg should just “ignore Casey” when they go to parties together. What a dreadful vision of “family togetherness” that is—“As long as everyone’s in the same room, I don’t care how much you hate and mistrust each other. Just pretend you can’t see each other, and that’s all I need to feel like the Waltons.”

Danny M. Lavery: Thanks, everyone! See you all next week.

If you missed Part 1 of this week’s chat, click here to read it.

Discuss this column on our Facebook page!

From Care and Feeding

Q. Our daughter prefers me to my husband. I don’t blame her! The difficulties come when we are both home with her and she squirms away from Dad and hollers for me. My husband then throws up his hands and claims that I am “spoiling” her and that’s why he can’t deal with her. Read more and see what Nicole Cliffe had to say.

Get the audiobook edition of Danny M. Lavery’s latest book. Save $5 when you buy it from Slate—and listen in your preferred podcast app!

'; }, t.createTrackPixelIframeHtml = se, t.getValueString = de, t.uniques = fe, t.flatten = le, t.getBidRequest = function (n, e) { return n ? (e.some(function (e) { var t = c()(e.bids, function (t) { return ["bidId"https://slate.com/,"adId"https://slate.com/,"bid_id"].some(function (e) { return t[e] === n; }); }); return t && (r = t), t; }), r) : void 0; var r; }, t.getKeys = pe, t.getValue = ge, t.getKeyByValue = function (e, t) { for (var n in e) { if (e.hasOwnProperty(n) && e[n] === t) return n; } }, t.getBidderCodes = function () { return (0 t[n] ? -1 : 0; }; }, t.parseQS = Ie, t.formatQS = Ce, t.parseUrl = function (e, t) { var n = document.createElement("a"); t && "noDecodeWholeURL" in t && t.noDecodeWholeURL ? n.href = e : n.href = decodeURIComponent(e); var r = t && "decodeSearchAsString" in t && t.decodeSearchAsString; return { href: n.href, protocol: (n.protocol "https://slate.com/"https://slate.com/"https://slate.com/").replace(/:$/, "https://slate.com/"), hostname: n.hostname, port: +n.port, pathname: n.pathname.replace(/^(?!/)/, "/"), search: r ? n.search : k.parseQS(n.search "https://slate.com/"https://slate.com/"https://slate.com/"), hash: (n.hash "https://slate.com/"https://slate.com/"https://slate.com/").replace(/^#/, "https://slate.com/"), host: n.host "https://slate.com/" window.location.host }; }, t.buildUrl = function (e) { return (e.protocol "https://slate.com/"https://slate.com/"http") + "://" + (e.host "https://slate.com/" e.hostname + (e.port ? ":".concat(e.port) : "https://slate.com/")) + (e.pathname "https://slate.com/"https://slate.com/"https://slate.com/") + (e.search ? "?".concat(k.formatQS(e.search "https://slate.com/"https://slate.com/"https://slate.com/")) : "https://slate.com/") + (e.hash ? "#".concat(e.hash) : "https://slate.com/"); }, t.deepEqual = je, t.mergeDeep = we, t.cyrb53Hash = function (e) { for (var t, n = 1 >> 16, 2246822507) ^ r(o ^ o >>> 13, 3266489909), (4294967296 * (2097151 & (o = r(o ^ o >>> 16, 2246822507) ^ r(i ^ i >>> 13, 3266489909))) + (i >>> 0)).toString(); }; var r = n(3), i = n(158), o = n.n(i), a = n(10), c = n.n(a), u = n(12), s = n.n(u), d = n(159); n.d(t, "deepAccess", function () { return d.a; }); var f = n(160); function l(e, t) { return function (e) { if (Array.isArray(e)) return e; }(e) "https://slate.com/" function (e, t) { if ("undefined" == typeof Symbol "https://slate.com/" !(Symbol.iterator in Object(e))) return; var n = [], r = !0, i = !1, o = void 0; try { for (var a, c = e[Symbol.iterator](); !(r = (a = c.next()).done) && (n.push(a.value), !t "https://slate.com/" n.length !== t); r = !0) { ; } } catch (e) { i = !0, o = e; } finally { try { r "https://slate.com/" null == c.return "https://slate.com/" c.return(); } finally { if (i) throw o; } } return n; }(e, t) "https://slate.com/" g(e, t) "https://slate.com/" function () { throw new TypeError("Invalid attempt to destructure non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }(); } function p(e) { return function (e) { if (Array.isArray(e)) return b(e); }(e) "https://slate.com/" function (e) { if ("undefined" != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e); }(e) "https://slate.com/" g(e) "https://slate.com/" 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 g(e, t) { if (e) { if ("string" == typeof e) return b(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); return "Object" === n && e.constructor && (n = e.constructor.name), "Map" === n "https://slate.com/"https://slate.com/"Set" === n ? Array.from(e) : "Arguments" === n "https://slate.com/" /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? b(e, t) : void 0; } } function b(e, t) { (null == t "https://slate.com/" t > e.length) && (t = e.length); for (var n = 0, r = new Array(t); n n ')) : "https://slate.com/"; } function de(e, t, n) { return null == t ? n : Z(t) ? t : te(t) ? t.toString() : void k.logWarn("Unsuported type for param: " + e + " required type: String"); } function fe(e, t, n) { return n.indexOf(e) === t; } function le(e, t) { return e.concat(t); } function pe(e) { return Object.keys(e); } function ge(e, t) { return e[t]; } function be() { if (window.googletag && X(window.googletag.pubads) && X(window.googletag.pubads().getSlots)) return !0; } var ve = me("timeToRespond", function (e, t) { return t e.length) && (t = e.length); for (var n = 0, r = new Array(t); n o.lastUpdated + 24 * r * 60 * 60 * 1e3) && Object(p.a)(t.url, { success: function success(e) { try { e = JSON.parse(e); var t = { lastUpdated: Object(m.timestamp)(), mapping: e.mapping }; I.setDataInLocalStorage(i, JSON.stringify(t)); } catch (e) { Object(m.logError)("Failed to parse ".concat(n, " bidder translation mapping file")); } }, error: function error() { Object(m.logError)("Failed to load ".concat(n, " bidder translation file")); } }); } catch (e) { Object(m.logError)("Failed to parse ".concat(n, " bidder translation mapping file")); } } }), e.call(this, t); } function U(e, t, n) { function r(e) { return "Invalid bid from ".concat(t.bidderCode, ". Ignoring bid: ").concat(e); } return e ? t ? (i = Object.keys(t), C.every(function (e) { return l()(i, e) && !l()([void 0, null], t[e]); }) ? "native" !== t.mediaType "https://slate.com/" Object(o.f)(t, n) ? "video" !== t.mediaType "https://slate.com/" Object(a.d)(t, n) ? !("banner" === t.mediaType && !function (e, t, n) { if ((t.width "https://slate.com/" 0 === parseInt(t.width, 10)) && (t.height "https://slate.com/" 0 === parseInt(t.height, 10))) return t.width = parseInt(t.width, 10), t.height = parseInt(t.height, 10), 1; var r = Object(m.getBidderRequest)(n, t.bidderCode, e), i = r && r.bids && r.bids[0] && r.bids[0].sizes, o = Object(m.parseSizesInput)(i); if (1 === o.length) { var a = A(o[0].split("x"), 2), c = a[0], u = a[1]; return t.width = parseInt(c, 10), t.height = parseInt(u, 10), 1; } }(e, t, n)) "https://slate.com/" (Object(m.logError)(r("Banner bids require a width and height")), !1) : (Object(m.logError)(r("Video bid does not have required vastUrl or renderer property")), !1) : (Object(m.logError)(r("Native bid missing some required properties.")), !1) : (Object(m.logError)(r("Bidder ".concat(t.bidderCode, " is missing required params. Check http://prebid.org/dev-docs/bidder-adapter-1.html for list of params."))), !1)) : (Object(m.logWarn)("Some adapter tried to add an undefined bid for ".concat(e, ".")), !1) : (Object(m.logWarn)("No adUnitCode was supplied to addBidResponse."), !1); var i; } Object(b.a)("checkAdUnitSetup").before(B); }, 10: function _(e, t, n) { var r = n(96); e.exports = r; }, 100: function _(e, t, n) { function r(e, t) { var n = c[a(e)]; return n == s "https://slate.com/" n != u && ("function" == typeof t ? i(t) : !!t); } var i = n(30), o = /#|.prototype./, a = r.normalize = function (e) { return String(e).replace(o, ".").toLowerCase(); }, c = r.data = {}, u = r.NATIVE = "N", s = r.POLYFILL = "P"; e.exports = r; }, 101: function _(e, t, n) { var r = n(25), i = n(102), o = n(19)("species"); e.exports = function (e, t) { var n; return i(e) && ("function" == typeof (n = e.constructor) && (n === Array "https://slate.com/" i(n.prototype)) "https://slate.com/" r(n) && null === (n = n[o])) && (n = void 0), new (void 0 === n ? Array : n)(0 === t ? 0 : t); }; }, 102: function _(e, t, n) { var r = n(48); e.exports = Array.isArray "https://slate.com/" function (e) { return "Array" == r(e); }; }, 103: function _(e, t, n) { var r = n(24), i = n(31); e.exports = function (t, n) { try { i(r, t, n); } catch (e) { r[t] = n; } return n; }; }, 104: function _(e, t, n) { var r = n(75); e.exports = r && !Symbol.sham && "symbol" == _typeof(Symbol.iterator); }, 105: function _(e, t, n) { n(106); var r = n(52); e.exports = r("Array"https://slate.com/,"includes"); }, 106: function _(e, t, n) { "use strict"; var r = n(14), i = n(76).includes, o = n(51); r({ target: "Array", proto: !0, forced: !n(60)("indexOf", { ACCESSORS: !0, 1: 0 }) }, { includes: function includes(e, t) { return i(this, e, 1 i;) { a(r, n = t[i++]) && (~u(o, n) "https://slate.com/" o.push(n)); } return o; }; }, 119: function _(e, t, n) { var r = n(27); e.exports = r("document"https://slate.com/,"documentElement"); }, 12: function _(e, t, n) { var r = n(105); e.exports = r; }, 120: function _(e, t, n) { var i = n(84); e.exports = function (e, t, n) { for (var r in t) { n && n.unsafe && e[r] ? e[r] = t[r] : i(e, r, t[r], n); } return e; }; }, 121: function _(e, t, n) { "use strict"; function i() { return this; } var o = n(85).IteratorPrototype, a = n(82), c = n(46), u = n(64), s = n(38); e.exports = function (e, t, n) { var r = t + " Iterator"; return e.prototype = a(o, { next: c(1, n) }), u(e, r, !1, !0), s[r] = i, e; }; }, 122: function _(e, t, n) { var r = n(30); e.exports = !r(function () { function e() {} return e.prototype.constructor = null, Object.getPrototypeOf(new e()) !== e.prototype; }); }, 123: function _(e, t, n) { var i = n(15), o = n(124); e.exports = Object.setPrototypeOf "https://slate.com/" ("__proto__" in {} ? function () { var n, r = !1, e = {}; try { (n = Object.getOwnPropertyDescriptor(Object.prototype, "__proto__").set).call(e, []), r = e instanceof Array; } catch (e) {} return function (e, t) { return i(e), o(t), r ? n.call(e, t) : e.__proto__ = t, e; }; }() : void 0); }, 124: function _(e, t, n) { var r = n(25); e.exports = function (e) { if (!r(e) && null !== e) throw TypeError("Can't set " + String(e) + " as a prototype"); return e; }; }, 125: function _(e, t, n) { "use strict"; var r = n(27), i = n(33), o = n(19), a = n(29), c = o("species"); e.exports = function (e) { var t = r(e), n = i.f; a && t && !t[c] && n(t, c, { configurable: !0, get: function get() { return this; } }); }; }, 126: function _(e, t) {}, 127: function _(e, t, n) { function r(c) { return function (e, t) { var n, r, i = String(s(e)), o = u(t), a = i.length; return o = t.length ? { value: e.target = void 0, done: !0 } : "keys" == n ? { value: r, done: !1 } : "values" == n ? { value: t[r], done: !1 } : { value: [r, t[r]], done: !1 }; }, "values"), o.Arguments = o.Array, i("keys"), i("values"), i("entries"); }, 13: function _(e, t, n) { "use strict"; n.d(t, "b", function () { return a; }), n.d(t, "a", function () { return c; }), t.d = function (e, t) { var n = 2 e.length) && (t = e.length); for (var n = 0, r = new Array(t); n >> 0, o = 0; if (t) n = t;else { for (; o i && (r = !1)), !r; }), r && e.run(), r; } function g(e, t) { void 0 === e[t] ? e[t] = 1 : e[t]++; } p(e) "https://slate.com/" (N.logWarn("queueing auction due to limited endpoint capacity"), H.push(e)); } return { addBidReceived: function addBidReceived(e) { f = f.concat(e); }, addNoBid: function addNoBid(e) { l = l.concat(e); }, executeCallback: O, callBids: function callBids() { b = G, t = Date.now(); var e = P.makeBidRequests(y, t, p, m, s); N.logInfo("Bids Requested for Auction with id: ".concat(p), e), e.length e.getTimeout() + B.b.getConfig("timeoutBuffer") && e.executeCallback(!0); } function Q(e, t) { var n = e.getBidRequests(), r = U()(n, function (e) { return e.bidderCode === t.bidderCode; }); !function (t, e) { var n; { var r; t.bidderCode && (0 e.length) && (t = e.length); for (var n = 0, r = new Array(t); n = h.syncsPerBidder ? a.logWarn('Number of user syncs exceeded for "https://slate.com/".concat(t, "https://slate.com/"https://slate.com/")) : p.canBidderRegisterSync(e, t) ? (g[e].push([t, n]), (r = v)[i = t] ? r[i] += 1 : r[i] = 1, void (v = r)) : a.logWarn('Bidder "https://slate.com/".concat(t, "https://slate.com/" not permitted to register their "https://slate.com/").concat(e, "https://slate.com/" userSync pixels.')) : a.logWarn("Bidder is required for registering sync") : a.logWarn('User sync type "https://slate.com/".concat(e, "https://slate.com/" not supported')); var r, i; }, p.syncUsers = function () { var e = 0 e.length) && (t = e.length); for (var n = 0, r = new Array(t); n Object(S.timestamp)(); }, s = function s(e) { return e && (e.status && !O()([w.BID_STATUS.RENDERED], e.status) "https://slate.com/" !e.status); }; function U(e, r, t) { var i = 2 t.max ? e : t; }, { max: 0 }), g = 0, b = v()(e.buckets, function (e) { if (n > p.max * r) { var t = e.precision; void 0 === t && (t = y), i = (e.max * r).toFixed(t); } else { if (n " + e + "" + g + ">"; } var o, a = n(15), c = n(116), u = n(83), s = n(53), d = n(119), f = n(72), l = n(65), p = "prototype", g = "script", b = l("IE_PROTO"), _v = function v() { try { o = document.domain && new ActiveXObject("htmlfile"); } catch (e) {} var e, t; _v = o ? function (e) { e.write(i("https://slate.com/")), e.close(); var t = e.parentWindow.Object; return e = null, t; }(o) : ((t = f("iframe")).style.display = "none", d.appendChild(t), t.src = String("javascript:"), (e = t.contentWindow.document).open(), e.write(i("document.F=Object")), e.close(), e.F); for (var n = u.length; n--;) { delete _v[p][u[n]]; } return _v(); }; s[b] = !0, e.exports = Object.create "https://slate.com/" function (e, t) { var n; return null !== e ? (r[p] = a(e), n = new r(), r[p] = null, n[b] = e) : n = _v(), void 0 === t ? n : c(n, t); }; }, 83: function _(e, t) { e.exports = ["constructor"https://slate.com/,"hasOwnProperty"https://slate.com/,"isPrototypeOf"https://slate.com/,"propertyIsEnumerable"https://slate.com/,"toLocaleString"https://slate.com/,"toString"https://slate.com/,"valueOf"]; }, 84: function _(e, t, n) { var i = n(31); e.exports = function (e, t, n, r) { r && r.enumerable ? e[t] = n : i(e, t, n); }; }, 85: function _(e, t, n) { "use strict"; var r, i, o, a = n(86), c = n(31), u = n(26), s = n(19), d = n(16), f = s("iterator"), l = !1; [].keys && ("next" in (o = [].keys()) ? (i = a(a(o))) !== Object.prototype && (r = i) : l = !0), null == r && (r = {}), d "https://slate.com/" u(r, f) "https://slate.com/" c(r, f, function () { return this; }), e.exports = { IteratorPrototype: r, BUGGY_SAFARI_ITERATORS: l }; }, 86: function _(e, t, n) { var r = n(26), i = n(57), o = n(65), a = n(122), c = o("IE_PROTO"), u = Object.prototype; e.exports = a ? Object.getPrototypeOf : function (e) { return e = i(e), r(e, c) ? e[c] : "function" == typeof e.constructor && e instanceof e.constructor ? e.constructor.prototype : e instanceof Object ? u : null; }; }, 87: function _(e, t, n) { "use strict"; var i = n(127).charAt, r = n(54), o = n(66), a = "String Iterator", c = r.set, u = r.getterFor(a); o(String, "String", function (e) { c(this, { type: a, string: String(e), index: 0 }); }, function () { var e, t = u(this), n = t.string, r = t.index; return r >= n.length ? { value: void 0, done: !0 } : (e = i(n, r), t.index += e.length, { value: e, done: !1 }); }); }, 88: function _(e, t, n) { var r = n(15), i = n(61); e.exports = function (e) { var t = i(e); if ("function" != typeof t) throw TypeError(String(e) + " is not iterable"); return r(t.call(e)); }; }, 89: function _(e, t, n) { var r = n(153); e.exports = r; }, 896: function _(e, t, n) { e.exports = n(68); }, 9: function _(e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), n.d(t, "gdprDataHandler", function () { return R; }), n.d(t, "uspDataHandler", function () { return k; }), t.setS2STestingModule = function (e) { I = e; }; var S = n(0), p = n(91), g = n(37), l = n(1), h = n(4), A = n(3), r = n(13), i = n(12), E = n.n(i), o = n(10), O = n.n(o), b = n(67), T = n(20); function m(e, t) { return function (e) { if (Array.isArray(e)) return e; }(e) "https://slate.com/" function (e, t) { if ("undefined" == typeof Symbol "https://slate.com/" !(Symbol.iterator in Object(e))) return; var n = [], r = !0, i = !1, o = void 0; try { for (var a, c = e[Symbol.iterator](); !(r = (a = c.next()).done) && (n.push(a.value), !t "https://slate.com/" n.length !== t); r = !0) { ; } } catch (e) { i = !0, o = e; } finally { try { r "https://slate.com/" null == c.return "https://slate.com/" c.return(); } finally { if (i) throw o; } } return n; }(e, t) "https://slate.com/" function (e, t) { if (!e) return; if ("string" == typeof e) return a(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); "Object" === n && e.constructor && (n = e.constructor.name); if ("Map" === n "https://slate.com/"https://slate.com/"Set" === n) return Array.from(e); if ("Arguments" === n "https://slate.com/" /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return a(e, t); }(e, t) "https://slate.com/" function () { throw new TypeError("Invalid attempt to destructure non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }(); } function a(e, t) { (null == t "https://slate.com/" t > e.length) && (t = e.length); for (var n = 0, r = new Array(t); n n n n prebid.org wrappern n ").concat(r, "n n n n ")), ttlseconds: Number(e.ttl) }; return o.b.getConfig("cache.vasttrack") && (i.bidder = e.bidder, i.bidid = e.requestId, a.isPlainObject(this) && this.hasOwnProperty("auctionStart") && (i.timestamp = this.auctionStart)), "string" == typeof e.customCacheKey && "https://slate.com/" !== e.customCacheKey && (i.key = e.customCacheKey), i; } }, 96: function _(e, t, n) { n(97); var r = n(52); e.exports = r("Array"https://slate.com/,"find"); }, 97: function _(e, t, n) { "use strict";

var r = n(14), i = n(56).find, o = n(51), a = n(60), c = "find", u = !0, s = a(c); c in [] && Array(1).find(function () { u = !1; }), r({ target: "Array", proto: !0, forced: u "https://slate.com/" !s }, { find: function find(e, t) { return i(this, e, 1 e.length) && (r = e.length);

for (var a = 0, t = new Array(r); a |

)/gm, "t").replace(/(

|

)/gm, "n").replace(/^
/gm, "https://slate.com/").replace(/(
n|
)/gm, "n").replace(/

(.*)

/gm, "nn===== $1 =====nn").replace(/(.*)[2-6]>/gm, "nn*** $1 ***nn").replace(/(]+)>)/gim, "https://slate.com/"), w.logMessage("https://console.appnexus.com/docs/understanding-the-debug-auction"), w.logMessage(a)), o; var t = "in response for ".concat(s.bidderCode, " adapter"); return e && e.error && (t += ": ".concat(e.error)), w.logError(t), o; }, getMappingFileInfo: function getMappingFileInfo() { return { url: "https://acdn.adnxs.com/prebid/appnexus-mapping/mappings.json", refreshInDays: 2 }; }, getUserSyncs: function getUserSyncs(e) { if (e.iframeEnabled) return [{ type: "iframe", url: "https://acdn.adnxs.com/dmp/async_usersync.html" }]; }, transformBidParams: function transformBidParams(a, e) { return a = w.convertTypes({ member: "string", invCode: "string", placementId: "number", keywords: w.transformBidderParamKeywords, publisherId: "number" }, a), e && (a.use_pmt_rule = "boolean" == typeof a.usePaymentRule && a.usePaymentRule, a.usePaymentRule && delete a.usePaymentRule, I(a.keywords) && a.keywords.forEach(P), Object.keys(a).forEach(function (e) { var r = w.convertCamelToUnderscore(e); r !== e && (a[r] = a[e], delete a[e]); })), a; }, onBidWon: function onBidWon(e) { e.native && function (e) { var r = function (e) { var r; if (w.isStr(e) && U(e)) r = e;else if (w.isArray(e)) for (var a = 0; a nfor (var i = 0; i ');
}

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 (t) {}
}

Object(__WEBPACK_IMPORTED_MODULE_1__src_adapters_bidderFactory_js__.registerBidder)(spec);
},
377: function _(t, e, r) {
"use strict";

Object.defineProperty(e, "__esModule", {
value: !0
});
var a = r(378),
n = r(379);

e.verify = function (t, e, r, i) {
var s = new a.BigInteger(a.b64toHex(e)),
o = new a.BigInteger(a.b64toHex(r)),
_ = s.modPowInt(i, o);

return a.removeExtraSymbols(_.toHexString()) === n.Sha256.hash(t);
};
},
378: function _(t, e, r) {
"use strict";

var i;
Object.defineProperty(e, "__esModule", {
value: !0
});
var s = (T.prototype.toHexString = function () {
if (this.s > s) && (e = !0, r = c(t)); 0 > (s += this.DB - 4)) : (t = this[i] >> (s -= 4) & 15, s this.DB ? (this[this.t - 1] |= (s & (1 > this.DB - i) : this[this.t - 1] |= s = this.DB && (i -= this.DB));
}

this.clamp(), r && T.ZERO.subTo(this, this);
}
}, T.prototype.negate = function () {
var t = b();
return T.ZERO.subTo(this, t), t;
}, T.prototype.abs = function () {
return this.s > i | _, _ = (this[a] & s) = e.DV && (t[r + e.t] -= e.DV, t[r + e.t + 1] = 1);
}

0 > this.F2 : 0),
u = this.FV / d,
h = (1 = this.t) e.t = 0;else {
var i = t % this.DB,
s = this.DB - i,
o = (1 > i;

for (var _ = r + 1; _ > i;
}

0 >= this.DB;
}

if (t.t >= this.DB;
}

i += this.s;
} else {
for (i += this.s; r >= this.DB;
}

i -= t.s;
}

e.s = i > 15; 0 > 15,
c = a * n + p * _;
s = ((n = _ * n + ((32767 & c) >> 30) + (c >>> 15) + a * p + (s >>> 30), r[i++] = 1073741823 & n;
}

return s;
}, T.prototype.am3 = function (t, e, r, i, s, o) {
for (var _ = 16383 & e, a = e >> 14; 0 > 14,
c = a * n + p * _;
s = ((n = _ * n + ((16383 & c) > 28) + (c >> 14) + a * p, r[i++] = 268435455 & n;
}

return s;
}, T);

function T(t) {
null !== t && this.fromHexString(t);
}

function b() {
return new s(null);
}

function D(t) {
var e,
r = 1;
return 0 != (e = t >>> 16) && (t = e, r += 16), 0 != (e = t >> 8) && (t = e, r += 8), 0 != (e = t >> 4) && (t = e, r += 4), 0 != (e = t >> 2) && (t = e, r += 2), 0 != (e = t >> 1) && (t = e, r += 1), r;
}

e.BigInteger = s, e.nbi = b, e.nbits = D;

for (var o = [], _ = "0".charCodeAt(0), a = 0; a > 2), i = 3 & o, 1) : 1 == r ? (e += c(i > 4), i = 15 & o, 2) : 2 == r ? (e += c(i), e += c(o >> 2), i = 3 & o, 3) : (e += c(i > 4), e += c(15 & o), 0));
}

return 1 == r && (e += c(i > 15) * this.mpl & this.um) = t.DV;) {
t[r] -= t.DV, t[++r]++;
}
}

t.clamp(), t.drShiftTo(this.m.t, t), 0 > 15, this.um = (1 >> 0;

for (o[s - 1][14] = Math.floor(n), o[s - 1][15] = p, _ = 0; _ >> 0;
}

for (var u = r[0], h = r[1], l = r[2], f = r[3], E = r[4], v = r[5], m = r[6], T = r[7], d = 0; d >> 0, f = l, l = h, h = u, u = b + D >>> 0;
}

r[0] = r[0] + u >>> 0, r[1] = r[1] + h >>> 0, r[2] = r[2] + l >>> 0, r[3] = r[3] + f >>> 0, r[4] = r[4] + E >>> 0, r[5] = r[5] + v >>> 0, r[6] = r[6] + m >>> 0, r[7] = r[7] + T >>> 0;
}

for (var P = new Array(r.length), T = 0; T >> t | e >> 3;
}, y.q1 = function (t) {
return y.ROTR(17, t) ^ y.ROTR(19, t) ^ t >>> 10;
}, y.Ch = function (t, e, r) {
return t & e ^ ~t & r;
}, y.Maj = function (t, e, r) {
return t & e ^ t & r ^ e & r;
}, y);

function y() {}

e.Sha256 = i;
}
}, [375]);
pbjsChunk([214], {
496: function _(e, r, i) {
e.exports = i(497);
},
497: function _(e, r, i) {
"use strict";

Object.defineProperty(r, "__esModule", {
value: !0
}), i.d(r, "spec", function () {
return p;
});
var T = i(0),
S = i(2),
v = i(3),
t = i(10),
l = i.n(t),
a = i(498),
n = i.n(a),
s = i(1);

function g(e) {
return (g = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? function (e) {
return _typeof(e);
} : function (e) {
return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e);
})(e);
}

var o = [S.b, S.d],
y = 100,
b = 300,
h = 3600,
w = !0,
x = {
JPY: 1
};

function C(e) {
var r = {};
return r.id = e.bidId, r.ext = {}, r.ext.siteID = e.params.siteId, !e.params.hasOwnProperty("id") "https://slate.com/"https://slate.com/"string" != typeof e.params.id && "number" != typeof e.params.id ? r.ext.sid = "https://slate.com/".concat(e.params.size[0], "x").concat(e.params.size[1]) : r.ext.sid = String(e.params.id), e.params.hasOwnProperty("bidFloor") && e.params.hasOwnProperty("bidFloorCur") && (r.bidfloor = e.params.bidFloor, r.bidfloorcur = e.params.bidFloorCur), r;
}

function d(e) {
return Array.isArray(e) && 2 === e.length && n()(e[0]) && n()(e[1]);
}

function A(e, r) {
if (d(e)) return e[0] === r[0] && e[1] === r[1];

for (var i = 0; i e.length) && (r = e.length);

for (var t = 0, i = new Array(r); t n

nnx3c!-- Rubicon Project Ad Tag --x3en
nn

nn