Seditio Source
Root |
./othercms/xenForo 2.2.8/js/xf/core.min.js
'use strict';var XF=window.XF||{};void 0===window.jQuery&&(jQuery=$={});
!function(g,q,r){XF.activate?console.error("XF core has been double loaded"):(XF.browser||(XF.browser={browser:"",version:0,os:"",osVersion:null}),function(){var a=function(){var f=r.createElement("fake"),e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},d;for(d in e)if(void 0!==f.style[d])return{end:e[d]};return!1}();g.support.transition=a;g.support.transition&&(g.event.special.xfTransitionEnd={bindType:a.end,
delegateType:a.end,handle:function(f){if(g(f.target).is(this))return f.handleObj.handler.apply(this,arguments)}});var b=g("html").attr("dir");a="normal";if(b&&"RTL"==b.toUpperCase()){b=g('<div style="width: 80px; height: 40px; font-size: 30px; overflow: scroll; white-space: nowrap; word-wrap: normal; position: absolute; top: -1000px; visibility: hidden; pointer-events: none">MMMMMMMMMM</div>');var c=b[0];b.appendTo("body");0<c.scrollLeft?a="inverted":(c.scrollLeft=-1,-1==c.scrollLeft&&(a="negative"));
b.remove()}g.support.scrollLeftType=a;g.fn.reverse=[].reverse;g.addEventCapture=function(){var f=g.event.special;return function(e){r.addEventListener&&("string"==typeof e&&(e=[e]),g.each(e,function(d,h){var k=function(m){m=g.event.fix(m);return g.event.dispatch.call(this,m)};f[h]=f[h]||{};f[h].setup||f[h].teardown||g.extend(f[h],{setup:function(){this.addEventListener(h,k,!0)},teardown:function(){this.removeEventListener(h,k,!0)}})}))}}()}(),g.fn.extend({onWithin:function(a,b,c){var f=this;g(r).on(a,
function(e){g(e.target).has(f).length&&(c&&g(r).off(e),b(e))});return this},oneWithin:function(a,b){return this.onWithin(a,b,!0)},onPassive:function(a,b){if("object"==typeof a){for(var c in a)this.onPassive(c,a[c]);return this}if("string"!=typeof a||"function"!=typeof b)return console.warn("$.onPassive failure for %s.on%s, check parameters",this.get(0),a),this;if(-1!==a.indexOf("."))return console.warn("$.onPassive does not support namespaced events %s.on%s",this.get(0),a),!1;XF.Feature.has("passiveeventlisteners")?
this.get(0).addEventListener(a,b,{passive:!0}):this.get(0).addEventListener(a,b);return this},offPassive:function(a,b){this.get(0).removeEventListener(a,b);return this},onPointer:function(a,b){if(g.isPlainObject(a)){for(var c in a)if(a.hasOwnProperty(c))this.onPointer(c,a[c]);return this}"string"===typeof a&&(a=a.split(/\s+/));var f=this,e=function(d){var h=g(this).data("xf-pointer-type");d.xfPointerType=d.pointerType||h||"";b(d)};a.forEach(function(d){f.on(d,e)});this.off("pointerdown.pointer-watcher").on("pointerdown.pointer-watcher",
function(d){g(this).data("xf-pointer-type",d.pointerType)});return this},xfFadeDown:function(a,b){this.filter(":hidden").hide().css("opacity",0);a=a||XF.config.speed.normal;this.find(".is-sticky").addClass("was-sticky").removeClass("is-sticky");this.animate({opacity:1,height:"show",marginTop:"show",marginBottom:"show",paddingTop:"show",paddingBottom:"show"},{duration:a,easing:"swing",complete:function(){g(this).find(".was-sticky").addClass("is-sticky").removeClass("was-sticky");b&&b();XF.layoutChange()}});
return this},xfFadeUp:function(a,b){a=a||XF.config.speed.normal;this.find(".is-sticky").addClass("was-sticky").removeClass("is-sticky");this.animate({opacity:0,height:"hide",marginTop:"hide",marginBottom:"hide",paddingTop:"hide",paddingBottom:"hide"},{duration:a,easing:"swing",complete:function(){g(this).find(".was-sticky").addClass("is-sticky").removeClass("was-sticky");b&&b();XF.layoutChange()}});return this},xfUniqueId:function(){var a=this.attr("id");a||(a="js-XFUniqueId"+XF.getUniqueCounter(),
this.attr("id",a));return a},findExtended:function(a){var b;if("string"===typeof a&&(b=a.match(/^<([^|]+)(\|([\s\S]+))?$/))){a=g.trim(b[1]);var c,f,e={up:"parent",next:"next",prev:"prev"},d=this;do if(c=a.match(/^:(up|next|prev)(\((\d+)\))?/)){c[2]||(c[3]=1);var h=e[c[1]];for(f=0;f<c[3];f++)(d=d[h]())||(d=g());a=g.trim(a.substr(c[0].length))}while(c);a.length&&(d=d.closest(a));d.length||(d=g());a=b[2]?g.trim(b[3]):"";return a.length?d.find(a):d}return this._find(a)},dimensions:function(a,b){var c=
this.offset();c={top:c.top,left:c.left};b=b?!0:!1;c.width=a?this.outerWidth(b):this.width();c.height=a?this.outerHeight(b):this.height();c.right=c.left+c.width;c.bottom=c.top+c.height;return c},viewport:function(a,b){a={width:a?this.outerWidth(b):this.width(),height:a?this.outerHeight(b):this.height(),left:this.scrollLeft(),top:this.scrollTop(),right:0,bottom:0,docWidth:g(r).width(),docHeight:g(r).height()};a.bottom=a.top+a.height;a.right=a.left+a.width;return a},hasFixableParent:function(){var a=
!1;this.parents().each(function(){var b=g(this);switch(b.css("position")){case "fixed":case "sticky":case "-webkit-sticky":return a=b,!1}if(b.data("sticky_kit"))return a=b,!1});return a},hasFixedParent:function(){var a=!1;this.parents().each(function(){var b=g(this);switch(b.css("position")){case "fixed":return a=b,!1;case "sticky":case "-webkit-sticky":var c=b.dimensions(!0),f=g(q).viewport(),e=b.css("top"),d=b.css("bottom");if("auto"!==e&&(e=c.top-f.top-parseInt(e,10),.5>=e&&-.5<=e)||"auto"!==d&&
(e=c.bottom-f.bottom-parseInt(d,10),.5>=e&&-.5<=e))return a=b,!1}});return a},onTransitionEnd:function(a,b){var c=!1,f=this;this.one("xfTransitionEnd",function(){if(!c)return c=!0,b.apply(this,arguments)});setTimeout(function(){c||f.trigger("xfTransitionEnd")},a+10);return this},autofocus:function(){var a=g(this);XF.isIOS()?a.is(":focus")||(a.addClass("is-focused"),a.on("blur",function(){a.removeClass("is-focused")})):a.focus();return this},normalizedScrollLeft:function(a){var b=g.support.scrollLeftType;
if("undefined"!==typeof a){for(var c=0;c<this.length;c++){var f=this[c],e=a;switch(b){case "negative":e=0<e?-e:0;break;case "inverted":e=f.scrollWidth-f.offsetWidth-e}f.scrollLeft=e}return this}a=this[0];if(!a)return 0;c=a.scrollLeft;switch(b){case "negative":return 0>c?-c:0;case "inverted":return b=a.scrollWidth-c-a.offsetWidth,.5>b?0:b;default:return c}},focusNext:function(){var a=g('input:not([type="hidden"]), select, textarea, a, button').filter(":visible");return a.eq(a.index(this)+1).focus()},
retinaFix:function(){if(2<=q.devicePixelRatio)this.find("img[srcset]").one("load",function(a){g(this).prop("srcset",g(this).attr("srcset"))});return this}}),function(){function a(e){if(!g.support.transition)return 0;var d=e[0];if(!(d&&d instanceof q.Element))return 0;e=e.css("transition-duration");d=0;e&&e.match(/^(\+|-|)([0-9]*\.[0-9]+|[0-9]+)(ms|s)/i)&&(d=("-"==RegExp.$1?-1:1)*parseFloat(RegExp.$2)*("ms"==RegExp.$3.toLowerCase()?1:1E3));return d}function b(e,d,h){var k=[];g.isFunction(d)&&(d=d.call(e[0],
0,e[0].className));d=g.trim(d).split(/\s+/);e=" "+e[0].className+" ";for(var m,l=0;l<d.length;l++)((m=0<=e.indexOf(" "+d[l]+" "))&&!h||!m&&h)&&k.push(d[l]);return k.join(" ")}function c(e,d,h,k,m){m=m?0:a(e);var l=d?"addClass":"removeClass",p=d?"removeClass":"addClass";d=b(e,h,d?!0:!1);var n=e[0],t=function(){k&&setTimeout(function(){k.call(n,g.Event("xfTransitionEnd"))},0)};if(d.length)if(0>=m)e[l](d),t();else{e.hasClass("is-transitioning")&&e.trigger("xfTransitionEnd");e.addClass("is-transitioning");
if(e.css("transition-property").match(/(^|\s|,)-xf-(width|height)($|\s|,)/)){t=RegExp.$2;var x=f[t],v=e.css(x),y=v[t],w="transition."+t,u=e.data(w),z=n.style,B=z.transition||z["-webkit-transition"]||z["-moz-transition"]||z["-o-transition"]||"",A;if(void 0===u)for(u={},A=0;A<x.length;A++)u[x[A]]=z[x[A]]||"";if(0==e[t]())for(A in y="0",v)v.hasOwnProperty(A)&&(v[A]="0");e.data(w,u).css("transition","none")[l](d);x=e.css(x);u=x[t];if(0==e[t]())for(A in u="0",x)x.hasOwnProperty(A)&&(x[A]="0");e[p](d);
if(y!=u){var C=k;e.css(v);n.offsetWidth;e.css("transition",B).css(x);k=function(){e.css(e.data(w)).removeData(w);C&&C.apply(this,arguments)}}else e.css("transition",B)}e.onTransitionEnd(m,function(){e.removeClass("is-transitioning");k&&k.apply(this,arguments)});e[l](h)}else t()}var f={height:"height padding-top padding-bottom margin-top margin-bottom border-top-width border-bottom-width".split(" "),width:"width padding-left padding-right margin-left margin-right border-right-width border-left-width".split(" ")};
g.fn.addClassTransitioned=function(e,d,h){for(var k=this.length,m=0;m<k;m++)c(g(this[m]),!0,e,d,h);return this};g.fn.removeClassTransitioned=function(e,d,h){for(var k=this.length,m=0;m<k;m++)c(g(this[m]),!1,e,d,h);return this};g.fn.toggleClassTransitioned=function(e,d,h,k){"boolean"!==typeof d&&"undefined"===typeof h&&(h=d,d=null);for(var m="boolean"===typeof d,l=this.length,p=0;p<l;p++){var n=g(this[p]);var t=m?d:n.hasClass(e)?!1:!0;c(n,t,e,h,k)}return this}}(),g.extend(XF,{config:{userId:null,enablePush:!1,
skipServiceWorkerRegistration:!1,skipPushNotificationSubscription:!1,skipPushNotificationCta:!1,serviceWorkerPath:null,pushAppServerKey:null,csrf:g("html").data("csrf"),time:{now:0,today:0,todayDow:0,tomorrow:0,yesterday:0,week:0},cookie:{path:"/",domain:"",prefix:"xf_"},url:{fullBase:"/",basePath:"/",css:"",keepAlive:""},css:{},js:{},jsState:{},speed:{xxfast:50,xfast:100,fast:200,normal:400,slow:600},job:{manualUrl:""},borderSizeFeature:"3px",fontAwesomeWeight:"r",enableRtnProtect:!0,enableFormSubmitSticky:!0,
visitorCounts:{conversations_unread:"0",alerts_unviewed:"0",total_unread:"0",title_count:!1,icon_indicator:!1},uploadMaxFilesize:null,allowedVideoExtensions:[],allowedAudioExtensions:[],shortcodeToEmoji:!0,publicMetadataLogoUrl:"",publicPushBadgeUrl:""},debug:{disableAjaxSubmit:!1},counter:1,pageDisplayTime:null,phrases:{},getApp:function(){return g("html").data("app")||null},getKeyboardInputs:function(){return"input:not([type=radio], [type=checkbox], [type=submit], [type=reset]), textarea"},onPageLoad:function(){g(r).trigger("xf:page-load-start");
XF.NavDeviceWatcher.initialize();XF.ActionIndicator.initialize();XF.DynamicDate.initialize();XF.KeepAlive.initialize();XF.LinkWatcher.initLinkProxy();XF.LinkWatcher.initExternalWatcher();XF.NoticeWatcher.initialize();XF.ExpandableContent.watch();XF.ScrollButtons.initialize();XF.KeyboardShortcuts.initialize();XF.FormInputValidation.initialize();XF.PWA.initialize();XF.Push.initialize();XF.IgnoreWatcher.initializeHash();XF.BrowserWarning.display();XF.History.initialize();XF.config.jsState=XF.applyJsState({},
XF.config.jsState);XF.activate(r);g(r).on("ajax:complete",function(a,b,c){(a=b.responseJSON)&&a.visitor&&XF.updateVisitorCounts(a.visitor,!0)});g(r).on("ajax:before-success",function(a,b,c,f){(b=f.responseJSON)&&b&&b.job&&(a=b.job,a.manual&&XF.JobRunner.runManual(a.manual),a.autoBlocking?XF.JobRunner.runAutoBlocking(a.autoBlocking,a.autoBlockingMessage):a.auto&&setTimeout(XF.JobRunner.runAuto,0))});g(r).on("keyup","a:not([href])",function(a){"Enter"==a.key&&g(a.currentTarget).click()});g("html[data-run-jobs]").length&&
setTimeout(XF.JobRunner.runAuto,100);XF.updateVisitorCountsOnLoad(XF.config.visitorCounts);XF.CrossTab.on("visitorCounts",function(a){XF.updateVisitorCounts(a,!1)});XF.pageLoadScrollFix();setTimeout(function(){g("[data-load-auto-click]").first().click()},100);g(r).trigger("xf:page-load-complete")},addExtraPhrases:function(a){g(a).find("script.js-extraPhrases").each(function(){var b=g(this);try{var c=g.parseJSON(b.html())||{};g.extend(XF.phrases,c)}catch(f){console.error(f)}b.remove()})},phrase:function(a,
b,c){var f=XF.phrases[a];f&&b&&(f=XF.stringTranslate(f,b));return f||c||a},_isRtl:null,isRtl:function(){if(null===XF._isRtl){var a=g("html").attr("dir");XF._isRtl=a&&"RTL"==a.toUpperCase()}return XF._isRtl},rtlFlipKeyword:function(a){if(!XF.isRtl())return a;switch(a.toLowerCase()){case "left":return"right";case "right":return"left";default:return a}},isMac:function(){return-1!=navigator.userAgent.indexOf("Mac OS")},isIOS:function(){return/iPad|iPhone|iPod/.test(navigator.userAgent)&&!q.MSStream},
isIE:function(){var a=navigator.userAgent;return 0<a.indexOf("MSIE ")||0<a.indexOf("Trident/")},log:function(){console.log&&console.log.apply&&console.log.apply(console,arguments)},findRelativeIf:function(a,b){if(!a)throw Error("No selector provided");var c;if(c=a.match(/^(<|>|\|)/)){if("<"==c[1])return b.findExtended(a);"|"==c[1]&&(a=a.substr(1));return b.find(a)}return g(a)},isElementVisible:function(a){a=a[0].getBoundingClientRect();return 0<=a.top&&0<=a.left&&a.bottom<=g(q).height()&&a.right<=
g(q).width()},layoutChange:function(){XF._layoutChangeTriggered||(XF._layoutChangeTriggered=!0,setTimeout(function(){XF._layoutChangeTriggered=!1;g(r.body).trigger("sticky_kit:recalc").trigger("xf:layout")},0))},_layoutChangeTriggered:!1,updateAvatars:function(a,b,c){g(".avatar").each(function(){var f=g(this),e=f.find("img, span").first(),d="avatar-u"+a+"-",h=f.hasClass("avatar--updateLink")?f.find(".avatar-update"):null;if((c||!e.hasClass(".js-croppedAvatar"))&&e.is('[class^="'+d+'"]')){if(e.hasClass(d+
"s"))e=g(b.s);else if(e.hasClass(d+"m"))e=g(b.m);else if(e.hasClass(d+"l"))e=g(b.l);else if(e.hasClass(d+"o"))e=g(b.o);else return;f.html(e.html());e.hasClass("avatar--default")?(f.addClass("avatar--default"),e.hasClass("avatar--default--dynamic")?f.addClass("avatar--default--dynamic"):e.hasClass("avatar--default--text")?f.addClass("avatar--default--text"):e.hasClass("avatar--default--image")&&f.addClass("avatar--default--image")):f.removeClass("avatar--default avatar--default--dynamic avatar--default--text avatar--default--image");
f.attr("style",e.attr("style"));h&&f.append(h)}})},updateVisitorCounts:function(a,b,c){a&&"public"==XF.getApp()&&(XF.badgeCounterUpdate(g(".js-badge--conversations"),a.conversations_unread),XF.badgeCounterUpdate(g(".js-badge--alerts"),a.alerts_unviewed),XF.config.visitorCounts.title_count&&XF.pageTitleCounterUpdate(a.total_unread),XF.config.visitorCounts.icon_indicator&&XF.faviconUpdate(a.total_unread),b&&(XF.appBadgeUpdate(a.total_unread),XF.CrossTab.trigger("visitorCounts",a),XF.LocalStorage.setJson("visitorCounts",
{time:c||Math.floor((new Date).getTime()/1E3)-1,conversations_unread:a.conversations_unread,alerts_unviewed:a.alerts_unviewed,total_unread:a.total_unread})))},updateVisitorCountsOnLoad:function(a){var b=XF.getLocalLoadTime(),c=XF.LocalStorage.getJson("visitorCounts");c&&c.time&&c.time>b&&(a.conversations_unread=c.conversations_unread,a.alerts_unviewed=c.alerts_unviewed,a.total_unread=c.total_unread);XF.updateVisitorCounts(a,!0,b)},badgeCounterUpdate:function(a,b){a.length&&(a.attr("data-badge",b),
"0"!=String(b)?a.addClass("badgeContainer--highlighted"):a.removeClass("badgeContainer--highlighted"))},shouldCountBeShown:function(a){return 0<parseInt(a.replace(/[,. ]/g,""))},pageTitleCache:"",pageTitleCounterUpdate:function(a){var b=r.title;""===XF.pageTitleCache&&(XF.pageTitleCache=b);b!==XF.pageTitleCache&&"("===b.charAt(0)&&(b=XF.pageTitleCache);a=(this.shouldCountBeShown(a)?"("+a+") ":"")+b;a!=r.title&&(r.title=a)},favIconAlertShown:!1,faviconUpdate:function(a){var b=this.shouldCountBeShown(a);
if(b!==XF.favIconAlertShown){var c=g('link[rel~="icon"]');if(c.length){XF.favIconAlertShown=b;var f=this;c.each(function(e,d){var h=g(d);e=h.attr("href");d=h.data("original-href");f.shouldCountBeShown(a)?(d||h.data("original-href",e),g("<img />").on("load",function(){var k=XF.faviconDraw(this);k&&h.attr("href",k)}).attr("src",e)):d&&h.attr("href",d).removeData("original-href")})}}},faviconDraw:function(a){var b=a.naturalWidth,c=a.naturalHeight;c=g("<canvas />").attr({width:b,height:c});var f=c[0].getContext("2d"),
e=b/(32/6),d=2*Math.PI;f.drawImage(a,0,0);f.beginPath();f.arc(e,e,e,0,d,!1);f.fillStyle="#E03030";f.fill();f.lineWidth=b/16;f.strokeStyle="#EAEAEA";f.stroke();f.closePath();try{return c[0].toDataURL("image/png")}catch(h){return null}},appBadgeUpdate:function(a){"setAppBadge"in navigator&&!navigator.webdriver&&!navigator.userAgent.match(/Chrome-Lighthouse|Googlebot|AdsBot-Google|Mediapartners-Google/i)&&(a=parseInt(String(a).replace(/[,. ]/g,"")),navigator.setAppBadge(a))},unparseBbCode:function(a){var b=
g(r.createElement("div"));b.html(a);b.find(".js-noSelectToQuote").each(function(){g(this).remove()});g.each(["B","I","U","S"],function(c,f){b.find(f).each(function(){g(this).replaceWith("["+f+"]"+g(this).html()+"[/"+f+"]")})});b.find(".bbCodeBlock--quote").each(function(){var c=g(this),f=c.find(".bbCodeBlock-expandContent");f.length?c.replaceWith("<div>[QUOTE]"+f.html()+"[/QUOTE]</div>"):f.find(".bbCodeBlock-expand").remove()});b.find(".bbCodeBlock--code").each(function(){var c=g(this);if(!c.find(".bbCodeCode"))return!0;
var f=c.find(".bbCodeCode code");if(!f.length)return!0;var e=f.attr("class");e=(e=e?e.match(/language-(\S+)/):null)?e[1]:null;f.removeAttr("class");c.replaceWith(f.first().attr("data-language",e||"none"))});b.find(".bbCodeBlock--unfurl").each(function(){var c=g(this).data("url");g(this).replaceWith("[URL unfurl=true]"+c+"[/URL]")});b.find('div[style*="text-align"]').each(function(){var c=g(this).css("text-align").toUpperCase();g(this).replaceWith("["+c+"]"+g(this).html()+"[/"+c+"]")});b.find(".bbCodeSpoiler").each(function(){var c=
"";var f=g(this).find(".bbCodeSpoiler-button");if(f.length){var e=g(this).find(".bbCodeSpoiler-content").html();f=f.find(".bbCodeSpoiler-button-title");f.length&&(c='="'+f.text()+'"');g(this).replaceWith("[SPOILER"+c+"]"+e+"[/SPOILER]")}});b.find(".bbCodeInlineSpoiler").each(function(){var c=g(this).html();g(this).replaceWith("[ISPOILER]"+c+"[/ISPOILER]")});return b.html()},hideOverlays:function(){g.each(XF.Overlay.cache,function(a,b){b.hide()})},hideTooltips:function(){g.each(XF.TooltipTrigger.cache,
function(a,b){b.hide()})},hideParentOverlay:function(a){a=a.closest(".overlay-container");a.length&&a.data("overlay")&&a.data("overlay").hide()},getStickyHeaderOffset:function(){var a,b=0;for(a=0;a<XF.StickyHeader.cache.length;a++){var c=XF.StickyHeader.cache[a];c.$target.hasClass(c.options.stickyClass)&&(b+=c.$target.outerHeight())}return b},loadedScripts:{},loadScript:function(a,b){if(XF.loadedScripts.hasOwnProperty(a))return!1;XF.loadedScripts[a]=!0;return g.ajax({url:a,dataType:"script",cache:!0,
global:!1,success:b})},loadScripts:function(a,b){function c(){k--;0===k&&b&&b()}function f(){for(var n;m[0]&&"loaded"==m[0].readyState;)n=m.shift(),n.onreadystatechange=null,n.onerror=null,h.appendChild(n),c()}var e=r.scripts[0],d="async"in e;e=e.readyState;var h=r.head,k=0,m=[],l;for(l in a)if(a.hasOwnProperty(l)){var p=a[l];XF.loadedScripts[p]||(XF.loadedScripts[p]=!0,k++,d?function(n){var t=g("<script>").prop({src:n,async:!1});t.on("load error",function(x){t.off("load error");c()});h.appendChild(t[0])}(p):
e?function(n){var t=r.createElement("script");m.push(t);t.onreadystatechange=f;t.onerror=function(){t.onreadystatechange=null;t.onerror=null;c()};t.src=n}(p):g.ajax({url:p,dataType:"script",cache:!0,global:!1}).always(c))}!k&&b&&b()},ajax:function(a,b,c,f,e){"function"==typeof c&&void 0===f&&(f=c,c={});c=c||{};var d=!0,h=!0,k=!0;e&&(e.skipDefault&&(h=d=!1,delete e.skipDefault),e.skipDefaultSuccessError&&(h=!1,delete e.skipDefaultSuccessError),e.skipDefaultSuccess&&(d=!1,delete e.skipDefaultSuccess),
e.skipError&&(k=!1,delete e.skipError));var m=function(n,t,x){g(r).trigger("ajax:before-success",[n,t,x]);h&&XF.defaultAjaxSuccessError(n,t,x)||d&&XF.defaultAjaxSuccess(n,t,x)||f&&f(n,t,x)},l=function(n,t,x){if(n.readyState)try{var v=g.parseJSON(n.responseText);m(v,"",n)}catch(y){XF.defaultAjaxError(n,t,x)}};c=XF.dataPush(c,"_xfRequestUri",q.location.pathname+q.location.search);c=XF.dataPush(c,"_xfWithData",1);XF.config.csrf&&(c=XF.dataPush(c,"_xfToken",XF.config.csrf));var p=q.FormData&&c instanceof
FormData;a=g.extend(!0,{cache:!0,data:c||{},dataType:"json",beforeSend:function(n,t){g(r).trigger("ajax:send",[n,t])},error:k?l:null,success:m,complete:function(n,t){g(r).trigger("ajax:complete",[n,t])},timeout:"get"===a?3E4:6E4,type:a,url:b,processData:p?!1:!0},e);p&&(a.contentType=!1);switch(a.dataType){case "html":case "json":case "xml":a.data=XF.dataPush(a.data,"_xfResponseType",a.dataType)}"json"!=a.dataType&&(d=!1);return g.ajax(a)},dataPush:function(a,b,c){a&&"string"!=typeof a?void 0!==a[0]?
a.push({name:b,value:c}):q.FormData&&a instanceof FormData?a.append(b,c):a[b]=c:(a=String(a),a+="&"+encodeURIComponent(b)+"="+encodeURIComponent(c));return a},defaultAjaxSuccessError:function(a,b,c){if("object"!=typeof a)return XF.alert("Response was not JSON."),!0;a.html&&a.html.templateErrors&&(b="Errors were triggered when rendering this template:",a.html.templateErrorDetails&&(b+="\n* "+a.html.templateErrorDetails.join("\n* ")),console.error(b));return a.errorHtml?(XF.setupHtmlInsert(a.errorHtml,
function(f,e){e=e.h1||e.title||XF.phrase("oops_we_ran_into_some_problems");XF.overlayMessage(e,f)}),!0):a.errors?(XF.alert(a.errors),!0):a.exception?(XF.alert(a.exception),!0):!1},defaultAjaxSuccess:function(a,b,c){a&&"ok"==a.status&&a.message&&XF.flashMessage(a.message,3E3);return!1},defaultAjaxError:function(a,b,c){switch(b){case "abort":return;case "timeout":XF.alert(XF.phrase("server_did_not_respond_in_time_try_again"));return;case "notmodified":case "error":if(!a||!a.responseText)return}console.error("PHP: "+
a.responseText);XF.alert(XF.phrase("oops_we_ran_into_some_problems_more_details_console"))},activate:function(a){XF.addExtraPhrases(a);XF.IgnoreWatcher.refresh(a);XF.Element.initialize(a);XF.DynamicDate.refresh(a);XF.ExpandableContent.checkSizing(a);XF.UnfurlLoader.activateContainer(a);XF.KeyboardShortcuts.initializeElements(a);XF.FormInputValidation.initializeElements(a);var b=a instanceof g?a.get(0):a;q.FB&&setTimeout(function(){FB.XFBML.parse(b)},0);g(r).trigger("xf:reinit",[a])},getDefaultFormData:function(a,
b,c,f){var e;b&&b.length&&b.attr("name")&&(e=b.attr("name"));c&&"multipart/form-data"===a.attr("enctype")&&console.error("JSON serialized forms do not support the file upload-style enctype.");if(q.FormData&&!c){var d=new FormData(a[0]);e&&d.append(e,b.attr("value"));a.find('input[type="file"]').each(function(){var p=g(this);if(0===p.prop("files").length)try{d.delete(p.attr("name"))}catch(n){}})}else{if(c){a=a.is("form")?g(a[0].elements):a;var h,k=[],m=[];if(f){"string"===typeof f&&(f=f.split(","));
var l=[];g.each(f,function(p,n){"number"===typeof p?l.push(XF.regexQuote(g.trim(n))):l.push(XF.regexQuote(g.trim(p)))});l.length&&(h=new RegExp("^("+l.join("|")+")(\\[|$)"))}a.each(function(p,n){(p=n.name)&&"_xf"!==p.substring(0,3)?!h||h.test(p)?k.push(n):m.push(n):m.push(n)});d=g(m).serializeArray();f=g(k).serializeJSON();d.unshift({name:c,value:JSON.stringify(f)})}else d=a.serializeArray();e&&d.push({name:e,value:b.attr("value")})}return d},scriptMatchRegex:/<script([^>]*)>([\s\S]*?)<\/script>/ig,
setupHtmlInsert:function(a,b,c){if("string"===typeof a||a instanceof g)a={content:a};if("object"==typeof a&&a.content){var f=arguments;XF.Loader.load(a.js,a.css,function(){var e,d=a.jsInline||[],h=a.content,k="string"==typeof h,m=f[2]?!0:!1;if(a.cssInline)for(e=0;e<a.cssInline.length;e++)g("<style>"+a.cssInline[e]+"</style>").appendTo("head");if(k){var l;h=g.trim(h);if(!m)for(;e=XF.scriptMatchRegex.exec(h);){var p=!1;if(l=e[1].match(/(^|\s)type=("|'|)([^"' ;]+)/))switch(l[3].toLowerCase()){case "text/javascript":case "text/ecmascript":case "application/javascript":case "application/ecmascript":p=
!0}else p=!0;p&&(d.push(e[2]),h=h.replace(e[0],""))}h=h.replace(/<noscript>([\s\S]*?)<\/noscript>/ig,"")}var n=g(k?g.parseHTML(h,null,m):h);n.retinaFix();n.find("noscript").empty().remove();if(b instanceof g){var t=b;b=function(v){t.html(v)}}if("function"!==typeof b)console.error("onReady was not a function");else{var x=!1;h=function(v){if(!x){x=!0;for(var y=0;y<d.length;y++)g.globalEval(d[y]);a.jsState&&(XF.config.jsState=XF.applyJsState(XF.config.jsState,a.jsState));v||XF.activate(n)}};!1!==b(n,
a,h)&&h()}})}else console.error("Was not provided an object or HTML content")},alert:function(a,b,c,f){var e=a;"object"==typeof a&&(e="<ul>",g.each(a,function(d,h){e+="<li>"+h+"</li>"}),e+="</ul>",e='<div class="blockMessage">'+e+"</div>");b||(b="error");if(!c)switch(b){case "error":c=XF.phrase("oops_we_ran_into_some_problems");break;default:c=""}return XF.overlayMessage(c,e)},getOverlayHtml:function(a){var b={dismissible:!0,title:null};g.isPlainObject(a)&&(b=g.extend({},b,a),a.html&&(a=a.html));
if("string"==typeof a)a=g(g.parseHTML(a));else if(!(a instanceof g))throw Error("Can only create an overlay with html provided as a string or jQuery object");if(!a.is(".overlay")){var c=b.title;if(!c){var f=a.find(".overlay-title");f.length&&(c=f.contents(),f.remove())}c||(c=XF.htmlspecialchars(g("title").text()));f=a.find(".overlay-content");f.length&&(a=f);f=g('<div class="overlay" tabindex="-1"><div class="overlay-title"></div><div class="overlay-content"></div></div>');var e=f.find(".overlay-title");
e.html(c);b.dismissible&&e.prepend('<a class="overlay-titleCloser js-overlayClose" role="button" tabindex="0" aria-label="'+XF.phrase("close")+'"></a>');f.find(".overlay-content").html(a);a=f}a.appendTo("body");return a},createMultiBar:function(a,b,c,f){},getMultiBarHtml:function(a){var b={dismissible:!0,title:null};g.isPlainObject(a)&&(g.extend({},b,a),a.html&&(a=a.html));if("string"==typeof a)a=g(g.parseHTML(a));else if(!(a instanceof g))throw Error("Can only create an action bar with html provided as a string or jQuery object");
b=g('<div class="multiBar" tabindex="-1"><div class="multiBar-inner"><span>Hello there.</span></div></div>');b.find(".multiBar-inner").html(a);b.appendTo("body");return b},overlayMessage:function(a,b){if("string"==typeof b)b=g(g.parseHTML(b));else if(!(b instanceof g))throw Error("Can only create an overlay with html provided as a string or jQuery object");b.is(".block, .blockMessage")||b.find(".block, .blockMessage").length||(b=g('<div class="blockMessage" />').html(b));b=XF.getOverlayHtml({title:a,
html:b});return XF.showOverlay(b,{role:"alertdialog"})},flashMessage:function(a,b,c){var f=g('<div class="flashMessage"><div class="flashMessage-content"></div></div>');f.find(".flashMessage-content").html(a);f.appendTo("body").addClassTransitioned("is-active");setTimeout(function(){f.removeClassTransitioned("is-active",function(){f.remove();c&&c()})},Math.max(500,b))},htmlspecialchars:function(a){return String(a).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")},
regexQuote:function(a){return(a+"").replace(/([\\\.\+\*\?\[\^\]\$\(\)\{\}=!<>\|:])/g,"\\$1")},stringTranslate:function(a,b){a=a.toString();for(var c in b)if(b.hasOwnProperty(c)){var f=new RegExp(XF.regexQuote(c,"g"));a=a.replace(f,b[c])}return a},stringHashCode:function(a){var b=0,c;if(0===a.length)return b;var f=0;for(c=a.length;f<c;f++){var e=a.charCodeAt(f);b=(b<<5)-b+e;b|=0}return b},getUniqueCounter:function(){var a=XF.counter;XF.counter++;return a},canonicalizeUrl:function(a){if(a.match(/^[a-z]+:/i))return a;
if(0==a.indexOf("/")){var b;return(b=XF.config.url.fullBase.match(/^([a-z]+:(\/\/)?[^\/]+)\//i))?b[1]+a:a}return XF.config.url.fullBase+a},isRedirecting:!1,redirect:function(a){XF.isRedirecting=!0;if(XF.JobRunner.isBlockingJobRunning())return g(r).one("job:blocking-complete",function(){XF.redirect(a)}),!1;a=XF.canonicalizeUrl(a);var b=q.location;if(a==b.href)b.reload(!0);else{q.location=a;var c=a.split("#"),f=b.href.split("#");c[1]&&c[0]==f[0]&&b.reload(!0)}return!0},getAutoCompleteUrl:function(){return"admin"==
XF.getApp()?XF.canonicalizeUrl("admin.php?users/find"):XF.canonicalizeUrl("index.php?members/find")},applyDataOptions:function(a,b,c){var f={},e;for(e in a)if(a.hasOwnProperty(e)&&(f[e]=a[e],b.hasOwnProperty(e))){var d=b[e];var h=typeof d;var k=!0;switch(typeof f[e]){case "string":"string"!=h&&(d=String(d));break;case "number":"number"!=h&&(d=Number(d),isNaN(d)&&(k=!1));break;case "boolean":if("boolean"!=h)switch(d){case "true":case "yes":case "on":case "1":case 1:d=!0;break;default:d=!1}}k&&(f[e]=
d)}g.isPlainObject(c)&&(f=g.extend(f,c));return f},watchInputChangeDelayed:function(a,b,c){var f=g(a),e=f.val(),d;c=c||200;f.onPassive({keyup:function(){clearTimeout(d);d=setTimeout(function(){var h=f.val();h!=e&&(e=h,b())},c)},paste:function(){setTimeout(function(){f.trigger("keyup")},0)}})},insertIntoEditor:function(a,b,c,f){return XF.modifyEditorContent(a,function(e){e.insertContent(b)},function(e){XF.insertIntoTextBox(e,c)},f)},replaceEditorContent:function(a,b,c,f){return XF.modifyEditorContent(a,
function(e){e.replaceContent(b)},function(e){XF.replaceIntoTextBox(e,c)},f)},clearEditorContent:function(a,b){b=XF.replaceEditorContent(a,"","",b);a.trigger("draft:sync");return b},modifyEditorContent:function(a,b,c,f){a=XF.getEditorInContainer(a,f);return a?XF.Editor&&a instanceof XF.Editor?(a.isBbCodeView()?(b=a.ed.bbCode.getTextArea(),c(b),b.trigger("autosize")):b(a),!0):a instanceof g&&a.is("textarea")?(c(a),a.trigger("autosize"),!0):!1:!1},getEditorInContainer:function(a,b){if(a.is(".js-editor")){if(b&&
a.is(b))return null;b=a}else{a=a.find(".js-editor");b&&(a=a.not(b));if(!a.length)return null;b=a.first()}return(a=XF.Element.getHandler(b,"editor"))?a:b.is("textarea")?b:null},focusEditor:function(a,b){a=XF.getEditorInContainer(a,b);return a?XF.Editor&&a instanceof XF.Editor?(a.isInitialized()&&a.scrollToCursor(),!0):a instanceof g&&a.is("textarea")?(a.autofocus(),!0):!1:!1},insertIntoTextBox:function(a,b){var c=a[0],f=c.scrollTop,e=c.selectionStart,d=c.selectionEnd,h=a.val(),k=h.substring(0,e);d=
h.substring(d,h.length);a.val(k+b+d).trigger("autosize");c.selectionStart=c.selectionEnd=e+b.length;c.scrollTop=f;a.autofocus()},replaceIntoTextBox:function(a,b){a.val(b).trigger("autosize")},isElementWithinDraftForm:function(a){a=a.is("form")?a:a.closest("form");return a.length&&a.is("[data-xf-init~=draft]")},logRecentEmojiUsage:function(a){a=g.trim(a);var b=XF.Feature.has("hiddenscroll")?12:11,c=XF.Cookie.get("emoji_usage");c=c?c.split(","):[];var f=c.indexOf(a);-1!==f&&c.splice(f,1);c.push(a);
c.length>b&&(c=c.reverse().slice(0,b).reverse());XF.Cookie.set("emoji_usage",c.join(","),new Date((new Date).setFullYear((new Date).getFullYear()+1)));g(r).trigger("recent-emoji:logged");return c},getRecentEmojiUsage:function(){var a=XF.Cookie.get("emoji_usage");return(a?a.split(","):[]).reverse()},getFixedOffsetParent:function(a){do{if("fixed"==a.css("position"))return a;a=a.parent()}while(a[0]&&1===a[0].nodeType);return g(r.documentElement)},getFixedOffset:function(a){var b=a.offset(),c=XF.getFixedOffsetParent(a);
if(a.is("html"))return b;a=c.offset();return{top:b.top-a.top,left:b.left-a.left}},autoFocusWithin:function(a,b,c){var f=a.find(b||"[autofocus]");f.length||(!f.length&&XF.NavDeviceWatcher.isKeyboardNav()&&(f=a.find("a, button, :input, [tabindex]").filter(":visible").not(":disabled, [data-no-auto-focus]").first()),f.length||(b=a.is("form:not([data-no-auto-focus])")?a:a.find("form:not([data-no-auto-focus])").first(),b.length&&(f=b.find(":input, button").filter(":visible").not(":disabled, .select2-hidden-accessible").first())),
!f.length&&c&&c.length&&(f=c),f.length||(a.attr("tabindex","-1"),f=a));f=f.first();a=[];c=f[0].parentNode;do a.push({el:c,left:c.scrollLeft,top:c.scrollTop});while(c=c.parentNode);f.on("focus",function(){g(q).on("resize",function(){setTimeout(function(){XF.isElementVisible(f)||(f.get(0).scrollIntoView({behavior:"smooth",block:"end",inline:"nearest"}),g(q).off("resize"))},50)})});f.first().autofocus();for(b=0;b<a.length;b++)c=a[b].el,c.scrollLeft!=a[b].left&&(c.scrollLeft=a[b].left),c.scrollTop!=a[b].top&&
(c.scrollTop=a[b].top)},bottomFix:function(a){var b=g(".js-bottomFixTarget").first();b?b.append(a):g(a).css({position:"fixed",bottom:0}).appendTo("body")},addFixedMessage:function(a,b){var c=g(g.parseHTML('<div class="fixedMessageBar"><div class="fixedMessageBar-inner"><div class="fixedMessageBar-message"></div><a class="fixedMessageBar-close" data-close="true" role="button" tabindex="0" aria-label="'+XF.phrase("close")+'"></a></div></div>'));c.find(".fixedMessageBar-message").html(a);b&&(b.class&&
(c.addClass(b.class),delete b.class),c.attr(b));c.on("click","[data-close]",function(){c.removeClassTransitioned("is-active",function(){c.remove()})});XF.bottomFix(c);c.addClassTransitioned("is-active")},_measureScrollBar:null,measureScrollBar:function(a,b){b="height"==b||"h"==b?"h":"w";if(a||null===XF._measureScrollBar){var c=g('<div class="scrollMeasure" />');c.appendTo(a||"body");var f=c[0];f={w:f.offsetWidth-f.clientWidth,h:f.offsetHeight-f.clientHeight};c.remove();a||(XF._measureScrollBar=f);
return f[b]}return XF._measureScrollBar[b]},windowHeight:function(){return XF.browser.ios||XF.browser.android?q.innerHeight:g(q).height()},pageLoadScrollFix:function(){if(!XF.Feature.has("overflowanchor")&&q.location.hash){var a=!1,b=function(){if(!a){var c=q.location.hash.replace(/[^a-zA-Z0-9_-]/g,"");c=c?g("#"+c):g();c.length&&c.get(0).scrollIntoView(!0)}};"complete"==r.readyState?setTimeout(b,0):(setTimeout(function(){g(q).one("scroll",function(c){a=!0})},100),g(q).one("load",b))}},applyJsState:function(a,
b){a=a||{};if(!b)return a;for(var c in b)b.hasOwnProperty(c)&&!a[c]&&XF.jsStates.hasOwnProperty(c)&&XF.jsStates[c]()&&(a[c]=!0);return a},jsStates:{facebook:function(){return this.fbSdk()},fbSdk:function(){g(r.body).append(g('<div id="fb-root" />'));q.fbAsyncInit=function(){FB.init({version:"v2.7",xfbml:!0})};XF.loadScript("https://connect.facebook.net/"+XF.getLocale()+"/sdk.js");return!0},twitter:function(){q.twttr=function(){var a=q.twttr||{};XF.loadScript("https://platform.twitter.com/widgets.js")&&
(a._e=[],a.ready=function(b){a._e.push(b)});return a}();return!0},flickr:function(){XF.loadScript("https://embedr.flickr.com/assets/client-code.js");return!0},instagram:function(){XF.loadScript("https://platform.instagram.com/"+XF.getLocale()+"/embeds.js",function(){g(r).on("xf:reinit",function(a,b){q.instgrm&&instgrm.Embeds.process(b instanceof g?b.get(0):b)})})},reddit:function(){XF.loadScript("https://embed.redditmedia.com/widgets/platform.js");XF.loadScript("https://www.redditstatic.com/comment-embed.js",
function(){g(r).on("xf:reinit",function(a,b){q.rembeddit&&rembeddit.init()})});return!0},reddit_comment:function(){return this.reddit()},imgur:function(){q.imgurEmbed||(q.imgurEmbed={tasks:g("blockquote.imgur-embed-pub").length});XF.loadScript("//s.imgur.com/min/embed-controller.js",function(){g(r).on("xf:reinit",function(a,b){imgurEmbed.tasks+=g("blockquote.imgur-embed-pub").length;for(a=0;a<imgurEmbed.tasks;a++)imgurEmbed.createIframe(),imgurEmbed.tasks--})});return!0},pinterest:function(){XF.loadScript("//assets.pinterest.com/js/pinit.js",
function(){g(r).on("xf:reinit",function(a,b){PinUtils.build(b instanceof g?b.get(0):b)})});return!0}},getLocale:function(){var a=g("html").attr("lang").replace("-","_");a||(a="en_US");return a},supportsPointerEvents:function(){return"PointerEvent"in q},isEventTouchTriggered:function(a){if(a){if(a.xfPointerType)return"touch"===a.xfPointerType;if(a=a.originalEvent){if(XF.supportsPointerEvents()&&a instanceof PointerEvent)return"touch"===a.pointerType;if(a.sourceCapabilities)return a.sourceCapabilities.firesTouchEvents}}return XF.Feature.has("touchevents")},
getElEffectiveZIndex:function(a){var b=parseInt(a.css("z-index"),10)||0;a.parents().each(function(c,f){c=parseInt(g(f).css("z-index"),10);c>b&&(b=c)});return b},setRelativeZIndex:function(a,b,c,f){f||(f=6);var e=XF.getElEffectiveZIndex(b);f&&f>e&&(e=f);if(null===c||"undefined"===typeof c)c=0;e||c?a.each(function(){var d=g(this);"undefined"==typeof d.data("base-z-index")&&d.data("base-z-index",parseInt(d.css("z-index"),10)||0);d.css("z-index",d.data("base-z-index")+c+e)}):a.css("z-index","")},adjustHtmlForRte:function(a){a=
a.replace(/<img[^>]+>/ig,function(b){if(b.match(/class="([^"]* )?smilie( |")/)){var c;if(c=b.match(/alt="([^"]+)"/))return c[1]}return b});a=a.replace(/([\w\W]|^)<a\s[^>]*data-user-id="\d+"\s+data-username="([^"]+)"[^>]*>([\w\W]+?)<\/a>/gi,function(b,c,f,e){return c+("@"==c?"":"@")+e.replace(/^@/,"")});a=a.replace(/(<img\s[^>]*)src="[^"]*"(\s[^>]*)data-url="([^"]+)"/gi,function(b,c,f,e){return c+'src="'+e+'"'+f});a=g("<div />").html(a);a.find("blockquote").each(function(b,c){var f=g(c);["attributes",
"quote","source"].forEach(function(e){f.attr("data-"+e)||f.removeAttr("data-"+e)});f.find(".bbCodeBlock-title").remove()});return a=a.html()},requestAnimationTimeout:function(a,b){function c(){Date.now()-e>=b?a():d.id=f(c)}b||(b=0);var f=q.requestAnimationFrame||function(h){return q.setTimeout(h,1E3/60)},e=Date.now(),d={};d.id=f(c);d.cancel=function(){(q.cancelAnimationFrame||q.clearTimeout)(this.id)};return d},proxy:function(a,b){var c;if("string"===typeof b){var f=a[b];b=a;a=f}if("function"===typeof a)return(c=
[].slice.call(arguments,2))?function(){return a.apply(b,c.concat([].slice.call(arguments)))}:a.bind(b,c)},_localLoadTime:null,getLocalLoadTime:function(){if(XF._localLoadTime)return XF._localLoadTime;var a=XF.config.time,b=g("#_xfClientLoadTime"),c=b.val();if(c&&c.length){var f=c.split(",");if(2==f.length&&parseInt(f[1],10)==a.now){var e=parseInt(f[0],10);b.val(c)}}e||(q.performance&&q.performance.timing&&0!==q.performance.timing.requestStart?(e=q.performance.timing,e=Math.floor((e.requestStart+e.responseStart)/
2E3)):e=Math.floor((new Date).getTime()/1E3)-1,b.val(e+","+a.now));return XF._localLoadTime=e},getFutureDate:function(a,b){var c=864E5;switch(b){case "year":c*=365;break;case "month":c*=30}c*=a;return new Date(Date.now()+c)},smoothScroll:function(a,b,c,f){if("undefined"===typeof c||null===c)c=XF.config.speed.fast;if(a instanceof g||"string"===typeof a){var e=a instanceof g?a:g(a);if(e.length){var d=e.offset().top;a=parseInt(g("html").css("scroll-padding-top"),10);isNaN(a)||(d-=a)}else d=null;!0===
b&&(b=e.length?"#"+e.attr("id"):null)}else"number"===typeof a&&(e=null,d=a);if(null===d)console.error("Invalid scroll position");else{0>d&&(d=0);e=function(){b&&"pushState"in q.history&&q.history.pushState({},"",q.location.toString().replace(/#.*$/,"")+b)};if(f&&(f=g(q).scrollTop(),a=f+g(q).height(),d>=f&&d<=a)){e();return}try{e(),g("html, body").animate({scrollTop:d},c,function(){b&&!q.history.pushState&&(q.location.hash=b)})}catch(h){b&&(q.location.hash=b)}}}}),"function"!=typeof Object.create&&
(Object.create=function(){var a=function(){};return function(b){a.prototype=b;b=new a;a.prototype=null;return b}}()),XF.create=function(a){var b=function(){this.__construct.apply(this,arguments)};b.prototype=Object.create(a);b.prototype.__construct||(b.prototype.__construct=function(){});return b.prototype.constructor=b},XF.extend=function(a,b){var c=function(){this.__construct.apply(this,arguments)},f;c.prototype=Object.create(a.prototype);c.prototype.__construct||(c.prototype.__construct=function(){});
c.prototype.constructor=c;if("object"==typeof b){if("object"==typeof b.__backup){a=b.__backup;for(f in a)if(a.hasOwnProperty(f)){if(c.prototype[a[f]])throw Error("Method "+a[f]+" already exists on object. Aliases must be unique.");c.prototype[a[f]]=c.prototype[f]}delete b.__backup}for(f in b)b.hasOwnProperty(f)&&(c.prototype[f]=b[f])}return c},XF.classToConstructor=function(a){var b=q,c=a.split("."),f;for(f=0;f<c.length;f++)b=b[c[f]];return"function"!=typeof b?(console.error("%s is not a function.",
a),!1):b},XF.Cookie={get:function(a){return(a=(new RegExp("(^| )"+XF.config.cookie.prefix+a+"=([^;]+)(;|$)")).exec(r.cookie))?decodeURIComponent(a[2]):null},getEncodedCookieValue:function(a,b,c,f){var e=XF.config.cookie;return e.prefix+a+"="+encodeURIComponent(b)+(void 0===c?"":";expires="+c.toUTCString())+(e.path?";path="+e.path:"")+(e.domain?";domain="+e.domain:"")+(f?";samesite="+f:"")+(e.secure?";secure":"")},getEncodedCookieValueSize:function(a,b,c,f){return this.getEncodedCookieValue(a,b,c,
f).length},set:function(a,b,c,f){r.cookie=this.getEncodedCookieValue(a,b,c,f)},getJson:function(a){a=this.get(a);if(!a)return{};try{return g.parseJSON(a)||{}}catch(b){return{}}},setJson:function(a,b,c){this.set(a,JSON.stringify(b),c)},remove:function(a){var b=XF.config.cookie;r.cookie=b.prefix+a+"="+(b.path?"; path="+b.path:"")+(b.domain?"; domain="+b.domain:"")+(b.secure?"; secure":"")+"; expires=Thu, 01-Jan-70 00:00:01 GMT"},supportsExpiryDate:function(){return!0}},XF.LocalStorage={getKeyName:function(a){return XF.config.cookie.prefix+
a},get:function(a){var b=null;try{b=q.localStorage.getItem(this.getKeyName(a))}catch(f){}if(null===b){var c=this.getFallbackValue();c&&c.hasOwnProperty(a)&&(b=c[a])}return b},getJson:function(a){a=this.get(a);if(!a)return{};try{return g.parseJSON(a)||{}}catch(b){return{}}},set:function(a,b,c){try{q.localStorage.setItem(this.getKeyName(a),b)}catch(f){c&&(c=this.getFallbackValue(),c[a]=b,this.updateFallbackValue(c))}},setJson:function(a,b,c){this.set(a,JSON.stringify(b),c)},remove:function(a){try{q.localStorage.removeItem(this.getKeyName(a))}catch(c){}var b=
this.getFallbackValue();b&&b.hasOwnProperty(a)&&(delete b[a],this.updateFallbackValue(b))},getFallbackValue:function(){var a=XF.Cookie.get("ls");if(a)try{a=g.parseJSON(a)}catch(b){a={}}return a||{}},updateFallbackValue:function(a){g.isEmptyObject(a)?XF.Cookie.remove("ls"):XF.Cookie.set("ls",JSON.stringify(a))},supportsExpiryDate:function(){return!1}},XF.CrossTab=function(){function a(e){var d=XF.LocalStorage.getKeyName("__crossTab");if(e.key===d){try{var h=g.parseJSON(e.newValue)}catch(k){return}if(h&&
h.event&&(e=h.event,h=h.data||null,d=b[e])){f=e;for(e=0;e<d.length;e++)d[e](h);f=null}}}var b={},c=!1,f;return{on:function(e,d){b[e]||(b[e]=[]);b[e].push(d);c||(c=!0,q.addEventListener("storage",a))},trigger:function(e,d,h){!h&&f&&f==e||XF.LocalStorage.setJson("__crossTab",{event:e,data:d,_:new Date+Math.random()})}}}(),XF.Breakpoint=function(){function a(d){for(var h=0;h<e.length&&d!=e[h];h++)if(f==e[h])return!0;return!1}function b(d){for(var h=!1,k=0;k<e.length;k++)if(d==e[k])h=!0;else if(f==e[k])return h;
return!1}function c(){var d=q.getComputedStyle(g("html")[0],":after").getPropertyValue("content").replace(/"/g,"");if(f){if(d!=f){var h=f;f=d;g(r).trigger("breakpoint:change",[h,d])}}else f=d;return f}var f=null,e=["narrow","medium","wide","full"];c();g(q).onPassive("resize",c);return{current:function(){return f},refresh:c,isNarrowerThan:a,isAtOrNarrowerThan:function(d){return f==d||a(d)},isWiderThan:b,isAtOrWiderThan:function(d){return f==d||b(d)}}}(),XF.JobRunner=function(){var a=!1,b,c=null,f=
0,e,d=null,h=function(){g.ajax({url:XF.canonicalizeUrl("job.php"),type:"post",cache:!1,dataType:"json",global:!1}).always(function(v){v&&v.more&&setTimeout(h,100)})},k=function(v){e=XF.ajax("post",XF.canonicalizeUrl("job.php"),{only_ids:v},function(y){y.more&&y.ids&&y.ids.length?(y.status&&g("#xfAutoBlockingJobStatus").text(y.status),setTimeout(function(){k(y.ids)},0)):(m(),y.moreAuto&&setTimeout(h,100))},{skipDefault:!0}).fail(m)},m=function(){d&&d.hide();f--;0>f&&(f=0);0==f&&(g(r).trigger("job:auto-blocking-complete"),
t());e&&e.abort();e=null},l=function(){c&&c.hide();a=!1;g(r).trigger("job:manual-complete");t();b&&b.abort();b=null},p=function(){c||(c=n("xfManualJobStatus"));return c},n=function(v){v=XF.getOverlayHtml({title:XF.phrase("processing..."),dismissible:!1,html:'<div class="blockMessage"><span id="'+v+'">'+XF.phrase("processing...")+"</span></div>"});return new XF.Overlay(v,{backdropClose:!1,keyboard:!1})},t=function(){x()||g(r).trigger("job:blocking-complete")},x=function(){return a||0<f};return{isBlockingJobRunning:x,
runAuto:h,runAutoBlocking:function(v,y){if("number"===typeof v)v=[v];else if(!Array.isArray(v))return;v.length&&(f++,d||(d=n("xfAutoBlockingJobStatus")),d.show(),y||(y=XF.phrase("processing...")),g("#xfAutoBlockingJobStatus").text(y),k(v))},runManual:function(v){var y=XF.config.job.manualUrl;if(y){if(null===v)w=null;else{var w=w||[];"number"===typeof v?w.push(v):Array.isArray(v)&&w.push.apply(w,v)}if(!a){a=!0;p().show();var u=function(B){b=XF.ajax("post",y,B?{only_id:B}:null,function(A){A.jobRunner?
(g("#xfManualJobStatus").text(A.jobRunner.status||XF.phrase("processing...")),setTimeout(function(){u(B)},0)):z()},{skipDefault:!0}).fail(l)},z=function(){Array.isArray(w)&&0==w.length?l():u(w?w.shift():null)};z()}}},stopManual:l,getManualOverlay:p}}(),XF.Loader=function(){var a=XF.config.css,b=XF.config.js,c=function(f,e,d){f=f||[];e=e||[];var h=[],k=[],m;for(m=0;m<f.length;m++)b.hasOwnProperty(f[m])||h.push(f[m]);for(m=0;m<e.length;m++)a.hasOwnProperty(e[m])||k.push(e[m]);var l=(h.length?1:0)+(k.length?
1:0),p=function(){l--;0==l&&d&&d()};l?(h.length&&XF.loadScripts(h,function(){g.each(h,function(n,t){b[t]=!0});p()}),k.length&&((f=XF.config.url.css)?(f=f.replace("__SENTINEL__",k.join(",")),g.ajax({type:"GET",url:f,cache:!0,global:!1,dataType:"text",success:function(n){var t=XF.config.url.basePath;t&&(n=n.replace(/(url\(("|')?)([^"')]+)(("|')?\))/gi,function(x,v,y,w,u,z){w.match(/^([a-z]+:|\/)/i)||(w=t+w);return v+w+u}));g("<style>"+n+"</style>").appendTo("head")}}).always(function(){g.each(k,function(n,
t){a[t]=!0});p()})):(console.error("No CSS URL so cannot dynamically load CSS"),p()))):d&&d()};return{load:c,loadCss:function(f,e){c([],f,e)},loadJs:function(f,e){c(f,[],e)}}}(),XF.ClassMapper=XF.create({_map:{},_toExtend:{},add:function(a,b){this._map[a]=b},extend:function(a,b){var c=this.getObjectFromIdentifier(a);c?(c=XF.extend(c,b),this._map[a]=c):(this._toExtend[a]||(this._toExtend[a]=[]),this._toExtend[a].push(b))},getObjectFromIdentifier:function(a){var b=this._map[a],c=this._toExtend[a];if(!b)return null;
if("string"==typeof b){b=XF.classToConstructor(b);if(c){for(var f=0;f<c.length;f++)b=XF.extend(b,c[f]);delete this._toExtend[a]}this._map[a]=b}return b}}),XF.ActionIndicator=function(){var a=0,b,c=function(){a++;1==a&&(b||(b=g('<span class="globalAction"><span class="globalAction-bar"></span><span class="globalAction-block"><i></i><i></i><i></i></span></span>').appendTo("body")),b.addClassTransitioned("is-active"))},f=function(){a--;0<a||(a=0,b&&b.removeClassTransitioned("is-active"))};return{initialize:function(){g(r).on({ajaxStart:c,
"xf:action-start":c,ajaxStop:f,"xf:action-stop":f})},show:c,hide:f}}(),XF.DynamicDate=function(){var a,b,c,f,e,d,h=!1,k,m=function(){k=setInterval(function(){l(r)},2E4)},l=function(n){h||this.initialize();n=g(n).find("time[data-time]");var t=n.length,x=Math.floor((new Date).getTime()/1E3)-a,v=new Date;v.setHours(0,0,0,0);b+x>e&&(v.getDay(),e=p(v,1),c=p(v,0),f=p(v,-1),d=p(v,-6));for(var y=0;y<t;y++){var w=n[y];var u=g(w);var z=parseInt(w.getAttribute("data-time"),10);var B=b-z+x;var A=w.xfDynType;
-2>B?(B=z-(b+x),60>B?"futureMoment"!=A&&(u.text(XF.phrase("in_a_moment")),w.xfDynType="futureMoment"):120>B?"futureMinute"!=A&&(u.text(XF.phrase("in_a_minute")),w.xfDynType="futureMinute"):3600>B?(z=Math.floor(B/60),A!=="futureMinutes"+z&&(u.text(XF.phrase("in_x_minutes",{"{minutes}":z})),w.xfDynType="futureMinutes"+z)):z<e?"latertoday"!=A&&(u.text(XF.phrase("later_today_at_x",{"{time}":u.attr("data-time-string")})),w.xfDynType="latertoday"):z<p(v,2)?"tomorrow"!=A&&(u.text(XF.phrase("tomorrow_at_x",
{"{time}":u.attr("data-time-string")})),w.xfDynType="tomorrow"):(604800>B||(u.attr("data-full-date")?u.text(XF.phrase("date_x_at_time_y",{"{date}":u.attr("data-date-string"),"{time}":u.attr("data-time-string")})):u.text(u.attr("data-date-string"))),w.xfDynType="future")):60>=B?"moment"!==A&&(u.text(XF.phrase("a_moment_ago")),w.xfDynType="moment"):120>=B?"minute"!==A&&(u.text(XF.phrase("one_minute_ago")),w.xfDynType="minute"):3600>B?(z=Math.floor(B/60),A!=="minutes"+z&&(u.text(XF.phrase("x_minutes_ago",
{"{minutes}":z})),w.xfDynType="minutes"+z)):z>=c?"today"!==A&&(u.text(XF.phrase("today_at_x",{"{time}":u.attr("data-time-string")})),w.xfDynType="today"):z>=f?"yesterday"!==A&&(u.text(XF.phrase("yesterday_at_x",{"{time}":u.attr("data-time-string")})),w.xfDynType="yesterday"):z>=d?"week"!==A&&(u.text(XF.phrase("day_x_at_time_y",{"{day}":XF.phrase("day"+(new Date(1E3*z)).getDay()),"{time}":u.attr("data-time-string")})),w.xfDynType="week"):"old"!==A&&(u.attr("data-full-date")?u.text(XF.phrase("date_x_at_time_y",
{"{date}":u.attr("data-date-string"),"{time}":u.attr("data-time-string")})):u.text(u.attr("data-date-string")),w.xfDynType="old")}},p=function(n,t){return Math.floor((new Date(n.valueOf())).setFullYear(n.getFullYear(),n.getMonth(),n.getDate()+t)/1E3)};return{initialize:function(){if(!h){h=!0;var n=XF.config.time;a=XF.getLocalLoadTime();b=n.now;c=n.today;f=n.yesterday;e=n.tomorrow;d=n.week;void 0!==r.hidden?(r.hidden||m(),g(r).on("visibilitychange",function(){r.hidden?clearInterval(k):(m(),l(r))})):
m()}},refresh:l}}(),XF.KeepAlive=function(){var a,b,c=!1,f,e=function(){var l=3E3+(Math.floor(241*Math.random())+-120);120>l&&(l=120);f&&clearInterval(f);f=setInterval(k,1E3*l)},d=0,h,k=function(){c&&(!1===q.navigator.onLine&&(d++,5>=d&&(h=setTimeout(k,30))),d=0,clearTimeout(h),g.ajax({url:XF.canonicalizeUrl(a),data:{_xfResponseType:"json",_xfToken:XF.config.csrf},type:"post",cache:!1,dataType:"json",global:!1}).done(function(l){"ok"==l.status&&(m(l),XF.CrossTab.trigger(b,l))}))},m=function(l){l.csrf&&
(XF.config.csrf=l.csrf,g("input[name=_xfToken]").val(l.csrf));if("undefined"!==typeof l.user_id){var p=g(".js-activeUserChangeMessage");l.user_id==XF.config.userId||p.length||XF.addFixedMessage(XF.phrase("active_user_changed_reload_page"),{"class":"js-activeUserChangeMessage"});l.user_id==XF.config.userId&&p.length&&p.remove()}e()};return{initialize:function(){if(!c&&XF.config.url.keepAlive&&XF.config.url.keepAlive.length){c=!0;a=XF.config.url.keepAlive;b="keepAlive"+XF.stringHashCode(a);e();XF.CrossTab.on(b,
m);if(q.performance&&q.performance.navigation){var l=q.performance.navigation.type;0!=l&&1!=l||XF.CrossTab.trigger(b,{csrf:XF.config.csrf,time:XF.config.time.now,user_id:XF.config.userId})}XF.Cookie.get("csrf")||k()}},refresh:k}}(),XF.History=function(){var a=q.history,b=a.state,c=q.location.href,f=[];return{initialize:function(){q.addEventListener("popstate",function(e){e=e.state;for(var d=!1,h=0;h<f.length;h++)f[h](e,b,c)&&(d=!0);d||c.replace(/#.*$/,"")===q.location.href.replace(/#.*$/,"")||q.location.reload();
b=e;c=q.location.href})},handle:function(e){f.push(e)},push:function(e,d,h){a.pushState(e,d,h);b=e;c=q.location.href},replace:function(e,d,h){a.replaceState(e,d,h);b=e;c=q.location.href},go:function(e){a.go(e)}}}(),XF.LinkWatcher=function(){var a=function(c){var f=g(this),e=f.data("proxy-href"),d=f.data("proxy-handler-last");!e||d&&d==c.timeStamp||(f.data("proxy-handler-last",c.timeStamp),g.ajax({url:XF.canonicalizeUrl(e),data:{_xfResponseType:"json",referrer:q.location.href.replace(/#.*$/,"")},type:"post",
cache:!1,dataType:"json",global:!1}))},b=function(c){if(XF.config.enableRtnProtect&&!c.isDefaultPrevented()){var f=g(this),e=f.attr("href"),d=f.data("blank-handler-last");if(e&&(!e.match(/^[a-z]:/i)||e.match(/^https?:/i))&&!f.is("[data-fancybox]")){if(f.is("[rel~=noopener]")){var h=XF.browser;if(h.chrome&&49<=h.version||h.mozilla&&52<=h.version||h.safari&&11<=h.version)return}if(!(f.closest("[contenteditable=true]").length||(e=XF.canonicalizeUrl(e),(new RegExp("^[a-z]+://"+location.host+"(/|$|:)",
"i")).test(e)||d&&d==c.timeStamp||(f.data("blank-handler-last",c.timeStamp),h=navigator.userAgent,f=-1!==h.indexOf("MSIE"),d=-1!==h.indexOf("Safari")&&-1==h.indexOf("Chrome"),h=-1!==h.indexOf("Gecko/"),c.shiftKey&&h||d&&(c.shiftKey||c.altKey)||f)))){if(d)f=g('<iframe style="display: none" />').appendTo(r.body),d=f[0].contentDocument||f[0].contentWindow.document,d.__href=e,e=g("<script />",d),e[0].text="window.opener=null;window.parent=null;window.top=null;window.frameElement=null;window.open(document.__href).opener = null;",
d.body.appendChild(e[0]),f.remove();else{e=q.open(e);try{e.opener=null}catch(k){}}c.preventDefault()}}}};return{initLinkProxy:function(){var c="a[data-proxy-href]:not(.link--internal)";g(r).on("click",c,a).on("focusin",c,function(f){f=g(this);f.data("proxy-handler")||f.data("proxy-handler",!0).click(a)})},initExternalWatcher:function(){g(r).on("click","a[target=_blank]",b).on("focusin","a[target=_blank]",function(c){c=g(this);c.data("blank-handler")||c.data("blank-handler",!0).click(b)})}}}(),XF._IgnoredWatcher=
XF.create({options:{container:"body",ignored:".is-ignored",link:".js-showIgnored"},$container:null,authors:[],shown:!1,__construct:function(a){this.options=g.extend(!0,{},this.options,a||{});this.$container=a=g(this.options.container);this.updateState();a.on("click",this.options.link,XF.proxy(this,"show"))},refresh:function(a){this.$container.find(a).length&&(this.shown?this.show():this.updateState())},updateState:function(){if(!this.shown){var a=this.getIgnored(),b=[];if(a.length)if(a.each(function(){var f=
g(this).data("author");f&&-1===g.inArray(f,b)&&b.push(f)}),b.length){var c={names:b.join(", ")};this.getLinks().each(function(){var f=g(this),e=f.attr("title");e&&f.attr("title",Mustache.render(e,c)).removeClass("is-hidden")})}else this.getLinks().each(function(){g(this).removeAttr("title").removeClass("is-hidden")})}},getIgnored:function(){return this.$container.find(this.options.ignored)},getLinks:function(){return this.$container.find(this.options.link)},show:function(){this.shown=!0;this.getIgnored().removeClass("is-ignored");
this.getLinks().addClass("is-hidden")},initializeHash:function(){if(q.location.hash){var a=q.location.hash.replace(/[^\w_#-]/g,"");if("#"!==a){a=g(a);var b=this.options.ignored;(b=a.is(b)?a:a.closest(b))&&b.length&&(b.removeClass("is-ignored"),a.get(0).scrollIntoView(!0))}}}}),XF.IgnoreWatcher=new XF._IgnoredWatcher,XF.BrowserWarning=function(){return{display:function(){var a=!1;XF.browser.msie?a=!0:XF.browser.edge&&18>parseInt(XF.browser.version)&&(a=!0);var b=g(".js-browserWarning");a?b.show():
b.remove()}}}(),XF.MultiBar=XF.create({options:{role:null,focusShow:!1,className:"",fastReplace:!1},$container:null,$multiBar:null,shown:!1,__construct:function(a,b){this.options=g.extend(!0,{},this.options,b||{});this.$multiBar=a instanceof g?a:g(g.parseHTML(a));this.$multiBar.attr("role",this.options.role||"dialog").attr("aria-hidden","true").on("multibar:hide",XF.proxy(this,"hide")).on("multibar:show",XF.proxy(this,"show"));this.$container=g('<div class="multiBar-container" />');this.$container.html(this.$multiBar).data("multibar",
this).addClass(this.options.className);this.$container.xfUniqueId();this.$container.appendTo("body");XF.activate(this.$container);XF.MultiBar.cache[this.$container.attr("id")]=this},show:function(){if(!this.shown){this.shown=!0;this.$multiBar.attr("aria-hidden","false");g(".p-pageWrapper").addClass("has-multiBar");this.options.fastReplace&&this.$multiBar.css("transition-duration","0s");var a=this;this.$container.appendTo("body");this.$multiBar.addClassTransitioned("is-active",function(){if(a.options.focusShow){var b=
a.$multiBar.find(".js-multiBarClose");XF.autoFocusWithin(a.$multiBar.find(".multiBar-content"),null,b)}a.$container.trigger("multibar:shown");XF.layoutChange()});this.options.fastReplace&&this.$multiBar.css("transition-duration","");this.$container.trigger("multibar:showing");XF.layoutChange()}},hide:function(){if(this.shown){this.shown=!1;this.$multiBar.attr("aria-hidden","true");var a=this;this.$multiBar.removeClassTransitioned("is-active",function(){g(".p-pageWrapper").removeClass("has-multiBar");
a.$container.trigger("multibar:hidden");XF.layoutChange()});this.$container.trigger("multibar:hiding");XF.layoutChange()}},toggle:function(a){(null===a?!this.shown:a)?this.show():this.hide()},destroy:function(){var a=this.$container.attr("id"),b=XF.MultiBar.cache;this.$container.remove();b.hasOwnProperty(a)&&delete b[a]},on:function(){this.$container.on.apply(this.$container,arguments)},getContainer:function(){return this.$container},getMultiBar:function(){return this.$multiBar}}),XF.MultiBar.cache=
{},XF.showMultiBar=function(a,b){a=new XF.MultiBar(a,b);a.show();return a},XF.loadMultiBar=function(a,b,c,f){g.isFunction(c)&&(c={init:c});c=g.extend({cache:!1,beforeShow:null,afterShow:null,onRedirect:null,init:null,show:!0},c||{});var e=function(h){if(c.beforeShow){var k=g.Event();c.beforeShow(h,k);if(k.isDefaultPrevented())return}c.show&&h.show();c.afterShow&&(k=g.Event(),c.afterShow(h,k),k.isDefaultPrevented())};if(c.cache&&XF.loadMultiBar.cache[a])e(XF.loadMultiBar.cache[a]);else{var d=function(h){if(h.redirect)if(c.onRedirect)c.onRedirect(h,
d);else XF.ajax("get",h.redirect,function(k){d(k)});h.html&&XF.setupHtmlInsert(h.html,function(k,m,l){var p=new XF.MultiBar(XF.getMultiBarHtml({html:k,title:m.title||m.h1}),f);c.init&&c.init(p);if(!c.cache)p.on("multibar:hidden",function(){p.destroy()});l();c.cache&&(XF.loadMultiBar.cache[a]=p);e(p)})};return XF.ajax("post",a,b,function(h){d(h)})}},XF.loadMultiBar.cache={},XF.Overlay=XF.create({options:{backdropClose:!0,escapeClose:!0,focusShow:!0,className:""},$container:null,$overlay:null,shown:!1,
__construct:function(a,b){this.options=g.extend(!0,{},this.options,b||{});this.$overlay=a instanceof g?a:g(g.parseHTML(a));this.$overlay.attr("role",this.options.role||"dialog").attr("aria-hidden","true");this.$container=g('<div class="overlay-container" />').html(this.$overlay);this.$container.data("overlay",this).xfUniqueId();var c=this;if(this.options.escapeClose)this.$container.on("keydown.overlay",function(f){27===f.which&&c.hide()});this.options.backdropClose&&(this.$container.on("mousedown",
function(f){c.$container.data("block-close",!1);g(f.target).is(c.$container)||c.$container.data("block-close",!0)}),this.$container.on("click",function(f){g(f.target).is(c.$container)&&(c.$container.data("block-close")||c.hide());c.$container.data("block-close",!1)}));this.options.className&&this.$container.addClass(this.options.className);this.$container.on("click",".js-overlayClose",XF.proxy(this,"hide"));this.$container.appendTo("body");XF.activate(this.$container);XF.Overlay.cache[this.$container.attr("id")]=
this;this.$overlay.on("overlay:hide",XF.proxy(this,"hide"));this.$overlay.on("overlay:show",XF.proxy(this,"show"))},show:function(){if(!this.shown){this.shown=!0;this.$overlay.attr("aria-hidden","false");var a=this;this.$container.appendTo("body").addClassTransitioned("is-active",function(){if(a.options.focusShow){var b=a.$overlay.find(".js-overlayClose");XF.autoFocusWithin(a.$overlay.find(".overlay-content"),null,b)}a.$container.trigger("overlay:shown");XF.layoutChange()});this.$container.trigger("overlay:showing");
XF.ModalOverlay.open();XF.layoutChange()}},hide:function(){if(this.shown){this.shown=!1;this.$overlay.attr("aria-hidden","true");var a=this;this.$container.removeClassTransitioned("is-active",function(){a.$container.trigger("overlay:hidden");XF.ModalOverlay.close();XF.layoutChange()});this.$container.trigger("overlay:hiding");XF.layoutChange()}},recalculate:function(){this.shown&&XF.Modal.updateScrollbarPadding()},toggle:function(){this.shown?this.hide():this.show()},destroy:function(){var a=this.$container.attr("id"),
b=XF.Overlay.cache;this.$container.remove();b.hasOwnProperty(a)&&delete b[a]},on:function(){this.$container.on.apply(this.$container,arguments)},getContainer:function(){return this.$container},getOverlay:function(){return this.$overlay}}),XF.Overlay.cache={},XF.ModalOverlay=function(){var a=0,b=g("body").first();return{getOpenCount:function(){return a},open:function(){XF.Modal.open();a++;1==a&&b.addClass("is-modalOverlayOpen")},close:function(){XF.Modal.close();0<a&&(a--,0==a&&b.removeClass("is-modalOverlayOpen"))}}}(),
XF.Modal=function(){var a=0,b=g("body").first(),c=g("html"),f=function(){var e="right",d=b.hasClass("is-modalOpen")?XF.measureScrollBar()+"px":"";XF.isRtl()&&(XF.browser.chrome||XF.browser.mozilla||(e="left"));c.css("margin-"+e,d)};return{getOpenCount:function(){return a},open:function(){a++;1==a&&(b.addClass("is-modalOpen"),f())},close:function(){0<a&&(a--,0==a&&(b.removeClass("is-modalOpen"),f()))},updateScrollbarPadding:f}}(),XF.showOverlay=function(a,b){a=new XF.Overlay(a,b);a.show();return a},
XF.loadOverlay=function(a,b,c){g.isFunction(b)&&(b={init:b});b=g.extend({cache:!1,beforeShow:null,afterShow:null,onRedirect:null,init:null,show:!0},b||{});var f=function(d){if(b.beforeShow){var h=g.Event();b.beforeShow(d,h);if(h.isDefaultPrevented())return}b.show&&d.show();b.afterShow&&(h=g.Event(),b.afterShow(d,h),h.isDefaultPrevented())};if(b.cache&&XF.loadOverlay.cache[a])f(XF.loadOverlay.cache[a]);else{var e=function(d){if(d.redirect)if(b.onRedirect)b.onRedirect(d,e);else XF.ajax("get",d.redirect,
function(h){e(h)});d.html&&XF.setupHtmlInsert(d.html,function(h,k,m){var l=new XF.Overlay(XF.getOverlayHtml({html:h,title:k.title||k.h1}),c);b.init&&b.init(l);if(!b.cache)l.on("overlay:hidden",function(){l.destroy()});m();b.cache&&(XF.loadOverlay.cache[a]=l);f(l)})};return XF.ajax("get",a,function(d){e(d)})}},XF.loadOverlay.cache={},XF.NavDeviceWatcher=function(){function a(c){c!=b&&(g("html").toggleClass("has-pointer-nav",!c),b=c)}var b=!0;return{initialize:function(){g(r).onPassive({mousedown:function(){a(!1)},
keydown:function(c){switch(c.key){case "Tab":case "Enter":a(!0)}}})},toggle:a,isKeyboardNav:function(){return b}}}(),XF.ScrollButtons=function(){function a(u){if(!l){u=q.pageYOffset||r.documentElement.scrollTop;var z=t;t=u;if(u>z)"down"!=x&&(x="down",v=z);else if(u<z)"up"!=x&&(x="up",v=z);else return;if(p){if("up"!==x||100>t){y&&(y.cancel(),y=null);return}if(30>v-u)return}y||(y=XF.requestAnimationTimeout(function(){y=null;b();f()},200))}}function b(){n||(w.addClassTransitioned("is-active"),n=!0)}
function c(){n&&(w.removeClassTransitioned("is-active"),n=!1)}function f(){e();m=setTimeout(function(){c()},3E3)}function e(){clearTimeout(m)}function d(){e();b()}function h(){e()}function k(u){u=g(u.target);u.is(".button--scroll")&&0!==u.closest(".button--scroll").length&&(l=!0,setTimeout(function(){l=!1},500),c())}var m=null,l=!1,p=!1,n=!1,t=q.pageYOffset||r.documentElement.scrollTop,x=null,v=null,y,w=null;return{initialize:function(){if(w&&w.length)return!1;w=g(".js-scrollButtons");if(!w.length)return!1;
"up"===w.data("trigger-type")&&(p=!0);w.on({"mouseenter focus":d,"mouseleave blur":h,click:k});g(q).onPassive("scroll",a);return!0},show:b,hide:c,startHideTimer:f,clearHideTimer:e}}(),XF.KeyboardShortcuts=function(){function a(d){d=g(d);1<d.length?d.each(function(){a(this)}):(d.is("[data-xf-key]")&&b(d[0]),d.find("[data-xf-key]").each(function(){b(this)}))}function b(d){var h=String(g(d).data("xf-key")),k=h.substr(h.lastIndexOf("+")+1),m="#"===k[0]?k.substr(1):k.toUpperCase().charCodeAt(0),l=h.toUpperCase().split("+");
var p=-1!==l.indexOf("CTRL");var n=-1!==l.indexOf("ALT");l=-1!==l.indexOf("META");(p=0+p?1:0+n?2:0+l?4:0)?XF.Keyboard.isStandardKey(m)?(e[m]=e[m]||{},e[m][p]=d):console.warn("It is not possible to specify a keyboard shortcut using this key combination (%s)",h):e[k]=d}function c(d){switch(d.key){case "Escape":XF.MenuWatcher.closeAll();XF.hideTooltips();return;case "Shift":case "Control":case "Alt":case "Meta":return}if(XF.Keyboard.isShortcutAllowed(r.activeElement)&&(!e.hasOwnProperty(d.key)||0!=(0+
d.ctrlKey?1:0+d.altKey?2:0+d.metaKey?4:0)||!f(e[d.key]))&&e.hasOwnProperty(d.which)){var h=0+d.ctrlKey?1:0+d.altKey?2:0+d.metaKey?4:0;e[d.which].hasOwnProperty(h)&&f(e[d.which][h])}}function f(d){d=g(d).filter(":visible");return d.length?(XF.NavDeviceWatcher.toggle(!0),XF.isElementVisible(d)||d.get(0).scrollIntoView(!0),d.is(XF.getKeyboardInputs())?d.autofocus():d.is("a[href]")?d.get(0).click():d.click(),!0):!1}var e={};return{initialize:function(){g(r.body).onPassive("keyup",c)},initializeElements:a}}(),
XF.Keyboard={isShortcutAllowed:function(a){switch(a.tagName){case "TEXTAREA":case "SELECT":return!1;case "INPUT":switch(a.type){case "checkbox":case "radio":case "submit":case "reset":return!0;default:return!1}case "BODY":return!0;default:return XF.browser.msie&&g(a).parents(".fr-element").length?!1:"true"===a.contentEditable?!1:!0}},isStandardKey:function(a){return 48<=a&&90>=a}},XF.FormInputValidation=function(){function a(d){d=g(d);1<d.length?d.each(function(){a(this)}):d.is("form")&&c(d)}function b(){e.length&&
e.each(function(){c(g(this))})}function c(d){d.find(":input").on("invalid",{form:d},f)}function f(d){var h=g(this);d=d.data.form;var k=d.find(":invalid").first();h[0]!==k[0]||XF.isElementVisible(h)||(d=d.closest(".overlay-container.is-active"),d.length?d.scrollTop(h.offset().top-d.offset().top+d.scrollTop()-100):(h[0].scrollIntoView(),q.scrollBy(0,-100)))}var e={};return{initialize:function(){e=g("form").not("[novalidate]");b()},initializeElements:a}}(),XF.NoticeWatcher=function(){return{initialize:function(){g(r).on("xf:notice-change xf:layout",
XF.proxy(this,"checkNotices"));this.checkNotices()},checkNotices:function(){var a=this.getBottomFixerNoticeHeight();g(r).find("footer.p-footer").css("margin-bottom",a)},getBottomFixerNoticeHeight:function(){var a=0;g(r).find(".js-bottomFixTarget .notices--bottom_fixer .js-notice").each(function(){var b=g(this);b.is(":visible")&&(a+=b.height())});return a}}}(),XF.PWA=function(){function a(){var l=XF.config.serviceWorkerPath;null===l&&(l="service_worker.js");return l&&l.length?XF.canonicalizeUrl(l):
null}function b(){return navigator.standalone||q.matchMedia("(display-mode: standalone), (display-mode: minimal-ui)").matches}function c(){k&&(XF.ActionIndicator.show(),setTimeout(function(){XF.ActionIndicator.hide()},3E4))}function f(){k=!1;setTimeout(function(){k=!0},2E3)}function e(l,p){if(navigator.serviceWorker.controller)if("string"!==typeof l||""===l)console.error("Invalid message type:",l);else{if("undefined"===typeof p)p={};else if("object"!==typeof p||null===p){console.error("Invalid message payload:",
p);return}navigator.serviceWorker.controller.postMessage({type:l,payload:p})}else console.error("There is no active service worker")}var d=null,h,k=!0,m={};return{initialize:function(){XF.PWA.isSupported()&&(XF.config.skipServiceWorkerRegistration?h=new Promise(function(l,p){p(Error("Service worker registration has been skipped"))}):(h=navigator.serviceWorker.register(a()),h.then(function(l){var p=XF.config.cacheKey;l=l.active?!1:!0;XF.LocalStorage.get("cacheKey")!==p&&(l||e("updateCache"),XF.LocalStorage.set("cacheKey",
p,!0))}),h.catch(function(l){console.error("Service worker registration failed:",l)}),navigator.serviceWorker.getRegistrations().then(function(l){var p=XF.canonicalizeUrl("js/xf/"),n;for(n in l)l[n].scope==p&&l[n].unregister()}),navigator.serviceWorker.addEventListener("message",function(l){var p=l.data;if("object"!==typeof p||null===p)console.error("Invalid message:",p);else if(l=p.type,p=p.payload,"string"!==typeof l||""===l)console.error("Invalid message type:",l);else if("object"!==typeof p||
null===p)console.error("Invalid message payload:",p);else{var n=m[l];"undefined"===typeof n?console.error("No handler available for message type:",l):n(p)}}),b()&&(g(q).on("beforeunload",c),g(r).on("click",".js-skipPwaNavIndicator",f))))},isSupported:function(){null===d&&(d=!!("serviceWorker"in navigator&&a()));return d},isRunning:b,inhibitNavigationIndicator:f,getRegistration:function(){return h},sendMessage:e}}(),XF.Push=function(){function a(d,h){XF.PWA.getRegistration().then(function(){b();d&&
d()}).catch(function(){h&&h()})}function b(){XF.PWA.getRegistration().then(function(d){return d.pushManager.getSubscription()}).then(function(d){XF.Push.isSubscribed=null!==d;XF.Push.isSubscribed?(g(r).trigger("push:init-subscribed"),XF.config.userId&&f(d)?XF.Push.updateUserSubscription(d,"update"):(d.unsubscribe(),XF.Push.updateUserSubscription(d,"unsubscribe"))):g(r).trigger("push:init-unsubscribed")})}function c(d){var h="=".repeat((4-d.length%4)%4);d=(d+h).replace(/\-/g,"+").replace(/_/g,"/");
d=q.atob(d);h=new Uint8Array(d.length);for(var k=0;k<d.length;++k)h[k]=d.charCodeAt(k);return h}function f(d){d instanceof PushSubscription&&(d=d.options.applicationServerKey);if("string"===typeof d)return XF.config.pushAppServerKey===d;d.buffer&&d.BYTES_PER_ELEMENT&&(d=d.buffer);if(!(d instanceof ArrayBuffer))throw Error("input must be an array buffer or convertable to it");var h=c(XF.config.pushAppServerKey).buffer,k=h.byteLength;if(k!==d.byteLength)return!1;h=new DataView(h);d=new DataView(d);
for(var m=0;m<k;m++)if(h.getUint8(m)!==d.getUint8(m))return!1;return!0}var e=null;return{isSubscribed:null,initialize:function(){XF.Push.isSupported()&&(XF.config.skipPushNotificationSubscription||a())},registerWorker:a,getPushHistoryUserIds:function(){return XF.LocalStorage.getJson("push_history_user_ids")||{}},setPushHistoryUserIds:function(d){XF.LocalStorage.setJson("push_history_user_ids",d||{})},hasUserPreviouslySubscribed:function(d){return XF.Push.getPushHistoryUserIds().hasOwnProperty(d||
XF.config.userId)},addUserToPushHistory:function(d){var h=XF.Push.getPushHistoryUserIds();h[d||XF.config.userId]=!0;XF.Push.setPushHistoryUserIds(h)},removeUserFromPushHistory:function(d){var h=XF.Push.getPushHistoryUserIds();delete h[d||XF.config.userId];XF.Push.setPushHistoryUserIds(h)},handleUnsubscribeAction:function(d,h){XF.Push.isSubscribed&&XF.PWA.getRegistration().then(function(k){return k.pushManager.getSubscription()}).then(function(k){if(k)return e=k,k.unsubscribe()}).catch(function(k){console.error("Error unsubscribing",
k);h&&h()}).then(function(){e&&XF.Push.updateUserSubscription(e,"unsubscribe");XF.Push.isSubscribed=!1;d&&d()})},handleSubscribeAction:function(d,h,k){XF.Push.isSubscribed||Notification.requestPermission().then(function(m){if("granted"!==m)console.error("Permission was not granted");else{var l=XF.Push.base64ToUint8(XF.config.pushAppServerKey);XF.PWA.getRegistration().then(function(p){p.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:l}).then(function(n){XF.Push.updateUserSubscription(n,
"insert");XF.Push.isSubscribed=!0;n={body:XF.phrase("push_enable_notification_body"),dir:XF.isRtl()?"rtl":"ltr"};XF.config.publicMetadataLogoUrl&&(n.icon=XF.config.publicMetadataLogoUrl);XF.config.publicPushBadgeUrl&&(n.badge=XF.config.publicPushBadgeUrl);d||p.showNotification(XF.phrase("push_enable_notification_title"),n);XF.config.userId&&XF.Push.addUserToPushHistory();h&&h()}).catch(function(n){console.error("Failed to subscribe the user: ",n);k&&k()})})}})},handleToggleAction:function(d,h,k,m){XF.Push.isSubscribed?
XF.Push.handleUnsubscribeAction(d,h):XF.Push.handleSubscribeAction(!1,k,m)},updateUserSubscription:function(d,h){if("update"!==h||!XF.Cookie.get("push_subscription_updated")){var k=d.getKey("p256dh"),m=d.getKey("auth"),l=(PushManager.supportedContentEncodings||["aesgcm"])[0];g.ajax({url:XF.canonicalizeUrl("index.php?misc/update-push-subscription"),type:"post",data:{endpoint:d.endpoint,key:k?btoa(String.fromCharCode.apply(null,new Uint8Array(k))):null,token:m?btoa(String.fromCharCode.apply(null,new Uint8Array(m))):
null,encoding:l,unsubscribed:"unsubscribe"===h?1:0,_xfResponseType:"json",_xfToken:XF.config.csrf},cache:!1,dataType:"json",global:!1}).always(function(){"update"===h&&XF.Cookie.set("push_subscription_updated","1")})}},isSupported:function(){return XF.PWA.isSupported()&&XF.config.enablePush&&XF.config.pushAppServerKey&&"PushManager"in q&&"Notification"in q},base64ToUint8:c,isExpectedServerKey:f}}(),XF.ExpandableContent=function(){function a(b){g(b).find(".js-expandWatch:not(.is-expanded)").each(function(){var c=
g(this),f=c.find(".js-expandContent")[0];if(f){var e,d=0,h=function(){var n=f.scrollHeight,t=f.offsetHeight;0==n||0==t?2E3<d||(e&&(clearTimeout(e),d+=200),e=setTimeout(h,d)):n>t+1?c.addClass("is-expandable"):c.removeClass("is-expandable")};h();if(!c.data("expand-check-triggered")&&(c.data("expand-check-triggered",!0),c.find("img").one("load",h),q.MutationObserver)){var k,m=!0,l=function(){m=!1;h();setTimeout(function(){m=!0},100)};var p=new MutationObserver(function(n){c.hasClass("is-expanded")?p.disconnect():
m&&(k&&clearTimeout(k),k=setTimeout(l,200))});p.observe(this,{attributes:!0,childList:!0,subtree:!0})}}})}return{watch:function(){g(r).on("click",".js-expandLink",function(b){g(b.target).closest(".js-expandWatch").addClassTransitioned("is-expanded",XF.layoutChange)});g(q).onPassive("resize",function(){a(r)});g(r).on("embed:loaded",function(){a(r)})},checkSizing:a}}(),XF.UnfurlLoader=function(){function a(){function e(h){var k=null===d?h:h.substring(d);var m=k.indexOf("\n");-1!==m&&(k=k.substring(0,
m),d=null===d?k.length:d+k.length,d++,XF.UnfurlLoader.handleResponse(JSON.parse(k)),d<h.length&&e(h))}if(b.length&&!c){var d=null;c=!0;XF.ajax("post",XF.canonicalizeUrl("unfurl.php"),{result_ids:b},function(h){e(h)},{skipDefault:!0,dataType:"text",xhrFields:{onprogress:function(h){h=h.currentTarget.response;h.length&&e(h)}}}).always(function(){b=[];c=!1;d=null;f&&(b=f,f=[],c=!1,setTimeout(a,0))})}}var b=[],c=!1,f=[];return{activateContainer:function(e){e=g(e).find(".js-unfurl");e.length&&(e.each(function(){var d=
g(this);if(!1===d.data("pending")||d.data("pending-seen"))return!0;d.data("pending-seen",!0);d=d.data("result-id");c?f.push(d):b.push(d)}),a())},unfurl:a,handleResponse:function(e){var d=g('.js-unfurl[data-result-id="'+e.result_id+'"]');d.length&&(e.success?XF.setupHtmlInsert(e.html,function(h,k,m){d.replaceWith(h)}):(e=d.find(".js-unfurl-title a"),e.text(d.data("url")).addClass("bbCodePlainUnfurl").removeClass("fauxBlockLink-blockLink"),d.replaceWith(e)))}}}(),XF.Event=function(){var a=new XF.ClassMapper,
b={},c=function(e,d,h){e=g(e);var k=e.data("xf-"+d).split(" ")||[],m=e.data("xf-"+d+"-handlers")||{},l;for(l=0;l<k.length;l++){var p=k[l];if(p.length){if(!m[p]){var n=a.getObjectFromIdentifier(p);if(!n){console.error("Could not find %s handler for %s",d,p);continue}var t=e.data("xf-"+p)||{};m[p]=new n(e,t)}if(h&&!1===m[p]._onEvent(h))break}}e.data("xf-"+d+"-handlers",m);return m},f=XF.create({initialized:!1,eventType:"click",eventNameSpace:null,$target:null,options:{},__construct:function(e,d){this.$target=
e;this.options=XF.applyDataOptions(this.options,e.data(),d);this.eventType=this.eventType.toLowerCase();if(!this.eventNameSpace)throw Error("Please provide an eventNameSpace for your extended "+this.eventType+" handler class");this._init()},_init:function(){var e=new g.Event("xf-"+this.eventType+":before-init."+this.eventNameSpace),d=!1;this.$target.trigger(e,[this]);e.isDefaultPrevented()||(d=this.init(),this.$target.trigger("xf-"+this.eventType+":after-init."+this.eventNameSpace,[this,d]));this.initialized=
!0;return d},_onEvent:function(e){var d=new g.Event("xf-"+this.eventType+":before-"+this.eventType+"."+this.eventNameSpace);this.$target.trigger(d,[this]);if(!d.isDefaultPrevented()){if("function"==typeof this[this.eventType])d=this[this.eventType](e);else if("function"==typeof this.onEvent)d=this.onEvent(e);else return console.error("You must provide a %1$s(e) method for your %1$s event handler",this.eventType,this.eventNameSpace),e.preventDefault(),!1;this.$target.trigger("xf-"+this.eventType+":after-"+
this.eventType+"."+this.eventNameSpace,[this,d,e])}return null},init:function(){console.error("This is the abstract init method for XF.%s, which must be overridden.",this.eventType,this.eventNameSpace)}});return{watch:function(e){function d(h,k){k||(k=h.currentTarget);if(!k||!k.getAttribute)return!1;k=g(k);return k.is("a")&&!k.data("click-allow-modifier")&&(h.ctrlKey||h.shiftKey||h.altKey||h.metaKey||1<h.which)||k.closest("[contenteditable=true]").length?!1:!0}e=String(e).toLowerCase();b.hasOwnProperty(e)||
(b[e]=!0,g(r).on(e,"[data-xf-"+e+"]",function(h){var k=h.currentTarget;if(d(h,k)){var m=g(k).data("xf-pointer-type");h.xfPointerType=h.pointerType||m||"";c(k,e,h)}}),g(r).on("pointerdown","[data-xf-"+e+"]",function(h){var k=h.currentTarget;d(h,k)&&g(k).data("xf-pointer-type",h.pointerType)}))},initElement:c,getElementHandler:function(e,d,h){var k=e.data("xf-"+h+"-handlers");k||(k=XF.Event.initElement(e[0],h));return k&&k[d]?k[d]:null},register:function(e,d,h){XF.Event.watch(e);a.add(d,h)},extend:function(e,
d){a.extend(e,d)},newHandler:function(e){return XF.extend(f,e)},AbstractHandler:f}}(),XF.Click=function(){return{watch:function(){return XF.Event.watch("click")},initElement:function(a,b){return XF.Event.initElement(a,"click",b)},getElementHandler:function(a,b){return XF.Event.getElementHandler(a,b,"click")},register:function(a,b){XF.Event.watch("click");return XF.Event.register("click",a,b)},extend:function(a,b){return XF.Event.extend(a,b)},newHandler:function(a){return XF.Event.newHandler(a)}}}(),
XF.Element=function(){var a=new XF.ClassMapper,b=function(d,h,k){var m=d.data("xf-element-handlers")||{};if(m[h])return m[h];var l=a.getObjectFromIdentifier(h);if(!l)return null;k=new l(d,k||{});m[h]=k;d.data("xf-element-handlers",m);k.init();return k},c=function(d){d instanceof g&&(d=d[0]);if(d&&d.getAttribute){var h=d.getAttribute("data-xf-init");if(h){h=h.split(" ");var k=h.length;d=g(d);for(var m,l=0;l<k;l++)(m=h[l])&&b(d,m,d.data("xf-"+m))}}},f=function(d){d=g(d);1<d.length?d.each(function(){f(this)}):
(d.is("[data-xf-init]")&&c(d[0]),d.find("[data-xf-init]").each(function(){c(this)}))},e=XF.create({$target:null,options:{},__construct:function(d,h){this.$target=d;this.options=XF.applyDataOptions(this.options,d.data(),h)},init:function(){console.error("This is the abstract init method for XF.Element, which should be overridden.")},getOption:function(d){return this.options[d]}});return{register:function(d,h){a.add(d,h)},extend:function(d,h){a.extend(d,h)},initialize:f,initializeElement:c,applyHandler:b,
getHandler:function(d,h){var k=d.data("xf-element-handlers");void 0===k&&(c(d),k=d.data("xf-element-handlers"));return k&&k[h]?k[h]:null},newHandler:function(d){return XF.extend(e,d)},AbstractHandler:e}}(),XF.AutoCompleteResults=XF.create({selectedResult:0,$results:!1,$scrollWatchers:null,resultsVisible:!1,resizeBound:!1,headerHtml:null,options:{},__construct:function(a){this.options=g.extend({onInsert:null,clickAttacher:null,beforeInsert:null,insertMode:"text",displayTemplate:"{{{icon}}}{{{text}}}",
wrapperClasses:""},a)},isVisible:function(){return this.resultsVisible},hideResults:function(){this.resultsVisible=!1;this.$results&&this.$results.hide();this.stopScrollWatching()},stopScrollWatching:function(){this.$scrollWatchers&&(this.$scrollWatchers.off("scroll.autocomplete"),this.$scrollWatchers=null)},addHeader:function(a){this.headerHtml=a},showResults:function(a,b,c,f){var e;if(b){this.resultsVisible=!1;this.$results?this.$results.hide().empty():(this.$results=g("<ul />").css({position:"absolute",
display:"none"}).addClass("autoCompleteList "+this.options.wrapperClasses).attr("role","listbox").appendTo(r.body),XF.setRelativeZIndex(this.$results,c,1));a=new RegExp("("+XF.regexQuote(XF.htmlspecialchars(a))+")","i");for(e in b)if(b.hasOwnProperty(e)){var d=b[e];var h=g("<li />").css("cursor","pointer").attr("unselectable","on").attr("role","option").mouseenter(XF.proxy(this,"resultMouseEnter"));this.options.clickAttacher?this.options.clickAttacher(h,XF.proxy(this,"resultClick")):h.click(XF.proxy(this,
"resultClick"));var k={icon:"",text:"",desc:""};if("string"==typeof d){var m=d;k.text=XF.htmlspecialchars(d)}else if(m=d.text,k.text=XF.htmlspecialchars(d.text),"undefined"!==typeof d.desc&&(k.desc=XF.htmlspecialchars(d.desc)),"undefined"!==typeof d.icon?k.icon=g('<img class="autoCompleteList-icon" />').attr("src",XF.htmlspecialchars(d.icon)):"undefined"!==typeof d.iconHtml&&(k.icon=g('<span class="autoCompleteList-icon" />').html(d.iconHtml)),k.icon&&(k.icon=k.icon[0].outerHTML),d.extraParams){var l=
d.extraParams,p;for(p in l)if(l.hasOwnProperty(p)){var n=p.match(/Html$/),t=n?p.replace(/Html$/,""):p;n=n?l[p]:XF.htmlspecialchars(l[p]);k[t]=n}}h.data("insert-text",m);h.data("insert-html",d.html||"");k.text=k.text.replace(a,"<strong>$1</strong>");k.desc=k.desc.replace(a,"<strong>$1</strong>");h.html(Mustache.render(this.options.displayTemplate,k)).appendTo(this.$results)}if(this.$results.children().length){this.selectResult(0,!0);this.headerHtml&&(h=g("<li />").addClass("menu-header menu-header--small").attr("unselectable",
"on").html(this.headerHtml),h.prependTo(this.$results));if(!this.resizeBound)g(q).onPassive("resize",XF.proxy(this,"hideResults"));this.$results.css({top:"",left:"",right:"",bottom:""});var x=this.$results,v=function(y){g.isFunction(y)&&(y=y(x,c));if(!y){var w=c.offset();y={top:w.top+c.outerHeight(),left:w.left};XF.isRtl()&&(y.right=g("html").width()-w.left-c.outerWidth(),y.left="auto")}return y};this.stopScrollWatching();(b=c.parents().filter(function(){switch(g(this).css("overflow-x")){case "scroll":case "auto":return!0;
default:return!1}}))&&b.length&&(b.on("scroll.autocomplete",function(){x.css(v(f))}),this.$scrollWatchers=b);this.$results.css(v(f)).show();this.resultsVisible=!0}}else this.hideResults()},resultClick:function(a){a.stopPropagation();this.insertResult(this.getResultText(a.currentTarget),a.currentTarget,a);this.hideResults()},resultMouseEnter:function(a){this.selectResult(g(a.currentTarget).index(),!0)},selectResult:function(a,b){if(this.$results){var c=this.selectedResult=b?a:this.selectedResult+a;
a=this.$results.children();a.each(function(f){f==c?g(this).addClass("is-selected"):g(this).removeClass("is-selected")});if(0>c||c>=a.length)this.selectedResult=-1}},insertSelectedResult:function(a){var b,c=!1;if(!this.resultsVisible)return!1;0<=this.selectedResult&&(b=this.$results.children().get(this.selectedResult))&&(c=this.getResultText(b),this.options.beforeInsert&&(c=this.options.beforeInsert(c,b)),this.insertResult(c,b,a),c=!0);this.hideResults();return c},insertResult:function(a,b,c){if(this.options.onInsert)this.options.onInsert(a,
b,c)},getResultText:function(a){switch(this.options.insertMode){case "text":var b=g(a).data("insert-text");break;case "html":b=g(a).data("insert-html")}return b}}),XF.AutoCompleter=XF.create({options:{url:null,method:"GET",idleWait:200,minLength:2,at:"@",keepAt:!0,insertMode:"text",displayTemplate:"{{{icon}}}{{{text}}}",beforeInsert:null},$input:null,ed:null,results:null,visible:!1,idleTimer:null,pendingQuery:"",__construct:function(a,b,c){this.options=g.extend(!0,{},this.options,b);this.$input=a;
this.ed=c;this.options.url?(("string"!=typeof this.options.at||1<this.options.at.length)&&console.error("The 'at' option should be a single character string."),this.init()):console.error("No URL option passed in to XF.AutoCompleter.")},init:function(){var a=this,b={onInsert:function(c){a.insertResult(c)},beforeInsert:this.options.beforeInsert,insertMode:this.options.insertMode,displayTemplate:this.options.displayTemplate};this.ed&&(b.clickAttacher=function(c,f){a.ed.events.bindClick(c,c,f)});this.results=
new XF.AutoCompleteResults(b);this.ed?(this.ed.events.on("keydown",XF.proxy(this,"keydown"),!0),this.ed.events.on("keyup",XF.proxy(this,"keyup"),!0),this.ed.events.on("click blur",XF.proxy(this,"blur")),g(this.ed.$wp).onPassive("scroll",XF.proxy(this,"blur"))):(this.$input.on("keydown",XF.proxy(this,"keydown")),this.$input.on("keyup",XF.proxy(this,"keyup")),this.$input.on("click blur",XF.proxy(this,"blur")),g(r).onPassive("scroll",XF.proxy(this,"blur")))},keydown:function(a){if(this.visible)switch(a.which){case 40:return this.results.selectResult(1),
a.preventDefault(),!1;case 38:return this.results.selectResult(-1),a.preventDefault(),!1;case 27:return this.hide(),a.preventDefault(),!1;case 13:if(this.visible)return this.results.insertSelectedResult(a),a.preventDefault(),!1}},keyup:function(a){if(this.visible)switch(a.which){case 40:case 38:case 13:return}this.hide();this.idleTimer&&clearTimeout(this.idleTimer);this.idleTimer=setTimeout(XF.proxy(this,"lookForMatch"),this.options.idleWait)},blur:function(){this.visible&&setTimeout(XF.proxy(this,
"hide"),250)},lookForMatch:function(){var a=this.getCurrentMatchInfo();a?this.foundMatch(a.query):this.hide()},getCurrentMatchInfo:function(){if(this.ed){var a=this.ed.selection.ranges(0);if(!a||!a.collapsed)return null;var b=a.endContainer;if(!b||3!==b.nodeType)return null;var c=b;b=b.nodeValue.substring(0,a.endOffset)}else{b=this.$input;b.autofocus();a=b.getSelection();if(!a||1>=a.end)return!1;b=b.val().substring(0,a.end)}var f=b.lastIndexOf(this.options.at);if(-1===f)return null;if(0===f||b.substr(f-
1,1).match(/(\s|[\](,]|--)/)){var e=b.substr(f+1);if(!e.match(/\s/)||15>=e.length)return{text:b,textNode:c,start:f,query:e.replace(new RegExp(String.fromCharCode(160),"g")," "),range:a}}return null},foundMatch:function(a){this.pendingQuery!==a&&(this.pendingQuery=a,a.length>=this.options.minLength&&"["!==a.substr(0,1)&&this.getPendingQueryOptions())},getPendingQueryOptions:function(){XF.ajax(this.options.method,this.options.url,{q:this.pendingQuery},XF.proxy(this,"handlePendingQueryOptions"),{global:!1,
error:!1})},handlePendingQueryOptions:function(a){var b=this.getCurrentMatchInfo();a.q&&b&&a.q===b.query&&(a.results&&a.results.length?this.show(a.q,a.results):this.hide())},insertResult:function(a){this.hide();var b=this.getCurrentMatchInfo();if(b){var c=b.start+1,f=b.range;if(this.ed){this.ed.selection.save();XF.EditorHelpers.focus(this.ed);f=b.textNode;var e=f.nodeValue,d=f.splitText(this.options.keepAt?c:c-1);d.textContent=e.substr(c+b.query.length);a="html"===this.options.insertMode?g.parseHTML(a+
"\u00a0"):r.createTextNode(a+"\u00a0");g(d).before(a);f.parentNode.normalize();this.ed.selection.restore()}else d=this.$input,d.autofocus(),-1!==c&&(d.setSelection(b.start,f.end),d.replaceSelectedText((this.options.keepAt?this.options.at:"")+a+" ","collapseToEnd"))}},show:function(a,b){var c=this.getCurrentMatchInfo(),f=this.$input,e=f.dimensions(),d=this;if(c)if(this.visible=!0,this.ed){var h=c.range;this.results.showResults(a,b,f,function(k){if(!h||!h.getBoundingClientRect)return k=h.startContainer,
{top:(3===k.nodeType?g(k.parentNode):g(k)).dimensions().bottom+3,left:e.left+5};var m=h.cloneRange();m.setStart(c.textNode,c.start);m.setEnd(c.textNode,c.start+1);m=m.getBoundingClientRect();return d.getResultPositionForSelection(m.left,m.bottom,h.getBoundingClientRect().left,k,e)})}else this.results.showResults(a,b,f,function(k){for(var m=g("<div />"),l=q.getComputedStyle(f[0]),p,n="",t=0;t<l.length;t++)p=l[t],n+=p+": "+l.getPropertyValue(p)+"; ";m[0].style.cssText=n;m.css({position:"absolute",height:"",
width:f.outerWidth(),opacity:0,top:0,left:"-9999px"});m[0].textContent=f.val();m.appendTo(r.body);n=r.createRange();n.setStart(m[0].firstChild,c.start);n.setEnd(m[0].firstChild,c.start+1);t=n.getBoundingClientRect();var x=m.dimensions();l=e.left+(t.left-x.left);p=e.top+(t.bottom-x.top);n.setStart(m[0].firstChild,c.start+1+c.query.length);n.setEnd(m[0].firstChild,c.start+1+c.query.length);t=n.getBoundingClientRect();n=e.left+(t.left-x.left);m.remove();return d.getResultPositionForSelection(l,p,n,k,
e)})},getResultPositionForSelection:function(a,b,c,f,e){f=f.width();b=b+g(q).scrollTop()+3;a+f>e.right&&(a=c-f);a<e.left&&(a=e.left);return{top:b,left:a}},hide:function(){this.visible&&(this.visible=!1,this.results.hideResults())}}),XF.pageDisplayTime=Date.now(),g(XF.onPageLoad),g(q).on("pageshow",function(){if(!XF.pageDisplayTime||Date.now()>XF.pageDisplayTime)XF.pageDisplayTime=Date.now()}))}(window.jQuery,window,document);