parenting advice from Care and Feeding. | #facebookdating | #tinder | #pof


Photo illustration by Slate. Photo by Getty Images Plus.

Care and Feeding is Slate’s parenting advice column. Have a question for Care and Feeding? Submit it here or post it in the Slate Parenting Facebook group.

Dear Care and Feeding,

We have a fourth grader who is generally an easy kid, well-behaved, and really fun. She does, however, like to sneak snacks. She is given a snack, like apple slices and peanut butter, after school and is allowed to watch TV for a little while. My husband and I are home all the time, but for us to notice that she’s grabbing a sleeve of cookies or extra granola bars, we would have to be in the kitchen, and we’re not always there. We’ve tried talking to her and grounding her; nothing works. Yesterday my husband agreed that she could have one breakfast bar as a snack and found out that she grabbed three. She’s a healthy kid—this isn’t about weight control or anything like that—but we have a history of hypoglycemia in the family, so I worry. Plus, I don’t like that when she has these snacks, she doesn’t eat much at dinner. But mostly, the sneaking just bothers me. I hate the thought of locking up food, but is that the only option left?

—Tired of the Sneakiness

Dear TotS,

If it’s really “mostly the sneaking” that bothers you, why are you setting her up so she has to sneak snacks? If you keep your house well stocked with healthy snacks and allow her to get herself one whenever she wants to, you will have solved the “sneaking” problem. And if the snacks she’s eating are healthy (actually healthy, like a piece of fruit or a bunch of sugar snap peas or baby carrots or a handful of nuts, not pretend-healthy, like a granola bar) what difference will it make if she doesn’t eat much at dinner? As long as she’s getting nutritious food when she feels hungry, her needs are being met. If what concerns you is that she’d miss out on family dinner—a fair concern, if you look forward to sitting down with her and your husband every evening to talk about how the day has gone—let her know that her presence is essential, whether or not she’s hungry. Family dinner is about more than food.

But this problem doesn’t sound like it’s about nutrition or family togetherness. It sounds like a control issue. You and your husband want to exert complete control over what and when your daughter eats, and she is finding ways to try to wrest some of that control from you. If the thought of letting her be in charge of her own food intake horrifies you, I would urge you to think hard about why you are keeping such a tight lid on it. (If you are truly worried about hypoglycemia, don’t keep cookies and granola bars and breakfast bars in the house at all. If many members of your family or your husband’s have a history of this health problem, you shouldn’t be relying on such high-sugar foods as snacks either.)

Locking up food is a terrible idea. It will only emphasize the lesson she’s already learned and is bucking hard against: that her parents are entirely in control of what, when, and how she nourishes herself. This cannot possibly end well.

If you missed Friday’s Care and Feeding column, read it here.

Discuss this column in the Slate Parenting Facebook group!

Dear Care and Feeding,

I gave birth to my first child several months ago. We are both healthy and she is a bright spot in this scary world. My pregnancy went fairly smoothly, though I did experience a lot of anxiety, which enflamed when the pandemic hit and skyrocketed when there was a bad, scary patch in the 34th week. But I went on to have a full-term, healthy little one and made a quick, full recovery, which has allowed me to make the most of my quarantine maternity leave.

A month after I gave birth, my best friend (who’s like a sister to me) found out she’s pregnant. I am ecstatic for her and also about the fact that our babies will be so close in age. She is about halfway through her pregnancy now, and I have become a sounding board for many of her frustrations and anxieties: If a co-worker makes a tactless comment about her bump, or she’s frustrated about her pregnancy-related symptoms or anxious about being pregnant at a time when everything is in turmoil, I’m always a text away to provide empathy and comfort. And I’m very glad I am. I want to be there for her. I remember how isolating and difficult it was to be pregnant during a pandemic! But 90 percent of the time, over texts or when we take (socially distanced) walks together, the conversation is all about her and her pregnancy. If I venture to talk about the strangeness of my own new life with my newborn, I feel like I’m being selfish or self-centered. It’s beginning to occur to me that I feel just as isolated now as I did while I was pregnant.

When I look back and think of all the stuff I had to keep to myself because there was no one who I felt would understand, I’m not only envious that she has me to talk to, but I also feel like I’m in the same predicament all over again. Having a baby is a wild experience, and doing it during a pandemic turns it up to 11. But our interactions are so focused on her pregnancy that my experience as a new mom takes a back seat to that. I’m starting to feel really jealous and frustrated. How do I make sense of that? I feel terrible for feeling this way, and the last thing I want to do is make my friend feel bad, but is there anything I can do? Can I bring this up without making her feel guilty?

—Frustrated in the Fourth Trimester

Dear Frustrated,

I am tremendously sympathetic, no doubt because I’ve been there—not in exactly this situation, but in a friendship that is unbalanced, in which I’ve been the one to listen, empathize, and offer help and support, and come to realize I wasn’t getting the support I needed in return. Instead of letting this fester and ending up having to sever the relationship, I think it’s time for you to 1) take matters into your own hands, and 2) recognize your part in this lopsided friendship. If you kept all of your struggles to yourself when you were pregnant, assuming your friend wouldn’t understand—or being unwilling to burden (or bore!) her—you didn’t give her the opportunity to step up to the plate and be the friend you needed.

So start now: Talk to her. Tell her what’s going on in your life. Stand up to your own (unhealthy) feelings of guilt and “self-centeredness” for needing to talk. I don’t think it’s necessary to make an announcement about this; I don’t think you need to tell your friend you’re tired of listening to her troubles all the time or that you’re jealous she has a friend like you and you don’t. Just start talking. If she won’t listen—if she changes the subject back to her own concerns—then what you’ve got is a nonfriendship. (That’s what happened to me; I realized there would never be a two-way street between me and my once-upon-a-time “best friend.”) I hope this isn’t what happens. I hope if you give her the opportunity to be a good friend to you, she will be. But you have to assert yourself! She has no idea how much you wish you could talk to her. Give it a try. Find out if she really is as good a friend to you as you are to her.

I have one more piece of advice for you: See if you can make some new friends too. Not to replace your best friend, but because it will help you a lot if you have some people to talk to who are going through what you are. When my daughter was born, all my closest friends were either single or married nonparents. I racked my brain to think of anyone I knew, even slightly, who’d had a child recently, and I came up with one: a friend of a friend I had met several times who’d had a baby the year before and whom I remembered as a warm, good-humored person. So I gathered up my nerve and called her, told her how isolated I felt, and threw myself on her mercy. And this kind soul put together a mother-baby group (as I recall, there were four pairs of us) and invited us to come over to her place that Friday. After which, once a week for a year or so, we all met up—just to be together and trade baby stories, travails, and hacks. None of us became close friends over the course of those weekly get-togethers (after all, we had nothing much in common except that we were new mothers), but I remember how much I looked forward to that hour or so together every week. (There was a friendship bonus in this too, as it helped to take some of the pressure off my closer friendships with others who didn’t want to hear about not sleeping through the night or nursing challenges or bouts of inconsolable crying—my baby’s or mine.)

Help! How can I support Slate so I can keep reading all the advice from Dear Prudence, Care and Feeding, Ask a Teacher, and How to Do It? Answer: Join Slate Plus.

Dear Care and Feeding,

With COVID, I have been hesitant to meet anyone new—but I did find someone online and we started spending time together. I have been single for a long time, so it feels like a big deal. He is wonderful! He has a preschool-age son and was upfront about that (which I appreciated). I love children and don’t mind dating someone with a child. He seems to be a doting and attentive father, and he told me early on that he has a great relationship with his ex-wife. (They’re separated but not divorced.)

But I’m uncomfortable for two reasons and unsure if I should continue seeing him. First, he seems to be very close to his ex (pre-pandemic they hung out together with the same friends, and they still talk regularly); the other night when I was at his place, he was texting with her. And just last night, he told me a funny story she had told him, and it seemed strange to me that they had been talking about something together that was unrelated to their son—and also that he was telling me, as though we were all friends. He talks about her a lot. I’m ready to settle down, get married, and have kids, and I don’t want to invest in someone who is still so close to his ex. But I’m not sure if that’s unreasonable or not, especially since they have a child together. I am trying to be understanding about that.

The other problem? The child’s behavior is terrible! I haven’t met him, but all the stories I hear seem to indicate that he has no boundaries and is disrespectful. I’m not a fan of the level of leniency and the lack of a schedule his parents offer him, which seem to have led to the child doing, saying, and getting anything he wants at any time. The parents also trade off every two days and occasionally still do things as a family (they attend the child’s friends’ birthday parties and play dates together), which I feel might be confusing for their son. The inconsistency—are his parents together, or are they not?—may be partially responsible for the child’s behavior, and I feel like they allow it because they feel guilty about having separated. Logically I know that it’s great there isn’t parental conflict, but I still don’t feel good about this. It seems the only “separation” between these parents is that they don’t sleep together anymore and they live in separate houses—and the father is dating someone, though the child doesn’t know that. The child is constantly being shuffled around and sometimes has one parent with him and other times has both. That doesn’t seem great, does it?

Obviously, as a new girlfriend who hasn’t been in the picture long, I haven’t shared my discomfort with their parenting style or their relationship because it isn’t my place to judge (or, more accurately, it isn’t my place to share my judgment—because, as hard as I’m trying not to, I am judging). At the same time, I do worry that if things go further with this guy, I’m going to want to share some of these feelings and he will wonder why I waited so long—or he’ll decide that continuing the relationship with me is not worth the disruption to his family. Do I keep seeing him and keep my mouth shut? Do I tell him how I feel? Or do I recognize that it probably won’t work, and end things now?

—Third Wheel in Missouri

Dear Third Wheel,

I’m sorry to be the one to tell you this, because I can see how excited you are to have met someone you like so much after being single for a long time, but you are not dating a man with an “ex-wife.” You’re dating a man who is separated from his wife and still very much involved with her, either for the sake of their child or because he is still attached to her and cares about her—or both. (My bet is on “both.”) They may end up getting divorced or they may not (there is a reason there is a word for this in-between state between “married” and “divorced”), and I would say there is a near–100 percent chance that even if they do divorce, they will remain close. It sounds to me like this would be intolerable to you.

And by the way: It is not confusing for a child whose parents have separated to spend time with them separately as well as together—it’s good for the child. As far as the child’s behavior goes, you know nothing about it. You may be hearing the ordinary complaints of any parent letting off steam when his kid isn’t around, or you may be misinterpreting what you’re hearing. Of course it’s possible you’re right and the child might exhibit “terrible behavior,” but your opinions about the way your boyfriend and his wife (not ex) are raising their son are—I’m sorry to be the one to tell you this too—none of your business.

The only person who is dissatisfied with the current situation is you. I’m not suggesting that you shouldn’t be dissatisfied—it seems clear that this guy isn’t fully available, if he is in fact available at all. You ask what would happen if you held off telling him how unhappy you are about the situation as it stands now and whether he would decide that your relationship isn’t worth the disruption to his family—but I think you’ve answered your own question. He is not going to disrupt his family: They are his first priority, and I 100 percent guarantee he would not want to hear your opinion of his son’s behavior.

Bottom line? Yes: Recognize (but haven’t you already?) that this is not going to work—not on the terms you want it to—and get out now while the getting’s good.

—Michelle

More Advice From Slate

My sister and her fiancé have been together for more than six years and everyone in my family adores him. I, on the other hand, am not so fond of him. He’s a mooch at best. Should I speak up?

'; }, t.createTrackPixelIframeHtml = de, t.getValueString = fe, t.uniques = le, t.flatten = pe, t.getBidRequest = function (n, e) { return n ? (e.some(function (e) { var t = s()(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 = ge, t.getValue = ye, 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 = je, t.formatQS = we, 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 = Ce, t.mergeDeep = xe; var r = n(3), o = n(167), i = n.n(o), a = n(168), c = n.n(a), u = n(11), s = n.n(u), d = n(12), f = n.n(d), l = n(182); n.d(t, "deepAccess", function () { return l.a; }); var p = n(183); function g(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, o = !1, i = 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) { o = !0, i = e; } finally { try { r "https://slate.com/" null == c.return "https://slate.com/" c.return(); } finally { if (o) throw i; } } return n; }(e, t) "https://slate.com/" b(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 y(e) { return function (e) { if (Array.isArray(e)) return v(e); }(e) "https://slate.com/" function (e) { if ("undefined" != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e); }(e) "https://slate.com/" b(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 b(e, t) { if (e) { if ("string" == typeof e) return v(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) ? v(e, t) : void 0; } } function v(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 fe(e, t, n) { return null == t ? n : ee(t) ? t : ne(t) ? t.toString() : void k.logWarn("Unsuported type for param: " + e + " required type: String"); } function le(e, t, n) { return n.indexOf(e) === t; } function pe(e, t) { return e.concat(t); } function ge(e) { return Object.keys(e); } function ye(e, t) { return e[t]; } function be() { if (window.googletag && Z(window.googletag.pubads) && Z(window.googletag.pubads().getSlots)) return !0; } var ve = Se("timeToRespond", function (e, t) { return t e.length) && (t = e.length); for (var n = 0, r = new Array(t); n i.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 }; T.setDataInLocalStorage(o, 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 _(e, t, n) { function r(e) { return "Invalid bid from ".concat(t.bidderCode, ". Ignoring bid: ").concat(e); } return e ? t ? (o = Object.keys(t), j.every(function (e) { return l()(o, e) && !l()([void 0, null], t[e]); }) ? "native" !== t.mediaType "https://slate.com/" Object(i.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), o = r && r.bids && r.bids[0] && r.bids[0].sizes, i = Object(m.parseSizesInput)(o); if (1 === i.length) { var a = A(i[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 o; } Object(y.a)("checkAdUnitSetup").before(U); }, function (e, t, n) { "use strict"; n.d(t, "c", function () { return r; }), n.d(t, "d", function () { return o; }), n.d(t, "b", function () { return i; }), n.d(t, "a", function () { return a; }); var r = "native", o = "video", i = "banner", a = "adpod"; }, function (e, t, n) { "use strict"; n.d(t, "a", function () { return v; }), n.d(t, "b", function () { return j; }); var r = n(45), o = n(11), a = n.n(o), i = n(12), c = n.n(i), u = n(80), s = n.n(u), d = n(0); function f() { return (f = Object.assign "https://slate.com/" function (e) { for (var t = 1; t e.length) && (t = e.length); for (var n = 0, r = new Array(t); n e.length) && (t = e.length); for (var n = 0, r = new Array(t); n o && (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/" (D.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() { y = G, t = Date.now(); var e = N.makeBidRequests(v, t, p, m, s); D.logInfo("Bids Requested for Auction with id: ".concat(p), e), e.length e.getTimeout() + U.b.getConfig("timeoutBuffer") && e.executeCallback(!0); } function Y(e, t) { var n = e.getBidRequests(), r = _()(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 Object(v.timestamp)(); }, d = function d(e) { return e && (e.status && !S()([I.BID_STATUS.RENDERED], e.status) "https://slate.com/" !e.status); }; function w(e, r, t) { var o = 2 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 = b)[o = t] ? r[o] += 1 : r[o] = 1, void (b = 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, o; }, p.syncUsers = function () { var e = 0 t.max ? e : t; }, { max: 0 }), g = 0, y = b()(e.buckets, function (e) { if (n > p.max * r) { var t = e.precision; void 0 === t && (t = v), o = (e.max * r).toFixed(t); } else { if (n " + e + "" + g + ">"; } var i, a = n(15), c = n(125), u = n(86), s = n(53), d = n(128), f = n(75), l = n(65), p = "prototype", g = "script", y = l("IE_PROTO"), _b = function b() { try { i = document.domain && new ActiveXObject("htmlfile"); } catch (e) {} var e, t; _b = i ? function (e) { e.write(o("https://slate.com/")), e.close(); var t = e.parentWindow.Object; return e = null, t; }(i) : ((t = f("iframe")).style.display = "none", d.appendChild(t), t.src = String("javascript:"), (e = t.contentWindow.document).open(), e.write(o("document.F=Object")), e.close(), e.F); for (var n = u.length; n--;) { delete _b[p][u[n]]; } return _b(); }; s[y] = !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[y] = e) : n = _b(), void 0 === t ? n : c(n, t); }; }, 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"]; }, function (e, t, n) { var o = n(29); e.exports = function (e, t, n, r) { r && r.enumerable ? e[t] = n : o(e, t, n); }; }, function (e, t, n) { "use strict"; var r, o, i, a = n(89), c = n(29), u = n(24), s = n(19), d = n(16), f = s("iterator"), l = !1; [].keys && ("next" in (i = [].keys()) ? (o = a(a(i))) !== Object.prototype && (r = o) : 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 }; }, function (e, t, n) { var r = n(24), o = n(57), i = n(65), a = n(131), c = i("IE_PROTO"), u = Object.prototype; e.exports = a ? Object.getPrototypeOf : function (e) { return e = o(e), r(e, c) ? e[c] : "function" == typeof e.constructor && e instanceof e.constructor ? e.constructor.prototype : e instanceof Object ? u : null; }; }, function (e, t, n) { "use strict"; var o = n(136).charAt, r = n(54), i = n(66), a = "String Iterator", c = r.set, u = r.getterFor(a); i(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 = o(n, r), t.index += e.length, { value: e, done: !1 }); }); }, function (e, t, n) { var r = n(15), o = n(61); e.exports = function (e) { var t = o(e); if ("function" != typeof t) throw TypeError(String(e) + " is not iterable"); return r(t.call(e)); }; }, function (e, t, n) { var r = n(162); e.exports = r; }, function (e, t, n) { "use strict"; var r = Array.prototype.slice, o = n(94), i = Object.keys, a = i ? function (e) { return i(e); } : n(169), c = Object.keys; a.shim = function () { return Object.keys ? function () { var e = Object.keys(arguments); return e && e.length === arguments.length; }(1, 2) "https://slate.com/" (Object.keys = function (e) { return o(e) ? c(r.call(e)) : c(e); }) : Object.keys = a, Object.keys "https://slate.com/" a; }, e.exports = a; }, function (e, t, n) { "use strict"; var r = Object.prototype.toString; e.exports = function (e) { var t = r.call(e); return "[object Arguments]" === t "https://slate.com/"https://slate.com/"[object Array]" !== t && null !== e && "object" == _typeof(e) && "number" == typeof e.length && 0 n n n prebid.org wrappern n ").concat(r, "n n n n ")), ttlseconds: Number(e.ttl) }; return i.b.getConfig("cache.vasttrack") && (o.bidder = e.bidder, o.bidid = e.requestId, a.isPlainObject(this) && this.hasOwnProperty("auctionStart") && (o.timestamp = this.auctionStart)), "string" == typeof e.customCacheKey && "https://slate.com/" !== e.customCacheKey && (o.key = e.customCacheKey), o; } },,, function (e, t, n) { n(106); var r = n(52); e.exports = r("Array"https://slate.com/,"find"); }, function (e, t, n) { "use strict";

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

return i; }; }, function (e, t, n) { var r = n(25); e.exports = r("document"https://slate.com/,"documentElement"); }, function (e, t, n) { var o = n(87);

e.exports = function (e, t, n) { for (var r in t) { n && n.unsafe && e[r] ? e[r] = t[r] : o(e, r, t[r], n); }

return e; }; }, function (e, t, n) { "use strict";

function o() { return this; }

var i = n(88).IteratorPrototype, a = n(85), c = n(46), u = n(64), s = n(36);

e.exports = function (e, t, n) { var r = t + " Iterator"; return e.prototype = a(i, { next: c(1, n) }), u(e, r, !1, !0), s[r] = o, e; }; }, function (e, t, n) { var r = n(28); e.exports = !r(function () { function e() {}

return e.prototype.constructor = null, Object.getPrototypeOf(new e()) !== e.prototype; }); }, function (e, t, n) { var o = n(15), i = n(133); 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 o(e), i(t), r ? n.call(e, t) : e.__proto__ = t, e; }; }() : void 0); }, function (e, t, n) { var r = n(23);

e.exports = function (e) { if (!r(e) && null !== e) throw TypeError("Can't set " + String(e) + " as a prototype"); return e; }; }, function (e, t, n) { "use strict";

var r = n(25), o = n(31), i = n(19), a = n(27), c = i("species");

e.exports = function (e) { var t = r(e), n = o.f; a && t && !t[c] && n(t, c, { configurable: !0, get: function get() { return this; } }); }; }, function (e, t) {}, function (e, t, n) { function r(c) { return function (e, t) { var n, r, o = String(s(e)), i = u(t), a = o.length; return i = 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"), i.Arguments = i.Array, o("keys"), o("values"), o("entries"); }, function (e, t) { e.exports = { CSSRuleList: 0, CSSStyleDeclaration: 0, CSSValueList: 0, ClientRectList: 0, DOMRectList: 0, DOMStringList: 0, DOMTokenList: 1, DataTransferItemList: 0, FileList: 0, HTMLAllCollection: 0, HTMLCollection: 0, HTMLFormElement: 0, HTMLSelectElement: 0, MediaList: 0, MimeTypeArray: 0, NamedNodeMap: 0, NodeList: 1, PaintRequestList: 0, Plugin: 0, PluginArray: 0, SVGLengthList: 0, SVGNumberList: 0, SVGPathSegList: 0, SVGPointList: 0, SVGStringList: 0, SVGTransformList: 0, SourceBufferList: 0, StyleSheetList: 0, TextTrackCueList: 0, TextTrackList: 0, TouchList: 0 }; }, function (e, t, n) { n(14)({ target: "Set", stat: !0 }, { from: n(141) }); }, function (e, t, n) { "use strict";

var s = n(18), d = n(21), f = n(17);

e.exports = function (e, t, n) { var r, o, i, a, c = arguments.length, u = 1 = n.length) { var a = u(r, n[i]); if (!(t "https://slate.com/" n[i] in r)) throw new c("base intrinsic for " + e + " exists, but the property is not available."); r = a ? a.get "https://slate.com/" a.value : r[n[i]]; } else r = r[n[i]]; }

return r; }; }, function (r, e, o) { "use strict";

(function (e) { var t = e.Symbol, n = o(175);

r.exports = function () { return "function" == typeof t && "function" == typeof Symbol && "symbol" == _typeof(t("foo")) && "symbol" == _typeof(Symbol("bar")) && n(); }; }).call(e, o(33)); }, function (e, t, n) { "use strict";

e.exports = function () { if ("function" != typeof Symbol "https://slate.com/"https://slate.com/"function" != typeof Object.getOwnPropertySymbols) return !1; if ("symbol" == _typeof(Symbol.iterator)) return !0; var e = {}, t = Symbol("test"), n = Object(t); if ("string" == typeof t) return !1; if ("[object Symbol]" !== Object.prototype.toString.call(t)) return !1; if ("[object Symbol]" !== Object.prototype.toString.call(n)) return !1;

for (t in (e[t] = 42, e)) { return !1; }

if ("function" == typeof Object.keys && 0 !== Object.keys(e).length) return !1; if ("function" == typeof Object.getOwnPropertyNames && 0 !== Object.getOwnPropertyNames(e).length) return !1; var r = Object.getOwnPropertySymbols(e); if (1 !== r.length "https://slate.com/" r[0] !== t) return !1; if (!Object.prototype.propertyIsEnumerable.call(e, t)) return !1;

if ("function" == typeof Object.getOwnPropertyDescriptor) { var o = Object.getOwnPropertyDescriptor(e, t); if (42 !== o.value "https://slate.com/" !0 !== o.enumerable) return !1; }

return !0; }; }, function (e, t, n) { "use strict";

var r = n(97), o = n(43);

e.exports = function () { var e = r(); return o(Object, { is: e }, { is: function is() { return Object.is !== e; } }), e; }; }, function (e, t, n) { "use strict";

var r = n(178), o = RegExp.prototype.exec, i = Object.getOwnPropertyDescriptor, a = Object.prototype.toString, c = "function" == typeof Symbol && "symbol" == _typeof(Symbol.toStringTag);

e.exports = function (e) { if (!e "https://slate.com/"https://slate.com/"object" != _typeof(e)) return !1; if (!c) return "[object RegExp]" === a.call(e); var t = i(e, "lastIndex"); return !(!t "https://slate.com/" !r(t, "value")) && function (e) { try { var t = e.lastIndex; return e.lastIndex = 0, o.call(e), !0; } catch (e) { return !1; } finally { e.lastIndex = t; } }(e); }; }, function (e, t, n) { "use strict";

var r = n(67); e.exports = r.call(Function.call, Object.prototype.hasOwnProperty); }, function (e, t, n) { "use strict";

var r = n(43), o = n(95), i = n(98), a = n(99), c = n(180), u = o(i); r(u, { getPolyfill: a, implementation: i, shim: c }), e.exports = u; }, function (e, t, n) { "use strict";

var r = n(43).supportsDescriptors, o = n(99), i = Object.getOwnPropertyDescriptor, a = Object.defineProperty, c = TypeError, u = Object.getPrototypeOf, s = /a/;

e.exports = function () { if (!r "https://slate.com/" !u) throw new c("RegExp.prototype.flags requires a true ES5 environment that supports property descriptors"); var e = o(), t = u(s), n = i(t, "flags"); return n && n.get === e "https://slate.com/" a(t, "flags", { configurable: !0, enumerable: !1, get: e }), e; }; }, function (e, t, n) { "use strict";

var r = Date.prototype.getDay, o = Object.prototype.toString, i = "function" == typeof Symbol && "symbol" == _typeof(Symbol.toStringTag);

e.exports = function (e) { return "object" == _typeof(e) && null !== e && (i ? function (e) { try { return r.call(e), !0; } catch (e) { return !1; } }(e) : "[object Date]" === o.call(e)); }; }, function (e, t, n) { "use strict";

t.a = function (e, t, n, r, o) { for (t = t.split ? t.split(".") : t, r = 0; r >> 0, i = 0; if (t) n = t;else { for (; i e.length) && (r = e.length);

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

)/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/"), _.logMessage("https://console.appnexus.com/docs/understanding-the-debug-auction"), _.logMessage(t)), o; var a = "in response for ".concat(s.bidderCode, " adapter"); return e && e.error && (a += ": ".concat(e.error)), _.logError(a), 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/ib/static/usersync/v3/async_usersync.html" }]; }, transformBidParams: function transformBidParams(t, e) { return t = _.convertTypes({ member: "string", invCode: "string", placementId: "number", keywords: _.transformBidderParamKeywords, publisherId: "number" }, t), e && (t.use_pmt_rule = "boolean" == typeof t.usePaymentRule && t.usePaymentRule, t.usePaymentRule && delete t.usePaymentRule, R(t.keywords) && t.keywords.forEach(j), Object.keys(t).forEach(function (e) { var r = _.convertCamelToUnderscore(e);

r !== e && (t[r] = t[e], delete t[e]); })), t; }, onBidWon: function onBidWon(e) { e.native && function (e) { var r = function (e) { var r; if (_.isStr(e) && P(e)) r = e;else if (_.isArray(e)) for (var t = 0; t nfor (var i = 0; i '));else {
if (!0 === d.b.getConfig("enableSendAllBids")) return;
p.native = {
title: (t = e.native).products[0].title,
body: t.products[0].description,
sponsoredBy: t.advertiser.description,
icon: t.advertiser.logo,
image: t.products[0].image,
clickUrl: t.products[0].click_url,
privacyLink: t.privacy.optout_click_url,
privacyIcon: t.privacy.optout_image_url,
cta: t.products[0].call_to_action,
price: t.products[0].price,
impressionTrackers: t.impression_pixels.map(function (t) {
return t.url;
})
}, p.mediaType = h.c;
}
} else e.video ? (p.vastUrl = e.displayurl, p.mediaType = h.d) : p.ad = e.creative;
c.push(p);
}), c;
},
onTimeout: function onTimeout(t) {
T() && Criteo.PubTag.Adapters.Prebid.GetAdapter(t.auctionId).handleBidTimeout();
},
onBidWon: function onBidWon(t) {
T() && Criteo.PubTag.Adapters.Prebid.GetAdapter(t.auctionId).handleBidWon(t);
},
onSetTargeting: function onSetTargeting(t) {
T() && Criteo.PubTag.Adapters.Prebid.GetAdapter(t.auctionId).handleSetTargeting(t);
}
};

function T() {
return "undefined" != typeof Criteo && Criteo.PubTag && Criteo.PubTag.Adapters && Criteo.PubTag.Adapters.Prebid;
}

function C(t) {
return f.deepAccess(t, "mediaTypes.banner.sizes") "https://slate.com/" t.sizes;
}

function A(t, e) {
return Array.isArray(t[0]) ? t.map(function (t) {
return e(t);
}) : [e(t)];
}

function S(t) {
return t[0] + "x" + t[1];
}

function I(t) {
return void 0 === t[0] && void 0 === t[1] ? "2x2" : t[0] + "x" + t[1];
}

function R(t) {
return void 0 !== f.deepAccess(t, "params.video") && void 0 !== f.deepAccess(t, "mediaTypes.video");
}

function x() {
try {
var t,
e,
r,
i,
o,
n = "criteo_fast_bid",
s = "// Hash: ",
a = y.getDataFromLocalStorage(n);
null !== a && (t = a.indexOf("n"), (e = a.substr(0, t).trim()).substr(0, s.length) !== s ? (f.logWarn("No hash found in FastBid"), y.removeDataFromLocalStorage(n)) : (r = e.substr(s.length), i = a.substr(t + 1), Object(p.verify)(i, r, g, b) ? (f.logInfo("Using Criteo FastBid"), (o = document.createElement("script")).type = "text/javascript", o.text = i, f.insertElement(o)) : (f.logWarn("Invalid Criteo FastBid found"), y.removeDataFromLocalStorage(n))));
} catch (t) {}
}

Object(i.registerBidder)(s);
},
382: function _(t, e, r) {
"use strict";

Object.defineProperty(e, "__esModule", {
value: !0
});
var a = r(383),
p = r(384);

e.verify = function (t, e, r, i) {
var o = new a.BigInteger(a.b64toHex(e)),
n = new a.BigInteger(a.b64toHex(r)),
s = o.modPowInt(i, n);
return a.removeExtraSymbols(s.toHexString()) === p.Sha256.hash(t);
};
},
383: function _(t, e, r) {
"use strict";

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

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

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

for (var s = r + 1; s > 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 * p + u * s;
o = ((p = s * p + ((32767 & c) >> 30) + (c >>> 15) + a * u + (o >>> 30), r[i++] = 1073741823 & p;
}

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

return o;
}, g);

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

function T() {
return new o(null);
}

function C(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 = o, e.nbi = T, e.nbits = C;

for (var n = [], s = "0".charCodeAt(0), a = 0; a > 2), i = 3 & n, 1) : 1 == r ? (e += c(i > 4), i = 15 & n, 2) : 2 == r ? (e += c(i), e += c(n >> 2), i = 3 & n, 3) : (e += c(i > 4), e += c(15 & n), 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 (n[o - 1][14] = Math.floor(p), n[o - 1][15] = u, s = 0; s >> 0;
}

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

r[0] = r[0] + h >>> 0, r[1] = r[1] + f >>> 0, r[2] = r[2] + l >>> 0, r[3] = r[3] + m >>> 0, r[4] = r[4] + v >>> 0, r[5] = r[5] + y >>> 0, r[6] = r[6] + b >>> 0, r[7] = r[7] + g >>> 0;
}

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

function S() {}

e.Sha256 = i;
}
}, [380]);
pbjsChunk([187], {
481: function _(e, r, t) {
e.exports = t(482);
},
482: function _(e, r, t) {
"use strict";

Object.defineProperty(r, "__esModule", {
value: !0
}), t.d(r, "spec", function () {
return m;
});
var b = t(0),
y = t(2),
h = t(3),
i = t(11),
l = t.n(i),
a = t(483),
n = t.n(a),
s = t(1);

function v(e) {
return (v = "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 = [y.b, y.d],
g = 100,
w = 300,
x = 3600,
I = !0,
P = {
JPY: 1
};

function p(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 c(e, r) {
if (d(e)) return e[0] === r[0] && e[1] === r[1];

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

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

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

nn