-
Notifications
You must be signed in to change notification settings - Fork 13
/
spa-bundle.min.js
16 lines (16 loc) · 270 KB
/
spa-bundle.min.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/*@license SPA.js (bundle-v2.88.0) [MIT|https://github.com/sucom/SPA.js/blob/master/LICENSE]*//*build(+dom)-v20220609.102557*/;
/*! Sizzle v2.3.6 | (c) JS Foundation and other contributors | js.foundation */
!function(e){if(e.Sizzle)return;var t,n,r,i,o,u,l,a,c,s,d,f,p,h,g,m,y,v,w,b="sizzle"+1*new Date,N=e.document,C=0,x=0,E=ae(),A=ae(),S=ae(),D=ae(),T=function(e,t){return e===t&&(d=!0),0},L={}.hasOwnProperty,q=[],I=q.pop,B=q.push,R=q.push,$=q.slice,k=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},H="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",P="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",z="\\["+M+"*("+P+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+P+"))|)"+M+"*\\]",F=":("+P+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+z+")*)|.*)\\)|)",O=new RegExp(M+"+","g"),j=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),G=new RegExp("^"+M+"*,"+M+"*"),U=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),V=new RegExp(M+"|>"),X=new RegExp(F),J=new RegExp("^"+P+"$"),K={ID:new RegExp("^#("+P+")"),CLASS:new RegExp("^\\.("+P+")"),TAG:new RegExp("^("+P+"|[*])"),ATTR:new RegExp("^"+z),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+H+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Q=/HTML$/i,W=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){f()},ue=ve(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{R.apply(q=$.call(N.childNodes),N.childNodes),q[N.childNodes.length].nodeType}catch(e){R={apply:q.length?function(e,t){B.apply(e,$.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function le(e,t,r,i){var o,l,c,s,d,h,y,v=t&&t.ownerDocument,N=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==N&&9!==N&&11!==N)return r;if(!i&&(f(t),t=t||p,g)){if(11!==N&&(d=_.exec(e)))if(o=d[1]){if(9===N){if(!(c=t.getElementById(o)))return r;if(c.id===o)return r.push(c),r}else if(v&&(c=v.getElementById(o))&&w(t,c)&&c.id===o)return r.push(c),r}else{if(d[2])return R.apply(r,t.getElementsByTagName(e)),r;if((o=d[3])&&n.getElementsByClassName&&t.getElementsByClassName)return R.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!D[e+" "]&&(!m||!m.test(e))&&(1!==N||"object"!==t.nodeName.toLowerCase())){if(y=e,v=t,1===N&&(V.test(e)||U.test(e))){(v=ee.test(e)&&ge(t.parentNode)||t)===t&&n.scope||((s=t.getAttribute("id"))?s=s.replace(re,ie):t.setAttribute("id",s=b)),l=(h=u(e)).length;while(l--)h[l]=(s?"#"+s:":scope")+" "+ye(h[l]);y=h.join(",")}try{return R.apply(r,v.querySelectorAll(y)),r}catch(t){D(e,!0)}finally{s===b&&t.removeAttribute("id")}}}return a(e.replace(j,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function ce(e){return e[b]=!0,e}function se(e){var t=p.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function de(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function fe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function pe(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ue(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return ce(function(t){return t=+t,ce(function(n,r){var i,o=e([],n.length,t),u=o.length;while(u--)n[i=o[u]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&void 0!==e.getElementsByTagName&&e}n=le.support={},o=le.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Q.test(t||n&&n.nodeName||"HTML")},f=le.setDocument=function(e){var t,i,u=e?e.ownerDocument||e:N;return u!=p&&9===u.nodeType&&u.documentElement?(p=u,h=p.documentElement,g=!o(p),N!=p&&(i=p.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",oe,!1):i.attachEvent&&i.attachEvent("onunload",oe)),n.scope=se(function(e){return h.appendChild(e).appendChild(p.createElement("div")),void 0!==e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),n.attributes=se(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=se(function(e){return e.appendChild(p.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Z.test(p.getElementsByClassName),n.getById=se(function(e){return h.appendChild(e).id=b,!p.getElementsByName||!p.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&g)return t.getElementsByClassName(e)},y=[],m=[],(n.qsa=Z.test(p.querySelectorAll))&&(se(function(e){var t;h.appendChild(e).innerHTML="<a id='"+b+"'></a><select id='"+b+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&m.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||m.push("\\["+M+"*(?:value|"+H+")"),e.querySelectorAll("[id~="+b+"-]").length||m.push("~="),(t=p.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||m.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||m.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||m.push(".#.+[+~]"),e.querySelectorAll("\\\f"),m.push("[\\r\\n\\f]")}),se(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=p.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&m.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&m.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&m.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),m.push(",.*:")})),(n.matchesSelector=Z.test(v=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&se(function(e){n.disconnectedMatch=v.call(e,"*"),v.call(e,"[s!='']:x"),y.push("!=",F)}),m=m.length&&new RegExp(m.join("|")),y=y.length&&new RegExp(y.join("|")),t=Z.test(h.compareDocumentPosition),w=t||Z.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},T=t?function(e,t){if(e===t)return d=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e==p||e.ownerDocument==N&&w(N,e)?-1:t==p||t.ownerDocument==N&&w(N,t)?1:s?k(s,e)-k(s,t):0:4&r?-1:1)}:function(e,t){if(e===t)return d=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,u=[e],l=[t];if(!i||!o)return e==p?-1:t==p?1:i?-1:o?1:s?k(s,e)-k(s,t):0;if(i===o)return fe(e,t);n=e;while(n=n.parentNode)u.unshift(n);n=t;while(n=n.parentNode)l.unshift(n);while(u[r]===l[r])r++;return r?fe(u[r],l[r]):u[r]==N?-1:l[r]==N?1:0},p):p},le.matches=function(e,t){return le(e,null,null,t)},le.matchesSelector=function(e,t){if(f(e),n.matchesSelector&&g&&!D[t+" "]&&(!y||!y.test(t))&&(!m||!m.test(t)))try{var r=v.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){D(t,!0)}return le(t,p,null,[e]).length>0},le.contains=function(e,t){return(e.ownerDocument||e)!=p&&f(e),w(e,t)},le.attr=function(e,t){(e.ownerDocument||e)!=p&&f(e);var i=r.attrHandle[t.toLowerCase()],o=i&&L.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},le.escape=function(e){return(e+"").replace(re,ie)},le.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},le.uniqueSort=function(e){var t,r=[],i=0,o=0;if(d=!n.detectDuplicates,s=!n.sortStable&&e.slice(0),e.sort(T),d){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return s=null,e},i=le.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=le.selectors={cacheLength:50,createPseudo:ce,match:K,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||le.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&le.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return K.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=u(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=le.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace(O," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),u="last"!==e.slice(-4),l="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,a){var c,s,d,f,p,h,g=o!==u?"nextSibling":"previousSibling",m=t.parentNode,y=l&&t.nodeName.toLowerCase(),v=!a&&!l,w=!1;if(m){if(o){while(g){f=t;while(f=f[g])if(l?f.nodeName.toLowerCase()===y:1===f.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[u?m.firstChild:m.lastChild],u&&v){w=(p=(c=(s=(d=(f=m)[b]||(f[b]={}))[f.uniqueID]||(d[f.uniqueID]={}))[e]||[])[0]===C&&c[1])&&c[2],f=p&&m.childNodes[p];while(f=++p&&f&&f[g]||(w=p=0)||h.pop())if(1===f.nodeType&&++w&&f===t){s[e]=[C,p,w];break}}else if(v&&(w=p=(c=(s=(d=(f=t)[b]||(f[b]={}))[f.uniqueID]||(d[f.uniqueID]={}))[e]||[])[0]===C&&c[1]),!1===w)while(f=++p&&f&&f[g]||(w=p=0)||h.pop())if((l?f.nodeName.toLowerCase()===y:1===f.nodeType)&&++w&&(v&&((s=(d=f[b]||(f[b]={}))[f.uniqueID]||(d[f.uniqueID]={}))[e]=[C,w]),f===t))break;return(w-=i)===r||w%r==0&&w/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||le.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?ce(function(e,n){var r,o=i(e,t),u=o.length;while(u--)e[r=k(e,o[u])]=!(n[r]=o[u])}):function(e){return i(e,0,n)}):i}},pseudos:{not:ce(function(e){var t=[],n=[],r=l(e.replace(j,"$1"));return r[b]?ce(function(e,t,n,i){var o,u=r(e,null,i,[]),l=e.length;while(l--)(o=u[l])&&(e[l]=!(t[l]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:ce(function(e){return function(t){return le(e,t).length>0}}),contains:ce(function(e){return e=e.replace(te,ne),function(t){return(t.textContent||i(t)).indexOf(e)>-1}}),lang:ce(function(e){return J.test(e||"")||le.error("unsupported lang: "+e),e=e.replace(te,ne).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:pe(!1),disabled:pe(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return W.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:he(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:he(function(e,t,n){for(var r=n<0?n+t:n>t?t:n;--r>=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=r.pseudos.eq;for(t in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=function(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=function(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}(t);function me(){}me.prototype=r.filters=r.pseudos,r.setFilters=new me,u=le.tokenize=function(e,t){var n,i,o,u,l,a,c,s=A[e+" "];if(s)return t?0:s.slice(0);l=e,a=[],c=r.preFilter;while(l){n&&!(i=G.exec(l))||(i&&(l=l.slice(i[0].length)||l),a.push(o=[])),n=!1,(i=U.exec(l))&&(n=i.shift(),o.push({value:n,type:i[0].replace(j," ")}),l=l.slice(n.length));for(u in r.filter)!(i=K[u].exec(l))||c[u]&&!(i=c[u](i))||(n=i.shift(),o.push({value:n,type:u,matches:i}),l=l.slice(n.length));if(!n)break}return t?l.length:l?le.error(e):A(e,a).slice(0)};function ye(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function ve(e,t,n){var r=t.dir,i=t.next,o=i||r,u=n&&"parentNode"===o,l=x++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||u)return e(t,n,i);return!1}:function(t,n,a){var c,s,d,f=[C,l];if(a){while(t=t[r])if((1===t.nodeType||u)&&e(t,n,a))return!0}else while(t=t[r])if(1===t.nodeType||u)if(d=t[b]||(t[b]={}),s=d[t.uniqueID]||(d[t.uniqueID]={}),i&&i===t.nodeName.toLowerCase())t=t[r]||t;else{if((c=s[o])&&c[0]===C&&c[1]===l)return f[2]=c[2];if(s[o]=f,f[2]=e(t,n,a))return!0}return!1}}function we(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function be(e,t,n){for(var r=0,i=t.length;r<i;r++)le(e,t[r],n);return n}function Ne(e,t,n,r,i){for(var o,u=[],l=0,a=e.length,c=null!=t;l<a;l++)(o=e[l])&&(n&&!n(o,r,i)||(u.push(o),c&&t.push(l)));return u}function Ce(e,t,n,r,i,o){return r&&!r[b]&&(r=Ce(r)),i&&!i[b]&&(i=Ce(i,o)),ce(function(o,u,l,a){var c,s,d,f=[],p=[],h=u.length,g=o||be(t||"*",l.nodeType?[l]:l,[]),m=!e||!o&&t?g:Ne(g,f,e,l,a),y=n?i||(o?e:h||r)?[]:u:m;if(n&&n(m,y,l,a),r){c=Ne(y,p),r(c,[],l,a),s=c.length;while(s--)(d=c[s])&&(y[p[s]]=!(m[p[s]]=d))}if(o){if(i||e){if(i){c=[],s=y.length;while(s--)(d=y[s])&&c.push(m[s]=d);i(null,y=[],c,a)}s=y.length;while(s--)(d=y[s])&&(c=i?k(o,d):f[s])>-1&&(o[c]=!(u[c]=d))}}else y=Ne(y===u?y.splice(h,y.length):y),i?i(null,u,y,a):R.apply(u,y)})}function xe(e){for(var t,n,i,o=e.length,u=r.relative[e[0].type],l=u||r.relative[" "],a=u?1:0,s=ve(function(e){return e===t},l,!0),d=ve(function(e){return k(t,e)>-1},l,!0),f=[function(e,n,r){var i=!u&&(r||n!==c)||((t=n).nodeType?s(e,n,r):d(e,n,r));return t=null,i}];a<o;a++)if(n=r.relative[e[a].type])f=[ve(we(f),n)];else{if((n=r.filter[e[a].type].apply(null,e[a].matches))[b]){for(i=++a;i<o;i++)if(r.relative[e[i].type])break;return Ce(a>1&&we(f),a>1&&ye(e.slice(0,a-1).concat({value:" "===e[a-2].type?"*":""})).replace(j,"$1"),n,a<i&&xe(e.slice(a,i)),i<o&&xe(e=e.slice(i)),i<o&&ye(e))}f.push(n)}return we(f)}function Ee(e,t){var n=t.length>0,i=e.length>0,o=function(o,u,l,a,s){var d,h,m,y=0,v="0",w=o&&[],b=[],N=c,x=o||i&&r.find.TAG("*",s),E=C+=null==N?1:Math.random()||.1,A=x.length;for(s&&(c=u==p||u||s);v!==A&&null!=(d=x[v]);v++){if(i&&d){h=0,u||d.ownerDocument==p||(f(d),l=!g);while(m=e[h++])if(m(d,u||p,l)){a.push(d);break}s&&(C=E)}n&&((d=!m&&d)&&y--,o&&w.push(d))}if(y+=v,n&&v!==y){h=0;while(m=t[h++])m(w,b,u,l);if(o){if(y>0)while(v--)w[v]||b[v]||(b[v]=I.call(a));b=Ne(b)}R.apply(a,b),s&&!o&&b.length>0&&y+t.length>1&&le.uniqueSort(a)}return s&&(C=E,c=N),w};return n?ce(o):o}l=le.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=u(e)),n=t.length;while(n--)(o=xe(t[n]))[b]?r.push(o):i.push(o);(o=S(e,Ee(i,r))).selector=e}return o},a=le.select=function(e,t,n,i){var o,a,c,s,d,f="function"==typeof e&&e,p=!i&&u(e=f.selector||e);if(n=n||[],1===p.length){if((a=p[0]=p[0].slice(0)).length>2&&"ID"===(c=a[0]).type&&9===t.nodeType&&g&&r.relative[a[1].type]){if(!(t=(r.find.ID(c.matches[0].replace(te,ne),t)||[])[0]))return n;f&&(t=t.parentNode),e=e.slice(a.shift().value.length)}o=K.needsContext.test(e)?0:a.length;while(o--){if(c=a[o],r.relative[s=c.type])break;if((d=r.find[s])&&(i=d(c.matches[0].replace(te,ne),ee.test(a[0].type)&&ge(t.parentNode)||t))){if(a.splice(o,1),!(e=i.length&&ye(a)))return R.apply(n,i),n;break}}}return(f||l(e,p))(i,t,!g,n,!t||ee.test(e)&&ge(t.parentNode)||t),n},n.sortStable=b.split("").sort(T).join("")===b,n.detectDuplicates=!!d,f(),n.sortDetached=se(function(e){return 1&e.compareDocumentPosition(p.createElement("fieldset"))}),se(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||de("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&se(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||de("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),se(function(e){return null==e.getAttribute("disabled")})||de(H,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null});var Ae=e.Sizzle;le.noConflict=function(){return e.Sizzle===le&&(e.Sizzle=Ae),le},"function"==typeof define&&define.amd?define(function(){return le}):"undefined"!=typeof module&&module.exports?module.exports=le:e.Sizzle=le}(window);
/*@license SPA.js (DOM Extension) [MIT]*/
!function(t){var s,e="1.0.0",h=t,f=document,d=!!h.Sizzle,a=Array.prototype,n=Object.prototype,i=/^(?:input|select|textarea|button)$/i,o="hasOwnProperty,prototype,__proto__,isPrototypeOf".split(",");function DOMElements(t,e){this.length=0;var n=function _qryElements(t,e){var n=t,r=e,i=[];t=n||"",e=r||f;try{if(e!==f&&((e=_qryElements(e))&&e.length?1===e.length&&(e=e[0]||null):e=null),t instanceof DOMElements)i=t;else if("string"==typeof t)if("document"===(t=t.trim()))i=[f];else if("window"===t)i=[];else if(/^\s*</.test(t)){var o=f.createElement("div");o.id="dQvDOM"+ +new Date,o.innerHTML=t;for(var s=0;s<o.childNodes.length;s++){var a=o.childNodes[s];a&&1==a.nodeType&&i.push(a)}}else if(e)if(e.querySelectorAll){var c=d?Sizzle(t,e):e.querySelectorAll(t);c&&(i=[].slice.call(c))}else if(e.length&&e[0])for(var l=0;l<e.length;l++)i=i.concat(_qryElements(t,e[l]));else dQ.debug&&console.warn("Unable to find elements in context",{selector:n,context:r});else dQ.debug&&console.warn("Unable to find elements in context",{selector:n,context:r});else i="object"==typeof t&&t.hasOwnProperty("length")&&t.splice?t:t!==h&&t?[t]:[]}catch(t){dQ.debug&&console.error("ERROR: Invalid Selector/Context",{selector:n,context:r},t)}return i=i&&i.length&&!i[0]?[]:i}(t,e);try{if(n&&n.length&&n[0]){this.length=n.length;for(var r=0;r<this.length;r++)this[r]=n[r]}}catch(t){}}h.dom||(h.dom=dQ),h.dQ||(h.dQ=dQ);var r=DOMElements.prototype;function dQ(t,e){return function init(t,e){return t instanceof DOMElements?t:"function"!=typeof t?new DOMElements(t,e):void onReady(t)}(t,e)}function noop(){return this}function rTypeOf(t,e){t=Object.prototype.toString.call(t).slice(8,-1).toLowerCase();return e?0<("|"+e).toLowerCase().indexOf(t):t}function toArray(t){return a.slice.call(t)}function _hasOwnProp(t,e){return n.hasOwnProperty.call(t,e)}function _isSafeKey(t,e){return!(function _isReservedKey(t){return-1<o.indexOf(t)}(e)||"constructor"===e&&_isFn(t[e]))}function extendDomFn(e,n){e&&(!function _isProto(t){return"object"==typeof t&&(t==window.__proto__||_hasOwnProp(t,"isPrototypeOf")||t.isPrototypeOf(new Object)||t.isPrototypeOf(new Array)||t.isPrototypeOf(new Function)||t.isPrototypeOf(new String)||t.isPrototypeOf(new Number)||t.isPrototypeOf(new Boolean)||t.isPrototypeOf(new Date)||t.isPrototypeOf(new RegExp)||t.isPrototypeOf(new DOMElements))}(e)&&"object"===rTypeOf(e)?Object.keys(e).forEach(function(t){_isSafeKey(e,t)?_hasOwnProp(r,t)&&!n?dQ.debug&&console.warn("Ignored duplicate dom.extension:",t,e[t]):r[t]=e[t]:dQ.debug&&console.warn("Ignored invalid dom.extension:",t,e[t])}):dQ.debug&&console.warn("Ignored invalid dom.extensions:",e))}function each(t){if("function"!=typeof t)return toArray(this);for(var e=0;e<this.length;e++)t.call(this[e],e,this[e]);return this}function map(t){if("function"!=typeof t)return toArray(this);for(var e=[],n=0;n<this.length;n++)e=e.concat(t.call(this[n],n,this[n]));return dQ(e)}function mapEachEl(t){if("function"!=typeof t)return toArray(this);for(var e=[],n=0;n<this.length;n++)e=e.concat(t.call(this[n],this[n],n));return e}function mapEach(t){return"function"!=typeof t?toArray(this):dQ(this.mapEachEl(t))}function forEach(t){if("function"!=typeof t)return toArray(this);for(var e=0;e<this.length;e++)t.call(this[e],this[e],e);return this}function find(t){return dQ(t,this)}function filter(t){var e=[];if("string"==typeof t)for(var n=0;n<this.length;n++)this[n].matches(t)&&(e=e.concat(this[n]));else if("function"==typeof t)for(n=0;n<this.length;n++)t.call(this[n],n,this[n])&&(e=e.concat(this[n]));return dQ(e)}function filterEachEl(t){var e=[];if("string"==typeof t)for(var n=0;n<this.length;n++)this[n].matches(t)&&(e=e.concat(this[n]));else if("function"==typeof t)for(n=0;n<this.length;n++)t.call(this[n],this[n],n)&&(e=e.concat(this[n]));return e}function filterEach(t){return dQ(this.filterEachEl(t))}function has(t){var e=[];if("string"==typeof t)for(var n=0;n<this.length;n++)this[n].querySelector(t)&&(e=e.concat(this[n]));return dQ(e)}function _getFinalClassNames(n,r){var i,o,s,e=[];return"function"==typeof n?(i="",this.forEach(function(t,e){o=n.call(t,e,t.getAttribute("class"),r),"string"==(s=typeof o)?i+=" "+o:"array"==s&&(i+=" "+o.join(" "))}),n=i.trim()):Array.isArray(n)&&(n=n.join(" ")),"string"==typeof n&&n.replace(/[.,]/g," ").split(" ").forEach(function(t){(t=(t||"").trim())&&e.push(t)}),e}function _AddRemClass(n,t){var r=_getFinalClassNames.call(this,t);return r.length&&this.forEach(function(e){r.forEach(function(t){e.classList[n](t)})}),this}function addClass(t){return _AddRemClass.call(this,"add",t)}function removeClass(t){return _AddRemClass.call(this,"remove",t)}function toggleClass(t,e){var n,r=_getFinalClassNames.call(this,t);return r.length&&(n=e===s?"toggle":e?"add":"remove",this.forEach(function(e){r.forEach(function(t){e.classList[n](t)})})),this}function hasClass(t){if((t=_getFinalClassNames.call(this,t)).length)return this.every(function(e){return t.every(function(t){return e.classList.contains(t)})})}function show(){var e=arguments[0]||"block";this.forEach(function(t){t.style.display=e})}function hide(){this.forEach(function(t){t.style.display="none"})}function toggle(n){this.forEach(function(t){var e=(getComputedStyle?getComputedStyle(t,null):t.currentStyle).display;"none"==e?t.style.display=n||t.prevDisplayType||"inline":(t.prevDisplayType=e,t.style.display="none")})}function _isFormEl(t){return i.test(t.nodeName)}function isClickable(t){var e=!t.hasAttribute("disabled");if(!_isFormEl(t)||e)try{var n=getComputedStyle(t),e=n&&!("none"===n["pointer-events"]||"none"===n["touch-action"])}catch(t){}return e}function domElProp(t,e){t=dQ(t).mapEachEl(function(t){return t[e]});return t=1===t.length?t[0]:t}function attr(r,n){var t,e=this;return this.length&&(t=rTypeOf(r),r===s?1===(e=this.mapEachEl(function(t){var e={};return a.slice.call(t.attributes).forEach(function(t){e[t.name]=t.value}),e})).length&&(e=e[0]):"object"===t?(this.forEach(function(e){Object.keys(r).forEach(function(t){null===r[t]?e.removeAttribute(t):e.setAttribute(t,r[t])})}),e=this):"string"===t?n===s?1===(e=this.mapEachEl(function(t){return t.getAttribute(r)})).length&&(e=e[0]):(null===n?this.forEach(function(t){t.removeAttribute(r)}):this.forEach(function(t){t.setAttribute(r,n)}),e=this):"array"===t?n===s?1===(e=this.mapEachEl(function(e){var n={};return r.forEach(function(t){n[t]=e.getAttribute(t)}),n})).length&&(e=e[0]):(null===n?this.forEach(function(e){r.forEach(function(t){e.removeAttribute(t)})}):this.forEach(function(e){r.forEach(function(t){e.setAttribute(t,n)})}),e=this):dQ.debug&&console.warn("Invalid attribute")),e}function prop(e,n){if(!this.length)return 2===arguments.length&&this;var t=this;return(e=e.trim())&&(2===arguments.length?this.forEach(function(t){n?(t.setAttribute(e,""),"disabled"!==e||_isFormEl(t)||t.classList.add("disabled")):(t.removeAttribute(e),"disabled"!==e||_isFormEl(t)||t.classList.remove("disabled"))}):1===(t=this.mapEachEl(function(t){return"disabled"===e?!isClickable(t)||t.hasAttribute(e):"checked"===e||"selected"===e?t[e]||t.hasAttribute(e):t.getAttribute(e)})).length&&(t=t[0])),t}function isProp(t){if(!this.length||!arguments.length)return!1;var e=this,r=[];return(""+t).replace(/,/g," ").split(" ").forEach(function(t){(t=(t||"").trim())&&r.push(t)}),e=r.length?this.every(function(n){return r.every(function(t){var e;switch(t.toLowerCase()){case":disabled":e=!isClickable(n);break;case":enabled":e=isClickable(n);break;case":checked":case":selected":e=n.hasAttribute("checked")||n.hasAttribute("selected");break;case":visible":e=!!(n.offsetWidth||n.offsetHeight||n.getClientRects().length);break;case":hidden":e=!(n.offsetWidth||n.offsetHeight||n.getClientRects().length);break;default:e=n.matches(t)}return e})}):e}function selectEl(){return this.length&&this[0].select(),this}function focusEl(){return this.length&&this[0].focus(),this}function _elsHtmlText(e,n){var r,i,t="";return t=this.length?n===s?1===this.length?this[0][e]:this.mapEachEl(function(t){return t[e]}):(i="function"==typeof n,this.forEach(function(t){r=i?n.call(t,t[e]):n,t[e]=r===s?"":""+r}),this):t}function getElVal(t){if(t.options){if(t.size){for(var e=[],n=t.selectedOptions||t.options,r=0,i=n.length;r<i;r++)n[r].selected&&e.push(n[r].value);return e}return t.options[t.selectedIndex].value}return t.value}function val(n){var r,t="";return t=this.length?n===s?1===this.length?getElVal(this[0]):this.mapEachEl(getElVal):(r="function"==typeof n,this.forEach(function(t,e){(function setElVal(t,e){switch(e=e===s?"":e,t.tagName.toUpperCase()){case"INPUT":switch(t.type.toLowerCase()){case"checkbox":case"radio":t.checked=Array.isArray(e)?-1<e.indexOf(t.value):t.value==e,t.checked||t.removeAttribute("checked");break;default:t.value=e}break;case"SELECT":for(var n=t.options,r=0,i=n.length;r<i;r++)n[r].selected=Array.isArray(e)?-1<e.indexOf(n[r].value):n[r].value==e,n[r].selected||n[r].removeAttribute("selected");break;case"TEXTAREA":t.value=e}})(t,r?n.call(t,getElVal(t),e):n)}),this):t}function css(r,t){var e,n,i,o;return this.length&&(n=rTypeOf(r),r===s?1===(e=this.mapEachEl(function(t){var e=getComputedStyle(t),n={length:e.length};return a.slice.call(e).forEach(function(t){n[t]=e[t]}),n})).length&&(e=e[0]):"object"===n?(this.forEach(function(e){Object.keys(r).forEach(function(t){null===r[t]||"unset"===r[t]?e.style.removeProperty(t):r[t].indexOf("important")<-1?e.style.setProperty(t,r[t]):e.style.setProperty(t,r[t].replace(/!?important/gi,"").trim(),"important")})}),e=this):"string"===n?t===s?1===(e=this.mapEachEl(function(t){return getComputedStyle(t)[r]})).length&&(e=e[0]):(null===t||"unset"===t?this.forEach(function(t){t.style.removeProperty(r)}):(o=(i=0<t.indexOf("important")?"important":"")?t.replace(/!?important/gi,"").trim():t,this.forEach(function(t){t.style.setProperty(r,o,i)})),e=this):"array"===n?t===s?1===(e=this.mapEachEl(function(t){var e=getComputedStyle(t),n={};return r.forEach(function(t){n[t]=e[t]}),n})).length&&(e=e[0]):(null===t||"unset"===t?this.forEach(function(e){r.forEach(function(t){e.style.removeProperty(t)})}):(o=(i=0<t.indexOf("important")?"important":"")?t.replace(/!?important/gi,"").trim():t,this.forEach(function(e){r.forEach(function(t){e.style.setProperty(t,o,i)})})),e=this):dQ.debug&&console.warn("Invalid CSS property")),e}function elDataStore(t,e,n){var r,i=t.dataStore,o=("object"!=typeof i&&(i={}),t.dataset),s={},a=("object"==typeof o&&Object.keys(o).forEach(function(t){s[t]=o[t]}),Object.keys(s).forEach(function(t){i.hasOwnProperty(t)||(i[t]=s[t])}),rTypeOf(e));return"object"!==a&&(3!==arguments.length||"string"!==a&&"array"!==a)||("array"===a?e.forEach(function(t){i[t]=n}):(r="object"===a?e:{},"string"===a&&3===arguments.length&&(r[e]=n),Object.keys(r).forEach(function(t){i[t]=r[t]}))),console.groupEnd("elDataStore"),t.dataStore=i,e&&2===arguments.length?i[e]:i}function dataAttr(r,e){var t,n,i={};return this.length&&(t=2===arguments.length,n=rTypeOf(r),r===s?1===(i=this.mapEachEl(function(t){return elDataStore(t)})).length&&(i=i[0]):"string"===n?t?(this.forEach(function(t){elDataStore(t,r,e)}),i=this):1===(i=this.mapEachEl(function(t){return elDataStore(t,r)})).length&&(i=i[0]):"object"===n?(this.forEach(function(t){elDataStore(t,r)}),i=this):"array"===n?e===s?1===(i=this.mapEachEl(function(t){var e=elDataStore(t),n={};return r.forEach(function(t){n[t]=e[t]}),n})).length&&(i=i[0]):(this.forEach(function(t){elDataStore(t,r,e)}),i=this):dQ.debug&&console.warn("Invalid data attribute")),i}function remove(t){if("string"==typeof t)for(var e=0;e<this.length;e++)this[e].matches(t)&&this[e].remove();else if("function"==typeof t)for(e=0;e<this.length;e++)t.call(this[e],this[e],e)&&this[e].remove()}function append(t){var n;return this.length&&(n=dQ(t),this.forEach(function(e){n.forEach(function(t){e.append(t)})})),this}function prepend(t){var n;return this.length&&(n=dQ(t),this.forEach(function(t){for(var e=n.length-1;-1<e;e--)t.prepend(n[e])})),this}function appendTo(t){return dQ(t).append(this),this}function prependTo(t){return dQ(t).prepend(this),this}function insertBefore(t){var r=this;return dQ(t).forEach(function(t){for(var e=0,n=r.length;e<n;e++)t.parentNode.insertBefore(r[e],t)}),this}function insertAfter(t){var n=this;return dQ(t).forEach(function(t){for(var e=n.length-1;-1<e;e--)t.parentNode.insertBefore(n[e],t.nextSibling||null)}),this}function toNativeArray(){return toArray(this)}function get(t){return t===s?toArray(this):this[t]}function first(){return dQ(this.length&&this[0]||[])}function last(){return dQ(this.length&&this[this.length-1]||[])}function nth(t){return dQ(this.length&&-1<t&&t<this.length&&this[t]||[])}function odd(){for(var t=[],e=0;e<this.length;e++)e%2&&t.push(this[e]);return dQ(t)}function even(){for(var t=[],e=0;e<this.length;e++)e%2||t.push(this[e]);return dQ(t)}function parent(t){var n=[];if(t){var e=typeof t;if("string"==e)for(var r=0;r<this.length;r++)this[r].parentNode.matches(t)&&n.push(this[r].parentNode);else if("function"==e)for(r=0;r<this.length;r++)t.call(this[r].parentNode,this[r].parentNode,r)&&n.push(this[r].parentNode);else{var i=dQ(t);this.forEach(function(e){i.forEach(function(t){e.parentNode===t&&n.push(e.parentNode)})})}}else for(r=0;r<this.length;r++)n.push(this[r].parentNode);return dQ(n)}function elChildren(t){return t.childElementCount?toArray(t.children):[]}function children(e){var n=[];if(e){var t=typeof e;if("string"==t)for(var r=0;r<this.length;r++)elChildren(this[r]).forEach(function(t){t.matches(e)&&n.push(t)});else if("function"==t)for(r=0;r<this.length;r++)for(r=0;r<this.length;r++)elChildren(this[r]).forEach(function(t){e.call(t,t,r)&&n.push(t)});else{var i=dQ(e);this.forEach(function(t){elChildren(t).forEach(function(e){i.forEach(function(t){e===t&&n.push(e)})})})}}else for(r=0;r<this.length;r++)n=n.concat(elChildren(this[r]));return dQ(n)}function closest(t){var e=[];if(this.length&&t&&"string"==typeof t)for(var n,r=0;r<this.length;r++)(n=this[r]&&this[r].closest&&this[r].closest(t))&&e.push(n);return dQ(e)}function elSiblings(t,e,n){var r=[];if(t.parentNode){var i=typeof n,o=e?t[e]:t.parentNode.firstChild;for(e=e||"nextSibling";o;)1===o.nodeType&&o!==t&&(!n||"string"==i&&o.matches(n)||"function"==i&&n.call(o,o))&&r.push(o),o=o[e]}return r}function domSiblings(e,t){var n=[];if(rTypeOf(t,"undefined|string|function"))for(var r=0;r<this.length;r++)n=n.concat(elSiblings(this[r],e,t));else{var i=dQ(t);this.forEach(function(t){elSiblings(t,e).forEach(function(e){i.forEach(function(t){e===t&&n.push(e)})})})}return dQ(n)}function siblings(t){return domSiblings.call(this,"",t)}function siblingsPrev(t){return domSiblings.call(this,"previousSibling",t)}function siblingsNext(t){return domSiblings.call(this,"nextSibling",t)}function elSibling(t,e,n){var r=[];if(t.parentNode)for(var i,o=typeof n,s=t[e];!i&&s;)1===s.nodeType&&(i=!n||"string"==o&&s.matches(n)||"function"==o&&n.call(s,s))&&r.push(s),s=s[e];return r}function domSibling(e,t){var n=[];if(rTypeOf(t,"undefined|string|function"))for(var r=0;r<this.length;r++)n=n.concat(elSibling(this[r],e,t));else{var i=dQ(t);this.forEach(function(t){elSibling(t,e).forEach(function(e){i.forEach(function(t){e===t&&n.push(e)})})})}return dQ(n)}function prev(t){return domSibling.call(this,"previousSibling",t)}function next(t){return domSibling.call(this,"nextSibling",t)}function onReady(t){"function"==typeof t&&setTimeout(function(){"complete"===f.readyState||"loading"!==f.readyState&&!f.documentElement.doScroll?t():f.addEventListener("DOMContentLoaded",t)})}function trigger(){if(this.length){var n;toArray(arguments).forEach(function(t){var e=typeof t;"string"==e||"boolean"==e?r=t:n=t});for(var r=(""+r).replace(/,/g," ").replace(/\s+/g," ").trim().split(" "),t=0;t<this.length;t++)for(var e=0;e<r.length;e++)!function triggerEventOnEl(t,e,n,r){e=(""+e).trim(),n=void 0===n||n;var i,o=r||/[^a-z]/gi.test(e);try{o?(i=document.createEvent(e)).initEvent(e,n,!1,{data:r}):i=new Event(e,{bubbles:n,cancelable:!1})}catch(t){(i=document.createEvent("HTMLEvents")).initEvent(e,n,!1)}i?t.dispatchEvent(i):dQ.debug&&console.warn("Unable to create and trigger event:",e)}(this[t],r[e],void 0,n)}}!function defineDOMElementsPrototypes(){r.isDomQry=!0,r.version=e,(r.fn=r).extend=extendDomFn,r.splice=noop,r.slice=a.slice,r.every=a.every,r.some=a.some,r.each=each,r.forEach=forEach,r.map=map,r.mapEach=mapEach,r.mapEachEl=mapEachEl,r.has=has,r.find=find,r.filter=filter,r.filterEach=filterEach,r.filterEachEl=filterEachEl,r.addClass=addClass,r.removeClass=removeClass,r.toggleClass=toggleClass,r.hasClass=hasClass,r.show=show,r.hide=hide,r.toggle=toggle,r.is=isProp,r.prop=prop,r.hasAttr=function hasAttr(t){return this.prop(t)},r.attr=attr,r.removeAttr=function removeAttr(t){return this.attr(t,null)},r.id=function elsId(t){return this.attr("id",t)},r.name=function elsName(t){return this.attr("name",t)},r.value=function elsValue(t){return this.attr("value",t)},r.class=function elsClass(t){return this.attr("class",t)},r.style=function elsStyle(t){return this.attr("style",t)},r.enable=function(){return this.prop("disabled",!1)},r.disable=function(){return this.prop("disabled",!0)},r.isEnabled=function(){return this.is(":enabled")},r.isDisabled=function(){return this.is(":disabled")},r.select=selectEl,r.focus=focusEl,r.html=function(t){return _elsHtmlText.call(this,"innerHTML",t)},r.text=function(t){return _elsHtmlText.call(this,"innerText",t)},r.val=val,r.css=css,r.data=dataAttr,r.remove=remove,r.append=append,r.prepend=prepend,r.appendTo=appendTo,r.prependTo=prependTo,r.insertBefore=insertBefore,r.insertAfter=insertAfter,r.toArray=toNativeArray,r.get=get,r.first=first,r.last=last,r.nth=nth,r.odd=odd,r.even=even,r.parent=parent,r.children=children,r.closest=closest,r.siblings=siblings,r.siblingsPrev=siblingsPrev,r.siblingsNext=siblingsNext,r.prevSiblings=siblingsPrev,r.nextSiblings=siblingsNext,r.prevAll=siblingsPrev,r.nextAll=siblingsNext,r.prev=prev,r.next=next,r.ready=onReady,r.trigger=trigger,r.on=on,r.off=off}(),function defineDomPrototypes(){dQ.fn=r,dQ.isDomQry=!0,dQ.version=e,dQ.debug=!1,dQ.ready=onReady,dQ.onReady=onReady,dQ.prop=domElProp}();var u="___ANONYMOUS_FN___";function domEvent(l,c,h,f){if(this.length){var s,a,t=toArray(arguments),e=t.shift(),n=t.shift(),r=(t.forEach(function(t){var e=typeof t;"function"==e?a=t:"string"==e&&(s=t)}),a&&a.name||u);function addEvent(o,t){o.domEvents=o.domEvents||{},o.domEvents[t]=o.domEvents[t]||{},s?(o.domEvents[t][s]=o.domEvents[t][s]||{},r!==u&&o.domEvents[t][s][r]?dQ.debug&&console.error("Event already registered. Ignored event registration.",{el:o,event:t,fn:a}):(o.domEvents[t][s][r]=!0,o.addEventListener(t,function domEventFn(t){var e=s,n=t.target,r=a,i=r.name||u;if(o.domEvents&&o.domEvents[t.type]&&o.domEvents[t.type][e]&&o.domEvents[t.type][e][i])for(;n&&n!==this;)n.matches(e)&&r.call(n,t),n=n.parentNode},!1))):(o.domEvents[t].fn=o.domEvents[t].fn||{},r!==u&&o.domEvents[t].fn[r]?dQ.debug&&console.error("Event already registered. Ignored event registration.",{el:o,event:t,fn:a}):(r===u?(o.domEvents[t].fn[r]=o.domEvents[t].fn[r]||[],o.domEvents[t].fn[r].push(a)):o.domEvents[t].fn[r]=a,o.addEventListener(t,a,!1)))}if((n=n?(""+n).replace(/,/g," ").replace(/\s+/g," ").trim().split(" "):[]).length||"remove"===e)for(var i=0;i<this.length;i++){n.length||"remove"!==e||(n=this[i].domEvents&&"object"==typeof this[i].domEvents&&Object.keys(this[i].domEvents)||[]);for(var o=0;o<n.length;o++)("add"===e?addEvent:function remEvent(e,n){var r;e.domEvents=e.domEvents||{},s?e.domEvents[n]&&(a?a.name?delete e.domEvents[n][s][a.name]:dQ.debug&&console.warn("Unable to remove anonymous event listener"):delete e.domEvents[n][s]):a?e.removeEventListener(n,a,!1):((r=e.domEvents[n]&&e.domEvents[n].fn)&&Object.keys(r).forEach(function(t){t===u?Array.isArray(r[t])&&r[t].forEach(function(t){e.removeEventListener(n,t,!1)}):e.removeEventListener(n,r[t],!1)}),delete e.domEvents[n])})(this[i],n[o])}}}function on(t,e,n){return domEvent.call(this,"add",t,e,n),this}function off(t,e,n){return domEvent.call(this,"remove",t,e,n),this}}(window||globalThis);
/*@license SPA.js (Handlebars Helpers) [MIT]*/
!function(){var h;function of(e){return Object.prototype.toString.call(e).replace(/\[object /,"").replace(/\]/,"").toLowerCase()}function is(e,t){return 0<=(""+t).toLowerCase().indexOf(of(e))}function hasPrimaryKeys(e,t){function checkForAll(e,t){for(var n,r=t.split(","),o=0,i=!0,a=0;a<r.length;a++)(n=r[a].trim())&&(o++,i=i&&e.hasOwnProperty(n));return o&&i}var n=!1;if(is(e,"object")&&t)switch(!0){case 0<(t=""+t).indexOf("&"):n=checkForAll(e,t.replace(/\&/g,","));break;case 0<t.indexOf("|"):n=function checkForAny(e,t){for(var n,r=t.split(","),o=0,i=!1,a=0;a<r.length&&((n=r[a].trim())&&(o++,i=i||e.hasOwnProperty(n)),!i);a++);return o&&i}(e,t.replace(/\|/g,","));break;default:n=checkForAll(e,t)}return n}function isHbOptions(e,t){return!!(is(e,"object")&&hasPrimaryKeys(e,"name,hash,data")&&hasPrimaryKeys(e.data,"root"))&&(!t||e.name==t)}function isBlockCall(e){return isHbOptions(e)&&hasPrimaryKeys(e,"fn,inverse")}function hasHash(e){return isHbOptions(e)&&Object.keys(e.hash).length}function getHash(e,t){var n=hasHash(e)?e.hash:{};return t?(Object.keys(n).forEach(function(e){t[e]=is(n[e],"string")?n[e].trim():n[e]}),t):n}function getHashRaw(e,t){var n=hasHash(e)?e.hash:{};return t?(Object.keys(n).forEach(function(e){t[e]=n[e]}),t):n}function _hbjshelper_(){if(arguments.length<2)throw console.error("missing argument(s)"),new Error("missing argument(s)");for(var a,e,t,s=h.splice.call(arguments,arguments.length-1,1)[0],l=s.data.root||{},c=s.hasOwnProperty("fn")||s.hasOwnProperty("inverse"),n=":if"==s.name,r={"==":function(e,t){return e==t},"===":function(e,t){return e===t},"!=":function(e,t){return e!=t},"!==":function(e,t){return e!==t},"<":function(e,t){return e<t},">":function(e,t){return t<e},"<=":function(e,t){return e<=t},">=":function(e,t){return t<=e},":typeof":function(e,t){return typeof e===t},":instanceof":function(e,t){return of(e).toLowerCase()===(""+t).trim().toLowerCase()},":is":function(e,t){return of(e).toLowerCase()===(""+t).trim().toLowerCase()},"=ic":function(e,t){return(""+e).toLowerCase()==(""+t).toLowerCase()},"!=ic":function(e,t){return(""+e).toLowerCase()!=(""+t).toLowerCase()},"+":function(e,t){return e+t},"-":function(e,t){return e-t},"*":function(e,t){return e*t},"/":function(e,t){return e/t}},o=Object.keys(r),i=h.slice.call(arguments),f=0;f<i.length;f++)if("string"===of(i[f])&&(t=i[f],a=0<=o.indexOf(t)?f:0)){e=i[f];break}if(n&&(!c||!is(i[0],"function")&&!a))throw new Error("[Template Syntax Error] :if must have 'CONDITION' and BLOCK. use {{#:if ... 'CONDITION' ... }} ... {{else}} ... {{/:if}}");if(a){var u=i.slice(0,a),n=i.slice(a+1),u=process.apply(void 0,u),n=process.apply(void 0,n),r=r[e](u,n);if(c){var p,u=u,n=n;return hasHash(s)&&(p=getHashRaw(s))&&((p.hasOwnProperty("thenWith")||p.hasOwnProperty("with")||p.hasOwnProperty("thenContext")||p.hasOwnProperty("context")||p.hasOwnProperty("thenData")||p.hasOwnProperty("data"))&&(u=p.thenWith||p.with||p.thenContext||p.context||p.thenData||p.data),(p.hasOwnProperty("elseWith")||p.hasOwnProperty("with")||p.hasOwnProperty("elseContext")||p.hasOwnProperty("context")||p.hasOwnProperty("elseData")||p.hasOwnProperty("data"))&&(n=p.elseWith||p.with||p.elseContext||p.context||p.elseData||p.data)),r?s.fn(u):s.inverse(n)}return r}return process.apply(void 0,arguments);function process(){var r,o,i=h.slice.call(arguments);function appendToRetValue(t){if(void 0===r)r=t;else{var e=of(t);switch(of(r)){case"array":"array"===e?r=r.concat(t):r.push(t);break;case"object":switch(e){case"array":for(var n=0;n<t.length;n++)r[n]=t[n];break;case"object":Object.keys(t).forEach(function(e){r[e]=t[e]});break;default:r["_"+(Object.keys(r).length+1)]=t}break;default:switch(e){case"object":t=JSON.stringify(t);break;case"array":t=t.join()}r+=" "+t}}}if(i.forEach(function(e,t){if(!o)switch(of(e)){case"function":var n=i.slice(t+1);n.push(l);n=e.apply(void 0,n);!c||a?appendToRetValue(n):"boolean"===of(n)?appendToRetValue(n?s.fn(n):s.inverse(n)):appendToRetValue(s.fn(n)),o=!0;break;case"array":!c||a?appendToRetValue(e):e.length?e.forEach(function(e){appendToRetValue(s.fn(e))}):appendToRetValue(s.inverse(l));break;case"object":!c||a?appendToRetValue(e):Object.keys(e).length?appendToRetValue(s.fn(e)):appendToRetValue(s.inverse(l));break;default:appendToRetValue(!c||a?e:e?s.fn(l):s.inverse(l))}}),c)return r;switch(of(r)){case"object":return JSON.stringify(r);case"array":return r.join();default:return r}}}function _of(e){return of(e)}function _is(e,t){var n=arguments[arguments.length-1],r=isHbOptions(t)?"undefined":t;return isBlockCall(n)?is(e,r)?n.fn(e):n.inverse(e):is(e,r)}function _toLowerCase(e){return(""+(e||"")).toLowerCase()}function _toUpperCase(e){return(""+(e||"")).toUpperCase()}function _toTitleCase(e){return(""+(e||"")).toLowerCase().replace(/^(.)|\s(.)/g,function(e){return e.toUpperCase()})}function _unCapitalize(e){return(""+e).charAt(0).toLowerCase()+(""+e).slice(1)}function _normalizeStr(e){return _trimStr(e).replace(/\s+/g," ")}function _toInt(e){return e=(e=(""+e).replace(/[^+-0123456789.]/g,"")).trim().length?0<=e.indexOf(".")?e.substring(0,e.indexOf(".")):e:"0",parseInt(+e,10)}function _toFloat(e){return e=(e=(""+e).replace(/[^+-0123456789.]/g,"")).trim().length?e:"0",parseFloat(+e)}function _toString(e){switch(of(e)){case"object":return JSON.stringify(e);case"array":return e.join();default:return""+e}}function _toBool(e){switch(of(e)){case"function":return!0;case"object":return 0<Object.keys(e).length;case"array":return 0<e.length;default:var t=!0;switch((""+e).trim().toLowerCase()){case"":case"0":case"-0":case"nan":case"null":case"false":case"undefined":t=!1}return t}}function _trimStr(e,t){return e=_toString(e),is(t,"string")?_trimLeftStr(_trimRightStr(e,t),t):e.trim()}function _trimLeftStr(e,t){return e=_toString(e),is(t,"string")||(t=""),e.replace(new RegExp("^["+(t||"\\s")+"]+","g"),"")}function _trimRightStr(e,t){return e=_toString(e),is(t,"string")||(t=""),e.replace(new RegExp("["+(t||"\\s")+"]+$","g"),"")}function _getLeftStr(e,t){return e=_toString(e),(t=_toInt(t="string"==typeof(t=!is(t,"string|number")?0:t)?e.indexOf(t):t))?e.substr(0,t):""}function _getRightStr(e,t){e=_toString(e);var n=1;return"string"==typeof(t=!is(t,"string|number")?0:t)&&(n=t.length,t=e.indexOf(t)),(t=_toInt(t))<0?"":e.substr(t+n)}function _isUndefined(e){var t=arguments[arguments.length-1];return isBlockCall(t)?void 0===e?t.fn(e):t.inverse(e):void 0===e}function _isEmpty(e){var t;if(_isUndefined(e)||null===e)t=!0;else switch(of(e)){case"undefined":case"null":t=!0;break;case"function":t=!1;break;case"object":t=0==Object.keys(e).length;break;case"array":t=0==e.length;break;case"boolean":t=e;break;case"number":t=0==e;break;case"string":t=0==e.trim().length;break;default:t=!1}var n=arguments[arguments.length-1];return isBlockCall(n)?t?n.fn(e):n.inverse(e):!!t}function _splitString(e,t){var n=[];return n=!_isEmpty(e)?t?e.split(t):0<e.indexOf(",")?e.split(","):0<e.indexOf("|")?e.split("|"):0<e.indexOf(" ")?e.split(" "):0<e.indexOf("-")?e.split("-"):[e]:n}function getFunction(e){var t;return is(e,"string")&&(e=e.trim())&&(is(t=valueOfKeyPath(window,e),"function")||(t=void 0)),t}function _each(n,e){var r,t,o,i,a,s,l,c,f,u=arguments[arguments.length-1],p="",h={sortOn:"",sortBy:"",splitBy:",",alias:"",fnFilter:"",fnEmpty:"",fnEnd:"",fnError:""},d=!1,g=0;if(hasHash(u)&&(h=getHash(u,h),r=getFunction(h.fnFilter),t=getFunction(h.fnEmpty),o=getFunction(h.fnEnd),i=getFunction(h.fnError)),isBlockCall(u)){switch(_of(n)){case"string":n=_splitString(n,h.splitBy);case"array":(h.sortOn||h.sortBy)&&(a="sortOn:"+h.sortOn.trim()+";sortBy:"+(h.sortBy||"asc").trim(),n=_sort(n,a));case"object":_isEmpty(n)?p+=u.inverse(n):(a=is(e,"string")&&e.trim()?_splitString(e):h.alias?_splitString(h.alias):["",""],s=(a[0]||"").trim(),l=(a[1]||"").trim(),c=l||"index",d=!0,Object.keys(n).forEach(function(e,t){h.key=e,f=s?{}:n[e],s&&(s&&(f[s]=n[e]),l&&(f[l]=e)),r?(h[c+"Src"]=t,r.call(void 0,f)&&(h[c]=g++,p+=u.fn(f,{data:h}))):(h[c]=g++,p+=u.fn(f,{data:h}))}));break;default:i&&i.call(void 0,n),p+=u.inverse(n)}return d&&(g?o&&o.call(void 0,n):(t&&t.call(void 0,n),p+=u.inverse(n))),p}return n}function _disabledIf(){return _hbjshelper_.apply(void 0,arguments)?"disabled":""}function _disabledIfNot(){return _hbjshelper_.apply(void 0,arguments)?"":"disabled"}function isNumeric(e){if(is(e,"number"))return!0;if(is(e,"string")){var t=e.replace(/[0-9]/g,"").trim();return 0<e.length&&(""==t||1<e.length&&"."==t)}return!1}function valueOfKeyPath(e,t,n){return spa.findInObject(e,t,n)}function _sort(e,t){var n,r,o=arguments[arguments.length-1],i=[],a={sortOn:"",sortBy:"asc",splitBy:","};function strCompare(e,t){return e<t?-1:t<e?1:0}if(hasHash(o)?a=getHash(o,a):is(t,"string")&&_splitString(t,";").forEach(function(e){e=e.split(":");a[e[0].trim()]=is(e[1],"undefined")?"":e[1].trim()}),n="asc"==a.sortBy.toLowerCase(),r=a.sortOn||"",is(e,"string")&&0<e.length&&(e=_splitString(e,a.splitBy)),is(e,"array")&&0<e.length){if(1==e.length)i=e;else switch(of(e[0])){case"number":i=e.sort(function(e,t){return e-t});break;case"string":i=isNumeric(e[0])?e.sort(function(e,t){return+e-+t}):e.sort();break;case"boolean":i=e.sort(strCompare);break;case"object":if(r)switch(of(valueOfKeyPath(e[0],r))){case"number":i=e.sort(function(e,t){return valueOfKeyPath(e,r)-valueOfKeyPath(t,r)});break;case"string":i=isNumeric(valueOfKeyPath(e[0],r))?e.sort(function(e,t){return+valueOfKeyPath(e,r)-+valueOfKeyPath(t,r)}):e.sort(function(e,t){return strCompare(valueOfKeyPath(e,r),valueOfKeyPath(t,r))});break;case"boolean":i=e.sort(function(e,t){return strCompare(valueOfKeyPath(e,r),valueOfKeyPath(t,r))});break;default:i=e}else i=e;break;default:i=e}n||(i=i.reverse())}return isBlockCall(o)?i.length?o.fn(i):o.inverse(e):i}function merge(){var n={},e=0,t=arguments.length;for(;e<t;e++)!function _merge(e){for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&("[object Object]"===Object.prototype.toString.call(e[t])?n[t]=merge(n[t],e[t]):n[t]=e[t])}(arguments[e]);return n}function _join(){var t,e=h.pop.call(arguments);return h.forEach.call(arguments,function(e){!function append(e){if(!is(e,"undefined|null"))switch(of(t)){case"undefined":case"null":t=e;break;case"array":"array"===of(e)?t=t.concat(e):t.push(e);break;case"object":"object"===of(e)?t=merge(t,e):t.hasOwnProperty("__joined__")?t.__joined__.push(e):t.__joined__=[e];break;default:switch(of(e)){case"array":e.length&&(t+=e.join());break;case"object":Object.keys(e).length&&(t+=JSON.stringify(e));break;default:t+=""+e}}}(e)}),isBlockCall(e)?e.fn(t):t}function _console(){var e=_unCapitalize(h.pop.call(arguments).name.replace(/:console/g,""));"time"==e&&arguments.length&&console.log.apply(void 0,arguments),0==e.indexOf("mem")?console.log(console.memory):console[e].apply(void 0,arguments)}"undefined"!=typeof Handlebars&&(h=Array.prototype,"undefined"!=typeof Handlebars&&Handlebars&&Handlebars.registerHelper({":":_hbjshelper_,":if":_hbjshelper_,":is":_is,":isEmpty":_isEmpty,":ofType":_of,":?":function _if(e,t,n){return _toBool(e)?t:n},":ifEmpty":function _ifEmpty(e,t,n){return _isEmpty(e)?t:is(n,"object")&&":ifEmpty"==n.name?e:n},":ifNotEmpty":function _ifNotEmpty(e,t,n){return _isEmpty(e)?is(n,"object")&&":ifNotEmpty"==n.name?e:n:t},":of":function _getByIndexOrKey(e,t){var n=arguments[arguments.length-1],r=_is(e,"array|object")?valueOfKeyPath(e,t):e;return isBlockCall(n)?void 0!==r?n.fn(r):n.inverse(r):r},":each":_each,":forEach":_each,":split":function _split(e,t){var n=arguments[arguments.length-1],r=_splitString(e,_is(t,"string")?t:void 0);return isBlockCall(n)?_isEmpty(r)?n.inverse(e):n.fn(r):r},":sort":_sort,":join":_join,":merge":_join,":joinWithStr":function _joinWith(){var e=h.pop.call(arguments),t=h.shift.call(arguments),t=h.join.call(arguments,t);return isBlockCall(e)?e.fn(t):t},":fn":function _fnCall(){var e,t=h.pop.call(arguments),n=h.shift.call(arguments),r=getFunction(n);return r&&(n.match("]$")?e=n.substring(0,n.lastIndexOf("[")):0<n.indexOf(".")&&(e=n.substring(0,n.lastIndexOf("."))),e=e?valueOfKeyPath(window,e):window,e=r.apply(e,arguments)),isBlockCall(t)?is(e,"undefined")||is(e,"boolean|number|string")&&!e||is(e,"array|object")&&spa.isBlank(e)?t.inverse(e):t.fn(e):e},":jsonify":function _jsonify(){var e=h.pop.call(arguments),t=h.shift.call(arguments),n={},u=h.splice.call(arguments,0);return is(t,"string")&&_splitString(t,";").forEach(function(e){var t=_getLeftStr(e,":").trim(),e=_getRightStr(e,":").trim();t&&(e=function strToNative(e){e=e.trim();if(!e.length)return e;var t=e[0],n=e;switch(!0){case"true"==e:n=!0;break;case"false"==e:n=!1;break;case isNumeric(e):n=+e;break;case"["==t:e=e.substring(1,e.lastIndexOf("]"))+",";case 0<e.indexOf(",")&&e.indexOf("{")<0:var r=[];e.split(",").forEach(function(e){""!=(e=e.trim())&&r.push(strToNative(e))}),n=r;break;case"{"==t:e=e.substring(1,e.lastIndexOf("}"));var o,i,a={};e.split(",").forEach(function(e){e=e.trim(),o=_getLeftStr(e,":").trim(),i=_getRightStr(e,":").trim(),o&&(a[o]=strToNative(i))}),n=a;break;case"@"==t&&"["!=e[1]:var s=e.substring(1,e.indexOf("."));isNumeric(s)&&(n=u[s],(s=0<e.indexOf(".")?e.substr(e.indexOf(".")+1):"")&&is(n,"array|object")&&(n=valueOfKeyPath(n,s)))}{var l,c,f;is(n,"string")&&0<=n.indexOf("@[")&&((t=n.match(/(@\[\s*(.*?)\s*])/g))&&t.forEach(function(e){f=e.replace(/@\[/,"").replace(/]/,""),l=f.substring(0,f.indexOf(".")),c="",isNumeric(l)&&(c=u[l],(f=0<f.indexOf(".")?f.substr(f.indexOf(".")+1):"")&&is(c,"array|object")&&(c=valueOfKeyPath(c,f))),n=n.replace(new RegExp(e.replace(/\[/,"\\["),"g"),c)}))}return n}(e),n[t]=e)}),isBlockCall(e)?e.fn(n):n},":jsonParse":function _jsonParse(){var t=h.pop.call(arguments),e=h.shift.call(arguments),n={};if(is(e,"string"))try{n=JSON.parse(e)}catch(e){if(isBlockCall(t))return t.inverse(e)}return isBlockCall(t)?t.fn(n):n},":consoleClear":_console,":consoleLog":_console,":consoleWarn":_console,":consoleInfo":_console,":consoleError":_console,":consoleGroup":_console,":consoleGroupEnd":_console,":consoleGroupCollapsed":_console,":consoleMem":_console,":consoleMemory":_console,":consoleProfile":_console,":consoleProfileEnd":_console,":consoleTable":_console,":consoleTime":_console,":consoleTimeEnd":_console,":options":function _selectOptions(t,e){var n,r,o,i,a,s,l,c,f,u,p,h,d=arguments[arguments.length-1],g="",_=-1,y={value:"",text:"",value_text:"",splitBy:",",vtSplit:"",sortOn:"",sortBy:"",fnFilter:"",fnEmpty:"",fnEnd:"",selIndex:"",selValue:"",selText:""},m=[],b=[],v=[],O="",w=[];function addToList(e,t){w.push({value:e,text:t})}function option(e,t){return _++,'<option value="'+e+'" '+(function isSelected(e,t){return n&&0<=m.indexOf(""+_)||r&&0<=b.indexOf(""+e)||o&&0<=v.indexOf(""+t)}(e,t)?"selected":"")+">"+t+"</option>"}switch(is(e,"string")&&_splitString(e,";").forEach(function(e){e=e.split(":");y[e[0].trim()]=is(e[1],"undefined")?"":e[1].trim()}),hasHash(d)&&(y=getHash(d,y)),m=y.selIndex?_splitString(y.selIndex):[],b=y.selValue?_splitString(y.selValue):[],v=y.selText?_splitString(y.selText):[],n=m.length,r=b.length,o=v.length,O=y.value||y.value_text,f=y.text||y.value_text,u=(y.vtSplit||"").replace(/colon/gi,":"),p="index"==O.toLowerCase(),i=y.sortOn.trim(),(i=(a=y.sortBy.trim())&&!i?"text":i)&&!a&&(y.sortBy="asc"),s=getFunction(y.fnFilter),l=getFunction(y.fnEmpty),c=getFunction(y.fnEnd),_of(t=is(t,"string")?_splitString(t,y.splitBy):t)){case"object":Object.keys(t).forEach(function(e){addToList(e,t[e])});break;case"array":t.forEach(function(t,e){switch(of(t)){case"object":var n=Object.keys(t);O&&f?addToList(t[O],t[f]):1==n.length&&n.forEach(function(e){addToList(e,t[e])});break;case"string":if(p){addToList(e,t);break}t=u?t.split(u):[t];case"array":O&&f?addToList(t[O],t[f]):1==t.length?addToList(t[0],t[0]):1<t.length&&addToList(t[0],t[1]);break;default:addToList(p?e:t,t)}})}return s&&w.length&&(h=[],w.forEach(function(e,t){e.index=t;t=s.call(void 0,e);t&&h.push(is(t,"object")?t:e)}),w=h),w.length?((w=i||a?_sort(w,"sortOn:"+i+";sortBy:"+a):w).forEach(function(e){g+=option(e.value,e.text)}),c&&c.call(void 0,w,t)):l&&l.call(void 0,w,t),isBlockCall(d)?g?d.fn(new Handlebars.SafeString(g)):d.inverse(this):new Handlebars.SafeString(g)},":checkedIf":function _checkedIf(){return _hbjshelper_.apply(void 0,arguments)?"checked":""},":checkedIfNot":function _checkedIfNot(){return _hbjshelper_.apply(void 0,arguments)?"":"checked"},":enabledIf":_disabledIfNot,":enabledIfNot":_disabledIf,":disabledIf":_disabledIf,":disabledIfNot":_disabledIfNot,":selectedIf":function _selectedIf(){return _hbjshelper_.apply(void 0,arguments)?"selected":""},":selectedIfNot":function _selectedIfNot(){return _hbjshelper_.apply(void 0,arguments)?"":selected},":lower":_toLowerCase,":lowerCase":_toLowerCase,":toLowerCase":_toLowerCase,":lowerCaseOf":_toLowerCase,":upper":_toUpperCase,":upperCase":_toUpperCase,":toUpperCase":_toUpperCase,":upperCaseOf":_toUpperCase,":title":_toTitleCase,":titleCase":_toTitleCase,":toTitleCase":_toTitleCase,":titleCaseOf":_toTitleCase,":capitalize":function _capitalize(e){return(""+e).charAt(0).toUpperCase()+(""+e).slice(1)},":unCapitalize":_unCapitalize,":normalize":_normalizeStr,":normalizeStr":_normalizeStr,":int":_toInt,":toInt":_toInt,":intOf":_toInt,":float":_toFloat,":toFloat":_toFloat,":floatOf":_toFloat,":toStr":_toString,":toString":_toString,":toBool":_toBool,":toBoolean":_toBool,":trim":_trimStr,":trimStr":_trimStr,":trimLeft":_trimLeftStr,":trimLeftStr":_trimLeftStr,":trimRight":_trimRightStr,":trimRightStr":_trimRightStr,":replace":function _replaceStr(e){var t=arguments[arguments.length-1],n={searchStr:"",replaceStr:"",rxPattern:"",rxOption:""};return(n=hasHash(t)?getHashRaw(t,n):n).rxPattern?(""+e).replace(new RegExp(n.rxPattern,n.rxOption),n.replaceStr):(""+e).replace(n.searchStr,n.replaceStr)},":getLeftStr":_getLeftStr,":getRightStr":_getRightStr,":dateNowMs":function _nowMs(){return""+(new Date).getTime()},":dateNow":function _now(e){var t=new Date;if(!is(e,"string"))return""+t;var n=e,r=["January","February","March","April","May","June","July","August","September","October","November","December"],o=["Jan","Feb","Mar","Apr","May","June","July","Aug","Sept","Oct","Nov","Dec"],i=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],a=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],e=["Su","Mo","Tu","We","Th","Fr","Sa"];function _prefix0(e){return(9<e?"":"0")+e}var s={YYYY:t.getFullYear(),YY:t.getFullYear(),Y:t.getFullYear(),Mmmm:r[t.getMonth()],MMMM:r[t.getMonth()].toUpperCase(),Mmm:o[t.getMonth()],MMM:o[t.getMonth()].toUpperCase(),"0M":_prefix0(t.getMonth()+1),MM:t.getMonth()+1,Dddd:i[t.getDay()],DDDD:i[t.getDay()].toUpperCase(),Ddd:a[t.getDay()],DDD:a[t.getDay()].toUpperCase(),Dd:e[t.getDay()],DD:e[t.getDay()].toUpperCase(),"0d":_prefix0(t.getDate()),dd:t.getDate(),"0h":_prefix0(t.getHours()),hh:t.getHours(),"0m":_prefix0(t.getMinutes()),mm:t.getMinutes(),"0s":_prefix0(t.getSeconds()),ss:t.getSeconds(),ms:t.getMilliseconds()};return Object.keys(s).forEach(function(e){n=n.replace(e,s[e])}),n},":moment":function _moment(e,t,n){return"undefined"==typeof moment?(console.warn("Missing moment.js"),e):is(n,"string")?moment(e,t).format(n):isHbOptions(n)?moment(e).format(t):isHbOptions(t)?moment().format(e):isHbOptions(e)?moment():void 0},":rand":function _rand(e,t){return is(e,"number")||(e=1),is(t,"number")||(t=e+999),Math.floor(Math.random()*(t-e+1))+e},":randPwd":function _randPwd(e,t){e=(e=!is(e,"number")?8:e)||8;for(var n=(t=!is(t,"string")?"":t)||"9a8b77C8D9E8F7G6H5I4J3c6d5e4f32L3M4N5P6Qg2h3i4j5kV6W5X4Y3Z26m7n8p9q8r7s6t5u4v3w2x3y4z5A6BK7R8S9T8U7",r="",o=0;o<e;o++){var i=Math.floor(Math.random()*n.length);r+=n.charAt(i)}return r},":ifDefined":function _isDefined(e){var t=arguments[arguments.length-1];return isBlockCall(t)?void 0!==e?t.fn(e):t.inverse(e):void 0!==e},":ifUndefined":_isUndefined,":bytesToSize":function _bytesToSize(e){if(0==e)return"0";var t=parseInt(Math.floor(Math.log(e)/Math.log(1024)));return parseFloat(e/Math.pow(1024,t)).toFixed(2)+" "+["Bytes","KB","MB","GB","TB","PB"][t]}}))}();
/*@license SPA.js (nxT: Template Extension) [MIT] - based on doT.js (https://github.com/olado/doT/blob/master/LICENSE-DOT.txt)*/
!function(x){"use strict";function nxT(e,t,r,n,o){return render(e,t,r,n,o)}nxT.version="1.0.0",nxT.settings={scopeName:"data",strip:!1,log:!0},nxT.compile=function compile(e,t){var n,i,r=s,o="if (arguments.length) return arguments.callee.call(arguments[0]);var "+(nxT.settings.scopeName||"data")+"=___rootCtx=___this=this;try{with(Object(this)){",a=r.append?u.append:u.split,c=0,t=r.rx.use||r.rx.define?function resolveDefs(o,e,i){return("string"==typeof e?e:e.toString()).replace(o.rx.define||l,function(e,n,t,r){return(n=0===n.indexOf("def.")?n.substring(4):n)in i||(":"===t?(o.rx.defineParams&&r.replace(o.rx.defineParams,function(e,t,r){i[n]={arg:t,text:r}}),n in i||(i[n]=r)):new Function("def","def['"+n+"']="+r)(i)),""}).replace(o.rx.use||l,function(e,t){o.rx.useParams&&(t=t.replace(o.rx.useParams,function(e,t,r,n){var o;if(i[r]&&i[r].arg&&n)return o=(r+":"+n).replace(/'|\\/g,"_"),i.__exp=i.__exp||{},i.__exp[o]=i[r].text.replace(new RegExp("(^|[^\\w$])"+i[r].arg+"([^\\w$])","g"),"$1"+n+"$2"),t+"def.__exp['"+o+"']"}));t=new Function("def","return "+t)(i);return t&&resolveDefs(o,t,i)})}(r,e,t||{}):e;t=("var out='"+(nxT.settings.strip?function strip(e){return stripJsComments(e).replace(/(^|\r|\n)\t* +| +\t*(\r|\n|$)/g," ").replace(/\r|\n|\t/g,"")}(t):t).replace(/'|\\/g,"\\$&").replace(/{{\/(~|each)}}/g,"{{~}}").replace(r.rx.blockClose||l,function(e,t){return"';}out+='"}).replace(r.rx.evaluate||l,function(e,t){return"';"+fixVarPath(t=nxT.settings.strip?t:stripJsComments(t))+";out+='"}).replace(r.rx.encode||l,function(e,t,r){return n=!0,a.startencode+fixVarPath(r)+a.end}).replace(r.rx.conditionalElse||l,function(e,t,r,n){return n?"';}else if("+fixVarPath(n)+"){out+='":"';}else{out+='"}).replace(r.rx.conditional||l,function(e,t,r,n){return r?n?"';}else if("+fixVarPath(n)+"){out+='":"';}else{out+='":n?"';if("+fixVarPath(n)+"){out+='":"';}out+='"}).replace(r.rx.conditionalNot||l,function(e,t,r,n){return n?"';if(!("+fixVarPath(n)+")){out+='":"';}out+='"}).replace(r.rx.withScope||l,function(e,t,r){return r?"';with(Object("+fixVarPath(r)+")){out+='":"';}out+='"}).replace(r.rx.iterate||l,function(e,t,r,n,o){return(r=r&&fixVarPath(r))?"';var arr"+(c+=1)+"=(Array.isArray("+r+"))? [].slice.call("+r+") : "+r+";var arr"+c+"Len=Object.keys(arr"+c+").length; if(arr"+c+"Len){var arr"+c+"item,"+(n=n||"value")+","+(i=o||"i"+c)+"=-1,l"+c+"=arr"+c+"Len-1;while("+i+"<l"+c+"){arr"+c+"item=arr"+c+"["+i+"+=1];(function (___p){var ___this="+n+"=this, ___index=___key="+(o?o+"=":"")+i+";with(Object(this)){out+='":"';}}).call(arr"+c--+"item);} } out+='"}).replace(r.rx.interpolate||l,function(e,t){return a.start+fixVarPath(t)+a.end})+"';return out;").replace(/\n/g,"\\n").replace(/\t/g,"\\t").replace(/\r/g,"\\r").replace(/(\s|;|\}|^|\{)out\+='';/g,"$1").replace(/\+''/g,""),n&&(r.selfContained||!x||x._encodeHTML||(x._encodeHTML=nxT.encodeHTMLSource(r.doNotSkipEncoded)),t="var encodeHTML = typeof _encodeHTML !== 'undefined' ? _encodeHTML : ("+nxT.encodeHTMLSource.toString()+"("+(r.doNotSkipEncoded||"")+"));"+t);try{return new Function("_ctxObj_",o+t+'}}catch(e){ (nxT.settings.log && console.warn("Error in Template[nxT]:", e)); }')}catch(e){throw"undefined"!=typeof console&&console.warn("Could not create a template function:",t),e}},nxT.render=render;var s={rx:{interpolate:/\{\{([\s\S]+?(\}?)+)\}\}/g,encode:/\{\{(\&|\{|encode)([\s\S]+?)\}?\}\}/g,conditional:/\{\{(\?|#\?|if|#if)(\?|\^)?\s*([\s\S]*?)\s*\}\}/g,conditionalNot:/\{\{(\!|#\!|unless|#unless)(\?)?\s*([\s\S]*?)\s*\}\}/g,conditionalElse:/\{\{(\^|else)(\?|if|If)?\s*([\s\S]*?)\s*\}\}/g,withScope:/\{\{(with|#with)\s*([\s\S]*?)\s*\}\}/g,blockClose:/\{\{\/\s*([\s\S]*?)\s*\}\}/g,evaluate:/\{\{js:([\s\S]+?)(\/)?\}\}/g,iterate:/\{\{(~|each|#each)\s*(?:\}\}|([\s\S]+?)\s*(?:\:\s*([\w$]+))?\s*(?:\:\s*([\w$]+))?\s*\}\})/g,define:/\{\{##\s*([\w\.$]+)\s*(\:|=)([\s\S]+?)(#|\/)\}\}/g,defineParams:/^\s*([\w$]+): ([\s\S]+)/,use:/\{\{#>([\s\S]+?)\}\}/g,useParams:/(^|[^\w$])def(?:\.|\[[\'\"])([\w$\.]+)(?:[\'\"]\])?\s*\: \s*([\w$\.]+|\"[^\"]+\"|\'[^\']+\'|\{[^\}]+\})/g},append:!1,selfContained:!1,doNotSkipEncoded:!1},u=(nxT.encodeHTMLSource=function(e){var t={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"},r=e?/[&<>"'\/]/g:/&(?!#?\w+;)|<|>|"|'|\//g;return function(e){return e?e.toString().replace(r,function(e){return t[e]||e}):""}},nxT.isObj=function(e){return"object"==Object.prototype.toString.call(e).slice(8,-1).toLowerCase()},nxT.isValidVar=function(e){return!/[^0-9a-z]|^[0-9]+/gi.test(e)},x.nxT=x.Tee=nxT,"undefined"!=typeof module&&module.exports?module.exports=nxT:"function"==typeof define&&define.amd&&define(function(){return nxT}),{append:{start:"'+(",end:")+'",startencode:"'+encodeHTML("},split:{start:"';out+=(",end:");out+='",startencode:"';out+=encodeHTML("}}),l=/$^/;function fixVarPath(e){return e=(e="."===(e=e.trim().replace(/\@/g,"___").replace(/this/g,"___this").replace(/\.\//g,"___this.").replace(/\//g,"___rootCtx."))[0]?"___this"+e:e).replace(/\.+$/g,"").replace(/\.\[/g,"[").replace(/\\('|\\)/g,"$1").replace(/[\r\t\n]/g," ")}function stripJsComments(e){return e.replace(/\/\/(.*)(\r|\n)/g,"$2").replace(/\/\*[\s\S]*?\*\//g,"")}var _="nxT";function getTmplType(e){return e=e.replace(/\s+/g,""),/[^a-z_0-9]/gi.test(e)?/:[a-z_0-9]+$/i.test(e)&&e.substring(e.lastIndexOf(":")+1)||"":e}function render(e,t,r,n,o){var l;if("function"!=typeof o)switch(!0){case"function"==typeof t:o=t,t=l;break;case"function"==typeof r:o=r,r=l;break;case"function"==typeof n:o=n,n=l}var i,p=e instanceof Element;if("function"==typeof e)i=e;else{if("string"!=typeof e&&!p)return void console.error("Invalid Template",e);p&&(e="#"+(s=(a=e).getAttribute("id")||"tmpl-"+(new Date).getTime()),a.setAttribute("id",s)),"#"==e[0]?(p||((c=getTmplType(e=e.replace(/\s+/g,"")))&&(e=e.substring(0,e.lastIndexOf(":"))),a=document.querySelector(e)),a&&(!(a.hasAttribute("recompile")||/live/gi.test(a.getAttribute("type")||""))&&a._compiled&&(i=a._compiled),(r=r||(a.getAttribute("target")||a.getAttribute("render-target")||"").trim())&&void 0===n&&(n=a.hasAttribute("replace-target"))),i||(c=c||getTmplType(a&&a.getAttribute("type")||""),d=a?a.value||a.innerHTML:e)):(s=e.indexOf(":"),c=e.substring(0,s).trim(),d=e.substring(s+1));var a,c,d,f,g,p=0,s=0;if(!(c=c||_))return void console.error("Unknown Template Engine",e);try{!i&&c&&x[c]&&(f=x[c].compile||x[c].template,p=performance.now(),f?"dust"===c&&x.dust?(g="dust-"+(new Date).getTime(),x.dust.loadSource(f(d,g)),i=x.dust.render.bind(x.dust,g)):(i=f(d))&&i.render&&(i=i.render.bind(i)):x[c].render&&(i=x[c].render.bind(x[c],d)),s=performance.now()-p)}catch(e){console.error("Template "+c+".compile failed:",e)}}if("function"==typeof i){if(a&&!a._compiled&&(a._compiled=i),a&&a.setAttribute("compile-time",s.toFixed(4)),"object"!=typeof t)return i;var u,m=performance.now();return"dust"===c?i(t,function(e,t){return e?console.error("Error in dust Template:",e):u=_updateDOM(r,t,n,m),"function"==typeof o&&o(u),u}):(u=_updateDOM(r,i(t),n,m),"function"==typeof o&&o(u)),u}console.error("Could not compile ["+c+"] Template",e)}function _updateDOM(e,t,r,n){if(e){var o=e;if("string"==typeof e&&(e=e.trim(),void 0===r&&(r=/:replace$/i.test(e)),e.replace(/:replace$/i,"").trim(),o=document.querySelector(e)),o)try{r?o.outerHTML=t:o.innerHTML=t,o.setAttribute("render-time",(performance.now()-n).toFixed(4))}catch(e){console.error(e)}else console.error("Invalid Target:",e)}return t}Element.prototype.render||Object.defineProperty(Element.prototype,"render",{value:function(e,t,r,n){return nxT(this,e,t,r,n)}}),Element.prototype.compile||Object.defineProperty(Element.prototype,"compile",{value:function(){return nxT(this)}})}(window||globalThis);
/*@license SPA.js (core) [MIT]*/
!function(){var y,a,L=window||globalThis,b=document,e=b.body,r=L.jQuery,i=1,$=L.$||L.dom;if($){var F,D=function(){},o=(L.spa=L.xsr=L.__=L._$=D,i=e.hasAttribute("use-jquery")||e.classList.contains("use-jquery")||i,D.VERSION="2.88.0",D.usejQuery=i,Object.prototype),U=Array.prototype,e=String.prototype,t=Date.prototype,s=o.toString.call(window.app).slice(8,-1).toLowerCase(),s=(window.app&&/^html(.*)element$/i.test(s)&&(window.app={api:{}}),window.app=window.app||{api:{}},window.app.api=window.app.api||{},function(){try{var e,t=navigator.userAgent,a=t.indexOf("MSIE ");if(0<a)return parseInt(t.substring(a+5,t.indexOf(".",a)),10);if(0<t.indexOf("Trident/"))return e=t.indexOf("rv:"),parseInt(t.substring(e+3,t.indexOf(".",e)),10)}catch(e){}return 0}()),c=document.documentMode||s,d=!c;D.isIE=c,D.isNonIE=d,D.noop=noop;for(var l,p=["assert","clear","count","debug","dir","dirxml","error","exception","group","groupCollapsed","groupEnd","info","log","markTimeline","profile","profileEnd","table","time","timeEnd","timeStamp","trace","warn"],u=p.length,v=window.console=window.console||{};u--;)v[l=p[u]]||(v[l]=function(){});"none"in window||(window.none=""),"noop"in window||(window.noop=function(){}),Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),Element.prototype.closest||(Element.prototype.closest=function(e){var t=this;do{if(t.matches(e))return t}while(null!==(t=t.parentElement||t.parentNode)&&1===t.nodeType);return null});var S,O="hasOwnProperty,prototype,__proto__,isPrototypeOf".split(","),B=(D.debug=!1,D.debugger={on:function(){D.debug=!0},off:function(){D.debug=!1},toggle:function(){D.debug=!D.debug}},{clear:function(){console.clear()},assert:function(){cOut("assert",_argsToArr(arguments))},count:function(){cOut("count",_argsToArr(arguments))},debug:function(){cOut("debug",_argsToArr(arguments))},dir:function(){cOut("dir",_argsToArr(arguments))},dirxml:function(){cOut("dirxml",_argsToArr(arguments))},error:function(){cOut("error",_argsToArr(arguments))},exception:function(){cOut("exception",_argsToArr(arguments))},group:function(){cOut("group",_argsToArr(arguments))},groupCollapsed:function(){cOut("groupCollapsed",_argsToArr(arguments))},groupEnd:function(){cOut("groupEnd",_argsToArr(arguments))},info:function(){cOut("info",_argsToArr(arguments))},log:function(){cOut("log",_argsToArr(arguments))},markTimeline:function(){cOut("markTimeline",_argsToArr(arguments))},profile:function(){cOut("profile",_argsToArr(arguments))},profileEnd:function(){cOut("profileEnd",_argsToArr(arguments))},table:function(){cOut("table",_argsToArr(arguments))},time:function(){cOut("time",_argsToArr(arguments))},timeEnd:function(){cOut("timeEnd",_argsToArr(arguments))},timeStamp:function(){cOut("timeStamp",_argsToArr(arguments))},trace:function(){cOut("trace",_argsToArr(arguments))},warn:function(){cOut("warn",_argsToArr(arguments))}});D.console=B,D.ajaxPreProcess,D.onInit,D.onInitComplete,D.onReady,D.onUrlChange,D.onUrlHashChange,D.onReload,t&&(t.yyyymmdd=function(e){var t=this.getMonth()+1,a=this.getDate();return[this.getFullYear(),(9<t?"":"0")+t,(9<a?"":"0")+a].join(e||"")},t.hhmmss=function(e){var t=this.getHours(),a=this.getMinutes(),n=this.getSeconds();return[(9<t?"":"0")+t,(9<a?"":"0")+a,(9<n?"":"0")+n].join(e||"")});{function _sanitizeHTML(e){var t=document.createElement("div");return t.textContent=e,t.innerHTML}function _sanitizeScript(e){return(""+e).replace(/<\s*\/+\s*(\bscript\b)/gi,"</script></pre").replace(/<\s*(\bscript\b)/gi,"<pre><script")}function _sanitizeXSS(e){var t="string"==typeof e,e=(t?e:JSON.stringify(e)).replace(/<\s*script/gi,"<xss-script").replace(/\/\s*script/gi,"/xss-script").replace(/\s+on([a-z]+)\s*=/gi," xss-on$1=").replace(/javascript:/gi,"xss-js:");return t?e:JSON.parse(e)}function _getMatchStr(e){switch(e){case"{":return"}";case"[":return"]";case"<":return">";default:return e}}e&&(e.trimLeftStr=function(e){return(""+this).replace(new RegExp("^["+(e||"\\s")+"]+","g"),"")},e.trimRightStr=function(e){return(""+this).replace(new RegExp("["+(e||"\\s")+"]+$","g"),"")},e.trimStr=function(e){return(""+this).trimLeftStr(e).trimRightStr(e)},e.getLeftStr=function(e){return(e="string"==typeof e?(""+this).indexOf(e):e)?(""+this).substring(0,e):""},e.getRightStr=function(e){var t=1;return"string"==typeof e&&(t=e.length,e=(""+this).indexOf(e)),e<0?"":(""+this).substring(e+t)},e.isBlankStr=function(){return""==(""+this).trimStr()},e.ifBlankStr=function(e,t){return e=void 0===e?"":e,t=void 0===t?(""+this).trimStr():t,(""+this).isBlankStr()?e:t},e.isNumberStr=function(){var e=(""+this).trim(),t=e.replace(/[0-9]/g,"").replace(".","").trimStr(),a=e[0];return e&&(0==t.length||1==t.length&&("+"==a||"-"==a))},e.normalizeStr=function(){return(""+this).trimStr().replace(/\s+/g," ")},e.beginsWithStr=function(e,t){t=t?"i":"";e=new RegExp("^"+e,t);return!!(""+this).normalizeStr().match(e)},e.beginsWithStrIgnoreCase=function(e){e=new RegExp("^"+e,"i");return!!(""+this).normalizeStr().match(e)},e.endsWithStr=function(e,t){t=t?"i":"";e=new RegExp(e+"$",t);return!!(""+this).normalizeStr().match(e)},e.endsWithStrIgnoreCase=function(e){e=new RegExp(e+"$","i");return!!(""+this).normalizeStr().match(e)},e.containsStr=function(e,t){return t=t?"gi":"g",new RegExp(""+e,t).test(""+this)},e.containsStrIgnoreCase=function(e){return new RegExp(""+e,"gi").test(""+this)},e.equals=function(e){return""+this==e},e.equalsIgnoreCase=function(e){return String((""+this).toLowerCase())==String(e).toLowerCase()},e.toProperCase=function(e){return(void 0===e||e?(""+this).normalizeStr():""+this).toLowerCase().replace(/^(.)|\s(.)/g,function(e){return e.toUpperCase()})},e.toTitleCase=function(e){return(void 0===e||e?(""+this).normalizeStr():""+this).toLowerCase().replace(/^(.)|\s(.)/g,function(e){return e.toUpperCase()})},e.capitalize=function(){return(""+this).charAt(0).toUpperCase()+(""+this).slice(1)},e.unCapitalize=function(){return(""+this).charAt(0).toLowerCase()+(""+this).slice(1)},e.sanitizeHTML=function(){return _sanitizeHTML(""+this)},D.sanitizeHTML=_sanitizeHTML,e.sanitizeScript=function(){return _sanitizeScript(""+this)},D.sanitizeScript=_sanitizeScript,e.sanitizeXSS=function(){return _sanitizeXSS(""+this)},D.sanitizeXSS=_sanitizeXSS,e.splitToArray=e.toArray=function(e){return _isBlank(""+this)?[]:(""+this).split(e)},e.extractStrBetweenIn=function(e,t,a){e=e||((e=(""+this).match(/[^a-z0-9\:\.\/\\]/i))?e[0]:""),t=t||_getMatchStr(e);e=(""+this).match(RegExp("\\"+e+"([^\\"+e+"\\"+t+"].*?)\\"+t,"g"))||[];return e=a&&!_isBlank(e)?e.__unique():e},e.extractStrBetweenEx=function(e,t,a){var n="\\"+(e=e||((e=(""+this).match(/[^a-z0-9\:\.\/\\]/i))?e[0]:""))+"\\"+(t=t||_getMatchStr(e)),r=new RegExp("["+n+"]","g"),e=((""+this).match(new RegExp("\\"+e+"([^"+n+"].*?)\\"+t,"g"))||[]).map(function(e){return e.replace(r,"")});return e=a&&!_isBlank(e)?e.__unique():e},e.toNative=function(){return _strToNative(""+this)},e.toBoolean=function(){var e=!0;switch((""+this).trimStr().toLowerCase()){case"":case"0":case"-0":case"nan":case"null":case"false":case"undefined":e=!1}return e=e&&!(""+this).trimStr().beginsWithStr("-")},e.padStr=function(e,t,a){e=e||"",t=t||1,a=a||2;for(var n="",r=0;r<t;r++)n+=e;return(-1===a||2===a?n:"")+""+this+(1===a||2===a?n:"")},e.toObj=e.toObject=e.toJSON=function(){return _toObj(""+this)},e.bindData=e.bindWith=function(e){return function _bindData(t,a,n,r){t=""+t,n=n||"{",r=r||"}";var e=D.extractStrBetweenEx(t,n,r,!0);t&&!_isBlank(e)&&_isObj(a)&&_each(e,function(e){t=t.replace(new RegExp(n+"\\s*("+e.trim()+")\\s*"+r,"g"),_find(a,e,""))});return t}(""+this,e)})}D.strToNative=_strToNative,D.extractStrBetweenIn=function(e,t,a,n){return(e||"").extractStrBetweenIn(t,a,n)},D.extractStrBetweenEx=function(e,t,a,n){return(e||"").extractStrBetweenEx(t,a,n)},D.strToArray=function(e){return e="string"==typeof e?[e]:e},D.jsonDataSanityCheck,D.toJSON=D.toObj=_toObj,D.lastSplitResult=[],D.getOnSplit=D.pickOnSplit=function(e,t,a){return D.lastSplitResult=e.split(t),D.getOnLastSplit(a)},D.getOnLastSplit=D.pickOnLastSplit=function(e){return e<0?_last(D.lastSplitResult):D.lastSplitResult[e]},D.of=of=_of,D.is=is=_is,D.isArray=_isArr,D.isArrayLike=_isArrLike,D.isBoolean=_isBool,D.isFunction=_isFn,D.isObject=_isObj,D.isObjectLike=_isObjLike,D.isString=_isStr,D.isNumber=_isNum,D.isDef=_isDefined,D.isDefined=_isDefined,D.isUndefined=_isUndef,D.isEmptyObject=_isEmptyObj,D.isElement=_isEl,D.is$El=_is$El,D.isElementExist=_isElementExist,D.isBlank=D.isEmpty=_isEmpty=_isBlank,D.toBoolean=function(e){var t=!0;switch((""+e).trimStr().toLowerCase()){case"":case"0":case"-0":case"nan":case"null":case"false":case"undefined":t=!1}return t},D.toInt=function(e){return e=_isBlank(e=(""+e).replace(/[^+-0123456789.]/g,""))?"0":0<=e.indexOf(".")?e.substring(0,e.indexOf(".")):e,parseInt(+e,10)},D.toFloat=function(e){return e=_isBlank(e=(""+e).replace(/[^+-0123456789.]/g,""))?"0":e,parseFloat(+e)},D.toStr=_toStr,D.toString=function(e){return B.warn("xsr.toString is deprecated. use xsr.toStr instead."),_toStr(e)},D.dotToX=function(e,t){return e.replace(/\./g,t)},D.dotToCamelCase=function(e){e=e.replace(/\./g," ").toProperCase().replace(/ /g,"");return e[0].toLowerCase()+e.substring(1)},D.dotToTitleCase=function(e){return e.replace(/\./g," ").toProperCase().replace(/ /g,"")},D.toDottedPath=function(e){return(e||"").trim().replace(/]/g,"").replace(/(\[)|(\\)|(\/)/g,".").replace(/(\.+)/g,".").trimStr("\\.")},D.ifBlank=D.ifEmpty=D.ifNull=function(e,t,a){return t=(""+(t||"")).trimStr(),a=void 0===a?(""+e).trimStr():a,_isBlank(e)?t:a},D.now=_now,D.year=_year,D.sizeOf=function _sizeOf(e,t){var n=0;function sizeOf(e){if(null!=e)switch(typeof e){case"number":n+=8;break;case"string":n+=2*e.length;break;case"boolean":n+=4;break;case"object":var t=o.toString.call(e).slice(8,-1);if("Object"===t||"Array"===t)for(var a in e)e.hasOwnProperty(a)&&(n+=2*a.length,sizeOf(e[a]));else n+=2*e.toString().length}return n}return _isUndef(t)||t?function formatByteSize(e){return e<1024?e+" B":e<1048576?(e/1024).toFixed(3)+" KB":e<1073741824?(e/1048576).toFixed(3)+" MB":(e/1073741824).toFixed(3)+" GB"}(sizeOf(e)):sizeOf(e)},D.range=function(){var e=arguments.length;if(!e||1===e&&"0"===(""+arguments[0]).trim())return[];var e="string"!=typeof arguments[0]&&e?1===e?"0.."+arguments[0]+":1":2===e?arguments[0]+".."+arguments[1]+":1":arguments[0]+".."+arguments[1]+":"+arguments[2]:arguments[0],e=(e=-1<(e=(e=(e=e.toUpperCase()).replace(/Y([0-9])/g,"Y+$1")).indexOf("..")<0?(-1<e.indexOf("Y")?"Y..":"0..")+e:e).indexOf("Y")&&e.indexOf("..Y")<0?e.replace(/\.\.([0-9])/g,"..+$1").replace(/\.\./g,"..Y"):e).split(".."),t=""+e[0],a=""+e[1],n="1",e=(0<a.indexOf(":")&&(a=""+e[1].split(":")[0],n=""+e[1].split(":")[1]),0<=t.indexOf("Y")&&(t=_year(t.split(/[^0-9+-]/)[1])),0<=a.indexOf("Y")&&(a=_year(a.split(/[^0-9+-]/)[1])),D.toInt(t)),r=D.toInt(a),n=D.toInt(n);return a<t?_range(r,e+1,n).reverse():_range(e,r+1,n)},D.checkAndPreventKey=function(e,t){var a=0<=(t=t||"").indexOf("+shift"),n=""+e.keyCode,t=0<=t.padStr(",").indexOf(n.padStr(","))&&(a?!!e.shiftKey:!e.shiftKey);return t&&(e.preventDefault(),B.info("Key ["+n+(a?"+Shift":"")+"] has been disabled in this element.")),t},D._trackAndControlKey=function(e){var t=e.currentTarget,t=$(t),a=(""+t.data("disableKeys")).toLowerCase(),a=(D.checkAndPreventKey(e,a),!_isBlank((""+t.data("focusNext")).replace(/undefined/,"").toLowerCase())),n=!_isBlank((""+t.data("focusBack")).replace(/undefined/,"").toLowerCase());a&&D.checkAndPreventKey(e,"9")&&$(t.data("focusNext")).get(0).focus(),n&&D.checkAndPreventKey(e,"9,+shift")&&$(t.data("focusBack")).get(0).focus()},D.initKeyTracking=_initKeyTracking,D.getDocObj=function(e){e="object"==typeof e?e:(e.beginsWithStr("#")?"":"#")+e;return _isEl(e)?e:$(e).get(0)},D.getDocObjs=function(e){e=(e.beginsWithStr("#")?"":"#")+e;return $(e).get()},D.hasCssRule=function(e){var t=!1;if(e){e=e.split(",");for(var a=0;a<document.styleSheets.length;a++){var n,r=document.styleSheets[a].rules||document.styleSheets[a].cssRules;if(t)break;for(n in r)if(t=t||"string"==typeof r[n].selectorText&&0<=e.indexOf(r[n].selectorText))break}}return t},D.getCssRule=function(e){var t,a;if(e)for(var n=0;n<document.styleSheets.length;n++){var r,i=document.styleSheets[n].rules||document.styleSheets[n].cssRules;if(t)break;for(r in i)if(t=t||"string"==typeof i[r].selectorText&&e==i[r].selectorText){a=i[r];break}}return a},D.setFocus=function(e,t){e=D.getDocObj(e);e&&(e.focus(),t&&e.select())},D.swapClass=function(e,t,a){$(e).removeClass(t),$(e).addClass(a)},D.docObjValue=function(e,t){var a=D.getDocObj(e),n="";return a&&(n=a.value,2===arguments.length&&(a.value=t)),n},D.optionSelectedIndex=function(e,t){var a=-1,n=D.getDocObj(e);return n&&(a=n.selectedIndex,2===arguments.length&&(n.selectedIndex=t)),a},D.optionIndexOfValue=function(e,t,a){var n=-1,r=D.getDocObj(e);if(r)for(var i=0;i<r.length;i++)if((""+t).equalsIgnoreCase(r.options[i].value)){n=i;break}return n},D.optionIndexOfText=function(e,t){var a=-1,n=D.getDocObj(e);if(n)for(var r=0;r<n.length;r++)if(t.equalsIgnoreCase(n.options[r].text)){a=r;break}return a},D.optionIndexOfValueBeginsWith=function(e,t){var a=-1,n=D.getDocObj(e);if(n)for(var r=0;r<n.length;r++)if(n.options[r].value.beginsWithStrIgnoreCase(t)){a=r;break}return a},D.optionsSelectedValues=function(e,t){return e=(e.beginsWithStr("#")?"":"#")+e,t=t||",",_map($(e+" option:selected"),function(e){return e.value}).join(t)},D.optionsSelectedTexts=function(e,t){return e=(e.beginsWithStr("#")?"":"#")+e,t=t||",",_map($(e+" option:selected"),function(e){return e.text}).join(t)},D.optionValueOfIndex=function(e,t){var a="",e=D.getDocObj(e);return a=e&&0<=t&&t<e.length?e.options[t].value:a},D.optionTextOfIndex=function(e,t){var a="",e=D.getDocObj(e);return a=e&&0<=t&&t<e.length?e.options[t].text:a},D.selectOptionsForValues=function(e,t,a){_selectOptionsFor(e,"value",t,a)},D.selectOptionsForTexts=function(e,t,a){_selectOptionsFor(e,"text",t,a)},D.selectOptionsAll=function(e){var t=D.getDocObj(e);if(t)for(var a=0;a<t.length;a++)t.options[a].selected=!0,_attr(t.options[a],"selected","")},D.selectOptionsNone=function(e){var t=D.getDocObj(e);if(t)for(var a=0;a<t.length;a++)t.options[a].selected=!1,t.options[a].removeAttribute("selected")},D.selectOptionForValue=function(e,t){var a=-1,n=D.getDocObj(e);return n&&(a=D.optionIndexOfValue(e,t),n.selectedIndex=a,_attr(n.options[a],"selected","")),a},D.selectOptionForValueBeginsWith=function(e,t){var a=-1,n=D.getDocObj(e);return n&&(a=D.optionIndexOfValueBeginsWith(e,t),n.selectedIndex=a,_attr(n.options[a],"selected","")),a},D.selectOptionForText=function(e,t){var a=-1,n=D.getDocObj(e);return n&&(a=D.optionIndexOfText(e,t),n.selectedIndex=a,_attr(n.options[a],"selected","")),a},D.optionsReduceToLength=function(e,t){t=t||0;var a=D.getDocObj(e);a&&(D.selectOptionsNone(e),a.length=t)},D.optionsRemoveAll=function(e){D.optionsReduceToLength(e,0)},D.optionRemoveForIndex=function(e,t){e=(e.beginsWithStr("#")?"":"#")+e;e=D.getDocObj(e);e&&((""+(t=(""+t).equalsIgnoreCase("first")?0:t)).equalsIgnoreCase("last")&&(t=e.length-1),e.remove(t))},D.optionRemoveForValue=function(e,t){D.optionRemoveForIndex(e,D.optionIndexOfValue(e,t))},D.optionRemoveForText=function(e,t){D.optionRemoveForIndex(e,D.optionIndexOfText(e,t))},D.optionRemoveForValueBeginsWith=function(e,t){D.optionRemoveForIndex(e,D.optionIndexOfValueBeginsWith(e,t))},D.optionAppend=function(e,t,a,n){var r,i=-1,e=D.getDocObj(e);return i=e?void 0===n?(r=e.length,e.length=r+1,e.options[r].value=t,e.options[r].text=a,r):($(e).find("option").eq(n).before('<option value="'+t+'">'+a+"</option>"),n):i},D.optionsLoad=function(a,e,t,n){if(t=t||0,n=n||0,_isStr(e)&&(0<e.indexOf("..")?e=D.range(e):0<e.indexOf(",")&&(e=e.split(",").map(function(e){return e.trim()}))),0<=t&&D.optionsReduceToLength(a,t),_isArr(e))_each(e,function(e){D.optionAppend(a,e,e)});else if(0<n){var r,i=[];for(r in e)i.push({key:r,value:e[r]});_each(_sortBy(i,["","key","value"][n]),function(e){D.optionAppend(a,e.key,e.value)})}else _each(e,function(e,t){D.optionAppend(a,t,e)})},D.optionsList=function(t,e,a,n,r){var i,o,s,l=D.getDocObj(t),c=(_isUndef(a)&&(a=_attr(l,"data-options-from")),_isUndef(n)&&(n=_attr(l,"data-sort-on")),_isUndef(r)&&(r=_attr(l,"data-sort-by")),(_attr(l,"data-value-key")||"value").toLowerCase()),d=(_attr(l,"data-text-key")||"text").toLowerCase(),p=["",c,d];a=+(a||0),n=+((n||0)+"").replace(new RegExp(c,"i"),"1").replace(new RegExp(d,"i"),"2"),r=((r||"")+"").trim().toLowerCase(),0<=a&&D.optionsReduceToLength(t,a),_isObj(e=_isStr(e)?0<e.indexOf("..")?D.range(e):l.hasAttribute("data-split-by")?e.split(_attr(l,"data-split-by")).map(function(e){return e.trim()}):[e]:e)&&(i=[],_each(e,function(e,t){var a={};a[c]=t,a[d]=e,i.push(a)}),e=i),_isArr(e)&&((n||r)&&(_isObj(e[0])?(e=_sortBy(e,p[n]),"d"==r[0]&&(e=e.reverse())):"a"==r[0]?e=e.sort():"d"==r[0]&&(e=e.sort().reverse())),_each(e,function(e){_isObj(e)?(o=e[c],s=e[d]):o=s=e,D.optionAppend(t,o,s)}))},D.checkedState=function(e,t){var a=!1,n=D.getDocObj(e);return n&&(a=n.checked,2===arguments.length&&(n.checked=t)),a},D.isChecked=function(e,t){return 0<$(e).find("input[name="+t+"]:checked").length},D.radioSelectedValue=function(e,t){e=$(e).find("input[name="+t+"]:checked").val();return e||""},D.radioClearSelection=function(e,t){$(e).find("input[name="+t+"]:checked").attr("checked",!1)},D.radioSelectForValue=function(e,t,a){$(e).find("input[name="+t+"]:radio").each(function(e){e.checked=e.value.equalsIgnoreCase(a)})},D.checkboxCheckedValues=function(e,t,a){return a=a||",",$(e).find("input[name="+t+"]:checked").map(function(){return this.value}).get().join(a)},D.sleep=function(e){var t=new Date;for(t.setTime(t.getTime()+1e3*e);(new Date).getTime()<t.getTime(););},D.filterJSON=function(e,t){console.warn("xsr.filterJSON has been removed. please use alternate filter.")},D.randomPassword=function(e,t){for(var a=t||"9a8b77C8D9E8dkfhseidF7G6H5QJ3c6d5e4f32L3M4N5P6Qg2h3i4j5kV6W5X4Y3Z26m7n8p9q8r7s6t5u4v3w2x3y4z5A6BK7R8S9T8U7",n="",r=0;r<(e||8);r++){var i=Math.floor(Math.random()*a.length);n+=a.charAt(i)}return n},D.rand=_rand,D.appendToObj=function(e,t,a){_hasKey(e,t)?(_isArr(e[t])||(e[t]=[e[t]]),e[t].push(a)):e[t]=a},D.parseKeyStr=function(e,t){return(t?e.toLowerCase():e).replace(/[^_0-9A-Za-z\$\[\]\?\*\-]/g,"")};var k={};D.setObjProperty=function(e,t,a,n){n=n||!1;for(var r,i,o,s=e,l=0<=(t=""+t).indexOf(".")||t==t.toUpperCase()?t.split("."):t.split(/(?=[A-Z])/),c=t.replace(/[0-9A-Za-z\[\]\?\*\_]/g,"").trim(),d=(c&&""!=c&&(l=t.split(c[0])),"");1<l.length;)_isBlank(r=D.parseKeyStr(l.shift(),n))||(d+=r.replace(/[\?\[\]\*\_]/g,""),s=0<r.indexOf("[")&&r.indexOf("]")==r.length-1?(i=(o=r.substring(0,r.length-1).replace(/\[/g,".").split("."))[0],o=o[1],void 0===s[i]&&(s[i]=[]),o.replace(/[0-9]/g,"")&&(o=o.replace(/[^0-9]/g,""),k.hasOwnProperty(d)?o=k[d]:void 0===s[i][o]&&(k[d]=s[i].length,o=s[i].length)),void 0===s[i][o]&&(s[i][o]={}),s[i][o]):(void 0===s[r]&&(s[r]={}),s[r]));return r=D.parseKeyStr(l.shift(),n),D.appendToObj(s,r,a),e},D.setSimpleObjProperty=function(e,t,a){for(var n,r=e,i=(t=""+t).split(".");1<i.length;)_isBlank(n=D.parseKeyStr(i.shift(),!1))||(void 0===r[n]&&(r[n]={}),r=r[n]);return r[n=D.parseKeyStr(i.shift(),!1)]=a,e},D.objProp=D.objProperty=D.objectProp=D.objectProperty=function(){var e=arguments[0],t=arguments[1],a=arguments[2];return 3==arguments.length?D.setSimpleObjProperty(e,t,a):2==arguments.length?_find(e,t):e},D.extract=function _extract(){var a,e,n,r,i,o,s,l,t=U.slice.call(arguments);try{_isObj(t[0])||t.unshift({}),_isStr(t[1])&&(t[1]=t[1].split(","))}catch(e){console.error("Invalid arguments",e)}if(_isObj(t[0])&&_isArr(t[1]))return a=t[0],e=t[1],(n=t.slice(2)).unshift(window),_each(e,function(e){if(e=(e||"").trim(),!(s=!(e&&"@0"!=e))&&(/^\@([0-9])+/.test(e)&&((o=r=(e.getRightStr(".")||"").trim())?e=o+":"+e:(_mergeDeep(a,n[D.toInt(e)]),s=!0)),!s)){if(s=e.split(":"),r=(s[0]||"").trim(),i=D.toInt((s[1]||"").split(".")[0]),o=((s[1]||"").getRightStr(".")||"").trim(),r=r||o,l=o?_find(n[i],o):i?n[i]:{},r.endsWithStr("\\+")){r=r.trimRightStr("+");var t=_find(a,r);switch(_of(t)){case"object":_isObj(l)&&(l=_mergeDeep({},t,l));break;case"array":l=_isArr(l)?t.concat(l):t.push(l)}}D.setSimpleObjProperty(a,r,l)}}),a;console.error("Invalid arguments.")},D.setElValue=function(e,t){var a=$(_$qrySelector(e));switch((e=a.get(0)).tagName.toUpperCase()){case"INPUT":switch(e.type.toLowerCase()){case"text":case"password":case"hidden":case"color":case"date":case"datetime":case"datetime-local":case"email":case"month":case"number":case"search":case"tel":case"time":case"url":case"range":case"button":case"submit":case"reset":a.val(t),a.isEnabled()&&a.trigger("keyup");break;case"checkbox":case"radio":e.checked=e.value.equalsIgnoreCase(t),e.checked&&a.isEnabled()&&a.trigger("click")}break;case"SELECT":D.selectOptionForValue(e,t),a.isEnabled()&&a.trigger("change");break;case"TEXTAREA":a.val(t),a.isEnabled()&&a.trigger("keyup");break;default:a.html(D.sanitizeXSS(t)),a.val(t),a.isEnabled()&&a.trigger("keyup")}},D.getElValue=function(e,t){if(e=$(_$qrySelector(e)).get(0)){var a,n,r,i;switch(e.tagName.toUpperCase()){case"INPUT":switch(e.type.toLowerCase()){case"checkbox":n=$(e).data("unchecked"),r="true"==e.value||"false"!=e.value&&e.value,a=e.checked?r:void 0===n?"":n;break;case"radio":a=e.checked?e.value:"";break;default:a=$(e).val()}break;case"SELECT":a=_map($(e).find("option:selected"),function(e){return e.value}).join(",");break;case"TEXTAREA":a=$(e).val();break;default:a=t?$(e).text():$(e).html()}return _isBlank(a)&&e.hasAttribute("data-default")&&("@"===(i=_attr(e,"data-default")||"")[0]?_isFn(i=_find(L,i.replace(/^[@\s]+/,""),""))&&_isUndef(i=i.call(e,e))&&(i=""):"@"===i[1]&&(i=i.trim()),a=i),a}},D.serialize=function(e,t,a){_isBool(e)&&(a=e,e=""),_isBool(t)&&(a=t,t="");var n,r,i={},t=t?'[data-serialize-context*="'+t+'"]':"";return $(e=e||"body").find("[data-serialize]"+t+",input[name]"+t+",select[name]"+t+",textarea[name]"+t).each(function(e,t){r=$(t).data(),n=t.name||r.serialize,r=r.serializeType?r.serializeType.equalsIgnoreCase("text"):a,r=D.getElValue(t,r),i.hasOwnProperty(n)?_isBlank(r)||(_isBlank(i[n])?i[n]=r:_isArr(i[n])?i[n].push(r):i[n]=[i[n],r]):i[n]=r}),i},D.serializeToQueryString=function(e,t){return D.toQueryString(D.serialize(e,t))},D.serializeDisabled=function(e){var t="";return $(e).find("[disabled][name]").each(function(){t+=(t?"&":"")+$(this).attr("name")+"="+D.getElValue(this)}),t},D.serializeForms=function(e,t){var a,n=$(e).serialize();return $(e).find("input[data-unchecked]:checkbox:enabled:not(:checked)[name]").each(function(){a=$(this).data("unchecked"),n+=(n?"&":"")+$(this).attr("name")+"="+(void 0===a?"":a)}),t&&(t=D.serializeDisabled(e),n+=(n&&t?"&":"")+t),n},D.queryStringToJson=D.queryStringToObject=function(e){var t={},e=e||location.search,a=(""+e).indexOf("?"),n=(""+e).indexOf("&");return _each((e=e&&0<e.length&&0<=a&&(0==a||a<n)?e.substring(a+1):e).split("&"),function(e){(e=e.split("="))[0]&&D.appendToObj(t,e[0],decodeURIComponent(e[1]||""))}),t},D.toQueryString=D.ObjectToQueryString=D.objectToQueryString=D.JsonToQueryString=D.jsonToQueryString=function _toQueryString(n){return _isObj(n)?_keys(n).reduce(function(e,t,a){return[e,0===a?"":"&",t=encodeURIComponent(t),"=",_isArr(n[t])?_map(n[t],function(e){return encodeURIComponent(e)}).join(","):encodeURIComponent(n[t])].join("")},""):""},D.serializeUncheckedCheckboxes=function(e,t){return $(e).serializeUncheckedCheckboxes(t)},D.serializeFormToJSON=D.serializeFormToObject=function(e,t,a,n){return $(e).serializeFormToJSON(t,a,n)},D.serializeFormToSimpleJSON=D.serializeFormToSimpleObject=function(e,t,a){return $(e).serializeFormToSimpleJSON(t,a)};{function _find(e,t,a){if(_isObjLike(e)&&t){var n=_map(t.split("|"),function(e){return e.trim()}),n=(t=n.shift(),n.join("|"));if(0<=t.indexOf("*"))s=function(e,t){var a;if(_isObjLike(e))if(e.hasOwnProperty(t))a=e[t];else for(var n=_keys(e),r=0;_isUndef(a)&&r<n.length;)a=arguments.callee(e[n[r++]],t);return a}(e,t.replace(/\*/g,""));else for(var r=0,i=D.toDottedPath(t).split("."),o=i.length,s=e;r<o;r++)if(_isArr(s))s=s[D.toInt(i[r])];else{if(!_isObjLike(s)){s=void 0;break}s=s[i[r].trim()]}return _isUndef(s)?n?_find(e,n,a):_isFn(a)?a.call(e,e,t):a:s}return 3==arguments.length?_isFn(a)?a.call(e,e,t):a:e}function _hasKey(e,t){if(arguments.length<2)return!1;if("object"!=typeof e||"string"!=typeof t||/[\.\[\]\/\|\&\,]/g.test(t)){var a=e,n=!1;try{n=!!_isValidEvalStr(t)&&void 0!==_find(a,t)}catch(e){console.warn("Key["+t+"] error in object.\n"+e.stack)}return n}return e.hasOwnProperty(t.trim())}function _isObjHasKeys(e,t,l){function checkForAll(e,t){for(var a,n=t.split(","),r="",i=0,o=!0,s=0;s<n.length;s++)(r=n[s].trim())&&(i++,a=l&&(0<r.indexOf(".")||0<r.indexOf("["))?D.hasKey(e,r):e.hasOwnProperty(r),o=o&&a);return i&&o}var a=!1;if(_isObj(e)&&t)switch(!0){case 0<(t=""+t).indexOf("&"):a=checkForAll(e,t.replace(/\&/g,","));break;case 0<t.indexOf("|"):a=function checkForAny(e,t){for(var a,n=t.split(","),r="",i=0,o=!1,s=0;s<n.length&&((r=n[s].trim())&&(i++,a=l&&(0<r.indexOf(".")||0<r.indexOf("["))?D.hasKey(e,r):e.hasOwnProperty(r),o=o||a),!o);s++);return i&&o}(e,t.replace(/\|/g,","));break;default:a=checkForAll(e,t)}return a}function _keys(e){var t=[];try{t=Object.keys(e)}catch(e){}return t}function _spa_hasKeys(e,t){return _isObjHasKeys(e,t,!0)}function _spa_hasPrimaryKeys(e,t){return _isObjHasKeys(e,t)}function _keysDottedAll(e){e=_keysDotted(e);return e=e&&!_isEmpty(e)?D.toDottedPath(e.join(",")).split(","):e}function _keysDotted(e){var n,r,i=[];return function(e,t){if(t=t||"","object"==typeof e)for(var a in e)e.hasOwnProperty(a)&&(n=Array.isArray(e)?"[":".",r=t&&"["==n?"]":"",arguments.callee(e[a],t+(t?n:"")+a+r));else t&&i.push(t)}(e=e||{}),i}function _keysCamelCase(e){return _map(_keysDotted(e),function(e){e=e.replace(/\./g," ").toProperCase().replace(/ /g,"");return e[0].toLowerCase()+e.substring(1)})}function _keysTitleCase(e){return _map(_keysDotted(e),function(e){return e.replace(/\./g," ").toProperCase().replace(/ /g,"")})}function _keysLodash(e){return _map(_keysDotted(e),function(e){return e.replace(/\./g,"_")})}}D.findSafe=D.findInObj=D.findInObject=D.findIn=D.find=_find,D.keys=_keys,D.has=D.hasKey=_hasKey,D.hasKeys=_spa_hasKeys,D.hasPrimaryKeys=_spa_hasPrimaryKeys,D.keysDottedAll=_keysDottedAll,D.keysDotted=_keysDotted,D.keysCamelCase=_keysCamelCase,D.keysTitleCase=_keysTitleCase,D.keys_=_keysLodash;{function _each(t,a){if(_isArrLike(t))for(var e=0;e<t.length;e++)a.call(t[e],t[e],e,t);else _keys(t).forEach(function(e){a.call(t[e],t[e],e,t)})}function _map(t,a){var n=[];if(_isArrLike(t))for(var e=0;e<t.length;e++)n.push(a.call(t[e],t[e],e,t));else _keys(t).forEach(function(e){n.push(a.call(t[e],t[e],e,t))});return n}function _every(e,t){var a=!0;if(_isArrLike(e))for(var n=0,r=e.length;a&&n<r;n++)a=!!t.call(e[n],e[n],n,e);else for(var i,o=_keys(e),n=0,r=o.length;a&&n<r;n++)i=o[n],a=!!t.call(e[i],e[i],i,e);return a}function _some(e,t){var a=!1;if(_isArrLike(e))for(var n=0,r=e.length;n<r&&!(a=!!t.call(e[n],e[n],n,e));n++);else for(var i,o=_keys(e),n=0,r=o.length;n<r&&(i=o[n],!(a=!!t.call(e[i],e[i],i,e)));n++);return a}function _filter(t,a){var n=[];if(_isArrLike(t))for(var e=0;e<t.length;e++)a.call(t[e],t[e],e,t)&&n.push(t[e]);else _keys(t).forEach(function(e){a.call(t[e],t[e],e,t)&&n.push(t[e])});return n}function _removeOn(t,a){var n=[];if(_isArrLike(t))for(var e=0;e<t.length;e++)a.call(t[e],t[e],e,t)&&n.push(t.splice(e--,1)[0]);else _keys(t).forEach(function(e){a.call(t[e],t[e],e,t)&&(n.push(t[e]),delete t[e])});return n}function _sortBy(e,i){return _isArrLike(e)&&i?e.sort(function(e,t){var e=_isNumStr(e[i])?+e[i]:e[i],t=_isNumStr(t[i])?+t[i]:t[i],a=typeof e,n=typeof t,r=0;return"string"==a&&"string"==n?((e=e.toUpperCase())<(t=t.toUpperCase())&&(r=-1),t<e&&(r=1)):"number"==a&&"number"==n&&(r=e-t),r}):e}function _zipObj(e,t){var a={};if(_isArrLike(e)&&_isArrLike(t))for(var n=0;n<e.length;n++)a[e[n]]=t[n];return a}function _uniq(a){return _filter(a,function(e,t){return a.indexOf(e)==t})}function _omit(t,a){var n={};return _isArrLike(a)&&a.length?(_isObj(t)&&_each(_keys(t),function(e){a.indexOf(e)<0&&(n[e]=t[e])}),n):t}function _compress(e){if(D.strZip)return D.strZip(e);for(var t,a={},n=(e+"").split(""),r=[],i=n[0],o=256,s=1;s<n.length;s++)null!=a[i+(t=n[s])]?i+=t:(r.push(1<i.length?a[i]:i.charCodeAt(0)),a[i+t]=o,o++,i=t);r.push(1<i.length?a[i]:i.charCodeAt(0));for(s=0;s<r.length;s++)r[s]=String.fromCharCode(r[s]);return r.join("")}function _deCompress(e){if(D.strUnzip)return D.strUnzip(e);for(var t={},a=(e+"").split(""),n=a[0],r=n,i=[n],o=256,s=1;s<a.length;s++){var l=a[s].charCodeAt(0),l=l<256?a[s]:t[l]||r+n;i.push(l),n=l.charAt(0),t[o]=r+n,o++,r=l}return i.join("")}function _getSign(e){return _compress(function _getSignature(e,t){var a=t=t||"",n=typeof e;if("object"==n)for(var r=Object.keys(e).sort(),i=0;i<r.length;i++)a+=_getSignature(e[r[i]],r[i]);else"function"==n?(n=e.name)&&n!==t?a+="F"+n:(t=e.toString(),a+=(n=/function(.*?)\(/.exec(t)[1].trim())?"F"+n:t):a+=e;return a}(e).replace(/\s/g,"_").replace(/\"/g,"d").replace(/\'/g,"s").replace(/\\/g,"b").replace(/\//g,"f").replace(/function/g,"Fn"))}function _union(){for(var e,t={},a=0;a<arguments.length;a++)if(_isArrLike(e=arguments[a]))for(var n=0;n<e.length;n++)t[_getSign(e[n])]=e[n];else t[_getSign(e)]=e;B.log(">>union-collection[keys, obj, src]:",_keys(t),t,arguments);var r,i=[];for(r in t)t.hasOwnProperty(r)&&i.push(t[r]);return t=null,i}function _indexOf(e,t){var a=-1;if(_isArrLike(e)&&e.length&&_isObj(t)){var n,r=_keys(t);if(r.length)for(var i=0;i<e.length;i++){for(var o=0;o<r.length&&(n=t[r[o]]===e[i][r[o]]);o++);if(n){a=i;break}}}return a}function _isProto(e){return"object"==typeof e&&(e==window.__proto__||_hasOwnProp(e,"isPrototypeOf")||e.isPrototypeOf(new Object)||e.isPrototypeOf(new Array)||e.isPrototypeOf(new Function)||e.isPrototypeOf(new String)||e.isPrototypeOf(new Number)||e.isPrototypeOf(new Boolean)||e.isPrototypeOf(new Date)||e.isPrototypeOf(new RegExp))}function _isSafeKey(e,t){return!(function _isReservedKey(e){return-1<O.indexOf(e)}(t)||"constructor"===t&&_isFn(e[t]))}function _extend(){var e=(arguments.length?arguments[0]:{})||{};if(_isProto(e))return e;if(arguments.length)for(var t,a=0;a<arguments.length;a++)if(_isObj(t=arguments[a]))for(var n in t)_isSafeKey(e,n)&&_hasOwnProp(t,n)&&(e[n]=t[n]);else _isArr(t)&&(e=_mergeArray.call(null,e,t));return e}function _mergeDeep(){var e=(arguments.length?arguments[0]:{})||{};if(_isProto(e))return e;if(arguments.length)for(var t,a=0;a<arguments.length;a++)if(_isObj(t=arguments[a]))for(var n in t)_isSafeKey(e,n)&&_hasOwnProp(t,n)&&(_isObj(t[n])?e[n]=_mergeDeep(e[n],t[n]):_isArr(t[n])?e[n]=_mergeArray(e[n],t[n]):e[n]=t[n]);else _isArr(t)&&(e=_mergeArray.call(null,e,t));return e}function _mergeArray(){var e=(arguments.length?arguments[0]:[])||[];if(arguments.length)for(var t,a=0;a<arguments.length;a++)if(_isArr(t=arguments[a]))for(var n=0;n<t.length;n++)if(_isUndef(e[n]))e[n]=t[n];else switch(_of(t[n])){case"object":e[n]=_mergeDeep(e[n],t[n]);break;case"array":e[n]=_mergeArray(e[n],t[n]);break;case"undefined":break;default:e[n]=t[n]}return e}function _last(e,t){var a;return a=_isArrLike(e)&&0<e.length?"number"==typeof t&&1<t?e.slice(-1*t):e[e.length-1]:a}function _clone(e,t){return t?(t=_isArr(e)?[]:!!_isObj(e)&&{})&&_extend(t,e)||e:JSON.parse(JSON.stringify(e))}D.strZip,D.strUnzip}D.map=_map,D.uniq=_uniq,D.omit=_omit,D.union=_union,D.filter=_filter,D.sortBy=_sortBy,D.zipObj=_zipObj,D.removeOn=_removeOn,D.each=D.forEach=_each,D.every=D.forEvery=_every,D.some=D.forSome=_some,D.indexOf=_indexOf,D.clone=_clone,D.extend=_extend,D.merge=_mergeDeep,Object.defineProperties(U,{__now:{value:function(){var t;try{t=JSON.parse(JSON.stringify(this))}catch(e){t=_clone(this,!0)}return t}},__clone:{value:function(){return _clone(this,!0)}},__toObject:{value:function(a){var n={};return this.forEach(function(e,t){a?n[e]=t:n[t]=e}),n}},__toJSON:{value:function(){return JSON.stringify(this)}},__unique:{value:function(){return this.filter(function(e,t,a){return a.indexOf(e)===t})}},__rotate:{value:function(e){if(0<(e=e||1))for(;e--;)this.push(this.shift());else if(e<0)for(;e++;)this.unshift(this.pop());return this}},__has:{value:function(e,t){var a;function optionsHas(e){return 0<=t.indexOf(e)}if(t=(t||"").trim()){t.indexOf("i")&&_isStr(e)&&(e=e.toLowerCase());for(var n=0;n<this.length;n++){var r=this[n];switch(t.indexOf("i")&&_isStr(r)&&(r=r.toLowerCase()),!0){case optionsHas("b"):case optionsHas("^"):a=optionsHas("~")?e.beginsWithStr(r):r.beginsWithStr(e);break;case optionsHas("e"):case optionsHas("$"):a=optionsHas("~")?e.endsWithStr(r):r.endsWithStr(e);break;case optionsHas("c"):case optionsHas("*"):a=optionsHas("~")?0<=e.indexOf(r):0<=r.indexOf(e);break;case optionsHas("<"):a=r<e;break;case optionsHas("<="):a=r<=e;break;case optionsHas(">"):a=e<r;break;case optionsHas(">="):a=e<=r;break;default:a=r==e}if(a)break}}else a=0<=this.indexOf(e);return a}},__last:{value:function(e){return _last(this,e)}}}),Object.defineProperties(o,{__now:{value:function(){var t;try{t=JSON.parse(JSON.stringify(this))}catch(e){t=_clone(this,!0)}return t}},__clone:{value:function _obj_clone(){return _clone(this,!0)}},__keys:{value:function _obj_keys(e){return e?_keysDotted(this):Object.keys(this)}},__keysAll:{value:function _obj_keysAll(){return _keysDotted(this)}},__hasKey:{value:function _obj_hasKey(e){return D.hasKey(this,e)}},__hasKeys:{value:function _obj_hasKeys(e){return _isObjHasKeys(this,e,!0)}},__hasPrimaryKeys:{value:function _obj_hasPrimaryKeys(e){return _isObjHasKeys(this,e)}},__valueOf:{value:function _obj_getValueOf(e,t){return _find(this,e,t)}},__merge:{value:function _obj_merge(){return U.unshift.call(arguments,this),_mergeDeep.apply(void 0,arguments)}},__stringify:{value:function(){return JSON.stringify(this)}},__toJSON:{value:function(){return JSON.stringify(this)}},__toQueryString:{value:function(){return D.toQueryString(this)}},__extract:{value:function(){return U.unshift.call(arguments,this),D.extract.apply(this,arguments)}}});var C,I,w,x,T,A,E,P,j,N,z,R,M,H,V=["target","template","templateCache","templateScript","templateEngine","sanitizeApiXss","templateUrl","templateUrlMethod","templateUrlParams","templateUrlPayload","templateUrlHeaders","onTemplateUrlError","style","styleCache","styles","stylesCache","scripts","scriptsCache","require","dataPreRequest","data","skipDataBind","skipDefaultBind","skipKoBind","useSpaBind","dataCollection","dataUrl","dataUrlMethod","dataUrlParams","dataUrlHeaders","defaultPayload","stringifyPayload","dataParams","dataType","dataModel","dataCache","dataUrlCache","dataDefaults","onDataUrlError","onError","dataValidate","dataProcess","dataPreProcessAsync","renderMode","onRender","onRefresh","onRemove","renderCallback","refreshCallback","events"],K=V.map(function(e){return"try{(typeof _"+e+'!="undefined")&&(__def$props__.'+e+"=_"+e+")}catch(e){}"}).join(";")+";var _spa$prop={};try{ extend(_spa$prop, props || {}); }catch(e){ try{ extend(_spa$prop, prop || {}); }catch(e){ try{ extend(_spa$prop, $props || {}); }catch(e){ try{ extend(_spa$prop, __spa$publicProp__ || {}); }catch(e){}; }; }; };",q=(c?"var":"const")+" render=spa.$render, refresh=spa.$refresh, merge=spa.merge, extend=spa.extend,export$Props=function(o){spa.extend(__spa$publicProp__,o||{});}, export$Prop=function(k,v){export$Props({k:v});},exportProps=export$Props, extendProps=export$Props, exportProp=export$Prop, extendProp=export$Prop;",W=(D.is$Loaded=function _is$Loaded(e){return!!D.components[e.replace(/\//g,"_")]},D.componentsAsync={},D.addScriptTag=function(e,t){var a;e=e.replace(/#/,""),B.group("spaAddScriptTag"),_isElementExist("#spaScriptsContainer")||(B.info("#spaScriptsContainer NOT Found! Creating one..."),$("body").append("<div id='spaScriptsContainer' style='display:none' rel='Dynamic Scripts Container'></div>")),_isElementExist("#"+e)?B.info("script ["+e+"] already found in local."):(B.info("script ["+e+"] NOT found. Added script tag with src ["+t+"]"),t=t?' src="'+t+'"':"",a=D.defaults.csp.nonce?' nonce="'+D.defaults.csp.nonce+'"':"",$("#spaScriptsContainer").append('<script id="'+e+'" type="text/javascript"'+t+a+"><\/script>")),B.groupEnd("spaAddScriptTag")},D.addStyle=function(e,t){e=e.replace(/#/,""),B.group("spaAddStyle"),_isElementExist("#spaStylesContainer")||(B.info("#spaStylesContainer NOT Found! Creating one..."),$("body").append("<div id='spaStylesContainer' style='display:none' rel='Dynamic Styles Container'></div>")),_isElementExist("#"+e)?B.info("style ["+e+"] already found in local."):(B.info("style ["+e+"] NOT found. Added link tag with href ["+t+"]"),$("#spaStylesContainer").append("<link id='"+e+"' rel='stylesheet' type='text/css' href='"+t+"'/>")),B.groupEnd("spaAddStyle")},D.loadScript=function(a,n,e,t,r){return a=a.replace(/#/,""),e=e||!1,t=t||[],B.group("spaScriptsLoad"),_isBlank(n)?B.error("script path ["+n+"] for ["+a+"] NOT defined."):e?D.addScriptTag(a,n):(B.info("ajaxQ for script: ",n),t.push(_cachedScript(n,r).done(function(e,t){B.info("Loaded script ["+a+"] from ["+n+"]. STATUS: "+t)}))),B.groupEnd("spaScriptsLoad"),t},D.getComponentsFullPath=function(e){return _map(e=D.strToArray(_toObj(e)),function(e){return D.defaults.components.rootPath+(D.defaults.components.inFolder||/[^a-z0-9]/gi.test(e)?e:"")+"/"+function _getComponentFileName(e){var t;return/[^a-z0-9]/gi.test(e)?(t=e.split(/[^a-z0-9]/gi))[t.length-1]:e}(e)+D.defaults.components.scriptExt})},D.loadComponents=function(e,t,a){e=_filter(D.strToArray(_toObj(e)),function(e){return!D.components.hasOwnProperty(e.replace(/[^a-z0-9]/gi,"_"))}),e=D.getComponentsFullPath(e);D.loadScripts(e,t,a)},D.loadScripts=function(e,t,a){var n;_isBlank(e=D.strToArray(_toObj(e)))||(n=[],_each(e,function(a){n.push(_cachedScript(a,{dataType:"spacomponent"}).done(function(e,t){B.info("Loaded script from ["+a+"]. STATUS: "+t)}).fail(function(){B.info("Failed Loading script from ["+a+"].")}))}),z.apply($,n).then(function(){D.renderUtils.runCallbackFn(t)}).fail(function(){D.renderUtils.runCallbackFn(a)}))},D.loadScriptsSync=function(e,t,a){var n,r;_isBlank(e=D.strToArray(_toObj(e)))?D.renderUtils.runCallbackFn(t):(n=!0,(r=e.shift())?(/^~/.test(r)&&(n=!1,r=r.substring(1)),B.info("Load script from ["+r+"], cache:",n),_cachedScript(r,{cache:n}).done(function(){B.info("Loaded script from ["+r+"]"),D.loadScriptsSync(e,t,a)}).fail(function(){console.error("Failed Loading script from ["+r+"].",arguments),D.renderUtils.runCallbackFn(a)})):D.loadScriptsSync(e,t,a))},D.loadStyle=function(a,n,e,t){var r;return a=a.replace(/#/,""),e=!!e,t=t||[],B.group("spaStylesLoad"),_isBlank(n)?B.error("style path ["+n+"] for ["+a+"] NOT defined."):(r=!e,e&&($("#"+a,"head").length?B.info("Style('"+n+"') already loaded."):r=!0),r&&(B.info("ajaxQ for style:",n),t.push(function _cachedStyle(a,e,t){var n=$("#"+a,"head");return(t=t||{}).hasOwnProperty("cache")||(t.cache=!0),n.length||(t.cache=D.defaults.components.offline),t=_extend(t,{dataType:"text",url:e,success:function(e){n.remove();var t=D.defaults.csp.nonce?' nonce="'+D.defaults.csp.nonce+'"':"";$("head").append('<style id="'+a+'" type="text/css"'+t+">"+e+"</style>")}}),B.info("Loading style('"+e+"') ... "),N(t)}(a,n,{cache:D.defaults.components.offline}).done(function(e,t){B.info("Loaded style ["+a+"] from ["+n+"]. STATUS: "+t)})))),B.groupEnd("spaStylesLoad"),t},D.addTemplateScript=function(e,t,a){e=e.replace(/#/,""),a=a||"x-template",_isElementExist("#spaViewTemplateContainer")||(B.info("#spaViewTemplateContainer NOT Found! Creating one..."),$("body").append("<div id='spaViewTemplateContainer' style='display:none' rel='Template Container'></div>")),B.info("Adding <script id='"+e+"' type='text/"+a+"'>");var n="_BlockedScript_",n=(t=t.replace(/<(\s)*script/gi,"<"+n+' src-ref="'+e+'"').replace(/<(\s)*(\/)(\s)*script/gi,"</"+n).replace(/<(\s)*link/gi,"<_LINKTAGINTEMPLATE_").replace(/<(\s)*(\/)(\s)*link/gi,"</_LINKTAGINTEMPLATE_"),D.defaults.csp.nonce?' nonce="'+D.defaults.csp.nonce+'"':"");$("#spaViewTemplateContainer").append('<script id="'+e+'" type="text/'+a+'"'+n+">"+t+"<\/script>")},D.updateTemplateScript=function(e,t,a){e=e.replace(/#/,"");var n=$("#spaViewTemplateContainer").find("#"+e);n.length&&n.remove(),D.addTemplateScript(e,t,a)},D.loadTemplate=function(n,r,i,e,t,a,o){var s,l;return n=n.replace(/#/g,""),r="."===(r=r.ifBlankStr("inline").trimStr())||"#"===r?"inline":r,i=i||"x-template",e=e||"#DummyInlineTemplateContainer",t=t||[],o=o||{},B.group("spaTemplateAjaxQue"),_isElementExist("#"+n)?(l=$("#"+n),a?(B.info("Reload Template["+n+"] of ["+i+"]"),l.remove(),t=D.loadTemplate(n,r,i,e,t,a,o)):_isBlank(l.html())?(B.warn("Template["+n+"] of ["+i+"] script found EMPTY!"),_isBlank(s=""+l.attr("path"))||(i=(l.attr("type")||"").ifBlankStr(i).toLowerCase().replace(/text\//gi,""),B.info("prepare/remove to re-load Template["+n+"] of ["+i+"] from external path: ["+s+"]"),l.remove(),t=D.loadTemplate(n,s,i,e,t,a,o))):B.info("Template["+n+"] of ["+i+"] already found in local.")):(B.info("Template["+n+"] of ["+i+"] NOT found. Source ["+r+"]"),r&&"undefined"==r?(D.addTemplateScript(n,"",i),B.info("Loaded Empty Template["+n+"] of ["+i+"]")):r.equalsIgnoreCase("inline")||r.beginsWithStr("#")?(l=r.equalsIgnoreCase("inline")?e:r,_isBlank(a=(s=$(l)).html())?B.error("Template["+n+"] of ["+i+"] NOT defined inline in ["+l+"]."):(D.addTemplateScript(n,a,i),r.equalsIgnoreCase("inline")&&s.html(""))):r.equalsIgnoreCase("none")?B.info("Template["+n+"] of ["+i+"] defined as NONE. Ignoring template."):r.equalsIgnoreCase("script")?B.error("Template["+n+"] of ["+i+"] NOT defined in <script>."):(e=String(o.method||"get").toLowerCase(),o.params&&(r=D.api.url(r,o.params)),B.info(">>>>>>>>>> Making New Template Request"),l=N({url:r,method:e,headers:o.headers,data:o.payload,cache:D.defaults.components.offline,dataType:"html",onTmplError:o.onError,success:function(e){D.addTemplateScript(n,e,i),B.info("Loaded Template["+n+"] of ["+i+"] from ["+r+"]")},error:function(e,t,a){this.onTmplError&&_isFn(this.onTmplError)&&this.onTmplError.call(this,e,t,a),B.error("Failed Loading Template["+n+"] of ["+i+"] from ["+r+"]. ["+t+":"+a+"]")}}),B.info("ajaxQ for template: ",r),t.push(l))),B.groupEnd("spaTemplateAjaxQue"),t},D.urlParams=function(e){e=(e=e||window.location.search||"").beginsWithStr("\\?")||e.indexOf("//")<7?e.substring(e.indexOf("?")+1):e;var n={};return e.replace(/([^&=]+)=?([^&]*)(?:&+|$)/g,function(e,t,a){(n[t]=n[t]||[]).push(decodeURIComponent(a))}),_each(n,function(e,t){n[t]=_isArr(e)&&1==e.length?e[0]:e}),n},D.urlParam=function(e,t){return D.urlParams(t)[e]},""),X=(D.getLocHash=function(e){var t=(W||window.location.hash).replace("#","");return t=t||_isUndef(e)||"#"==e?t:window.location.pathname.replace(/(\/)*(index|default)\.([a-z])*/i,"").replace(e.replace(/\s*/g,"").trimRightStr("/"),"")},D.urlHash=function(e,t){var a,t=D.getLocHash(t);return(e||_isNum(e))&&(a=(t=t.beginsWithStr("/")?t.substring(t.indexOf("/")+"/".length):t).length?t.split("/"):[],_isNum(e)?t=e<0?a[a.length-1]:a&&a.length>e?a[e]:"":_isArr(e)?t=0===e.length?a:_zipObj(e,a):_isStr(e)&&"?"==e&&(t=t.containsStr("\\?")?D.getOnSplit(t,"?",1):"")),t},D.urlHashFull=function(e){return _getAboluteUrl(e=e||"#",D.urlHash("",e))},D.hashParam=function(e){var t=""+D.urlHash("?");return t=void 0===e||_isBlank(t)?t:D.urlParam(""+e,t)},{}),J={},G=0,n=(D.i18n=_i18nTextValue,D.i18n.loaded=!1,D.i18n.off,D.i18n.settings={reset:!0,url:"",method:"GET",path:"language/",prefix:"Language_",ext:".txt"},D.i18n.browserLang=_browserLang,D.i18n.setLanguage=function(t,a){t=(t||_browserLang()).replace(/-/g,"_"),a=_extend(D.i18n.settings,a),_init_i18n_Lang({language:t,reset:a.reset,url:a.url,method:a.method,urlParams:a.urlParams,headers:a.headers,data:a.data||a.payload,target:a.target||"",prefix:a.prefix,path:a.path,ext:a.ext,cache:a.cache,async:a.async,callback:function(){var e;_isElementExist("#i18nSpaRunTime")||$("body").append('<div id="i18nSpaRunTime" style="display:none"></div>'),C=void 0===C?!_isEmptyObj(X):C,D.i18n.loaded=D.i18n.loaded||C,1<t.length&&!C&&(e=(2<t.length?t.substring(0,2):_browserLang(1)).toLowerCase(),t!=e?_isFailedLang(e)||(console.warn("Error Loading Language File ["+t+"]. Attempt to get default language ["+e+"]."),D.i18n.setLanguage(e,a)):"en"==t||_isFailedLang("en")||(console.warn("Error Loading default language ["+t+"]. Attempt to get [en]."),D.i18n.setLanguage("en",a))),D.i18n.apply(a.target),a.callback&&a.callback(C)}})},D.i18n.setLang=function(e,t){_setLang(e=_isObj(e)?(t=e).lang||"":e,t)},D.i18n.updateLang=function(e,t){_setLang(e=_isObj(e)?(t=e).lang||"":e,_mergeDeep({reset:!1},t||{}))},D.i18n.value=function(e){return D.i18n.loaded||window.Liferay?((e=(""+e).replace(/i18n:/i,"").trim()).beginsWithStrIgnoreCase("@")&&(e=e.substring(1).trim(),e=_find(window,e,e)),function _i18nValue(e){var t=e;try{t=(""+(!D.i18n.loaded&&window.Liferay?Liferay.Language.get(e):function _i18nRaw(e){var t,a=X[e];if(_is(a,"null|undefined"))return e;if("string"==typeof a){for(r=0;-1!=(r=a.indexOf("\\",r));)a="t"==a.charAt(r+1)?a.substring(0,r)+"\t"+a.substring(2+r++):"r"==a.charAt(r+1)?a.substring(0,r)+"\r"+a.substring(2+r++):"n"==a.charAt(r+1)?a.substring(0,r)+"\n"+a.substring(2+r++):"f"==a.charAt(r+1)?a.substring(0,r)+"\f"+a.substring(2+r++):"\\"==a.charAt(r+1)?a.substring(0,r)+"\\"+a.substring(2+r++):a.substring(0,r)+a.substring(r+1);for(r=0;r<a.length;)if("'"==a.charAt(r))if(r==a.length-1)a=a.substring(0,r);else if("'"==a.charAt(r+1))a=a.substring(0,r)+a.substring(++r);else{for(t=r+2;-1!=(t=a.indexOf("'",t));){if(t==a.length-1||"'"!=a.charAt(t+1)){a=a.substring(0,r)+a.substring(r+1,t)+a.substring(t+1),r=t-1;break}a=a.substring(0,t)+a.substring(++t)}-1==t&&(a=a.substring(0,r)+a.substring(r+1))}else r++}if(0==a.length)return"";if(1==a.length&&"string"==typeof a[0])return a[0];for(var n="",r=0;r<a.length;r++)"string"==typeof a[r]?n+=a[r]:n+="{"+a[r]+"}";return n}(e))).trim()}catch(e){console.warn("i18n lookup error:",e)}return t}(e)):(B.info("jQ-xsr.i18n module not found. Skipping i18n value lookup."),e)},D.i18n.text=_i18nTextValue,D.i18n.update=function(e,t,a){t=t||"";var n,r,i,o=$(e),s=o.attr("data-i18n")||"",l="",l=_isBlank(s)||0==t.indexOf(":")||0==t.indexOf("=")||s.indexOf(":")<=0&&t.indexOf(":")<=0?t.trimLeftStr(":").trimLeftStr("="):(n=0<s.indexOf(":")?_toObj(s||{}):{html:s.trimLeftStr(":").replace(/'/g,"")},r=0<t.indexOf(":")?_toObj(t||{}):{html:t.trimLeftStr(":").replace(/'/g,"")},_each(_keys(n),function(t){_each(t.split("_"),function(e){e&&(n[e]=n[t])})}),_each(_keys(r),function(t){_each(t.split("_"),function(e){e&&(r[e]=r[t])})}),_each(_keys(i=_mergeDeep({},n,r)),function(e){e.indexOf("_")<=0&&(l+=e+":'"+i[e]+"',")}),l.trimRightStr(","));return o.attr("data-i18n",l).data("i18n",l),(a||_isUndef(a))&&D.i18n.apply(e),o},D.i18n.apply=D.i18n.render=function(e,t){if(!D.i18n.off){t=t||"";var a=(e=e||"html").beginsWithStr("<"),n=(a&&($("#i18nSpaRunTime").html(e),e="#i18nSpaRunTime"),'[data-i18n]:not([data-i18n=""])'),r=$(e).find(t+n);if(!(r=r.length?r:$(e).filter(t+n)).length||D.i18n.loaded||G)return r.each(function(e,t){var n=$(t),t=n.data("i18n")||"",r=_toObj((t=t&&!t.containsStr(":")?"html:'"+t+"'":t)||"{}"),i=r.data||r.i18ndata;i?(delete r.data,delete r.i18ndata):i=_toObj(n.data("i18nData")||"{}"),r&&!_isEmptyObj(r)&&_each(_keys(r),function(e){var t=r[e],a=D.i18n.text(t,i);_each(e.split("_"),function(e){switch(e.toLowerCase()){case"html":n.html(D.sanitizeXSS(a));break;case"text":n.text(a);break;default:n.attr(e,a)}})})}),a?$("#i18nSpaRunTime").html():void 0;B.info("Language is not initialized! Attempt to initialize."),void _setLang(_docLang()||_browserLang(1))}},D.pipes={trimLeft:function(e){return(""+e).trimLeftStr()},trimRight:function(e){return(""+e).trimRightStr()},normalize:function(e){return(""+e).normalizeStr()},lower:_pipeLower,lowerCase:_pipeLower,toLower:_pipeLower,upper:_pipeUpper,upperCase:_pipeUpper,toUpper:_pipeUpper,title:_pipeTitle,titleCase:_pipeTitle,toTitleCase:_pipeTitle,capitalize:function(e){return(""+e).capitalize()},unCapitalize:function(e){return(""+e).unCapitalize()},not:function(e){return!e},sort:_pipeSort,sortAsc:_pipeSort,sortDesc:_pipeSortDesc,asc:_pipeSort,desc:_pipeSortDesc,reverse:function(e){var t,a=e;if(_isArr(e))a=e.reverse();else if(_isStr(e)){switch(!0){case 0<=e.indexOf(","):t=",";break;case 0<=e.indexOf(" "):t=" "}t&&(a=e.split(t).reverse().join(t))}return a}},D.bindElement=function(e){D.bindElements(e,".")},D.bindElements=function(e,t){e=$(e||"body");(e=(t=t||"")&&"."==t?e.filter("[bind-element]:not([attached])"):e.find("[bind-element]:not([attached])"+t)).each(function(e,t){var a,n=_toObj(t.getAttribute("bind-element"))||{};for(a in _isBlank(n)||_attr(t,"attached",""),n)t.addEventListener(a.toLowerCase(),function(){!function _bindElEvent(e,t,a){var n=D.getElValue(e);n&&"undefined"!=n&&"null"!=n&&((t={__:{on:t,el:e}}).__[_attr(e,"name")||_attr(e,"id")||"_"]=n,D.bindData(a,t))}(this,a,n[a])})})},D.dataBind=D.bindData=function(e,t,a,n){1==arguments.length&&(_isStr(e)&&"#"==e[0]||_isEl(e)||_is$El(e))&&(t={_:0}),a=a||"";var r,i,o=_isStr(e=e||"body")&&/\s*</.test(e);if(i=o?(i=e.replace(/<\s*script/gi,"<"+(r="blocked-script-in-template")).replace(/<\s*(\/)\s*script/gi,"</"+r).replace(/<\s*textarea/gi,"<spa-vdom-textarea").replace(/<\s*(\/)\s*textarea/gi,"</spa-vdom-textarea"),$('<div style="display:none">'+i+"</div>")):$(e),_isBlank(t))return i;var c,s,d,p,u,f,_,m,h,g,l,b="",y=("$"==a[0]&&(b=a.substring(1).trim(),a=""),(b=b||i.attr("data-rendered-component"))||"_unknown_"),v=_mergeDeep({__computed__:{}},_isObj(t)?t:{__raw__:t}),S=i.find(a+"[data-bind]");function _getValue(e,t){return"-"==(e=(e||"").trim())[0]?$(t).data(e.substring(1)):"#"==e[0]?D.getElValue(e):"."==e||"this"==e?v.hasOwnProperty("__raw__")?v.__raw__:v:_find(v,e,e)}function _templateDynId(e,t){return["_runTimeTemplate",e,b,t.replace(/[^a-z0-9]/gi,"_"),_now()].join("_")}function _inlineTemplate(e,t){return D.compiledTemplates4DataBind.hasOwnProperty(y)||(D.compiledTemplates4DataBind[y]={}),D.compiledTemplates4DataBind[y][e]=I(_unmaskHandlebars(t))}function _formatBindValue(e,t,a,n){var r=t,i=(e=e.trim()).trim(),o=i.indexOf("("),s=[];if("."==(i=0<o?i.substring(0,o):i)[0]){if(i=i.substring(1),!D.pipes.hasOwnProperty(i)){s=(s=e.substring(o+1,e.indexOf(")")).trim())?s.split(",").map(_strToNative):[];try{r=t[i].apply(t,s)}catch(e){console.warn("Error calling format function ."+i+"() on:",t,n,e)}return r}i="xsr.pipes."+i}return D.renderUtils.runCallbackFn(i,["(...)",t,a,v,n],n)}return _each(S=(S=S.length?S:i.filter(a+"[data-bind]")).length&&!o&&b?S.filter(function(){return $(this).closest("[data-rendered-component]").attr("data-rendered-component")==b}):S,function(l){var e,t;c=$(l),l.hasAttribute("data-src")&&!l.hasAttribute("async-in-progress")?(t=!0,(e=_toObj(_attr(l,"data-src"))).hasOwnProperty("on")&&(t=v&&v.__,e.on&&t&&(v=v.__,t=0<=e.on.split(",").map(function(e){return e.trim()}).indexOf(v.on))),t&&(_attr(l,"async-in-progress",""),l.id||_attr(l,id,"el-"+_now()+_rand(1,9999)),t={url:D.api.url(e.url,v),method:e.method||"GET",success:function(e){D.bindData("#"+l.id,e)},error:function(){l.removeAttribute("async-in-progress"),e.onError?D.renderUtils.runCallbackFn(e.onError,["(...)",l,this],l):console.warn("Failed to retrieve data.")}},e.payload&&(delete v.on,delete v.el,t.data="stringify"==e.payload?JSON.stringify(v):v),e.headers&&(t.headers=e.headers),B.log("async data-bind:",l,t),N(t))):(l.removeAttribute("async-in-progress"),(s=c.data("bind")||"")&&!s.containsStr(":")&&(s=_defaultAttr(l)+":'"+s+"'"),d=_toObj(s||"{}"),h=D.renderUtils.getFn(c.attr("data-bind-callback")||""),d&&!_isEmptyObj(d)&&_each(_keys(d),function(e){p=(d[e]+"|").split("|"),u=p.shift().trim(),g="!"==u[0],_is(_=g?!_getValue(u=u.substring(1).trim(),l):_getValue(u,l),"undefined|null")&&(_="");for(var t=0;t<p.length;t++)(f=p[t].trim())&&(_="!"==f[0]?"!"==f?!_:!_formatBindValue(f=f.substring(1).trim(),_,u,l):_formatBindValue(f,_,u,l));_each(e.split("_"),function(e){var t="";if(e=e.trim(),!_isUndef(_))switch(e.toLowerCase()){case"html":c.html(D.sanitizeXSS(_));break;case"text":c.text(_);break;case"value":_attr(l,"value",_);break;case"options":var a=d.startAt||_attr(l,"data-options-from")||0,n=d.sortOn||_attr(l,"data-sort-on")||0,r=d.sortBy||_attr(l,"data-sort-by")||"";d.valueKey&&_attr(l,"data-value-key",d.valueKey),d.textKey&&_attr(l,"data-text-key",d.textKey),D.optionsList(l,_,a,n,r),delete d.options,delete d.sortOn,delete d.sortBy,delete d.startAt,delete d.valueKey,delete d.textKey;break;case"sorton":case"sortby":case"startat":case"valuekey":case"textkey":break;case"selectvalue":case"selectedvalue":d.hasOwnProperty("options")?console.warn("Incorrect Order. Move options: first, finally select...",l):/select/i.test(l.tagName)&&(l.hasAttribute("multiple")?(_isArr(_)||(o=_attr(l,"data-split-by")||",",_=(""+_).split(o).map(function(e){return e.trim()})),_selectOptionsFor(l,"value",_)):D.selectOptionForValue(l,_));break;case"selecttext":case"selectedtext":d.hasOwnProperty("options")?console.warn("Incorrect Order. Move options: first, finally select...",l):/select/i.test(l.tagName)&&(l.hasAttribute("multiple")?(_isArr(_)||(o=_attr(l,"data-split-by")||",",_=(""+_).split(o).map(function(e){return e.trim()})),_selectOptionsFor(l,"text",_)):D.selectOptionForText(l,_));break;case"selectindex":case"selectedindex":d.hasOwnProperty("options")?console.warn("Incorrect Order. Move options: first, finally select...",l):/select/i.test(l.tagName)&&(l.hasAttribute("multiple")?(_isArr(_)||(o=_attr(l,"data-split-by")||",",_=(""+_).split(o).map(function(e){return e.trim()})),_.forEach(function(e){_isEl(l.options[+e])&&(l.options[+e].selected=!0,_attr(l.options[+e],"selected",""))})):_isEl(l.options[+_])&&(l.options[+_].selected=!0,_attr(l.options[+_],"selected","")));break;case"$":case"check":/checkbox|radio/i.test(l.type)&&("boolean"===_of(_)?l.checked=_:l.checked=l.value.equalsIgnoreCase(""+_),l.checked?_attr(l,"checked",""):l.removeAttribute("checked"));break;case"if":t=u.replace(/[^a-z0-9]/gi,"_"),v.__computed__[t]=_;var i,a=c.attr("data-bind-template");a?i=D.compiledTemplates4DataBind[y][a]:(n="{{#if __computed__."+t+" }}"+c.html().trim()+"{{/if}}",i=_inlineTemplate(a=_templateDynId("if",u),n),c.attr("data-bind-template",a)),c.html(i(v));break;case"repeat":t=u.replace(/[^a-z0-9]/gi,"_"),v.__computed__[t]=_;var o,s,r=c.attr("data-bind-template");r?s=D.compiledTemplates4DataBind[y][r]:(n="{{#each __computed__."+t+((o=(d.repeatAs||d.as||"").replace(/[,|:]/g," ").normalizeStr())?" as |"+o+"|":"")+" }}"+c.html().trim()+"{{/each}}",s=_inlineTemplate(r=_templateDynId("repeat",u),n),c.attr("data-bind-template",r)),c.html(s(v));break;case"as":case"repeatas":break;default:!0===/^\./.test(e)?(a=e.replace(/[\.\,]/g," ").normalizeStr(),c[_?"addClass":"removeClass"](a)):(c.attr(e,_),e.beginsWithStr("data-")&&(m=D.dotToCamelCase(e.getRightStr("-").replace(/-/g,".")))&&c.data(m,_))}}),h&&h.call(l,l)}))}),n||o||!i.is("[data-rendered-component]")||(_isBlank(S=i.attr("data-rendered-component"))||D.renderUtils.runCallbackFn("app."+S+".bindCallback",v,app[S])),o||(S=i.find("[data-rendered-component]").filter(function(){return this.hasAttribute("data-x-component-$data")||this.hasAttribute("data-x-$data")||this.hasAttribute("data-spa-component-$data")||this.hasAttribute("data-spa-$data")||this.hasAttribute("spa-$data")})).length&&S.each(function(){l=function _get$dataInAttr(e,t,a){var n="app."+(t=t.replace(/[^a-z0-9]/gi,"_"))+".";_isObj(a)&&(D.tempBind$data.hasOwnProperty(t)||(D.tempBind$data[t]={}),D.tempBind$data[t].$data=_mergeDeep({},_find(app,t+".$data",{}),a),n="xsr.tempBind$data."+t+".");a=$(e),t=a.data(),e=(a.attr("data-x-component")||a.attr("data-spa-component")||"").split("|"),(e=(e[1]||"").trim())&&(e=_toObj(e=/\:\s*\$data/.test(e)?e.replace(/\:\s*\$data/g,":"+n+"$data"):e));var r=a.attr("data-x-component-options")||a.attr("data-x-$options")||a.attr("data-spa-component-options")||a.attr("data-spa-$options")||a.attr("spa-$options")||"{}";(e=_mergeDeep({},e,t,_toObj(r))).hasOwnProperty("data")&&_isStr(e.data)&&(t=e.data.trim(),/^\$data/.test(t)&&(t=n+t),e.data=_mergeDeep({},_find(window,t,{})));r=(a.attr("data-x-component-$data")||a.attr("data-x-$data")||a.attr("data-spa-component-$data")||a.attr("data-spa-$data")||a.attr("spa-$data")||"").trim();r&&(/\:\s*\$data/.test(r)&&(r=r.replace(/\:\s*\$data/g,":"+n+"$data")),_isBlank(e.data)?e.data=_toObj(r):_mergeDeep(e.data,_toObj(r)));!_isBlank(e.data)&&e.data.hasOwnProperty("$data")&&(t=_mergeDeep({},e.data.$data),delete e.data.$data,_mergeDeep(e.data,t));return e.hasOwnProperty("data")?e.data:{}}(this,b,t),D.bindData(this,l)}),v=null,o?i.html().replace(new RegExp(r,"g"),"script").replace(/spa-vdom-textarea/g,"textarea"):i},D.bindTemplateData=function(e,t){var a=e;if(/^\s*#[a-z]+/i.test(e)&&(a=$(e).html()),_isBlank(t))return a;if(/ data-bind\s*=/i.test(a)&&(a=D.bindData(e,t)),/{{(.+)}}/.test(a))if(I)try{a=I(a)(t)}catch(e){console.warn("Error Template compile/bind.",e)}else console.warn("Template Library (Handlebars/doT) not found!");return a},D.togglePassword=function(e){var t;$(e).next(".icon.eye").length||((t=$('<i class="icon eye"></i>')).on("click",function(e){e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation();var e=$(this).prevAll(".toggle-password"),t="text"==e.attr("type")?"password":"text";e.attr("type",t).toggleClass("text")}),$(t).insertAfter(e))},D.initTogglePassword=function(e){$(e||"body").find(".toggle-password").each(function(e,t){B.info("Initializing toggle password",t),D.togglePassword(t)})},D.isElValueChanged=function(e){var a,t,e=$(e);if(e.length)if("checkbox"==(t=e[0]).type)a=t.checked!=t.defaultChecked;else if("radio"==t.type)$(t).closest("form").find(':radio[name="'+t.name+'"]').each(function(e,t){a=a||t.checked!=t.defaultChecked});else if(0<="INPUT,TEXTAREA".indexOf(t.tagName))a=t.value!=t.defaultValue;else if("SELECT"==t.tagName){for(var n,r=0,i=0,o=t.options.length;i<o;i++)n=t.options[i],a=a||n.selected!=n.defaultSelected,n.defaultSelected&&(r=i);a&&!t.multiple&&(a=r!=t.selectedIndex)}return a},D.resetElDefaultValue=function(e){$(e).each(function(e,t){if(0<",checkbox,radio".indexOf(t.type))t.defaultChecked=t.checked;else if(0<",INPUT,TEXTAREA".indexOf(t.tagName))t.defaultValue=t.value;else if("SELECT"==t.tagName)for(var a,n=0,r=t.options.length;n<r;n++)(a=t.options[n]).defaultSelected=a.selected;$(t).trigger("change")})},D.resetToDefaultValue=function(e){$(e).each(function(e,t){if(0<",checkbox,radio".indexOf(t.type))t.checked=t.defaultChecked;else if(0<",INPUT,TEXTAREA".indexOf(t.tagName))t.value=t.defaultValue;else if("SELECT"==t.tagName)for(var a,n=0,r=t.options.length;n<r;n++)(a=t.options[n]).selected=a.defaultSelected;$(t).trigger("change")})},D.updateTrackFormCtrls=function(e){var t,a,n,r,i,o,s;e&&(t=(e=$(e)).find(".tracking-change.changed").length,r=!(_isBlank(r=D.validateForm("#"+e.attr("id")))||1==r[0].errcode)||e.find(".validation-error,.validation-pending").length,a=0<t&&!r,n=!r,r=e.find(".ctrl-on-change,.ctrl-on-validate"),e.attr("data-changed",t).data("changed",t),r.each(function(e,t){i=$(t),o=i.hasClass("ctrl-on-change")?a:n,_isBlank(s=i.attr("onBeforeChange"))||(0<s.indexOf("(")&&(s=s.getLeftStr("(")),s=_find(window,s.trim(),void 0),o=_isFn(s)?!!s.call(t,o):o),i.is(":disabled")==o&&(i.prop("disabled",!o).addClass(o?"":"disabled").removeClass(o?"disabled":""),i.trigger("change"))}))},D.trackFormElChange=function _trackFormElChange(e,t){function eTrackChange(e){if("change"==e.type||e.key&&(1==e.key.length||0<="BackspaceDelete".indexOf(e.key))){var t,a=!1,n=$(this).closest("form"),r=n.find(".tracking-change.changed").length;if("checkbox"==this.type)a=this.checked!=this.defaultChecked;else if("radio"==this.type)n.find(':radio[name="'+this.name+'"]').each(function(e,t){t.checked==t.defaultChecked&&$(t).removeClass("changed"),a=a||t.checked!=t.defaultChecked});else if(0<="INPUT,TEXTAREA".indexOf(this.tagName))a=this.value!=this.defaultValue,t="change"!=e.type;else if("SELECT"==this.tagName){for(var i,o=0,s=0,l=this.options.length;s<l;s++)i=this.options[s],a=a||i.selected!=i.defaultSelected,i.defaultSelected&&(o=s);a&&!this.multiple&&(a=o!=this.selectedIndex)}$(this)[a?"addClass":"removeClass"]("changed"),D.updateTrackFormCtrls(n),null!=r&&t&&n.trigger("change")}}$(t||"body").find(e).each(function(e,t){"FORM"==t.tagName.toUpperCase()?D.trackFormElChange($(t).find(".track-change").length?".track-change":"input,textarea,select",t):function elTrackChange(e){var t,a,n,r="change",i=$(e);if(0<",checkbox,radio".indexOf(e.type))e.defaultChecked=e.checked;else if(0<",INPUT,TEXTAREA".indexOf(e.tagName))e.defaultValue=e.value,r="keyup change";else{if("SELECT"!=e.tagName)return;for(t=0,a=e.options.length;t<a;t++)(n=e.options[t]).defaultSelected=n.selected}i.removeClass("track-change changed"),D.updateTrackFormCtrls(i.closest("form")),e.className.indexOf("tracking-change")<0&&i.addClass("tracking-change").on(r,eTrackChange)}(t)})},D.initTrackFormElChanges=function(e){$(e||"body").find("form.track-changes,form:has(.ctrl-on-change,.track-change)").each(function(e,t){B.info("Initializing Form Elements Track: Form ["+(t.id||t.name)+"]"),D.trackFormElChange(t)})},D.getModifiedElement=function(e){var t,a=void 0;return _every($(e||"form:not([data-ignore-change]) :input:not(:disabled,:button,[data-ignore-change])"),function(e){return t||(t=e.tagName.match(/^(select|textarea)$/i)&&e.value!=e.defaultValue||e.tagName.match(/^input$/i)&&(e.type.match(/^(checkbox|radio)$/i)&&e.checked!=e.defaultChecked||e.type.match(/^(text|password|hidden|color|email|month|number|tel|time|url|range|date|datetime|datetime-local)$/i)&&e.value!=e.defaultValue)?!0:t)&&(a=e),!t}),a},D.getModifiedElements=function(e){var a,n=[];return $(e||"form:not([data-ignore-change]) :input:not(:disabled,:button,[data-ignore-change])").each(function(e,t){a=!1,(a=t.tagName.match(/^(select|textarea)$/i)&&t.value!=t.defaultValue||t.tagName.match(/^input$/i)&&(t.type.match(/^(checkbox|radio)$/i)&&t.checked!=t.defaultChecked||t.type.match(/^(text|password|hidden|color|email|month|number|tel|time|url|range|date|datetime|datetime-local)$/i)&&t.value!=t.defaultValue)?!0:a)&&n.push(t)}),n},D.initTrackElValueChanges=D.resetElementsDefaultValue=function(e){$(e||"form :input:not(:disabled)").each(function(e,t){t.defaultValue=t.value,t.tagName.match(/^input$/i)&&t.type.match(/^(checkbox|radio)$/i)&&t.checked!=t.defaultChecked&&(t.defaultChecked=t.checked)})},D.trash={container:[],push:function(e){this.container.push(e)},empty:function(){this.container=[]},pick:function(e){return e?this.container[e]:this.container}},D.fillData=function(s,l,e){var t="object"==typeof s,c=(l&&"object"==typeof l&&(e=l,l=null),l=l||"body",{dataParams:{},method:"GET",async:!0,dataCache:!1,keyFormat:"aBc",selectPattern:"[name='?']",formatterCommon:null,formatterOnKeys:null,resetElDefault:!0,resetElDefaultInContext:!0,keysMap:{}});_extend(c,e),t||N({url:s,method:(""+(c.method||"GET")).toUpperCase(),data:c.dataParams,cache:c.dataCache,async:c.async,dataType:"text",success:function(e){s=_toObj(""+e),function _fillData(){var o=c.keyFormat,e=(o=null!=(o=null!=o.match(/^[a-z]/)?"aBc":o).match(/^[A-Z]/)?"AbC":o,_keysDotted(s));B.group("fillData"),B.info(e),_each(e,function(e){B.group(">>"+e);var t=""+(e.replace(/[\[\]]/g,"_")||""),a=e.replace(/\[[0-9]+\]/g,""),n=/\[[0-9]+\]/.test(e);switch(o){case"_":t=D.dotToX(t,"_"),a=D.dotToX(a,"_");break;case"AbC":t=D.dotToTitleCase(t),a=D.dotToTitleCase(a);break;default:t=D.dotToCamelCase(t),a=D.dotToCamelCase(a)}var n={patternKey:t+(n?" || "+a:""),formatterKey:a,isArrayChild:n},n=(D.trash.push(n),B.info(n),D.trash.empty(),c.selectPattern.replace(/\?/g,t)),r=((c.keysMap[t]||c.keysMap[a])&&(c.keysMap[t]=c.keysMap[t]||{},c.keysMap[a]=c.keysMap[a]||{},c.keysMap[t].pattern=c.keysMap[t].pattern||c.keysMap[a].pattern,c.keysMap[t].pattern&&(n=c.keysMap[t].pattern.replace(/\?/g,t)),c.keysMap[a].formatter&&(c.formatterOnKeys=c.formatterOnKeys||{},c.formatterOnKeys[a]=c.keysMap[a].formatter)),$(l).find(n).length),i=(B.info(">> "+n+" found: "+r),null);0<r&&(i=_find(s,e),!c.formatterOnKeys&&c.formatterCommon&&(i=c.formatterCommon(i,e,s)),c.formatterOnKeys&&(c.formatterOnKeys[a]?i=c.formatterOnKeys[a](i,e,s):c.formatterCommon&&(i=c.formatterCommon(i,e,s))),B.info({value:i})),$(l).find(n).each(function(e,t){switch(B.info(t),t.tagName.toUpperCase()){case"INPUT":switch(t.type.toLowerCase()){case"text":case"password":case"hidden":case"color":case"date":case"datetime":case"datetime-local":case"email":case"month":case"number":case"search":case"tel":case"time":case"url":case"range":case"button":case"submit":case"reset":$(t).val(i),!c.resetElDefaultInContext&&c.resetElDefault&&(t.defaultValue=t.value);break;case"checkbox":case"radio":t.checked=t.value.equalsIgnoreCase(i),!c.resetElDefaultInContext&&c.resetElDefault&&(t.defaultChecked=t.checked)}break;case"SELECT":D.selectOptionForValue(t,i),!c.resetElDefaultInContext&&c.resetElDefault&&(t.defaultValue=t.value);break;case"TEXTAREA":$(t).val(i),!c.resetElDefaultInContext&&c.resetElDefault&&(t.defaultValue=t.value);break;default:$(t).html(D.sanitizeXSS(i))}}),B.groupEnd(">>"+e)}),B.groupEnd("fillData"),c.resetElDefaultInContext&&D.resetElementsDefaultValue(l+" :input")}()},error:function(e,t,a){B.error("Failed loading data from ["+s+"]. ["+t+":"+a+"]"),(_isFn(app.api.onError)?app.api.onError:D.api.onReqError).call(this,e,t,a)}})},D.toRenderDataStructure=function(t,e,a){function Xl(t,a){return a&&_keys(a).length&&_each(_keys(a),function(e){t=t.replace(new RegExp("{"+e+"}","gi"),a[e])}),t}var n={},r={},i={},o={};switch(e&&(o=_isStr(e)?D.queryStringToJson(e):_isObj(e)?e:{}),!0){case _isStr(t):t.containsStr("\\|")&&(n.dataModel=D.getOnSplit(t,"|",0),t=D.getOnLastSplit(1)),n.dataUrl=Xl(t,a),_isEmpty(o)||(n.dataParams=o);break;case _isArr(t):r={urls:[]},i={},_each(t,function(e){i={url:Xl(e,a),params:o},e.containsStr("\\|")&&(i.target=D.getOnSplit(e,"|",0),i.url=Xl(D.getOnLastSplit(1),a)),r.urls.push(i)});break;case _isObj(t):r={urls:[]},i={},_each(_keys(t),function(e){i={name:e,url:Xl(t[e],a),params:o},t[e].containsStr("\\|")&&(i.target=D.getOnSplit(t[e],"|",0),i.url=Xl(D.getOnLastSplit(1),a)),r.urls.push(i)})}return _isEmpty(r.urls)||(n.dataCollection=r),n},{}),s=(D.env="",D.compiledTemplates4DataBind={},D.compiledTemplates={},D.viewModels={},D.renderHistory={},D.renderHistoryMax=0,D.components={},D.tempBind$data={},D.defaults={alias:"",components:{templateEngine:"handlebars",rootPath:"app/components/",inFolder:!0,templateExt:".html",scriptExt:".js",templateScript:!0,templateCache:!0,dataPreRequest:"",render:"",callback:"",extend$data:!0,offline:!1,functional:!0,sanitizeApiXss:!1,renderOnDomChange:!1},routes:{base:"#",attr:{route:"data-spa-route",params:"data-spa-route-params",onNavAway:"onNavAway"},className:{hide:"HIDE-SPA-NAV",block:"BLOCK-SPA-NAV",allow:"ALLOW-SPA-NAV"},onClickAs:"click"},lang:{reset:!0,url:"",method:"GET",path:"app/language/",prefix:"Language_",ext:".txt",cache:!0,async:!0},validation:{xss:{on:"input_onBlur",fn:"_check.xss",msg:"i18n:invalid.input"}},csp:{nonce:""},set:function(e,t){var a=D.defaults.components.renderOnDomChange;return _isObj(e)?(e.hasOwnProperty("set")&&delete e.set,_mergeDeep(this,e)):"string"==typeof e&&("components.extend$data"==e?D.defaults.components.extend$data=t:D.setSimpleObjProperty(this,e,t)),a!==D.defaults.components.renderOnDomChange&&(D.defaults.components.renderOnDomChange?observeDOM:function stopDomObserve(){H&&(H.disconnect(),H=null,B.log("Stopped: Observing DOM for changes."))})(),this}},{render:__$render,refresh:__$refresh,show:__$show,hide:__$hide,enable:__$enable,disable:__$disable,remove:__$remove,destroy:__$destroy,render$:__$render,refresh$:__$refresh,show$:__$show,hide$:__$hide,enable$:__$enable,disable$:__$disable,remove$:__$remove,destroy$:__$destroy}),Q=(SPAComponent.prototype=s,"api,debug,lang"),Z=(D.component=D.$=D.registerComponent=function(e,t){var a,n,r,i=!!t,o=e;if(t=t||{},e)if(_isObj(e)&&(e=((t=_mergeDeep({},e)).name||t.componentName||"spaComponent"+_now()).trim().trimLeftStr("/").trimLeftStr("_"),t.componentName=e,o=e),_isStr(o)){if(e=e.trim().trimLeftStr("/").trimLeftStr("_"),o=e,0<=Q.indexOf(o))console.error('Invalid component name "'+o+'". Cannot create a component with these names: '+Q);else if(_isStr(o)&&o&&(o=o.trim())){if(!i)return i=-1,0<o.indexOf(" ")&&(a=o.getRightStr(" ").trim(),o=o.getLeftStr(" ")),0<o.indexOf(":")&&(i=D.toInt(o.getRightStr(":").trim()),o=o.getLeftStr(":")),o=o.replace(/[^a-z0-9]/gi,"_"),D.components[o]||console.warn('Unknown SPA Component "'+(e.getLeftStr(" ")||e)+'"'),(n=$('[data-rendered-component="'+o+'"]')).length&&0<=i&&(n=$(n[i])),a&&n.length?"<"==a[0]?(a=a.getRightStr(0).trim(),n.find("[data-rendered-component]").length?n.find(a).filter(function(){return $(this).closest("[data-rendered-component]").data("renderedComponent")==o}):n.find(a)):n.find(a):n;if(/[^a-z0-9\/]/gi.test(o)||!/^([a-z])/i.test(o))console.error('Invalid component name "'+o+'" to create. Component name must contain only Alphanumeric (a-z A-Z 0-9) and must begin with alphabet (a-z A-Z).');else if(/[^a-z0-9]/gi.test(o)&&(o=o.replace(/[^a-z0-9]/gi,"_")),!D.components[o])return t.componentName=o,t.hasOwnProperty("beforeRender")||(t.beforeRender="app."+o+".onRender"),t.hasOwnProperty("renderCallback")||(t.renderCallback="app."+o+".renderCallback"),t.hasOwnProperty("require")&&D.loadComponents(t.require,function(){B.log("Required components successfully loaded.")},function(){B.log("Failed to load required components.")}),r=_mergeDeep({},t=_adjustComponentOptions(o,t)),_each(["target","template","templateCache","templateScript","templateEngine","sanitizeApiXss","templateUrl","templateUrlMethod","templateUrlParams","templateUrlPayload","templateUrlHeaders","onTemplateUrlError","style","styleCache","styles","stylesCache","scripts","scriptsCache","require","dataPreRequest","data","skipDataBind","skipDefaultBind","skipKoBind","useSpaBind","dataCollection","dataUrl","dataUrlMethod","dataUrlParams","dataUrlHeaders","defaultPayload","stringifyPayload","dataParams","dataType","dataModel","dataCache","dataUrlCache","dataDefaults","data_","dataExtra","dataXtra","onDataUrlError","onError","dataValidate","dataProcess","dataPreProcessAsync","renderMode","lang","beforeRender","beforeRefresh","componentName"],function(e){delete t[e]}),_isStr(t.renderCallback)&&delete t.renderCallback,_each(_keys(t),function(e){delete r[e]}),r.renderCallback="app."+o+".renderCallback",r&&r.data&&_isObj(r.data)&&r.dataUrl&&(_isObj(r.dataDefaults)?r.dataDefaults=_mergeDeep({},r.dataDefaults,r.data):r.dataDefaults=r.data,delete r.data),D.components[o]=r,D.extendComponent(e,t),window.app[o]||new SPAComponent(e)}}else console.error("Invalid ComponentName:",o);else console.error("Missing ComponentName to register.")},D.$$=D.registerComponents=function(){var t;arguments.length&&(_isObj(t=1==(t=arguments).length?!_isArr(arguments[0])&&_isStr(arguments[0])?arguments[0].split(","):arguments[0]:t)?_each(_keys(t),function(e){B.info("Registering x-component:["+e+"]"),D.registerComponent(e,t[e])}):t&&t.length&&_each(t,function(e){B.info("Registering x-component:",e),D.registerComponent(e.trim(),{})}))},D.extendComponent=D.$extend=D.module=function(e,t){t=t||{},e?(_isObj(e)&&(e=((t=_mergeDeep({},e)).name||t.componentName||"spaComponent"+_now()).trim().trimLeftStr("/").trimLeftStr("_"),t.componentName=e),_isStr(e)&&e?(e=e.trim().trimLeftStr("/").trimLeftStr("_"))&&(0<=Q.indexOf(e)?console.error("Invalid component name "+e+". Cannot extend Reserved components: "+Q.join()):/[^a-z0-9\/]/gi.test(e)||!/^([a-z])/i.test(e)?console.error('Invalid component name "'+e+'" to extend. Component name must contain only Alphanumeric (a-z A-Z 0-9) and must begin with alphabet (a-z A-Z).'):(/[^a-z0-9]/gi.test(e)&&(e=e.replace(/[^a-z0-9]/gi,"_")),window.app=window.app||{},window.app[e]=window.app[e]||new SPAComponent(e),t=_isObj(t=t&&_isFn(t)?t.call(D.components[e]||{}):t)?t:{},D.components[e]||(D.components[e]={componentName:e,beforeRender:"app."+e+".onRender",renderCallback:"app."+e+".renderCallback"}),D.components[e]&&(t.__prop__&&_mergeDeep(D.components[e],_extend({},t.__prop__)),t.__prop__=D.components[e]),_extend(window.app[e],t),window["$$"+e]=window.app[e])):console.error("Invalid ComponentName:",e)):console.error("Missing ComponentName to extend.")},D.extendComponents=D.$$extend=function(){var t;arguments.length&&(_isObj(t=1==(t=arguments).length?!_isArr(arguments[0])&&_isStr(arguments[0])?arguments[0].split(","):arguments[0]:t)?_each(_keys(t),function(e){B.info("Extend x-component:["+e+"]"),D.extendComponent(e,t[e])}):t&&t.length&&_each(t,function(e){B.info("Extend x-component:",e),D.extendComponent(e.trim())}))},D.$bind=function(e,t){e=String(e).replace(/[^a-z0-9]/gi,"_"),_isBlank(t)&&(t=_find(app,e+".$data",{})),D.$(e).spaBindData(t)},D.$data=function(t,e,a){var n,r;return t=((t=String(t).replace(/[^a-z0-9]/gi,"_"))||"").trim(),a=a||"update",t&&(app.hasOwnProperty(t)?(n=_find(app,t+".$data"),e&&(n=function update$data(e){return _isObj(e)&&(["update","merge"].__has(a,"i")?_mergeDeep(app[t].$data,e):["*","reset","replace","overwrite"].__has(a,"i")&&(app[t].$data=e)),app[t].is$DataUpdated=D.components[t].is$DataUpdated=!0,app[t].$data}(_isFn(e)?e.call(app[t],app[t].$data):e),D.$(t).is(":visible")?(r=(e=D.components[t]).dataCache,e=(e.on$dataChange||"").trim().toLowerCase(),r&&e&&["render","refresh","bind"].__has(e)&&(B.log(t+"$"+e+" on $data update ..."),spa["$"+e](t)),D.renderUtils.runCallbackFn("app."+t+".$dataChangeCallback",app[t].$data,app[t])):_cInfoMsg("Component is not visible! Skipped $on$dataChange."),D.$dataNotify(t))):B.warn("SPA Component[",t,"] is not loaded.")),n},D.$dataWatch=function(e,t,a){if((e=String(e).replace(/[^a-z0-9]/gi,"_"))&&t&&_isFn(a)){if(n.hasOwnProperty(e)||(n[e]={}),!n[e].hasOwnProperty(t))return n[e][t]=a,!0;console.warn("$dataWatch [",t,"] already exists in spa$[",e,"]")}},D.$dataUnwatch=function(e,t){var a;return(e=String(e).replace(/[^a-z0-9]/gi,"_"))&&t&&n.hasOwnProperty(e)&&("*"==t&&(delete n[e],a=!0),n[e].hasOwnProperty(t)&&(delete n[e][t],a=!0)),a||console.warn("$dataWatch [",t,"] does not exist in spa$[",e,"]"),a},D.$dataNotify=function(t,e){var a;(t=String(t).replace(/[^a-z0-9]/gi,"_"))&&n.hasOwnProperty(t)&&(a=_keys(n[t]),_each(a=e?e.split(","):a,function(e){e=(e||"").trim(),n[t].hasOwnProperty(e)&&n[t][e].call(void 0,app[t].$data,app[t],e)}))},D.$renderCount=function(e){return _find(window,"app."+String(e).replace(/[^a-z0-9]/gi,"_")+".__renderCount__",0)},D.removeComponent=function(e,n){var t,a,r;function isOk2Remove$(e){var t,a=_isBlank(e=String(e).replace(/[^a-z0-9]/gi,"_").trim());return(a=a||(_isUndef(t=D.renderUtils.runCallbackFn("app."+e+".onRemove",n||"_script_",app[e]))||_isBool(t)&&t))||B.warn("Remove $"+e+" request denied onRemove()"),a}return e=(e||"").replace(/[^a-z0-9]/gi,"_").trim(),n=n&&(e==n?"_self_":n),e&&((a=$('[data-rendered-component="'+e+'"]')).length?(0==(r=a.find("[data-rendered-component]").map(function(){return $(this).attr("data-rendered-component")})).length||_every(r,isOk2Remove$))&&isOk2Remove$(e)&&(a.html("").text("").val("").data("renderedComponent","").removeAttr("data-rendered-component"),t=!0):t=!0),_isBool(t)&&t},D.destroyComponent=function(e){var t;return(e=(e||"").replace(/[^a-z0-9]/gi,"_").trim())&&D.removeComponent(e)&&(delete app[e],D.components[e]&&((t=_find(D.components[e],"template",""))&&!t.beginsWithStr("#")&&(t="#__tmpl_"+(""+t).replace(/[^a-z0-9]/gi,"_")),$("script"+t).remove(),delete D.components[e],delete D.compiledTemplates4DataBind[e],delete D.compiledTemplates[e],delete n[e],t=!0)),t},D.showComponent=function(e,t){var a=(e||"").replace(/[^a-z0-9]/gi,"_").trim();a&&((a=$('[data-rendered-component="'+a+'"]')).length?a.show():D.$render(e,t))},D.hideComponent=function(e){(e=(e||"").replace(/[^a-z0-9]/gi,"_").trim())&&$('[data-rendered-component="'+e+'"]').hide()},D.disableComponent=function(e){(e=(e||"").replace(/[^a-z0-9]/gi,"_").trim())&&$('[data-rendered-component="'+e+'"]').css("pointer-events","none").addClass("disabled").attr("disabled","disabled")},D.enableComponent=function(e){(e=(e||"").replace(/[^a-z0-9]/gi,"_").trim())&&$('[data-rendered-component="'+e+'"]').css("pointer-events","auto").removeClass("disabled").removeAttr("disabled")},D.removeComponents=D.$remove=D.$$remove=function(){_spaComponentOp.apply({action:"removeComponent"},arguments)},D.destroyComponents=D.$destroy=D.$$destroy=function(){_spaComponentOp.apply({action:"destroyComponent"},arguments)},D.showComponents=D.$show=D.$$show=function(){_spaComponentOp.apply({action:"showComponent"},arguments)},D.hideComponents=D.$hide=D.$$hide=function(){_spaComponentOp.apply({action:"hideComponent"},arguments)},D.enableComponents=D.$enable=D.$$enable=function(){_spaComponentOp.apply({action:"enableComponent"},arguments)},D.disableComponents=D.$disable=D.$$disable=function(){_spaComponentOp.apply({action:"disableComponent"},arguments)},D.refreshComponent=D.$refresh=function(e,t){e&&_isObj(t=t||{})&&(t.hasOwnProperty("beforeRender")||(t.beforeRender=t.beforeRefresh||"app."+e.replace(/[^a-z0-9]/gi,"_")+".onRefresh"),t.hasOwnProperty("renderCallback")||(t.renderCallback=t.refreshCallback||"app."+e.replace(/[^a-z0-9]/gi,"_")+".refreshCallback"),t.isRefreshCall=!0,B.info("Calling refreshComponent: "+e+" with below options"),B.info(t),D.$render(e,t))},{}),Y=(D.$lock=lock$render,D.$unlock=unlock$render,D.$Locked=is$renderLocked,D.isRendering=_isRendering,D.renderComponent=D.$render=function(e,a){arguments.length||(d=b.body.id||"spa-doc-body",b.body.id=d,e="#"+d),B.log("~ renderComponent",e,a);var n=e;if(!is$renderLocked(n))if(lock$render(n),y){if("complete"!==b.readyState&&("loading"===b.readyState||b.documentElement.doScroll))return lock$render(n),B.info("DOM NOT Ready. will render component ["+e+"] on DOM Ready."),void b.addEventListener("DOMContentLoaded",function(){unlock$render(n),D.renderComponent(e,a)});if(B.info(">>> spa.$render:",e,a),a=a||{},e){var t,r,i=e;_isObj(e)&&(a=_mergeDeep({},e),e=a.name||a.componentName||"spaComponent"+_now(),a.componentName=e,i=e),a._reqFrTag_;if(_isStr(e))if("$"!=(e=e.trim())[0]&&"#"==e[0])(d=$(e)[0])&&!d.hasAttribute("src")?D.renderComponentsInHtml(e):$(e).spaRender(a);else{if(!(a&&_isObj(a)&&a.isRefreshCall)&&D.$renderCount(i)&&_find(window,"app."+i+".refreshCallback",""))return B.info("Component ["+e+"] has been rendered already. Refreshing instead of re-render."),void D.refreshComponent(i,a);if(B.info("Called renderComponent: "+e+" with options",a),/\/$|\/\/|\.|\?|\#/.test(i)&&"$"!=e[0])return(d=i)[0]===D.api.urlKeyIndicator&&(o=i.trimLeftStr(D.api.urlKeyIndicator),d=D.api.urls[o]||""),a.componentUrl=d,B.info("Called to render ServerComponent: ["+i+"] with options",a),o&&!d&&console.warn("ComponentURL undefined: app.api.urls."+o),void(d&&(t=a.targetEl,o=__finalValue(_toObj(a.urlHeaders),a),r=__finalValue(_toObj(a.urlParams),a),p=__finalValue(_toObj(a.urlPayload),a),s=(a.urlMethod||"GET").toLowerCase(),m="false"!==String(a.urlCache||"false").toLowerCase(),d=D.api.url(d,r),r=__finalValue(a.urlError),B.log("Loading ServerComponent ..."),D.api[s](d,p,function _onSuccess(e){$(t).html(e),D.renderComponentsInHtml(t)},function _onFail(e,t,a){this.onError&&_isFn(this.onError)?this.onError.call(this,e,t,a):(console.warn("Unable to load ServerComponent."),console.error(String(t).toUpperCase()+":"+a,e))},{ajaxOptions:{dataType:"html",headers:o,cache:m,onError:r}})));function Fo(){B.info("_renderComp: "+i+" with below options"),B.info(a),D.components[i].hasOwnProperty("template")||(D.components[i].hasOwnProperty("templateStr")||D.components[i].hasOwnProperty("templateString")?(c=D.components[i].templateStr||D.components[i].templateString||"",D.updateTemplateScript(l,c),D.components[i].template="#"+l):D.hasPrimaryKeys(D.components[i],"templateUrl")?((t=(D.components[i].templateUrl||"").trim())&&/^(\.\/)/.test(t)&&(t=u+t.substring(2)),D.components[i].template=t):D.components[i].template=_),B.info("render-options: xsr.components["+i+"]"),B.info(D.components[i]);var e,t=a&&a.saveOptions?D.components[i]:_extend({},D.components[i]);a&&(a.hasOwnProperty("mountComponent")||delete t.mountComponent,_extend(t,a),B.info("Extended> render-options: xsr.components["+i+"]"),B.info(t)),t.hasOwnProperty("style")&&_isStr(t.style)&&(t.dataStyles={},t.dataStyles[i+"Style"]="."==t.style||"$"==t.style?f+".css":/^(\.\/)/.test(t.style)?u+t.style.substring(2):t.style,delete t.style,B.info("Using component style for ["+i+"]"),B.info(t)),t&&_isObj(t)&&t.dataCache&&(_isBlank(e=_find(app,i+".$data",{}))?(t.dataCache=!1,B.log("dataCache:false; Using/Ajaxing new data ...")):(t.data=e,t.dataProcess=!1,B.log("dataCache:true; Using $data and ignored data + dataProcess ..."))),t.inProgress=n,D.render(t)}function Go(){var e;h?B.info("Loaded component ["+i+"] source from ["+h+"]"):B.info("Skipped Loading component ["+i+"] source from script file."),B.info("In Source> xsr.components["+i+"]"),B.info(D.components[i]),D.components.hasOwnProperty(i)||((e=D.componentsAsync[i])?g--?(B.info("Awaiting async component to load."),setTimeout(Go,15)):console.error("Failed to load async component:",i):(B.info("xsr.components["+i+"] NOT DEFINED in ["+(h||"xsr.components")+"]. Creating *NEW*"),(a=_isBlank(a)?{}:a).hasOwnProperty("componentName")||(a.componentName=i),D.components[i]=a,B.info("NEW> xsr.components["+i+"]"),B.info(D.components[i]))),e||Fo()}var o,s=!_isDynSpa$(e)&&/[^a-z0-9]/gi.test(e),l="_rtt_"+(i=s?e.replace(/[\s\$]/g,"").replace(/[^a-z0-9]/gi,"_").trimLeftStr("_"):i),c="",d=(a=_adjustComponentOptions(i,a),s?i.replace(/[^a-z0-9]/gi,"/"):i),p=i,u=(s&&(p=(o=i.split("_"))[o.length-1]),D.defaults.components.rootPath+(D.defaults.components.inFolder||s?d+"/":"")),f=u+p,_=f+D.defaults.components.templateExt,m=D.defaults.components.scriptExt,h=a&&_isObj(a)&&a.hasOwnProperty("script")?a.script:m?f+m:"",g=300;D.components.hasOwnProperty(i)?(B.info("Re-rending xsr.components["+i+"]"),B.info(D.components[i]),Fo()):h&&!_isDynSpa$(e)?(B.info("Attempt to load component ["+e+"]'s properties from ["+h+"]"),_cachedScript(h,{spaComponent:d,dataType:"spaComponent",success:Go,cache:D.defaults.components.offline}).done(noop).fail(function(){B.info("Attempt to Load component ["+e+"]'s properties from ["+h+"] has FAILED. Not to worry. Continuing to render with default properties."),Go()})):Go()}else console.error("Invalid ComponentName:",e)}else console.error("Missing ComponentName to render.")}else{if(x){if(!function _logInfoMsg(e){B.info("%ci%c "+e,"color: white; background: blue;","color: grey")}("SPA is not initialized using spa.start() before rendering a component! Attempting to self initialize."),w||(w=!0,D.start()),!y)return w=!1,unlock$render(n),void _cInfoMsg("Fail to self initialize SPA! Try to initialize using spa.start() after all modules are loaded.");B.log("SPA is self initialized.")}handleOnDomReady(function(){w=!1,x||unlock$render(n),D.renderComponent(e,a)})}},D.renderComponents=D.$$render=function(){_spaRenderRefreshComponents.apply({action:"renderComponent"},arguments)},D.refreshComponents=D.$$refresh=function(){_spaRenderRefreshComponents.apply({action:"refreshComponent"},arguments)},D.renderComponentsInHtml=function(e,r,t){e=(e=e&&"object"==typeof e&&e.length&&!e[0]?"":e)||"body",renderOptions="object"==typeof r?r:"",r="string"==typeof r?r.trim():"";var i,o,s,l,c,a=$(e);t||(function _registerEventsForComponentRender(e){$(e=e||"body").find('[href][target^="#"]:not([for])').each(function(e,t){t.setAttribute("for",t.getAttribute("href").replace(/^[#\s]+/,""))}),$(e).find("[for]:not(label):not([render-on])").each(function(e,t){_registerRenderForEl(t)}),$(e).find('form[action^="$"]:not([for]):not([render-on])').each(function(e,t){_attr(t,"for",_attr(t,"action").substring(1)),t.removeAttribute("action"),_registerRenderForEl(t)})}(e),t=_spaTagsSelector("spa-template,x-template"),$(e).find(t).each(function(){_attr(this,"data-x-component",_attr(this,"src")),_attr(this,"data-skip-data-bind","true"),_attr(this,"data-template-script","true"),this.style.display="none"}),t=_spaTagsSelector("spa-html,x-html"),$(e).find(t).each(function(){var e,t=_attr(this,"src");"$"!==t[0]&&/[^a-z0-9]/gi.test(t)||D.components[t.replace(/[^a-z0-9]/gi,"_")]||(e={templateScript:!0},!(this.hasAttribute("data")||this.hasAttribute("data-url"))?e.skipDataBind=!0:this.hasAttribute("data-url")||(e.data=this.hasAttribute("data")?_toObj(_attr(this,"data")):{}),D.$(t,e)),_attr(this,"data-x-component",t)}),t=_spaTagsSelector("spa-component,x-component"),$(e).find(t).each(function(){_attr(this,"data-x-component",_attr(this,"src"))}),t="[src]"+"audio embed iframe img input script source track video x-script [data-x-component] [data-spa-component]".split(" ").map(function(e){return":not("+e+")"}).join(""),$(e).find(t).each(function(){_attr(this,"data-x-component",_attr(this,"src"))}),a=a.find("[data-x-component],[data-spa-component]").filter(":not([render-after])")),a.length&&a.each(function(e,t){i=$(t),c=i.data();var a,n={url:"dataUrl",urlParams:"dataUrlParams",urlMethod:"dataUrlMethod",urlError:"dataUrlErrorHandle",urlErrorHandle:"dataUrlErrorHandle",urlHeaders:"dataUrlHeaders",params:"dataParams",type:"dataType",model:"dataModel",cache:"dataCache",validate:"dataValidate",process:"dataProcess"};Object.keys(c).forEach(function(e){n.hasOwnProperty(e)&&(c[n[e]]=/params|headers/gi.test(e)?_toObj(c[e]):c[e],delete c[e])}),s=(i.attr("data-x-component")||i.attr("data-spa-component")||"").split("|"),o=s[0].trim(),s=(s=(s[1]||"").trim())&&_toObj(s=/\:\s*\$data/.test(s)?s.replace(/\:\s*\$data/g,":app."+r+".$data"):s),o&&(!D.components[o]&&(t.hasAttribute("no-script")||t.hasAttribute("noscript")||t.hasAttribute("nojs")||t.hasAttribute("no-js"))&&D.$(o,{}),t.id||(a=(a="$"==(a=String(o).trim())[0]?a.replace(/[^a-z0-9]/gi,"_"):a).replace(/[^a-z0-9_]/gi,""),l="spaCompContainer_"+a+"_"+($("body").find("[rel=spaComponentContainer_"+a+"]").length+1),t.id=l,_attr(t,"rel","spaComponentContainer_"+a)),a=i.attr("data-x-component-options")||i.attr("data-x-$options")||i.attr("data-spa-component-options")||i.attr("data-spa-$options")||i.attr("spa-$options")||"{}",l=_mergeDeep({target:"#"+t.id,targetEl:t,spaComponent:o.trim(),_reqFrTag_:1},s,c,_toObj(a),renderOptions),(t.hasAttribute("skipDataBind")||t.hasAttribute("skip-data-bind"))&&(l.skipDataBind=!0),l.hasOwnProperty("data")&&_isStr(l.data)&&(a=l.data.trim(),/^\$data/.test(a)&&(a="app."+r+"."+a),l.data=_mergeDeep({},_find(window,a,{}))),(t=(i.attr("data-x-component-$data")||i.attr("data-x-$data")||i.attr("data-spa-component-$data")||i.attr("data-spa-$data")||i.attr("spa-$data")||"").trim())&&(/\:\s*\$data/.test(t)&&(t=t.replace(/\:\s*\$data/g,":app."+r+".$data")),_isBlank(l.data)?l.data=_toObj(t):_mergeDeep(l.data,_toObj(t))),!_isBlank(l.data)&&l.data.hasOwnProperty("$data")&&(a=_mergeDeep({},l.data.$data),delete l.data.$data,_mergeDeep(l.data,a)),l.hasOwnProperty("data")&&(l.data_=_mergeDeep({},l.data),delete l.data),B.log("inner-component",o,"options:",l),D.renderComponent(o,l))})},D.renderUtils={array2ObjWithKeyPrefix:function(e,t,a){var n={};return _each(e,function(e){(e=(""+e).trimStr())&&(n[t+(e.equals(".")?a:e).replace(/[^a-z0-9]/gi,"_")]=""+e)}),B.log([t,n]),n},getFn:function(e){var t=e;return(t=e&&_isStr(e)?_find(window,e):t)&&_isFn(t)?t:void 0},runCallbackFn:function(e,t,a){if(e){var n,r=e;if(_isStr(r)&&(a||(e.match("]$")?n=e.substring(0,e.lastIndexOf("[")):0<e.indexOf(".")&&(n=e.substring(0,e.lastIndexOf("."))),a=n?_find(window,n):window),0<(n=r.indexOf("("))&&(r=r.substring(0,n)),r=_find(window,r)),r){if(_isFn(r))return B.info("calling callback: ","Fn:"+(e.name||""),e),_isArr(t)&&"(...)"==t[0]?(t.shift(),r.apply(a,t)):r.call(a,t);B.error("CallbackFunction <"+e+" = "+r+"> is NOT a valid FUNCTION.")}else B.info("CallbackFunction <"+e+"> is NOT defined.")}},registerComponentEvents:function(r){var e;r&&app[r]&&app[r].hasOwnProperty("events")&&_each(_keys(app[r].events),function(n){app[r].events[n].hasOwnProperty("target")&&!_isBlank(app[r].events[n].target)&&(e=app[r].events[n].target,D.$(r+" "+e).filter(":not([spa-events-"+n+'="'+r+'"])').attr("spa-events-"+n,r).each(function(e,a){_each(_keys(app[r].events[n]),function(t){0==t.indexOf("on")&&_each(t.split("_"),function(e){B.log("registering component ["+r+"] event: "+n+"-"+e),$(a).on(e.trimLeftStr("on").toLowerCase(),app[r].events[n][t])})})}))})}},D.render=function(C,w){if(B.log("xsr.render",C,w),arguments.length){if(1===arguments.length&&"object"==typeof C)return(w=_mergeDeep({},C)).hasOwnProperty("target")?(C=w.target,delete w.target):(e=$('[data-rendered-component="'+w.componentName+'"]').attr("id"),(C=(e?"#":"")+e)||(console.warn("Render target is missing."),C="dynRender_"+_now()+"_"+D.rand(1e3,9999))),void D.render(C,w);w&&!function transOptions(a){_each({template:"dataTemplate",templates:"dataTemplates",templateCache:"dataTemplatesCache",templatesCache:"dataTemplatesCache",html:"dataTemplate",htmls:"dataTemplates",htmlCache:"dataTemplatesCache",htmlsCache:"dataTemplatesCache",script:"dataScripts",scripts:"dataScripts",scriptCache:"dataScriptsCache",scriptsCache:"dataScriptsCache",style:"dataStyles",styles:"dataStyles",styleCache:"dataStylesCache",stylesCache:"dataStylesCache",renderType:"dataRenderType",beforeRender:"dataBeforeRender",dataRenderCallBack:"dataRenderCallback",renderCallback:"dataRenderCallback",renderCallBack:"dataRenderCallback",callback:"dataRenderCallback",callBack:"dataRenderCallback",onRemove:"dataRemoveCallback",dataRenderMode:"dataRenderMode",renderMode:"dataRenderMode",renderId:"dataRenderId"},function(e,t){a.hasOwnProperty(t)&&(a[e]=w[t],delete a[t])})}(w);var x={id:"",view:{},model:{},cron:"",elDataAttr:{},target:C,iOptions:w},v=[],T=!1,e=_isElementExist(C);e&&(x.elDataAttr=$(C).data());var S=1<arguments.length,O=S&&w.hasOwnProperty("data"),A=w&&w.componentName?w.componentName:"",E={data:{},dataPreRequest:D.defaults.components.dataPreRequest,dataUrl:"",dataUrlParams:{},dataUrlMethod:"GET",dataUrlErrorHandle:"",dataUrlHeaders:{},dataParams:{},dataType:"",dataExtra:{},dataXtra:{},data_:{},dataDefaults:{},dataModel:"",dataValidate:!1,dataProcess:"",dataUrlCache:!1,dataCache:!1,extend$data:D.defaults.components.extend$data,dataCollection:{},dataTemplates:{},dataTemplate:"",dataTemplatesCache:!0,templateScript:!1,templateEngine:"",sanitizeApiXss:!1,dataScripts:{},dataScriptsCache:!0,dataStyles:{},dataStylesCache:!0,dataBeforeRender:"",dataRenderCallback:"",dataRemoveCallback:"",dataRenderMode:"",skipDataBind:!1,render:"",dataRenderId:""};if(e||(_isElementExist("#spaRunTimeHtmlContainer")||$("body").append("<div id='spaRunTimeHtmlContainer' style='display:none;'></div>"),$("#spaRunTimeHtmlContainer").append("<div id='"+C.replace(/\#/gi,"")+"'></div>")),S){var t,e={dataTemplatesCache:D.defaults.components.templateCache},a=(w=_mergeDeep({},e,w)).hasOwnProperty("saveOptions")&&w.saveOptions;for(t in w)E[t]=w[t],a&&"data"!==t&&"saveOptions"!==t&&$(C).data(""+(""+((""+t)[4]||"")).toLowerCase()+t.slice(5),D.toStr(w[t]))}B.log(A+".$"+(E.isRefreshCall?"refresh":"render")+" with options:",E,"$data",_find(app,A+".$data")),lock$render(E.inProgress);var P=$(C),e=P.attr("data-rendered-component")||"",n=e==A;if(_isSpaNavBlocked(P)){B.log("Component container [",C,"] blocks navigation.");var r=P.hasClass(ue)?P:P.find(fe);if((r=1<r.length?$(r[0]):r).length){var i,o,s=(r.attr(ge)||"").trim();if(s){if("#"==s[0]||">"==s[0]){var l=">"==s[0]?s.substring(1).trim():s,r=r.find(l).filter(":not(.disabled):not(:disabled)");if(r.length)return void r.trigger("click")}else if((i=_find(window,s.split("(")[0].split(";")[0]))&&_isFn(i)&&(o=i.call(app[e],app[e],app[A])),i&&(!_isBool(o)||!o))return}else if((i=_find(app,e+".onNavBlock"))&&_isFn(i)&&(o=i.call(app[e],app[e],app[A])),i&&(!_isBool(o)||!o))return}B.log("Render continues.")}n&&(B.log("$refresh - Auto-Detected",A,E),"auto".equalsIgnoreCase(""+E.render)&&(B.log("Finding for refresh events."),_fixRefreshCalls("dataBeforeRender",".onRender","onRefresh"),_fixRefreshCalls("dataRenderCallback",".renderCallback","refreshCallback")));function Br(e){return(""+P.data(e)).replace(/undefined/,"")}function Cr(e,t){var a=_isBlank(E[e])?Br(t):E[e];return B.info("_renderOption: {."+e+"} | [data-"+t+"]",a),a}var c,d,l=Cr("dataRenderId","renderId"),j=(x._renderId=l.ifBlankStr("spaRender"+_now()+D.rand(1e3,9999)),Cr("dataRenderMode","renderMode")||"replace"),R=(B.log("Render Mode: <"+j+">"),"x-spa-template"),s=(B.group("spaLoadingViewScripts"),S&&w.hasOwnProperty("dataScriptsCache")?B.info("Override [data-scripts-cache] with user option [dataScriptsCache]: "+E.dataScriptsCache):_isBlank(r=Br("scriptsCache"))||(E.dataScriptsCache=r.toBoolean(),B.info("Override [data-scripts-cache] with [data-scripts-cache] option in tag-attribute: "+E.dataScriptsCache)),Br("scripts")),p=_toObj((s=s&&_isBlank((s||"").replace(/[^:'\"]/g,""))?"'"+s.split(",").join("','")+"'":s)||"{}");return!_isObj(E.dataScripts)&&_isStr(E.dataScripts)&&(_isBlank(((s=(E.dataScripts||"").trimStr())||"").replace(/[^:'\"]/g,""))&&(s="'"+s.split(",").join("','")+"'"),E.dataScripts=_toObj(s)),_isArr(p=_isEmptyObj(E.dataScripts)?p:E.dataScripts)&&_removeOn(p,function(e){return!e}),B.info(p),s=[],p&&!_isEmptyObj(p)?(_isArr(p)&&(B.info("Convert array of script(s) without scriptID to object with scriptID(s)."),e=D.renderUtils.array2ObjWithKeyPrefix(p,"__scripts_",C),B.info("Scripts(s) with scriptID(s)."),B.log(e),p=_isEmpty(e)?{}:e),B.info("External scripts to be loaded [cache:"+E.dataScriptsCache+"] along with view container ["+C+"] => "+JSON.stringify(p)),c=_keys(p)):B.info("No scripts defined [data-scripts] in view container ["+C+"] to load."),B.groupEnd("spaLoadingViewScripts"),c&&(s=_map(c,function(e){return!(d=_getFullPath4Component(p[e],A)).endsWithStrIgnoreCase(".js")&&d.indexOf("?")<0&&(d+=D.defaults.components.scriptExt),(E.dataScriptsCache?"":"~")+d})),B.log("Loading component [",A,"] scripts:",s),D.loadScriptsSync(s,function _onScriptsLoadComplete(){B.info("External Scripts Loaded."),!F&&_keys(app.api).length&&_initApiUrls();var e=E?E.dataPreRequest:"";if(_isFn(e=_isStr(e)?D.renderUtils.getFn(e):e))try{var t=e.call(app[A]);t&&_isObj(t)&&_keys(t).forEach(function(e){0==e.indexOf("data")&&(E[e]=t[e])})}catch(e){console.error("dataPreRequest-Error in app."+A,e)}B.group("spaDataModel");var l,a,n=Cr("dataModel","model"),r=Cr("dataUrl","url"),e=O||r.beginsWithStrIgnoreCase("local:"),i=r.beginsWithStrIgnoreCase("local:")?r.replace(/local:/gi,""):"data",c=function _appApiDefaultPayload(){var e=_find(app,"api.ajaxOptions.defaultPayload",{});return _isFn(e)?e():_isObj(e)?_mergeDeep({},e):e}(),d=E&&E.hasOwnProperty("stringifyPayload")?E.stringifyPayload:_find(app,"api.ajaxOptions.stringifyPayload"),p=(B.info("dataModelUrl initial:",r),n=n.ifBlankStr(i),l=n.replace(/\./g,"_"),{});if(O)p[l]=_isFn(E.data)?E.data():E.data,B.info("Loaded data model ["+n+"] from argument");else if(S&&w.hasOwnProperty("dataCache")?B.info("Override [data-cache] with user option [dataCache]: "+E.dataCache):_isBlank(i=Br("cache"))||(E.dataCache=i.toBoolean(),B.info("Override [data-cache] with [data-cache] option in tag-attribute: "+E.dataCache)),_isBlank(r)){p[l]={};var u,f,m=(m=Br("collection"))&&_toObj(m),i=(m=_isArr(m=_isBlank(E.dataCollection)?m:E.dataCollection)?{urls:m}:m).urls;_isBlank(i)?(B.info("Model Data ["+n+"] or [data-url] or [data-collection] NOT found! Check the arguments or html markup. Rendering with options."),p[l]=_mergeDeep({},E.dataDefaults,E.data_,E.dataExtra,E.dataXtra)):_isArr(i)?(B.info("Processing data-URLs"),u=0,f=m.nameprefix||"data",_each(i,function(i){var e=f+u,o=_hasKey(i,"name")?(""+i.name).replace(/[^a-zA-Z0-9]/gi,""):_hasKey(i,"target")?""+i.target:e,s=_hasKey(i,"url")?i.url:_hasKey(i,"path")?i.path:"",o=(o=o.containsStr(".")?_last(o.split(".")):o).ifBlankStr(e);B.info("processing data-api for: "+o),B.log(i),s?(s=D.api.url(s,_hasKey(i,"urlParams")?i.urlParams:{}),_isBlank(e=_hasKey(i,"headers")?i.headers:E.dataUrlHeaders)&&(e=_find(window,"app.api.ajaxOptions.headers",{})),a=_hasKey(i,"params")?i.params:_hasKey(i,"data")?i.data:{},_hasKey(i,"defaultPayload")||_isBlank(c)||(a=_mergeDeep({},c,!_isBlank(a)&&_isObj(a)?a:{})),!_isBlank(a)&&d&&(a=JSON.stringify(a)),B.info("ajaxQ for dataCollection:",s),v.push(N({url:s,method:(""+(i.method||"GET")).toUpperCase(),headers:_isFn(e)?e():e,data:a,cache:_hasKey(i,"cache")?i.cache:E.dataCache,dataType:_hasKey(i,"type")?i.type:E.dataType||_find(window,"app.api.ajaxOptions.dataType","text"),success:function(e,t,a){var n=_hasKey(i,"target")?""+i.target:"",e=_isStr(e)?_toObj(""+e,"data"):e;if(0<n.indexOf("."))r=D.hasKey(e,n)?_find(e,n):e;else try{r=e.hasOwnProperty(n)?e[n]:e}catch(e){console.warn("Error in Data Model ["+n+"] in URL ["+s+"].\n"+e.stack)}p[l][o]?(p[l][o]=[p[l][o]],p[l][o].push(r)):p[l][o]=r,B.info("Loaded data model ["+o+"] from ["+s+"]");var r,n=i.success||i.onsuccess||i.onSuccess;(n=n||(m.success||m.onsuccess||m.onSuccess))&&(_isFn(n)?n.call(this,e,i,t,a):_isStr(n)&&(_isFn(r=_find(window,n))?r.call(this,e,i,t,a):B.log("Unknown ajax success handle: "+n)))},error:function(e,t,a){B.warn("Error processing data-api ["+s+"]");var n,r=i.error||i.onerror||i.onError;r||(r=m.error||m.onerror||m.onError,n=E.dataUrlErrorHandle||E.onDataUrlError||E.onError,!r&&n&&(r=n)),r?_isFn(r)?r.call(this,e,t,a):_isStr(r)&&(_isFn(n=_find(window,r))?n.call(this,oResult,i):B.log("Unknown ajax error handle: "+r)):(_isFn(app.api.onError)?app.api.onError:D.api.onReqError).call(this,e,t,a)}}))):B.error("data-api-url not found. Please check the arguments or html markup. Skipped this data-api request"),u++})):B.warn("Invalid [data-urls].Check the arguments or html markup. Rendering with empty data {}.")}else if(B.info("dataModelUrl:",r),r.beginsWithStrIgnoreCase("local:")){var i=r.replace(/local:/gi,""),o={};if(_isValidEvalStr(i)){try{o=Function('"use strict";return ('+i+")")()}catch(e){console.error("Error in xsr.$('"+E.componentName+"'): Invalid Data Model >> \"local:"+i+'"\n>> '+e.stack.substring(0,e.stack.indexOf("\n")))}B.info("Using LOCAL Data Model: "+i)}if(!e&&0<n.indexOf("."))p[l]=D.hasKey(o,n)?_find(o,n):o;else try{p[l]=o.hasOwnProperty(n)?o[n]:o}catch(e){console.warn("Error in Data Model ["+n+"] in Local Object ["+i+"].\n"+e.stack)}}else{B.info("dataModelUrl without params fill:",r),r=D.api.url(r,_isBlank(E.dataUrlParams)?{}:E.dataUrlParams),B.info("Request Data ["+n+"] [cache:"+(E.dataUrlCache||E.dataCache)+"] from URL =>"+r);e=E.dataUrlHeaders,o=(_isBlank(e)&&(e=_find(window,"app.api.ajaxOptions.headers",{})),a=E.dataParams,E.hasOwnProperty("defaultPayload")||_isBlank(c)||(a=_mergeDeep({},c,!_isBlank(a)&&_isObj(a)?a:{})),!_isBlank(a)&&d&&(a=JSON.stringify(a)),{url:r,method:(""+(Cr("dataUrlMethod","urlMethod")||"GET")).toUpperCase(),headers:_isFn(e)?e():e,data:a,cache:E.dataUrlCache||E.dataCache,dataType:E.dataType||_find(window,"app.api.ajaxOptions.dataType","text"),success:function(e){B.log("API response:",e);var e=_isStr(e)?_toObj(""+e,"data"):e,t=Cr("dataValidate","validate");if(0<n.indexOf("."))p[l]=D.hasKey(e,n)?_find(e,n):e;else try{"data"!=n||e.hasOwnProperty(n)||(l=n="Data"),p[l]=!t&&e.hasOwnProperty(n)?e[n]:e}catch(e){console.error("Error in Data Model ["+n+"] in URL ["+r+"].\n"+e.stack)}B.info("Loaded data model ["+n+"] from ["+r+"]")},error:function(e,t,a){var n,r=Cr("dataUrlErrorHandle","urlErrorHandle")||E.onDataUrlError||E.onError;r?_isFn(n=_isStr(r)?_find(window,r):r)?n.call(this,e,t,a):B.log("Unknown ajax error handle: "+r):(_isFn(app.api.onError)?app.api.onError:D.api.onReqError).call(this,e,t,a)}});B.info("ajaxQ for data:",r),v.push(N(o))}B.info("End of Data Processing -",A),B.log({o:p}),B.groupEnd("spaDataModel");var s,k,h,g,b,i=Br("template")||Br("html"),e=Br("templates")||Br("htmls"),y=_toObj((e=e&&_isBlank((e||"").replace(/[^:'\"]/g,""))?"'"+e.split(",").join("','")+"'":e)||"{}");!_isObj(E.dataTemplates)&&_isStr(E.dataTemplates)&&(_isBlank(((e=(E.dataTemplates||"").trimStr())||"").replace(/[^:'\"]/g,""))&&(e="'"+e.split(",").join("','")+"'"),E.dataTemplates=_toObj(e)),_isEmptyObj(E.dataTemplates)||(y=E.dataTemplates,e=""+JSON.stringify(y)),(_isEmpty(_toObj((e||"").trimStr()))||_isArr(y)&&1==y.length&&_isBlank(y[0]))&&(y={},e=""),B.info("Templates:"),B.info(y),_isArr(y)&&!_isEmpty(y)&&(B.info("Array of template(s) without templateID(s)."),o=D.renderUtils.array2ObjWithKeyPrefix(y,"__tmpl_",C),B.info("Template(s) with template ID(s)."),B.log(o),e=_isEmpty(o)?(y={},""):(y=o,""+JSON.stringify(y))),y&&!_isEmptyObj(y)||(y={},e=o="",_isBlank(h=E.dataTemplate)&&!_isBlank(i)&&(B.info("Template to load from location <"+i+">"),h=i),h=(h||"").trimStr(),B.info("Primary Template: <"+h+">"),_isBlank(h)||h.equalsIgnoreCase("inline")||h.equals(".")?(B.info("Using target container (inline) content as template."),o="_tmplInline_"+C.trimStr("#")):h.beginsWithStr("#")?(B.info("Using page container <"+h+"> content as template."),o=h.trimStr("#")):(B.info("External path <"+h+"> content as template."),o="__tmpl_"+(""+h).replace(/[^a-z0-9]/gi,"_"),e=h),y[o]=e.replace(/['\"]/g,""),B.info(y)),B.group("spaView"),y&&!_isEmptyObj(y)?(B.info("Templates of ["+R+"] to be used in view container ["+C+"] => "+JSON.stringify(y)),i=_keys(y),B.group("spaLoadingTemplates",v),B.group("spaLoadingTemplatesCache"),S&&w.hasOwnProperty("dataTemplatesCache")?B.info("Override [data-templates-cache] with user option [dataTemplatesCache]: "+E.dataTemplatesCache):_isBlank(h=Br("templatesCache")||Br("templateCache")||Br("htmlsCache")||Br("htmlCache"))||(E.dataTemplatesCache=h.toBoolean(),B.info("Override [data-templates-cache] with [data-templates-cache] option in tag-attribute: "+E.dataTemplatesCache)),B.info("$"+A+"-ajaxRequests",v),B.groupEnd("spaLoadingTemplatesCache"),B.info("Load Templates"),B.info(y),(o=E.templateUrlPayload)&&(_isFn(o)||_isStr(o)&&o.indexOf("=")<0)&&(o=__finalValue(o,E)),s={method:E.templateUrlMethod,params:__finalValue(E.templateUrlParams,E),payload:o,headers:__finalValue(E.templateUrlHeaders,E),onError:__finalValue(E.onTemplateUrlError||E.onError)},_each(i,function(e,t){B.info([t,e,y[e],R,C,E]),v=D.loadTemplate(e,y[e],R,C,v,!E.dataTemplatesCache,s)}),k="#"+i[0].trimStr("#"),B.info("External Data/Templates Loading Status: ",v),B.groupEnd("spaLoadingTemplates"),B.info("Render TemplateID: "+k),B.group("spaLoadingViewStyles",v),S&&w.hasOwnProperty("dataStylesCache")?B.info("Override [data-styles-cache] with user option [dataStylesCache]: "+E.dataStylesCache):_isBlank(e=Br("stylesCache"))||(E.dataStylesCache=e.toBoolean(),B.info("Override [data-styles-cache] with [data-styles-cache] option in tag-attribute: "+E.dataStylesCache)),h=Br("styles"),g=_toObj((h=h&&_isBlank((h||"").replace(/[^:'\"]/g,""))?"'"+h.split(",").join("','")+"'":h)||"{}"),_isArr(g=_isEmptyObj(E.dataStyles)?g:E.dataStyles)&&_removeOn(g,function(e){return!e}),g&&!_isEmptyObj(g)?(_isArr(g)&&(B.info("Convert array of style(s) without styleID to object with styleID(s)."),o=D.renderUtils.array2ObjWithKeyPrefix(g,"__styles_",C),B.info("Style(s) with styleID(s)."),B.log(o),g=_isEmpty(o)?{}:o),B.info("External styles to be loaded [cache:"+E.dataStylesCache+"] along with view container ["+C+"] => "+JSON.stringify(g)),i=_keys(g),B.group("spaLoadingStyles"),_each(i,function(e){b=_getFullPath4Component(g[e],A),v=D.loadStyle(e,b,E.dataStylesCache,v)}),B.info("External Styles Loading Status: "+JSON.stringify(v)),B.groupEnd("spaLoadingStyles")):B.info("No styles defined [data-styles] in view container ["+C+"] to load."),B.info("$"+A+"-ajaxRequests",v),B.groupEnd("spaLoadingViewStyles"),B.group("$"+A+"-ajaxRequests",v),z.apply($,v).then(function(){B.group("spaRender - xsr.renderHistory["+x._renderId+"]"),B.info("Rendering "+C+" using master template: "+k);var e=Array.isArray(this)?this[0]:this;try{var v,t,a,S=!1,n=Cr("dataValidate","validate"),r=!n,i=(r&&_isFn(app.api.isCallSuccess)?r=app.api.isCallSuccess.call(e,p[l],e):r||(B.info("Validating Data"),r=(t=(t=n)&&_isStr(t)?_find(window,t):t)&&_isFn(t)?t.call(p[l],p[l],e):(_isFn(app.api.isCallSuccess)?app:D).api.isCallSuccess.call(e,p[l],e)),p[l]),O=p[l];!n||(a=Cr("dataModel","model"))&&(O=p[l]=D.hasKey(O,a)?_find(O,a):O),B.log(A,"Template Data from API:",O),r?z.apply($,function _dataPreProcessAsync(){var e,t=Cr("dataPreProcessAsync","preProcessAsync");return t&&_isStr(t)&&(t=_find(window,t)),x.modelOriginal=_clone(O,!0),x.model=O,t&&_isFn(t)&&(S=!0,e=_extend({},app[A]||{},w||{}),e=t.call(e,O),(S=!_isUndef(e))||(e=[]),S&&(v=!_isArr(e)||_isArr(e)&&1==e.length,_isArr(e)||(e=[e]))),e}()).done(function(){var a=U.slice.call(arguments),e=(S&&(D.debug&&B.log(A,".dataPreProcessAsync() =>",a.__now()),v&&1<a.length&&"success"==a[1]?(a[0]=_toObj(a[0]),a.splice(1)):_each(a,function(e,t){e&&_isArr(e)&&1<e.length&&"success"==e[1]&&(a[t]=_toObj(e[0]))}),D.debug&&B.log(a.__now())),Cr("dataProcess","process")),t=(e&&_isStr(e)&&(e=_find(window,e)),E.sanitizeApiXss||D.defaults.components.sanitizeApiXss);t&&(O=_isFn(t)?t.call(O,O)||O:_sanitizeXSS(O)),x.modelOriginal=_clone(O,!0),x.model=O,e&&_isFn(e)?(t=_extend({},app[A]||{},w||{}),a.unshift(O),i=e.apply(t,a)):S&&(B.warn(A,".dataPreProcessAsync without dataProcess. Merging responses."),a.unshift(O),_mergeDeep.apply(_,a)),x.model=_isUndef(i)?O:i,"object"!=typeof x.model&&(x.model=x.modelOriginal),B.log(A,"Template Data initial:",x.model);A&&(_isObj(app)&&app.hasOwnProperty(A)&&((e=_mergeDeep({},_isObj(x.model)?x.model:{_noname:x.model})).hasOwnProperty("spaComponent")?app[A].$data={}:app[A].$data=E.extend$data?_mergeDeep({},E.dataDefaults,E.data_,E.dataExtra,E.dataXtra,E.dataParams,e):{},app[A].__global__=window||{}),x.model._this=_mergeDeep({},_find(window,"app."+A,{})),x.model._this_=_mergeDeep({},D.components[A]||{},w)),x.model._global_=window||{};var n,t=x.model,r=(B.log(A,"Template Data Final:",x.model),($(k).html()||"").replace(/_LINKTAGINTEMPLATE_/g,"link")),r=E.templateScript||D.defaults.components.templateScript?r.replace(/_BlockedScript_ src-ref="([^"])*"/g,"script").replace(/_BlockedScript_/g,"script"):r.replace(/<\/_BlockedScript_>/g,"</_BlockedScript_>"),i=(E.skipDataBind=E.skipDataBind||E.skipDefaultBind,E.skipKoBind||E.useSpaBind||P.is("[skipKoBind]")||P.is("[useSpaBind]")),o=(i&&P.attr("useSpaBind","true"),!i&&"object"==typeof ko&&"function"==typeof ko.applyBindings),e=r.match(/({\s*\@\$(.*?)\s*})/g),i=(!E.skipDataBind&&e&&_each(e,function(e){r=r.replace(new RegExp(e.replace(/\$/,"\\$"),"g"),e.replace(/{\s*\$this|{\s*\@\$/g,"_global_.app.").replace(/}/,".").replace(/\s/g,"").replace(/\.\./,"."+(A||"")+"."))}),r.match(/({\s*\$(.*?)\s*})/g)),i=(!E.skipDataBind&&i&&_each(i,function(e){r=r.replace(new RegExp(e.replace(/\$/,"\\$"),"g"),e.replace(/{\s*\$this|{\s*\$/g,"app.").replace(/}/,".").replace(/\s/g,"").replace(/\.\./,"."+(A||"")+"."))}),e=r,B.groupCollapsed("Template Source ..."),B.log(r),B.groupEnd("Template Source ..."),B.log("DATA for Template:",t),/<!--\s*#+spa-template/gi.test(r)?"spa":""),s=/<!--\s*#+dot-template/gi.test(r)?"dot":"",s=E.templateEngine||s||i||D.defaults.components.templateEngine,i=(s||"handlebars").toLowerCase(),l=I;try{switch(i){case"handlebars":l=L.Handlebars.compile.bind(L.Handlebars);break;case"dot":l=L.doT.compile.bind(L.doT);break;case"spa":case"tee":case"nxT":l=L.nxT.compile.bind(L.nxT)}}catch(e){B.warn("Error accessing templateEngine["+s+"] for $"+A+" >>>",e,"\nTry defining templateEngine["+s+"] in global scope.")}if(!_isBlank(t))if(E.skipDataBind)B.log("Skipped Data Binding.");else if(E.dataTemplatesCache||(delete D.compiledTemplates4DataBind[A],delete D.compiledTemplates[A]),D.compiledTemplates4DataBind.hasOwnProperty(A)||(/ data-bind\s*=/i.test(r)?o||(B.log("[Template + Data] bind using SPA [data-bind] ..."),r=function _maskHandlebars(e){return e.replace(/<img /gi,"<IMG-X-TMP ").replace(/<iframe /gi,"<IFRAME-X-TMP ").replace(/<\/iframe/gi,"</IFRAME-X-TMP").replace(/{{/g,">\x3c!--_XHBTINSPA_{{").replace(/}}/g,"}} _XHBTINSPA_--\x3e")}(r),B.log("TemplateBeforeBind",r),i=_isObj(t)?_mergeDeep({},E.dataDefaults,E.data_,E.dataExtra,E.dataXtra,E.dataParams,t):t,B.log("SPA built-in binding ... ...",i),r=_unmaskHandlebars(r=D.bindData(r,i,"$"+A)),B.log("TemplateAfterBind",r),D.compiledTemplates4DataBind.hasOwnProperty(A)||(D.compiledTemplates4DataBind[A]={}),n=!0):o=!1),0<=(e=r).indexOf("{{"))if(B.info("Found external template string {{...}} in $"+A),l){B.groupCollapsed("Data bind using "+s+" on Template ..."),B.log(r),B.groupEnd("Data bind using "+s+" on Template ...");try{D.compiledTemplates[A]||B.info("Compiling $"+A);var c=D.compiledTemplates[A]||l(r),d=_isObj(t)?_mergeDeep({},x,E.dataDefaults,E.data_,E.dataExtra,E.dataXtra,E.dataParams,t):t,p=d;D.compiledTemplates.hasOwnProperty(A)||(D.compiledTemplates[A]=c),e=c(d),B.log(e)}catch(e){console.error("Error in Template",e)}}else B.error("Template Library ("+s+") not found!");B.groupCollapsed("Compiled Template ..."),B.log(e),B.groupEnd("Compiled Template ..."),T=!1,x.view=e&&e.replace(/\_\{|\<dcb\>/gi,"{{").replace(/\}\_|\<\/dcb\>/gi,"}}");function gu(){if(g){var e={template:r,data:x.model,view:x.view};if(!_isUndef(u=D.renderUtils.runCallbackFn(g,e,h)))switch(_of(u)){case"string":x.view=u,m=u.beginsWithStr("\x3c!----\x3e");break;case"boolean":f=!u}}}var u,f,m,h=A?_mergeDeep({},app[A]||{},{__prop__:_mergeDeep({},w||{})}):{},g=(h.__prop__&&h.__prop__.data&&(delete h.__prop__.data._global_,delete h.__prop__.data._this_,delete h.__prop__.data._this),x.model&&(delete x.model._global_,delete x.model._this_,delete x.model._this),Cr("dataBeforeRender","beforeRender"));if(gu(),f||m||(g=D.defaults.components.render,gu()),f?(x={},B.warn("Render aborted by "+g)):m||(i=P.attr("data-rendered-component"))&&!D.removeComponent(i,A)&&(f=!0,x={},B.warn("Render $"+A+" aborted by $"+i+".onRemove()")),!f){if(m)B.log("Rendering component [",A,"] view aborted.");else{t=Cr("dataRenderType","renderType");switch(B.log("Injecting component in DOM (",C,")."+(t||"html")),t){case"value":$(C).val(x.view);break;case"text":$(C).text(x.view);break;default:switch(T=!0){case j.equalsIgnoreCase("append"):$(C).append(x.view);break;case j.equalsIgnoreCase("prepend"):$(C).prepend(x.view);break;default:$(C).html(x.view)}o&&(B.log("knockout binding: data | DOM",x.model,$(C)[0]),ko.applyBindings(x.model,$(C)[0]))}}$(C).attr("data-rendered-component",A).data("renderedComponent",A),!function _$renderCountUpdate(e){e=String(e).replace(/[^a-z0-9]/gi,"_"),app[e]&&(app[e].__renderCount__=D.toInt(D.$renderCount(e))+1)}(A),unlock$render(E.inProgress),B.info("Render: SUCCESS");var b,c=_keys(D.renderHistory),d=c.length;if(d>D.renderHistoryMax&&_each(c.splice(0,d-D.renderHistoryMax),function(e,t){delete D.renderHistory[t]}),x.cron=""+_now(),0<D.renderHistoryMax&&(D.renderHistory[x._renderId]=x),T&&!m)if(D.renderUtils.registerComponentEvents(A),$(C).find(".lang-icon,.lang-text,[data-i18n-lang]").length&&D.i18n.displayLang(),_init_SPA_DOM_(C),n||D.bindData(C,p,"",!0),D.bindElements(C),$(C).find('[data-i18n]:not([data-i18n=""])').length&&(!_isBlank(D.defaults.components.lang)||!_isBlank(E.lang)||D.defaults.lang.url&&0<=D.defaults.lang.url.indexOf("$")?(s=D.defaults.components.lang,e=_mergeDeep({target:C},_isObj(s)&&!_isBlank(s)?D.defaults.components.lang:{},_isObj(E.lang)&&!_isBlank(E.lang)?E.lang:{}),i={componentName:A,componentPath:A.replace(/_/g,"/"),componentData:p,componentLang:e},_is(s,"string|function")&&_isObj(b=D.renderUtils.runCallbackFn(s,i,i))&&(e=_mergeDeep(e,b),i.lang=e),_is(E.lang,"string|function")&&_isObj(b=D.renderUtils.runCallbackFn(E.lang,i,i))&&(e=_mergeDeep(e,b)),t={$name:A,$path:A.replace(/_/g,"/")},e.urlParams&&_isObj(e.urlParams)&&(t=_mergeDeep(t,e.urlParams)),e.urlParams=t,D.i18n.updateLang(e)):D.i18n.apply(C)),function _routeReloadUrl(e){var t=(D.sesStore.get("_spaReloadUrl")||"").trim();if((!e||0==t.indexOf(e))&&t)return D.sesStore.remove("_spaReloadUrl"),t=t.replace(/.*#/gi,""),D.route(t,!0),1}(A))return x;B.log(x);var y,c=Br("renderCallback"),d=_isStr(c=E.dataRenderCallback?E.dataRenderCallback:c)&&c.equalsIgnoreCase("off");B.info("Processing callback: "+c),"boolean"==typeof(y=d?y:D.renderUtils.runCallbackFn(c,x))&&!1===y||D.renderUtils.runCallbackFn(D.defaults.components.callback,y&&"boolean"!=typeof y?y:x,h),!function _delayedRenderFor(a){var n,e=$("body").find('[render-after*="'+a+'"]');e.length&&(n="",e.each(function(e,t){(n=(" "+_attr(t,"render-after").replace(/,/g," ").replace(/\s+/g," ")+" ").replace(" "+a+" ","").trim())?_attr(t,"render-after",n):(t.removeAttribute("render-after"),D.renderComponentsInHtml(t,"",!0))}))}(A),T&&!m&&($(C).find("[rel='spaRender'],[data-render],[data-sparender],[data-spa-render]").spaRender(),D.renderComponentsInHtml(C,A))}}):(unlock$render(E.inProgress),(_isFn(app.api.onResError)?app:D).api.onResError.call(e,i,"Invalid-Data",void 0))}catch(e){unlock$render(E.inProgress),console.error(e)}B.groupEnd("spaRender - xsr.renderHistory["+x._renderId+"]")}).fail(function(){unlock$render(E.inProgress),console.error("External Data|Template|Style|Script Loading failed! Unexpected!! Check the template Path / Network. Rendering aborted.")}),B.groupEnd("ajaxRegister")):(unlock$render(E.inProgress),B.error("No templates defined [data-templates] in view container ["+C+"] to render. Check HTML markup.")),B.groupEnd("spaView")},function _onScriptsLoadFailed(){unlock$render(E.inProgress),console.error("External Scripts Loading Failed! Unexpected!? Check the Script Path/Network.")}),x}function _fixRefreshCalls(e,t,a){_isStr(E[e])&&E[e]=="app."+A+t&&app[A].hasOwnProperty(a)&&(E[e]="app."+A+"."+a)}},D.initElementsIn=_initSpaElements,/\r?\n/g),ee=/^(?:input|select|textarea|keygen)/i,te=/^(?:submit|button|image|reset|file)$/i,ae=/^(?:checkbox|radio)$/i,ne=(D.initDataValidation=function(){B.log("include validate framework lib (spa-validate.js) to use this feature!")},D.doDataValidation=function(){B.log("include validate framework lib (spa-validate.js) to use this feature!")},D.properties={version:D.VERSION},D.api={baseUrl:"",liveUrlSuffix:"",urls:{},mock:!1,mockBaseUrl:"",mockRootFolder:"api_",mockDataFile:"data.json",defaultPayload:!1,forceParamValuesInMockUrls:!1,urlKeyIndicator:"@",url:function(e,r){e=(e||"").trim()[0]===D.api.urlKeyIndicator?(e||"").trimLeftStr(D.api.urlKeyIndicator):e||"",r=r||{};var i,o,s,l,c=function _getUrl(e){var t=e=(e+"").trim().trimLeftStr(D.api.urlKeyIndicator);return _isObj(D.api.urls)&&Object.keys(D.api.urls).length&&((t=0<=e.indexOf(".")?_find(D.api.urls,e,""):D.api.urls[e]||"$"!==e[0]&&D.api.urls["$"+e]||"")||/[^a-z0-9_]/gi.test(e)||console.warn("URL undefined for key:",e)),t}(e)||e,d=c.beginsWithStr("!")||D.api.mock||app.api.mock,p=c.beginsWithStr("!!")||c.beginsWithStr("~")||D.api.forceParamValuesInMockUrls,e=c.extractStrBetweenIn("{","}",!0),u=[],f=[],_={url:c,urlParams:r};return D.api.mock||app.api.mock||c.beginsWithStr("!")||(c=_removeMockParams(c)),_isBlank(e)||_each(e,function(e){if(f=[],u=[],i=e.replace(/[{}<>]/g,"").trim()){var t;0<(i=0<i.indexOf("|")?(u=i.split("|").map(function(e){return e.replace(/\(.*\)/g,"").trim()})).shift():i).indexOf(":")&&(i=(t=i.split(":"))[0].trim(),l=t[1].trim()),"#"==i[0]?o=D.getElValue(i):(s=_isBlank(r))||("string"==typeof(o=_find(r,i,r._undefined))&&0==o.indexOf("$#")&&(0<o.indexOf("|")&&(o=(f=o.split("|").map(function(e){return e.replace(/\(.*\)/g,"").trim()})).shift()),o=D.getElValue(o.substring(1))),o=!d||p||e.containsStr(">")?o:"_"+i);for(var a=0,n=(u=f.concat(u)).length;a<n;a++)if(u[a])if("."==u[a][0])try{o=o[u[a].substring(1)]()}catch(e){console.error("Error parsing urlParam: "+o+u[a]+"()","param:",o,_,e)}else":"==u[a][0]?l=u[a].substring(1).trim():o=D.renderUtils.runCallbackFn(u[a],o,_);void 0!==o&&"undefined"!==o||(o=l),s&&_isBlank(u)&&!o||(c=c.replace(new RegExp(e.replace(/([^a-zA-Z0-9])/g,"\\$1"),"g"),""+o))}}),c},success:function(e){return[e,"success"]},isCallSuccess:function(){return!0},onReqError:function(e,t,a){B.error([e,t,a]),B.error($(e.responseText).text())},onResError:function(){},_call:function(i){var e,t=_find(window,"app.api.ajaxOptions",{}),a=_isObj(i)&&i.hasOwnProperty("error")?i.error:app.api.onError||D.api.onReqError;return(i=_extend({},t,i,{error:a,success:function(e,t,a){e=_isStr(e)&&"html"!=String(this.dataType).toLowerCase()?_toObj(e):e;var n,r=this.sanitizeApiXss;r&&(e=_isFn(r)?r.call(e,e)||e:_sanitizeXSS(e)),_isFn(app.api.isCallSuccess)?n=app.api.isCallSuccess.call(this,e,this):_isFn(D.api.isCallSuccess)&&(n=D.api.isCallSuccess.call(this,e,this)),(n?i._success:(_isFn(app.api.onResError)?app:D).api.onResError).call(this,e,t,a)}})).data&&_isObj(i.data)&&i.stringifyPayload&&(delete i.stringifyPayload,i.data=JSON.stringify(i.data)),i.defaultPayload&&(t=_of(i.data),a=_isFn(a=i.defaultPayload)?a(e):_isObj(a)?_mergeDeep({},a):a,e="string"==t?_toObj(i.data):i.data,_isObj(a)&&(_isBlank(e=_isObj(e)?_mergeDeep({},a,e):a)||"string"!=t||(e=JSON.stringify(e)),i.data=e)),i.dataType&&"json".equalsIgnoreCase(i.dataType)&&!i.contentType&&(i.contentType="application/json"),i.url.beginsWithStr(D.api.urlKeyIndicator)&&(i.url=D.api.url(i.url.trimLeftStr(D.api.urlKeyIndicator),i.data)),(app.api&&app.api.debug||app.debug||spa.debug)&&console.info(["API(ajax) call with options",i]),N(i)},_params2AxOptions:function(){var t,a,n,r,i={method:"GET",url:"",data:{},_success:function(){},async:!0};return _each(arguments,function(e){switch(!0){case _isStr(e):t="url",i.url&&(a=!0,t="data");break;case _isFn(e):t=r?"error":(r=!0,"_success");break;case _isBool(e):t="async";break;case _isObj(e):a||e.__hasPrimaryKeys("ajaxOptions|dataUrlParams")?(t="axOptions",n=e.hasOwnProperty("ajaxOptions")?e.ajaxOptions:e):(t="data",a=!0);break;default:t="unknown"}"axOptions"!=t&&(i[t]=e)}),n&&(n.dataUrlParams&&((""+i.url).beginsWithStr(D.api.urlKeyIndicator)&&(i.url=D.api.url(i.url.trimLeftStr(D.api.urlKeyIndicator),n.dataUrlParams)),delete n.dataUrlParams),_mergeDeep(i,n)),B.log("API ajax options >>"),B.log(i),i},get:function(){return D.api._call(D.api._params2AxOptions.apply(void 0,arguments))},post:function(){return D.api._call(_extend(D.api._params2AxOptions.apply(void 0,arguments),{method:"POST"}))},put:function(){return D.api._call(_extend(D.api._params2AxOptions.apply(void 0,arguments),{method:"PUT"}))},del:function(){return D.api._call(_extend(D.api._params2AxOptions.apply(void 0,arguments),{method:"DELETE"}))},mix:function(){for(var e=[],t=arguments[arguments.length-1],a=0;a<arguments.length;a++)_isArr(arguments[a])?e=e.concat(arguments[a]):_isFn(arguments[a])||e.push(arguments[a]);return z.apply($,e).done(function(){var a=U.slice.call(arguments);1==e.length&&1<a.length&&"success"==a[1]?(a[0]=_toObj(a[0]),a.splice(1)):_each(a,function(e,t){e&&_isArr(e)&&1<e.length&&"success"==e[1]&&(a[t]=_toObj(e[0]))}),t&&_isFn(t)&&t.apply(void 0,a)})}},D.i18n.onLangChange,D.i18n.displayLang=function(){var e,t,a,n,r,i=$("html").attr("lang");return i&&(t=(e=i).replace("-","_"),a=$('[data-i18n-lang="'+e+'"],[data-i18n-lang="'+t+'"]'),n=($("body").attr("i18n-lang-key-prefix")||"lang.name.")+t,r="-",$(".lang-text").attr("data-i18n",n).data("i18n",n),$("[data-i18n-lang]").removeClass("active"),a.length&&(a.addClass("active"),r=($(a[0]).data("i18nLang")||"").replace(/[a-z]/gi,""),$(".lang-icon").removeClass(U.join.call($("[data-i18n-lang]").map(function(e,t){return $(t).data("i18nLang")})," "))),$(".lang-icon").addClass("-"==r?e:t),D.i18n.apply(".lang-text")),i},{}),t={pub:function(a,e,n,r){_isFn(e)?(r=arguments[2],n=e):i=e;var i,o,s,l,c=0,d=[];return _each(ne[a],function(t){try{c++,s=t.fn,l=null,s&&(l=s.call(i||{},a,i,n,r)),d.push({id:""+(t.name||c),response:l}),!o&&_isBool(l)&&(o=!l)}catch(e){console.warn("Execution error in subscribed function:"+t.name+" on-"+a),console.error(e.stack)}}),o?r&&_isFn(r)&&r(d):n&&_isFn(n)&&n(d),d},sub:function(e,t,a){return ne.hasOwnProperty(e)||(ne[e]=[]),ne[e].push({fn:t,name:a}),ne[e].length},unSub:function(e,t){var a=!1;return ne.hasOwnProperty(e)&&(a=!0,t?ne[e][t-1]=null:ne[e]=[]),a}},f=(D.event={on:t.sub,off:t.unSub,trigger:t.pub,announce:t.pub},"#"),re="",m=!0,ie=[],oe=100,se=!1,h="",le="",ce=!1,de="",pe="",ue="",fe="",_e="",g="",me="",he=!1,ge="",be="x"+_now(),ye=(D.blockNav=_blockSpaNavigation,D.allowNav=_allowSpaNavigation,D.isNavBlocked=_isSpaNavBlocked,D.isNavAllowed=_isSpaNavAllowed,D.isToShowNav=_isToShowSpaNav,D.isInBlockedSpaNavContainer=function _inBlockedSpaNavContainer(e){return!!$(e).closest(fe).length},window.onerror=function(e,t,a){B.warn("[window.onerror] Invalid Content: Check the network/path/content.",e,t,a)},[]);D.parseRoutes=_getNewMatchingRoutes;try{D.sesStore=_StoreMgmt(sessionStorage)}catch(e){console.warn("No Access to sessionStorage.",e)}try{D.locStore=_StoreMgmt(localStorage)}catch(e){console.warn("No Access to localStorage.",e)}D.reload=function(e){e&&D.sesStore.set("_spaReloadUrl",e||""),D.allowNav(),window.location.reload()},D.hasReloadUrl=function(){return!!(D.sesStore.get("_spaReloadUrl")||"").trim()},D.initRoutes=_initRouteHash,D.route=function _routeNewUrl(e,t){var a=_routeToUrl(e);B.log("Route:",e,"URL:",a),a&&(!t&&T?_handleNavAwayEvent(a):(t=function _$routeElement(e){return $("["+g+'$="'+e.trim()+'"].ROUTE:first')}(e)).length?t.hasClass("disabled")||t.is("[disabled]")?console.warn("Route:",e,"is disabled."):t.click():(A?W=a:_updateBrowserAddress(a),"/"==e.trim()?(D.allowNav(),window.location.reload()):_onPopStateChange()))},D.routeUrl=_routeToUrl,D.routeEl=function _$routeElements(e){return $("["+g+'$="'+e.trim()+'"].ROUTE')},D.initDataBind=_initDataBind,D.async=function(a){var n,r=U.slice.call(arguments,1);n=setTimeout(function fnAsyc(){var e=a.apply(void 0,r),t=r.length;(t=t?r[t-1]:"")&&_isFn(t)&&t(e),_freeTimer(n)},0)},D.init=D.start=_beginSPA,handleOnDomReady(function _initDOM(){B.log("init SPA DOM."),L.__isSPAReady__||observeDOM(),function setDefaultTmplCompiler(){"undefined"!=typeof Handlebars&&Handlebars?I=Handlebars.compile.bind(Handlebars):"undefined"!=typeof doT&&doT?I=doT.compile.bind(doT):"undefined"!=typeof Tee&&Tee?I=Tee.compile.bind(Tee):"undefined"!=typeof nxT&&nxT&&(I=nxT.compile.bind(nxT))}(),D.debug=D.urlParam("spa.debug")||D.hashParam("spa.debug")||D.debug,r=L.jQuery;var e=(t=(a=L.dom||r)("body")).attr("dom-alias"),t=(i=t.hasClass("use-jquery")||t[0].hasAttribute("use-jquery")||i,$=r&&i?r:a,e&&(L[e]=a),$.fn.jquery);B.info("DOM is ready -",new Date),B.info("DOM-Query using "+(t?"jQ-"+t:"dom-"+$.version)),function extendjQ(){var e={serializeToArray:_jQserializeArray,serializeUncheckedCheckboxes:_serializeUncheckedCheckboxes,serializeFormToJSON:_serializeFormToObject,serializeFormToObject:_serializeFormToObject,serializeFormToSimpleJSON:_serializeFormToSimpleObject,serializeFormToSimpleObject:_serializeFormToSimpleObject,i18n:function(e){return this.each(function(){e&&$(this).attr("data-i18n",e).data("i18n",e),D.i18n.apply(this)}),this},spaRender:function(e){this.each(function(){D.renderComponentsInHtml(this,e,!0)})},renameAttr:function(e,t){return this.each(function(){_attr(this,t,_attr(this,e)),this.removeAttribute(e)}),this},spa$:function(){return this.map(function(){return $(this).closest("[data-rendered-component]")})},spa$name:function(){var e=this.map(function(){return $(this).closest("[data-rendered-component]").attr("data-rendered-component")});return 1==e.length?e[0]:e},spaBindData:function(e,t){return D.bindData(this,e,t)},inBlockedSpaNavContainer:function(){return!!this.closest(fe).length},blockNav:function(){return _blockSpaNavigation(this),this},allowNav:function(){return _allowSpaNavigation(this),this},isNavBlocked:function(){return _isSpaNavBlocked(this)},isNavAllowed:function(){return _isSpaNavAllowed(this)},disable:function(e){return e||_isUndef(e)?this.css("pointer-events","none").addClass("disabled").attr("disabled","disabled"):this.enable(!0)},enable:function(e){return e||_isUndef(e)?this.css("pointer-events","auto").removeClass("disabled").removeAttr("disabled"):this.disable(!0)},value:function(e,t){return _isUndef(e)?this.val():(this.each(function(){$(this).val(e).trigger(t||"change")}),this)},htm:function(e){return _isUndef(e)?this.html():(this.each(function(){$(this).html(D.sanitizeScript(e))}),this)},dataJSON:function(e,t,a){var n,r,i;return arguments.length?(n=_isObj(n=_toObj(this.data(e)))?n:{},_isUndef(t)||(n=a?t:_mergeDeep(n,t),r=JSON.stringify(n),i=e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),this.attr("data-"+i,r).data(e,r))):n=this.data(),n},isDisabled:function(e){var t=this.hasClass("disabled")||this.is("[disabled]");return t&&e&&e.call(this,this),t},isEnabled:function(e){var t=!this.isDisabled();return t&&e&&e.call(this,this),t},trackChanges:function(){D.trackFormElChange(this)},isChanged:function(e){var t="ALL"==(e=(e||"ANY").toUpperCase()),a=!t,n=!1,r=this;if(r.length)for(var i=0;i<r.length;i++){var o=r[i].tagName.toUpperCase();if("FORM"==o)n=$(r[i]).find("input,textarea,select").isChanged(e);else if(0<"/INPUT/TEXTAREA/SELECT/".indexOf(o)){if(n=D.isElValueChanged(r[i]),a&&n)break;if(t&&!n)break}}return n},initSpaRoutes:function(){_initRouteHash(this)},initFormValidation:function(){var e=this.filter("form");if(!e.length)return"Form Not Found";e.each(function(e,t){_initFormValidation(t)})},validateForm:function(e,t,a){var n,r=this;return 1<r.length?[{errcode:1,errmsg:"Too many forms to validate."}]:1==r.length?(n="#"+r.attr("id"),"FORM"==(r.prop("tagName")||"").toUpperCase()?_isStr(e)?(r=r.find(e).map(function(){return this.id}).get().join(),D.validateForm(n,r,t,a)):D.validateForm(n,e,t):[{errcode:1,errmsg:"NOT a FORM"}]):[{errcode:1,errmsg:"Form Not Found."}]},updateValidation:function(a,n){this.each(function(e,t){D._validate._showValidateMsg(t,n,a)})},updateValidationPromise:function(e,t,a){D.updateValidationPromise(e,this,a,t)}};r&&r.fn.extend(e),a.fn.extend(e,!0)}(),handleOnDomReady(_beginSPA)})}else console.error("Missing dependency library spa.dom or jQuery.");function noop(){}function _attr(e,t,a){if(_isEl(e))return 3==arguments.length?(e.setAttribute(t,a),e):e.getAttribute(t)}function _hasOwnProp(e,t){return o.hasOwnProperty.call(e,t)}function _argsToArr(e){return U.slice.call(e)}function cOut(e,t){D.debug&&console[e]&&console[e].apply(null,t)}function _cInfoMsg(e){console.info("%ci%c "+e,"color: white; background: blue;","color: grey")}function _strToNative(e){var t=e.trim();switch(!0){case function isNumeric(){var e=t.replace(/[0-9]/g,"");return!!t.length&&(!e.length||("-"==e||"+"==e||"."==e))}():return+t;case function isBoolean(){return"true"==t||"false"==t}():return"true"==t;case function isObject(){return"{"==t[0]&&"}"==t[t.length-1]}():return t.toJSON();case function isArray(){return"["==t[0]&&"]"==t[t.length-1]}():return("{xArr:"+t+"}").toJSON().xArr;default:return e}}function _isValidEvalStr(e){return!D.jsonDataSanityCheck||(!(0<=(t=e.indexOf("("))&&e.indexOf(")",t)>t)||void console.warn("Insecured String with braces():",e));var t}function _toObj(t,e){var a;if(_isStr(t)){if(!_isValidEvalStr(a=t.trimStr().trimStr(",").trimStr(";")))return t;if(a.match(/^\</))return t;if(!(a.containsStr("{")||a.containsStr(":")||a.containsStr("\\[")||a.containsStr("'")||a.containsStr('"'))){if(a.containsStr(",")||a.containsStr(";"))return a.replace(/ /g,"").replace(/;/g,",").split(",");if(!e)return _strToNative(a);a="{"+e+":"+a+"}"}(a=a.containsStr(":")&&!a.containsStr(",")&&a.containsStr(";")?a.replace(/\;/g,","):a).beginsWithStr("{")||a.beginsWithStr("\\[")?a.beginsWithStr("{")&&!a.containsStr(":")&&a.containsStr("=")&&(a=""+a.replace(/=/g,":")):a=a.containsStr(":")?"{"+a+"}":a.containsStr("=")?"{"+a.replace(/=/g,":")+"}":"["+a+"]",!a.beginsWithStr("{")&&e&&(a="{"+e+":"+a+"}")}e={};try{e=_isStr(t)||"object"!=typeof t?_isBlank(t)?null:Function('"use strict";return ('+a+")")():t}catch(e){console.error('Error JSON Parse: Invalid String >> "'+t+'"\n>> '+e.stack.substring(0,e.stack.indexOf("\n")))}return e}function _of(e){return o.toString.call(e).slice(8,-1).toLowerCase()}function _is(e,t){return"*"==(""+t)[0]?0<=_of(e).indexOf((""+t).toLowerCase().substring(1)):0<=(""+t).toLowerCase().indexOf(of(e))}function _isArr(e){return _is(e,"array")}function _isBool(e){return _is(e,"boolean")}function _isFn(e){return _is(e,"function")}function _isObj(e){return _is(e,"object")}function _isObjLike(e){return"object"==typeof e||"function"==typeof e}function _isStr(e){return _is(e,"string")}function _isNum(e){return _is(e,"number")}function _isNumStr(e){return(""+e).isNumberStr()}function _isUndef(e){return _is(e,"undefined")}function _isDefined(e){return!_is(e,"undefined")}function _isEl(e){return _is(e,"*element")}function _is$El(e){return _isObj(e)&&!!e.jquery}function _isArrLike(e){return!!_isArr(e)||!!e&&("object"==typeof e&&(1===e.nodeType?!!e.length:0===e.length||0<e.length&&(0 in e&&e.length-1 in e)))}function _isEmptyObj(e){for(var t in e)return!1;return!0}function _isBlank(e){var t=!0;if(null!=e)switch(!0){case _isStr(e):t=0==e.trimStr().length;break;case _isFn(e):t=!1;break;case _isArr(e):case _isObj(e):t=_isEmptyObj(e);break;default:t=0==(""+e).trimStr().length}return t}function _isElementExist(e){return!_isEmptyObj($(e).get())}function _toStr(e){var t=""+e;return t=_isObj(e)?JSON.stringify(e):t}function _now(){return""+(new Date).getTime()}function _year(e){return e=e||0,(new Date).getFullYear()+D.toInt(e)}function _range(e,t,a){var n=[],r=arguments.length;if(r){1===r?(t=e,a=(e=0)<=t?1:-1):2===r&&(a=e<=t?1:-1);for(var i=Math.max(Math.ceil((t-e)/(a||1)),0);i--;)n.push(e),e+=a}return n}function _freeTimer(e){e&&clearTimeout(e)}function _initKeyTracking(){var e=arguments.length&&arguments[0]?arguments[0]:"[data-disable-keys],[data-focus-next],[data-focus-back]",t=$(2==arguments.length&&arguments[1]?arguments[1]:"body").find(e);B.info("Finding Key-Tracking for element(s): "+e),t.each(function(e,t){$(t).keydown(D._trackAndControlKey),B.info("SPA is tracking keys on element:"),B.info(t)})}function _selectOptionsFor(e,t,a,n){t=(t||"value").toLowerCase(),n=n||",",_isArr(a)&&(a=a.join(n="~~")),a=(n+a+n).toLowerCase();var r=D.getDocObj(e);if(r)for(var i,o=0;o<r.length;o++)i=(n+r.options[o][t]+n).toLowerCase(),i=0<=a.indexOf(i),(r.options[o].selected=i)?_attr(r.options[o],"selected",""):r.options[o].removeAttribute("selected")}function _rand(e,t){return Math.floor(Math.random()*(t-e+1))+e}function _$qrySelector(e){var t,a,n;return _isStr(e)&&(n=(t=e.trim().split(" "))[0],/app\.(.+)\./.test(n)?(a=n.split(".")[1],t[0]=t[0].replace("app."+a+".",'[data-rendered-component="'+n.split(".")[1]+'"] '),e=t.join(" ")):n.beginsWithStr("\\$")&&(0<(a=n.substring(1)).indexOf(":")?(n=D.toInt(a.getRightStr(":").trim()),a=a.getLeftStr(":"),t[0]='[data-rendered-component="'+a+'"]:eq('+n+")"):t[0]='[data-rendered-component="'+a+'"]',e=t.join(" "))),e}function _serializeUncheckedCheckboxes(e){var a,n,r="object"==typeof e,i=r?e:{},o=r&&!e?"":e;return $(this).find("input[data-unchecked]:checkbox:enabled:not(:checked)[name]").each(function(e,t){n=$(t),a=n.attr("name"),n=n.data("unchecked"),n=void 0===n?"":n,r?D.appendToObj(i,a,n):o+=(o?"&":"")+a+"="+n}),r?i:o}function _serializeFormToObject(e,t,a){var n=$(this),r=n[0];if(!r)return console.warn("Form not found! (_serializeFormToObject)"),{};var i,o,s=n.serializeToArray(),l=n.data(),c="object"==typeof e?e:{},d="boolean"==typeof e?e:t||!1,p=l.serializeIgnorePrefix,u=l.hasOwnProperty("typeNative");return k={},a&&(p=a),_each(s,function(){i=p?this.name.replace(p,""):this.name,c=D.setObjProperty(c,i,u?this.value.toNative():this.value,d)}),n.find("input[data-unchecked]:checkbox:enabled:not(:checked)[name]").each(function(){(i=$(this).attr("name"))&&(o=$(this).data("unchecked"),p&&(i=i.replace(p,"")),o=""+(void 0===o?"":o),c=D.setObjProperty(c,i,u?o.toNative():o,d))}),(r.hasAttribute("data-disabled")&&_isBlank(_attr(r,"data-disabled"))||_strToNative(l.disabled||"false"))&&n.find("[disabled][name]").each(function(){(i=$(this).attr("name"))&&(o=D.getElValue(this),p&&(i=i.replace(p,"")),o=""+(void 0===o?"":o),c=D.setObjProperty(c,i,u?o.toNative():o,d))}),c}function _serializeFormToSimpleObject(e,t){var a=$(this),n=a[0];if(!n)return console.warn("Form not found! (serializeFormToSimpleObject)"),{};var r,i,o,s,a=a.data(),l=this.serializeToArray(),c="object"==typeof e?e:{},e="boolean"==typeof e?e:_is(t,"boolean")?t:n.hasAttribute("data-disabled")&&_isBlank(_attr(n,"data-disabled"))||_strToNative(a.disabled||"false");return _each(l,function(){D.appendToObj(c,this.name,this.value)}),e&&$(this).find("[disabled][name]").each(function(){D.appendToObj(c,this.name,D.getElValue(this))}),$(this).find("input[data-unchecked]:checkbox:enabled:not(:checked)[name]").each(function(){o=$(this).attr("name"),s=""+(void 0===(s=$(this).data("unchecked"))?"":s),D.appendToObj(c,o,s)}),$(this).find("[data-to-json-group][name]").each(function(){r=this.name,(i=$(this).data("toJsonGroup"))&&(c[i]||(c[i]={}),D.appendToObj(c[i],r,D.getElValue(this)))}),c}function _getFullPath4Component(e,t){var a,n=e;return t=(t||"").replace(/[^a-z0-9]/gi,"/"),0<=".{$".indexOf(e[0])&&(t="$"==(a=(e=e.split("/"))[0].replace(/[\{\}]/g,""))||"."==a?t:a.replace(/[\{\$\}]/,""),a=D.defaults.components.inFolder?t+"/":"",e[0]=(D.defaults.components.rootPath+a).trimRightStr("/"),n=e.join("/")),n}function _spaComponentScriptHandle(e,t){var a,n,r,i,o,s,l;e.trim()&&(i=r=l=n=a="",o=/spa\.\$extend\s*\(/g.test(e),(o=(D.defaults.components.functional||/^\s*\/\/\s*@(spaComponent|spa\$)\s*/.test(e))&&!o)&&(s=e.substring(0,e.indexOf("\n")).trim(),/^\s*\/\/\s*@(spaComponent|spa\$):\s*/.test(s)?l=s.substring(s.indexOf(":")+1).trim():(l=t.substring(0,t.indexOf(".js")).replace(new RegExp(".*"+D.defaults.components.rootPath+"(.*)"),"$1"),D.defaults.components.inFolder&&(l=l.substring(0,l.lastIndexOf("/")))),l&&(r=l.replace(/\//g,"_"),i=l&&" __spa$"+r,function verifyPropsInGlob(){var t=[];V.forEach(function(e){L.hasOwnProperty("_"+e)&&t.push("_"+e)}),L.hasOwnProperty("prop")&&t.push("prop"),L.hasOwnProperty("props")&&t.push("props"),L.hasOwnProperty("$props")&&t.push("$props"),t.length&&console.warn("Found reserved spaComponent properties[ "+t.join(", ")+" ] in global scope.")}(),a='var _spa$="'+l+'", __spa$publicProp__={};'+(c?"var":"const")+" __def$props__={};"+q+"\n/*--- ---*/\n\n",n="\n\n/*--- ---*/\nif(!spa.is$Loaded(_spa$)){"+K+"spa.$(_spa$, extend(__def$props__, _spa$prop));}")),s="",((t=d&&(o||/import (.*) from /g.test(e)))||/async |await /g.test(e))&&(s=c?"":"async ",D.componentsAsync[r]=1),_attr(l=document.createElement("script"),"id","js-"+r+_now()),D.defaults.csp.nonce&&_attr(l,"nonce",D.defaults.csp.nonce),t?(_attr(l,"type","module"),l.text=a+e+n):l.text="("+s+"function"+i+"(){\n"+a+e+n+"\n})();",document.head.appendChild(l).parentNode.removeChild(l))}function _cachedScript(e,t){return B.log("Ajax for script:",e,"options:",t),!(e=_getFullPath4Component(e,t?t.spaComponent:"")).endsWithStrIgnoreCase(".js")&&e.indexOf("?")<0&&(e+=D.defaults.components.scriptExt),(t=t||{}).hasOwnProperty("cache")||(t.cache=!0),t.hasOwnProperty("dataType")||(t.dataType="javascript"),t=_extend(t,{url:e}),B.info("Loading Script('"+e+"') ..."),N(t)}function _getAboluteUrl(e,t){return(e||"").trimRightStr("/")+"/"+(t||"").trimLeftStr("/")}function _isFailedLang(e){return J.hasOwnProperty(e.replace(/[^a-z]/gi,""))}function _docLang(){return document.querySelector("html").getAttribute("lang")}function _browserLang(e){var t=navigator.languages?navigator.languages[0]:navigator.language||navigator.userLanguage||_docLang()||"en";return e?(t||"").substring(0,2).toLowerCase():t}function _init_i18n_Lang(e){var t=function _normalizeLanguageCode(e){return e=3<(e=(e=!e||e.length<2?_browserLang():e).toLowerCase().replace(/-/,"_")).length?e.substring(0,3)+e.substring(3).toUpperCase():e}((e=_extend({reset:!0,language:"",url:"",method:"GET",path:"language/",prefix:"Language_",ext:".txt",cache:!0,async:!0,callback:null},e)).language),a=e.path+e.prefix,n=e.ext||".properties",r="",t=(5<=t.length?r=t.substring(0,5):2<=t.length&&(r=t.substring(0,2)),_extend({},e.urlParams||{},{lang:r.replace(/_/g,"-")})),a=a+(a.indexOf("{")<0?r:"")+n;!function _loadAndParseLangFile(e,t){B.info("Attempt to get language properties from:",e,t);var a={url:e,method:(t.method||"GET").toUpperCase(),async:t.async,cache:t.cache,dataType:"text",success:function(e){G=0,e?(t.reset&&(B.info("Resetting previous language dictionary."),X={}),function _updateLangDictionary(t){var e,n,r,i,o=[];if(t&&/^\s*{/.test(t)){try{e=JSON.parse(t),B.log("Lang Properties Object:",e)}catch(e){console.warn("Error Parsing Language Properties JSON.",e,"\n"+t)}e&&!function(e,t){if(t=t||"","object"==typeof e)for(var a in e)i=t.substring(1),n=_isNumStr(a)?"[":".",r=i&&"["==n?"]":"",arguments.callee(e[a],t+n+a+r)||"object"==typeof e[a]||(i=i+(i?n:"")+a+r,o.push(i+"="+e[a]))}(e)}else o=(""+t).split(/\n/);B.log("Lang Properties Array:",o);for(var a=/(\\u.{4})/gi,s=0;s<o.length;s++)if(o[s]=o[s].replace(/^\s\s*/,"").replace(/\s\s*$/,""),0<o[s].length&&"#"!=o[s].match("^#")){var l=o[s].split("=");if(0<l.length){for(var c=decodeURI(l[0]).replace(/^\s\s*/,"").replace(/\s\s*$/,""),d=1==l.length?"":l[1];"\\"==d.match(/\\$/);)d=d.substring(0,d.length-1),d+=o[++s].replace(/\s\s*$/,"");for(var p=2;p<l.length;p++)d+="="+l[p];var u=(d=d.replace(/^\s\s*/,"").replace(/\s\s*$/,"")).match(a);if(u)for(var f=0;f<u.length;f++)d=d.replace(u[f],function unicodeToChar(e){var t=[],e=parseInt(e.substring(2),16);0<=e&&e<Math.pow(2,16)&&t.push(e);for(var a="",n=0;n<t.length;++n)a+=String.fromCharCode(t[n]);return a}(u[f]));X[c]=d}}C=!0}(e),t.callback&&t.callback()):console.warn("Received empty language properties.")},error:function(){G++,J[t.language.replace(/[^a-z]/gi,"")]=e,console.warn("Failed to get language properties from: "+e),t.callback&&t.callback()}},n=t.data||t.payload;_isBlank(n)||(a.data=n);t.headers&&(a.data=t.headers);N(a)}(D.api.url(e.url||a,t),e)}function _i18nTextValue(e,t){var a,n,r,i=D.i18n.value(e),o=(t&&_is(t,"object|array")&&(n=a="",_each(_keys(t),function(e){a=""+t[e],n=a.trim(),a&&(n.beginsWithStrIgnoreCase("i18n:")||n.beginsWithStrIgnoreCase("@"))&&(a=D.i18n.value(n)),i=i.replace(new RegExp("{\\s*("+e.trim()+")\\s*}","g"),a)})),[e]);return function parseMessage(t){var e=D.extractStrBetweenEx(t,"{","}",!0);return _isBlank(e)?t:(_each(e,function(e){(r=r||0<=o.indexOf(e))||(o.push(e),t=t.replace(new RegExp("{\\s*("+e.trim()+")\\s*}","g"),D.i18n.value(e)))}),r?(console.error("i18nKey circular issue found:",o.join(" > ")),t):parseMessage(t))}(i)}function _setLang(e,t,a){var n;(e=(e=_isObj(e)?(t=e).lang||"":e)&&"*"!=e?e:_docLang()||_browserLang(1))&&(D.i18n.onLangChange&&(e=_isStr(n=_isFn(n=D.i18n.onLangChange)?n.call(void 0,e,a):e)?n:e),$("html").attr("lang",e.replace("_","-")),D.i18n.setLanguage(e,_mergeDeep({},D.defaults.lang,_find(window,"app.conf.lang",{}),_find(window,"app.lang",{}),t||{})))}function _pipeSort(e,t){var a,n=e;if(_isArr(e))n=e.sort(),t&&(n=n.reverse());else if(_isStr(e)){switch(!0){case 0<=e.indexOf(","):a=",";break;case 0<=e.indexOf(" "):a=" "}a&&(n=e.split(a).sort().join(a),t&&(n=n.reverse()))}return n}function _pipeLower(e){return(""+e).toLowerCase()}function _pipeUpper(e){return(""+e).toUpperCase()}function _pipeTitle(e){return(""+e).toTitleCase()}function _pipeSortDesc(e){return _pipeSort(e,!0)}function _defaultAttr(e){var t="html";switch(e.tagName.toUpperCase()){case"INPUT":switch(e.type.toLowerCase()){case"checkbox":case"radio":t="check";break;default:t="value"}break;case"TEXTAREA":t="value";break;case"SELECT":t="options"}return t}function _unmaskHandlebars(e){return e.replace(/(\/)*>/g,">").replace(/ _XHBTINSPA_--(>|>)/gi,"").replace(/(>|>)(<|<)!--_XHBTINSPA_/gi,"").replace(/<IMG-X-TMP /gi,"<img ").replace(/<IFRAME-X-TMP /gi,"<iframe ").replace(/<\/IFRAME-X-TMP/gi,"</iframe")}function _adjustComponentOptions(e,t){var a,n="_rtt_"+e;return t&&_isObj(t)&&D.hasPrimaryKeys(t,"template|templateStr|templateString|templateUrl")&&(t.hasOwnProperty("template")&&((a=t.template.trim()).beginsWithStr("#")&&!a.containsStr(" ")||"inline"==a||"."==a?"inline"!=a&&"."!=a&&"#"!=a||(t.templateUrl="inline"):t.templateStr=t.template),D.hasPrimaryKeys(t,"templateStr|templateString")?(a=t.templateStr||t.templateString||"",D.updateTemplateScript(n,a),t.template="#"+n):D.hasPrimaryKeys(t,"templateUrl")&&((a=(t.templateUrl||"").trim())&&/^(\.\/)/.test(a)&&(n=/[^a-z0-9]/gi.test(e),a=D.defaults.components.rootPath+(D.defaults.components.inFolder||n?e.replace(/[^a-z0-9]/gi,"/")+"/":"")+a.substring(2)),t.template=a)),t&&_isObj(t)&&!D.hasPrimaryKeys(t,"data|dataUrl")&&D.hasPrimaryKeys(D.api.urls,"$"+e)&&(t.dataUrl="@$"+e),D.debug&&B.log("$ Adj.Options>>>>",e,t&&t.__now()),t}function handleOnDomReady(e){(i&&r?r:_onDomReady)(e)}function _onDomReady(e){"complete"===b.readyState||"loading"!==b.readyState&&!b.documentElement.doScroll?e():b.addEventListener("DOMContentLoaded",e)}function __$refresh(e){var t=this.__name__;return _onDomReady(function(){D.refreshComponent(t,e)}),this}function __$render(e){var t=this.__name__;return _onDomReady(function(){D.renderComponent(t,e)}),this}function __$show(e){var t=this.__name__;return _onDomReady(function(){D.showComponent(t,e)}),this}function __$hide(){var e=this.__name__;return _onDomReady(function(){D.hideComponent(e)}),this}function __$enable(){var e=this.__name__;return _onDomReady(function(){D.enableComponent(e)}),this}function __$disable(){var e=this.__name__;return _onDomReady(function(){D.disableComponent(e)}),this}function __$remove(){return D.removeComponent(this.__name__)}function __$destroy(){return D.destroyComponent(this.__name__)}function SPAComponent(e){this.__name__=e}function _spaComponentOp(){var e,t=this.action;arguments.length&&(1==(e=arguments).length&&(_isArr(arguments[0])?e=arguments[0]:_isStr(arguments[0])&&(e=arguments[0].split(","))),B.log(e),e&&e.length&&_each(e,function(e){B.info(t+" x-component:",e),spa[t](e.trim())}))}function __finalValue(e,t){var a=e,n=t,r=U.slice.call(arguments,2);return _isStr(a)&&(0<a.indexOf("(")&&(a=a.getLeftStr("(")),a=_find(window,a.trim(),void 0)),a=_isFn(a)&&1<arguments.length?a.apply(n,r):a}function lock$render(e){Z[e]=_now()}function unlock$render(e){delete Z[e]}function is$renderLocked(e,t){t=t||2e3;var a,n=_isStr(e)&&Z[e];return n&&(a=+_now()-+n,B.warn("Component ["+e+"] is locked. Wait or use spa.$unlock("+e+"); Last lock",a,"msec before."),t<=a&&(unlock$render(e),n=!1)),n}function _isRendering(t){return Object.keys(Z).forEach(function(e){is$renderLocked(e,t||1e3)}),Object.keys(Z).length}function _spaRenderRefreshComponents(){var t,a=this.action;arguments.length&&(_isObj(t=1==(t=arguments).length?!_isArr(arguments[0])&&_isStr(arguments[0])?arguments[0].split(","):arguments[0]:t)?_each(_keys(t),function(e){B.info("Rendering x-component:["+e+"]"),spa[a](e,t[e])}):t&&t.length&&_each(t,function(e){B.info("Rendering x-component:",e),spa[a](e.trim())}))}function _spaTagsSelector(e){return e.split(",").map(function(e){return e.trim()+"[src]:not([data-spa-component]):not([data-x-component])"}).join(",")}function _isDynSpa$(e){return/^(\$)*(dyn)*SPA\$/i.test(e)}function _renderForComponent(){event.preventDefault();var l,e=event,c=this,t=_attr(c,"for")||"",a=t.indexOf(":"),n=t.indexOf("|"),a=((0<a&&(n<0||a<n)?"|":"")+t+"|").split("|").map(function(e){return e.trim()}),d=a.shift(),n=a[0].trim(),p={};!n||_isObj(p=_toObj(n))&&!_isBlank(p)?(l=setTimeout(function(){var e,t,a,n,r,i="#"+_attr(c,"id"),o=!0,s={};(d.length<2&&(!d||/[^a-z]/g.test(d))||_isDynSpa$(d))&&!(d=_attr(c,"spa-dyn-comp-name"))&&(d="$dynSPA$"+_now()+_rand(0,999),_attr(c,"spa-dyn-comp-name",d)),"FORM"===c.tagName.toUpperCase()?((a=c.checkValidity())||c.reportValidity(),(o=_isBlank(t=D.validateForm(i,!0))&&a)?(s=c.hasAttribute("data-nested")?D.serializeFormToObject(i):D.serializeFormToSimpleObject(i),n=c.hasAttribute("method")&&_attr(c,"method")||"",e=c.hasAttribute("action")&&_attr(c,"action")||"",r=c.hasAttribute("data-render-target")&&_attr(c,"data-render-target")||"",n&&(p.dataUrlMethod=n),e&&(p.dataUrl=e),r&&!p.target&&(p.target=r)):B.info("Form has validation error(s):",t)):(c.hasAttribute("data-validate")&&(n=c.closest("form"))&&((a=n.checkValidity())||n.reportValidity(),(o=_isBlank(t=D.validateForm("#"+n.id,i,!0))&&a)||B.info("Element has validation error(s):",t)),o&&(e=D.getElValue(c),(o=c.hasAttribute("required")?!_isBlank(e):o)&&c.hasAttribute("name")&&(s[_attr(c,"name")]=e))),o&&(p.target||(r=c.hasAttribute("data-render-target")&&_attr(c,"data-render-target")||"")&&(p.target=r),p.hasOwnProperty("dataXtra")||_isBlank(s)||(p.dataXtra=s),p.hasOwnProperty("dataUrlParams")||_isBlank(s)||(p.dataUrlParams=s),p.dataParams=p.hasOwnProperty("payload")&&!p.payload?{}:s,"stringify".equalsIgnoreCase(p.payload)&&(p.stringifyPayload=!0),D.$render(d,p)),_freeTimer(l)},p.delay?+p.delay:0),e&&"submit"==e.type&&e.preventDefault()):console.warn("Invalid Options in:",c)}function _registerRenderForEl(t){var e,a,n=t.tagName.toUpperCase(),r="FORM"===n?"submit":"click",i=(_attr(t,"for")||"").trim();i&&(/on(\s*):/i.test(i)&&(a=i.indexOf(":"),e=i.indexOf("|"),r=(_toObj(((0<a&&(e<0||a<e)?"|":"")+i+"|").split("|").map(function(e){return e.trim()})[1]).on+"").toLowerCase()),"FORM"!==n||t.hasAttribute("id")||_attr(t,"id","spaForm-"+_now()+_rand(1,999)),(a=(t.hasAttribute("target")&&_attr(t,"target")||"").trim())&&"#"==a[0]&&(_attr(t,"data-render-target",a),t.removeAttribute("target")),r=(t.getAttribute("on")||t.getAttribute("render-on")||r).replace(/[^a-z]/gi,"_"),_attr(t,"render-on",r),r.split("_").forEach(function(e){2<(e=e.trim().toLowerCase()).length&&(e=e.replace(/^on/,""),t.removeEventListener(e,_renderForComponent),t.addEventListener(e,_renderForComponent))}))}function _Event(e,t){var a;return c?(a=document.createEvent("Event")).initEvent(e,!0,!0):a=new Event(e,{bubbles:!0,cancelable:!0}),t&&(a.targetElement=t),a}function _triggerClickEventOnAttr(t,a){var e,n=(D.defaults.routes.onClickAs||"click").toLowerCase(),r=$(t),i=(""+_attr(t,a)||"").trim(),o="click"!==n;if(i&&"null"!=i&&"undefined"!=i&&!(r.hasClass("disabled")||r.is("[disabled]")||r.is(":disabled")))try{o?(e="on"+n,r.renameAttr(a,e),t.dispatchEvent(_Event(n,t)),r.renameAttr(e,a)):i.split(";").forEach(function(e){e.trim()&&Function("event","("+e.trim()+")").call(t,_Event(n,t))})}catch(e){console.error(e.stack.substring(0,e.stack.indexOf("\n"))+"! Failed to trigger ["+n+"(:->"+a+")] event on Element:\n",t)}}function _disabledElClick(e){var t=$(this);t.hasClass("disabled")||t.is("[disabled]")||t.is(":disabled")?(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation()):_triggerClickEventOnAttr(this,"onclickthis")}function _initSpaElements(e){var e=$(e||"body"),t=e.find("form:not([action]):not([method]):not([onsubmit])"),a=he?".no-spa-route":"",a=e.find('a[href*="//"]:not([target])'+a),n=e.find("a:not([href]):not(.no-link)"),e=e.find("[onclick]:not(:input):not(["+g+"]):not([onclickthis])");t.filter(function(){return!$(this).closest("pre").length}).attr("onsubmit","return false;").addClass("spa-form"),a.filter(function(){return!$(this).closest("pre").length}).attr("target","_blank").attr("rel","noopener noreferrer").addClass("spa-external-link"),n.filter(function(){return!$(this).closest("pre").length}).attr("href","javascript:;").addClass("spa-link"),e.filter(function(){return!$(this).closest("pre").length}).addClass("as-btn").renameAttr("onclick","onclickthis").on("click",_disabledElClick)}function _initFormValidation(e){var t,a,n,r,i,o,s=$(e),l=_find(spa,"_validate.defaults.offline",!0);1==s.length&&((n=s.attr("id")||"")||(n=s.attr("name")||"spaForm"+_now(),s.attr("id",n)),t=s.data(),a=s.has(".ctrl-on-change,.ctrl-on-validate").length,l&&((l=(s.attr("data-validate-defaults")||"").trim())?(l.indexOf("offline")<0&&(l.endsWithStr("}")?(r=l.lastIndexOf("}"),l=[l.slice(0,r),",offline:true",l.slice(r)].join("")):l+=",offline:true"),s.attr("data-validate-defaults",l)):s.attr("data-validate-defaults","{offline:true}")),s.is("[data-validate-form]")||s.attr("data-validate-form",""),s.attr("data-validation-initialized",""),s.attr("onsubmit")||s.attr("onsubmit","return false;"),s.on("change",function(){D.updateTrackFormCtrls(this)}),s.find("textarea,input:not(:checkbox),input:not(:radio)").filter(":not([data-validate])").each(function(){_attr(this,"data-validate","{onInput:{fn:_check.noop}}")}),r="",l=D.defaults.validation.xss,i=(s.attr("data-validate-xss")||"").trim(),o=(l.msg||"").trim(),/msg\s*:/g.test(i)&&((o=_toObj(i).msg)?i="on":o="Invalid input."),i="onFocus:{fn:_clearSpaValidateMsg,offline:false}"+(r=o&&!(i.equalsIgnoreCase("off")||i.equalsIgnoreCase("no")||i.equalsIgnoreCase("skip")||i.equalsIgnoreCase("false"))?4<i.length?","+i:",on"+l.on.capitalize()+":{fn:'"+l.fn+"',msg:'"+o+"'}":r),(l=(s.attr("data-validate-common")||"").trim())?l.indexOf("_clearSpaValidateMsg")<0&&(o="{"==l[0]?(l[0]=",","{"+i+l):"{"+i+","+l+"}",s.attr("data-validate-common",o)):s.attr("data-validate-common","{"+i+"}"),D.initDataValidation("#"+((t.validateForm||t.validateScope||"").replace(/[#onRender]/gi,"")||n)),!s.hasClass("track-changes")&&a&&D.trackFormElChange(e),"onRender".equalsIgnoreCase(t.validateForm)&&D.validateForm("#"+n,!0,!0))}function _jQserializeArray(){B.group("_jQserializeArray");var e=this.map(function(e,t){var a=t.elements,a=a?[].slice.call(a):t;return B.info("Form elements",e,t,a),a}).filter(function(e,t){var a=t.name&&!$(t).is(":disabled")&&ee.test(t.nodeName)&&!te.test(t.type)&&(t.checked||!ae.test(t.type));return B.info("Filter",e,t,!!a),a}).map(function(e,t){B.info("Final element",e,t);e=D.getElValue(t);return null==e?null:Array.isArray(e)?_map(e,function(e){return{name:t.name,value:_isStr(e)?e.replace(Y,"\r\n"):e}}):{name:t.name,value:_isStr(e)?e.replace(Y,"\r\n"):e}}).get();return B.info("result:",e),B.groupEnd("_jQserializeArray"),e}function _isLiveApiUrl(e,t){var a="",t=t||_find(window,"app.api.liveApiPrefix",""),n=e.beginsWithStr("!");if(e=e.trimLeftStr("!"),t){var r,i,o=[],s=0;if(_isStr(t)?o=t.split(","):_isArr(t)&&(o=t),0<(r=o.length))for(;!a&&s<r;)a=(i=o[s++].trim())&&(e.beginsWithStr(i)||!_isRelativePath(e)&&0<e.indexOf(i))?i:"";else a=e.beginsWithStr(t)||!_isRelativePath(e)&&0<e.indexOf(t)?t:""}else n&&(a="??");return a}function _isRelativePath(e){e=e.getLeftStr(6).toLowerCase();return!(e.beginsWithStr("http:")||e.beginsWithStr("https:")||e.beginsWithStr("//"))}function _removeMockParams(e){return e.replace(/{{([^}])*}}(\/*)/g,"")}function _ajaxPrefilter(t,e,a){t.url.beginsWithStr(D.api.urlKeyIndicator)&&(t.url=D.api.url(t.url.trimLeftStr(D.api.urlKeyIndicator),t.data));var n,r=t.url,i=(_find(window,"app.api.reqHeaders")&&(t.beforeSend=function(e){!function _ajaxSetReqHeaders(t,e){var a=_find(window,"app.api.reqHeaders"),n=_isFn(a)?a(t,e):a;_isObj(n)?_each(_keys(n),function(e){t.setRequestHeader(e,n[e])}):_isStr(n)&&(_isLiveApiUrl(e.url)?(e.data=e.data||"",e.data+=(_isBlank(e.data)?"":"&")+n):t.setRequestHeader("reqHeadersInLiveUrl",n))}(e,t)}),"script"==t.dataType||t.hasOwnProperty("error")||(t.error=app.api.onError||D.api.onReqError),""),o=/({+)([^}])*(}+)/;if(D.api.mock||app.api.mock||r.beginsWithStr("!"))if(r.beginsWithStr("~"))t.url=(_isRelativePath(r.trimLeftStr("~"))&&D.api.baseUrl||"")+r.trimLeftStr("~")+(D.api.liveUrlSuffix||""),D.api.baseUrl&&(t.crossDomain=!0);else{var s=("/"+(t.method||t.type).toUpperCase()).replace("/GET","");if(t.type=t.method="GET",i=_isLiveApiUrl(r),r=r.trimLeftStr("!"),i){if(r.containsStr("\\?")||(r=r.trimRightStr("/")+"?"),o.test(r)){B.log("URL has undefined params >>",r,t.data);try{l=_isStr(t.data)?JSON.parse(t.data):t.data,r=D.api.url(r.replace(/{{/g,"{").replace(/}}/g,"}"),l)}catch(e){}B.log("Updated URL>>",r)}s=function _mockFinalUrl(e,t,a){e=e||"/",t=t||"","??"===(a=a||_isLiveApiUrl(e))&&((n=e.indexOf("//"))<0?e=(a="/MOCK-ROOT/")+e.trimLeftStr("/"):a=e.substring(0,e.indexOf("/",n+2)+1)),E&&(e.indexOf("//")<0?e=(a="__DEFAULT_MOCK_API_ROOT__/")+e.trimLeftStr("/"):(e=e.replace(new RegExp(a),"__DEFAULT_MOCK_API_ROOT__/"+a.trimLeftStr("/")),a="__DEFAULT_MOCK_API_ROOT__/"));var n="",r=_find(app,"api.mockBaseUrl")||_find(spa,"api.mockBaseUrl")||"",i=r?"":(_find(app,"api.mockRootFolder")||_find(spa,"api.mockRootFolder")||"api_").trimRightStr("/")+"/",o=_find(app,"api.mockDataFile")||_find(spa,"api.mockDataFile")||"",n=(e||"").replace(/[\{\}]/g,"").replace(RegExp("(.*)(/*)"+a.trimLeftStr("/")),i).replace(/(\/)*\?/,t+"/"+o+"?").replace(/\?$/,"");return r&&(r=r.trimRightStr("/")+"/",(e=n.indexOf("//"))<0?n=r+n:e<7&&(n=r+n.substring(n.indexOf("/",n.indexOf("//")+2)+1))),n}(r,s,i);t.url=s,(app.api&&app.api.debug||app.debug||spa.debug)&&console.warn(">>>>>>Intercepting Live API URL: ["+r+"] ==> ["+s+"]"),n=!0}}else i=_isLiveApiUrl(r),(app.debug||spa.debug)&&console.log("actualUrl:"+r+",baseUrl:"+D.api.baseUrl+",liveApiPrefix:"+i),i&&(t.url=(_isRelativePath(r)&&D.api.baseUrl||"")+r+(D.api.liveUrlSuffix||""),D.api.baseUrl&&(t.crossDomain=!0));if(B.log("Remove mock params if any in URL>",t.url),t.url=_removeMockParams(t.url),o.test(t.url)){B.log("URL has undefined params>",t.url,t.data);try{l=_isStr(t.data)?JSON.parse(t.data):t.data,t.url=D.api.url(t.url.replace(/{</g,"{").replace(/>}/g,"}"),l)}catch(e){}}B.log("Final Ajax URL>",t.url),(o.test(t.url)||/<([^>])*>/.test(t.url))&&(console.warn("URL has undefined params >>",t.url,t.data),t.url=t.url.replace(/[{<>}]/g,"_"));var l,c,s=app.api.defaultPayload||D.api.defaultPayload;s&&(l="string"==(i=_of(t.data))?_toObj(t.data):t.data,_isFn(s)?_isObj(o=s.call(t,l,t))&&!_isBlank(c=JSON.parse(JSON.stringify(o)))&&(t.data="string"==i?JSON.stringify(c):c):(c=_is(s,"object|array")?JSON.parse(JSON.stringify(s)):s,c=_is(c,"object|array")&&_is(l,"object|array")?_mergeDeep({},c,l):c,t.data=_isBlank(c)||"string"!=i?c:JSON.stringify(c))),D.ajaxPreProcess&&D.ajaxPreProcess(t,e,a),(_isBlank(t.data)||_isStr(t.data)&&!/[a-z0-9]/i.test(t.data))&&(B.log("REMVOING EMPTY PAYLOAD"),delete t.data),n&&((o=_isStr(t.data)?t.data:JSON.stringify(t.data))&&_isStr(o)&&6144<o.length&&(o="LAREGE-PAYLOAD-WITH-CHAR-LENGTH:"+o.length),t.headers=_mergeDeep({},t.headers,{"Z-Live-URL":r,"Z-Payload":o}),delete t.data),(app.api&&app.api.debug||app.debug||spa.debug)&&console.log("ajax Options",t)}function _blockSpaNavigation(e){e=$(e||"body :first");return e.addClass(ue),T=_isSpaNavBlocked()||!0,e}function _allowSpaNavigation(e){e=$(e||fe);return e.removeClass(ue),e.find(fe).removeClass(ue),T=_isSpaNavBlocked(),e}function _isToShowSpaNav(){return!A}function _isSpaNavBlocked(e){return e?(e=$(e)).hasClass(ue)||0<e.find(fe).length:!!$(fe).length}function _isSpaNavAllowed(e){return!_isSpaNavBlocked(e)}function _onpageshow(){!function _blockBrowserNav(){T&&_replaceUrlHash(h)}()}function _onPopStateChange(e){!function _routeSpaUrlOnHashChange(){var e=D.urlHashFull(f);B.log("on Hash Change: Url To [",e,"] from[",h,"] on click:",se," block-Navigation:",T,"isDelayed:",ce),!se&&T?(B.log("-------------\x3e",h,e,ce,de),B.log("lastBlocked:",pe),pe=pe||h,"#"==f[0]?(_replaceUrlHash(ce?de:h,e),pe==e&&_handleNavAwayEvent(e)):(_replaceUrlHash(ce?de:h,e),_handleNavAwayEvent(e))):(B.log("Triggering next hash... by href:",he,"autoRoute:",m,"byClick",se),_triggerNextHash(m||!se))}(),le=le&&le!=be?(B.warn("Blocked:",le),be):(le!=be&&(D.onUrlHashChange?D.onUrlHashChange(D.urlHash([],f),e):D.onUrlChange&&D.onUrlChange(D.urlHash([],f),e)),"")}function _onWindowReload(){var e,t;switch(_of(e=D.onReload?D.onReload():e)){case"boolean":if(e)break;return D.i18n.text(t="xsr.message.on.window.reload").replace(t,"");case"string":return(e=e.trim())&&((t=e.beginsWithIgnoreCase("i18n")?e.replace(/i18n(:)*/i,""):"")?D.i18n.text(t).replace(t):e);default:if(t="xsr.message.on.window.reload",T)return D.i18n.text(t).replace(t,"")}}function _handleNavAwayEvent(e,t){var a,n,r,i;pe=e,B.log("Trying to navigate away from:["+h+"] To:["+e+"] by",t),$(fe).each(function(){a=$(this),"#"==(n=(a.attr(ge)||"").trim())[0]||">"==n[0]?(r=">"==n[0]?n.substring(1).trim():n,(r=a.find(r).filter(":not(.disabled):not(:disabled)")).length&&(t&&(i="id:'"+t.attr("id")+"', spaRoute:'"+t.attr(g)+"'"),r.data("navToUrl",e).attr("data-nav-to-url",e),r.data("navBy",i).attr("data-nav-by",i),r.trigger("click"))):(r=_find(window,n.split("(")[0].split(";")[0]))&&_isFn(r)&&r.call(a,e,a,t)})}function _processDynHash(e,t){var n,a,r,i,o=0<=e.indexOf(":"),s=t;return _isBool(t)&&(s=t?"click":""),o&&(t=o?e.split(":")[0]:"",n={},_each(0<e.indexOf("&")?e.split("&"):0<e.indexOf(",")?e.split(","):[e],function(e){a=e.split(":")[0],r=e.getRightStr(":"),n[a]=decodeURIComponent(r)}),(o=!_isBlank(i=((t=$("["+g+'*="/'+t+':"]['+me+"]")).attr(me)||"").trim()))&&(ye.push(e),_each(_toObj(i),function(e,t){var a;e=e.trim(),/(^app\.(.)+\.)|(^\$)|(^\#)/.test(e)?D.setElValue(e,n[t]):/^fn:/i.test(e)&&((a=(a=e.split(" ")[0].getRightStr(":").trim().split("(")[0])?_find(window,a):"")&&_isFn(a)?a(t,n[t]):console.warn("Not a function",e))}),s&&t.isEnabled()&&!t.hasClass("AUTO-ROUTING")&&t.trigger(s))),o}function _triggerNextHash(e){e&&!function _initAutoRoute(){ie=[],oe=50}(),m=_isUndef(e)?m:e;var t,a,n=D.urlHash([],f),r=n.length-1;if(m=oe<0?!1:m){oe--;for(var i=r;0<=i&&(a=n[i-1]||"",m&&0<a.indexOf(":")&&!ie.__has(a)&&i--,a=n[i],t=i==r,m&&!ie.__has(a));i--)if(a){var o=0<=a.indexOf(":"),s=o?a.split(":")[0]:"",l="["+g+'$="/'+a+'"]:not(:disabled):not(.disabled):not(.AUTO-ROUTING):first',s=$(l=o?"["+g+'*="/'+s+':"]['+me+"]":l);if(s.length){if(o=o&&_processDynHash(a),ie.push(a),m=!t,s.isEnabled()&&!s.hasClass("AUTO-ROUTING")&&s.addClass("AUTO-ROUTING").trigger(s.data("routeEvent")||"click"),t){W="";break}i+=2}}}se=!1}function _updateBrowserAddress(e,t){B.log("_updateBrowserAddress >>>>>>>>>[",e,"]delay:",t,"prev:",h);var t="#"==f[0];e&&(h=e,t?(B.log(e),(t=$("#_spaRouteLink_")).length||(t=$('<a id="_spaRouteLink_" href=""></a>'),$("body").append(t)),B.log("################# "+e),t.attr("href",e)[0].click()):(B.log(e),"#"!=(e=e.trimLeftStr("/"))[0]&&(e="//"+window.location.host+_getAboluteUrl("/",e),B.log("updating the address bar with >>>>>",e)),B.log(">>>>>>>>>>>>>>>>> "+e),history.pushState(null,null,e)))}function _replaceUrlHash(e,t){e!=t&&(B.log("attempt to set URL:",e,"insteadOf",t),le=t,_updateBrowserAddress(e))}function _getNewMatchingRoutes(e){if(!(e=(e||"").trim()))return[];var t=D.urlHash([],f),a=e.trimStr("/").split("/"),n=[],r=a[0];var i=t.indexOf(r);if(0<r.indexOf("*"))for(var r=r.getLeftStr("*"),o=0;o<t.length;o++)if(t[o].beginsWithStr(r)){i=o;break}if(0<=i){for(var s,l=t.splice(i),c=0;c<a.length;c++)s=a[c].indexOf("*"),n[c]=s<0?a[c]:s?function getMatchHash(e,t){var a=t,n=t.getLeftStr("*");if(n)for(var r=0;r<e.length;r++)if(e[r].beginsWithStr(n)){a=e[r];break}return a}(l,a[c]):l[c];n=t.concat(n)}else n="/"==e[0]?a:t.concat(a);return n}function _onRouteElClick(e){var a,n,r,i,o,t,s,l=D.urlHash([],f),c=$(this);if(c.hasClass("disabled")||c.is(":disabled"))return e.stopImmediatePropagation(),e.stopPropagation(),void e.preventDefault();function update(e,t){"#"==(a=(e||"").trim())[0]&&(a=a.substring(1)),n="<"==a[0],r=">"==a[0],i=t||a[r?1:0],o=a.substring(r?2:1),s=!1}"#"!=f[0]&&e.preventDefault(),update(c.attr(g),c.attr("data-route-dir"));var d,p=(c.attr(me)||"").trim();if(p&&_each(_toObj(p),function(e,t){var a;d=e,/(^app\.(.)+\.)|(^\$)|(^\#)/.test(e.trim())?d=D.getElValue(e):/^fn:/i.test(e.trim())&&((a=(a=e.split(" ")[0].getRightStr(":").trim().split("(")[0])?_find(window,a):"")&&_isFn(a)?d=a(t):console.warn("Not a function",e)),o=o.replace(new RegExp(t+":","g"),t+":"+encodeURIComponent(d))}),_triggerClickEventOnAttr(this,"onrouteclick"),c.hasClass("AUTO-ROUTING"))c.removeClass("AUTO-ROUTING");else{switch("^"==i&&(_isBlank(l)?update(a.substring(1)):(e.preventDefault(),s=!0,i="/",o=D.urlHash("",f))),"#/-<>".indexOf(i)<0&&(o=i+o,i="?"),i){case"#":case"/":l=_getNewMatchingRoutes(o);break;case"-":var u=D.toInt(o.replace(/[^0-9]/g,""))||1;l.length&&(l.length=l.length-u);break;case"<":t=h;break;case"?":l=_getNewMatchingRoutes(o)}n||(t=_getAboluteUrl(f,l.join("/"))),!T||n||c.hasClass(_e)||c.inBlockedSpaNavContainer()||(r=!0,_handleNavAwayEvent(t,c)),B.log("Routing to...",t,"delay:",r,"prev:",h),!function _updateUrlHash(e,t,a){B.log("Updating url with:",e,"delay:",t,"autoRoute:",a),m=a,de=(ce=t)?h:"",t?h=e:(se=!0,D.isToShowNav()?m||_updateBrowserAddress(e,t):h=e)}(t,r,s)}}function _onRouteAutoReg(){D.route(_attr(this,g+"-AUTO").substring(1))}function _initRouteHash(e){$(e||"body").find("["+g+'^="*"]:not(.ROUTE):not(.ROUTE-AUTO)').renameAttr(g,g+"-AUTO").addClass("ROUTE-AUTO").on("click",_onRouteAutoReg);var t,a,n,e=$(e||"body").find("["+g+"]:not(.ROUTE)").renameAttr("onclick","onrouteclick").addClass("ROUTE").off("click",_onRouteElClick).on("click",_onRouteElClick);he&&e.length&&e.each(function(){t=$(this),a=t.attr("href").replace(/\s*/g,"").trim(),n="","#"==a[0]?0<="^><-".indexOf(a[1])&&(n=a[1],a=a.substring(2)):0<="^".indexOf(a[0])&&(n=a[0],a=a.substring(1)),t.attr("href","#"+a).removeAttr("target").attr("data-route-dir",n)}),_triggerNextHash(),T=D.isNavBlocked()}function _routeToUrl(e){if(e=(e||"").trim()){var t,a=e[0],n=1;switch("#/-<>".indexOf(a)<0&&(a="?",n=0),t=e.substring(n),a){case"/":r=_getNewMatchingRoutes(t);break;case"-":var r=D.urlHash([],f),i=D.toInt(e.replace(/[^0-9]/g,""))||1;r.length&&(r.length=r.length-i);break;case"?":r=_getNewMatchingRoutes(t);break;default:r=[t]}return _getAboluteUrl(f,r.join("/"))}}function _StoreMgmt(i){function _set(t,e){function _store(e,t){e=(""+e).trim();var a,n,r=/^\[(.)+]$/.test(e);0<e.indexOf(".")?(n=(a=(e=r?e.slice(1,-1):e).split(".").map(function(e){return e.trim()})).shift(),_store(n=r?"["+n+"]":n,0<=Object.keys(i).indexOf(n)?D.objProp(_get(n),a.join("."),t):D.objProp({},a.join("."),t))):(n=JSON.stringify(t),r&&(n=_compress(n)),i.setItem(e,n))}1==arguments.length?_type(t,"object")?Object.keys(t).forEach(function(e){_store(e,t[e])}):_type(t,"array")&&t.forEach(function(e,t){_store(t,e)}):2==arguments.length&&_store(t,e)}function _get(e){var t,a,n;return 0==arguments.length?_all():1==arguments.length?_type(e,"string")?0<(e=e.trim()).indexOf(",")?_all.apply(null,e.split(",")):0<e.indexOf(".")?(a=(t=(e=(n=/^\[(.)+]$/.test(e))?e.slice(1,-1):e).split(".").map(function(e){return e.trim()})).shift(),_find(_get(a=n?"["+a+"]":a),t.join("."))):(n=i.getItem(e),/^\[(.)+]$/.test(e)&&(n=_deCompress(n)),JSON.parse(n)):_type(e,"array")?_all.apply(null,e):void 0:_all.apply(null,arguments)}function _all(){var t=arguments.length,a=U.slice.call(arguments).map(function(e){return(""+e).trim()}),n={};return Object.keys(i).forEach(function(e){(!t||-1<a.indexOf(e))&&(n[e]=_get(e))}),n}function _clear(){var t;arguments.length?(t=U.slice.call(arguments).map(function(e){return(""+e).trim()}),Object.keys(i).forEach(function(e){t.indexOf(e)<0&&i.removeItem(e)})):i.clear()}function _type(e,t){var a=o.toString.call(e).split(" ")[1].toLowerCase().replace(/\]$/gi,"");return 2==arguments.length?-1<(""+t).toLowerCase().indexOf(a):a}function tB(e,t){return 0==arguments.length?_all():1==arguments.length?_type(e,"object|array")?(_set(e),e):_get(e):2==arguments.length?(_set(e,t),_get(e)):void 0}return tB.set=_set,tB.get=_get,tB.getAll=_all,tB.remove=function _remove(e){function _removeItems(){arguments.length&&U.slice.call(arguments).forEach(function(e){i.removeItem(e)})}0==arguments.length?_clear():1==arguments.length?_type(e,"string")?0<e.indexOf(",")?_removeItems.apply(null,e.split(",")):function _removeItem(e){i.removeItem(e)}(e):_type(e,"array")&&_removeItems.apply(null,e):_removeItems.apply(null,arguments)},tB.removeAll=_clear,tB.removeExcept=_clear,tB.clear=_clear,tB.clearExcept=_clear,tB}function _onViewDataChange(){var e,t,a,n,r,i,o;"object"==typeof ko&&"function"==typeof ko.applyBindings&&!$(this).closest("[useSpaBind]").length||(r=$(e=this),t=D.getElValue(e),a={},n=r.spa$()[0],r=r.spa$name(),i="2way".equalsIgnoreCase(D.components[r].dataBindType),e.classList.add("DATA-MODEL-CHANGE-SRC"),o=function _getBindKeyOf(e,t){var a,n,r=_attr(e,"data-bind"),i="";return r&&!r.containsStr(":")&&(r=_defaultAttr(e)+":'"+r+"'"),(a=_toObj(r||"{}"))&&!_isEmptyObj(a)&&_some(_keys(a),function(e){return!i&&new RegExp(t,"i").test(e)&&(n=a[e].split("|"),i=n.shift().trim()),!!i}),i}(e,"value|$"),D.setSimpleObjProperty(a,o,t),i&&(_mergeDeep(D.$data(r),a),app[r].is$DataUpdated=D.components[r].is$DataUpdated=!0),D.bindData(n,a,'[data-bind*="'+o+'"]:not(.DATA-MODEL-CHANGE-SRC)',!0),e.classList.remove("DATA-MODEL-CHANGE-SRC"),i&&D.renderUtils.runCallbackFn("app."+r+".$dataChangeCallback",app[r].$data,app[r]))}function _initDataBind(e,t){function _bindEvent(e,t){$(e).on((_attr(e,"data-bind-event")||t).toLowerCase(),_onViewDataChange)}var a="[data-bind]:not(.SPA-DATA-BOUND)",n=$(e||"body").find((t||"")+" "+a);(n=n.length||t?n:$(e+a)).length&&(n.filter("textarea,input:not([type=radio]):not([type=checkbox])").addClass("SPA-DATA-BOUND").each(function(){_bindEvent(this,"keyup")}),n.filter("select,input[type=radio],input[type=checkbox]").addClass("SPA-DATA-BOUND").each(function(){_bindEvent(this,"change")}))}function _init_SPA_DOM_(e){_initKeyTracking("",e),function _initKeyPauseEvent(e){$(e||"body").find("[onKeyPause]:not([onKeyPauseReg])").each(function(e,t){$(t).attr("onKeyPauseReg","").on("input propertychange paste",function(){var t=this,e=+((""+_attr(t,"data-pause-time")).replace(/[^0-9]/g,"")||"1250");_freeTimer(S),S=setTimeout(function(){var e=_attr(t,"onKeyPause").split("(")[0],e=_find(window,e);e&&e.call(t,t),_freeTimer(S)},e)})})}(e),_initSpaElements(e),D.initTrackFormElChanges(e),function _initFormValidationInScope(e){D.hasOwnProperty("initDataValidation")?$(e||"body").find("[data-validate-form],[data-validate-scope],form:has([data-validate])").filter(":not([data-validation-initialized])").each(function(e,t){_initFormValidation(t)}):console.warn("SPA validation module is not loaded.")}(e),_initRouteHash(e),D.initTogglePassword(e),_initDataBind(e),function _processDynHashInUrl(){for(var e,t,a=D.urlHash([],f),n=0;n<a.length;n++)e=a[n],0<=(t=ye.indexOf(e))?ye.splice(t,1):_processDynHash(e,n==a.length-1)}()}function _init_SPA_(){!function _ctrlBrwowserNav(){window.onpageshow=_onpageshow,c?window.onhashchange=_onPopStateChange:window.onpopstate=_onPopStateChange,is(window,"window")&&(window.onbeforeunload=_onWindowReload)}(),function init_i18n_Lang(){if(D.i18n.off=D.i18n.off||$('body[i18n-lang="-"]').length,!D.i18n.off){$(document).on("click","[data-i18n-lang]",function(){var e=$(this).data(),a=e.i18nLang||"",n=(e.i18nLang||"").replace("-","_"),r=($("body").attr("i18n-lang-key-prefix")||"lang.name.")+n;_setLang(n,{callback:function(){var e="-",t=$("[data-i18n-lang]:first");t.length&&(e=(t.data("i18nLang")||"").replace(/[a-z]/gi,"")),$(".lang-text").attr("data-i18n",r).data("i18n",r),$(".lang-icon").removeClass(U.join.call($("[data-i18n-lang]").map(function(e,t){return $(t).data("i18nLang")})," ")).addClass("_"==e?n:a),$("[data-i18n-lang]").removeClass("active"),$('[data-i18n-lang="'+a+'"],[data-i18n-lang="'+n+'"]').addClass("active"),D.i18n.apply(".lang-text")}})});var e,t=_docLang()||"",t=($("body").attr("i18n-lang")||"").replace(/ /g,"")||/,|\*/.test(t)&&t||D.defaults.lang.url&&(t||_browserLang(1))||"",a=t.split(",")[0];if(t){if("*"==a&&(a=_browserLang(),(","+t.toLowerCase()+",").indexOf(","+a.toLowerCase()+",")<0)){var a=a.getLeftStr(2).toLowerCase(),n=t.split(","),r="",i="";if(1<n.length){for(var o=0;o<n.length;o++)if(0==(r=(n[o]||"").trim()).toLowerCase().indexOf(a)){i=r;break}a=i||t.split(",")[1]||""}}a&&(_setLang(a,{},!0),e=setTimeout(function(){D.i18n.displayLang(),_freeTimer(e)},500))}}}(),_init_SPA_DOM_("body"),D.i18n.apply("body")}function _initApiUrls(){(F=!!_keys(app.api).length)&&B.log("Initializing app.api");var t,a,n,r,i,o,e=_find(window,"app.api.baseUrl"),e=(_isBlank(e)||(D.api.baseUrl=e),_find(window,"app.api.urls"));_isBlank(D.api.urls)&&!_isBlank(e)&&(D.api.urls=app.api.urls),_isBlank(D.api.urls)||(_isBlank(e=_find(window,"app.api.liveApiPrefix|app.api.mockRootAtPaths"))&&!_isBlank(D.api.urls)&&(t=[],_each(D.api.urls,function(e){e=e.replace(/^!|~/,""),a=e.indexOf("//"),1<(a=a<0?e.substring(0,e.indexOf("/",1))+"/":(a=e.indexOf("/",a+2)+1,(n=e.indexOf("/",a))<0?e.substring(a-1):e.substring(a,n+1))).length&&t.indexOf(a)<0&&t.push(a)}),(E=!!t.length)&&(B.log("Auto find - live api identifier list:",t),e=app.api.liveApiPrefix=D.api.liveApiPrefix=app.api.mockRootAtPaths=t)),_isBlank(e)||(_each(r=_isArr(e)?e:(""+e).split(","),function(a,e){a=a.trim(),"!"!=(i=a[0])&&"~"!=i||(a=a.substring(1),_each(D.api.urls,function(e,t){"!"!=(o=e[0])&&"~"!=o&&(0==e.indexOf(a)||0<e.indexOf("/"+a))&&(D.api.urls[t]=i+e)})),r[e]=a}),app.api.liveApiPrefix=r,delete app.api.mockRootAtPaths))}function _initSpaDefaults(){var t,a,e=$("body"),n=e[0],r=e.data();_isBlank(r)||(r.spaDefaults=_toObj(_attr(n,"data-spa-defaults")||_attr(n,"data-app-defaults")||{}),_each(_keys(D.defaults),function(e){e.equalsIgnoreCase("set")||(t=e.toTitleCase(),_isBlank(t=r.spaDefaults[e]||r["spaDefaults"+t]||r["appDefaults"+t])||(_isObj(a=_toObj(t))?_mergeDeep(D.defaults[e],a):D.defaults[e]=t))})),D.defaults.alias&&(L[D.defaults.alias]=D),function _initRoutesDefaults(){h=D.urlHashFull(f),f=(_find(spa,"defaults.routes.base","")||"#").trim(),ue=(_find(spa,"defaults.routes.className.block","")||"BLOCK-SPA-NAV").trim(),fe="."+ue,_e=(_find(spa,"defaults.routes.className.allow","")||"ALLOW-SPA-NAV").trim(),re=(_find(spa,"defaults.routes.className.hide","")||"HIDE-SPA-NAV").trim(),g=(_find(spa,"defaults.routes.attr.route","")||"data-spa-route").trim(),me=(_find(spa,"defaults.routes.attr.params","")||"data-spa-route-params").trim(),he=g.equalsIgnoreCase("href"),ge=(_find(spa,"defaults.routes.attr.onNavAway","")||"onNavAway").trim(),A=$("body").hasClass(re)}(),_initApiUrls()}function _initXHR(){N=L.$&&$.ajax||L.spaXHR&&spaXHR.ajax,L.spaXHR&&(D.ajax=spaXHR.ajax),(P=$.ajax&&$||L.spaXHR)&&(j=P.when,N=P.ajax,z=P.when,R=P.ajaxSetup,M=P.ajaxPrefilter,$&&!$.ajax&&($.ajax=N,$.ajaxQ=z,$.ajaxSetup=R,$.ajaxPrefilter=M),R({dataParsers:{javascript:!1,spacomponent:!1},converters:{"text javascript":function(){},"text spaComponent":function(){}},dataFilter:function(e,t){t=(t||"").toLowerCase();return"spacomponent"===t?_spaComponentScriptHandle(e,this.url):"javascript"===t&&function _spaGlbScriptHandle(e){var t;e.trim()&&(_attr(t=document.createElement("script"),"id","js-"+_now()),D.defaults.csp.nonce&&_attr(t,"nonce",D.defaults.csp.nonce),t.text=e,document.head.appendChild(t).parentNode.removeChild(t))}(e),e}}))}function onDomChange(e){if(!_isRendering()&&!r){for(var t,a,n,r,i=0;i<e.length;i++)if("childList"===(a=e[i]).type&&a.addedNodes.length&&!a.target.hasAttribute("data-rendered-component")&&!t){t=a.target;break}t&&(n=t.id||t.tagName+"-"+_rand(1e3,9999)+"-"+_now(),t.id=n,r=setTimeout(function(e){clearTimeout(r),D.$render(e)},1,"#"+n),B.log("DOM watch: New element(s) added inside Non-SPA component container",t))}}function observeDOM(){H||(B.log("Observing DOM for changes."),(H=new MutationObserver(onDomChange)).observe(b.body,{attributes:!1,childList:!0,subtree:!0})),D.defaults.components.renderOnDomChange=!!H}function _beginSPA(){B.log("begin SPA"),y||_initXHR(),D.strZip=!D.strZip&&L.LZString&&LZString.compress,D.strUnzip=!D.strUnzip&&L.LZString&&LZString.decompress,P?(_initSpaDefaults(),M(_ajaxPrefilter),function _initSpaApp(){function runSpaEvent(e){if(spa[e])return spa[e]()}j(runSpaEvent("onInit")).done(function initSpaModules(){D.env&&"dev".equalsIgnoreCase(D.env)&&(D.api.mock=!0,D.defaults.set({components:{templateCache:!1,callback:function(e){_cInfoMsg("Rendered spa$> "+this.__prop__.componentName),console.info("$viewProps:",e)}}})),j(_init_SPA_()).done(function(){j(runSpaEvent("onInitComplete")).done(function(){j(runSpaEvent("onReady")).done(D.renderComponentsInHtml)})})})}(),D.isReady=y=!0,B.info("Initialized SPA.")):function _warnModuleStart(){x=!0,observeDOM(),setTimeout(function(){y||_cInfoMsg('Failed to self start SPA! If loading "spa.js" as module using require, start SPA using spa.start() when all modules are loaded.')},2e3)}(),b.removeEventListener("DOMContentLoaded",_beginSPA)}}(),xsr.console.info("SPA.js is loaded.",new Date);
/*@license SPA.js (XHR/ajax) [MIT]*/
!function(t){var r=Object.prototype,n=Array.prototype,R=0;function _argsToArr(e,t){return 1===arguments.length?n.slice.call(e):n.slice.call(e,t)}function _isReservedKey(e){return-1<s.indexOf(e)}function _hasOwnProp(e,t){return r.hasOwnProperty.call(e,t)}var s="hasOwnProperty,prototype,__proto__".split(",");function _fnProps(t,n){return Object.keys(n).forEach(function(e){_isReservedKey(e)||Object.defineProperty(t,e,{value:n[e]})}),t}function _clearTimer(e){e&&(Array.isArray(e)?e:[e]).forEach(function(e){e&&clearTimeout(e)})}var a=spa.extractStrBetweenIn,i=spa.is,w=spa.isString,o=spa.isArray,F=spa.isObject,l=spa.isObjectLike,T=spa.isFunction,x=spa.isUndefined,O=spa.extend,S=spa.merge,c=spa.find,j=spa.sanitizeXSS;function _toQueryString(e){var r,s,a,i;return F(e)?(_hasOwnProp(r=e,"_payload_")||function _isSimple(e){var t=!0;if("object"==typeof e)for(var n=Object.keys(e),r=0;t&&r<n.length;r++)t="object"!=typeof e[n[r]]||o(e[n[r]])&&_isSimple(e[n[r]]);return t}(e)||(r={_payload_:e}),Object.keys(r).reduce(function(e,t,n){return s=0===n?"":"&",a=encodeURIComponent(t),i=o(r[t])?r[t].map(_toQryParamValue).join(","):_toQryParamValue(r[t]),[e,s,a,"=",i].join("")},"")):String(e);function _toQryParamValue(e){return encodeURIComponent("object"==typeof e?JSON.stringify(e):e)}}function _isDeferred(e){return e instanceof XHR||e instanceof XHRQ||e instanceof SimplePromise||t.Promise&&e instanceof Promise||t.jqXHR&&e instanceof jqXHR||t.Thenable&&e instanceof Thenable||t.Deferred&&e instanceof Deferred}function _shiftFnsToNxtPromise(e,t,n){var r=e.fnQ.then,s=e.fnQ.fail,a=e.fnQ.done,n={then:"then,fail,done",fail:"fail,done",done:"done"}[n];if(_isDeferred(t)){if(-1<n.indexOf("then"))for(;0<r.length;)t.then(r.shift());else e.fnQ.then=[];if(-1<n.indexOf("fail"))for(;0<s.length;)t.catch(s.shift());else e.fnQ.fail=[];if(-1<n.indexOf("done"))for(;0<a.length;)t.finally(a.shift())}}function SimplePromise(t,n,r){Object.defineProperty(this,"fnQ",{value:{then:[],fail:[],done:[]}}),this.isPending=!0,this.isResolved=!1,this.isRejected=!1,this.response,this.prevFnRes;var s,a,i=this;function complete(e,t){function _runFn(e,t){for(;0<e.length;)i.prevFnRes=[e.shift().apply(i,i.prevFnRes)],_shiftFnsToNxtPromise(i,i.prevFnRes[0],t)}var n;i.isPending?(i.isPending=!1,i.response=t,i.prevFnRes=t,i.isResolved=e,i.isRejected=!e,t=i.fnQ.then,e=i.fnQ.fail,n=i.fnQ.done,i.isResolved?_runFn(t,"then"):_runFn(e,"fail"),_runFn(n,"done")):console.warn("Already this promise has been "+(i.isResolved?"Resolved.":"Rejected.")),_clearTimer([l,s,a])}function resolve(){complete.call(i,!0,Array.prototype.slice.call(arguments))}function reject(){complete.call(i,!1,Array.prototype.slice.call(arguments))}var o={resolve:resolve,reject:reject},l=setTimeout(function(){var e;T(t)?(e=t.call(o,resolve,reject),r&&(s=setTimeout(function(){i.isPending&&complete.call(i,!!e,[e])},x(e)?r:n||R))):a=setTimeout(function(){i.isPending&&complete.call(i,!!t,[t])},n||R)},R)}function _registerPromiseFn(e,t,n){var r;return"function"==typeof n&&(r=!e.isPending,"then"===t?r=r&&e.isResolved:"fail"===t&&(r=r&&e.isRejected),r?_isDeferred(r=n.apply(e,e.prevFnRes))?e=r:e.prevFnRes=[r]:e.fnQ[t].push(n)),e}function _onPromiseError(e){return _registerPromiseFn(this,"fail",e)}function _onPromiseAlways(e){return _registerPromiseFn(this,"done",e)}function XHRQ(e){Object.defineProperty(this,"fnQ",{value:{then:[],fail:[],done:[]}}),this.requests=e,this.responses=[],this.length=e.length,this.isPending=e.length,this.isFailed=!1,this.failed=[],this.prevFnRes;var t,s=this;function _runFn(e){for(var t,n=s.fnQ[e];0<n.length;)try{t=void 0===s.prevFnRes?[]:[s.prevFnRes],s.prevFnRes=n.shift().apply(s,t.concat(s.responses)),_shiftFnsToNxtPromise(s,s.prevFnRes,e)}catch(e){console.error("Function Execution Error.",e)}}function updateQ(){s.isPending--;try{s.isPending||(s.isFailed?_runFn("fail"):_runFn("then"),_runFn("done"),_clearTimer(t))}catch(e){console.error("Function Execution Error.",e),_clearTimer(t)}}t=setTimeout(function(){e.forEach(function(e,t){var n,r;_isDeferred(e)||l(e)&&(T(e.then)||T(e.fail)||T(e.catch))?("function"==typeof e.then&&e.then(function(){s.responses[t]=_argsToArr(arguments),updateQ()}),(n="function"==typeof e.fail?"fail":"function"==typeof e.catch?"catch":"")&&e[n](function(){s.responses[t]=_argsToArr(arguments),s.isFailed=!0,s.failed.push(t),updateQ()})):("function"==typeof e?(r=void 0!==(n=e.call(s,s.requests,s.responses,t))&&!n,s.responses[t]=n,s.isFailed=s.isFailed||r,r&&s.failed.push(t)):(s.responses[t]=e,s.isFailed=s.isFailed||!e,s.isFailed&&s.failed.push(t)),updateQ())})},R)}function _registerXHRQChainFn(e,t,n){var r;return"function"==typeof n&&(r=!e.isPending,"then"===t?r=r&&!e.isFailed:"fail"===t&&(r=r&&e.isFailed),r?(r=void 0===e.prevFnRes?[]:[e.prevFnRes],e.prevFnRes=n.apply(e,r.concat(e.responses)),_isDeferred(e.prevFnRes)&&(e=e.prevFnRes)):e.fnQ[t].push(n)),e}function _onXHRQError(e){return _registerXHRQChainFn(this,"fail",e)}function _onXHRQAlways(e){return _registerXHRQChainFn(this,"done",e)}function _xhrQ(){var n,r,s=[],a={};if(arguments.length)for(var e=0;e<arguments.length;e++)Array.isArray(arguments[e])?s=s.concat(arguments[e]):s.push(arguments[e]);s.forEach(function(e,t){"string"==typeof e&&(/^(GET|POST|PUT|DELETE|PATCH|HEAD|OPTIONS)(:+)/i.test(e)?(n=e.split(":")[0],(r=e.replace(/^(GET|POST|PUT|DELETE|PATCH|HEAD|OPTIONS)(:+)/i,""))?e={url:r,method:n}:a.method=n):e={url:e},s[t]=e),"object"!=typeof e||e.url||(a=O(a,e))});var t=[];return s.forEach(function(e){F(e)&&e.url&&!_isDeferred(e)?t.push(_xhr(O({},a,e))):_isDeferred(e)?t.push(e):t.push(function _defer(e,t,n){return arguments.length?new SimplePromise(e,t,n):new SimplePromise(1,R)}(e))}),new XHRQ(t)}function XHR(e){Object.defineProperty(this,"fnQ",{value:{then:[],fail:[],done:[]}}),this.xhr=new XMLHttpRequest,this.reqOptions=e,this.isPending=!0,this.isSuccess=!1,this.isFailed=!1,this.response="",this.prevFnRes}function _registerXHRChainFn(e,t,n){var r,s;return"function"==typeof n&&(s=!e.isPending,"then"===t?s=s&&e.isSuccess:"fail"===t&&(s=s&&e.isFailed),s?(e.isFailed?(r=void 0===e.prevFnRes?e:e.prevFnRes,e.prevFnRes=n.call(e.reqOptions,r,e.statusText,e.statusMessage,e.response)):(r=void 0===e.prevFnRes?e.response:e.prevFnRes,e.prevFnRes=n.call(e.reqOptions,r,e.statusText,e,e.response)),_isDeferred(e.prevFnRes)&&(e=e.prevFnRes)):e.fnQ[t].push(n)),e}function _onXhrError(e){return _registerXHRChainFn(this,"fail",e)}function _onXhrAlways(e){return _registerXHRChainFn(this,"done",e)}!function _attachPrototypes(t,n,r){Object.keys(n).forEach(function(e){_isReservedKey(e)||(r?t.prototype[e]=n[e]:Object.defineProperty(t.prototype,e,{value:n[e]}))})}(SimplePromise,{then:function _onPromiseSuccess(e){return _registerPromiseFn(this,"then",e)},else:_onPromiseError,fail:_onPromiseError,catch:_onPromiseError,done:_onPromiseAlways,always:_onPromiseAlways,finally:_onPromiseAlways}),Object.defineProperties(XHRQ.prototype,{then:{value:function _onXHRQSuccess(e){return _registerXHRQChainFn(this,"then",e)}},fail:{value:_onXHRQError},catch:{value:_onXHRQError},done:{value:_onXHRQAlways},always:{value:_onXHRQAlways},finally:{value:_onXHRQAlways}}),Object.defineProperties(XHR.prototype,{then:{value:function _onXhrSuccess(e){return _registerXHRChainFn(this,"then",e)}},fail:{value:_onXhrError},catch:{value:_onXhrError},done:{value:_onXhrAlways},always:{value:_onXhrAlways},finally:{value:_onXhrAlways}});var E={defaults:{dataType:"text",async:!0,cache:!1,method:"GET",headers:{},auth:null,timeout:0,success:null,error:null,finally:null},dataParsers:{css:function _cssParser(e){var t=document.createTextNode(e),n=document.createElement("style");return n.setAttribute("id","css-"+(new Date).getTime()),n.setAttribute("type","text/css"),n.appendChild(t),document.head.appendChild(n),e},json:function _jsonParser(e){var t=e;try{t=JSON.parse(e)}catch(e){}return t},script:_scriptParser,javascript:_scriptParser},urls:{},url:_xhrUrl,setup:_setupGlobalXHRDefaults,preFilter:_setupPreFilter,get:function(){return n.unshift.call(arguments,"get"),_xhr.apply(void 0,arguments)},post:function(){return n.unshift.call(arguments,"post"),_xhr.apply(void 0,arguments)},put:function(){return n.unshift.call(arguments,"put"),_xhr.apply(void 0,arguments)},del:function(){return n.unshift.call(arguments,"delete"),_xhr.apply(void 0,arguments)},patch:function(){return n.unshift.call(arguments,"patch"),_xhr.apply(void 0,arguments)},head:function(){return n.unshift.call(arguments,"head"),_xhr.apply(void 0,arguments)},options:function(){return n.unshift.call(arguments,"options"),_xhr.apply(void 0,arguments)}},e="url,setup,converters,preFilter,get,post,put,del,patch,head,options".split(",");function _setupGlobalXHRDefaults(n){F(n)&&Object.keys(n).forEach(function(t){if(e.indexOf(t)<0)switch(t){case"dataParsers":case"urls":F(n[t])&&Object.keys(n[t]).forEach(function(e){E[t][e]=n[t][e]});break;default:E.defaults[t]=n[t]}})}function _setupPreFilter(e){T(e)&&(E.defaults.preFilter=e)}function _getOptionalVal(e,t){e=(_hasOwnProp(e,t)?e:E.defaults)[t];return e}function _scriptParser(e){var t;return e.trim()&&((t=document.createElement("script")).setAttribute("id","js-"+(new Date).getTime()),t.text=e,document.head.appendChild(t).parentNode.removeChild(t)),e}var A={200:"OK",301:"Moved Permanently",400:"Bad Request",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",429:"Too Many Requests",431:"Request Header Fields Too Large",500:"Internal Server Error",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",511:"Network Authentication Required"},Q={text:"text/plain",html:"text/html",css:"text/css",style:"text/css",csv:"text/csv",xml:"text/xml",json:"application/json",pdf:"application/pdf",script:"application/javascript",spacomponent:"application/javascript",zip:"application/zip"};function _xhrUrl(e){var t,n="@"===String(e||"")[0],r=(e=String(e||"").replace(/^[@\s]+/,""),n?E.urls[e]||c(E.urls,e,e):e),s=_argsToArr(arguments,1).map(function(e){return i(e,"object|array")?e:{}}),s=S.apply(null,s);return Object.keys(s).length&&-1<r.indexOf("{")&&a(r,"{","}",!0).forEach(function(e){t=e.replace(/[{}<>]/g,""),t=c(s,t,s._undefined),r=r.replace(new RegExp(e.replace(/([^a-zA-Z0-9])/g,"\\$1"),"g"),t)}),r}function _xhr(){if(!arguments.length)return _xhrQ.apply(null,[]);if(2===arguments.length&&w(arguments[0])&&!/^(GET|POST|PUT|DELETE|PATCH|HEAD|OPTIONS)$/i.test(arguments[0])&&F(arguments[1])&&!_hasOwnProp(arguments[1],"url"))return(e=arguments[1]).url=arguments[0],_xhr(e);if(1<arguments.length||Array.isArray(arguments[0]))return _xhrQ.apply(null,arguments);if(_isDeferred(arguments[0]))return arguments[0];var e=F(arguments[0])?arguments[0]:w(arguments[0])?{url:arguments[0]}:{},c={},t=[],n=(e.skipDefaults?("string"==typeof(t=e.skipDefaults)?t=t.split(","):"boolean"==typeof t&&(t=["payload","headers"]),Array.isArray(t)&&t.length?(t=t.map(function(e){return(e=e.replace(/default/gi,"").trim())?"default"+e[0].toUpperCase()+e.slice(1):""}),Object.keys(E.defaults).forEach(function(e){t.indexOf(e)<0&&(c[e]=E.defaults[e])})):(t=[],c=O({},E.defaults))):c=O({},E.defaults),c.method=e.method||e.type||E.defaults.method,O({},c,e));if(n.url){n.type=n.method=n.method.toUpperCase();var u,p,f,h,d,y=n.dataType.toLowerCase(),e=Q[y]||(y&&y.indexOf("/")<-1?"text/"+n.dataType:n.dataType),r={},s=n.defaultHeaders,o=(T(s)&&(s=s.call(n,n)),T(n.headers)&&(n.headers=n.headers.call(void 0,n)),F(n.headers)&&Object.keys(n.headers).forEach(function(e){r[e]=n.headers[e]}),F(s)&&(x(r)?r=s:F(r)&&(r=O(s,r))),!r.hasOwnProperty("Content-Type")&&e&&(r["Content-Type"]=e),r["X-Requested-With"]="XMLHttpRequest",r["Cache-Control"]=n.cache?"max-age=86400000":"no-cache, no-store, must-revalidate, max-age=0",r.Expires=n.cache?new Date((new Date).setDate((new Date).getDate()+1)).toUTCString():"0",n.cache||(r.Pragma="no-cache"),n.headers=r,new XHR(n)),a=o.xhr,l=o.reqOptions,_=o.fnQ,s=(T(l.success)&&_.then.push(l.success),T(l.error)&&_.fail.push(l.error),T(l.finally)&&_.done.push(l.finally),Object.keys(l).forEach(function(t){var e=t.toLowerCase();"onreadystatechange"===e&&T(l[t])?d=l[t]:0===e.indexOf("on")&&T(l[t])&&(a[e]=function(e){l[t].call(a,e,o)})}),a.onreadystatechange=_xhrReadyStateChange,l.defaultPayload),i=(T(s)&&(s=s.call(l,l)),l.data),e=(F(s)&&(x(i)?i=s:F(i)&&(i=S(s,i))),l.data=i,_getOptionalVal(l,"preFilter")),s=(e&&T(e)&&e.call(o,l,O({},l),o),_xhrUrl(l.url,l.urlParams,l.data)),e=(/^(GET|POST|PUT|DELETE|PATCH|HEAD|OPTIONS)(:+)/i.test(s)&&(l.method=s.split(":")[0].toUpperCase(),s=s.replace(/^(GET|POST|PUT|DELETE|PATCH|HEAD|OPTIONS)(:+)/i,"")),l.url=s,l.method=l.method.toUpperCase()),v=l.cache,i=l.data;v||(v=(new Date).getTime(),l.headers["X-T-"+v]=v,"GET"===e&&(s+=(s.indexOf("?")<0?"?":/\?$|&$/.test(s)?"":"&")+"_="+v)),"GET"===e&&i&&(i=_toQueryString(i))&&(s+=(s.indexOf("?")<0?"?":/\?$|&$/.test(s)?"":"&")+i);try{l.auth&&F(l.auth)?l.auth.hasOwnProperty("user")&&(l.auth.hasOwnProperty("pwd")?a.open(e,s,l.async,l.auth.user,l.auth.pwd):a.open(e,s,l.async,l.auth.user)):a.open(e,s,l.async);var P,m=_getOptionalVal(l,"beforeSend"),g=!0;if(m&&T(m))try{g=(g=m.call(a,a,l))||x(g),i=l.data}catch(e){g=!1,console.warn("beforeSend function failed.",e,o)}g?(P=l.headers,F(P)&&Object.keys(P).forEach(function(e){a.setRequestHeader(e,P[e])}),l.timeout&&(a.timeout=l.timeout,u=setTimeout(function(){p=!0,o.isPending&&0<a.readyState&&a.readyState<4&&a.abort()},l.timeout)),"GET"!==e&&i?(i=w(i)?i:JSON.stringify(i),l.async?h=setTimeout(function(){a.send(i)},R):a.send(i)):l.async?h=setTimeout(function(){a.send()},R):a.send()):(f=!0,a.abort(),_xhrReadyStateChange())}catch(e){console.warn("XHR-Exception",a,e)}return o}function _xhrReadyStateChange(e){var t=this,n=t.status;if(d&&d.call(l,t,e),f||4===t.readyState){o.isPending=!1,o.readyState=t.readyState,o.status=t.status,o.responseText=t.responseText,o.response=t.responseText;var r=t.responseText;if(200<=n&&n<300||304===n){if(o.isSuccess=!0,o.statusText="success",o.statusMessage="OK",(a=_hasOwnProp(l,"dataParser")?l.dataParser:E.dataParsers[y])&&T(a))try{i=a(r,y)}catch(e){console.warn("dataParsing failed.",r,o,e)}x(i)||(r=i);var s,a=_getOptionalVal(l,"dataFilter");if(a&&T(a))try{s=a.call(o.reqOptions,r,y)}catch(e){console.warn("dataFilter failed.",r,o,e)}x(s)||(r=s);var i=l.sanitizeApiXss;i&&(r=T(i)?i.call(r,r)||r:j(r)),"json"===y&&(o.responseJSON=r)}else r=t.responseText,o.isFailed=!0,u&&p?(o.statusText="timeout",o.statusMessage="timeout"):f?(o.statusText="canceled",o.statusMessage="canceled"):(o.statusText="error",o.statusMessage=A[n]||"Unknown Error");o.response=r,o.isSuccess?_runFn("then"):o.isFailed&&_runFn("fail"),_runFn("done"),_clearTimer([u,h])}function _runFn(e){for(var t,n=_[e];0<n.length;)try{o.isFailed?(t=void 0===o.prevFnRes?o:o.prevFnRes,o.prevFnRes=n.shift().call(l,t,o.statusText,o.statusMessage,o.response)):(t=void 0===o.prevFnRes?o.response:o.prevFnRes,o.prevFnRes=n.shift().call(l,t,o.statusText,o,o.response)),_shiftFnsToNxtPromise(o,o.prevFnRes,e)}catch(e){console.error("Function Execution Error.",e)}}}console.error("XHR without URL.",arguments,n)}function xhrLib(){return _xhrQ.apply(t,_argsToArr(arguments))}_fnProps(_xhr,E),_fnProps(xhrLib,{ajax:_xhr,ajaxQ:_xhrQ,when:_xhrQ,defer:_xhrQ,ajaxSetup:_setupGlobalXHRDefaults,ajaxPrefilter:_setupPreFilter}),t.spaXHR=xhrLib}(window||globalThis);
/*@license SPA.js (Form Validation Extension) [MIT]*/
!function(a){var E=a.jQuery;spa.usejQuery&&E||(E=dom),spa._validateDefaults={required:"Required",digits:"Digits",numbers:"Numbers",integer:"Integer",alphabet:"Alpha",alphanumeric:"AlphaNumeric",pattern:"PatternMatch",range:"ValueRange",fixedlength:"Lengths",minlength:"LengthMin",maxlength:"LengthMax",email:"Email",url:"Url",date:"Date",cardno:"CardNo",ipv4:"IPv4",ipv6:"IPv6",ipaddress:"IP",subnetmask:"Subnet",phoneUS:"PhoneUS",wordsize:"WordSize",compare:"Compare",promise:"Promise",xss:"CheckXSS",noop:"Noop"};var t=document.body.classList.contains("allow-xss");spa._validate={defaults:{offline:!0},_isOnOfflineValidation:!1,_validateAlertTemplate:'<div class="errortxt error-txt break-txt" data-i18n=""></div>',_offlineValidationRules:{},_fn:{Noop:function _fnNoop(){return!0},CheckXSS:function _fnCheckXSS(a){var e=spa.getElValue(a);return!(!t&&!E(a).hasClass("allow-xss"))||!(/<\s*\/?\s*(\bscript\b)/gi.test(e)||/\s*on([a-z])+\s*=|javascript:/gi.test(e))},Promise:function _fnPromise(a){var e;return spa._validate._isOnOfflineValidation||(a=(e=E(a)).data("validate")||"",/(promise)(\s)*:(\s)*(\'|\")/.test(a)&&spa._validate._addValidationClass(e,"validation-pending")),!0},Required:function _fnRequired(a){a=spa.getElValue(a);return!spa.isBlank(a)},Digits:function _fnValidDigits(a){a=E(a).val();return 0===a.length||/^\d+$/.test(a)},Numbers:function _fnValidNumbers(a){a=E(a).val();return 0===a.length||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(a)},Integer:function _fnValidInteger(a){a=E(a).val();return 0===a.length||/^-?\d+$/.test(a)},Alpha:function _fnValidAlpha(a){a=E(a).val();return 0===a.length||!/[^a-z]/gi.test(a)},AlphaNumeric:function _fnValidAlphaNumeric(a){a=E(a).val();return 0===a.length||!/[^a-z0-9]/gi.test(a)},PatternMatch:function _fnValidPatternMatch(a){var e=E(a).val(),t=0===e.length;return t||(t=new RegExp(E(a).data("validatePattern"),E(a).data("validatePatternOptions").replace(/!/g,"")).test(e),0<=E(a).data("validatePatternOptions").indexOf("!")&&(t=!t)),t},ValueRange:function _fnValidValueRange(a){var e,t,n,i=E(a).val(),s=0===i.length;return s||(s=!1,/^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(i)&&(e=spa.toFloat(i),n=(" "+(E(a).data("validateRange")||"")+": ").split(":"),t=!spa.isBlank(n[0]),i=!spa.isBlank(n[1]),a=spa.toFloat(n[0]),n=spa.toFloat(n[1]),t&&i?s=a<=e&&e<=n:t?s=a<=e:i&&(s=e<=n))),s},LengthMin:function _fnValidLengthMin(a){var e=E(a).val(),a=spa.toInt(E(a).data("minlength")||E(a).data("minLength")||E(a).attr("minlength"));return e.length>=a},LengthMax:function _fnValidLengthMax(a){var e=E(a).val(),a=spa.toInt(E(a).data("maxlength")||E(a).data("maxLength"));return e.length<=a},Lengths:function _fnValidLengths(a){var e,t=E(a).val().length;return a.hasAttribute("data-fixed-length")||a.hasAttribute("data-fixedlength")?t==+(a.getAttribute("data-fixed-length")||a.getAttribute("data-fixedlength")):(e=spa.toInt(E(a).data("minlength")||E(a).data("minLength")||E(a).attr("minlength")),a=spa.toInt(E(a).data("maxlength")||E(a).data("maxLength")),e<=t&&t<=a)},WordSize:function _fnValidWordSize(a){var e=(""+E(a).val()).replace(/[-\n]/g," ").split(" ").map(function(a){return a.length});return(spa.isBlank(e)?0:Math.max.apply(null,e))<=(spa.toInt(E(a).data("validWordSize"))||20)},Email:function _fnValidEmail(a){a=E(a).val();return 0===a.length||(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test(a)||/[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/i.test(a))&&/[a-z0-9]/i.test(a[a.length-1])&&1==((a||"").match(/@/g)||[]).length},Url:function _fnValidUrl(a){a=E(a).val();return 0===a.length||/^(https?|s?ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(a)},Date:function _isValidDate(a){var e=E(a).val();if(!(r=0===e.length)){r=!1;var t,n,i,s=E(a).data("validateFormat")||"YMD",l="^\\d{1,2}[\\/\\-\\.]\\d{1,2}[\\/\\-\\.]\\d{4}$",o=e.replace(/[^a-z]/gi,"");o&&((a=["","JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC"].indexOf(o.toUpperCase()))<=0&&(a=["","JANUARY","FEBRUARY","MARCH","APRIL","MAY","JUNE","JULY","AUGUST","SEPTEMBER","OCTOBER","NOVEMBER","DECEMBER"].indexOf(o.toUpperCase())),0<a&&(e=e.replace(new RegExp(o,"gi"),a)));var r,d=(e=e.replace(/[^0-9]/g," ").normalizeStr().replace(/ /g,"/")).split("/");switch(s.toUpperCase()){case"YMD":l="^\\d{4}[\\/\\-\\.]\\d{1,2}[\\/\\-\\.]\\d{1,2}$",t=d[0],n=d[1],i=d[2];break;case"MDY":n=d[0],i=d[1],t=d[2];break;case"DMY":i=d[0],n=d[1],t=d[2]}new RegExp(l,"").test(e)&&(i=parseInt(i,10),n=parseInt(n,10),t=parseInt(t,10),r=(e=new Date(t,n-1,i)).getFullYear()===t&&e.getMonth()===n-1&&e.getDate()===i)}return r},CardNo:function _fnValidCardNo(a){var e=E(a).val(),t=0===e.length;if(!t){var n=!/[^0-9 \-]+/.test(e),i=e.replace(/[^0-9]/g,""),a=i.length;if(n&&a&&0<"0345".indexOf(i[0])&&(15==a||16==a)){for(var s=0,l=0,o=!1,r=e.replace(/\D/g,""),d=r.length-1;0<=d;d--){var u=r.charAt(d),l=parseInt(u,10);o&&9<(l*=2)&&(l-=9),s+=l,o=!o}t=s%10==0}}return t},IPv4:function _fnValidIpv4(a){a=E(a).val();return 0===a.length||/^(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)$/i.test(a)&&spa.every(a.split("."),function(a){return!(1<a.length)||!a.beginsWithStr("0")})},IPv6:function _fnValidIpv6(a){a=E(a).val();return 0===a.length||/^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/i.test(a)},IP:function _fnValidIpAddress(a,e){var t,n,i=E(a).val(),s=0===i.length;return s||(t=i,n=spa.toInt(E(a).data("validateIpaddressOctates")||4)-1,s=new RegExp("^(([01]?[0-9]?[0-9]|2([0-4][0-9]|5[0-5]))\\.){"+n+"}([01]?[0-9]?[0-9]|2([0-4][0-9]|5[0-5]))$","g").test(t)&&spa.every(t.split("."),function(a){return!(1<a.length)||!a.beginsWithStr("0")}),spa._validate._showValidateMsg(a,e,s),i=E(a).data("validateIpaddressClass"),s&&i&&(n={A:{oct1:{B:0,E:127},oct2:{B:0,E:256},oct3:{B:0,E:256},oct4:{B:1,E:255}},B:{oct1:{B:127,E:192},oct2:{B:1,E:256},oct3:{B:0,E:256},oct4:{B:0,E:255}},C:{oct1:{B:191,E:224},oct2:{B:0,E:256},oct3:{B:1,E:256},oct4:{B:1,E:255}},D:{oct1:{B:223,E:240},oct2:{B:0,E:256},oct3:{B:0,E:256},oct4:{B:0,E:256}},E:{oct1:{B:239,E:255},oct2:{B:0,E:256},oct3:{B:0,E:256},oct4:{B:0,E:255}}},s=+(t=t.split("."))[0]>n[i].oct1.B&&+t[0]<n[i].oct1.E&&(+t[1]>=n[i].oct2.B&&+t[1]<n[i].oct2.E&&(+t[2]>=n[i].oct3.B&&+t[2]<n[i].oct3.E&&(+t[3]>n[i].oct4.B&&+t[3]<n[i].oct4.E))),spa._validate._showValidateMsg(a,e,s))),s},Subnet:function _fnValidSubnet(a){var e=E(a).val(),a=0===e.length;return a=a||new RegExp("^((128|192|224|240|248|252|254)\\.0\\.0\\.0)|(255\\.(((0|128|192|224|240|248|252|254)\\.0\\.0)|(255\\.(((0|128|192|224|240|248|252|254)\\.0)|255\\.(0|128|192|224|240|248|252|254)))))$").test(e)&&spa.every(e.split("."),function(a){return!(1<a.length)||!a.beginsWithStr("0")})},PhoneUS:function _fnValidPhoneUS(a){a=E(a).val();return 0===a.length||9<a.length&&a.match(/^(\+?1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/)},Compare:function _fnValidCompare(a){var e=0===E(a).val().length;if(!e){var t,n=E(a).data(),i=spa.toJSON(n.validateCompare||"{}");if(!spa.isBlank(i)&&i.target){t=E(i.target);var n=i.valid||"=",s=spa.getElValue(a),l=spa.getElValue(t);if(("number".equalsIgnoreCase(i.type)||0<=n.indexOf("<")||0<=n.indexOf(">"))&&(s=spa.toFloat(s),l=spa.toFloat(l)),!"date".equalsIgnoreCase(i.type))switch(n){case"!=":e=s!=l;break;case"!==":e=s!==l;break;case"===":e=s===l;break;case">":e=l<s;break;case"<":e=s<l;break;case">=":e=l<=s;break;case"<=":e=s<=l;break;default:e=s==l}}}return e}},_showValidateMsg:function __showValidateMsg(a,e,t,n,i){e=e||"";var s=E(a);if(s.length){2<arguments.length&&spa.isString(t)&&(n=t),2<arguments.length&&spa.isBoolean(t)&&t&&(e="");var l=!(n=n||spa._validate._validateAlertTemplate).beginsWithStrIgnoreCase("<"),o=s.parent(),r=s.data("errorClassTarget"),d=r?s.closest(r):o,u=s.data("errorPosition");a=s[0],spa._validate._isOnOfflineValidation||(d.removeClass("has-error-msg no-error-msg")[!1===t?"addClass":"removeClass"]("validation-error "+(e?"has-error-msg":"no-error-msg")),s[!1===t?"addClass":"removeClass"]("invalid-data"),i||spa.updateTrackFormCtrls(a.form));var p=l?E(n):s.next();!l&&u&&("first".equalsIgnoreCase(u)?p=o.children().first():"last".equalsIgnoreCase(u)&&(p=o.children().last()));var F,f="",r="";return E(p).attr("class")===E(n).attr("class")||l?(e.beginsWithStrIgnoreCase("i18n:")&&(spa.console.group("i18n-Msg"),spa.console.log("msg:",e),F=(e.getLeftStr("|")||e).replace(/i18n:/gi,""),r=e.getRightStr("|"),f="{html:'"+F+"'}",d=spa.toJSON(r),d=spa.isObject(d)?d:{},spa.console.log("i18nData@msg:",d),l=s.dataJSON("i18nData"),spa.isBlank(l)||(spa.console.log("i18nData@el",l),d=spa.merge(d,l),spa.console.log("i18nData:",d)),e=spa.i18n.text(F,d),spa.console.groupEnd("i18n-Msg")),spa._validate._isOnOfflineValidation||(E(p).attr("data-i18n",f).data("i18n",f),E(p).attr("data-i18n-data",r).data("i18nData",r),E(p).html(e))):spa.isBlank(e)||(u?"first".equalsIgnoreCase(u)?E(n).prependTo(o):"last".equalsIgnoreCase(u)?E(n).appendTo(o):E(n).insertAfter(s):E(n).insertAfter(s),spa._validate._showValidateMsg(a,e,t,n)),t}spa.console.warn("Validation config/setup is wrong for validation Msg:["+e+"] forEl:",a)},_getValidationClassTarget:function(a){var e=E(a),a=e.data("errorClassTarget");return a?e.closest(a):e.parent()},_addValidationClass:function(a,e){spa._validate._getValidationClassTarget(a).addClass(e)},_removeValidationClass:function(a,e){spa._validate._getValidationClassTarget(a).removeClass(e)},_deferValidate:function(){return!0},_registerPromise:function(a,e,t,n){var i,s=!spa.isBlank(a);return!s||(e=(i=E(e)).data("promises")||"").indexOf("["+a+"]")<0&&(spa.console.log("validating promise: "+a),e+="["+a+"]",i.attr("data-promises",e).data("promises",e),spa._validate._addValidationClass(i,"validation-pending"),spa.isFunction(t)&&t.call(i,i,n,a)),s},expose:function(e){return e=e||{},spa.keys(spa._validateDefaults).forEach(function(a){e[a]=spa._validate._fn[spa._validateDefaults[a]]}),e}},spa.initValidation=spa.initDataValidation=function(a){spa.console.group("initValidation"),spa.console.log(">>>>> initDataValidation request for context:"+a);function cc(t){return t=t||{},spa.each(spa.keys(t),function(e){0==e.indexOf("on")&&0<e.indexOf("_")&&(spa.each(e.split("_"),function(a){a.indexOf("on")<0&&(a="on"+a),t[a]?spa.isArray(t[a])?t[a].push(t[e]):t[a]=[t[a],t[e]]:t[a]=[t[e]]}),delete t[e])}),t}var e=E(a=a||"body"),t=e.data("validateElFilter")||"";spa.console.log("$context",e),spa.console.log("data-validate-common",e.data("validateCommon"));var c=cc(spa.toJSON(e.data("validateCommon")||"{}")),n=spa.merge({},c.onFocus),g=!!spa.toJSON(e.attr("data-validate-defaults")||{}).offline;spa.console.log("commonValidateRules");var v,h,_,m,i={fn:"_check.promise",offline:!1};spa.isBlank(n)?c.onFocus=i:(spa.isArray(n)||(n=[n]),n.push(i)),c.onFocus=n,spa.console.log("commonValidateRules",c);var A=(e.data("validateForm")||e.data("validateScope")||"").replace(/onRender/i,"").replace(/[^a-zA-Z0-9]/g,"");spa.isBlank(A)&&(A=a.replace(/[^a-zA-Z0-9]/g,"")),spa.console.log("offlineValidationKey: "+A);var D=!spa.isBlank(A);D&&(spa.console.log("resetting the rules for "+A),spa._validate._offlineValidationRules[A]={rules:{}}),spa.console.log(A,spa._validate._offlineValidationRules[A]),e.find(t+"[data-validate]").each(function(a,e){var i=e.getAttribute("id");i||(i=(e.name||e.type).replace(/[^a-z]/gi,"")+a,e.setAttribute("id",i));var t,r={},n=E(e).data("validate");n&&n.indexOf("{")<0&&(t=(E(e).data("validateEvents")||"onBlur").replace(/[^a-z]/gi," ").normalizeStr().replace(/ /g,"_"),a=",offline:"+(E(e).data("validateOffline")||g||"false"),n="{"+t+":["+("{fn:"+n.replace(/[,;]/," ").normalizeStr().replace(/ /g,a+"},{fn:")+a+"}")+"]}"),r=cc(spa.toJSON(n));var s,l,o={},d="",u=e.attributes;if(u&&u.length){for(var p=u.length;0<=p;p--)if(d=u[p]?u[p].name:"",d&&/^data-validate-on/i.test(d)&&(s="."+function _formatEventName(a){return/^on/i.test(a)&&(a=(a=a.toLowerCase()).substring(0,2)+a[2].toUpperCase()+a.substring(3)),a}(d.replace(/data-validate-/i,"")),l=spa.toJSON(e.getAttribute(d)),!spa.isBlank(l)))if(Array.isArray(l))for(var F=0,f=l.length;F<f;F++)spa.setObjProperty(o,s,l[F]);else spa.setObjProperty(o,s,l);spa.isBlank(o)||(o=cc(o),Object.keys(o).forEach(function(a){spa.setObjProperty(r,"."+a,o[a])}))}spa.console.log(n),spa.each(spa.keys(c),function(n){var a=c[n];spa.isArray(a)||(a=[a]),a.reverse(),spa.console.group("vRules #"+i),spa.each(a,function(a){var e,t;m=!0,v="<",_=a.offline||!1,h=!1,a.el?(e=a.el.replace(/ /g,"").split(","),t=a.el.replace(/[< >!]/g,"").split(",").indexOf(i),(m=0<=t)&&(v=0<=e[t].indexOf(">")?">":"<",h=0<=e[t].indexOf("!"))):a.ex&&(m=a.ex.replace(/[< >!]/g,"").split(",").indexOf(i)<0),m&&(m=spa.omit(a,["el","ex"]),spa.console.log(">>commonRule2El:",m,a),h&&(m.offline=!_),r[n]||(r[n]=[]),spa.console.group("-"+n),"<"===v?(spa.console.log(v+"all:",[m],r[n]),r[n]=spa.union([m],r[n])):(spa.console.log(v+"all:",r[n],[m]),r[n]=spa.union(r[n],[m])),spa.console.log("uniq:",r[n]),spa.console.groupEnd("-"+n))}),spa.console.group("-FinalRules"),spa.console.log(r),spa.console.groupEnd("-All"),spa.console.groupEnd("vRules #"+i)}),spa.each(spa.keys(r),function(o){var a=o.substring(2,3).toLowerCase()+o.substring(3);spa.console.log("settingup event on["+a+"]..."),spa.isArray(r[o])||(r[o]=[r[o]]),spa.console.log(r),D&&spa.each(r[o],function(a){spa.isArray(a)||(a=[a]),spa.each(a,function(a){a.hasOwnProperty("offline")||(a.offline=g),spa.console.log(a),a.offline&&!a.promise&&(a={fn:a.fn,msg:a.msg},spa._validate._offlineValidationRules[A].rules[i]||(spa._validate._offlineValidationRules[A].rules[i]=[]),spa.indexOf(spa._validate._offlineValidationRules[A].rules[i],a)<0&&spa._validate._offlineValidationRules[A].rules[i].push(a))})}),spa.console.log("registering an event: "+o),o.beginsWithStrIgnoreCase("on")&&!"test".equalsIgnoreCase(a)&&E(e).on(a,function(){var e,t,n,i=this,a=E(i),s=i&&i.hasAttribute("data-validate-pause")&&spa.toBoolean(i.getAttribute("data-validate-pause")+""||"true"),l=i&&i.hasAttribute("data-ignore-validation-if-invisible")&&spa.toBoolean(i.getAttribute("data-ignore-validation-if-invisible")+""||"true");s||l&&!a.is(":visible")||spa.every(r[o],function(a){return spa.isArray(a)?spa.every(a,function(a){return e=a.fn,spa.isString(e)&&(e=spa.findSafe(window,e)),spa.isFunction(e)||console.error("data-validate-function Not Found: "+a.fn),t=a.msg||E(i).data("validateMsg")||"",spa._validate._registerPromise(a.promise,i,e,t)&&(e=spa._validate._deferValidate),n=!!spa.isFunction(e)&&e.call(i,i,t),spa.isBoolean(n)&&spa._validate._showValidateMsg(i,t,n),n}):(e=a.fn,spa.isString(e)&&(e=spa.findSafe(window,e)),spa.isFunction(e)||console.error("data-validate-function Not Found: "+a.fn),t=a.msg||E(i).data("validateMsg")||"",spa._validate._registerPromise(a.promise,i,e,t)&&(e=spa._validate._deferValidate),n=!!spa.isFunction(e)&&e.call(i,i,t),spa.isBoolean(n)&&spa._validate._showValidateMsg(i,t,n),n)})})})}),spa.console.groupEnd("initValidation")},spa.validateForm=spa.validate=spa.doDataValidation=function(a,e,s){var t;spa.isString(arguments[1])&&(t="#"+arguments[1].replace(/[ #]/g,"").replace(/,/g,",#")+",",e=arguments[2],s=arguments[3]);var l,n,i=a.replace(/[^a-zA-Z0-9]/g,""),o="#"+a.replace(/#/g,""),r=E(o),d=[];return spa._validate._offlineValidationRules[i]?(l=spa._validate._offlineValidationRules[i].rules,spa.console.log("vRules:",l),spa.isEmptyObject(l)?(i=1,n="Offline rules not found in scope ["+a+"].",r.find(".validation-error,.validation-pending").length&&(i=3,n+=" Found .validation-error|.validation-pending"),d=[{errcode:i,errmsg:n}]):(n=spa.keys(l),t&&(n=n.map(function(a){return 0<=t.indexOf("#"+a+",")?a:""})),spa._validate._isOnOfflineValidation=!e,spa.every(n,function(a){return!a||(a=a,n=r.find("#"+a),(i=n[0])&&i.hasAttribute("data-validate-pause")&&spa.toBoolean(i.getAttribute("data-validate-pause")+""||"true")||spa.toBoolean(n.data("ignoreValidationIfInvisible"))&&!n.is(":visible")||spa.every(l[a],function(a){return t=a.fn,spa.isString(t)&&(t=spa.findSafe(window,t)),spa.isFunction(t)||console.error("data-validate-function Not Found: "+a.fn),e=a.msg||n.data("validateMsg")||"",t=!!spa.isFunction(t)&&t.call(i,i,e),spa.isBoolean(t)&&spa._validate._showValidateMsg(n,e,t,"",!0),t||(a={errcode:2,el:i,fn:a.fn,msg:e},d.push(a)),t})||s);var e,t,n,i}),spa._validate._isOnOfflineValidation=!1)):r.length?r.is("[data-validate-form]")&&(d=[{errcode:1,errmsg:"Form Not Initialized."}]):d=[{errcode:1,errmsg:"Form Not Found."}],d},spa.pauseValidation=function(a,e){var t=void 0===e||e;E(a).each(function(a,e){t?e.setAttribute("data-validate-pause",t):e.removeAttribute("data-validate-pause")})},spa.clearValidation=spa.removeValidationMsg=function(a){a&&E(a).each(function(a,e){spa._validate._showValidateMsg(e,"",!0)})},spa.updateValidation=function(a,t,n,i){2==arguments.length&&(n=spa.isBlank(t)),E(a).each(function(a,e){spa._validate._showValidateMsg(e,t,n,i)})},spa.updateValidationPromise=function(t,a,n,i,s){var l,o;E(a).each(function(a,e){l=E(e),spa.each(t.split(","),function(a){o=(l.data("promises")||"").replace("["+a.trim()+"]",""),l.attr("data-promises",o).data("promises",o),spa.isBlank(o)&&spa._validate._removeValidationClass(l,"validation-pending")}),spa._validate._showValidateMsg(e,n,i,s)})},a._clearSpaValidateMsg=function _clearSpaValidateMsg(a){return spa._validate._showValidateMsg(a),!0},a._check=spa._validate.expose()}(this);
(function(_global){_global.__isSPAReady__=true;})(window || globalThis);