aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorclarkzjw <[email protected]>2018-01-18 16:58:33 +0800
committerclarkzjw <[email protected]>2018-01-18 16:58:33 +0800
commit7a20a765926e3dc309f780ae8ce38b3b08a76860 (patch)
tree42c1095f16c3f624c54e7f07d4803337be804ce8
parent4ce94456c0cdac19d97ad9d8fe97a8b0239ec48e (diff)
downloadblog.jinwei.me-7a20a765926e3dc309f780ae8ce38b3b08a76860.tar.gz
+ fix footer
-rw-r--r--_static/w.js3929
-rw-r--r--_templates/layout.html19
2 files changed, 3942 insertions, 6 deletions
diff --git a/_static/w.js b/_static/w.js
new file mode 100644
index 0000000..e975f76
--- /dev/null
+++ b/_static/w.js
@@ -0,0 +1,3929 @@
1! function (e) {
2 function t(r) {
3 if (n[r]) return n[r].exports;
4 var o = n[r] = {
5 i: r,
6 l: !1,
7 exports: {}
8 };
9 return e[r].call(o.exports, o, o.exports, t), o.l = !0, o.exports
10 }
11 var n = {};
12 t.m = e, t.c = n, t.d = function (e, n, r) {
13 t.o(e, n) || Object.defineProperty(e, n, {
14 configurable: !1,
15 enumerable: !0,
16 get: r
17 })
18 }, t.n = function (e) {
19 var n = e && e.__esModule ? function () {
20 return e.default
21 } : function () {
22 return e
23 };
24 return t.d(n, "a", n), n
25 }, t.o = function (e, t) {
26 return Object.prototype.hasOwnProperty.call(e, t)
27 }, t.p = "", t(t.s = 28)
28}([function (e, t, n) {
29 "use strict";
30
31 function r() {}
32
33 function o(e, t) {
34 var n, o, i, a, s = N;
35 for (a = arguments.length; a-- > 2;) I.push(arguments[a]);
36 for (t && null != t.children && (I.length || I.push(t.children), delete t.children); I.length;)
37 if ((o = I.pop()) && void 0 !== o.pop)
38 for (a = o.length; a--;) I.push(o[a]);
39 else "boolean" == typeof o && (o = null), (i = "function" != typeof e) && (null == o ? o = "" : "number" == typeof o ? o = String(o) : "string" != typeof o && (i = !1)), i && n ? s[s.length - 1] += o : s === N ? s = [o] : s.push(o), n = i;
40 var c = new r;
41 return c.nodeName = e, c.children = s, c.attributes = null == t ? void 0 : t, c.key = null == t ? void 0 : t.key, void 0 !== E.vnode && E.vnode(c), c
42 }
43
44 function i(e, t) {
45 for (var n in t) e[n] = t[n];
46 return e
47 }
48
49 function a(e) {
50 !e._dirty && (e._dirty = !0) && 1 == U.push(e) && (E.debounceRendering || R)(s)
51 }
52
53 function s() {
54 var e, t = U;
55 for (U = []; e = t.pop();) e._dirty && T(e)
56 }
57
58 function c(e, t, n) {
59 return "string" == typeof t || "number" == typeof t ? void 0 !== e.splitText : "string" == typeof t.nodeName ? !e._componentConstructor && u(e, t.nodeName) : n || e._componentConstructor === t.nodeName
60 }
61
62 function u(e, t) {
63 return e.normalizedNodeName === t || e.nodeName.toLowerCase() === t.toLowerCase()
64 }
65
66 function l(e) {
67 var t = i({}, e.attributes);
68 t.children = e.children;
69 var n = e.nodeName.defaultProps;
70 if (void 0 !== n)
71 for (var r in n) void 0 === t[r] && (t[r] = n[r]);
72 return t
73 }
74
75 function f(e, t) {
76 var n = t ? document.createElementNS("http://www.w3.org/2000/svg", e) : document.createElement(e);
77 return n.normalizedNodeName = e, n
78 }
79
80 function m(e) {
81 var t = e.parentNode;
82 t && t.removeChild(e)
83 }
84
85 function p(e, t, n, r, o) {
86 if ("className" === t && (t = "class"), "key" === t);
87 else if ("ref" === t) n && n(null), r && r(e);
88 else if ("class" !== t || o)
89 if ("style" === t) {
90 if (r && "string" != typeof r && "string" != typeof n || (e.style.cssText = r || ""), r && "object" == typeof r) {
91 if ("string" != typeof n)
92 for (var i in n) i in r || (e.style[i] = "");
93 for (var i in r) e.style[i] = "number" == typeof r[i] && !1 === z.test(i) ? r[i] + "px" : r[i]
94 }
95 } else if ("dangerouslySetInnerHTML" === t) r && (e.innerHTML = r.__html || "");
96 else if ("o" == t[0] && "n" == t[1]) {
97 var a = t !== (t = t.replace(/Capture$/, ""));
98 t = t.toLowerCase().substring(2), r ? n || e.addEventListener(t, h, a) : e.removeEventListener(t, h, a), (e._listeners || (e._listeners = {}))[t] = r
99 } else if ("list" !== t && "type" !== t && !o && t in e) d(e, t, null == r ? "" : r), null != r && !1 !== r || e.removeAttribute(t);
100 else {
101 var s = o && t !== (t = t.replace(/^xlink\:?/, ""));
102 null == r || !1 === r ? s ? e.removeAttributeNS("http://www.w3.org/1999/xlink", t.toLowerCase()) : e.removeAttribute(t) : "function" != typeof r && (s ? e.setAttributeNS("http://www.w3.org/1999/xlink", t.toLowerCase(), r) : e.setAttribute(t, r))
103 } else e.className = r || ""
104 }
105
106 function d(e, t, n) {
107 try {
108 e[t] = n
109 } catch (e) {}
110 }
111
112 function h(e) {
113 return this._listeners[e.type](E.event && E.event(e) || e)
114 }
115
116 function _() {
117 for (var e; e = F.pop();) E.afterMount && E.afterMount(e), e.componentDidMount && e.componentDidMount()
118 }
119
120 function y(e, t, n, r, o, i) {
121 D++ || (M = null != o && void 0 !== o.ownerSVGElement, L = null != e && !("__preactattr_" in e));
122 var a = v(e, t, n, r, i);
123 return o && a.parentNode !== o && o.appendChild(a), --D || (L = !1, i || _()), a
124 }
125
126 function v(e, t, n, r, o) {
127 var i = e,
128 a = M;
129 if (null != t && "boolean" != typeof t || (t = ""), "string" == typeof t || "number" == typeof t) return e && void 0 !== e.splitText && e.parentNode && (!e._component || o) ? e.nodeValue != t && (e.nodeValue = t) : (i = document.createTextNode(t), e && (e.parentNode && e.parentNode.replaceChild(i, e), g(e, !0))), i.__preactattr_ = !0, i;
130 var s = t.nodeName;
131 if ("function" == typeof s) return S(e, t, n, r);
132 if (M = "svg" === s || "foreignObject" !== s && M, s = String(s), (!e || !u(e, s)) && (i = f(s, M), e)) {
133 for (; e.firstChild;) i.appendChild(e.firstChild);
134 e.parentNode && e.parentNode.replaceChild(i, e), g(e, !0)
135 }
136 var c = i.firstChild,
137 l = i.__preactattr_,
138 m = t.children;
139 if (null == l) {
140 l = i.__preactattr_ = {};
141 for (var p = i.attributes, d = p.length; d--;) l[p[d].name] = p[d].value
142 }
143 return !L && m && 1 === m.length && "string" == typeof m[0] && null != c && void 0 !== c.splitText && null == c.nextSibling ? c.nodeValue != m[0] && (c.nodeValue = m[0]) : (m && m.length || null != c) && b(i, m, n, r, L || null != l.dangerouslySetInnerHTML), w(i, t.attributes, l), M = a, i
144 }
145
146 function b(e, t, n, r, o) {
147 var i, a, s, u, l, f = e.childNodes,
148 p = [],
149 d = {},
150 h = 0,
151 _ = 0,
152 y = f.length,
153 b = 0,
154 x = t ? t.length : 0;
155 if (0 !== y)
156 for (var w = 0; w < y; w++) {
157 var C = f[w],
158 j = C.__preactattr_,
159 O = x && j ? C._component ? C._component.__key : j.key : null;
160 null != O ? (h++, d[O] = C) : (j || (void 0 !== C.splitText ? !o || C.nodeValue.trim() : o)) && (p[b++] = C)
161 }
162 if (0 !== x)
163 for (var w = 0; w < x; w++) {
164 u = t[w], l = null;
165 var O = u.key;
166 if (null != O) h && void 0 !== d[O] && (l = d[O], d[O] = void 0, h--);
167 else if (!l && _ < b)
168 for (i = _; i < b; i++)
169 if (void 0 !== p[i] && c(a = p[i], u, o)) {
170 l = a, p[i] = void 0, i === b - 1 && b--, i === _ && _++;
171 break
172 }
173 l = v(l, u, n, r), s = f[w], l && l !== e && l !== s && (null == s ? e.appendChild(l) : l === s.nextSibling ? m(s) : e.insertBefore(l, s))
174 }
175 if (h)
176 for (var w in d) void 0 !== d[w] && g(d[w], !1);
177 for (; _ <= b;) void 0 !== (l = p[b--]) && g(l, !1)
178 }
179
180 function g(e, t) {
181 var n = e._component;
182 n ? P(n) : (null != e.__preactattr_ && e.__preactattr_.ref && e.__preactattr_.ref(null), !1 !== t && null != e.__preactattr_ || m(e), x(e))
183 }
184
185 function x(e) {
186 for (e = e.lastChild; e;) {
187 var t = e.previousSibling;
188 g(e, !0), e = t
189 }
190 }
191
192 function w(e, t, n) {
193 var r;
194 for (r in n) t && null != t[r] || null == n[r] || p(e, r, n[r], n[r] = void 0, M);
195 for (r in t) "children" === r || "innerHTML" === r || r in n && t[r] === ("value" === r || "checked" === r ? e[r] : n[r]) || p(e, r, n[r], n[r] = t[r], M)
196 }
197
198 function C(e) {
199 var t = e.constructor.name;
200 (q[t] || (q[t] = [])).push(e)
201 }
202
203 function j(e, t, n) {
204 var r, o = q[e.name];
205 if (e.prototype && e.prototype.render ? (r = new e(t, n), B.call(r, t, n)) : (r = new B(t, n), r.constructor = e, r.render = O), o)
206 for (var i = o.length; i--;)
207 if (o[i].constructor === e) {
208 r.nextBase = o[i].nextBase, o.splice(i, 1);
209 break
210 }
211 return r
212 }
213
214 function O(e, t, n) {
215 return this.constructor(e, n)
216 }
217
218 function k(e, t, n, r, o) {
219 e._disable || (e._disable = !0, (e.__ref = t.ref) && delete t.ref, (e.__key = t.key) && delete t.key, !e.base || o ? e.componentWillMount && e.componentWillMount() : e.componentWillReceiveProps && e.componentWillReceiveProps(t, r), r && r !== e.context && (e.prevContext || (e.prevContext = e.context), e.context = r), e.prevProps || (e.prevProps = e.props), e.props = t, e._disable = !1, 0 !== n && (1 !== n && !1 === E.syncComponentUpdates && e.base ? a(e) : T(e, 1, o)), e.__ref && e.__ref(e))
220 }
221
222 function T(e, t, n, r) {
223 if (!e._disable) {
224 var o, a, s, c = e.props,
225 u = e.state,
226 f = e.context,
227 m = e.prevProps || c,
228 p = e.prevState || u,
229 d = e.prevContext || f,
230 h = e.base,
231 v = e.nextBase,
232 b = h || v,
233 x = e._component,
234 w = !1;
235 if (h && (e.props = m, e.state = p, e.context = d, 2 !== t && e.shouldComponentUpdate && !1 === e.shouldComponentUpdate(c, u, f) ? w = !0 : e.componentWillUpdate && e.componentWillUpdate(c, u, f), e.props = c, e.state = u, e.context = f), e.prevProps = e.prevState = e.prevContext = e.nextBase = null, e._dirty = !1, !w) {
236 o = e.render(c, u, f), e.getChildContext && (f = i(i({}, f), e.getChildContext()));
237 var C, O, S = o && o.nodeName;
238 if ("function" == typeof S) {
239 var B = l(o);
240 a = x, a && a.constructor === S && B.key == a.__key ? k(a, B, 1, f, !1) : (C = a, e._component = a = j(S, B, f), a.nextBase = a.nextBase || v, a._parentComponent = e, k(a, B, 0, f, !1), T(a, 1, n, !0)), O = a.base
241 } else s = b, C = x, C && (s = e._component = null), (b || 1 === t) && (s && (s._component = null), O = y(s, o, f, n || !h, b && b.parentNode, !0));
242 if (b && O !== b && a !== x) {
243 var A = b.parentNode;
244 A && O !== A && (A.replaceChild(O, b), C || (b._component = null, g(b, !1)))
245 }
246 if (C && P(C), e.base = O, O && !r) {
247 for (var I = e, N = e; N = N._parentComponent;)(I = N).base = O;
248 O._component = I, O._componentConstructor = I.constructor
249 }
250 }
251 if (!h || n ? F.unshift(e) : w || (e.componentDidUpdate && e.componentDidUpdate(m, p, d), E.afterUpdate && E.afterUpdate(e)), null != e._renderCallbacks)
252 for (; e._renderCallbacks.length;) e._renderCallbacks.pop().call(e);
253 D || r || _()
254 }
255 }
256
257 function S(e, t, n, r) {
258 for (var o = e && e._component, i = o, a = e, s = o && e._componentConstructor === t.nodeName, c = s, u = l(t); o && !c && (o = o._parentComponent);) c = o.constructor === t.nodeName;
259 return o && c && (!r || o._component) ? (k(o, u, 3, n, r), e = o.base) : (i && !s && (P(i), e = a = null), o = j(t.nodeName, u, n), e && !o.nextBase && (o.nextBase = e, a = null), k(o, u, 1, n, r), e = o.base, a && e !== a && (a._component = null, g(a, !1))), e
260 }
261
262 function P(e) {
263 E.beforeUnmount && E.beforeUnmount(e);
264 var t = e.base;
265 e._disable = !0, e.componentWillUnmount && e.componentWillUnmount(), e.base = null;
266 var n = e._component;
267 n ? P(n) : t && (t.__preactattr_ && t.__preactattr_.ref && t.__preactattr_.ref(null), e.nextBase = t, m(t), C(e), x(t)), e.__ref && e.__ref(null)
268 }
269
270 function B(e, t) {
271 this._dirty = !0, this.context = t, this.props = e, this.state = this.state || {}
272 }
273
274 function A(e, t, n) {
275 return y(n, e, {}, !1, t, !1)
276 }
277 n.d(t, "b", function () {
278 return o
279 }), n.d(t, "a", function () {
280 return B
281 }), n.d(t, "c", function () {
282 return A
283 });
284 var E = {},
285 I = [],
286 N = [],
287 R = "function" == typeof Promise ? Promise.resolve().then.bind(Promise.resolve()) : setTimeout,
288 z = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i,
289 U = [],
290 F = [],
291 D = 0,
292 M = !1,
293 L = !1,
294 q = {};
295 i(B.prototype, {
296 setState: function (e, t) {
297 var n = this.state;
298 this.prevState || (this.prevState = i({}, n)), i(n, "function" == typeof e ? e(n, this.props) : e), t && (this._renderCallbacks = this._renderCallbacks || []).push(t), a(this)
299 },
300 forceUpdate: function (e) {
301 e && (this._renderCallbacks = this._renderCallbacks || []).push(e), T(this, 2)
302 },
303 render: function () {}
304 })
305}, function (e, t) {
306 function n(e, t) {
307 var n = e[1] || "",
308 o = e[3];
309 if (!o) return n;
310 if (t && "function" == typeof btoa) {
311 var i = r(o);
312 return [n].concat(o.sources.map(function (e) {
313 return "/*# sourceURL=" + o.sourceRoot + e + " */"
314 })).concat([i]).join("\n")
315 }
316 return [n].join("\n")
317 }
318
319 function r(e) {
320 return "/*# sourceMappingURL=data:application/json;charset=utf-8;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(e)))) + " */"
321 }
322 e.exports = function (e) {
323 var t = [];
324 return t.toString = function () {
325 return this.map(function (t) {
326 var r = n(t, e);
327 return t[2] ? "@media " + t[2] + "{" + r + "}" : r
328 }).join("")
329 }, t.i = function (e, n) {
330 "string" == typeof e && (e = [
331 [null, e, ""]
332 ]);
333 for (var r = {}, o = 0; o < this.length; o++) {
334 var i = this[o][0];
335 "number" == typeof i && (r[i] = !0)
336 }
337 for (o = 0; o < e.length; o++) {
338 var a = e[o];
339 "number" == typeof a[0] && r[a[0]] || (n && !a[2] ? a[2] = n : n && (a[2] = "(" + a[2] + ") and (" + n + ")"), t.push(a))
340 }
341 }, t
342 }
343}, function (e, t, n) {
344 function r(e, t) {
345 for (var n = 0; n < e.length; n++) {
346 var r = e[n],
347 o = d[r.id];
348 if (o) {
349 o.refs++;
350 for (var i = 0; i < o.parts.length; i++) o.parts[i](r.parts[i]);
351 for (; i < r.parts.length; i++) o.parts.push(l(r.parts[i], t))
352 } else {
353 for (var a = [], i = 0; i < r.parts.length; i++) a.push(l(r.parts[i], t));
354 d[r.id] = {
355 id: r.id,
356 refs: 1,
357 parts: a
358 }
359 }
360 }
361 }
362
363 function o(e, t) {
364 for (var n = [], r = {}, o = 0; o < e.length; o++) {
365 var i = e[o],
366 a = t.base ? i[0] + t.base : i[0],
367 s = i[1],
368 c = i[2],
369 u = i[3],
370 l = {
371 css: s,
372 media: c,
373 sourceMap: u
374 };
375 r[a] ? r[a].parts.push(l) : n.push(r[a] = {
376 id: a,
377 parts: [l]
378 })
379 }
380 return n
381 }
382
383 function i(e, t) {
384 var n = _(e.insertInto);
385 if (!n) throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");
386 var r = b[b.length - 1];
387 if ("top" === e.insertAt) r ? r.nextSibling ? n.insertBefore(t, r.nextSibling) : n.appendChild(t) : n.insertBefore(t, n.firstChild), b.push(t);
388 else {
389 if ("bottom" !== e.insertAt) throw new Error("Invalid value for parameter 'insertAt'. Must be 'top' or 'bottom'.");
390 n.appendChild(t)
391 }
392 }
393
394 function a(e) {
395 if (null === e.parentNode) return !1;
396 e.parentNode.removeChild(e);
397 var t = b.indexOf(e);
398 t >= 0 && b.splice(t, 1)
399 }
400
401 function s(e) {
402 var t = document.createElement("style");
403 return e.attrs.type = "text/css", u(t, e.attrs), i(e, t), t
404 }
405
406 function c(e) {
407 var t = document.createElement("link");
408 return e.attrs.type = "text/css", e.attrs.rel = "stylesheet", u(t, e.attrs), i(e, t), t
409 }
410
411 function u(e, t) {
412 Object.keys(t).forEach(function (n) {
413 e.setAttribute(n, t[n])
414 })
415 }
416
417 function l(e, t) {
418 var n, r, o, i;
419 if (t.transform && e.css) {
420 if (!(i = t.transform(e.css))) return function () {};
421 e.css = i
422 }
423 if (t.singleton) {
424 var u = v++;
425 n = y || (y = s(t)), r = f.bind(null, n, u, !1), o = f.bind(null, n, u, !0)
426 } else e.sourceMap && "function" == typeof URL && "function" == typeof URL.createObjectURL && "function" == typeof URL.revokeObjectURL && "function" == typeof Blob && "function" == typeof btoa ? (n = c(t), r = p.bind(null, n, t), o = function () {
427 a(n), n.href && URL.revokeObjectURL(n.href)
428 }) : (n = s(t), r = m.bind(null, n), o = function () {
429 a(n)
430 });
431 return r(e),
432 function (t) {
433 if (t) {
434 if (t.css === e.css && t.media === e.media && t.sourceMap === e.sourceMap) return;
435 r(e = t)
436 } else o()
437 }
438 }
439
440 function f(e, t, n, r) {
441 var o = n ? "" : r.css;
442 if (e.styleSheet) e.styleSheet.cssText = x(t, o);
443 else {
444 var i = document.createTextNode(o),
445 a = e.childNodes;
446 a[t] && e.removeChild(a[t]), a.length ? e.insertBefore(i, a[t]) : e.appendChild(i)
447 }
448 }
449
450 function m(e, t) {
451 var n = t.css,
452 r = t.media;
453 if (r && e.setAttribute("media", r), e.styleSheet) e.styleSheet.cssText = n;
454 else {
455 for (; e.firstChild;) e.removeChild(e.firstChild);
456 e.appendChild(document.createTextNode(n))
457 }
458 }
459
460 function p(e, t, n) {
461 var r = n.css,
462 o = n.sourceMap,
463 i = void 0 === t.convertToAbsoluteUrls && o;
464 (t.convertToAbsoluteUrls || i) && (r = g(r)), o && (r += "\n/*# sourceMappingURL=data:application/json;base64," + btoa(unescape(encodeURIComponent(JSON.stringify(o)))) + " */");
465 var a = new Blob([r], {
466 type: "text/css"
467 }),
468 s = e.href;
469 e.href = URL.createObjectURL(a), s && URL.revokeObjectURL(s)
470 }
471 var d = {},
472 h = function (e) {
473 var t;
474 return function () {
475 return void 0 === t && (t = e.apply(this, arguments)), t
476 }
477 }(function () {
478 return window && document && document.all && !window.atob
479 }),
480 _ = function (e) {
481 var t = {};
482 return function (n) {
483 return void 0 === t[n] && (t[n] = e.call(this, n)), t[n]
484 }
485 }(function (e) {
486 return document.querySelector(e)
487 }),
488 y = null,
489 v = 0,
490 b = [],
491 g = n(39);
492 e.exports = function (e, t) {
493 if ("undefined" != typeof DEBUG && DEBUG && "object" != typeof document) throw new Error("The style-loader cannot be used in a non-browser environment");
494 t = t || {}, t.attrs = "object" == typeof t.attrs ? t.attrs : {}, t.singleton || (t.singleton = h()), t.insertInto || (t.insertInto = "head"), t.insertAt || (t.insertAt = "bottom");
495 var n = o(e, t);
496 return r(n, t),
497 function (e) {
498 for (var i = [], a = 0; a < n.length; a++) {
499 var s = n[a],
500 c = d[s.id];
501 c.refs--, i.push(c)
502 }
503 if (e) {
504 r(o(e, t), t)
505 }
506 for (var a = 0; a < i.length; a++) {
507 var c = i[a];
508 if (0 === c.refs) {
509 for (var u = 0; u < c.parts.length; u++) c.parts[u]();
510 delete d[c.id]
511 }
512 }
513 }
514 };
515 var x = function () {
516 var e = [];
517 return function (t, n) {
518 return e[t] = n, e.filter(Boolean).join("\n")
519 }
520 }()
521}, function (e, t, n) {
522 ! function (n, r) {
523 e.exports = t = r()
524 }(0, function () {
525 var e = e || function (e, t) {
526 var n = Object.create || function () {
527 function e() {}
528 return function (t) {
529 var n;
530 return e.prototype = t, n = new e, e.prototype = null, n
531 }
532 }(),
533 r = {},
534 o = r.lib = {},
535 i = o.Base = function () {
536 return {
537 extend: function (e) {
538 var t = n(this);
539 return e && t.mixIn(e), t.hasOwnProperty("init") && this.init !== t.init || (t.init = function () {
540 t.$super.init.apply(this, arguments)
541 }), t.init.prototype = t, t.$super = this, t
542 },
543 create: function () {
544 var e = this.extend();
545 return e.init.apply(e, arguments), e
546 },
547 init: function () {},
548 mixIn: function (e) {
549 for (var t in e) e.hasOwnProperty(t) && (this[t] = e[t]);
550 e.hasOwnProperty("toString") && (this.toString = e.toString)
551 },
552 clone: function () {
553 return this.init.prototype.extend(this)
554 }
555 }
556 }(),
557 a = o.WordArray = i.extend({
558 init: function (e, t) {
559 e = this.words = e || [], this.sigBytes = void 0 != t ? t : 4 * e.length
560 },
561 toString: function (e) {
562 return (e || c).stringify(this)
563 },
564 concat: function (e) {
565 var t = this.words,
566 n = e.words,
567 r = this.sigBytes,
568 o = e.sigBytes;
569 if (this.clamp(), r % 4)
570 for (var i = 0; i < o; i++) {
571 var a = n[i >>> 2] >>> 24 - i % 4 * 8 & 255;
572 t[r + i >>> 2] |= a << 24 - (r + i) % 4 * 8
573 } else
574 for (var i = 0; i < o; i += 4) t[r + i >>> 2] = n[i >>> 2];
575 return this.sigBytes += o, this
576 },
577 clamp: function () {
578 var t = this.words,
579 n = this.sigBytes;
580 t[n >>> 2] &= 4294967295 << 32 - n % 4 * 8, t.length = e.ceil(n / 4)
581 },
582 clone: function () {
583 var e = i.clone.call(this);
584 return e.words = this.words.slice(0), e
585 },
586 random: function (t) {
587 for (var n, r = [], o = 0; o < t; o += 4) {
588 var i = function (t) {
589 var t = t,
590 n = 987654321,
591 r = 4294967295;
592 return function () {
593 n = 36969 * (65535 & n) + (n >> 16) & r, t = 18e3 * (65535 & t) + (t >> 16) & r;
594 var o = (n << 16) + t & r;
595 return o /= 4294967296, (o += .5) * (e.random() > .5 ? 1 : -1)
596 }
597 }(4294967296 * (n || e.random()));
598 n = 987654071 * i(), r.push(4294967296 * i() | 0)
599 }
600 return new a.init(r, t)
601 }
602 }),
603 s = r.enc = {},
604 c = s.Hex = {
605 stringify: function (e) {
606 for (var t = e.words, n = e.sigBytes, r = [], o = 0; o < n; o++) {
607 var i = t[o >>> 2] >>> 24 - o % 4 * 8 & 255;
608 r.push((i >>> 4).toString(16)), r.push((15 & i).toString(16))
609 }
610 return r.join("")
611 },
612 parse: function (e) {
613 for (var t = e.length, n = [], r = 0; r < t; r += 2) n[r >>> 3] |= parseInt(e.substr(r, 2), 16) << 24 - r % 8 * 4;
614 return new a.init(n, t / 2)
615 }
616 },
617 u = s.Latin1 = {
618 stringify: function (e) {
619 for (var t = e.words, n = e.sigBytes, r = [], o = 0; o < n; o++) {
620 var i = t[o >>> 2] >>> 24 - o % 4 * 8 & 255;
621 r.push(String.fromCharCode(i))
622 }
623 return r.join("")
624 },
625 parse: function (e) {
626 for (var t = e.length, n = [], r = 0; r < t; r++) n[r >>> 2] |= (255 & e.charCodeAt(r)) << 24 - r % 4 * 8;
627 return new a.init(n, t)
628 }
629 },
630 l = s.Utf8 = {
631 stringify: function (e) {
632 try {
633 return decodeURIComponent(escape(u.stringify(e)))
634 } catch (e) {
635 throw new Error("Malformed UTF-8 data")
636 }
637 },
638 parse: function (e) {
639 return u.parse(unescape(encodeURIComponent(e)))
640 }
641 },
642 f = o.BufferedBlockAlgorithm = i.extend({
643 reset: function () {
644 this._data = new a.init, this._nDataBytes = 0
645 },
646 _append: function (e) {
647 "string" == typeof e && (e = l.parse(e)), this._data.concat(e), this._nDataBytes += e.sigBytes
648 },
649 _process: function (t) {
650 var n = this._data,
651 r = n.words,
652 o = n.sigBytes,
653 i = this.blockSize,
654 s = 4 * i,
655 c = o / s;
656 c = t ? e.ceil(c) : e.max((0 | c) - this._minBufferSize, 0);
657 var u = c * i,
658 l = e.min(4 * u, o);
659 if (u) {
660 for (var f = 0; f < u; f += i) this._doProcessBlock(r, f);
661 var m = r.splice(0, u);
662 n.sigBytes -= l
663 }
664 return new a.init(m, l)
665 },
666 clone: function () {
667 var e = i.clone.call(this);
668 return e._data = this._data.clone(), e
669 },
670 _minBufferSize: 0
671 }),
672 m = (o.Hasher = f.extend({
673 cfg: i.extend(),
674 init: function (e) {
675 this.cfg = this.cfg.extend(e), this.reset()
676 },
677 reset: function () {
678 f.reset.call(this), this._doReset()
679 },
680 update: function (e) {
681 return this._append(e), this._process(), this
682 },
683 finalize: function (e) {
684 return e && this._append(e), this._doFinalize()
685 },
686 blockSize: 16,
687 _createHelper: function (e) {
688 return function (t, n) {
689 return new e.init(n).finalize(t)
690 }
691 },
692 _createHmacHelper: function (e) {
693 return function (t, n) {
694 return new m.HMAC.init(e, n).finalize(t)
695 }
696 }
697 }), r.algo = {});
698 return r
699 }(Math);
700 return e
701 })
702}, function (e, t, n) {
703 function r(e, t) {
704 for (var n = e.length; n--;)
705 if (o(e[n][0], t)) return n;
706 return -1
707 }
708 var o = n(51);
709 e.exports = r
710}, function (e, t) {
711 var n = Array.isArray;
712 e.exports = n
713}, function (e, t) {
714 function n(e) {
715 return e
716 }
717 e.exports = n
718}, function (e, t, n) {
719 var r = n(121);
720 e.exports = Function.prototype.bind || r
721}, function (e, t, n) {
722 var r = n(30),
723 o = n(32),
724 i = o;
725 i.v1 = r, i.v4 = o, e.exports = i
726}, function (e, t, n) {
727 (function (t) {
728 var n, r = t.crypto || t.msCrypto;
729 if (r && r.getRandomValues) {
730 var o = new Uint8Array(16);
731 n = function () {
732 return r.getRandomValues(o), o
733 }
734 }
735 if (!n) {
736 var i = new Array(16);
737 n = function () {
738 for (var e, t = 0; t < 16; t++) 0 == (3 & t) && (e = 4294967296 * Math.random()), i[t] = e >>> ((3 & t) << 3) & 255;
739 return i
740 }
741 }
742 e.exports = n
743 }).call(t, n(31))
744}, function (e, t) {
745 function n(e, t) {
746 var n = t || 0,
747 o = r;
748 return o[e[n++]] + o[e[n++]] + o[e[n++]] + o[e[n++]] + "-" + o[e[n++]] + o[e[n++]] + "-" + o[e[n++]] + o[e[n++]] + "-" + o[e[n++]] + o[e[n++]] + "-" + o[e[n++]] + o[e[n++]] + o[e[n++]] + o[e[n++]] + o[e[n++]] + o[e[n++]]
749 }
750 for (var r = [], o = 0; o < 256; ++o) r[o] = (o + 256).toString(16).substr(1);
751 e.exports = n
752}, function (e, t, n) {
753 "use strict";
754
755 function r(e) {
756 return "" === e.trim() ? "" : "/" === e ? "" : e
757 }
758
759 function o() {
760 var e = (window.location.href, window.location.pathname),
761 t = window.location.hash,
762 n = window.location.hostname,
763 o = window.location.search,
764 i = window.location.port,
765 a = window.location.protocol,
766 s = "" !== t.trim(),
767 c = r(e),
768 u = "" + n + c + o;
769 if (console.log("Detected itemId", u), s) {
770 if (t.startsWith("#jc")) return {
771 itemId: u,
772 itemProtocol: a,
773 itemPort: i,
774 jumpToComment: t.substring(3)
775 }
776 }
777 return {
778 itemId: u,
779 itemProtocol: a,
780 itemPort: i,
781 jumpToComment: null
782 }
783 }
784 t.a = o
785}, function (e, t, n) {
786 var r = n(40);
787 "string" == typeof r && (r = [
788 [e.i, r, ""]
789 ]);
790 var o = {};
791 o.transform = void 0;
792 n(2)(r, o);
793 r.locals && (e.exports = r.locals)
794}, function (e, t, n) {
795 "use strict";
796
797 function r(e, t, n, r) {
798 var i = new Request("https://service.just-comments.com/prod/comments/find" + (n ? "/new" : ""), {
799 method: "POST",
800 mode: "cors",
801 redirect: "follow",
802 headers: new Headers({
803 "Content-Type": "application/json",
804 "x-api-key": e
805 }),
806 body: JSON.stringify({
807 itemId: t,
808 lastKey: r
809 })
810 });
811 return fetch(i).then(function (e) {
812 return e.json()
813 }).then(function (e) {
814 var t = u()(e.comments.concat(e.nestedComments), [function (e) {
815 return e.createdAt
816 }]),
817 n = s()(t, function (e) {
818 return e.commentId
819 }),
820 r = t.map(function (e) {
821 return e.replyTo && (e.replyToComment = n[e.replyTo]), e
822 });
823 return {
824 lastKey: e.lastKey,
825 comments: o(r)
826 }
827 }).catch(function (e) {
828 throw console.error("Error in getComments", e), e
829 })
830 }
831
832 function o(e) {
833 var t = u()(e, ["createdAt"]);
834 return i(f()(t, {
835 idKey: "commentId",
836 parentKey: "replyTo",
837 childrenKey: "children"
838 })), u()(t, ["sortKey"]).map(function (e) {
839 return delete e.children, e.level > 5 && (e.level = 5), e
840 })
841 }
842
843 function i(e) {
844 var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {
845 sortKey: 1,
846 level: 0
847 },
848 n = !0,
849 r = !1,
850 o = void 0;
851 try {
852 for (var a, s = e[Symbol.iterator](); !(n = (a = s.next()).done); n = !0) {
853 var c = a.value;
854 c.sortKey = t.sortKey++, c.level = t.level, t.level++, i(c.children, t), t.level--
855 }
856 } catch (e) {
857 r = !0, o = e
858 } finally {
859 try {
860 !n && s.return && s.return()
861 } finally {
862 if (r) throw o
863 }
864 }
865 }
866 t.b = r, t.a = o;
867 var a = n(14),
868 s = n.n(a),
869 c = n(21),
870 u = n.n(c),
871 l = n(92),
872 f = n.n(l)
873}, function (e, t, n) {
874 var r = n(41),
875 o = n(44),
876 i = o(function (e, t, n) {
877 r(e, n, t)
878 });
879 e.exports = i
880}, function (e, t, n) {
881 function r(e) {
882 return "function" == typeof e ? e : null == e ? a : "object" == typeof e ? s(e) ? i(e[0], e[1]) : o(e) : c(e)
883 }
884 var o = n(47),
885 i = n(71),
886 a = n(6),
887 s = n(5),
888 c = n(77);
889 e.exports = r
890}, function (e, t, n) {
891 function r(e) {
892 var t = -1,
893 n = null == e ? 0 : e.length;
894 for (this.clear(); ++t < n;) {
895 var r = e[t];
896 this.set(r[0], r[1])
897 }
898 }
899 var o = n(49),
900 i = n(50),
901 a = n(52),
902 s = n(53),
903 c = n(54);
904 r.prototype.clear = o, r.prototype.delete = i, r.prototype.get = a, r.prototype.has = s, r.prototype.set = c, e.exports = r
905}, function (e, t, n) {
906 function r(e, t, n, a, s) {
907 return e === t || (null == e || null == t || !i(e) && !i(t) ? e !== e && t !== t : o(e, t, n, a, r, s))
908 }
909 var o = n(55),
910 i = n(67);
911 e.exports = r
912}, function (e, t) {
913 function n(e, t) {
914 return function (n) {
915 return e(t(n))
916 }
917 }
918 e.exports = n
919}, function (e, t, n) {
920 function r(e) {
921 return e === e && !o(e)
922 }
923 var o = n(69);
924 e.exports = r
925}, function (e, t) {
926 function n(e, t) {
927 return function (n) {
928 return null != n && (n[e] === t && (void 0 !== t || e in Object(n)))
929 }
930 }
931 e.exports = n
932}, function (e, t, n) {
933 var r = n(78),
934 o = n(79),
935 i = n(87),
936 a = n(91),
937 s = i(function (e, t) {
938 if (null == e) return [];
939 var n = t.length;
940 return n > 1 && a(e, t[0], t[1]) ? t = [] : n > 2 && a(t[0], t[1], t[2]) && (t = [t[0]]), o(e, r(t, 1), [])
941 });
942 e.exports = s
943}, function (e, t, n) {
944 "use strict";
945
946 function r(e, t) {
947 if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
948 }
949
950 function o(e, t) {
951 if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
952 return !t || "object" != typeof t && "function" != typeof t ? e : t
953 }
954
955 function i(e, t) {
956 if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
957 e.prototype = Object.create(t && t.prototype, {
958 constructor: {
959 value: e,
960 enumerable: !1,
961 writable: !0,
962 configurable: !0
963 }
964 }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
965 }
966 var a = n(0),
967 s = n(101),
968 c = n.n(s),
969 u = Object.assign || function (e) {
970 for (var t = 1; t < arguments.length; t++) {
971 var n = arguments[t];
972 for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r])
973 }
974 return e
975 },
976 l = function () {
977 function e(e, t) {
978 for (var n = 0; n < t.length; n++) {
979 var r = t[n];
980 r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
981 }
982 }
983 return function (t, n, r) {
984 return n && e(t.prototype, n), r && e(t, r), t
985 }
986 }(),
987 f = function (e) {
988 function t() {
989 r(this, t);
990 var e = o(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this));
991 return e.state.text = "", e.state.email = "", e.state.username = "", e.state.errors = null, e.state.blocked = !1, e
992 }
993 return i(t, e), l(t, [{
994 key: "render",
995 value: function (e, t) {
996 var n = this,
997 r = e.polyglot,
998 o = (e.userPic, e.guestForm),
999 i = e.replyToComment,
1000 s = (e.parentId, t.errors),
1001 u = function (e) {
1002 return s && s[e] ? c.a.error : ""
1003 };
1004 return Object(a.b)("div", {
1005 className: c.a.comments__form
1006 }, i ? Object(a.b)("div", {}, ["replying to " + i.username]) : null, Object(a.b)("img", {
1007 src: t.userPic || "https://just-comments.com/widget/no-pic.png",
1008 className: c.a.comments__form__img
1009 }), o ? Object(a.b)("input", {
1010 placeholder: r.t("name"),
1011 required: "required",
1012 value: t.username,
1013 className: "comment-username " + c.a.comments__form__name + " " + u("username"),
1014 onInput: function (e) {
1015 return n.setState({
1016 username: e.target.value
1017 })
1018 }
1019 }) : null, o ? Object(a.b)("input", {
1020 placeholder: r.t("email"),
1021 type: "email",
1022 value: t.email,
1023 className: "comment-email " + c.a.comments__form__email + " " + u("email"),
1024 onInput: function (e) {
1025 return n.setState({
1026 email: e.target.value
1027 })
1028 }
1029 }) : null, Object(a.b)("textarea", {
1030 placeholder: r.t("writeAComment"),
1031 value: t.text,
1032 className: "comment-text " + c.a.comments__form__textarea + " " + u("text"),
1033 onInput: function (e) {
1034 return n.setState({
1035 text: e.target.value
1036 })
1037 },
1038 onKeyDown: function (e) {
1039 e.ctrlKey && 13 == e.keyCode ? n.onSendClick() : e.metaKey && 13 == e.keyCode && n.onSendClick()
1040 }
1041 }), s ? Object(a.b)("div", {}, Object.keys(s).map(function (e) {
1042 return Object(a.b)("p", {}, [s[e]])
1043 })) : null, Object(a.b)("button", {
1044 tabindex: 0,
1045 role: "button",
1046 className: c.a.comments__form__send,
1047 onClick: this.onSendClick.bind(this),
1048 disabled: this.state.blocked ? "disabled" : ""
1049 }, this.state.blocked ? r.t("sending") : r.t("send")), Object(a.b)("span", {
1050 className: c.a.comments__form__help
1051 }, [r.t("ctrlEnterToSend")]))
1052 }
1053 }, {
1054 key: "onSendClick",
1055 value: function () {
1056 var e = this,
1057 t = this.validate();
1058 this.setState({
1059 blocked: !0
1060 }), null !== t ? this.setState({
1061 blocked: !1,
1062 errors: t
1063 }) : this.props.checkCaptcha().then(function (t) {
1064 e.props.onSend(u({}, e.state, {
1065 replyToComment: e.props.replyToComment,
1066 parentId: e.props.parentId,
1067 captchaResult: t
1068 })).then(function () {
1069 e.setState({
1070 blocked: !1,
1071 text: "",
1072 email: "",
1073 username: "",
1074 errors: null
1075 })
1076 }).catch(function (t) {
1077 e.setState({
1078 blocked: !1,
1079 errors: {
1080 form: e.props.polyglot.t("networkError")
1081 }
1082 })
1083 })
1084 })
1085 }
1086 }, {
1087 key: "validate",
1088 value: function () {
1089 return this.props.guestForm ? this.validateGuestForm() : this.validateSimpleForm()
1090 }
1091 }, {
1092 key: "validateGuestForm",
1093 value: function () {
1094 var e = this.state,
1095 t = e.email,
1096 n = e.text,
1097 r = e.username;
1098 return t = t.trim(), n = n.trim(), r = r.trim(), r ? this.validateSimpleForm() : {
1099 username: this.props.polyglot.t("usernameIsRequired")
1100 }
1101 }
1102 }, {
1103 key: "validateSimpleForm",
1104 value: function () {
1105 var e = this.state.text;
1106 return e = e.trim(), e ? null : {
1107 text: this.props.polyglot.t("textIsRequired")
1108 }
1109 }
1110 }]), t
1111 }(a.a);
1112 t.a = f
1113}, function (e, t, n) {
1114 var r = n(7);
1115 e.exports = r.call(Function.call, Object.prototype.hasOwnProperty)
1116}, function (e, t, n) {
1117 "use strict";
1118 var r = n(123),
1119 o = n(125),
1120 i = "function" == typeof Symbol && "symbol" == typeof Symbol(),
1121 a = Object.prototype.toString,
1122 s = function (e) {
1123 return "function" == typeof e && "[object Function]" === a.call(e)
1124 },
1125 c = Object.defineProperty && function () {
1126 var e = {};
1127 try {
1128 Object.defineProperty(e, "x", {
1129 enumerable: !1,
1130 value: e
1131 });
1132 for (var t in e) return !1;
1133 return e.x === e
1134 } catch (e) {
1135 return !1
1136 }
1137 }(),
1138 u = function (e, t, n, r) {
1139 (!(t in e) || s(r) && r()) && (c ? Object.defineProperty(e, t, {
1140 configurable: !0,
1141 enumerable: !1,
1142 value: n,
1143 writable: !0
1144 }) : e[t] = n)
1145 },
1146 l = function (e, t) {
1147 var n = arguments.length > 2 ? arguments[2] : {},
1148 a = r(t);
1149 i && (a = a.concat(Object.getOwnPropertySymbols(t))), o(a, function (r) {
1150 u(e, r, t[r], n[r])
1151 })
1152 };
1153 l.supportsDescriptors = !!c, e.exports = l
1154}, function (e, t, n) {
1155 "use strict";
1156 var r = n(7),
1157 o = n(126),
1158 i = r.call(Function.call, String.prototype.replace),
1159 a = /^[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+/,
1160 s = /[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+$/;
1161 e.exports = function () {
1162 var e = o.ToString(o.CheckObjectCoercible(this));
1163 return i(i(e, a, ""), s, "")
1164 }
1165}, function (e, t, n) {
1166 "use strict";
1167 var r = Function.prototype.toString,
1168 o = /^\s*class /,
1169 i = function (e) {
1170 try {
1171 var t = r.call(e),
1172 n = t.replace(/\/\/.*\n/g, ""),
1173 i = n.replace(/\/\*[.\s\S]*\*\//g, ""),
1174 a = i.replace(/\n/gm, " ").replace(/ {2}/g, " ");
1175 return o.test(a)
1176 } catch (e) {
1177 return !1
1178 }
1179 },
1180 a = function (e) {
1181 try {
1182 return !i(e) && (r.call(e), !0)
1183 } catch (e) {
1184 return !1
1185 }
1186 },
1187 s = Object.prototype.toString,
1188 c = "function" == typeof Symbol && "symbol" == typeof Symbol.toStringTag;
1189 e.exports = function (e) {
1190 if (!e) return !1;
1191 if ("function" != typeof e && "object" != typeof e) return !1;
1192 if (c) return a(e);
1193 if (i(e)) return !1;
1194 var t = s.call(e);
1195 return "[object Function]" === t || "[object GeneratorFunction]" === t
1196 }
1197}, function (e, t, n) {
1198 "use strict";
1199 var r = n(25),
1200 o = "​";
1201 e.exports = function () {
1202 return String.prototype.trim && o.trim() === o ? String.prototype.trim : r
1203 }
1204}, function (e, t, n) {
1205 "use strict";
1206
1207 function r(e) {
1208 var t = e.dataset.jwt,
1209 n = e.dataset.apikey,
1210 r = e.dataset.locale || "en",
1211 o = e.dataset.widgettype || "normal",
1212 i = "true" === e.dataset.allowguests,
1213 a = "true" === e.dataset.recaptcha ? "6Lc9nTEUAAAAABlX72vOhEVdBUX_ULUY88e7Chkl" : void 0,
1214 u = !1;
1215 if (t && (u = !0), u) var m = s()(t),
1216 p = m.userId,
1217 v = m.userPic,
1218 b = m.username,
1219 g = m.userUrl,
1220 x = m.userEmail;
1221 else if (i) var p = "guest",
1222 v = "/widget/no-pic.png",
1223 b = "",
1224 g = "",
1225 x = "";
1226 var w = Object(f.a)(r),
1227 C = Object(f.b)(r);
1228 return Object(c.c)(Object(c.b)(l.a, {
1229 userId: p,
1230 userPic: v,
1231 username: b,
1232 userUrl: g,
1233 userEmail: x,
1234 isAuthorized: u,
1235 polyglot: C,
1236 ago: w,
1237 locale: r,
1238 allowGuests: i,
1239 widgetType: o,
1240 apiKey: n,
1241 jwt: t,
1242 itemId: d,
1243 itemProtocol: _,
1244 itemPort: y,
1245 jumpToComment: h,
1246 recaptchaSitekey: a
1247 }), e)
1248 }
1249 Object.defineProperty(t, "__esModule", {
1250 value: !0
1251 }), t.renderWidget = r;
1252 var o = n(29),
1253 i = (n.n(o), n(8)),
1254 a = (n.n(i), n(33)),
1255 s = n.n(a),
1256 c = n(0),
1257 u = n(11),
1258 l = n(36),
1259 f = n(113);
1260 window.jcRecaptchaPromise = new Promise(function (e) {
1261 window.jcOnRecaptchaLoad = function () {
1262 e()
1263 }
1264 });
1265 for (var m = document.getElementsByClassName("just-comments"), p = Object(u.a)(), d = p.itemId, h = p.jumpToComment, _ = p.itemProtocol, y = p.itemPort, v = 0; v < m.length; v++) r(m[v])
1266}, function (e, t) {
1267 ! function (e) {
1268 "use strict";
1269
1270 function t(e) {
1271 if ("string" != typeof e && (e = String(e)), /[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(e)) throw new TypeError("Invalid character in header field name");
1272 return e.toLowerCase()
1273 }
1274
1275 function n(e) {
1276 return "string" != typeof e && (e = String(e)), e
1277 }
1278
1279 function r(e) {
1280 var t = {
1281 next: function () {
1282 var t = e.shift();
1283 return {
1284 done: void 0 === t,
1285 value: t
1286 }
1287 }
1288 };
1289 return y.iterable && (t[Symbol.iterator] = function () {
1290 return t
1291 }), t
1292 }
1293
1294 function o(e) {
1295 this.map = {}, e instanceof o ? e.forEach(function (e, t) {
1296 this.append(t, e)
1297 }, this) : Array.isArray(e) ? e.forEach(function (e) {
1298 this.append(e[0], e[1])
1299 }, this) : e && Object.getOwnPropertyNames(e).forEach(function (t) {
1300 this.append(t, e[t])
1301 }, this)
1302 }
1303
1304 function i(e) {
1305 if (e.bodyUsed) return Promise.reject(new TypeError("Already read"));
1306 e.bodyUsed = !0
1307 }
1308
1309 function a(e) {
1310 return new Promise(function (t, n) {
1311 e.onload = function () {
1312 t(e.result)
1313 }, e.onerror = function () {
1314 n(e.error)
1315 }
1316 })
1317 }
1318
1319 function s(e) {
1320 var t = new FileReader,
1321 n = a(t);
1322 return t.readAsArrayBuffer(e), n
1323 }
1324
1325 function c(e) {
1326 var t = new FileReader,
1327 n = a(t);
1328 return t.readAsText(e), n
1329 }
1330
1331 function u(e) {
1332 for (var t = new Uint8Array(e), n = new Array(t.length), r = 0; r < t.length; r++) n[r] = String.fromCharCode(t[r]);
1333 return n.join("")
1334 }
1335
1336 function l(e) {
1337 if (e.slice) return e.slice(0);
1338 var t = new Uint8Array(e.byteLength);
1339 return t.set(new Uint8Array(e)), t.buffer
1340 }
1341
1342 function f() {
1343 return this.bodyUsed = !1, this._initBody = function (e) {
1344 if (this._bodyInit = e, e)
1345 if ("string" == typeof e) this._bodyText = e;
1346 else if (y.blob && Blob.prototype.isPrototypeOf(e)) this._bodyBlob = e;
1347 else if (y.formData && FormData.prototype.isPrototypeOf(e)) this._bodyFormData = e;
1348 else if (y.searchParams && URLSearchParams.prototype.isPrototypeOf(e)) this._bodyText = e.toString();
1349 else if (y.arrayBuffer && y.blob && b(e)) this._bodyArrayBuffer = l(e.buffer), this._bodyInit = new Blob([this._bodyArrayBuffer]);
1350 else {
1351 if (!y.arrayBuffer || !ArrayBuffer.prototype.isPrototypeOf(e) && !g(e)) throw new Error("unsupported BodyInit type");
1352 this._bodyArrayBuffer = l(e)
1353 } else this._bodyText = "";
1354 this.headers.get("content-type") || ("string" == typeof e ? this.headers.set("content-type", "text/plain;charset=UTF-8") : this._bodyBlob && this._bodyBlob.type ? this.headers.set("content-type", this._bodyBlob.type) : y.searchParams && URLSearchParams.prototype.isPrototypeOf(e) && this.headers.set("content-type", "application/x-www-form-urlencoded;charset=UTF-8"))
1355 }, y.blob && (this.blob = function () {
1356 var e = i(this);
1357 if (e) return e;
1358 if (this._bodyBlob) return Promise.resolve(this._bodyBlob);
1359 if (this._bodyArrayBuffer) return Promise.resolve(new Blob([this._bodyArrayBuffer]));
1360 if (this._bodyFormData) throw new Error("could not read FormData body as blob");
1361 return Promise.resolve(new Blob([this._bodyText]))
1362 }, this.arrayBuffer = function () {
1363 return this._bodyArrayBuffer ? i(this) || Promise.resolve(this._bodyArrayBuffer) : this.blob().then(s)
1364 }), this.text = function () {
1365 var e = i(this);
1366 if (e) return e;
1367 if (this._bodyBlob) return c(this._bodyBlob);
1368 if (this._bodyArrayBuffer) return Promise.resolve(u(this._bodyArrayBuffer));
1369 if (this._bodyFormData) throw new Error("could not read FormData body as text");
1370 return Promise.resolve(this._bodyText)
1371 }, y.formData && (this.formData = function () {
1372 return this.text().then(d)
1373 }), this.json = function () {
1374 return this.text().then(JSON.parse)
1375 }, this
1376 }
1377
1378 function m(e) {
1379 var t = e.toUpperCase();
1380 return x.indexOf(t) > -1 ? t : e
1381 }
1382
1383 function p(e, t) {
1384 t = t || {};
1385 var n = t.body;
1386 if (e instanceof p) {
1387 if (e.bodyUsed) throw new TypeError("Already read");
1388 this.url = e.url, this.credentials = e.credentials, t.headers || (this.headers = new o(e.headers)), this.method = e.method, this.mode = e.mode, n || null == e._bodyInit || (n = e._bodyInit, e.bodyUsed = !0)
1389 } else this.url = String(e);
1390 if (this.credentials = t.credentials || this.credentials || "omit", !t.headers && this.headers || (this.headers = new o(t.headers)), this.method = m(t.method || this.method || "GET"), this.mode = t.mode || this.mode || null, this.referrer = null, ("GET" === this.method || "HEAD" === this.method) && n) throw new TypeError("Body not allowed for GET or HEAD requests");
1391 this._initBody(n)
1392 }
1393
1394 function d(e) {
1395 var t = new FormData;
1396 return e.trim().split("&").forEach(function (e) {
1397 if (e) {
1398 var n = e.split("="),
1399 r = n.shift().replace(/\+/g, " "),
1400 o = n.join("=").replace(/\+/g, " ");
1401 t.append(decodeURIComponent(r), decodeURIComponent(o))
1402 }
1403 }), t
1404 }
1405
1406 function h(e) {
1407 var t = new o;
1408 return e.split(/\r?\n/).forEach(function (e) {
1409 var n = e.split(":"),
1410 r = n.shift().trim();
1411 if (r) {
1412 var o = n.join(":").trim();
1413 t.append(r, o)
1414 }
1415 }), t
1416 }
1417
1418 function _(e, t) {
1419 t || (t = {}), this.type = "default", this.status = "status" in t ? t.status : 200, this.ok = this.status >= 200 && this.status < 300, this.statusText = "statusText" in t ? t.statusText : "OK", this.headers = new o(t.headers), this.url = t.url || "", this._initBody(e)
1420 }
1421 if (!e.fetch) {
1422 var y = {
1423 searchParams: "URLSearchParams" in e,
1424 iterable: "Symbol" in e && "iterator" in Symbol,
1425 blob: "FileReader" in e && "Blob" in e && function () {
1426 try {
1427 return new Blob, !0
1428 } catch (e) {
1429 return !1
1430 }
1431 }(),
1432 formData: "FormData" in e,
1433 arrayBuffer: "ArrayBuffer" in e
1434 };
1435 if (y.arrayBuffer) var v = ["[object Int8Array]", "[object Uint8Array]", "[object Uint8ClampedArray]", "[object Int16Array]", "[object Uint16Array]", "[object Int32Array]", "[object Uint32Array]", "[object Float32Array]", "[object Float64Array]"],
1436 b = function (e) {
1437 return e && DataView.prototype.isPrototypeOf(e)
1438 },
1439 g = ArrayBuffer.isView || function (e) {
1440 return e && v.indexOf(Object.prototype.toString.call(e)) > -1
1441 };
1442 o.prototype.append = function (e, r) {
1443 e = t(e), r = n(r);
1444 var o = this.map[e];
1445 this.map[e] = o ? o + "," + r : r
1446 }, o.prototype.delete = function (e) {
1447 delete this.map[t(e)]
1448 }, o.prototype.get = function (e) {
1449 return e = t(e), this.has(e) ? this.map[e] : null
1450 }, o.prototype.has = function (e) {
1451 return this.map.hasOwnProperty(t(e))
1452 }, o.prototype.set = function (e, r) {
1453 this.map[t(e)] = n(r)
1454 }, o.prototype.forEach = function (e, t) {
1455 for (var n in this.map) this.map.hasOwnProperty(n) && e.call(t, this.map[n], n, this)
1456 }, o.prototype.keys = function () {
1457 var e = [];
1458 return this.forEach(function (t, n) {
1459 e.push(n)
1460 }), r(e)
1461 }, o.prototype.values = function () {
1462 var e = [];
1463 return this.forEach(function (t) {
1464 e.push(t)
1465 }), r(e)
1466 }, o.prototype.entries = function () {
1467 var e = [];
1468 return this.forEach(function (t, n) {
1469 e.push([n, t])
1470 }), r(e)
1471 }, y.iterable && (o.prototype[Symbol.iterator] = o.prototype.entries);
1472 var x = ["DELETE", "GET", "HEAD", "OPTIONS", "POST", "PUT"];
1473 p.prototype.clone = function () {
1474 return new p(this, {
1475 body: this._bodyInit
1476 })
1477 }, f.call(p.prototype), f.call(_.prototype), _.prototype.clone = function () {
1478 return new _(this._bodyInit, {
1479 status: this.status,
1480 statusText: this.statusText,
1481 headers: new o(this.headers),
1482 url: this.url
1483 })
1484 }, _.error = function () {
1485 var e = new _(null, {
1486 status: 0,
1487 statusText: ""
1488 });
1489 return e.type = "error", e
1490 };
1491 var w = [301, 302, 303, 307, 308];
1492 _.redirect = function (e, t) {
1493 if (-1 === w.indexOf(t)) throw new RangeError("Invalid status code");
1494 return new _(null, {
1495 status: t,
1496 headers: {
1497 location: e
1498 }
1499 })
1500 }, e.Headers = o, e.Request = p, e.Response = _, e.fetch = function (e, t) {
1501 return new Promise(function (n, r) {
1502 var o = new p(e, t),
1503 i = new XMLHttpRequest;
1504 i.onload = function () {
1505 var e = {
1506 status: i.status,
1507 statusText: i.statusText,
1508 headers: h(i.getAllResponseHeaders() || "")
1509 };
1510 e.url = "responseURL" in i ? i.responseURL : e.headers.get("X-Request-URL");
1511 var t = "response" in i ? i.response : i.responseText;
1512 n(new _(t, e))
1513 }, i.onerror = function () {
1514 r(new TypeError("Network request failed"))
1515 }, i.ontimeout = function () {
1516 r(new TypeError("Network request failed"))
1517 }, i.open(o.method, o.url, !0), "include" === o.credentials && (i.withCredentials = !0), "responseType" in i && y.blob && (i.responseType = "blob"), o.headers.forEach(function (e, t) {
1518 i.setRequestHeader(t, e)
1519 }), i.send(void 0 === o._bodyInit ? null : o._bodyInit)
1520 })
1521 }, e.fetch.polyfill = !0
1522 }
1523 }("undefined" != typeof self ? self : this)
1524}, function (e, t, n) {
1525 function r(e, t, n) {
1526 var r = t && n || 0,
1527 o = t || [];
1528 e = e || {};
1529 var a = void 0 !== e.clockseq ? e.clockseq : c,
1530 f = void 0 !== e.msecs ? e.msecs : (new Date).getTime(),
1531 m = void 0 !== e.nsecs ? e.nsecs : l + 1,
1532 p = f - u + (m - l) / 1e4;
1533 if (p < 0 && void 0 === e.clockseq && (a = a + 1 & 16383), (p < 0 || f > u) && void 0 === e.nsecs && (m = 0), m >= 1e4) throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");
1534 u = f, l = m, c = a, f += 122192928e5;
1535 var d = (1e4 * (268435455 & f) + m) % 4294967296;
1536 o[r++] = d >>> 24 & 255, o[r++] = d >>> 16 & 255, o[r++] = d >>> 8 & 255, o[r++] = 255 & d;
1537 var h = f / 4294967296 * 1e4 & 268435455;
1538 o[r++] = h >>> 8 & 255, o[r++] = 255 & h, o[r++] = h >>> 24 & 15 | 16, o[r++] = h >>> 16 & 255, o[r++] = a >>> 8 | 128, o[r++] = 255 & a;
1539 for (var _ = e.node || s, y = 0; y < 6; ++y) o[r + y] = _[y];
1540 return t || i(o)
1541 }
1542 var o = n(9),
1543 i = n(10),
1544 a = o(),
1545 s = [1 | a[0], a[1], a[2], a[3], a[4], a[5]],
1546 c = 16383 & (a[6] << 8 | a[7]),
1547 u = 0,
1548 l = 0;
1549 e.exports = r
1550}, function (e, t) {
1551 var n;
1552 n = function () {
1553 return this
1554 }();
1555 try {
1556 n = n || Function("return this")() || (0, eval)("this")
1557 } catch (e) {
1558 "object" == typeof window && (n = window)
1559 }
1560 e.exports = n
1561}, function (e, t, n) {
1562 function r(e, t, n) {
1563 var r = t && n || 0;
1564 "string" == typeof e && (t = "binary" == e ? new Array(16) : null, e = null), e = e || {};
1565 var a = e.random || (e.rng || o)();
1566 if (a[6] = 15 & a[6] | 64, a[8] = 63 & a[8] | 128, t)
1567 for (var s = 0; s < 16; ++s) t[r + s] = a[s];
1568 return t || i(a)
1569 }
1570 var o = n(9),
1571 i = n(10);
1572 e.exports = r
1573}, function (e, t, n) {
1574 "use strict";
1575
1576 function r(e) {
1577 this.message = e
1578 }
1579 var o = n(34);
1580 r.prototype = new Error, r.prototype.name = "InvalidTokenError", e.exports = function (e, t) {
1581 if ("string" != typeof e) throw new r("Invalid token specified");
1582 t = t || {};
1583 var n = !0 === t.header ? 0 : 1;
1584 try {
1585 return JSON.parse(o(e.split(".")[n]))
1586 } catch (e) {
1587 throw new r("Invalid token specified: " + e.message)
1588 }
1589 }, e.exports.InvalidTokenError = r
1590}, function (e, t, n) {
1591 function r(e) {
1592 return decodeURIComponent(o(e).replace(/(.)/g, function (e, t) {
1593 var n = t.charCodeAt(0).toString(16).toUpperCase();
1594 return n.length < 2 && (n = "0" + n), "%" + n
1595 }))
1596 }
1597 var o = n(35);
1598 e.exports = function (e) {
1599 var t = e.replace(/-/g, "+").replace(/_/g, "/");
1600 switch (t.length % 4) {
1601 case 0:
1602 break;
1603 case 2:
1604 t += "==";
1605 break;
1606 case 3:
1607 t += "=";
1608 break;
1609 default:
1610 throw "Illegal base64url string!"
1611 }
1612 try {
1613 return r(t)
1614 } catch (e) {
1615 return o(t)
1616 }
1617 }
1618}, function (e, t) {
1619 function n(e) {
1620 this.message = e
1621 }
1622
1623 function r(e) {
1624 var t = String(e).replace(/=+$/, "");
1625 if (t.length % 4 == 1) throw new n("'atob' failed: The string to be decoded is not correctly encoded.");
1626 for (var r, i, a = 0, s = 0, c = ""; i = t.charAt(s++); ~i && (r = a % 4 ? 64 * r + i : i, a++ % 4) ? c += String.fromCharCode(255 & r >> (-2 * a & 6)) : 0) i = o.indexOf(i);
1627 return c
1628 }
1629 var o = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
1630 n.prototype = new Error, n.prototype.name = "InvalidCharacterError", e.exports = "undefined" != typeof window && window.atob && window.atob.bind(window) || r
1631}, function (e, t, n) {
1632 "use strict";
1633
1634 function r(e, t) {
1635 if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
1636 }
1637
1638 function o(e, t) {
1639 if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
1640 return !t || "object" != typeof t && "function" != typeof t ? e : t
1641 }
1642
1643 function i(e, t) {
1644 if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
1645 e.prototype = Object.create(t && t.prototype, {
1646 constructor: {
1647 value: e,
1648 enumerable: !1,
1649 writable: !0,
1650 configurable: !0
1651 }
1652 }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
1653 }
1654 var a = n(0),
1655 s = n(37),
1656 c = n.n(s),
1657 u = n(12),
1658 l = n.n(u),
1659 f = n(13),
1660 m = n(93),
1661 p = (n(11), n(94)),
1662 d = n(100),
1663 h = n(22),
1664 _ = n(103),
1665 y = n(106),
1666 v = n(112),
1667 b = function () {
1668 function e(e, t) {
1669 for (var n = 0; n < t.length; n++) {
1670 var r = t[n];
1671 r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
1672 }
1673 }
1674 return function (t, n, r) {
1675 return n && e(t.prototype, n), r && e(t, r), t
1676 }
1677 }(),
1678 g = function (e) {
1679 function t(e) {
1680 r(this, t);
1681 var n = o(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e));
1682 return n.state = {
1683 count: 0,
1684 loading: !0,
1685 comments: [],
1686 lastKey: null,
1687 jumpToComment: e.jumpToComment
1688 }, n
1689 }
1690 return i(t, e), b(t, [{
1691 key: "checkCaptcha",
1692 value: function () {
1693 return this.recaptcha ? this.recaptcha.check() : Promise.resolve()
1694 }
1695 }, {
1696 key: "render",
1697 value: function (e, t) {
1698 var n = this,
1699 r = (e.userId, e.userPic),
1700 o = (e.username, e.userUrl, e.userEmail, e.isAuthorized),
1701 i = e.polyglot,
1702 s = e.ago,
1703 u = e.locale,
1704 f = e.allowGuests,
1705 m = (e.widgetType, e.apiKey, e.jwt, e.recaptchaSitekey),
1706 p = t.count,
1707 d = t.loading,
1708 b = t.comments,
1709 g = t.lastKey,
1710 x = t.jumpToComment,
1711 w = o || !o && f;
1712 return Object(a.b)("div", {
1713 className: c.a.comments
1714 }, [Object(a.b)("div", {
1715 className: c.a.comments__header
1716 }, Object(a.b)("h3", {}, ["" + i.t("comments"), p > 0 ? " (" + p + ")" : ""])), d ? Object(a.b)("div", {
1717 className: c.a.comments__content__loading
1718 }, [i.t("loadingComments")]) : Object(a.b)("div", {
1719 key: "content",
1720 className: c.a.comments__content
1721 }, b.length > 0 ? b.map(function (e, t) {
1722 return e.hidden && 0 === (e.nestedComments || []).length ? null : Object(a.b)(y.a, {
1723 polyglot: i,
1724 comment: e,
1725 ago: s,
1726 locale: u,
1727 userPic: r,
1728 highlight: x === e.commentId,
1729 guestForm: f && !o,
1730 onFormSend: function () {
1731 return n.onFormSend.apply(n, arguments)
1732 },
1733 parentId: e.parentId || e.commentId,
1734 onHighlight: function (e) {
1735 return n.setState({
1736 jumpToComment: e
1737 })
1738 },
1739 checkCaptcha: n.checkCaptcha.bind(n)
1740 })
1741 }) : Object(a.b)("p", {}, [i.t("noComments")]), g ? Object(a.b)(_.a, {
1742 onLoadMore: function () {
1743 return n.onLoadMore.apply(n, arguments)
1744 },
1745 polyglot: i
1746 }) : null), m ? Object(a.b)(v.a, {
1747 sitekey: m,
1748 ref: function (e) {
1749 return n.recaptcha = e
1750 }
1751 }) : null, w ? Object(a.b)("div", {
1752 className: c.a.comments__footer
1753 }, [Object(a.b)(h.a, {
1754 polyglot: i,
1755 userPic: r,
1756 guestForm: f && !o,
1757 onSend: function () {
1758 return n.onFormSend.apply(n, arguments)
1759 },
1760 checkCaptcha: this.checkCaptcha.bind(this)
1761 }), ]) : null])
1762 }
1763 }, {
1764 key: "componentDidMount",
1765 value: function () {
1766 var e = this,
1767 t = this.props,
1768 n = t.widgetType,
1769 r = t.apiKey,
1770 o = t.itemId,
1771 i = "normal" !== n;
1772 Object(f.b)(r, o, i, this.state.lastKey).then(function (t) {
1773 e.tryScroll = !0, e.setState({
1774 count: t.comments.filter(function (e) {
1775 return !e.hidden || e.hidden && e.nestedComments.length > 0
1776 }).length,
1777 loading: !1,
1778 comments: t.comments,
1779 lastKey: t.lastKey
1780 })
1781 })
1782 }
1783 }, {
1784 key: "loadMore",
1785 value: function () {
1786 var e = this,
1787 t = this.props,
1788 n = t.widgetType,
1789 r = t.apiKey,
1790 o = t.itemId,
1791 i = "normal" !== n;
1792 this.tryScroll = !1, Object(f.b)(r, o, i, this.state.lastKey).then(function (t) {
1793 e.tryScroll = !0, e.setState({
1794 count: t.comments.length,
1795 loading: !1,
1796 comments: e.state.comments.concat(t.comments),
1797 lastKey: t.lastKey
1798 })
1799 })
1800 }
1801 }, {
1802 key: "componentDidUpdate",
1803 value: function () {
1804 var e = this.state.jumpToComment;
1805 this.tryScroll && (e && setTimeout(function () {
1806 if (!document.getElementById("jc" + e)) return void console.log("Could not scroll: #jc" + e + " not found");
1807 document.getElementById("jc" + e).scrollIntoView()
1808 }, 50), this.tryScroll = !1)
1809 }
1810 }, {
1811 key: "createComment",
1812 value: function (e, t, n, r, o, i) {
1813 var a = this,
1814 s = this.props,
1815 c = s.isAuthorized,
1816 u = s.allowGuests,
1817 l = s.apiKey,
1818 f = this.props,
1819 h = f.jwt,
1820 _ = f.itemId,
1821 y = f.itemProtocol,
1822 v = f.itemPort,
1823 b = f.userId,
1824 g = f.userUrl,
1825 x = f.userPic,
1826 w = f.userEmail,
1827 C = f.username;
1828 return !c && u && (h = Object(p.a)(t, n, l), C = t), Object(m.a)(l, h, _, {
1829 itemProtocol: y,
1830 itemPort: v,
1831 message: e,
1832 replyToComment: r,
1833 parentId: o,
1834 captchaResult: i
1835 }, {
1836 username: C,
1837 userId: b,
1838 userUrl: g,
1839 userPic: x,
1840 userEmail: w
1841 }).then(function (e) {
1842 a.tryScroll = !0, a.setState({
1843 comments: Object(d.a)(a.state.comments, e),
1844 count: a.state.count + 1,
1845 jumpToComment: e.commentId
1846 })
1847 })
1848 }
1849 }, {
1850 key: "onFormSend",
1851 value: function (e) {
1852 var t = e.text,
1853 n = e.username,
1854 r = e.email,
1855 o = e.replyToComment,
1856 i = e.parentId,
1857 a = e.captchaResult;
1858 return this.createComment(t, n, r, o, i, a)
1859 }
1860 }, {
1861 key: "onLoadMore",
1862 value: function () {
1863 this.loadMore()
1864 }
1865 }]), t
1866 }(a.a);
1867 t.a = g
1868}, function (e, t, n) {
1869 var r = n(38);
1870 "string" == typeof r && (r = [
1871 [e.i, r, ""]
1872 ]);
1873 var o = {};
1874 o.transform = void 0;
1875 n(2)(r, o);
1876 r.locals && (e.exports = r.locals)
1877}, function (e, t, n) {
1878 t = e.exports = n(1)(void 0), t.push([e.i, '.src-ui-Comments__comments--3vUKo{margin:0 auto;font-size:1rem;line-height:1.6;box-sizing:border-box}.src-ui-Comments__comments__credit--1psGW{margin-top:20px;text-align:center}.src-ui-Comments__comments__credit--1psGW,.src-ui-Comments__comments__credit--1psGW a{font-size:13px;color:#303030;box-sizing:inherit}.src-ui-Comments__comments__content--5WQke{font-size:inherit;box-sizing:inherit}.src-ui-Comments__comments__content__loading--3jcmi:after{overflow:hidden;display:inline-block;vertical-align:bottom;-webkit-animation:src-ui-Comments__ellipsis--3WEZR steps(4) .9s infinite;animation:src-ui-Comments__ellipsis--3WEZR steps(4) .9s infinite;content:"\\2026";width:0;box-sizing:inherit}@keyframes src-ui-Comments__ellipsis--3WEZR{to{width:1.25em}}@-webkit-keyframes src-ui-Comments__ellipsis--3WEZR{to{width:1.25em}}.src-ui-Comments__comments__header--imyvY{font-size:inherit;box-sizing:inherit}.src-ui-Comments__comments__header--imyvY h3{font-size:1.6rem;box-sizing:inherit}.src-ui-Comments__comments__footer--3Z8Zz{padding-top:15px;max-width:100%;box-sizing:inherit}', ""]), t.locals = {
1879 comments: "src-ui-Comments__comments--3vUKo",
1880 comments__credit: "src-ui-Comments__comments__credit--1psGW",
1881 comments__content: "src-ui-Comments__comments__content--5WQke",
1882 comments__content__loading: "src-ui-Comments__comments__content__loading--3jcmi",
1883 ellipsis: "src-ui-Comments__ellipsis--3WEZR",
1884 comments__header: "src-ui-Comments__comments__header--imyvY",
1885 comments__footer: "src-ui-Comments__comments__footer--3Z8Zz"
1886 }
1887}, function (e, t) {
1888 e.exports = function (e) {
1889 var t = "undefined" != typeof window && window.location;
1890 if (!t) throw new Error("fixUrls requires window.location");
1891 if (!e || "string" != typeof e) return e;
1892 var n = t.protocol + "//" + t.host,
1893 r = n + t.pathname.replace(/\/[^\/]*$/, "/");
1894 return e.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi, function (e, t) {
1895 var o = t.trim().replace(/^"(.*)"$/, function (e, t) {
1896 return t
1897 }).replace(/^'(.*)'$/, function (e, t) {
1898 return t
1899 });
1900 if (/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/)/i.test(o)) return e;
1901 var i;
1902 return i = 0 === o.indexOf("//") ? o : 0 === o.indexOf("/") ? n + o : r + o.replace(/^\.\//, ""), "url(" + JSON.stringify(i) + ")"
1903 })
1904 }
1905}, function (e, t, n) {
1906 t = e.exports = n(1)(void 0), t.push([e.i, ".src-index__link--SgP13,.src-index__link--SgP13:hover{padding:0;background-color:initial}.src-index__link--SgP13:hover{color:initial}", ""]), t.locals = {
1907 link: "src-index__link--SgP13"
1908 }
1909}, function (e, t, n) {
1910 function r(e, t, n) {
1911 "__proto__" == t && o ? o(e, t, {
1912 configurable: !0,
1913 enumerable: !0,
1914 value: n,
1915 writable: !0
1916 }) : e[t] = n
1917 }
1918 var o = n(42);
1919 e.exports = r
1920}, function (e, t, n) {
1921 var r = n(43),
1922 o = function () {
1923 try {
1924 var e = r(Object, "defineProperty");
1925 return e({}, "", {}), e
1926 } catch (e) {}
1927 }();
1928 e.exports = o
1929}, function (e, t) {
1930 function n(e, t) {
1931 return null == e ? void 0 : e[t]
1932 }
1933 e.exports = n
1934}, function (e, t, n) {
1935 function r(e, t) {
1936 return function (n, r) {
1937 var c = s(n) ? o : i,
1938 u = t ? t() : {};
1939 return c(n, e, a(r, 2), u)
1940 }
1941 }
1942 var o = n(45),
1943 i = n(46),
1944 a = n(15),
1945 s = n(5);
1946 e.exports = r
1947}, function (e, t) {
1948 function n(e, t, n, r) {
1949 for (var o = -1, i = null == e ? 0 : e.length; ++o < i;) {
1950 var a = e[o];
1951 t(r, a, n(a), e)
1952 }
1953 return r
1954 }
1955 e.exports = n
1956}, function (e, t) {
1957 function n(e, t, n, r) {
1958 for (var o = -1, i = null == e ? 0 : e.length; ++o < i;) {
1959 var a = e[o];
1960 t(r, a, n(a), e)
1961 }
1962 return r
1963 }
1964 e.exports = n
1965}, function (e, t, n) {
1966 function r(e) {
1967 var t = i(e);
1968 return 1 == t.length && t[0][2] ? a(t[0][0], t[0][1]) : function (n) {
1969 return n === e || o(n, e, t)
1970 }
1971 }
1972 var o = n(48),
1973 i = n(68),
1974 a = n(20);
1975 e.exports = r
1976}, function (e, t, n) {
1977 function r(e, t, n, r) {
1978 var c = n.length,
1979 u = c,
1980 l = !r;
1981 if (null == e) return !u;
1982 for (e = Object(e); c--;) {
1983 var f = n[c];
1984 if (l && f[2] ? f[1] !== e[f[0]] : !(f[0] in e)) return !1
1985 }
1986 for (; ++c < u;) {
1987 f = n[c];
1988 var m = f[0],
1989 p = e[m],
1990 d = f[1];
1991 if (l && f[2]) {
1992 if (void 0 === p && !(m in e)) return !1
1993 } else {
1994 var h = new o;
1995 if (r) var _ = r(p, d, m, e, t, h);
1996 if (!(void 0 === _ ? i(d, p, a | s, r, h) : _)) return !1
1997 }
1998 }
1999 return !0
2000 }
2001 var o = n(16),
2002 i = n(17),
2003 a = 1,
2004 s = 2;
2005 e.exports = r
2006}, function (e, t) {
2007 function n() {
2008 this.__data__ = [], this.size = 0
2009 }
2010 e.exports = n
2011}, function (e, t, n) {
2012 function r(e) {
2013 var t = this.__data__,
2014 n = o(t, e);
2015 return !(n < 0) && (n == t.length - 1 ? t.pop() : a.call(t, n, 1), --this.size, !0)
2016 }
2017 var o = n(4),
2018 i = Array.prototype,
2019 a = i.splice;
2020 e.exports = r
2021}, function (e, t) {
2022 function n(e, t) {
2023 return e === t || e !== e && t !== t
2024 }
2025 e.exports = n
2026}, function (e, t, n) {
2027 function r(e) {
2028 var t = this.__data__,
2029 n = o(t, e);
2030 return n < 0 ? void 0 : t[n][1]
2031 }
2032 var o = n(4);
2033 e.exports = r
2034}, function (e, t, n) {
2035 function r(e) {
2036 return o(this.__data__, e) > -1
2037 }
2038 var o = n(4);
2039 e.exports = r
2040}, function (e, t, n) {
2041 function r(e, t) {
2042 var n = this.__data__,
2043 r = o(n, e);
2044 return r < 0 ? (++this.size, n.push([e, t])) : n[r][1] = t, this
2045 }
2046 var o = n(4);
2047 e.exports = r
2048}, function (e, t, n) {
2049 function r(e, t, n, r, _, v) {
2050 var b = u(e),
2051 g = u(t),
2052 x = b ? d : c(e),
2053 w = g ? d : c(t);
2054 x = x == p ? h : x, w = w == p ? h : w;
2055 var C = x == h,
2056 j = w == h,
2057 O = x == w;
2058 if (O && l(e)) {
2059 if (!l(t)) return !1;
2060 b = !0, C = !1
2061 }
2062 if (O && !C) return v || (v = new o), b || f(e) ? i(e, t, n, r, _, v) : a(e, t, x, n, r, _, v);
2063 if (!(n & m)) {
2064 var k = C && y.call(e, "__wrapped__"),
2065 T = j && y.call(t, "__wrapped__");
2066 if (k || T) {
2067 var S = k ? e.value() : e,
2068 P = T ? t.value() : t;
2069 return v || (v = new o), _(S, P, n, r, v)
2070 }
2071 }
2072 return !!O && (v || (v = new o), s(e, t, n, r, _, v))
2073 }
2074 var o = n(16),
2075 i = n(56),
2076 a = n(61),
2077 s = n(62),
2078 c = n(64),
2079 u = n(5),
2080 l = n(65),
2081 f = n(66),
2082 m = 1,
2083 p = "[object Arguments]",
2084 d = "[object Array]",
2085 h = "[object Object]",
2086 _ = Object.prototype,
2087 y = _.hasOwnProperty;
2088 e.exports = r
2089}, function (e, t, n) {
2090 function r(e, t, n, r, u, l) {
2091 var f = n & s,
2092 m = e.length,
2093 p = t.length;
2094 if (m != p && !(f && p > m)) return !1;
2095 var d = l.get(e);
2096 if (d && l.get(t)) return d == t;
2097 var h = -1,
2098 _ = !0,
2099 y = n & c ? new o : void 0;
2100 for (l.set(e, t), l.set(t, e); ++h < m;) {
2101 var v = e[h],
2102 b = t[h];
2103 if (r) var g = f ? r(b, v, h, t, e, l) : r(v, b, h, e, t, l);
2104 if (void 0 !== g) {
2105 if (g) continue;
2106 _ = !1;
2107 break
2108 }
2109 if (y) {
2110 if (!i(t, function (e, t) {
2111 if (!a(y, t) && (v === e || u(v, e, n, r, l))) return y.push(t)
2112 })) {
2113 _ = !1;
2114 break
2115 }
2116 } else if (v !== b && !u(v, b, n, r, l)) {
2117 _ = !1;
2118 break
2119 }
2120 }
2121 return l.delete(e), l.delete(t), _
2122 }
2123 var o = n(57),
2124 i = n(58),
2125 a = n(59),
2126 s = 1,
2127 c = 2;
2128 e.exports = r
2129}, function (e, t, n) {
2130 function r() {
2131 if (!arguments.length) return [];
2132 var e = arguments[0];
2133 return o(e) ? e : [e]
2134 }
2135 var o = n(5);
2136 e.exports = r
2137}, function (e, t) {
2138 function n(e, t) {
2139 for (var n = -1, r = null == e ? 0 : e.length; ++n < r;)
2140 if (t(e[n], n, e)) return !0;
2141 return !1
2142 }
2143 e.exports = n
2144}, function (e, t, n) {
2145 function r(e, t) {
2146 return !!(null == e ? 0 : e.length) && o(e, t, 0) > -1
2147 }
2148 var o = n(60);
2149 e.exports = r
2150}, function (e, t) {
2151 function n(e, t, n) {
2152 for (var r = n - 1, o = e.length; ++r < o;)
2153 if (e[r] === t) return r;
2154 return -1
2155 }
2156 e.exports = n
2157}, function (e, t) {
2158 function n(e, t) {
2159 return e === t || e !== e && t !== t
2160 }
2161 e.exports = n
2162}, function (e, t, n) {
2163 function r(e, t, n, r, a, c) {
2164 var u = n & i,
2165 l = o(e),
2166 f = l.length;
2167 if (f != o(t).length && !u) return !1;
2168 for (var m = f; m--;) {
2169 var p = l[m];
2170 if (!(u ? p in t : s.call(t, p))) return !1
2171 }
2172 var d = c.get(e);
2173 if (d && c.get(t)) return d == t;
2174 var h = !0;
2175 c.set(e, t), c.set(t, e);
2176 for (var _ = u; ++m < f;) {
2177 p = l[m];
2178 var y = e[p],
2179 v = t[p];
2180 if (r) var b = u ? r(v, y, p, t, e, c) : r(y, v, p, e, t, c);
2181 if (!(void 0 === b ? y === v || a(y, v, n, r, c) : b)) {
2182 h = !1;
2183 break
2184 }
2185 _ || (_ = "constructor" == p)
2186 }
2187 if (h && !_) {
2188 var g = e.constructor,
2189 x = t.constructor;
2190 g != x && "constructor" in e && "constructor" in t && !("function" == typeof g && g instanceof g && "function" == typeof x && x instanceof x) && (h = !1)
2191 }
2192 return c.delete(e), c.delete(t), h
2193 }
2194 var o = n(63),
2195 i = 1,
2196 a = Object.prototype,
2197 s = a.hasOwnProperty;
2198 e.exports = r
2199}, function (e, t, n) {
2200 var r = n(18),
2201 o = r(Object.keys, Object);
2202 e.exports = o
2203}, function (e, t) {
2204 function n(e) {
2205 return o.call(e)
2206 }
2207 var r = Object.prototype,
2208 o = r.toString;
2209 e.exports = n
2210}, function (e, t) {
2211 function n() {
2212 return !1
2213 }
2214 e.exports = n
2215}, function (e, t) {
2216 function n() {
2217 return !1
2218 }
2219 e.exports = n
2220}, function (e, t) {
2221 function n(e) {
2222 return null != e && "object" == typeof e
2223 }
2224 e.exports = n
2225}, function (e, t, n) {
2226 function r(e) {
2227 for (var t = i(e), n = t.length; n--;) {
2228 var r = t[n],
2229 a = e[r];
2230 t[n] = [r, a, o(a)]
2231 }
2232 return t
2233 }
2234 var o = n(19),
2235 i = n(70);
2236 e.exports = r
2237}, function (e, t) {
2238 function n(e) {
2239 var t = typeof e;
2240 return null != e && ("object" == t || "function" == t)
2241 }
2242 e.exports = n
2243}, function (e, t, n) {
2244 var r = n(18),
2245 o = r(Object.keys, Object);
2246 e.exports = o
2247}, function (e, t, n) {
2248 function r(e, t) {
2249 return s(e) && c(t) ? u(l(e), t) : function (n) {
2250 var r = i(n, e);
2251 return void 0 === r && r === t ? a(n, e) : o(t, r, f | m)
2252 }
2253 }
2254 var o = n(17),
2255 i = n(72),
2256 a = n(74),
2257 s = n(75),
2258 c = n(19),
2259 u = n(20),
2260 l = n(76),
2261 f = 1,
2262 m = 2;
2263 e.exports = r
2264}, function (e, t, n) {
2265 function r(e, t, n) {
2266 var r = null == e ? void 0 : o(e, t);
2267 return void 0 === r ? n : r
2268 }
2269 var o = n(73);
2270 e.exports = r
2271}, function (e, t) {
2272 function n(e, t) {
2273 return null == e ? void 0 : e[t]
2274 }
2275 e.exports = n
2276}, function (e, t) {
2277 function n(e, t) {
2278 return null != e && t in Object(e)
2279 }
2280 e.exports = n
2281}, function (e, t) {
2282 function n(e) {
2283 return e
2284 }
2285 e.exports = n
2286}, function (e, t) {
2287 function n(e) {
2288 return e
2289 }
2290 e.exports = n
2291}, function (e, t) {
2292 function n(e) {
2293 return function (t) {
2294 return null == t ? void 0 : t[e]
2295 }
2296 }
2297 e.exports = n
2298}, function (e, t) {
2299 function n(e) {
2300 return e && e.length ? e[0] : void 0
2301 }
2302 e.exports = n
2303}, function (e, t, n) {
2304 function r(e, t, n) {
2305 var r = -1;
2306 t = o(t.length ? t : [l], c(i));
2307 var f = a(e, function (e, n, i) {
2308 return {
2309 criteria: o(t, function (t) {
2310 return t(e)
2311 }),
2312 index: ++r,
2313 value: e
2314 }
2315 });
2316 return s(f, function (e, t) {
2317 return u(e, t, n)
2318 })
2319 }
2320 var o = n(80),
2321 i = n(15),
2322 a = n(81),
2323 s = n(82),
2324 c = n(83),
2325 u = n(84),
2326 l = n(6);
2327 e.exports = r
2328}, function (e, t) {
2329 function n(e, t) {
2330 for (var n = -1, r = null == e ? 0 : e.length, o = Array(r); ++n < r;) o[n] = t(e[n], n, e);
2331 return o
2332 }
2333 e.exports = n
2334}, function (e, t) {
2335 function n(e, t) {
2336 for (var n = -1, r = null == e ? 0 : e.length, o = Array(r); ++n < r;) o[n] = t(e[n], n, e);
2337 return o
2338 }
2339 e.exports = n
2340}, function (e, t) {
2341 function n(e, t) {
2342 var n = e.length;
2343 for (e.sort(t); n--;) e[n] = e[n].value;
2344 return e
2345 }
2346 e.exports = n
2347}, function (e, t) {
2348 function n(e) {
2349 return function (t) {
2350 return e(t)
2351 }
2352 }
2353 e.exports = n
2354}, function (e, t, n) {
2355 function r(e, t, n) {
2356 for (var r = -1, i = e.criteria, a = t.criteria, s = i.length, c = n.length; ++r < s;) {
2357 var u = o(i[r], a[r]);
2358 if (u) {
2359 if (r >= c) return u;
2360 return u * ("desc" == n[r] ? -1 : 1)
2361 }
2362 }
2363 return e.index - t.index
2364 }
2365 var o = n(85);
2366 e.exports = r
2367}, function (e, t, n) {
2368 function r(e, t) {
2369 if (e !== t) {
2370 var n = void 0 !== e,
2371 r = null === e,
2372 i = e === e,
2373 a = o(e),
2374 s = void 0 !== t,
2375 c = null === t,
2376 u = t === t,
2377 l = o(t);
2378 if (!c && !l && !a && e > t || a && s && u && !c && !l || r && s && u || !n && u || !i) return 1;
2379 if (!r && !a && !l && e < t || l && n && i && !r && !a || c && n && i || !s && i || !u) return -1
2380 }
2381 return 0
2382 }
2383 var o = n(86);
2384 e.exports = r
2385}, function (e, t) {
2386 function n() {
2387 return !1
2388 }
2389 e.exports = n
2390}, function (e, t, n) {
2391 function r(e, t) {
2392 return a(i(e, t, o), e + "")
2393 }
2394 var o = n(6),
2395 i = n(88),
2396 a = n(90);
2397 e.exports = r
2398}, function (e, t, n) {
2399 function r(e, t, n) {
2400 return t = i(void 0 === t ? e.length - 1 : t, 0),
2401 function () {
2402 for (var r = arguments, a = -1, s = i(r.length - t, 0), c = Array(s); ++a < s;) c[a] = r[t + a];
2403 a = -1;
2404 for (var u = Array(t + 1); ++a < t;) u[a] = r[a];
2405 return u[t] = n(c), o(e, this, u)
2406 }
2407 }
2408 var o = n(89),
2409 i = Math.max;
2410 e.exports = r
2411}, function (e, t) {
2412 function n(e, t, n) {
2413 switch (n.length) {
2414 case 0:
2415 return e.call(t);
2416 case 1:
2417 return e.call(t, n[0]);
2418 case 2:
2419 return e.call(t, n[0], n[1]);
2420 case 3:
2421 return e.call(t, n[0], n[1], n[2])
2422 }
2423 return e.apply(t, n)
2424 }
2425 e.exports = n
2426}, function (e, t) {
2427 function n(e) {
2428 return e
2429 }
2430 e.exports = n
2431}, function (e, t) {
2432 function n() {
2433 return !1
2434 }
2435 e.exports = n
2436}, function (e, t, n) {
2437 var r, o, i;
2438 ! function (n, a) {
2439 o = [], r = a, void 0 !== (i = "function" == typeof r ? r.apply(t, o) : r) && (e.exports = i)
2440 }(0, function () {
2441 "use strict";
2442 return function (e, t) {
2443 t = t || {};
2444 for (var n, r, o, i = t.idKey || "id", a = t.parentKey || "parent", s = t.childrenKey || "children", c = [], u = {}, l = 0, f = e.length; l < f; l++) n = e[l], r = n[i], o = n[a] || 0, u[r] = u[r] || [], n[s] = u[r], 0 != o ? (u[o] = u[o] || [], u[o].push(n)) : c.push(n);
2445 return c
2446 }
2447 })
2448}, function (e, t, n) {
2449 "use strict";
2450
2451 function r(e, t, n, r, o) {
2452 var a = r.message,
2453 s = r.replyToComment,
2454 c = r.parentId,
2455 u = r.captchaResult,
2456 l = r.itemProtocol,
2457 f = r.itemPort,
2458 m = (o.username, o.userPic, o.userId, o.userUrl, o.userEmail, i.a.v4()),
2459 p = new Request("https://service.just-comments.com/prod/comments/create", {
2460 method: "POST",
2461 mode: "cors",
2462 redirect: "follow",
2463 headers: new Headers({
2464 "Content-Type": "application/json",
2465 Authorization: "Bearer " + t,
2466 "x-api-key": e
2467 }),
2468 body: JSON.stringify({
2469 itemId: n,
2470 itemProtocol: l,
2471 itemPort: f,
2472 commentId: m,
2473 parentId: c,
2474 replyTo: s ? s.commentId : void 0,
2475 message: a,
2476 captchaResult: u
2477 })
2478 });
2479 return fetch(p).then(function (e) {
2480 return e.json()
2481 }).then(function (e) {
2482 return e.replyToComment = s, e
2483 })
2484 }
2485 t.a = r;
2486 var o = n(8),
2487 i = n.n(o)
2488}, function (e, t, n) {
2489 "use strict";
2490
2491 function r(e) {
2492 var t = a.a.stringify(e);
2493 return t = t.replace(/=+$/, ""), t = t.replace(/\+/g, "-"), t = t.replace(/\//g, "_")
2494 }
2495
2496 function o(e, t, n) {
2497 var o = {
2498 alg: "HS256",
2499 typ: "JWT"
2500 },
2501 i = c.a.parse(JSON.stringify(o)),
2502 a = r(i),
2503 s = {
2504 apiKey: n,
2505 userId: "guest",
2506 userPic: f,
2507 userUrl: null,
2508 userEmail: t,
2509 username: e
2510 },
2511 u = c.a.parse(JSON.stringify(s)),
2512 p = r(u),
2513 d = a + "." + p,
2514 h = l()(d, m);
2515 return h = r(h), d + "." + h
2516 }
2517 t.a = o;
2518 var i = n(95),
2519 a = n.n(i),
2520 s = n(96),
2521 c = n.n(s),
2522 u = n(97),
2523 l = n.n(u),
2524 f = "https://just-comments.com/widget/no-pic.png",
2525 m = "guest"
2526}, function (e, t, n) {
2527 ! function (r, o) {
2528 e.exports = t = o(n(3))
2529 }(0, function (e) {
2530 return function () {
2531 function t(e, t, n) {
2532 for (var r = [], i = 0, a = 0; a < t; a++)
2533 if (a % 4) {
2534 var s = n[e.charCodeAt(a - 1)] << a % 4 * 2,
2535 c = n[e.charCodeAt(a)] >>> 6 - a % 4 * 2;
2536 r[i >>> 2] |= (s | c) << 24 - i % 4 * 8, i++
2537 }
2538 return o.create(r, i)
2539 }
2540 var n = e,
2541 r = n.lib,
2542 o = r.WordArray,
2543 i = n.enc;
2544 i.Base64 = {
2545 stringify: function (e) {
2546 var t = e.words,
2547 n = e.sigBytes,
2548 r = this._map;
2549 e.clamp();
2550 for (var o = [], i = 0; i < n; i += 3)
2551 for (var a = t[i >>> 2] >>> 24 - i % 4 * 8 & 255, s = t[i + 1 >>> 2] >>> 24 - (i + 1) % 4 * 8 & 255, c = t[i + 2 >>> 2] >>> 24 - (i + 2) % 4 * 8 & 255, u = a << 16 | s << 8 | c, l = 0; l < 4 && i + .75 * l < n; l++) o.push(r.charAt(u >>> 6 * (3 - l) & 63));
2552 var f = r.charAt(64);
2553 if (f)
2554 for (; o.length % 4;) o.push(f);
2555 return o.join("")
2556 },
2557 parse: function (e) {
2558 var n = e.length,
2559 r = this._map,
2560 o = this._reverseMap;
2561 if (!o) {
2562 o = this._reverseMap = [];
2563 for (var i = 0; i < r.length; i++) o[r.charCodeAt(i)] = i
2564 }
2565 var a = r.charAt(64);
2566 if (a) {
2567 var s = e.indexOf(a); - 1 !== s && (n = s)
2568 }
2569 return t(e, n, o)
2570 },
2571 _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
2572 }
2573 }(), e.enc.Base64
2574 })
2575}, function (e, t, n) {
2576 ! function (r, o) {
2577 e.exports = t = o(n(3))
2578 }(0, function (e) {
2579 return e.enc.Utf8
2580 })
2581}, function (e, t, n) {
2582 ! function (r, o, i) {
2583 e.exports = t = o(n(3), n(98), n(99))
2584 }(0, function (e) {
2585 return e.HmacSHA256
2586 })
2587}, function (e, t, n) {
2588 ! function (r, o) {
2589 e.exports = t = o(n(3))
2590 }(0, function (e) {
2591 return function (t) {
2592 var n = e,
2593 r = n.lib,
2594 o = r.WordArray,
2595 i = r.Hasher,
2596 a = n.algo,
2597 s = [],
2598 c = [];
2599 ! function () {
2600 function e(e) {
2601 return 4294967296 * (e - (0 | e)) | 0
2602 }
2603 for (var n = 2, r = 0; r < 64;)(function (e) {
2604 for (var n = t.sqrt(e), r = 2; r <= n; r++)
2605 if (!(e % r)) return !1;
2606 return !0
2607 })(n) && (r < 8 && (s[r] = e(t.pow(n, .5))), c[r] = e(t.pow(n, 1 / 3)), r++), n++
2608 }();
2609 var u = [],
2610 l = a.SHA256 = i.extend({
2611 _doReset: function () {
2612 this._hash = new o.init(s.slice(0))
2613 },
2614 _doProcessBlock: function (e, t) {
2615 for (var n = this._hash.words, r = n[0], o = n[1], i = n[2], a = n[3], s = n[4], l = n[5], f = n[6], m = n[7], p = 0; p < 64; p++) {
2616 if (p < 16) u[p] = 0 | e[t + p];
2617 else {
2618 var d = u[p - 15],
2619 h = (d << 25 | d >>> 7) ^ (d << 14 | d >>> 18) ^ d >>> 3,
2620 _ = u[p - 2],
2621 y = (_ << 15 | _ >>> 17) ^ (_ << 13 | _ >>> 19) ^ _ >>> 10;
2622 u[p] = h + u[p - 7] + y + u[p - 16]
2623 }
2624 var v = s & l ^ ~s & f,
2625 b = r & o ^ r & i ^ o & i,
2626 g = (r << 30 | r >>> 2) ^ (r << 19 | r >>> 13) ^ (r << 10 | r >>> 22),
2627 x = (s << 26 | s >>> 6) ^ (s << 21 | s >>> 11) ^ (s << 7 | s >>> 25),
2628 w = m + x + v + c[p] + u[p],
2629 C = g + b;
2630 m = f, f = l, l = s, s = a + w | 0, a = i, i = o, o = r, r = w + C | 0
2631 }
2632 n[0] = n[0] + r | 0, n[1] = n[1] + o | 0, n[2] = n[2] + i | 0, n[3] = n[3] + a | 0, n[4] = n[4] + s | 0, n[5] = n[5] + l | 0, n[6] = n[6] + f | 0, n[7] = n[7] + m | 0
2633 },
2634 _doFinalize: function () {
2635 var e = this._data,
2636 n = e.words,
2637 r = 8 * this._nDataBytes,
2638 o = 8 * e.sigBytes;
2639 return n[o >>> 5] |= 128 << 24 - o % 32, n[14 + (o + 64 >>> 9 << 4)] = t.floor(r / 4294967296), n[15 + (o + 64 >>> 9 << 4)] = r, e.sigBytes = 4 * n.length, this._process(), this._hash
2640 },
2641 clone: function () {
2642 var e = i.clone.call(this);
2643 return e._hash = this._hash.clone(), e
2644 }
2645 });
2646 n.SHA256 = i._createHelper(l), n.HmacSHA256 = i._createHmacHelper(l)
2647 }(Math), e.SHA256
2648 })
2649}, function (e, t, n) {
2650 ! function (r, o) {
2651 e.exports = t = o(n(3))
2652 }(0, function (e) {
2653 ! function () {
2654 var t = e,
2655 n = t.lib,
2656 r = n.Base,
2657 o = t.enc,
2658 i = o.Utf8,
2659 a = t.algo;
2660 a.HMAC = r.extend({
2661 init: function (e, t) {
2662 e = this._hasher = new e.init, "string" == typeof t && (t = i.parse(t));
2663 var n = e.blockSize,
2664 r = 4 * n;
2665 t.sigBytes > r && (t = e.finalize(t)), t.clamp();
2666 for (var o = this._oKey = t.clone(), a = this._iKey = t.clone(), s = o.words, c = a.words, u = 0; u < n; u++) s[u] ^= 1549556828, c[u] ^= 909522486;
2667 o.sigBytes = a.sigBytes = r, this.reset()
2668 },
2669 reset: function () {
2670 var e = this._hasher;
2671 e.reset(), e.update(this._iKey)
2672 },
2673 update: function (e) {
2674 return this._hasher.update(e), this
2675 },
2676 finalize: function (e) {
2677 var t = this._hasher,
2678 n = t.finalize(e);
2679 return t.reset(), t.finalize(this._oKey.clone().concat(n))
2680 }
2681 })
2682 }()
2683 })
2684}, function (e, t, n) {
2685 "use strict";
2686
2687 function r(e) {
2688 if (Array.isArray(e)) {
2689 for (var t = 0, n = Array(e.length); t < e.length; t++) n[t] = e[t];
2690 return n
2691 }
2692 return Array.from(e)
2693 }
2694
2695 function o(e, t) {
2696 return Object(i.a)([].concat(r(e), [t]))
2697 }
2698 t.a = o;
2699 var i = n(13)
2700}, function (e, t, n) {
2701 var r = n(102);
2702 "string" == typeof r && (r = [
2703 [e.i, r, ""]
2704 ]);
2705 var o = {};
2706 o.transform = void 0;
2707 n(2)(r, o);
2708 r.locals && (e.exports = r.locals)
2709}, function (e, t, n) {
2710 t = e.exports = n(1)(void 0), t.push([e.i, ".src-ui-CommentsForm__comments__form--2lqHa{padding-left:64px;position:relative;box-sizing:inherit}.src-ui-CommentsForm__comments__form__img--2914M{width:40px;height:40px;float:left;left:0;position:absolute;box-sizing:inherit;margin-left:10px}.src-ui-CommentsForm__comments__form__textarea--3wbfC{width:100%;resize:vertical;display:block;margin:0;border:1px solid #dedede;height:150px;border-radius:2px;padding:5px 10px;line-height:22px;box-sizing:border-box;float:left;outline:0!important;font-family:inherit;font-size:15px;overflow:hidden}.src-ui-CommentsForm__comments__form__textarea--3wbfC.src-ui-CommentsForm__error--3m6C6{border:1px solid red}.src-ui-CommentsForm__comments__form__name--2xkrT{width:100%;resize:vertical;display:block;margin:0;border:1px solid #dedede;border-radius:2px;padding:5px 10px;line-height:22px;box-sizing:border-box;float:left;outline:0!important;margin-bottom:3px;font-family:inherit;font-size:15px}.src-ui-CommentsForm__comments__form__name--2xkrT.src-ui-CommentsForm__error--3m6C6{border:1px solid red}.src-ui-CommentsForm__comments__form__email--216xp{width:100%;resize:vertical;display:block;margin:0;border:1px solid #dedede;border-radius:2px;padding:5px 10px;line-height:22px;box-sizing:border-box;float:left;outline:0!important;margin-bottom:3px;font-family:inherit;font-size:15px}.src-ui-CommentsForm__comments__form__email--216xp.src-ui-CommentsForm__error--3m6C6{border:1px solid red}.src-ui-CommentsForm__comments__form__send--1NxBp{display:inline-block;margin-top:1rem;padding:3px 9px;line-height:1.8;appearance:none;box-shadow:none;border-radius:0;color:#fff;background-color:#6496c8;text-shadow:-1px 1px #417cb8;border:none;font-family:inherit;font-size:15px;box-sizing:inherit}.src-ui-CommentsForm__comments__form__send--1NxBp:hover{background-color:#346392;text-shadow:-1px 1px #27496d;cursor:pointer}.src-ui-CommentsForm__comments__form__send--1NxBp:active{background-color:#27496d;text-shadow:-1px 1px #193047}.src-ui-CommentsForm__comments__form__help--2YWTB{padding-left:10px;font-size:12px;color:grey}", ""]), t.locals = {
2711 comments__form: "src-ui-CommentsForm__comments__form--2lqHa",
2712 comments__form__img: "src-ui-CommentsForm__comments__form__img--2914M",
2713 comments__form__textarea: "src-ui-CommentsForm__comments__form__textarea--3wbfC",
2714 error: "src-ui-CommentsForm__error--3m6C6",
2715 comments__form__name: "src-ui-CommentsForm__comments__form__name--2xkrT",
2716 comments__form__email: "src-ui-CommentsForm__comments__form__email--216xp",
2717 comments__form__send: "src-ui-CommentsForm__comments__form__send--1NxBp",
2718 comments__form__help: "src-ui-CommentsForm__comments__form__help--2YWTB"
2719 }
2720}, function (e, t, n) {
2721 "use strict";
2722
2723 function r(e, t) {
2724 if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
2725 }
2726
2727 function o(e, t) {
2728 if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
2729 return !t || "object" != typeof t && "function" != typeof t ? e : t
2730 }
2731
2732 function i(e, t) {
2733 if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
2734 e.prototype = Object.create(t && t.prototype, {
2735 constructor: {
2736 value: e,
2737 enumerable: !1,
2738 writable: !0,
2739 configurable: !0
2740 }
2741 }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
2742 }
2743 var a = n(0),
2744 s = n(104),
2745 c = n.n(s),
2746 u = function () {
2747 function e(e, t) {
2748 for (var n = 0; n < t.length; n++) {
2749 var r = t[n];
2750 r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
2751 }
2752 }
2753 return function (t, n, r) {
2754 return n && e(t.prototype, n), r && e(t, r), t
2755 }
2756 }(),
2757 l = function (e) {
2758 function t() {
2759 return r(this, t), o(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments))
2760 }
2761 return i(t, e), u(t, [{
2762 key: "render",
2763 value: function (e, t) {
2764 return Object(a.b)("div", {
2765 className: c.a.container
2766 }, [Object(a.b)("button", {
2767 className: c.a.button,
2768 onClick: e.onLoadMore
2769 }, [e.polyglot.t("loadMoreButton")])])
2770 }
2771 }]), t
2772 }(a.a);
2773 t.a = l
2774}, function (e, t, n) {
2775 var r = n(105);
2776 "string" == typeof r && (r = [
2777 [e.i, r, ""]
2778 ]);
2779 var o = {};
2780 o.transform = void 0;
2781 n(2)(r, o);
2782 r.locals && (e.exports = r.locals)
2783}, function (e, t, n) {
2784 t = e.exports = n(1)(void 0), t.push([e.i, ".src-ui-LoadMoreButton__button--TOzRA{display:inline-block;margin-top:1rem;padding:3px 9px;line-height:1.8;appearance:none;box-shadow:none;border-radius:0;color:#fff;background-color:#6496c8;text-shadow:-1px 1px #417cb8;border:none;font-family:inherit;font-size:15px;box-sizing:inherit}.src-ui-LoadMoreButton__button--TOzRA:hover{background-color:#346392;text-shadow:-1px 1px #27496d;cursor:pointer}.src-ui-LoadMoreButton__button--TOzRA:active{background-color:#27496d;text-shadow:-1px 1px #193047}.src-ui-LoadMoreButton__container--3jPR7{text-align:center;box-sizing:inherit}", ""]), t.locals = {
2785 button: "src-ui-LoadMoreButton__button--TOzRA",
2786 container: "src-ui-LoadMoreButton__container--3jPR7"
2787 }
2788}, function (e, t, n) {
2789 "use strict";
2790
2791 function r(e, t) {
2792 if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
2793 }
2794
2795 function o(e, t) {
2796 if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
2797 return !t || "object" != typeof t && "function" != typeof t ? e : t
2798 }
2799
2800 function i(e, t) {
2801 if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
2802 e.prototype = Object.create(t && t.prototype, {
2803 constructor: {
2804 value: e,
2805 enumerable: !1,
2806 writable: !0,
2807 configurable: !0
2808 }
2809 }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
2810 }
2811 var a = n(0),
2812 s = n(107),
2813 c = n.n(s),
2814 u = n(12),
2815 l = n.n(u),
2816 f = n(22),
2817 m = n(109),
2818 p = function () {
2819 function e(e, t) {
2820 for (var n = 0; n < t.length; n++) {
2821 var r = t[n];
2822 r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
2823 }
2824 }
2825 return function (t, n, r) {
2826 return n && e(t.prototype, n), r && e(t, r), t
2827 }
2828 }(),
2829 d = function (e) {
2830 function t() {
2831 r(this, t);
2832 var e = o(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this));
2833 return e.state.displayReplyForm = !1, e
2834 }
2835 return i(t, e), p(t, [{
2836 key: "onShare",
2837 value: function (e) {
2838 open("https://just-comments.com/share.html#" + encodeURIComponent(e), "share", "height=380,width=660,resizable=0,toolbar=0,menubar=0,status=0,location=0,scrollbars=0")
2839 }
2840 }, {
2841 key: "onReply",
2842 value: function (e) {
2843 this.setState({
2844 displayReplyForm: !this.state.displayReplyForm
2845 })
2846 }
2847 }, {
2848 key: "render",
2849 value: function (e, t) {
2850 var n = this,
2851 r = e.polyglot,
2852 o = e.comment,
2853 i = e.ago,
2854 s = e.locale,
2855 u = e.guestForm,
2856 p = e.onFormSend,
2857 d = e.userPic,
2858 h = e.parentId,
2859 _ = e.highlight,
2860 y = e.checkCaptcha,
2861 v = t.displayReplyForm;
2862 return Object(a.b)("div", {
2863 className: c.a.comment + " " + (_ ? c.a.highlight : "") + " " + c.a["comment__level__" + o.level],
2864 key: t.commentId,
2865 id: "jc" + o.commentId
2866 }, Object(a.b)("div", {
2867 className: c.a.comment__header
2868 }, Object(a.b)("a", {
2869 className: c.a.comment__user + " " + l.a.link,
2870 href: o.userUrl
2871 }, Object(a.b)("img", {
2872 src: o.userPic
2873 }), Object(a.b)("div", {
2874 className: c.a.name
2875 }, Object(a.b)("span", {}, o.hidden ? r.t("usernameRemoved") : String(o.username)))), Object(a.b)("a", {
2876 onClick: function () {
2877 n.props.onHighlight(o.commentId)
2878 },
2879 title: o.createdAt,
2880 className: c.a.comment__date + " " + l.a.link,
2881 href: o.commentUrl
2882 }, [Object(a.b)("span", {}, String(i(o.createdAt, s)))]), o.replyToComment ? Object(a.b)("a", {
2883 onClick: function () {
2884 n.props.onHighlight(o.replyToComment.commentId)
2885 },
2886 className: c.a.comment__replyTo + " " + l.a.link,
2887 href: o.replyToComment.commentUrl
2888 }, [Object(a.b)("svg", {
2889 className: c.a.comment__replyToIcon,
2890 viewBox: "0 0 1792 1792",
2891 xmlns: "http://www.w3.org/2000/svg"
2892 }, [Object(a.b)("path", {
2893 d: "M1792 1120q0 166-127 451-3 7-10.5 24t-13.5 30-13 22q-12 17-28 17-15 0-23.5-10t-8.5-25q0-9 2.5-26.5t2.5-23.5q5-68 5-123 0-101-17.5-181t-48.5-138.5-80-101-105.5-69.5-133-42.5-154-21.5-175.5-6h-224v256q0 26-19 45t-45 19-45-19l-512-512q-19-19-19-45t19-45l512-512q19-19 45-19t45 19 19 45v256h224q713 0 875 403 53 134 53 333z"
2894 })]), Object(a.b)("span", {
2895 className: c.a.comment__replyToText
2896 }, [o.replyToComment.username])]) : null), Object(a.b)("div", {
2897 className: c.a.comment__content
2898 }, Object(a.b)("div", {
2899 className: c.a.comment__message
2900 }, o.hidden ? [Object(a.b)("span", {
2901 className: c.a.comment__message__hidden
2902 }, r.t("commentRemovedByModerator"))] : this.renderMessage(o)), Object(a.b)("div", {
2903 className: c.a.comment__buttons
2904 }, [o.hidden ? null : Object(a.b)(m.a, {
2905 className: c.a.comment__button,
2906 polyglot: r,
2907 buttonLabelKey: "reply",
2908 onClick: function () {
2909 return n.onReply()
2910 }
2911 }), o.hidden ? null : Object(a.b)(m.a, {
2912 className: c.a.comment__button,
2913 polyglot: r,
2914 buttonLabelKey: "share",
2915 onClick: function () {
2916 return n.onShare(o.commentUrl)
2917 }
2918 })])), v ? Object(a.b)("div", {
2919 className: c.a.comment__reply__form
2920 }, [Object(a.b)(f.a, {
2921 polyglot: r,
2922 userPic: d,
2923 guestForm: u,
2924 onSend: function () {
2925 return p.apply(void 0, arguments).then(function () {
2926 n.setState({
2927 displayReplyForm: !1
2928 })
2929 })
2930 },
2931 replyToComment: o,
2932 parentId: h,
2933 checkCaptcha: y
2934 })]) : null)
2935 }
2936 }, {
2937 key: "renderMessage",
2938 value: function (e) {
2939 return e.htmlMessage ? Object(a.b)("div", {
2940 dangerouslySetInnerHTML: {
2941 __html: e.htmlMessage
2942 }
2943 }) : [].concat.apply([], e.message.split("\n").map(function (e) {
2944 return [e, Object(a.b)("br")]
2945 }))
2946 }
2947 }]), t
2948 }(a.a);
2949 t.a = d
2950}, function (e, t, n) {
2951 var r = n(108);
2952 "string" == typeof r && (r = [
2953 [e.i, r, ""]
2954 ]);
2955 var o = {};
2956 o.transform = void 0;
2957 n(2)(r, o);
2958 r.locals && (e.exports = r.locals)
2959}, function (e, t, n) {
2960 t = e.exports = n(1)(void 0), t.push([e.i, '@keyframes src-ui-Comment__highlight--2Dume{0%{background:#ebf7ed}to{background:none}}.src-ui-Comment__highlight--2Dume{animation:src-ui-Comment__highlight--2Dume 3s}.src-ui-Comment__comment--21xHd{padding-left:64px;padding-top:10px;padding-bottom:10px;box-sizing:inherit}.src-ui-Comment__comment__header--qkAn1{position:relative;box-sizing:inherit}.src-ui-Comment__comment__buttons--scCya{position:relative;box-sizing:inherit;padding-bottom:5px}.src-ui-Comment__comment__button--GWgj8{position:relative;float:left;margin-right:10px;margin-left:1px;margin-bottom:1px}.src-ui-Comment__comment__header--qkAn1:after{content:" ";display:block;height:0;clear:both;box-sizing:inherit}.src-ui-Comment__comment__user--2tdLB img{width:40px;height:40px;float:left;top:2px;left:-54px;position:absolute}.src-ui-Comment__comment__user--2tdLB{text-decoration:none;color:#333}.src-ui-Comment__comment__user--2tdLB:hover{cursor:pointer}.src-ui-Comment__comment__user--2tdLB .src-ui-Comment__name--3zkCu{float:left;font-size:15px;line-height:1.2;font-weight:700;box-sizing:inherit}.src-ui-Comment__comment__user--2tdLB .src-ui-Comment__name--3zkCu span{margin:0;padding:0;border:0;font-size:100%;font:inherit;box-sizing:inherit}.src-ui-Comment__comment__date--2gftL{position:relative;margin-left:15px;font-size:12px;color:#818181;text-transform:lowercase;text-decoration:none;float:left;line-height:1.4}.src-ui-Comment__comment__date--2gftL:hover{color:#135784}.src-ui-Comment__comment__date--2gftL:focus{outline:2px dotted #818181}.src-ui-Comment__comment__replyTo--2BeDz{position:relative;margin-left:15px;font-size:12px;color:#818181;float:left;line-height:1.4;text-decoration:none}.src-ui-Comment__comment__replyTo--2BeDz:hover{color:#135784;fill:#135784}.src-ui-Comment__comment__replyTo--2BeDz:focus{outline:2px dotted #818181}.src-ui-Comment__comment__replyTo--2BeDz:hover svg{fill:#135784}.src-ui-Comment__comment__replyToIcon--3c76M{fill:#818181;vertical-align:middle;height:11px}.src-ui-Comment__comment__replyToText--xw4HK{margin-left:4px;font-size:12px}.src-ui-Comment__comment__content--3XT9v{position:relative;font-size:15px;line-height:1.6;overflow:hidden;box-sizing:inherit}.src-ui-Comment__comment__content--3XT9v ol,.src-ui-Comment__comment__content--3XT9v ul{box-sizing:inherit;margin:0}.src-ui-Comment__comment__content--3XT9v blockquote{box-sizing:inherit;margin:0;padding-left:5px;margin-left:5px;border-left:5px solid #818181}.src-ui-Comment__comment__content--3XT9v a{box-sizing:inherit;color:#818181;font-size:15px;border-bottom:1px dotted #818181;cursor:pointer;text-decoration:none}.src-ui-Comment__comment__content--3XT9v a:hover{color:#135784;fill:#135784;background-color:transparent}.src-ui-Comment__comment__content--3XT9v p{margin:.5em 0;box-sizing:inherit}.src-ui-Comment__comment__content--3XT9v pre{font-size:15px;line-height:1.6;margin:.5em 0;box-sizing:inherit}.src-ui-Comment__comment__content--3XT9v pre code{font-size:13px;font-family:monospace;line-height:1.6;box-sizing:inherit}.src-ui-Comment__comment__rating--21kJe{float:right;box-sizing:inherit}.src-ui-Comment__comment__footer--3JVRc{position:relative;float:left;color:#818181;font-size:14px;line-height:1.6;border-bottom:1px dotted #818181;box-sizing:inherit}.src-ui-Comment__comment__message__hidden--3gB9t{font-style:italic;color:grey}.src-ui-Comment__comment__reply__form--q3Dgk{margin-top:10px}.src-ui-Comment__comment__level__1--3Nk2r{margin-left:54px}.src-ui-Comment__comment__level__2--3vgLv{margin-left:108px}.src-ui-Comment__comment__level__3--kmWGe{margin-left:162px}.src-ui-Comment__comment__level__4--2zFB0{margin-left:216px}.src-ui-Comment__comment__level__5--1UCWx{margin-left:270px}@media (min-width:320px) and (max-width:480px){.src-ui-Comment__comment__level__1--3Nk2r{margin-left:10px}.src-ui-Comment__comment__level__2--3vgLv{margin-left:20px}.src-ui-Comment__comment__level__3--kmWGe{margin-left:30px}.src-ui-Comment__comment__level__4--2zFB0{margin-left:40px}.src-ui-Comment__comment__level__5--1UCWx{margin-left:50px}}@media (min-width:1px) and (max-width:320px){.src-ui-Comment__comment__level__1--3Nk2r{margin-left:5px}.src-ui-Comment__comment__level__2--3vgLv{margin-left:10px}.src-ui-Comment__comment__level__3--kmWGe{margin-left:15px}.src-ui-Comment__comment__level__4--2zFB0{margin-left:20px}.src-ui-Comment__comment__level__5--1UCWx{margin-left:25px}}', ""]), t.locals = {
2961 highlight: "src-ui-Comment__highlight--2Dume",
2962 comment: "src-ui-Comment__comment--21xHd",
2963 comment__header: "src-ui-Comment__comment__header--qkAn1",
2964 comment__buttons: "src-ui-Comment__comment__buttons--scCya",
2965 comment__button: "src-ui-Comment__comment__button--GWgj8",
2966 comment__user: "src-ui-Comment__comment__user--2tdLB",
2967 name: "src-ui-Comment__name--3zkCu",
2968 comment__date: "src-ui-Comment__comment__date--2gftL",
2969 comment__replyTo: "src-ui-Comment__comment__replyTo--2BeDz",
2970 comment__replyToIcon: "src-ui-Comment__comment__replyToIcon--3c76M",
2971 comment__replyToText: "src-ui-Comment__comment__replyToText--xw4HK",
2972 comment__content: "src-ui-Comment__comment__content--3XT9v",
2973 comment__rating: "src-ui-Comment__comment__rating--21kJe",
2974 comment__footer: "src-ui-Comment__comment__footer--3JVRc",
2975 comment__message: "src-ui-Comment__comment__message--TQYYt",
2976 comment__message__hidden: "src-ui-Comment__comment__message__hidden--3gB9t",
2977 comment__reply__form: "src-ui-Comment__comment__reply__form--q3Dgk",
2978 comment__level__0: "src-ui-Comment__comment__level__0--12p_p",
2979 comment__level__1: "src-ui-Comment__comment__level__1--3Nk2r",
2980 comment__level__2: "src-ui-Comment__comment__level__2--3vgLv",
2981 comment__level__3: "src-ui-Comment__comment__level__3--kmWGe",
2982 comment__level__4: "src-ui-Comment__comment__level__4--2zFB0",
2983 comment__level__5: "src-ui-Comment__comment__level__5--1UCWx"
2984 }
2985}, function (e, t, n) {
2986 "use strict";
2987
2988 function r(e, t, n) {
2989 return t in e ? Object.defineProperty(e, t, {
2990 value: n,
2991 enumerable: !0,
2992 configurable: !0,
2993 writable: !0
2994 }) : e[t] = n, e
2995 }
2996
2997 function o(e, t) {
2998 if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
2999 }
3000
3001 function i(e, t) {
3002 if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
3003 return !t || "object" != typeof t && "function" != typeof t ? e : t
3004 }
3005
3006 function a(e, t) {
3007 if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
3008 e.prototype = Object.create(t && t.prototype, {
3009 constructor: {
3010 value: e,
3011 enumerable: !1,
3012 writable: !0,
3013 configurable: !0
3014 }
3015 }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
3016 }
3017 var s = n(0),
3018 c = n(110),
3019 u = n.n(c),
3020 l = function () {
3021 function e(e, t) {
3022 for (var n = 0; n < t.length; n++) {
3023 var r = t[n];
3024 r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
3025 }
3026 }
3027 return function (t, n, r) {
3028 return n && e(t.prototype, n), r && e(t, r), t
3029 }
3030 }(),
3031 f = function (e) {
3032 function t() {
3033 return o(this, t), i(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments))
3034 }
3035 return a(t, e), l(t, [{
3036 key: "render",
3037 value: function (e, t) {
3038 var n, o = this.props,
3039 i = o.className,
3040 a = o.onClick,
3041 c = o.polyglot,
3042 l = o.buttonLabelKey;
3043 return Object(s.b)("button", (n = {
3044 className: i + " " + u.a.container,
3045 tabindex: 0,
3046 role: "button",
3047 onClick: a
3048 }, r(n, "role", "button"), r(n, "tabindex", 0), n), [Object(s.b)("span", {}, [c.t(l)])])
3049 }
3050 }]), t
3051 }(s.a);
3052 t.a = f
3053}, function (e, t, n) {
3054 var r = n(111);
3055 "string" == typeof r && (r = [
3056 [e.i, r, ""]
3057 ]);
3058 var o = {};
3059 o.transform = void 0;
3060 n(2)(r, o);
3061 r.locals && (e.exports = r.locals)
3062}, function (e, t, n) {
3063 t = e.exports = n(1)(void 0), t.push([e.i, ".src-ui-CommentButton__container--1KIDJ{box-sizing:inherit;color:#818181;font-size:14px;line-height:17px;text-decoration:none;background:transparent;border:0;padding:0;border-bottom:1px dotted #818181;cursor:pointer}.src-ui-CommentButton__container--1KIDJ:focus{outline:2px dotted #818181;border:none}", ""]), t.locals = {
3064 container: "src-ui-CommentButton__container--1KIDJ"
3065 }
3066}, function (e, t, n) {
3067 "use strict";
3068
3069 function r(e, t, n) {
3070 return t in e ? Object.defineProperty(e, t, {
3071 value: n,
3072 enumerable: !0,
3073 configurable: !0,
3074 writable: !0
3075 }) : e[t] = n, e
3076 }
3077
3078 function o(e, t) {
3079 if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
3080 }
3081
3082 function i(e, t) {
3083 if (!e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
3084 return !t || "object" != typeof t && "function" != typeof t ? e : t
3085 }
3086
3087 function a(e, t) {
3088 if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function, not " + typeof t);
3089 e.prototype = Object.create(t && t.prototype, {
3090 constructor: {
3091 value: e,
3092 enumerable: !1,
3093 writable: !0,
3094 configurable: !0
3095 }
3096 }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t)
3097 }
3098 var s = n(0),
3099 c = function () {
3100 function e(e, t) {
3101 for (var n = 0; n < t.length; n++) {
3102 var r = t[n];
3103 r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(e, r.key, r)
3104 }
3105 }
3106 return function (t, n, r) {
3107 return n && e(t.prototype, n), r && e(t, r), t
3108 }
3109 }(),
3110 u = function (e) {
3111 function t() {
3112 return o(this, t), i(this, (t.__proto__ || Object.getPrototypeOf(t)).apply(this, arguments))
3113 }
3114 return a(t, e), c(t, [{
3115 key: "render",
3116 value: function (e, t) {
3117 var n = this;
3118 return Object(s.b)("div", {
3119 ref: function (e) {
3120 return n.root = e
3121 }
3122 })
3123 }
3124 }, {
3125 key: "componentDidMount",
3126 value: function () {
3127 var e = this,
3128 t = this.props.sitekey;
3129 return window.jcRecaptchaPromise.then(function () {
3130 e.grecaptchaId = grecaptcha.render(e.root, r({
3131 sitekey: t,
3132 callback: "jcRecaptachaSubmit",
3133 size: "invisible"
3134 }, "callback", e.onCaptchaSubmit.bind(e)))
3135 })
3136 }
3137 }, {
3138 key: "componentWillUnmount",
3139 value: function () {
3140 var e = this;
3141 return window.jcRecaptchaPromise.then(function () {
3142 grecaptcha.reset(e.grecaptchaId)
3143 })
3144 }
3145 }, {
3146 key: "check",
3147 value: function () {
3148 var e = this;
3149 return window.jcRecaptchaPromise.then(function () {
3150 return grecaptcha.execute(e.grecaptchaId), new Promise(function (t, n) {
3151 e.failCaptcha = n, e.succeedCaptcha = t
3152 })
3153 })
3154 }
3155 }, {
3156 key: "onCaptchaSubmit",
3157 value: function (e) {
3158 return console.log("onCaptchaSubmit", e), grecaptcha.reset(this.grecaptchaId), this.succeedCaptcha(e)
3159 }
3160 }]), t
3161 }(s.a);
3162 t.a = u
3163}, function (e, t, n) {
3164 "use strict";
3165
3166 function r(e) {
3167 return l.a.register(e, d[e]), l()().format
3168 }
3169
3170 function o(e) {
3171 var t = new m.a;
3172 return t.extend(p[e]), t
3173 }
3174 t.a = r, t.b = o;
3175 var i = n(114),
3176 a = n.n(i),
3177 s = n(115),
3178 c = n.n(s),
3179 u = n(116),
3180 l = n.n(u),
3181 f = n(117),
3182 m = n.n(f),
3183 p = n(134),
3184 d = {
3185 ru_RU: a.a,
3186 en_GB: c.a,
3187 en_US: c.a,
3188 en: c.a
3189 }
3190}, function (e, t) {
3191 function n(e, t, n, r, o) {
3192 var i = o % 10,
3193 a = r;
3194 return 1 === o ? a = e : 1 === i && o > 20 ? a = t : i > 1 && i < 5 && (o > 20 || o < 10) && (a = n), a
3195 }
3196 var r = n.bind(null, "секунду", "%s секунду", "%s секунды", "%s секунд"),
3197 o = n.bind(null, "минуту", "%s минуту", "%s минуты", "%s минут"),
3198 i = n.bind(null, "час", "%s час", "%s часа", "%s часов"),
3199 a = n.bind(null, "день", "%s день", "%s дня", "%s дней"),
3200 s = n.bind(null, "неделю", "%s неделю", "%s недели", "%s недель"),
3201 c = n.bind(null, "месяц", "%s месяц", "%s месяца", "%s месяцев"),
3202 u = n.bind(null, "год", "%s год", "%s года", "%s лет");
3203 e.exports = function (e, t) {
3204 switch (t) {
3205 case 0:
3206 return ["только что", "через несколько секунд"];
3207 case 1:
3208 return [r(e) + " назад", "через " + r(e)];
3209 case 2:
3210 case 3:
3211 return [o(e) + " назад", "через " + o(e)];
3212 case 4:
3213 case 5:
3214 return [i(e) + " назад", "через " + i(e)];
3215 case 6:
3216 return ["вчера", "завтра"];
3217 case 7:
3218 return [a(e) + " назад", "через " + a(e)];
3219 case 8:
3220 case 9:
3221 return [s(e) + " назад", "через " + s(e)];
3222 case 10:
3223 case 11:
3224 return [c(e) + " назад", "через " + c(e)];
3225 case 12:
3226 case 13:
3227 return [u(e) + " назад", "через " + u(e)];
3228 default:
3229 return ["", ""]
3230 }
3231 }
3232}, function (e, t) {
3233 e.exports = function (e, t) {
3234 return [
3235 ["just now", "right now"],
3236 ["%s seconds ago", "in %s seconds"],
3237 ["1 minute ago", "in 1 minute"],
3238 ["%s minutes ago", "in %s minutes"],
3239 ["1 hour ago", "in 1 hour"],
3240 ["%s hours ago", "in %s hours"],
3241 ["1 day ago", "in 1 day"],
3242 ["%s days ago", "in %s days"],
3243 ["1 week ago", "in 1 week"],
3244 ["%s weeks ago", "in %s weeks"],
3245 ["1 month ago", "in 1 month"],
3246 ["%s months ago", "in %s months"],
3247 ["1 year ago", "in 1 year"],
3248 ["%s years ago", "in %s years"]
3249 ][t]
3250 }
3251}, function (e, t) {
3252 ! function (t, n) {
3253 "object" == typeof e && e.exports ? (e.exports = n(), e.exports.default = e.exports) : t.timeago = n()
3254 }("undefined" != typeof window ? window : this, function () {
3255 function e(e) {
3256 return e instanceof Date ? e : isNaN(e) ? /^\d+$/.test(e) ? new Date(t(e)) : (e = (e || "").trim().replace(/\.\d+/, "").replace(/-/, "/").replace(/-/, "/").replace(/(\d)T(\d)/, "$1 $2").replace(/Z/, " UTC").replace(/([\+\-]\d\d)\:?(\d\d)/, " $1$2"), new Date(e)) : new Date(t(e))
3257 }
3258
3259 function t(e) {
3260 return parseInt(e)
3261 }
3262
3263 function n(e, n, r) {
3264 n = m[n] ? n : m[r] ? r : "en";
3265 for (var o = 0, i = e < 0 ? 1 : 0, a = e = Math.abs(e); e >= p[o] && o < d; o++) e /= p[o];
3266 return e = t(e), o *= 2, e > (0 === o ? 9 : 1) && (o += 1), m[n](e, o, a)[i].replace("%s", e)
3267 }
3268
3269 function r(t, n) {
3270 return ((n = n ? e(n) : new Date) - e(t)) / 1e3
3271 }
3272
3273 function o(e) {
3274 for (var t = 1, n = 0, r = Math.abs(e); e >= p[n] && n < d; n++) e /= p[n], t *= p[n];
3275 return r %= t, r = r ? t - r : t, Math.ceil(r)
3276 }
3277
3278 function i(e) {
3279 return a(e, "data-timeago") || a(e, "datetime")
3280 }
3281
3282 function a(e, t) {
3283 return e.getAttribute ? e.getAttribute(t) : e.attr ? e.attr(t) : void 0
3284 }
3285
3286 function s(e, t) {
3287 return e.setAttribute ? e.setAttribute(h, t) : e.attr ? e.attr(h, t) : void 0
3288 }
3289
3290 function c(e, t) {
3291 this.nowDate = e, this.defaultLocale = t || "en"
3292 }
3293
3294 function u(e, t) {
3295 return new c(e, t)
3296 }
3297 var l = "second_minute_hour_day_week_month_year".split("_"),
3298 f = "秒_分钟_小时_天_周_月_年".split("_"),
3299 m = {
3300 en: function (e, t) {
3301 if (0 === t) return ["just now", "right now"];
3302 var n = l[parseInt(t / 2)];
3303 return e > 1 && (n += "s"), [e + " " + n + " ago", "in " + e + " " + n]
3304 },
3305 zh_CN: function (e, t) {
3306 if (0 === t) return ["刚刚", "片刻后"];
3307 var n = f[parseInt(t / 2)];
3308 return [e + n + "前", e + n + "后"]
3309 }
3310 },
3311 p = [60, 60, 24, 7, 365 / 7 / 12, 12],
3312 d = 6,
3313 h = "data-tid",
3314 _ = {};
3315 return c.prototype.doRender = function (e, t, i) {
3316 var a, c = r(t, this.nowDate),
3317 u = this;
3318 e.innerHTML = n(c, i, this.defaultLocale), _[a = setTimeout(function () {
3319 u.doRender(e, t, i), delete _[a]
3320 }, Math.min(1e3 * o(c), 2147483647))] = 0, s(e, a)
3321 }, c.prototype.format = function (e, t) {
3322 return n(r(e, this.nowDate), t, this.defaultLocale)
3323 }, c.prototype.render = function (e, t) {
3324 void 0 === e.length && (e = [e]);
3325 for (var n = 0, r = e.length; n < r; n++) this.doRender(e[n], i(e[n]), t)
3326 }, c.prototype.setLocale = function (e) {
3327 this.defaultLocale = e
3328 }, u.register = function (e, t) {
3329 m[e] = t
3330 }, u.cancel = function (e) {
3331 var t;
3332 if (e)(t = a(e, h)) && (clearTimeout(t), delete _[t]);
3333 else {
3334 for (t in _) clearTimeout(t);
3335 _ = {}
3336 }
3337 }, u
3338 })
3339}, function (e, t, n) {
3340 "use strict";
3341
3342 function r(e) {
3343 var t = {};
3344 return c(e, function (e, n) {
3345 c(e, function (e) {
3346 t[e] = n
3347 })
3348 }), t
3349 }
3350
3351 function o(e) {
3352 var t = r(y);
3353 return t[e] || t[d.call(e, /-/, 1)[0]] || t.en
3354 }
3355
3356 function i(e, t) {
3357 return _[o(e)](t)
3358 }
3359
3360 function a(e, t, n) {
3361 if ("string" != typeof e) throw new TypeError("Polyglot.transformPhrase expects argument #1 to be string");
3362 if (null == t) return e;
3363 var r = e,
3364 o = "number" == typeof t ? {
3365 smart_count: t
3366 } : t;
3367 if (null != o.smart_count && r) {
3368 var a = d.call(r, h);
3369 r = f(a[i(n || "en", o.smart_count)] || a[0])
3370 }
3371 return r = p.call(r, g, function (e, t) {
3372 return l(o, t) && null != o[t] ? p.call(o[t], v, b) : e
3373 })
3374 }
3375
3376 function s(e) {
3377 var t = e || {};
3378 this.phrases = {}, this.extend(t.phrases || {}), this.currentLocale = t.locale || "en";
3379 var n = t.allowMissing ? a : null;
3380 this.onMissingKey = "function" == typeof t.onMissingKey ? t.onMissingKey : n, this.warn = t.warn || m
3381 }
3382 var c = n(118),
3383 u = n(120),
3384 l = n(23),
3385 f = n(122),
3386 m = function (e) {
3387 u(!1, e)
3388 },
3389 p = String.prototype.replace,
3390 d = String.prototype.split,
3391 h = "||||",
3392 _ = {
3393 arabic: function (e) {
3394 return e < 3 ? e : e % 100 >= 3 && e % 100 <= 10 ? 3 : e % 100 >= 11 ? 4 : 5
3395 },
3396 chinese: function () {
3397 return 0
3398 },
3399 german: function (e) {
3400 return 1 !== e ? 1 : 0
3401 },
3402 french: function (e) {
3403 return e > 1 ? 1 : 0
3404 },
3405 russian: function (e) {
3406 return e % 10 == 1 && e % 100 != 11 ? 0 : e % 10 >= 2 && e % 10 <= 4 && (e % 100 < 10 || e % 100 >= 20) ? 1 : 2
3407 },
3408 czech: function (e) {
3409 return 1 === e ? 0 : e >= 2 && e <= 4 ? 1 : 2
3410 },
3411 polish: function (e) {
3412 return 1 === e ? 0 : e % 10 >= 2 && e % 10 <= 4 && (e % 100 < 10 || e % 100 >= 20) ? 1 : 2
3413 },
3414 icelandic: function (e) {
3415 return e % 10 != 1 || e % 100 == 11 ? 1 : 0
3416 }
3417 },
3418 y = {
3419 arabic: ["ar"],
3420 chinese: ["fa", "id", "ja", "ko", "lo", "ms", "th", "tr", "zh"],
3421 german: ["da", "de", "en", "es", "fi", "el", "he", "hu", "it", "nl", "no", "pt", "sv"],
3422 french: ["fr", "tl", "pt-br"],
3423 russian: ["hr", "ru", "lt"],
3424 czech: ["cs", "sk"],
3425 polish: ["pl"],
3426 icelandic: ["is"]
3427 },
3428 v = /\$/g,
3429 b = "$$",
3430 g = /%\{(.*?)\}/g;
3431 s.prototype.locale = function (e) {
3432 return e && (this.currentLocale = e), this.currentLocale
3433 }, s.prototype.extend = function (e, t) {
3434 c(e, function (e, n) {
3435 var r = t ? t + "." + n : n;
3436 "object" == typeof e ? this.extend(e, r) : this.phrases[r] = e
3437 }, this)
3438 }, s.prototype.unset = function (e, t) {
3439 "string" == typeof e ? delete this.phrases[e] : c(e, function (e, n) {
3440 var r = t ? t + "." + n : n;
3441 "object" == typeof e ? this.unset(e, r) : delete this.phrases[r]
3442 }, this)
3443 }, s.prototype.clear = function () {
3444 this.phrases = {}
3445 }, s.prototype.replace = function (e) {
3446 this.clear(), this.extend(e)
3447 }, s.prototype.t = function (e, t) {
3448 var n, r, o = null == t ? {} : t;
3449 if ("string" == typeof this.phrases[e]) n = this.phrases[e];
3450 else if ("string" == typeof o._) n = o._;
3451 else if (this.onMissingKey) {
3452 var i = this.onMissingKey;
3453 r = i(e, o, this.currentLocale)
3454 } else this.warn('Missing translation for key: "' + e + '"'), r = e;
3455 return "string" == typeof n && (r = a(n, o, this.currentLocale)), r
3456 }, s.prototype.has = function (e) {
3457 return l(this.phrases, e)
3458 }, s.transformPhrase = a, e.exports = s
3459}, function (e, t, n) {
3460 function r(e, t, n) {
3461 if (!s(t)) throw new TypeError("iterator must be a function");
3462 arguments.length < 3 && (n = this), "[object Array]" === c.call(e) ? o(e, t, n) : "string" == typeof e ? i(e, t, n) : a(e, t, n)
3463 }
3464
3465 function o(e, t, n) {
3466 for (var r = 0, o = e.length; r < o; r++) u.call(e, r) && t.call(n, e[r], r, e)
3467 }
3468
3469 function i(e, t, n) {
3470 for (var r = 0, o = e.length; r < o; r++) t.call(n, e.charAt(r), r, e)
3471 }
3472
3473 function a(e, t, n) {
3474 for (var r in e) u.call(e, r) && t.call(n, e[r], r, e)
3475 }
3476 var s = n(119);
3477 e.exports = r;
3478 var c = Object.prototype.toString,
3479 u = Object.prototype.hasOwnProperty
3480}, function (e, t) {
3481 function n(e) {
3482 var t = r.call(e);
3483 return "[object Function]" === t || "function" == typeof e && "[object RegExp]" !== t || "undefined" != typeof window && (e === window.setTimeout || e === window.alert || e === window.confirm || e === window.prompt)
3484 }
3485 e.exports = n;
3486 var r = Object.prototype.toString
3487}, function (e, t, n) {
3488 "use strict";
3489 var r = function () {};
3490 e.exports = r
3491}, function (e, t) {
3492 var n = Array.prototype.slice,
3493 r = Object.prototype.toString;
3494 e.exports = function (e) {
3495 var t = this;
3496 if ("function" != typeof t || "[object Function]" !== r.call(t)) throw new TypeError("Function.prototype.bind called on incompatible " + t);
3497 for (var o, i = n.call(arguments, 1), a = function () {
3498 if (this instanceof o) {
3499 var r = t.apply(this, i.concat(n.call(arguments)));
3500 return Object(r) === r ? r : this
3501 }
3502 return t.apply(e, i.concat(n.call(arguments)))
3503 }, s = Math.max(0, t.length - i.length), c = [], u = 0; u < s; u++) c.push("$" + u);
3504 if (o = Function("binder", "return function (" + c.join(",") + "){ return binder.apply(this,arguments); }")(a), t.prototype) {
3505 var l = function () {};
3506 l.prototype = t.prototype, o.prototype = new l, l.prototype = null
3507 }
3508 return o
3509 }
3510}, function (e, t, n) {
3511 "use strict";
3512 var r = n(7),
3513 o = n(24),
3514 i = n(25),
3515 a = n(27),
3516 s = n(133),
3517 c = r.call(Function.call, a());
3518 o(c, {
3519 getPolyfill: a,
3520 implementation: i,
3521 shim: s
3522 }), e.exports = c
3523}, function (e, t, n) {
3524 "use strict";
3525 var r = Object.prototype.hasOwnProperty,
3526 o = Object.prototype.toString,
3527 i = Array.prototype.slice,
3528 a = n(124),
3529 s = Object.prototype.propertyIsEnumerable,
3530 c = !s.call({
3531 toString: null
3532 }, "toString"),
3533 u = s.call(function () {}, "prototype"),
3534 l = ["toString", "toLocaleString", "valueOf", "hasOwnProperty", "isPrototypeOf", "propertyIsEnumerable", "constructor"],
3535 f = function (e) {
3536 var t = e.constructor;
3537 return t && t.prototype === e
3538 },
3539 m = {
3540 $console: !0,
3541 $external: !0,
3542 $frame: !0,
3543 $frameElement: !0,
3544 $frames: !0,
3545 $innerHeight: !0,
3546 $innerWidth: !0,
3547 $outerHeight: !0,
3548 $outerWidth: !0,
3549 $pageXOffset: !0,
3550 $pageYOffset: !0,
3551 $parent: !0,
3552 $scrollLeft: !0,
3553 $scrollTop: !0,
3554 $scrollX: !0,
3555 $scrollY: !0,
3556 $self: !0,
3557 $webkitIndexedDB: !0,
3558 $webkitStorageInfo: !0,
3559 $window: !0
3560 },
3561 p = function () {
3562 if ("undefined" == typeof window) return !1;
3563 for (var e in window) try {
3564 if (!m["$" + e] && r.call(window, e) && null !== window[e] && "object" == typeof window[e]) try {
3565 f(window[e])
3566 } catch (e) {
3567 return !0
3568 }
3569 } catch (e) {
3570 return !0
3571 }
3572 return !1
3573 }(),
3574 d = function (e) {
3575 if ("undefined" == typeof window || !p) return f(e);
3576 try {
3577 return f(e)
3578 } catch (e) {
3579 return !1
3580 }
3581 },
3582 h = function (e) {
3583 var t = null !== e && "object" == typeof e,
3584 n = "[object Function]" === o.call(e),
3585 i = a(e),
3586 s = t && "[object String]" === o.call(e),
3587 f = [];
3588 if (!t && !n && !i) throw new TypeError("Object.keys called on a non-object");
3589 var m = u && n;
3590 if (s && e.length > 0 && !r.call(e, 0))
3591 for (var p = 0; p < e.length; ++p) f.push(String(p));
3592 if (i && e.length > 0)
3593 for (var h = 0; h < e.length; ++h) f.push(String(h));
3594 else
3595 for (var _ in e) m && "prototype" === _ || !r.call(e, _) || f.push(String(_));
3596 if (c)
3597 for (var y = d(e), v = 0; v < l.length; ++v) y && "constructor" === l[v] || !r.call(e, l[v]) || f.push(l[v]);
3598 return f
3599 };
3600 h.shim = function () {
3601 if (Object.keys) {
3602 if (! function () {
3603 return 2 === (Object.keys(arguments) || "").length
3604 }(1, 2)) {
3605 var e = Object.keys;
3606 Object.keys = function (t) {
3607 return e(a(t) ? i.call(t) : t)
3608 }
3609 }
3610 } else Object.keys = h;
3611 return Object.keys || h
3612 }, e.exports = h
3613}, function (e, t, n) {
3614 "use strict";
3615 var r = Object.prototype.toString;
3616 e.exports = function (e) {
3617 var t = r.call(e),
3618 n = "[object Arguments]" === t;
3619 return n || (n = "[object Array]" !== t && null !== e && "object" == typeof e && "number" == typeof e.length && e.length >= 0 && "[object Function]" === r.call(e.callee)), n
3620 }
3621}, function (e, t) {
3622 var n = Object.prototype.hasOwnProperty,
3623 r = Object.prototype.toString;
3624 e.exports = function (e, t, o) {
3625 if ("[object Function]" !== r.call(t)) throw new TypeError("iterator must be a function");
3626 var i = e.length;
3627 if (i === +i)
3628 for (var a = 0; a < i; a++) t.call(o, e[a], a, e);
3629 else
3630 for (var s in e) n.call(e, s) && t.call(o, e[s], s, e)
3631 }
3632}, function (e, t, n) {
3633 "use strict";
3634 var r = n(127),
3635 o = n(128),
3636 i = n(129),
3637 a = n(130),
3638 s = n(26),
3639 c = n(131),
3640 u = n(23),
3641 l = {
3642 ToPrimitive: c,
3643 ToBoolean: function (e) {
3644 return !!e
3645 },
3646 ToNumber: function (e) {
3647 return Number(e)
3648 },
3649 ToInteger: function (e) {
3650 var t = this.ToNumber(e);
3651 return r(t) ? 0 : 0 !== t && o(t) ? i(t) * Math.floor(Math.abs(t)) : t
3652 },
3653 ToInt32: function (e) {
3654 return this.ToNumber(e) >> 0
3655 },
3656 ToUint32: function (e) {
3657 return this.ToNumber(e) >>> 0
3658 },
3659 ToUint16: function (e) {
3660 var t = this.ToNumber(e);
3661 if (r(t) || 0 === t || !o(t)) return 0;
3662 var n = i(t) * Math.floor(Math.abs(t));
3663 return a(n, 65536)
3664 },
3665 ToString: function (e) {
3666 return String(e)
3667 },
3668 ToObject: function (e) {
3669 return this.CheckObjectCoercible(e), Object(e)
3670 },
3671 CheckObjectCoercible: function (e, t) {
3672 if (null == e) throw new TypeError(t || "Cannot call method on " + e);
3673 return e
3674 },
3675 IsCallable: s,
3676 SameValue: function (e, t) {
3677 return e === t ? 0 !== e || 1 / e == 1 / t : r(e) && r(t)
3678 },
3679 Type: function (e) {
3680 return null === e ? "Null" : void 0 === e ? "Undefined" : "function" == typeof e || "object" == typeof e ? "Object" : "number" == typeof e ? "Number" : "boolean" == typeof e ? "Boolean" : "string" == typeof e ? "String" : void 0
3681 },
3682 IsPropertyDescriptor: function (e) {
3683 if ("Object" !== this.Type(e)) return !1;
3684 var t = {
3685 "[[Configurable]]": !0,
3686 "[[Enumerable]]": !0,
3687 "[[Get]]": !0,
3688 "[[Set]]": !0,
3689 "[[Value]]": !0,
3690 "[[Writable]]": !0
3691 };
3692 for (var n in e)
3693 if (u(e, n) && !t[n]) return !1;
3694 var r = u(e, "[[Value]]"),
3695 o = u(e, "[[Get]]") || u(e, "[[Set]]");
3696 if (r && o) throw new TypeError("Property Descriptors may not be both accessor and data descriptors");
3697 return !0
3698 },
3699 IsAccessorDescriptor: function (e) {
3700 if (void 0 === e) return !1;
3701 if (!this.IsPropertyDescriptor(e)) throw new TypeError("Desc must be a Property Descriptor");
3702 return !(!u(e, "[[Get]]") && !u(e, "[[Set]]"))
3703 },
3704 IsDataDescriptor: function (e) {
3705 if (void 0 === e) return !1;
3706 if (!this.IsPropertyDescriptor(e)) throw new TypeError("Desc must be a Property Descriptor");
3707 return !(!u(e, "[[Value]]") && !u(e, "[[Writable]]"))
3708 },
3709 IsGenericDescriptor: function (e) {
3710 if (void 0 === e) return !1;
3711 if (!this.IsPropertyDescriptor(e)) throw new TypeError("Desc must be a Property Descriptor");
3712 return !this.IsAccessorDescriptor(e) && !this.IsDataDescriptor(e)
3713 },
3714 FromPropertyDescriptor: function (e) {
3715 if (void 0 === e) return e;
3716 if (!this.IsPropertyDescriptor(e)) throw new TypeError("Desc must be a Property Descriptor");
3717 if (this.IsDataDescriptor(e)) return {
3718 value: e["[[Value]]"],
3719 writable: !!e["[[Writable]]"],
3720 enumerable: !!e["[[Enumerable]]"],
3721 configurable: !!e["[[Configurable]]"]
3722 };
3723 if (this.IsAccessorDescriptor(e)) return {
3724 get: e["[[Get]]"],
3725 set: e["[[Set]]"],
3726 enumerable: !!e["[[Enumerable]]"],
3727 configurable: !!e["[[Configurable]]"]
3728 };
3729 throw new TypeError("FromPropertyDescriptor must be called with a fully populated Property Descriptor")
3730 },
3731 ToPropertyDescriptor: function (e) {
3732 if ("Object" !== this.Type(e)) throw new TypeError("ToPropertyDescriptor requires an object");
3733 var t = {};
3734 if (u(e, "enumerable") && (t["[[Enumerable]]"] = this.ToBoolean(e.enumerable)), u(e, "configurable") && (t["[[Configurable]]"] = this.ToBoolean(e.configurable)), u(e, "value") && (t["[[Value]]"] = e.value), u(e, "writable") && (t["[[Writable]]"] = this.ToBoolean(e.writable)), u(e, "get")) {
3735 var n = e.get;
3736 if (void 0 !== n && !this.IsCallable(n)) throw new TypeError("getter must be a function");
3737 t["[[Get]]"] = n
3738 }
3739 if (u(e, "set")) {
3740 var r = e.set;
3741 if (void 0 !== r && !this.IsCallable(r)) throw new TypeError("setter must be a function");
3742 t["[[Set]]"] = r
3743 }
3744 if ((u(t, "[[Get]]") || u(t, "[[Set]]")) && (u(t, "[[Value]]") || u(t, "[[Writable]]"))) throw new TypeError("Invalid property descriptor. Cannot both specify accessors and a value or writable attribute");
3745 return t
3746 }
3747 };
3748 e.exports = l
3749}, function (e, t) {
3750 e.exports = Number.isNaN || function (e) {
3751 return e !== e
3752 }
3753}, function (e, t) {
3754 var n = Number.isNaN || function (e) {
3755 return e !== e
3756 };
3757 e.exports = Number.isFinite || function (e) {
3758 return "number" == typeof e && !n(e) && e !== 1 / 0 && e !== -1 / 0
3759 }
3760}, function (e, t) {
3761 e.exports = function (e) {
3762 return e >= 0 ? 1 : -1
3763 }
3764}, function (e, t) {
3765 e.exports = function (e, t) {
3766 var n = e % t;
3767 return Math.floor(n >= 0 ? n : n + t)
3768 }
3769}, function (e, t, n) {
3770 "use strict";
3771 var r = Object.prototype.toString,
3772 o = n(132),
3773 i = n(26),
3774 a = {
3775 "[[DefaultValue]]": function (e, t) {
3776 var n = t || ("[object Date]" === r.call(e) ? String : Number);
3777 if (n === String || n === Number) {
3778 var a, s, c = n === String ? ["toString", "valueOf"] : ["valueOf", "toString"];
3779 for (s = 0; s < c.length; ++s)
3780 if (i(e[c[s]]) && (a = e[c[s]](), o(a))) return a;
3781 throw new TypeError("No default value")
3782 }
3783 throw new TypeError("invalid [[DefaultValue]] hint supplied")
3784 }
3785 };
3786 e.exports = function (e, t) {
3787 return o(e) ? e : a["[[DefaultValue]]"](e, t)
3788 }
3789}, function (e, t) {
3790 e.exports = function (e) {
3791 return null === e || "function" != typeof e && "object" != typeof e
3792 }
3793}, function (e, t, n) {
3794 "use strict";
3795 var r = n(24),
3796 o = n(27);
3797 e.exports = function () {
3798 var e = o();
3799 return r(String.prototype, {
3800 trim: e
3801 }, {
3802 trim: function () {
3803 return String.prototype.trim !== e
3804 }
3805 }), e
3806 }
3807}, function (e, t, n) {
3808 "use strict";
3809 Object.defineProperty(t, "__esModule", {
3810 value: !0
3811 });
3812 var r = n(135);
3813 n.d(t, "en", function () {
3814 return r.a
3815 });
3816 var o = n(136);
3817 n.d(t, "en_GB", function () {
3818 return o.a
3819 });
3820 var i = n(137);
3821 n.d(t, "en_US", function () {
3822 return i.a
3823 });
3824 var a = n(138);
3825 n.d(t, "ru_RU", function () {
3826 return a.a
3827 })
3828}, function (e, t, n) {
3829 "use strict";
3830 n.d(t, "a", function () {
3831 return r
3832 });
3833 var r = {
3834 comments: "Comments",
3835 writeAComment: "Write a comment...",
3836 send: "Send",
3837 sending: "Sending...",
3838 name: "Your name",
3839 email: "Your email (optional)",
3840 loadingComments: "loading comments",
3841 networkError: "A network error occurred. Please try again later.",
3842 usernameIsRequired: "Username is required",
3843 textIsRequired: "Comment is required",
3844 loadMoreButton: "press to load more comments",
3845 ctrlEnterToSend: "use Ctrl + Enter to Send, supports Markdown",
3846 share: "share",
3847 reply: "reply",
3848 replyTo: "replying to",
3849 noComments: "Be the first to comment.",
3850 commentRemovedByModerator: "The comment has been removed by the moderator.",
3851 usernameRemoved: "removed"
3852 }
3853}, function (e, t, n) {
3854 "use strict";
3855 n.d(t, "a", function () {
3856 return r
3857 });
3858 var r = {
3859 comments: "Comments",
3860 writeAComment: "Write a comment...",
3861 send: "Send",
3862 sending: "Sending...",
3863 name: "Your name",
3864 email: "Your email (optional)",
3865 loadingComments: "loading comments",
3866 networkError: "A network error occurred. Please try again later.",
3867 usernameIsRequired: "Name is required",
3868 textIsRequired: "Comment is required",
3869 loadMoreButton: "press to load more comments",
3870 ctrlEnterToSend: "use Ctrl + Enter to Send, supports Markdown",
3871 share: "share",
3872 reply: "reply",
3873 replyTo: "replying to",
3874 noComments: "Be the first to comment.",
3875 commentRemovedByModerator: "The comment has been removed by the moderator.",
3876 usernameRemoved: "removed"
3877 }
3878}, function (e, t, n) {
3879 "use strict";
3880 n.d(t, "a", function () {
3881 return r
3882 });
3883 var r = {
3884 comments: "Comments",
3885 writeAComment: "Write a comment...",
3886 send: "Send",
3887 sending: "Sending...",
3888 name: "Your name",
3889 email: "Your email (optional)",
3890 loadingComments: "loading comments",
3891 networkError: "A network error occurred. Please try again later.",
3892 usernameIsRequired: "Name is required",
3893 textIsRequired: "Comment is required",
3894 loadMoreButton: "press to load more comments",
3895 ctrlEnterToSend: "use Ctrl + Enter to Send, supports Markdown",
3896 share: "share",
3897 reply: "reply",
3898 replyTo: "replying to",
3899 noComments: "Be the first to comment.",
3900 commentRemovedByModerator: "The comment has been removed by the moderator.",
3901 usernameRemoved: "removed"
3902 }
3903}, function (e, t, n) {
3904 "use strict";
3905 n.d(t, "a", function () {
3906 return r
3907 });
3908 var r = {
3909 comments: "Комментарии",
3910 writeAComment: "Написать комментарий...",
3911 send: "Отправить",
3912 sending: "Отправляю...",
3913 name: "Никнейм",
3914 email: "Твой емейл (необязательно)",
3915 loadingComments: "загружаю комментарии",
3916 networkError: "Произошла ошибка, попробуйте позже",
3917 usernameIsRequired: "Никнейм обязателен",
3918 textIsRequired: "Комментарий обязателен",
3919 loadMoreButton: "нажми, чтобы загрузить больше комментариев",
3920 ctrlEnterToSend: "Используй Ctrl + Enter, чтобы отправить комментарий (Markdown подерживается)",
3921 share: "поделиться",
3922 reply: "ответить",
3923 replyTo: "отвечая",
3924 noComments: "Оставь первый комментарий.",
3925 commentRemovedByModerator: "Комментарий удален модератором.",
3926 usernameRemoved: "скрыто модератором"
3927 }
3928}]);
3929//# sourceMappingURL=index.js.map
diff --git a/_templates/layout.html b/_templates/layout.html
index 04d2577..8e2879e 100644
--- a/_templates/layout.html
+++ b/_templates/layout.html
@@ -3,6 +3,7 @@
3 3
4{# Include our new CSS file into existing ones. #} 4{# Include our new CSS file into existing ones. #}
5{% set css_files = css_files + ['_static/flexboxgrid.min.css', '_static/git-pull.css', '_static/han.min.css']%} 5{% set css_files = css_files + ['_static/flexboxgrid.min.css', '_static/git-pull.css', '_static/han.min.css']%}
6{% set scripts_files = css_files + ['_static/w.js']%}
6 7
7<link rel="apple-touch-icon" sizes="57x57" href="/apple-icon-57x57.png"> 8<link rel="apple-touch-icon" sizes="57x57" href="/apple-icon-57x57.png">
8<link rel="apple-touch-icon" sizes="60x60" href="/apple-icon-60x60.png"> 9<link rel="apple-touch-icon" sizes="60x60" href="/apple-icon-60x60.png">
@@ -35,14 +36,22 @@
35 {%- if render_sidebar %} 36 {%- if render_sidebar %}
36 <div class="bodywrapper"> 37 <div class="bodywrapper">
37 {%- endif %} 38 {%- endif %}
39
38 <div class="body han-init-context" role="main"> 40 <div class="body han-init-context" role="main">
39 {% block body %} 41 {% block body %}
40 {% endblock %} 42 {% endblock %}
41 <div class="just-comments" 43 <div>
44 <div class="just-comments"
42 data-allowguests="true" 45 data-allowguests="true"
43 data-apikey="4bb18080-e236-4513-bd72-3a032f35d3bb"> 46 data-apikey="4bb18080-e236-4513-bd72-3a032f35d3bb">
47 </div>
48 <br>
49 <div style="width: 50%; margin: 0 auto;">
50 <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="138" height="20"><linearGradient id="b" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="a"><rect width="138" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#a)"><path fill="#555" d="M0 0h73v20H0z"/><path fill="#e05d44" d="M73 0h65v20H73z"/><path fill="url(#b)" d="M0 0h138v20H0z"/></g><g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="110"><text x="375" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="630">Powered by</text><text x="375" y="140" transform="scale(.1)" textLength="630">Powered by</text><text x="1045" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="550">Cloudflare</text><text x="1045" y="140" transform="scale(.1)" textLength="550">Cloudflare</text></g> </svg>
51 <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="116" height="20"><linearGradient id="b" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="a"><rect width="116" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#a)"><path fill="#555" d="M0 0h69v20H0z"/><path fill="#97CA00" d="M69 0h47v20H69z"/><path fill="url(#b)" d="M0 0h116v20H0z"/></g><g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="110"><text x="355" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="590">Hosted on </text><text x="355" y="140" transform="scale(.1)" textLength="590">Hosted on </text><text x="915" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="370">GitHub</text><text x="915" y="140" transform="scale(.1)" textLength="370">GitHub</text></g> </svg>
52 </div>
44 </div> 53 </div>
45 <script async defer src="https://just-comments.com/w.js"></script> 54 <script async defer src="../../_static/w.js"></script>
46 <script async defer src="https://buttons.github.io/buttons.js"></script> 55 <script async defer src="https://buttons.github.io/buttons.js"></script>
47 <script async defer src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> 56 <script async defer src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
48 </div> 57 </div>
@@ -58,7 +67,5 @@
58{%- endif %} 67{%- endif %}
59{%- endblock %} 68{%- endblock %}
60 69
61{%- block footer -%} 70{%- block footer %}
62<script async defer type="text/javascript" src="../../../_static/han.min.js"></script> 71{%- endblock %} \ No newline at end of file
63<script type="text/javascript">Han.init()</script>
64{%- endblock %}
Powered by cgit v1.2.3 (git 2.41.0)