vendor: 89,947 bytes, lines 1-2
1/*! jQuery v3.6.3 | (c) OpenJS Foundation and other contributors | jquery.org/license */ 2!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,y=n.hasOwnProperty,a=y.toString,l=a.call(Object),v={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},S=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||S).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.3",E=function(e,t){return new E.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}E.fn=E.prototype={jquery:f,constructor:E,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=E.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return E.each(this,e)},map:function(n){return this.pushStack(E.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(E.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(E.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},E.extend=E.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(E.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||E.isPlainObject(n)?n:{},i=!1,a[t]=E.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},E.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=y.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?E.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:v}),"function"==typeof Symbol&&(E.fn[Symbol.iterator]=t[Symbol.iterator]),E.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,S,y,s,c,v,E="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),j=function(e,t){return e===t&&(l=!0),0},D={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",$=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),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("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\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(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,S)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&v(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!y||!y.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ve(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=E)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{if(d.cssSupportsSelector&&!CSS.supports("selector(:is("+c+"))"))throw new Error;return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===E&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[E]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(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 de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ye(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ve(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,S=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.cssSupportsSelector=ce(function(){return CSS.supports("selector(*)")&&C.querySelectorAll(":is(:jqfake)")&&!CSS.supports("selector(:is(*,:jqfake))")}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=E,!C.getElementsByName||!C.getElementsByName(E).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&S){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&S){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[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.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},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&S)return t.getElementsByClassName(e)},s=[],y=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+E+"'></a><select id='"+E+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+E+"-]").length||y.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||y.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+E+"+*").length||y.push(".#.+[+~]"),e.querySelectorAll("\\\f"),y.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),d.cssSupportsSelector||y.push(":has"),y=y.length&&new RegExp(y.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),v=t||K.test(a.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},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&v(p,e)?-1:t==C||t.ownerDocument==p&&v(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&S&&!N[t+" "]&&(!s||!s.test(t))&&(!y||!y.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),v(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&D.call(b.attrHandle,t.toLowerCase())?n(e,t,!S):void 0;return void 0!==r?r:d.attributes||!S?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(j),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,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]||se.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]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(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=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace($," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,y){var v="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===y?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=v!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(v){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[E]||(a[E]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[E]||(a[E]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[E]||(a[E]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=y)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[E]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[E]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=S?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!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!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.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:ye(function(){return[0]}),last:ye(function(e,t){return[t-1]}),eq:ye(function(e,t,n){return[n<0?n+t:n]}),even:ye(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ye(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ye(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ye(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[E]||(e[E]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,y,v,e){return y&&!y[E]&&(y=Ce(y)),v&&!v[E]&&(v=Ce(v,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?v||(e?d:l||y)?[]:t:f;if(g&&g(f,p,n,r),y){i=Te(p,u),y(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(v||d){if(v){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);v(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=v?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),v?v(null,t,p,r):H.apply(t,p)})}function Se(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[E]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Se(e.slice(s,n)),n<r&&Se(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,y,v,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Se(t[n]))[E]?i.push(a):o.push(a);(a=A(e,(y=o,m=0<(v=i).length,x=0<y.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!S);while(s=y[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=v[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+v.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&S&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ve(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!S,n,!t||ee.test(e)&&ve(t.parentNode)||t),n},d.sortStable=E.split("").sort(j).join("")===E,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);E.find=d,E.expr=d.selectors,E.expr[":"]=E.expr.pseudos,E.uniqueSort=E.unique=d.uniqueSort,E.text=d.getText,E.isXMLDoc=d.isXML,E.contains=d.contains,E.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&E(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=E.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?E.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?E.grep(e,function(e){return e===n!==r}):"string"!=typeof n?E.grep(e,function(e){return-1<i.call(n,e)!==r}):E.filter(n,e,r)}E.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?E.find.matchesSelector(r,e)?[r]:[]:E.find.matches(e,E.grep(t,function(e){return 1===e.nodeType}))},E.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(E(e).filter(function(){for(t=0;t<r;t++)if(E.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)E.find(e,i[t],n);return 1<r?E.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&k.test(e)?E(e):e||[],!1).length}});var D,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(E.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof E?t[0]:t,E.merge(this,E.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:S,!0)),N.test(r[1])&&E.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=S.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(E):E.makeArray(e,this)}).prototype=E.fn,D=E(S);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}E.fn.extend({has:function(e){var t=E(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(E.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&E(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&E.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?E.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(E(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(E.uniqueSort(E.merge(this.get(),E(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),E.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),E.merge([],e.childNodes))}},function(r,i){E.fn[r]=function(e,t){var n=E.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=E.filter(t,n)),1<this.length&&(H[r]||E.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}E.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},E.each(e.match(P)||[],function(e,t){n[t]=!0}),n):E.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){E.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return E.each(arguments,function(e,t){var n;while(-1<(n=E.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<E.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},E.extend({Deferred:function(e){var o=[["notify","progress",E.Callbacks("memory"),E.Callbacks("memory"),2],["resolve","done",E.Callbacks("once memory"),E.Callbacks("once memory"),0,"resolved"],["reject","fail",E.Callbacks("once memory"),E.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return E.Deferred(function(r){E.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){E.Deferred.exceptionHook&&E.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(E.Deferred.getStackHook&&(t.stackTrace=E.Deferred.getStackHook()),C.setTimeout(t))}}return E.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?E.extend(e,a):a}},s={};return E.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=E.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;E.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},E.readyException=function(e){C.setTimeout(function(){throw e})};var F=E.Deferred();function $(){S.removeEventListener("DOMContentLoaded",$),C.removeEventListener("load",$),E.ready()}E.fn.ready=function(e){return F.then(e)["catch"](function(e){E.readyException(e)}),this},E.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--E.readyWait:E.isReady)||(E.isReady=!0)!==e&&0<--E.readyWait||F.resolveWith(S,[E])}}),E.ready.then=F.then,"complete"===S.readyState||"loading"!==S.readyState&&!S.documentElement.doScroll?C.setTimeout(E.ready):(S.addEventListener("DOMContentLoaded",$),C.addEventListener("load",$));var B=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)B(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(E(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=E.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||E.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!E.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}E.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),E.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):B(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),E.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,E.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=E.queue(e,t),r=n.length,i=n.shift(),o=E._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){E.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:E.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),E.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?E.queue(this[0],t):void 0===n?this:this.each(function(){var e=E.queue(this,t,n);E._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&E.dequeue(this,t)})},dequeue:function(e){return this.each(function(){E.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=E.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=S.documentElement,ie=function(e){return E.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return E.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===E.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return E.css(e,t,"")},u=s(),l=n&&n[3]||(E.cssNumber[t]?"":"px"),c=e.nodeType&&(E.cssNumber[t]||"px"!==l&&+u)&&te.exec(E.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)E.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,E.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=E.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}E.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?E(this).show():E(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=S.createDocumentFragment().appendChild(S.createElement("div")),(fe=S.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),v.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",v.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",v.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?E.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,v.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))E.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+E.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;E.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<E.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^([^.]*)(?:\.(.+)|)/;function we(){return!0}function Te(){return!1}function Ce(e,t){return e===function(){try{return S.activeElement}catch(e){}}()==("focus"===t)}function Se(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Se(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return E().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=E.guid++)),e.each(function(){E.event.add(this,t,i,r,n)})}function Ee(e,i,o){o?(Y.set(e,i,!1),E.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(E.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n&&n.value}else r.length&&(Y.set(this,i,{value:E.event.trigger(E.extend(r[0],E.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&E.event.add(e,i,we)}E.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&E.find.matchesSelector(re,i),n.guid||(n.guid=E.guid++),(u=y.events)||(u=y.events=Object.create(null)),(a=y.handle)||(a=y.handle=function(e){return"undefined"!=typeof E&&E.event.triggered!==e.type?E.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=be.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=E.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=E.event.special[d]||{},c=E.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&E.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),E.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=Y.hasData(e)&&Y.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=E.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||E.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)E.event.remove(e,d+t[l],n,r,!0);E.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=E.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=E.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=E.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((E.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<E(i,this).index(l):E.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(E.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[E.expando]?e:new E.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ee(t,"click",we),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ee(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},E.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},E.Event=function(e,t){if(!(this instanceof E.Event))return new E.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?we:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&E.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[E.expando]=!0},E.Event.prototype={constructor:E.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=we,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=we,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=we,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},E.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},E.event.addProp),E.each({focus:"focusin",blur:"focusout"},function(t,e){E.event.special[t]={setup:function(){return Ee(this,t,Ce),!1},trigger:function(){return Ee(this,t),!0},_default:function(e){return Y.get(e.target,t)},delegateType:e}}),E.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){E.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||E.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),E.fn.extend({on:function(e,t,n,r){return Se(this,e,t,n,r)},one:function(e,t,n,r){return Se(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,E(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){E.event.remove(this,e,n,t)})}});var ke=/<script|<style|<link/i,Ae=/checked\s*(?:[^=]|=\s*.checked.)/i,Ne=/^\s*<!\[CDATA\[|\]\]>\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&E(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)E.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=E.extend({},o),Q.set(t,a))}}function He(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!v.checkClone&&Ae.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),He(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=E.map(ye(e,"script"),De)).length;c<f;c++)u=e,c!==p&&(u=E.clone(u,!0,!0),s&&E.merge(a,ye(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,E.map(a,qe),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&E.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?E._evalUrl&&!u.noModule&&E._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(Ne,""),u,l))}return n}function Oe(e,t,n){for(var r,i=t?E.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||E.cleanData(ye(r)),r.parentNode&&(n&&ie(r)&&ve(ye(r,"script")),r.parentNode.removeChild(r));return e}E.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(v.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||E.isXMLDoc(e)))for(a=ye(c),r=0,i=(o=ye(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ye(e),a=a||ye(c),r=0,i=o.length;r<i;r++)Le(o[r],a[r]);else Le(e,c);return 0<(a=ye(c,"script")).length&&ve(a,!f&&ye(e,"script")),c},cleanData:function(e){for(var t,n,r,i=E.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?E.event.remove(n,r):E.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),E.fn.extend({detach:function(e){return Oe(this,e,!0)},remove:function(e){return Oe(this,e)},text:function(e){return B(this,function(e){return void 0===e?E.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(E.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return E.clone(this,e,t)})},html:function(e){return B(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ke.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=E.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(E.cleanData(ye(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return He(this,arguments,function(e){var t=this.parentNode;E.inArray(this,n)<0&&(E.cleanData(ye(this)),t&&t.replaceChild(e,this))},n)}}),E.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){E.fn[e]=function(e){for(var t,n=[],r=E(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),E(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Pe=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Re=/^--/,Me=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Ie=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},We=new RegExp(ne.join("|"),"i"),Fe="[\\x20\\t\\r\\n\\f]",$e=new RegExp("^"+Fe+"+|((?:^|[^\\\\])(?:\\\\.)*)"+Fe+"+$","g");function Be(e,t,n){var r,i,o,a,s=Re.test(t),u=e.style;return(n=n||Me(e))&&(a=n.getPropertyValue(t)||n[t],s&&a&&(a=a.replace($e,"$1")||void 0),""!==a||ie(e)||(a=E.style(e,t)),!v.pixelBoxStyles()&&Pe.test(a)&&We.test(t)&&(r=u.width,i=u.minWidth,o=u.maxWidth,u.minWidth=u.maxWidth=u.width=a,a=n.width,u.width=r,u.minWidth=i,u.maxWidth=o)),void 0!==a?a+"":a}function _e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=S.createElement("div"),l=S.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",v.clearCloneStyle="content-box"===l.style.backgroundClip,E.extend(v,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=S.createElement("table"),t=S.createElement("tr"),n=S.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",t.style.cssText="border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,re.removeChild(e)),a}}))}();var ze=["Webkit","Moz","ms"],Ue=S.createElement("div").style,Xe={};function Ve(e){var t=E.cssProps[e]||Xe[e];return t||(e in Ue?e:Xe[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=ze.length;while(n--)if((e=ze[n]+t)in Ue)return e}(e)||e)}var Ge=/^(none|table(?!-c[ea]).+)/,Ye={position:"absolute",visibility:"hidden",display:"block"},Qe={letterSpacing:"0",fontWeight:"400"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ke(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=E.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=E.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=E.css(e,"border"+ne[a]+"Width",!0,i))):(u+=E.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=E.css(e,"border"+ne[a]+"Width",!0,i):s+=E.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Ze(e,t,n){var r=Me(e),i=(!v.boxSizingReliable()||n)&&"border-box"===E.css(e,"boxSizing",!1,r),o=i,a=Be(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Pe.test(a)){if(!n)return a;a="auto"}return(!v.boxSizingReliable()&&i||!v.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===E.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===E.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ke(e,t,n||(i?"border":"content"),o,r,a)+"px"}function et(e,t,n,r,i){return new et.prototype.init(e,t,n,r,i)}E.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Be(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Re.test(t),l=e.style;if(u||(t=Ve(s)),a=E.cssHooks[t]||E.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(E.cssNumber[s]?"":"px")),v.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Re.test(t)||(t=Ve(s)),(a=E.cssHooks[t]||E.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Be(e,t,r)),"normal"===i&&t in Qe&&(i=Qe[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),E.each(["height","width"],function(e,u){E.cssHooks[u]={get:function(e,t,n){if(t)return!Ge.test(E.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Ze(e,u,n):Ie(e,Ye,function(){return Ze(e,u,n)})},set:function(e,t,n){var r,i=Me(e),o=!v.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===E.css(e,"boxSizing",!1,i),s=n?Ke(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Ke(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=E.css(e,u)),Je(0,t,s)}}}),E.cssHooks.marginLeft=_e(v.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Be(e,"marginLeft"))||e.getBoundingClientRect().left-Ie(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),E.each({margin:"",padding:"",border:"Width"},function(i,o){E.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(E.cssHooks[i+o].set=Je)}),E.fn.extend({css:function(e,t){return B(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Me(e),i=t.length;a<i;a++)o[t[a]]=E.css(e,t[a],!1,r);return o}return void 0!==n?E.style(e,t,n):E.css(e,t)},e,t,1<arguments.length)}}),((E.Tween=et).prototype={constructor:et,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||E.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(E.cssNumber[n]?"":"px")},cur:function(){var e=et.propHooks[this.prop];return e&&e.get?e.get(this):et.propHooks._default.get(this)},run:function(e){var t,n=et.propHooks[this.prop];return this.options.duration?this.pos=t=E.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):et.propHooks._default.set(this),this}}).init.prototype=et.prototype,(et.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=E.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){E.fx.step[e.prop]?E.fx.step[e.prop](e):1!==e.elem.nodeType||!E.cssHooks[e.prop]&&null==e.elem.style[Ve(e.prop)]?e.elem[e.prop]=e.now:E.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=et.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},E.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},E.fx=et.prototype.init,E.fx.step={};var tt,nt,rt,it,ot=/^(?:toggle|show|hide)$/,at=/queueHooks$/;function st(){nt&&(!1===S.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(st):C.setTimeout(st,E.fx.interval),E.fx.tick())}function ut(){return C.setTimeout(function(){tt=void 0}),tt=Date.now()}function lt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ct(e,t,n){for(var r,i=(ft.tweeners[t]||[]).concat(ft.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ft(o,e,t){var n,a,r=0,i=ft.prefilters.length,s=E.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=tt||ut(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:E.extend({},e),opts:E.extend(!0,{specialEasing:{},easing:E.easing._default},t),originalProperties:e,originalOptions:t,startTime:tt||ut(),duration:t.duration,tweens:[],createTween:function(e,t){var n=E.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=E.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=ft.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(E._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return E.map(c,ct,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),E.fx.timer(E.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}E.Animation=E.extend(ft,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],ft.tweeners[n]=ft.tweeners[n]||[],ft.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),y=Y.get(e,"fxshow");for(r in n.queue||(null==(a=E._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,E.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],ot.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!y||void 0===y[r])continue;g=!0}d[r]=y&&y[r]||E.style(e,r)}if((u=!E.isEmptyObject(t))||!E.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=y&&y.display)&&(l=Y.get(e,"display")),"none"===(c=E.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=E.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===E.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(y?"hidden"in y&&(g=y.hidden):y=Y.access(e,"fxshow",{display:l}),o&&(y.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)E.style(e,r,d[r])})),u=ct(g?y[r]:0,r,p),r in y||(y[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?ft.prefilters.unshift(e):ft.prefilters.push(e)}}),E.speed=function(e,t,n){var r=e&&"object"==typeof e?E.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return E.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in E.fx.speeds?r.duration=E.fx.speeds[r.duration]:r.duration=E.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&E.dequeue(this,r.queue)},r},E.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=E.isEmptyObject(t),o=E.speed(e,n,r),a=function(){var e=ft(this,E.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=E.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&at.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||E.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=E.timers,o=n?n.length:0;for(t.finish=!0,E.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),E.each(["toggle","show","hide"],function(e,r){var i=E.fn[r];E.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(lt(r,!0),e,t,n)}}),E.each({slideDown:lt("show"),slideUp:lt("hide"),slideToggle:lt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){E.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),E.timers=[],E.fx.tick=function(){var e,t=0,n=E.timers;for(tt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||E.fx.stop(),tt=void 0},E.fx.timer=function(e){E.timers.push(e),E.fx.start()},E.fx.interval=13,E.fx.start=function(){nt||(nt=!0,st())},E.fx.stop=function(){nt=null},E.fx.speeds={slow:600,fast:200,_default:400},E.fn.delay=function(r,e){return r=E.fx&&E.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},rt=S.createElement("input"),it=S.createElement("select").appendChild(S.createElement("option")),rt.type="checkbox",v.checkOn=""!==rt.value,v.optSelected=it.selected,(rt=S.createElement("input")).value="t",rt.type="radio",v.radioValue="t"===rt.value;var pt,dt=E.expr.attrHandle;E.fn.extend({attr:function(e,t){return B(this,E.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){E.removeAttr(this,e)})}}),E.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?E.prop(e,t,n):(1===o&&E.isXMLDoc(e)||(i=E.attrHooks[t.toLowerCase()]||(E.expr.match.bool.test(t)?pt:void 0)),void 0!==n?null===n?void E.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=E.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!v.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),pt={set:function(e,t,n){return!1===t?E.removeAttr(e,n):e.setAttribute(n,n),n}},E.each(E.expr.match.bool.source.match(/\w+/g),function(e,t){var a=dt[t]||E.find.attr;dt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=dt[o],dt[o]=r,r=null!=a(e,t,n)?o:null,dt[o]=i),r}});var ht=/^(?:input|select|textarea|button)$/i,gt=/^(?:a|area)$/i;function yt(e){return(e.match(P)||[]).join(" ")}function vt(e){return e.getAttribute&&e.getAttribute("class")||""}function mt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}E.fn.extend({prop:function(e,t){return B(this,E.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[E.propFix[e]||e]})}}),E.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&E.isXMLDoc(e)||(t=E.propFix[t]||t,i=E.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=E.find.attr(e,"tabindex");return t?parseInt(t,10):ht.test(e.nodeName)||gt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),v.optSelected||(E.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),E.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){E.propFix[this.toLowerCase()]=this}),E.fn.extend({addClass:function(t){var e,n,r,i,o,a;return m(t)?this.each(function(e){E(this).addClass(t.call(this,e,vt(this)))}):(e=mt(t)).length?this.each(function(){if(r=vt(this),n=1===this.nodeType&&" "+yt(r)+" "){for(o=0;o<e.length;o++)i=e[o],n.indexOf(" "+i+" ")<0&&(n+=i+" ");a=yt(n),r!==a&&this.setAttribute("class",a)}}):this},removeClass:function(t){var e,n,r,i,o,a;return m(t)?this.each(function(e){E(this).removeClass(t.call(this,e,vt(this)))}):arguments.length?(e=mt(t)).length?this.each(function(){if(r=vt(this),n=1===this.nodeType&&" "+yt(r)+" "){for(o=0;o<e.length;o++){i=e[o];while(-1<n.indexOf(" "+i+" "))n=n.replace(" "+i+" "," ")}a=yt(n),r!==a&&this.setAttribute("class",a)}}):this:this.attr("class","")},toggleClass:function(t,n){var e,r,i,o,a=typeof t,s="string"===a||Array.isArray(t);return m(t)?this.each(function(e){E(this).toggleClass(t.call(this,e,vt(this),n),n)}):"boolean"==typeof n&&s?n?this.addClass(t):this.removeClass(t):(e=mt(t),this.each(function(){if(s)for(o=E(this),i=0;i<e.length;i++)r=e[i],o.hasClass(r)?o.removeClass(r):o.addClass(r);else void 0!==t&&"boolean"!==a||((r=vt(this))&&Y.set(this,"__className__",r),this.setAttribute&&this.setAttribute("class",r||!1===t?"":Y.get(this,"__className__")||""))}))},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+yt(vt(n))+" ").indexOf(t))return!0;return!1}});var xt=/\r/g;E.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,E(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=E.map(t,function(e){return null==e?"":e+""})),(r=E.valHooks[this.type]||E.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=E.valHooks[t.type]||E.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(xt,""):null==e?"":e:void 0}}),E.extend({valHooks:{option:{get:function(e){var t=E.find.attr(e,"value");return null!=t?t:yt(E.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=E(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=E.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<E.inArray(E.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),E.each(["radio","checkbox"],function(){E.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<E.inArray(E(e).val(),t)}},v.checkOn||(E.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),v.focusin="onfocusin"in C;var bt=/^(?:focusinfocus|focusoutblur)$/,wt=function(e){e.stopPropagation()};E.extend(E.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||S],d=y.call(e,"type")?e.type:e,h=y.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||S,3!==n.nodeType&&8!==n.nodeType&&!bt.test(d+E.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[E.expando]?e:new E.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:E.makeArray(t,[e]),c=E.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,bt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||S)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),E.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,wt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,wt),E.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=E.extend(new E.Event,n,{type:e,isSimulated:!0});E.event.trigger(r,null,t)}}),E.fn.extend({trigger:function(e,t){return this.each(function(){E.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return E.event.trigger(e,t,n,!0)}}),v.focusin||E.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){E.event.simulate(r,e.target,E.event.fix(e))};E.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var Tt=C.location,Ct={guid:Date.now()},St=/\?/;E.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||E.error("Invalid XML: "+(n?E.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};var Et=/\[\]$/,kt=/\r?\n/g,At=/^(?:submit|button|image|reset|file)$/i,Nt=/^(?:input|select|textarea|keygen)/i;function jt(n,e,r,i){var t;if(Array.isArray(e))E.each(e,function(e,t){r||Et.test(n)?i(n,t):jt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)jt(n+"["+t+"]",e[t],r,i)}E.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!E.isPlainObject(e))E.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},E.fn.extend({serialize:function(){return E.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=E.prop(this,"elements");return e?E.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!E(this).is(":disabled")&&Nt.test(this.nodeName)&&!At.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=E(this).val();return null==n?null:Array.isArray(n)?E.map(n,function(e){return{name:t.name,value:e.replace(kt,"\r\n")}}):{name:t.name,value:n.replace(kt,"\r\n")}}).get()}});var Dt=/%20/g,qt=/#.*$/,Lt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ot=/^(?:GET|HEAD)$/,Pt=/^\/\//,Rt={},Mt={},It="*/".concat("*"),Wt=S.createElement("a");function Ft(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function $t(t,i,o,a){var s={},u=t===Mt;function l(e){var r;return s[e]=!0,E.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function Bt(e,t){var n,r,i=E.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&E.extend(!0,e,r),e}Wt.href=Tt.href,E.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Tt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Tt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":It,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":E.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Bt(Bt(e,E.ajaxSettings),t):Bt(E.ajaxSettings,e)},ajaxPrefilter:Ft(Rt),ajaxTransport:Ft(Mt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,y=E.ajaxSetup({},t),v=y.context||y,m=y.context&&(v.nodeType||v.jquery)?E(v):E.event,x=E.Deferred(),b=E.Callbacks("once memory"),w=y.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Ht.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(y.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),y.url=((e||y.url||Tt.href)+"").replace(Pt,Tt.protocol+"//"),y.type=t.method||t.type||y.method||y.type,y.dataTypes=(y.dataType||"*").toLowerCase().match(P)||[""],null==y.crossDomain){r=S.createElement("a");try{r.href=y.url,r.href=r.href,y.crossDomain=Wt.protocol+"//"+Wt.host!=r.protocol+"//"+r.host}catch(e){y.crossDomain=!0}}if(y.data&&y.processData&&"string"!=typeof y.data&&(y.data=E.param(y.data,y.traditional)),$t(Rt,y,t,T),h)return T;for(i in(g=E.event&&y.global)&&0==E.active++&&E.event.trigger("ajaxStart"),y.type=y.type.toUpperCase(),y.hasContent=!Ot.test(y.type),f=y.url.replace(qt,""),y.hasContent?y.data&&y.processData&&0===(y.contentType||"").indexOf("application/x-www-form-urlencoded")&&(y.data=y.data.replace(Dt,"+")):(o=y.url.slice(f.length),y.data&&(y.processData||"string"==typeof y.data)&&(f+=(St.test(f)?"&":"?")+y.data,delete y.data),!1===y.cache&&(f=f.replace(Lt,"$1"),o=(St.test(f)?"&":"?")+"_="+Ct.guid+++o),y.url=f+o),y.ifModified&&(E.lastModified[f]&&T.setRequestHeader("If-Modified-Since",E.lastModified[f]),E.etag[f]&&T.setRequestHeader("If-None-Match",E.etag[f])),(y.data&&y.hasContent&&!1!==y.contentType||t.contentType)&&T.setRequestHeader("Content-Type",y.contentType),T.setRequestHeader("Accept",y.dataTypes[0]&&y.accepts[y.dataTypes[0]]?y.accepts[y.dataTypes[0]]+("*"!==y.dataTypes[0]?", "+It+"; q=0.01":""):y.accepts["*"]),y.headers)T.setRequestHeader(i,y.headers[i]);if(y.beforeSend&&(!1===y.beforeSend.call(v,T,y)||h))return T.abort();if(u="abort",b.add(y.complete),T.done(y.success),T.fail(y.error),c=$t(Mt,y,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,y]),h)return T;y.async&&0<y.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},y.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(y,T,n)),!i&&-1<E.inArray("script",y.dataTypes)&&E.inArray("json",y.dataTypes)<0&&(y.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(y,s,T,i),i?(y.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(E.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(E.etag[f]=u)),204===e||"HEAD"===y.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(v,[o,l,T]):x.rejectWith(v,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,y,i?o:a]),b.fireWith(v,[T,l]),g&&(m.trigger("ajaxComplete",[T,y]),--E.active||E.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return E.get(e,t,n,"json")},getScript:function(e,t){return E.get(e,void 0,t,"script")}}),E.each(["get","post"],function(e,i){E[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),E.ajax(E.extend({url:e,type:i,dataType:r,data:t,success:n},E.isPlainObject(e)&&e))}}),E.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),E._evalUrl=function(e,t,n){return E.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){E.globalEval(e,t,n)}})},E.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=E(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){E(this).wrapInner(n.call(this,e))}):this.each(function(){var e=E(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){E(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){E(this).replaceWith(this.childNodes)}),this}}),E.expr.pseudos.hidden=function(e){return!E.expr.pseudos.visible(e)},E.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},E.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var _t={0:200,1223:204},zt=E.ajaxSettings.xhr();v.cors=!!zt&&"withCredentials"in zt,v.ajax=zt=!!zt,E.ajaxTransport(function(i){var o,a;if(v.cors||zt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(_t[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),E.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),E.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return E.globalEval(e),e}}}),E.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),E.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=E("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),S.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;E.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||E.expando+"_"+Ct.guid++;return this[e]=!0,e}}),E.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||E.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?E(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),v.createHTMLDocument=((Ut=S.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Ut.childNodes.length),E.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(v.createHTMLDocument?((r=(t=S.implementation.createHTMLDocument("")).createElement("base")).href=S.location.href,t.head.appendChild(r)):t=S),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&E(o).remove(),E.merge([],i.childNodes)));var r,i,o},E.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=yt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&E.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?E("<div>").append(E.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},E.expr.pseudos.animated=function(t){return E.grep(E.timers,function(e){return t===e.elem}).length},E.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=E.css(e,"position"),c=E(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=E.css(e,"top"),u=E.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,E.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},E.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){E.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===E.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===E.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=E(e).offset()).top+=E.css(e,"borderTopWidth",!0),i.left+=E.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-E.css(r,"marginTop",!0),left:t.left-i.left-E.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===E.css(e,"position"))e=e.offsetParent;return e||re})}}),E.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;E.fn[t]=function(e){return B(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),E.each(["top","left"],function(e,n){E.cssHooks[n]=_e(v.pixelPosition,function(e,t){if(t)return t=Be(e,n),Pe.test(t)?E(e).position()[n]+"px":t})}),E.each({Height:"height",Width:"width"},function(a,s){E.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){E.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return B(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?E.css(e,t,i):E.style(e,t,n,i)},s,n?e:void 0,n)}})}),E.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){E.fn[t]=function(e){return this.on(t,e)}}),E.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),E.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){E.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Gt=/^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;E.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||E.guid++,i},E.holdReady=function(e){e?E.readyWait++:E.ready(!0)},E.isArray=Array.isArray,E.parseJSON=JSON.parse,E.nodeName=A,E.isFunction=m,E.isWindow=x,E.camelCase=X,E.type=w,E.now=Date.now,E.isNumeric=function(e){var t=E.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},E.trim=function(e){return null==e?"":(e+"").replace(Gt,"$1")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return E});var Yt=C.jQuery,Qt=C.$;return E.noConflict=function(e){return C.$===E&&(C.$=Qt),e&&C.jQuery===E&&(C.jQuery=Yt),E},"undefined"==typeof e&&(C.jQuery=C.$=E),E});
3; 4/** 5* DO NOT EDIT THIS FILE. 6* See the following change record for more information, 7* https://www.drupal.org/node/2815083 8* @preserve 9**/ 10if (!Element.prototype.matches) { 11 Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector; 12}; 13/*! @drupal/once - v1.0.1 - 2021-06-12 */ 14var once=function(){"use strict";var n=/[\11\12\14\15\40]+/,e="data-once",t=document;function r(n,t,r){return n[t+"Attribute"](e,r)}function o(e){if("string"!=typeof e)throw new TypeError("once ID must be a string");if(""===e||n.test(e))throw new RangeError("once ID must not be empty or contain spaces");return'[data-once~="'+e+'"]'}function u(n){if(!(n instanceof Element))throw new TypeError("The element must be an instance of Element");return!0}function i(n,e){void 0===e&&(e=t);var r=n;if(null===n)r=[];else{if(!n)throw new TypeError("Selector must not be empty");"string"!=typeof n||e!==t&&!u(e)?n instanceof Element&&(r=[n]):r=e.querySelectorAll(n)}return Array.prototype.slice.call(r)}function c(n,e,t){return e.filter((function(e){var r=u(e)&&e.matches(n);return r&&t&&t(e),r}))}function f(e,t){var o=t.add,u=t.remove,i=[];r(e,"has")&&r(e,"get").trim().split(n).forEach((function(n){i.indexOf(n)<0&&n!==u&&i.push(n)})),o&&i.push(o);var c=i.join(" ");r(e,""===c?"remove":"set",c)}function a(n,e,t){return c(":not("+o(n)+")",i(e,t),(function(e){return f(e,{add:n})}))}return a.remove=function(n,e,t){return c(o(n),i(e,t),(function(e){return f(e,{remove:n})}))},a.filter=function(n,e,t){return c(o(n),i(e,t))},a.find=function(n,e){return i(n?o(n):"[data-once]",e)},a}(); 15 16; 17window.drupalTranslations = {"strings":{"":{"An AJAX HTTP error occurred.":"\u0412\u043e\u0437\u043d\u0438\u043a\u043b\u0430 AJAX HTTP \u043e\u0448\u0438\u0431\u043a\u0430.","HTTP Result Code: !status":"\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 HTTP: !status","An AJAX HTTP request terminated abnormally.":"AJAX HTTP-\u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0435\u043e\u0436\u0438\u0434\u0430\u043d\u043d\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0451\u043d.","Debugging information follows.":"\u0421\u043b\u0435\u0434\u0443\u0435\u0442 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f.","Path: !uri":"\u041f\u0443\u0442\u044c: !uri","StatusText: !statusText":"\u0422\u0435\u043a\u0441\u0442 \u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f: !statusText","ResponseText: !responseText":"\u0422\u0435\u043a\u0441\u0442 \u041e\u0442\u0432\u0435\u0442\u0430: !responseText","ReadyState: !readyState":"ReadyState: !readyState","CustomMessage: !customMessage":"\u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435: !customMessage","Please wait...":"\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u0434\u043e\u0436\u0434\u0438\u0442\u0435...","The response failed verification so will not be processed.":"\u041e\u0442\u0432\u0435\u0442 \u043d\u0435 \u043f\u0440\u043e\u0448\u0435\u043b \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0435 \u0431\u0443\u0434\u0435\u0442.","The callback URL is not local and not trusted: !url":"URL-\u0430\u0434\u0440\u0435\u0441 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u043c \u0438 \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u043c: !url","Changed":"\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435","Home":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f","Next":"\u0412\u043f\u0435\u0440\u0451\u0434","Delete":"Delete","closed":"\u0437\u0430\u043a\u0440\u044b\u0442\u043e","Cancel":"\u041e\u0442\u043c\u0435\u043d\u0430","Disabled":"\u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u043e","Enabled":"\u0412\u043a\u043b\u044e\u0447\u0435\u043d\u043e","File":"\u0424\u0430\u0439\u043b","Edit":"\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c","Date":"\u
170414\u0430\u0442\u0430","Size":"Size","Link":"\u0421\u0441\u044b\u043b\u043a\u0430","Image":"\u0418\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435","root":"\u043a\u043e\u0440\u0435\u043d\u044c","Name":"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435","Open":"\u041e\u0442\u043a\u0440\u044b\u0442\u044c","Add":"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c","Refresh":"\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c","Upload":"\u0417\u0430\u043a\u0430\u0447\u0430\u0442\u044c","Continue":"\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c","Create":"\u0421\u043e\u0437\u0434\u0430\u0442\u044c","Width":"\u0428\u0438\u0440\u0438\u043d\u0430","Height":"\u0412\u044b\u0441\u043e\u0442\u0430","Close":"\u0417\u0430\u043a\u0440\u044b\u0442\u044c","Add group":"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0433\u0440\u0443\u043f\u043f\u0443","Show":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c","1 item\u0003@count items":"@count \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0003@count \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0003@count[2] \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432","Select all rows in this table":"\u041e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u0432\u0441\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b","Deselect all rows in this table":"\u0421\u043d\u044f\u0442\u044c \u043e\u0442\u043c\u0435\u0442\u043a\u0443 \u0441\u043e \u0432\u0441\u0435\u0445 \u043a\u043e\u043b\u043e\u043d\u043e\u043a \u0442\u0430\u0431\u043b\u0438\u0446\u044b","Extend":"\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f","Not published":"\u041d\u0435 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043e","Loading...":"\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430...","Apply":"Apply","Select":"\u0412\u044b\u0431\u0440\u0430\u0442\u044c","Hide":"\u0421\u043a\u0440\u044b\u0442\u044c","Unlink":"\u041e\u0442\u0432\u044f\u0437\u0430\u0442\u044c","Resize":"\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u043c\u0435\u0440\u0430","Not promoted":"\u041d\u0435 \u0432\u044b\u0432\u0435\u0434\u0435\u043d\u043e \u043d\u0430 \u0433\u043b\u0430\u0432\u043d\u0443\u044e","Error message":"\u
170421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0435","button":"\u043a\u043d\u043e\u043f\u043a\u0430","Warning message":"\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435","Only files with the following extensions are allowed: %files-allowed.":"\u041f\u0440\u0438\u043a\u0440\u0435\u043f\u043b\u044f\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0444\u0430\u0439\u043b\u044b \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f\u043c\u0438: %files-allowed.","Edit Link":"\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0443","Remove group":"\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0433\u0440\u0443\u043f\u043f\u0443","By @name on @date":"@name, @date","By @name":"@name","Not in menu":"\u041d\u0435 \u0432 \u043c\u0435\u043d\u044e","Alias: @alias":"\u0421\u0438\u043d\u043e\u043d\u0438\u043c: @alias","No alias":"\u0421\u0438\u043d\u043e\u043d\u0438\u043c \u043d\u0435 \u0437\u0430\u0434\u0430\u043d","@label":"@label","New revision":"\u041d\u043e\u0432\u0430\u044f \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u044f","Drag to re-order":"\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u043c\u043e\u0436\u043d\u043e, \u043f\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0432 \u043f\u0443\u043d\u043a\u0442 \u043c\u044b\u0448\u043a\u043e\u0439.","Changes made in this table will not be saved until the form is submitted.":"\u0421\u0434\u0435\u043b\u0430\u043d\u043d\u044b\u0435 \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043d\u0435 \u0432\u0441\u0442\u0443\u043f\u044f\u0442 \u0432 \u0441\u0438\u043b\u0443, \u043f\u043e\u043a\u0430 \u0432\u044b \u043d\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u0438\u0445.","1 byte\u0003@count bytes":"@count \u0431\u0430\u0439\u0442\u0003@count \u0431\u0430\u0439\u0442\u0430\u0003@count[2] \u0431\u0430\u0439\u0442","@size KB":"@size \u041a\u0411","@size MB":"@size \u041c\u0411","Show description":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435","New group":"\u041d\u043e\u0432\u0430\u044f \u0433\u0440\u0443\u043f\u043f\u0430","This permission is inherited from the authenticated user role.":"\u042d\u0442\u043e \u043f\u0440\u0430\u0432\u043e \u043d\u0430\u0441\u043b\u0435\u0434\u0443\u0435\u0442\u0441\u044f \u043e\u0442 \u0440\u043e\u043b\u0438 \u00ab\u0410\u0432\u0442\u043e\u0440\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u00bb.","No revision":"\u041d\u0435\u0442 \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u0438","Requires a title":"\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a","Not restricted":"\u0411\u0435\u0437 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439","(active tab)":"(\u0430\u043a\u0442\u0438\u0432\u043d\u0430\u044f \u0432\u043a\u043b\u0430\u0434\u043a\u0430)","Status message":"\u
170421\u0442\u0430\u0442\u0443\u0441","Restricted to certain pages":"\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043e \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446","The block cannot be placed in this region.":"\u0411\u043b\u043e\u043a \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0449\u0451\u043d \u0432 \u0434\u0430\u043d\u043d\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438.","Hide summary":"\u0421\u043a\u0440\u044b\u0442\u044c \u043a\u0440\u0430\u0442\u043a\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435","Edit summary":"\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u0440\u0430\u0442\u043a\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435","Don\u0027t display post information":"\u041d\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438","Collapse":"\u0421\u0432\u0435\u0440\u043d\u0443\u0442\u044c","The selected file %filename cannot be uploaded. Only files with the following extensions are allowed: %extensions.":"\u0412\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b %filename \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0444\u0430\u0439\u043b\u043e\u0432 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f\u043c\u0438: %extensions.","Show row weights":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0432\u0435\u0441 \u0441\u0442\u0440\u043e\u043a","Hide row weights":"\u0421\u043a\u0440\u044b\u0442\u044c \u0432\u0435\u0441 \u0441\u0442\u0440\u043e\u043a","Apply (all displays)":"\u041f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c (\u0432\u0441\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f)","Apply (this display)":"\u041f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c (\u0434\u0430\u043d\u043d\u043e\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435)","Revert to default":"\u0412\u0435\u0440\u043d\u0443\u0442\u044c \u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e","Hide description":"\u0421\u043a\u0440\u044b\u0442\u044c \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435","Does not need to be updated":"\u041d\u0435 \u043d\u0443\u0436\u0434\u0430\u0435\u0442\u0441\u044f \u0432 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438","Show all columns":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0432\u0441\u0435 \u0441\u0442\u043e\u043b\u0431\u0446\u044b","Show table cells that were hidden to make the table fit within a small screen.":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u044f\u0447\u0435\u0439\u043a\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u0441\u043a\u0440\u044b\u0442\u044b, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0432\u0441\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u043d\u0430 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u043e\u043c \u044d\u043a\u0440\u0430\u043d\u0435.","List additional actions":"\u0421\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439","Flag other translations as outdated":"\u041f\u043e\u043c\u0435\u0442\u0438\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u044b \u043a\u0430\u043a \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0435","Do not flag other translations as outdated":"\u041d\u0435 \u043f\u043e\u043c\u0435\u0447\u0430\u0439\u0442\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u044b \u043a\u0430\u043a \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0435","opened":"\u041e\u0442\u043a\u0440\u044b\u0442\u043e","Horizontal orientation":"\u0413\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u043e\u0440\u0438\u0435\u043d\u0442\u0430\u0446\u0438\u044f","Vertical orientation":"\u0412\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u043e\u0440\u0438\u0435\u043d\u0442\u0430\u0446\u0438\u044f","Tray orientation changed to @orientation.":"\u041e\u0440\u0438\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u0430\u043d\u0435\u043b\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0430 \u043d\u0430 @orientation.","You have unsaved changes.":"\u
170415\u0441\u0442\u044c \u043d\u0435\u0441\u043e\u0445\u0440\u0430\u043d\u0451\u043d\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f.","No styles configured":"\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u0441\u0442\u0438\u043b\u0438","@count styles configured":"\u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043e @count \u0441\u0442\u0438\u043b\u044c\r\n\u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043e @count \u0441\u0442\u0438\u043b\u044f\r\n\u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043e @count[2] \u0441\u0442\u0438\u043b\u0435\u0439","@action @title configuration options":"@action @title \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438","Tabbing is no longer constrained by the Contextual module.":"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u043a\u043b\u0430\u0434\u043e\u043a \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043e \u043c\u043e\u0434\u0443\u043b\u0435\u043c Context.","Tabbing is constrained to a set of @contextualsCount and the edit mode toggle.":"\u0412\u043a\u043b\u0430\u0434\u043a\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0430 \u043d\u0430\u0431\u043e\u0440\u043e\u043c @contextualsCount \u0438 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u0435\u043c \u0440\u0435\u0436\u0438\u043c\u0430 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.","Press the esc key to exit.":"\u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 ESC \u0434\u043b\u044f \u0432\u044b\u0445\u043e\u0434\u0430.","@count contextual link\u0003@count contextual links":"@count \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u0430\u044f \u0441\u0441\u044b\u043b\u043a\u0430\u0003@count \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u044b\u0445 \u0441\u0441\u044b\u043b\u043a\u0438\u0003@count[2] \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u044b\u0445 \u0441\u0441\u044b\u043b\u043e\u043a","Based on the text editor configuration, these tags have automatically been added: \u003Cstrong\u003E@tag-list\u003C\/strong\u003E.":"\u041d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430, \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0442\u0435\u0433\u0438 \u0431\u044b\u043b\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u003Cstrong\u003E@tag-list\u003C\/strong\u003E.","!tour_item of !total":"!tour_item \u0438\u0437 !total","End tour":"\u041a\u043e\u043d\u0435\u0446 \u0442\u0443\u0440\u0430","Uploads disabled":"\u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u044b","Uploads enabled, max size: @size @dimensions":"\u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b, \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440: @size @dimensions","The toolbar cannot be set to a horizontal orientation when it is locked.":"\u041f\u0430\u043d\u0435\u043b\u044c \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u0432 \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043a\u043e\u0433\u0434\u0430 \u043e\u043d\u0430 \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0430.","Hide group names":"\u0421\u043a\u0440\u044b\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0433\u0440\u0443\u043f\u043f","Show group names":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0433\u0440\u0443\u043f\u043f","@groupName button group in position @position of @positionCount in row @row of @rowCount.":"\u0413\u0440\u0443\u043f\u043f\u0430 \u043a\u043d\u043e\u043f\u043e\u043a @groupName \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 @position \u0438\u0437 @positionCount \u0432 \u0441\u0442\u0440\u043e\u043a\u0435 @row \u0438\u0437 @rowCount.","Press the down arrow key to create a new row.":"\u0414\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043b\u0430\u0432\u0438\u0448\u0443 \u0022\u0421\u0442\u0440\u0435\u043b\u043a\u0430 \u0432\u043d\u0438\u0437\u0022.","@name @type.":"@name @type.","Press the down arrow key to activate.":"\u0414\u043b\u044f \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043b\u0430\u0432\u0438\u0448\u0443 \u0022\u0421\u0442\u0440\u0435\u043b\u043a\u0430 \u0432\u043d\u0438\u0437\u0022.","@name @type in position @position of @positionCount in @groupName button group in row @row of @rowCount.":"@type @name \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 @position \u0438\u0437 @positionCount \u0432 \u0433\u0440\u0443\u043f\u043f\u0435 \u043a\u043d\u043e\u043f\u043e\u043a @groupName \u0432 \u0441\u0442\u0440\u043e\u043a\u0435 @row \u0438\u0437 @rowCount.","Press the down arrow key to create a new button group in a new row.":"\u0414\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b \u043a\u043d\u043e\u043f\u043e\u043a \u043d\u0430 \u043d\u043e\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043b\u0430\u0432\u0438\u0448\u0443 \u0022\u0421\u0442\u0440\u0435\u043b\u043a\u0430 \u0432\u043d\u0438\u0437\u0022.","This is the last group. Move the button forward to create a new group.":"\u042d\u0442\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u0433\u0440\u0443\u043f\u043f\u0430. \u0414\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b \u043f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 \u0432\u043f\u0435\u0440\u0451\u0434.","The \u0022@name\u0022 button is currently enabled.":"\u041a\u043d\u043e\u043f\u043a\u0430 \u0022@name\u0022 \u0432 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430.","Use the keyboard arrow keys to change the position of this button.":"\u0414\u043b\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0438 \u0441\u043e \u0441\u0442\u0440\u0435\u043b\u043a\u0430\u043c\u0438 \u043d\u0430 \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0435.","Press the up arrow key on the top row to disable the button.":"\u0427\u0442\u043e\u0431\u044b \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043a\u043d\u043e\u043f\u043a\u0443, \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u043a\u043b\u0430\u0432\u0438\u0448\u0443 \u0022\u0421\u0442\u0440\u0435\u043b\u043a\u0430 \u0432\u0432\u0435\u0440\u0445\u0022 \u043d\u0430 \u0432\u0435\u0440\u0445\u043d\u0435\u0439 \u0441\u0442\u0440\u043e\u043a\u0435.","The \u0022@name\u0022 button is currently disabled.":"\u041a\u043d\u043e\u043f\u043a\u0430 \u0022@name\u0022 \u0432 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0430.","This @name is currently enabled.":"@name \u0432 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043e.","Use the keyboard arrow keys to change the position of this separator.":"\u0414\u043b\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043a\u043b\u0430\u0432\u0438\u0448\u0438 \u0441\u043e \u0441\u0442\u0440\u0435\u043b\u043a\u0430\u043c\u0438 \u043d\u0430 \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0435.","Separators are used to visually split individual buttons.":"\u0420\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0434\u043b\u044f \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043a\u043d\u043e\u043f\u043e\u043a.","This @name is currently disabled.":"@name \u0432 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u043e.","Use the down arrow key to move this separator into the active toolbar.":"\u0427\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0439 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c \u0432 \u0430\u043a\u0442\u0438\u0432\u043d\u0443\u044e \u043f\u0430\u043d\u0435\u043b\u044c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043a\u043b\u0430\u0432\u0438\u0448\u0443 \u0022\u0421\u0442\u0440\u0435\u043b\u043a\u0430 \u0432\u043d\u0438\u0437\u0022","You may add multiple separators to each button group.":"\u041a \u043a\u0430\u0436\u0434\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u0435 \u043a\u043d\u043e\u043f\u043e\u043a \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u0435\u0439.","Please provide a name for the button group.":"\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0434\u043b\u044f \u0433\u0440\u0443\u043f\u043f\u044b \u043a\u043d\u043e\u043f\u043e\u043a.","Button group name":"\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0433\u0440\u0443\u043f\u043f\u044b \u043a\u043d\u043e\u043f\u043e\u043a","Editing the name of the new button group in a dialog.":"\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b \u043a\u043d\u043e\u043f\u043e\u043a \u0432 \u0434\u0438\u0430\u043b\u043e\u0433\u0435.","Editing the name of the \u0022@groupName\u0022 button group in a dialog.":"\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0433\u0440\u0443\u043f\u043f\u044b \u043a\u043d\u043e\u043f\u043e\u043a \u0022@groupName\u0022 \u0432 \u0434\u0438\u0430\u043b\u043e\u0433\u0435.","Place a button to create a new button group.":"\u0427\u0442\u043e\u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u0433\u0440\u0443\u043f\u043f\u0443 \u043a\u043d\u043e\u043f\u043e\u043a \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443.","Add a CKEditor button group to the end of this row.":"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0433\u0440\u0443\u043f\u043f\u0443 \u043a\u043d\u043e\u043f\u043e\u043a CKEditor \u0432 \u043a\u043e\u043d\u0435\u0446 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438.","Changing the text format to %text_format will permanently remove content that is not allowed in that text format.\u003Cbr\u003E\u003Cbr\u003ESave your changes before switching the text format to avoid losing data.":"\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0444\u043e\u0440\u043c\u0430\u0442\u0430 \u043d\u0430 %text_format \u0431\u0435\u0437\u0432\u043e\u0437\u0432\u0440\u0430\u0442\u043d\u043e \u0443\u0434\u0430\u043b\u0438\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435, \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0435 \u0432 \u043d\u043e\u0432\u043e\u043c \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435.\u003Cbr\u003E\u003Cbr\u003E\u0414\u043b\u044f \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043f\u043e\u0442\u0435\u0440\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u0434 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0430.","Change text format?":"\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0444\u043e\u0440\u043c\u0430\u0442 \u0442\u0435\u043a\u0441\u0442\u0430?","Rich Text Editor, !label field":"\u0420\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430, \u043f\u043e\u043b\u0435 !label","Leave preview?":"\u041e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u0440\u0435\u0434\u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440?","Leave preview":"\u041e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u0440\u0435\u0434\u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440","Leaving the preview will cause unsaved changes to be lost. Are you sure you want to leave the preview?":"\u0412\u044b\u0445\u043e\u0434 \u0438\u0437 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u0442 \u043a \u043f\u043e\u0442\u0435\u0440\u0435 \u043d\u0435\u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439. \u0412\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u0447\u0442\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440?","CTRL+Left click will prevent this dialog from showing and proceed to the clicked link.":"CTRL+\u0449\u0435\u043b\u0447\u043e\u043a \u043b\u0435\u0432\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u043e\u0439 \u043c\u044b\u0448\u0438 \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c \u044d\u0442\u043e \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u043e\u0435 \u043e\u043a\u043d\u043e \u0438 \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u043d\u0430\u0436\u0430\u0442\u043e\u0439 \u0441\u0441\u044b\u043b\u043a\u0435.","Tray \u0022@tray\u0022 @action.":"\u041f\u0430\u043d\u0435\u043b\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0022@tray\u0022 @action.","Tray @action.":"\u041f\u0430\u043d\u0435\u043b\u044c \u0437\u0430\u0434\u0430\u0447 @action.","Hide lower priority columns":"\u0421\u043a\u0440\u044b\u0442\u044c \u0441\u0442\u043e\u043b\u0431\u0446\u044b \u0441 \u043d\u0438\u0437\u043a\u0438\u043c \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043e\u043c","!modules modules are available in the modified list.":"\u041c\u043e\u0434\u0443\u043b\u0438 !modules \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0432 \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0441\u043f\u0438\u0441\u043a\u0435.","Authored on @date":"\u
170421\u043e\u0437\u0434\u0430\u043d\u043e \u0432 @date","1 block is available in the modified list.\u0003@count blocks are available in the modified list.":"\u0412 \u0438\u0437\u043c\u0435\u043d\u0451\u043d\u043d\u043e\u043c \u0441\u043f\u0438\u0441\u043a\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d 1 \u0431\u043b\u043e\u043a.\u0003\u0412 \u0438\u0437\u043c\u0435\u043d\u0451\u043d\u043d\u043e\u043c \u0441\u043f\u0438\u0441\u043a\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e @count \u0431\u043b\u043e\u043a\u0430.\u0003\u0412 \u0438\u0437\u043c\u0435\u043d\u0451\u043d\u043d\u043e\u043c \u0441\u043f\u0438\u0441\u043a\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e @count \u0431\u043b\u043e\u043a\u043e\u0432.","Insert this token into your form":"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u0442\u043e\u043a\u0435\u043d \u0432 \u0432\u0430\u0448\u0443 \u0444\u043e\u0440\u043c\u0443","First click a text field to insert your tokens into.":"\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043a\u043b\u0438\u043a\u043d\u0438\u0442\u0435 \u0432 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0435 \u043f\u043e\u043b\u0435, \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0442\u043e\u043a\u0435\u043d\u044b.","Automatic alias":"\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u0438\u043d\u043e\u043d\u0438\u043c","Collapse all":"C\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432\u0441\u0435","Select None":"\u0421\u043d\u044f\u0442\u044c \u0432\u044b\u0431\u043e\u0440","Select All":"\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0432\u0441\u0435","item":"\u043f\u0443\u043d\u043a\u0442","items":"\u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432","Expand all":"\u0420\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0432\u0441\u0435","New folder":"\u041d\u043e\u0432\u0430\u044f \u043f\u0430\u043f\u043a\u0430","Folder name":"\u0418\u043c\u044f \u043f\u0430\u043f\u043a\u0438","Add file":"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0444\u0430\u0439\u043b","Create a copy":"\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043a\u043e\u043f\u0438\u044e","Please select a file.":"\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430 \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0444\u0430\u0439\u043b.","Use the selected file.":"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b.","%path is a predefined path and can not be modified.":"%path \u043f\u0440\u0435\u0434\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u043f\u0443\u0442\u044c \u0438 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d.","%filename is not allowed.":"%filename \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f.","%filename contains invalid characters. Use only alphanumeric characters for better portability.":"%filename \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044b. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0431\u0443\u043a\u0432\u0435\u043d\u043d\u043e-\u0446\u0438\u0444\u0440\u043e\u0432\u044b\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u0434\u043b\u044f \u043b\u0443\u0447\u0448\u0435\u0439 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c\u043e\u0441\u0442\u0438.","Image dimensions must be smaller than %dimensions pixels.":"\u0420\u0430\u0437\u043c\u0435\u0440\u044b \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043c\u0435\u043d\u044c\u0448\u0435 \u0447\u0435\u043c %dimensions \u043f\u0438\u043a\u0441\u0435\u043b\u0435\u0439.","%name is not an image.":"%name \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435\u043c.","Delete !filename?\u0003Delete the selected @count items?":"\u0423\u0434\u0430\u043b\u0438\u0442\u044c !filename?\u0003\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0435 @count \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432?","%filename already exists.":"%filename \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442.","%filename is %filesize exceeding the maximum file size of %maxsize.":"%filename \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c %filesize \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0435\u0442 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u0444\u0430\u0439\u043b\u0430 %maxsize.","Invalid response received from the server.":"\u041e\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d \u043d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u043e\u0442\u0432\u0435\u0442.","Insert images using Imce File Manager":"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u0444\u0430\u0439\u043b\u043e\u0432 Imce","Insert file links using Imce File Manager":"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u0444\u0430\u0439\u043b\u043e\u0432 Imce"}},"pluralFormula":{"1":0,"2":1,"3":1,"4":1,"21":0,"22":1,"23":1,"24":1,"31":0,"32":1,"33":1,"34":1,"41":0,"42":1,"43":1,"44":1,"51":0,"52":1,"53":1,"54":1,"61":0,"62":1,"63":1,"64":1,"71":0,"72":1,"73":1,"74":1,"81":0,"82":1,"83":1,"84":1,"91":0,"92":1,"93":1,"94":1,"101":0,"102":1,"103":1,"104":1,"121":0,"122":1,"123":1,"124":1,"131":0,"132":1,"133":1,"134":1,"141":0,"142":1,"143":1,"144":1,"151":0,"152":1,"153":1,"154":1,"161":0,"162":1,"163":1,"164":1,"171":0,"172":1,"173":1,"174":1,"181":0,"182":1,"183":1,"184":1,"191":0,"192":1,"193":1,"194":1,"default":2}};; 18/** 19* DO NOT EDIT THIS FILE. 20* See the following change record for more information, 21* https://www.drupal.org/node/2815083 22* @preserve 23**/ 24(function () { 25 var settingsElement = document.querySelector('head > script[type="application/json"][data-drupal-selector="drupal-settings-json"], body > script[type="application/json"][data-drupal-selector="drupal-settings-json"]'); 26 window.drupalSettings = {}; 27 if (settingsElement !== null) { 28 window.drupalSettings = JSON.parse(settingsElement.textContent); 29 } 30})();; 31/** 32* DO NOT EDIT THIS FILE. 33* See the following change record for more information, 34* https://www.drupal.org/node/2815083 35* @preserve 36**/ 37window.Drupal = { 38 behaviors: {}, 39 locale: {} 40}; 41(function (Drupal, drupalSettings, drupalTranslations, console, Proxy, Reflect) { 42 Drupal.throwError = function (error) { 43 setTimeout(function () { 44 throw error; 45 }, 0); 46 }; 47 Drupal.attachBehaviors = function (context, settings) { 48 context = context || document; 49 settings = settings || drupalSettings; 50 var behaviors = Drupal.behaviors;
51 Object.keys(behaviors || {}).forEach(function (i) { 52 if (typeof behaviors[i].attach === 'function') { 53 try { 54 behaviors[i].attach(context, settings); 55 } catch (e) { 56 Drupal.throwError(e); 57 } 58 } 59 }); 60 }; 61 Drupal.detachBehaviors = function (context, settings, trigger) { 62 context = context || document; 63 settings = settings || drupalSettings; 64 trigger = trigger || 'unload'; 65 var behaviors = Drupal.behaviors; 66 Object.keys(behaviors || {}).forEach(function (i) { 67 if (typeof behaviors[i].detach === 'function') { 68 try { 69 behaviors[i].detach(context, settings, trigger); 70 } catch (e) { 71 Drupal.throwError(e); 72 } 73 } 74 }); 75 }; 76 Drupal.checkPlain = function (str) { 77 str = str.toString().replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, '''); 78 return str; 79 }; 80 Drupal.formatString = function (str, args) { 81 var processedArgs = {}; 82 Object.keys(args || {}).forEach(function (key) { 83 switch (key.charAt(0)) { 84 case '@': 85 processedArgs[key] = Drupal.checkPlain(args[key]); 86 break; 87 case '!': 88 processedArgs[key] = args[key]; 89 break; 90 default: 91 processedArgs[key] = Drupal.theme('placeholder', args[key]); 92 break; 93 } 94 }); 95 return Drupal.stringReplace(str, processedArgs, null); 96 }; 97 Drupal.stringReplace = function (str, args, keys) { 98 if (str.length === 0) { 99 return str; 100 } 101 if (!Array.isArray(keys)) { 102 keys = Object.keys(args || {}); 103 keys.sort(function (a, b) { 104 return a.length - b.length; 105 }); 106 } 107 if (keys.length === 0) { 108 return str; 109 } 110 var key = keys.pop(); 111 var fragments = str.split(key); 112 if (keys.length) { 113 for (var i = 0; i < fragments.length; i++) { 114 fragments[i] = Drupal.stringReplace(fragments[i], args, keys.slice(0)); 115 } 116 } 117 return fragments.join(args[key]); 118 }; 119 Drupal.t = function (str, args, options) { 120 options = options || {}; 121 options.context = options.context || ''; 122 if (typeof drupalTranslations !== 'undefined' && drupalTranslations.strings && drupalTranslations.strings[options.context] && drupalTranslations.strings[options.context][str]) { 123 str = drupalTranslations.strings[options.context][str]; 124 } 125 if (args) { 126 str = Drupal.formatString(str, args); 127 } 128 return str; 129 }; 130 Drupal.url = function (path) { 131 return drupalSettings.path.baseUrl + drupalSettings.path.pathPrefix + path; 132 }; 133 Drupal.url.toAbsolute = function (url) { 134 var urlParsingNode = document.createElement('a'); 135 try { 136 url = decodeURIComponent(url); 137 } catch (e) {} 138 urlParsingNode.setAttribute('href', url); 139 return urlParsingNode.cloneNode(false).href; 140 }; 141 Drupal.url.isLocal = function (url) { 142 var absoluteUrl = Drupal.url.toAbsolute(url); 143 var protocol = window.location.protocol; 144 if (protocol === 'http:' && absoluteUrl.indexOf('https:') === 0) { 145 protocol = 'https:'; 146 } 147 var baseUrl = "".concat(protocol, "//").concat(window.location.host).concat(drupalSettings.path.baseUrl.slice(0, -1)); 148 try { 149 absoluteUrl = decodeURIComponent(absoluteUrl); 150 } catch (e) {} 151 try { 152 baseUrl = decodeURIComponent(baseUrl); 153 } catch (e) {} 154 return absoluteUrl === baseUrl || absoluteUrl.indexOf("".concat(baseUrl, "/")) === 0; 155 }; 156 Drupal.formatPlural = function (count, singular, plural, args, options) { 157 args = args || {}; 158 args['@count'] = count; 159 var pluralDelimiter = drupalSettings.pluralDelimiter; 160 var translations = Drupal.t(singular + pluralDelimiter + plural, args, options).split(pluralDelimiter); 161 var index = 0; 162 if (typeof drupalTranslations !== 'undefined' && drupalTranslations.pluralFormula) { 163 index = count in drupalTranslations.pluralFormula ? drupalTranslations.pluralFormula[count] : drupalTranslations.pluralFormula.default; 164 } else if (args['@count'] !== 1) { 165 index = 1; 166 } 167 return translations[index]; 168 }; 169 Drupal.encodePath = function (item) { 170 return window.encodeURIComponent(item).replace(/%2F/g, '/'); 171 }; 172 Drupal.deprecationError = function (_ref) { 173 var message = _ref.message; 174 if (drupalSettings.suppressDeprecationErrors === false && typeof console !== 'undefined' && console.warn) { 175 console.warn("[Deprecation] ".concat(message)); 176 } 177 }; 178 Drupal.deprecatedProperty = function (_ref2) { 179 var target = _ref2.target, 180 deprecatedProperty = _ref2.deprecatedProperty, 181 message = _ref2.message; 182 if (!Proxy || !Reflect) { 183 return target; 184 } 185 return new Proxy(target, { 186 get: function get(target, key) { 187 if (key === deprecatedProperty) { 188 Drupal.deprecationError({ 189 message: message 190 }); 191 } 192 for (var _len = arguments.length, rest = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { 193 rest[_key - 2] = arguments[_key]; 194 } 195 return Reflect.get.apply(Reflect, [target, key].concat(rest)); 196 } 197 }); 198 }; 199 Drupal.theme = function (func) { 200 if (func in Drupal.theme) { 201 var _Drupal$theme; 202 for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { 203 args[_key2 - 1] = arguments[_key2]; 204 }
vendor: 10,940 bytes, lines 205-242
205 return (_Drupal$theme = Drupal.theme)[func].apply(_Drupal$theme, args); 206 } 207 }; 208 Drupal.theme.placeholder = function (str) { 209 return "<em class=\"placeholder\">".concat(Drupal.checkPlain(str), "</em>"); 210 }; 211})(Drupal, window.drupalSettings, window.drupalTranslations, window.console, window.Proxy, window.Reflect);; 212/** 213* DO NOT EDIT THIS FILE. 214* See the following change record for more information, 215* https://www.drupal.org/node/2815083 216* @preserve 217**/ 218if (window.jQuery) { 219 jQuery.noConflict(); 220} 221document.documentElement.className += ' js'; 222(function (Drupal, drupalSettings) { 223 var domReady = function domReady(callback) { 224 var listener = function listener() { 225 callback(); 226 document.removeEventListener('DOMContentLoaded', listener); 227 }; 228 if (document.readyState !== 'loading') { 229 setTimeout(callback, 0); 230 } else { 231 document.addEventListener('DOMContentLoaded', listener); 232 } 233 }; 234 domReady(function () { 235 Drupal.attachBehaviors(document, drupalSettings); 236 }); 237})(Drupal, window.drupalSettings);; 238/*! picturefill - v3.0.2 - 2016-02-12 239 * https://scottjehl.github.io/picturefill/ 240 * Copyright (c) 2016 https://github.com/scottjehl/picturefill/blob/master/Authors.txt; Licensed MIT 241 */ 242!function(a){var b=navigator.userAgent;a.HTMLPictureElement&&/ecko/.test(b)&&b.match(/rv\:(\d+)/)&&RegExp.$1<45&&addEventListener("resize",function(){var b,c=document.createElement("source"),d=function(a){var b,d,e=a.parentNode;"PICTURE"===e.nodeName.toUpperCase()?(b=c.cloneNode(),e.insertBefore(b,e.firstElementChild),setTimeout(function(){e.removeChild(b)})):(!a._pfLastSize||a.offsetWidth>a._pfLastSize)&&(a._pfLastSize=a.offsetWidth,d=a.sizes,a.sizes+=",100vw",setTimeout(function(){a.sizes=d}))},e=function(){var a,b=document.querySelectorAll("picture > img, img[srcset][sizes]");for(a=0;a<b.length;a++)d(b[a])},f=function(){clearTimeout(b),b=setTimeout(e,99)},g=a.matchMedia&&matchMedia("(orientation: landscape)"),h=function(){f(),g&&g.addListener&&g.addListener(f)};return c.srcset="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",/^[c|i]|d$/.test(document.readyState||"")?h():document.addEventListener("DOMContentLoaded",h),f}())}(window),function(a,b,c){"use strict";function d(a){return" "===a||" "===a||"\n"===a||"\f"===a||"\r"===a}function e(b,c){var d=new a.Image;return d.onerror=function(){A[b]=!1,ba()},d.onload=function(){A[b]=1===d.width,ba()},d.src=c,"pending"}function f(){M=!1,P=a.devicePixelRatio,N={},O={},s.DPR=P||1,Q.width=Math.max(a.innerWidth||0,z.clientWidth),Q.height=Math.max(a.innerHeight||0,z.clientHeight),Q.vw=Q.width/100,Q.vh=Q.height/100,r=[Q.height,Q.width,P].join("-"),Q.em=s.getEmValue(),Q.rem=Q.em}function g(a,b,c,d){var e,f,g,h;return"saveData"===B.algorithm?a>2.7?h=c+1:(f=b-c,e=Math.pow(a-.6,1.5),g=f*e,d&&(g+=.1*e),h=a+g):h=c>1?Math.sqrt(a*b):a,h>c}function h(a){var b,c=s.getSet(a),d=!1;"pending"!==c&&(d=r,c&&(b=s.setRes(c),s.applySetCandidate(b,a))),a[s.ns].evaled=d}function i(a,b){return a.res-b.res}function j(a,b,c){var d;return!c&&b&&(c=a[s.ns].sets,c=c&&c[c.length-1]),d=k(b,c),d&&(b=s.makeUrl(b),a[s.ns].curSrc=b,a[s.ns].curCan=d,d.res||aa(d,d.set.sizes)),d}function k(a,b){var c,d,e;if(a&&b)for(e=s.parseSet(b),a=s.makeUrl(a),c=0;c<e.length;c++)if(a===s.makeUrl(e[c].url)){d=e[c];break}return d}function l(a,b){var c,d,e,f,g=a.getElementsByTagName("source");for(c=0,d=g.length;d>c;c++)e=g[c],e[s.ns]=!0,f=e.getAttribute("srcset"),f&&b.push({srcset:f,media:e.getAttribute("media"),type:e.getAttribute("type"),sizes:e.getAttribute("sizes")})}function m(a,b){function c(b){var c,d=b.exec(a.substring(m));return d?(c=d[0],m+=c.length,c):void 0}function e(){var a,c,d,e,f,i,j,k,l,m=!1,o={};for(e=0;e<h.length;e++)f=h[e],i=f[f.length-1],j=f.substring(0,f.length-1),k=parseInt(j,10),l=parseFloat(j),X.test(j)&&"w"===i?((a||c)&&(m=!0),0===k?m=!0:a=k):Y.test(j)&&"x"===i?((a||c||d)&&(m=!0),0>l?m=!0:c=l):X.test(j)&&"h"===i?((d||c)&&(m=!0),0===k?m=!0:d=k):m=!0;m||(o.url=g,a&&(o.w=a),c&&(o.d=c),d&&(o.h=d),d||c||a||(o.d=1),1===o.d&&(b.has1x=!0),o.set=b,n.push(o))}function f(){for(c(T),i="",j="in descriptor";;){if(k=a.charAt(m),"in descriptor"===j)if(d(k))i&&(h.push(i),i="",j="after descriptor");else{if(","===k)return m+=1,i&&h.push(i),void e();if("("===k)i+=k,j="in parens";else{if(""===k)return i&&h.push(i),void e();i+=k}}else if("in parens"===j)if(")"===k)i+=k,j="in descriptor";else{if(""===k)return h.push(i),void e();i+=k}else if("after descriptor"===j)if(d(k));else{if(""===k)return void e();j="in descriptor",m-=1}m+=1}}for(var g,h,i,j,k,l=a.length,m=0,n=[];;){if(c(U),m>=l)return n;g=c(V),h=[],","===g.slice(-1)?(g=g.replace(W,""),e()):f()}}function n(a){function b(a){function b(){f&&(g.push(f),f="")}function c(){g[0]&&(h.push(g),g=[])}for(var e,f="",g=[],h=[],i=0,j=0,k=!1;;){if(e=a.charAt(j),""===e)return b(),c(),h;if(k){if("*"===e&&"/"===a[j+1]){k=!1,j+=2,b();continue}j+=1}else{if(d(e)){if(a.charAt(j-1)&&d(a.charAt(j-1))||!f){j+=1;continue}if(0===i){b(),j+=1;continue}e=" "}else if("("===e)i+=1;else if(")"===e)i-=1;else{if(","===e){b(),c(),j+=1;continue}if("/"===e&&"*"===a.charAt(j+1)){k=!0,j+=2;continue}}f+=e,j+=1}}}function c(a){return k.test(a)&&parseFloat(a)>=0?!0:l.test(a)?!0:"0"===a||"-0"===a||"+0"===a?!0:!1}var e,f,g,h,i,j,k=/^(?:[+-]?[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?(?:ch|cm|em|ex|in|mm|pc|pt|px|rem|vh|vmin|vmax|vw)$/i,l=/^calc\((?:[0-9a-z \.\+\-\*\/\(\)]+)\)$/i;for(f=b(a),g=f.length,e=0;g>e;e++)if(h=f[e],i=h[h.length-1],c(i)){if(j=i,h.pop(),0===h.length)return j;if(h=h.join(" "),s.matchesMedia(h))return j}return"100vw"}b.createElement("picture");var o,p,q,r,s={},t=!1,u=function(){},v=b.createElement("img"),w=v.getAttribute,x=v.setAttribute,y=v.removeAttribute,z=b.documentElement,A={},B={algorithm:""},C="data-pfsrc",D=C+"set",E=navigator.userAgent,F=/rident/.test(E)||/ecko/.test(E)&&E.match(/rv\:(\d+)/)&&RegExp.$1>35,G="currentSrc",H=/\s+\+?\d+(e\d+)?w/,I=/(\([^)]+\))?\s*(.+)/,J=a.picturefillCFG,K="position:absolute;left:0;visibility:hidden;display:block;padding:0;border:none;font-size:1em;width:1em;overflow:hidden;clip:rect(0px, 0px, 0px, 0px)",L="font-size:100%!important;",M=!0,N={},O={},P=a.devicePixelRatio,Q={px:1,"in":96},R=b.createElement("a"),S=!1,T=/^[ \t\n\r\u000c]+/,U=/^[, \t\n\r\u000c]+/,V=/^[^ \t\n\r\u000c]+/,W=/[,]+$/,X=/^\d+$/,Y=/^-?(?:[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/,Z=function(a,b,c,d){a.addEventListener?a.addEventListener(b,c,d||!1):a.attachEvent&&a.attachEvent("on"+b,c)},$=function(a){var b={};return function(c){return c in b||(b[c]=a(c)),b[c]}},_=function(){var a=/^([\d\.]+)(em|vw|px)$/,b=function(){for(var a=arguments,b=0,c=a[0];++b in a;)c=c.replace(a[b],a[++b]);return c},c=$(function(a){return"return "+b((a||"").toLowerCase(),/\band\b/g,"&&",/,/g,"||",/min-([a-z-\s]+):/g,"e.$1>=",/max-([a-z-\s]+):/g,"e.$1<=",/calc([^)]+)/g,"($1)",/(\d+[\.]*[\d]*)([a-z]+)/g,"($1 * e.$2)",/^(?!(e.[a-z]|[0-9\.&=|><\+\-\*\(\)\/])).*/gi,"")+";"});return function(b,d){var e;if(!(b in N))if(N[b]=!1,d&&(e=b.match(a)))N[b]=e[1]*Q[e[2]];else try{N[b]=new Function("e",c(b))(Q)}catch(f){}return N[b]}}(),aa=function(a,b){return a.w?(a.cWidth=s.calcListLength(b||"100vw"),a.res=a.w/a.cWidth):a.res=a.d,a},ba=function(a){if(t){var c,d,e,f=a||{};if(f.elements&&1===f.elements.nodeType&&("IMG"===f.elements.nodeName.toUpperCase()?f.elements=[f.elements]:(f.context=f.elements,f.elements=null)),c=f.elements||s.qsa(f.context||b,f.reevaluate||f.reselect?s.sel:s.selShort),e=c.length){for(s.setupRun(f),S=!0,d=0;e>d;d++)s.fillImg(c[d],f);s.teardownRun(f)}}};o=a.console&&console.warn?function(a){console.warn(a)}:u,G in v||(G="src"),A["image/jpeg"]=!0,A["image/gif"]=!0,A["image/png"]=!0,A["image/svg+xml"]=b.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Image","1.1"),s.ns=("pf"+(new Date).getTime()).substr(0,9),s.supSrcset="srcset"in v,s.supSizes="sizes"in v,s.supPicture=!!a.HTMLPictureElement,s.supSrcset&&s.supPicture&&!s.supSizes&&!function(a){v.srcset="data:,a",a.src="data:,a",s.supSrcset=v.complete===a.complete,s.supPicture=s.supSrcset&&s.supPicture}(b.createElement("img")),s.supSrcset&&!s.supSizes?!function(){var a="data:image/gif;base64,R0lGODlhAgABAPAAAP///wAAACH5BAAAAAAALAAAAAACAAEAAAICBAoAOw==",c="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",d=b.createElement("img"),e=function(){var a=d.width;2===a&&(s.supSizes=!0),q=s.supSrcset&&!s.supSizes,t=!0,setTimeout(ba)};d.onload=e,d.onerror=e,d.setAttribute("sizes","9px"),d.srcset=c+" 1w,"+a+" 9w",d.src=c}():t=!0,s.selShort="picture>img,img[srcset]",s.sel=s.selShort,s.cfg=B,s.DPR=P||1,s.u=Q,s.types=A,s.setSize=u,s.makeUrl=$(function(a){return R.href=a,R.href}),s.qsa=function(a,b){return"querySelector"in a?a.querySelectorAll(b):[]},s.matchesMedia=function(){return a.matchMedia&&(matchMedia("(min-width: 0.1em)")||{}).matches?s.matchesMedia=function(a){return!a||matchMedia(a).matches}:s.matchesMedia=s.mMQ,s.matchesMedia.apply(this,arguments)},s.mMQ=function(a){return a?_(a):!0},s.calcLength=function(a){var b=_(a,!0)||!1;return 0>b&&(b=!1),b},s.supportsType=function(a){return a?A[a]:!0},s.parseSize=$(function(a){var b=(a||"").match(I);return{media:b&&b[1],length:b&&b[2]}}),s.parseSet=function(a){return a.cands||(a.cands=m(a.srcset,a)),a.cands},s.getEmValue=function(){var a;if(!p&&(a=b.body)){var c=b.createElement("div"),d=z.style.cssText,e=a.style.cssText;c.style.cssText=K,z.style.cssText=L,a.style.cssText=L,a.appendChild(c),p=c.offsetWidth,a.removeChild(c),p=parseFloat(p,10),z.style.cssText=d,a.style.cssText=e}return p||16},s.calcListLength=function(a){if(!(a in O)||B.uT){var b=s.calcLength(n(a));O[a]=b?b:Q.width}return O[a]},s.setRes=function(a){var b;if(a){b=s.parseSet(a);for(var c=0,d=b.length;d>c;c++)aa(b[c],a.sizes)}return b},s.setRes.res=aa,s.applySetCandidate=function(a,b){if(a.length){var c,d,e,f,h,k,l,m,n,o=b[s.ns],p=s.DPR;if(k=o.curSrc||b[G],l=o.curCan||j(b,k,a[0].set),l&&l.set===a[0].set&&(n=F&&!b.complete&&l.res-.1>p,n||(l.cached=!0,l.res>=p&&(h=l))),!h)for(a.sort(i),f=a.length,h=a[f-1],d=0;f>d;d++)if(c=a[d],c.res>=p){e=d-1,h=a[e]&&(n||k!==s.makeUrl(c.url))&&g(a[e].res,c.res,p,a[e].cached)?a[e]:c;break}h&&(m=s.makeUrl(h.url),o.curSrc=m,o.curCan=h,m!==k&&s.setSrc(b,h),s.setSize(b))}},s.setSrc=function(a,b){var c;a.src=b.url,"image/svg+xml"===b.set.type&&(c=a.style.width,a.style.width=a.offsetWidth+1+"px",a.offsetWidth+1&&(a.style.width=c))},s.getSet=function(a){var b,c,d,e=!1,f=a[s.ns].sets;for(b=0;b<f.length&&!e;b++)if(c=f[b],c.srcset&&s.matchesMedia(c.media)&&(d=s.supportsType(c.type))){"pending"===d&&(c=d),e=c;break}return e},s.parseSets=function(a,b,d){var e,f,g,h,i=b&&"PICTURE"===b.nodeName.toUpperCase(),j=a[s.ns];(j.src===c||d.src)&&(j.src=w.call(a,"src"),j.src?x.call(a,C,j.src):y.call(a,C)),(j.srcset===c||d.srcset||!s.supSrcset||a.srcset)&&(e=w.call(a,"srcset"),j.srcset=e,h=!0),j.sets=[],i&&(j.pic=!0,l(b,j.sets)),j.srcset?(f={srcset:j.srcset,sizes:w.call(a,"sizes")}
242,j.sets.push(f),g=(q||j.src)&&H.test(j.srcset||""),g||!j.src||k(j.src,f)||f.has1x||(f.srcset+=", "+j.src,f.cands.push({url:j.src,d:1,set:f}))):j.src&&j.sets.push({srcset:j.src,sizes:null}),j.curCan=null,j.curSrc=c,j.supported=!(i||f&&!s.supSrcset||g&&!s.supSizes),h&&s.supSrcset&&!j.supported&&(e?(x.call(a,D,e),a.srcset=""):y.call(a,D)),j.supported&&!j.srcset&&(!j.src&&a.src||a.src!==s.makeUrl(j.src))&&(null===j.src?a.removeAttribute("src"):a.src=j.src),j.parsed=!0},s.fillImg=function(a,b){var c,d=b.reselect||b.reevaluate;a[s.ns]||(a[s.ns]={}),c=a[s.ns],(d||c.evaled!==r)&&((!c.parsed||b.reevaluate)&&s.parseSets(a,a.parentNode,b),c.supported?c.evaled=r:h(a))},s.setupRun=function(){(!S||M||P!==a.devicePixelRatio)&&f()},s.supPicture?(ba=u,s.fillImg=u):!function(){var c,d=a.attachEvent?/d$|^c/:/d$|^c|^i/,e=function(){var a=b.readyState||"";f=setTimeout(e,"loading"===a?200:999),b.body&&(s.fillImgs(),c=c||d.test(a),c&&clearTimeout(f))},f=setTimeout(e,b.body?9:99),g=function(a,b){var c,d,e=function(){var f=new Date-d;b>f?c=setTimeout(e,b-f):(c=null,a())};return function(){d=new Date,c||(c=setTimeout(e,b))}},h=z.clientHeight,i=function(){M=Math.max(a.innerWidth||0,z.clientWidth)!==Q.width||z.clientHeight!==h,h=z.clientHeight,M&&s.fillImgs()};Z(a,"resize",g(i,99)),Z(b,"readystatechange",e)}(),s.picturefill=ba,s.fillImgs=ba,s.teardownRun=u,ba._=s,a.picturefillCFG={pf:s,push:function(a){var b=a.shift();"function"==typeof s[b]?s[b].apply(s,a):(B[b]=a[0],S&&s.fillImgs({reselect:!0}))}};for(;J&&J.length;)a.picturefillCFG.push(J.shift());a.picturefill=ba,"object"==typeof module&&"object"==typeof module.exports?module.exports=ba:"function"==typeof define&&define.amd&&define("picturefill",function(){return ba}),s.supPicture||(A["image/webp"]=e("image/webp","data:image/webp;base64,UklGRkoAAABXRUJQVlA4WAoAAAAQAAAAAAAAAAAAQUxQSAwAAAABBxAR/Q9ERP8DAABWUDggGAAAADABAJ0BKgEAAQADADQlpAADcAD++/1QAA=="))}(window,document);; 243/** 244 * lightgallery | 2.5.0-beta.2 | March 6th 2022 245 * http://www.lightgalleryjs.com/ 246 * Copyright (c) 2020 Sachin Neravath; 247 * @license GPLv3 248 */ 249 250!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).lightGallery=e()}(this,(function(){"use strict";var t=function(){return(t=Object.assign||function(t){for(var e,i=1,s=arguments.length;i<s;i++)for(var n in e=arguments[i])Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}).apply(this,arguments)};var e="lgAfterAppendSlide",i="lgInit",s="lgHasVideo",n="lgContainerResize",o="lgUpdateSlides",r="lgAfterAppendSubHtml",l="lgBeforeOpen",a="lgAfterOpen",g="lgSlideItemLoad",d="lgBeforeSlide",h="lgAfterSlide",u="lgPosterClick",c="lgDragStart",m="lgDragMove",p="lgDragEnd",f="lgBeforeNextSlide",v="lgBeforePrevSlide",y="lgBeforeClose",b="lgAfterClose",I={mode:"lg-slide",easing:"ease",speed:400,licenseKey:"0000-0000-000-0000",height:"100%",width:"100%",addClass:"",startClass:"lg-start-zoom",backdropDuration:300,container:"",startAnimationDuration:400,zoomFromOrigin:!0,hideBarsDelay:0,showBarsAfter:1e4,slideDelay:0,supportLegacyBrowser:!0,allowMediaOverlap:!1,videoMaxSize:"1280-720",loadYouTubePoster:!0,defaultCaptionHeight:0,ariaLabelledby:"",ariaDescribedby:"",closable:!0,swipeToClose:!0,closeOnTap:!0,showCloseIcon:!0,showMaximizeIcon:!1,loop:!0,escKey:!0,keyPress:!0,controls:!0,slideEndAnimation:!0,hideControlOnEnd:!1,mousewheel:!1,getCaptionFromTitleOrAlt:!0,appendSubHtmlTo:".lg-sub-html",subHtmlSelectorRelative:!1,preload:2,numberOfSlideItemsInDom:10,selector:"",selectWithin:"",nextHtml:"",prevHtml:"",index:0,iframeWidth:"100%",iframeHeight:"100%",iframeMaxWidth:"100%",iframeMaxHeight:"100%",download:!0,counter:!0,appendCounterTo:".lg-toolbar",swipeThreshold:50,enableSwipe:!0,enableDrag:!0,dynamic:!1,dynamicEl:[],extraProps:[],exThumbImage:"",isMobile:void 0,mobileSettings:{controls:!1,showCloseIcon:!1,download:!1},plugins:[],strings:{closeGallery:"Close gallery",toggleMaximize:"Toggle maximize",previousSlide:"Previous slide",nextSlide:"Next slide",download:"Download",playVideo:"Play video"}};var C=function(){function t(t){return this.cssVenderPrefixes=["TransitionDuration","TransitionTimingFunction","Transform","Transition"],this.selector=this._getSelector(t),this.firstElement=this._getFirstEl(),this}return t.generateUUID=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(t){var e=16*Math.random()|0;return("x"==t?e:3&e|8).toString(16)}))},t.prototype._getSelector=function(t,e){return void 0===e&&(e=document),"string"!=typeof t?t:(e=e||document,"#"===t.substring(0,1)?e.querySelector(t):e.querySelectorAll(t))},t.prototype._each=function(t){return this.selector?(void 0!==this.selector.length?[].forEach.call(this.selector,t):t(this.selector,0),this):this}
vendor: 7,762 bytes, line 250
250,t.prototype._setCssVendorPrefix=function(t,e,i){var s=e.replace(/-([a-z])/gi,(function(t,e){return e.toUpperCase()}));-1!==this.cssVenderPrefixes.indexOf(s)?(t.style[s.charAt(0).toLowerCase()+s.slice(1)]=i,t.style["webkit"+s]=i,t.style["moz"+s]=i,t.style["ms"+s]=i,t.style["o"+s]=i):t.style[s]=i},t.prototype._getFirstEl=function(){return this.selector&&void 0!==this.selector.length?this.selector[0]:this.selector},t.prototype.isEventMatched=function(t,e){var i=e.split(".");return t.split(".").filter((function(t){return t})).every((function(t){return-1!==i.indexOf(t)}))},t.prototype.attr=function(t,e){return void 0===e?this.firstElement?this.firstElement.getAttribute(t):"":(this._each((function(i){i.setAttribute(t,e)})),this)},t.prototype.find=function(t){return x(this._getSelector(t,this.selector))},t.prototype.first=function(){return this.selector&&void 0!==this.selector.length?x(this.selector[0]):x(this.selector)},t.prototype.eq=function(t){return x(this.selector[t])},t.prototype.parent=function(){return x(this.selector.parentElement)},t.prototype.get=function(){return this._getFirstEl()},t.prototype.removeAttr=function(t){var e=t.split(" ");return this._each((function(t){e.forEach((function(e){return t.removeAttribute(e)}))})),this},t.prototype.wrap=function(t){if(!this.firstElement)return this;var e=document.createElement("div");return e.className=t,this.firstElement.parentNode.insertBefore(e,this.firstElement),this.firstElement.parentNode.removeChild(this.firstElement),e.appendChild(this.firstElement),this},t.prototype.addClass=function(t){return void 0===t&&(t=""),this._each((function(e){t.split(" ").forEach((function(t){t&&e.classList.add(t)}))})),this},t.prototype.removeClass=function(t){return this._each((function(e){t.split(" ").forEach((function(t){t&&e.classList.remove(t)}))})),this},t.prototype.hasClass=function(t){return!!this.firstElement&&this.firstElement.classList.contains(t)},t.prototype.hasAttribute=function(t){return!!this.firstElement&&this.firstElement.hasAttribute(t)},t.prototype.toggleClass=function(t){return this.firstElement?(this.hasClass(t)?this.removeClass(t):this.addClass(t),this):this},t.prototype.css=function(t,e){var i=this;return this._each((function(s){i._setCssVendorPrefix(s,t,e)})),this},t.prototype.on=function(e,i){var s=this;return this.selector?(e.split(" ").forEach((function(e){Array.isArray(t.eventListeners[e])||(t.eventListeners[e]=[]),t.eventListeners[e].push(i),s.selector.addEventListener(e.split(".")[0],i)})),this):this},t.prototype.once=function(t,e){var i=this;return this.on(t,(function(){i.off(t),e(t)})),this},t.prototype.off=function(e){var i=this;return this.selector?(Object.keys(t.eventListeners).forEach((function(s){i.isEventMatched(e,s)&&(t.eventListeners[s].forEach((function(t){i.selector.removeEventListener(s.split(".")[0],t)})),t.eventListeners[s]=[])})),this):this},t.prototype.trigger=function(t,e){if(!this.firstElement)return this;var i=new CustomEvent(t.split(".")[0],{detail:e||null});return this.firstElement.dispatchEvent(i),this},t.prototype.load=function(t){var e=this;return fetch(t).then((function(t){return t.text()})).then((function(t){e.selector.innerHTML=t})),this},t.prototype.html=function(t){return void 0===t?this.firstElement?this.firstElement.innerHTML:"":(this._each((function(e){e.innerHTML=t})),this)},t.prototype.append=function(t){return this._each((function(e){"string"==typeof t?e.insertAdjacentHTML("beforeend",t):e.appendChild(t)})),this},t.prototype.prepend=function(t){return this._each((function(e){e.insertAdjacentHTML("afterbegin",t)})),this},t.prototype.remove=function(){return this._each((function(t){t.parentNode.removeChild(t)})),this},t.prototype.empty=function(){return this._each((function(t){t.innerHTML=""})),this},t.prototype.scrollTop=function(t){return void 0!==t?(document.body.scrollTop=t,document.documentElement.scrollTop=t,this):window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0},t.prototype.scrollLeft=function(t){return void 0!==t?(document.body.scrollLeft=t,document.documentElement.scrollLeft=t,this):window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0},t.prototype.offset=function(){if(!this.firstElement)return{left:0,top:0};var t=this.firstElement.getBoundingClientRect(),e=x("body").style().marginLeft;return{left:t.left-parseFloat(e)+this.scrollLeft(),top:t.top+this.scrollTop()}},t.prototype.style=function(){return this.firstElement?this.firstElement.currentStyle||window.getComputedStyle(this.firstElement):{}},t.prototype.width=function(){var t=this.style();return this.firstElement.clientWidth-parseFloat(t.paddingLeft)-parseFloat(t.paddingRight)},t.prototype.height=function(){var t=this.style();return this.firstElement.clientHeight-parseFloat(t.paddingTop)-parseFloat(t.paddingBottom)},t.eventListeners={},t}();function x(t){return function(){if("function"==typeof window.CustomEvent)return!1;window.CustomEvent=function(t,e){e=e||{bubbles:!1,cancelable:!1,detail:null};var i=document.createEvent("CustomEvent");return i.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),i}}(),Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),new C(t)}var w=["src","sources","subHtml","subHtmlUrl","html","video","poster","slideName","responsive","srcset","sizes","iframe","downloadUrl","download","width","facebookShareUrl","tweetText","iframeTitle","twitterShareUrl","pinterestShareUrl","pinterestText","fbHtml","disqusIdentifier","disqusUrl"];function S(t){return"href"===t?"src":t=(t=(t=t.replace("data-","")).charAt(0).toLowerCase()+t.slice(1)).replace(/-([a-z])/g,(function(t){return t[1].toUpperCase()}))}var T=function(t,e,i,s){void 0===i&&(i=0);var n=x(t).attr("data-lg-size")||s;if(n){var o=n.split(",");if(o[1])for(var r=window.innerWidth,l=0;l<o.length;l++){var a=o[l];if(parseInt(a.split("-")[2],10)>r){n=a;break}l===o.length-1&&(n=a)}var g=n.split("-"),d=parseInt(g[0],10),h=parseInt(g[1],10),u=e.width(),c=e.height()-i,m=Math.min(u,d),p=Math.min(c,h),f=Math.min(m/d,p/h);return{width:d*f,height:h*f}}},E=function(t,e,i,s,n){if(n){var o=x(t).find("img").first();if(o.get()){var r=e.get().getBoundingClientRect(),l=r.width,a=e.height()-(i+s),g=o.width(),d=o.height(),h=o.style(),u=(l-g)/2-o.offset().left+(parseFloat(h.paddingLeft)||0)+(parseFloat(h.borderLeft)||0)+x(window).scrollLeft()+r.left,c=(a-d)/2-o.offset().top+(parseFloat(h.paddingTop)||0)+(parseFloat(h.borderTop)||0)+x(window).scrollTop()+i;return"translate3d("+(u*=-1)+"px, "+(c*=-1)+"px, 0) scale3d("+g/n.width+", "+d/n.height+", 1)"}}},O=function(t,e,i,s,n,o){return'<div class="lg-video-cont lg-has-iframe" style="width:'+t+"; max-width:"+i+"; height: "+e+"; max-height:"+s+'">\n <iframe class="lg-object" frameborder="0" '+(o?'title="'+o+'"':"")+' src="'+n+'" allowfullscreen="true"></iframe>\n </div>'},L=function(t,e,i,s,n,o){var r="<img "+i+" "+(s?'srcset="'+s+'"':"")+" "+(n?'sizes="'+n+'"':"")+' class="lg-object lg-image" data-index="'+t+'" src="'+e+'" />',l="";o&&(l=("string"==typeof o?JSON.parse(o):o).map((function(t){var e="";return Object.keys(t).forEach((function(i){e+=" "+i+'="'+t[i]+'"'})),"<source "+e+"></source>"})));return""+l+r},D=function(t){for(var e=[],i=[],s="",n=0;n<t.length;n++){var o=t[n].split(" ");""===o[0]&&o.splice(0,1),i.push(o[0]),e.push(o[1])}for(var r=window.innerWidth,l=0;l<e.length;l++)if(parseInt(e[l],10)>r){s=i[l];break}return s},z=function(t){return!!t&&(!!t.complete&&0!==t.naturalWidth)},M=function(t,e,i,s,n){return'<div class="lg-video-cont '+(n&&n.youtube?"lg-has-youtube":n&&n.vimeo?"lg-has-vimeo":"lg-has-html5")+'" style="'+i+'">\n <div class="lg-video-play-button">
250\n <svg\n viewBox="0 0 20 20"\n preserveAspectRatio="xMidYMid"\n focusable="false"\n aria-labelledby="'+s+'"\n role="img"\n class="lg-video-play-icon"\n >\n <title>'+s+'</title>\n <polygon class="lg-video-play-icon-inner" points="1,0 20,10 1,20"></polygon>\n </svg>\n <svg class="lg-video-play-icon-bg" viewBox="0 0 50 50" focusable="false">\n <circle cx="50%" cy="50%" r="20"></circle></svg>\n <svg class="lg-video-play-icon-circle" viewBox="0 0 50 50" focusable="false">\n <circle cx="50%" cy="50%" r="20"></circle>\n </svg>\n </div>\n '+(e||"")+'\n <img class="lg-object lg-video-poster" src="'+t+'" />\n </div>'},G=function(t,e,i,s){var n=[],o=function(){for(var t=0,e=0,i=arguments.length;e<i;e++)t+=arguments[e].length;var s=Array(t),n=0;for(e=0;e<i;e++)for(var o=arguments[e],r=0,l=o.length;r<l;r++,n++)s[n]=o[r];return s}(w,e);return[].forEach.call(t,(function(t){for(var e={},r=0;r<t.attributes.length;r++){var l=t.attributes[r];if(l.specified){var a=S(l.name),g="";o.indexOf(a)>-1&&(g=a),g&&(e[g]=l.value)}}var d=x(t),h=d.find("img").first().attr("alt"),u=d.attr("title"),c=s?d.attr(s):d.find("img").first().attr("src");e.thumb=c,i&&!e.subHtml&&(e.subHtml=u||h||""),e.alt=h||u||"",n.push(e)})),n},k=function(){return/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)},A=function(t,e,i){if(!t)return e?{html5:!0}:void console.error("lightGallery :- data-src is not provided on slide item "+(i+1)+". Please make sure the selector property is properly configured. More info - https://www.lightgalleryjs.com/demos/html-markup/");var s=t.match(/\/\/(?:www\.)?youtu(?:\.be|be\.com|be-nocookie\.com)\/(?:watch\?v=|embed\/)?([a-z0-9\-\_\%]+)([\&|?][\S]*)*/i),n=t.match(/\/\/(?:www\.)?(?:player\.)?vimeo.com\/(?:video\/)?([0-9a-z\-_]+)(.*)?/i),o=t.match(/https?:\/\/(.+)?(wistia\.com|wi\.st)\/(medias|embed)\/([0-9a-z\-_]+)(.*)/);return s?{youtube:s}:n?{vimeo:n}:o?{wistia:o}:void 0},B=0,P=function(){function w(t,e){if(this.lgOpened=!1,this.index=0,this.plugins=[],this.lGalleryOn=!1,this.lgBusy=!1,this.currentItemsInDom=[],this.prevScrollTop=0,this.isDummyImageRemoved=!1,this.dragOrSwipeEnabled=!1,this.mediaContainerPosition={top:0,bottom:0},!t)return this;if(B++,this.lgId=B,this.el=t,this.LGel=x(t),this.generateSettings(e),this.buildModules(),this.settings.dynamic&&void 0!==this.settings.dynamicEl&&!Array.isArray(this.settings.dynamicEl))throw"When using dynamic mode, you must also define dynamicEl as an Array.";return this.galleryItems=this.getItems(),this.normalizeSettings(),this.init(),this.validateLicense(),this}return w.prototype.generateSettings=function(e){if(this.settings=t(t({},I),e),this.settings.isMobile&&"function"==typeof this.settings.isMobile?this.settings.isMobile():k()){var i=t(t({},this.settings.mobileSettings),this.settings.mobileSettings);this.settings=t(t({},this.settings),i)}},w.prototype.normalizeSettings=function(){this.settings.slideEndAnimation&&(this.settings.hideControlOnEnd=!1),this.settings.closable||(this.settings.swipeToClose=!1),this.zoomFromOrigin=this.settings.zoomFromOrigin,this.settings.dynamic&&(this.zoomFromOrigin=!1),this.settings.container||(this.settings.container=document.body),this.settings.preload=Math.min(this.settings.preload,this.galleryItems.length)},w.prototype.init=function(){var t=this;this.addSlideVideoInfo(this.galleryItems),this.buildStructure(),this.LGel.trigger(i,{instance:this}),this.settings.keyPress&&this.keyPress(),setTimeout((function(){t.enableDrag(),t.enableSwipe(),t.triggerPosterClick()}),50),this.arrow(),this.settings.mousewheel&&this.mousewheel(),this.settings.dynamic||this.openGalleryOnItemClick()},w.prototype.openGalleryOnItemClick=function(){for(var t=this,e=function(e){var s=i.items[e],n=x(s),o=C.generateUUID();n.attr("data-lg-id",o).on("click.lgcustom-item-"+o,(function(i){i.preventDefault();var n=t.settings.index||e;t.openGallery(n,s)}))},i=this,s=0;s<this.items.length;s++)e(s)},w.prototype.buildModules=function(){var t=this;this.settings.plugins.forEach((function(e){t.plugins.push(new e(t,x))}))},w.prototype.validateLicense=function(){this.settings.licenseKey?"0000-0000-000-0000"===this.settings.licenseKey&&console.warn("lightGallery: "+this.settings.licenseKey+" license key is not val
250id for production use"):console.error("Please provide a valid license key")},w.prototype.getSlideItem=function(t){return x(this.getSlideItemId(t))},w.prototype.getSlideItemId=function(t){return"#lg-item-"+this.lgId+"-"+t},w.prototype.getIdName=function(t){return t+"-"+this.lgId},w.prototype.getElementById=function(t){return x("#"+this.getIdName(t))},w.prototype.manageSingleSlideClassName=function(){this.galleryItems.length<2?this.outer.addClass("lg-single-item"):this.outer.removeClass("lg-single-item")},w.prototype.buildStructure=function(){var t=this;if(!(this.$container&&this.$container.get())){var e="",i="";this.settings.controls&&(e='<button type="button" id="'+this.getIdName("lg-prev")+'" aria-label="'+this.settings.strings.previousSlide+'" class="lg-prev lg-icon"> '+this.settings.prevHtml+' </button>\n <button type="button" id="'+this.getIdName("lg-next")+'" aria-label="'+this.settings.strings.nextSlide+'" class="lg-next lg-icon"> '+this.settings.nextHtml+" </button>"),".lg-item"!==this.settings.appendSubHtmlTo&&(i='<div class="lg-sub-html" role="status" aria-live="polite"></div>');var s="";this.settings.allowMediaOverlap&&(s+="lg-media-overlap ");var n=this.settings.ariaLabelledby?'aria-labelledby="'+this.settings.ariaLabelledby+'"':"",o=this.settings.ariaDescribedby?'aria-describedby="'+this.settings.ariaDescribedby+'"':"",r="lg-container "+this.settings.addClass+" "+(document.body!==this.settings.container?"lg-inline":""),l=this.settings.closable&&this.settings.showCloseIcon?'<button type="button" aria-label="'+this.settings.strings.closeGallery+'" id="'+this.getIdName("lg-close")+'" class="lg-close lg-icon"></button>':"",a=this.settings.showMaximizeIcon?'<button type="button" aria-label="'+this.settings.strings.toggleMaximize+'" id="'+this.getIdName("lg-maximize")+'" class="lg-maximize lg-icon"></button>':"",g='\n <div class="'+r+'" id="'+this.getIdName("lg-container")+'" tabindex="-1" aria-modal="true" '+n+" "+o+' role="dialog"\n >\n <div id="'+this.getIdName("lg-backdrop")+'" class="lg-backdrop"></div>\n\n <div id="'+this.getIdName("lg-outer")+'" class="lg-outer lg-use-css3 lg-css3 lg-hide-items '+s+' ">\n\n <div id="'+this.getIdName("lg-content")+'" class="lg-content">\n <div id="'+this.getIdName("lg-inner")+'" class="lg-inner">\n </div>\n '+e+'\n </div>\n <div id="'+this.getIdName("lg-toolbar")+'" class="lg-toolbar lg-group">\n '+a+"\n "+l+"\n </div>\n "+(".lg-outer"===this.settings.appendSubHtmlTo?i:"")+'\n <div id="'+this.getIdName("lg-components")+'" class="lg-components">\n '+(".lg-sub-html"===this.settings.appendSubHtmlTo?i:"")+"\n </div>\n </div>\n </div>\n ";x(this.settings.container).append(g),document.body!==this.settings.container&&x(this.settings.container).css("position","relative"),this.outer=this.getElementById("lg-outer"),this.$lgComponents=this.getElementById("lg-components"),this.$backdrop=this.getElementById("lg-backdrop"),this.$container=this.getElementById("lg-container"),this.$inner=this.getElementById("lg-inner"),this.$content=this.getElementById("lg-content"),this.$toolbar=this.getElementById("lg-toolbar"),this.$backdrop.css("transition-duration",this.settings.backdropDuration+"ms");var d=this.settings.mode+" ";this.manageSingleSlideClassName(),this.settings.enableDrag&&(d+="lg-grab "),this.outer.addClass(d),this.$inner.css("transition-timing-function",this.settings.easing),this.$inner.css("transition-duration",this.settings.speed+"ms"),this.settings.download&&this.$toolbar.append('<a id="'+this.getIdName("lg-download")+'" target="_blank" rel="noopener" aria-label="'+this.settings.strings.download+'" download class="lg-download lg-icon"></a>'),this.counter(),x(window).on("resize.lg.global"+this.lgId+" orientationchange.lg.global"+this.lgId,(function(){t.refreshOnResize()})),this.hideBars(),this.manageCloseGallery(),this.toggleMaximize(),this.initModules()}},w.prototype.refreshOnResize=function(){if(this.lgOpened){var t=this.galleryItems[this.index].__slideVideoInfo;this.mediaContainerPosition=this.getMediaContainerPosition();var e=this.mediaContainerPosition,i=e.top,s=e.bottom;if(this.currentImageSize=T(this.items[this.index],this.outer,i+s,t&&this.settings.videoMaxSize),t&&this.resizeVideoSlide(this.index,this.currentImageSize),this.zoomFromOrigin&&!this.isDummyImageRemoved){var o=this.getDummyImgStyles(this.currentImageSize);this.outer.find(".lg-current .lg-dummy-img").first().attr("style",o)}this.LGel.trigger(n)}},w.prototype.resizeVideoSlide=function(t,e){var i=this.getVideoContStyle(e);
vendor: 4,359 bytes, line 250
250this.getSlideItem(t).find(".lg-video-cont").attr("style",i)},w.prototype.updateSlides=function(t,e){if(this.index>t.length-1&&(this.index=t.length-1),1===t.length&&(this.index=0),t.length){var i=this.galleryItems[e].src;this.galleryItems=t,this.updateControls(),this.$inner.empty(),this.currentItemsInDom=[];var s=0;this.galleryItems.some((function(t,e){return t.src===i&&(s=e,!0)})),this.currentItemsInDom=this.organizeSlideItems(s,-1),this.loadContent(s,!0),this.getSlideItem(s).addClass("lg-current"),this.index=s,this.updateCurrentCounter(s),this.LGel.trigger(o)}else this.closeGallery()},w.prototype.getItems=function(){if(this.items=[],this.settings.dynamic)return this.settings.dynamicEl||[];if("this"===this.settings.selector)this.items.push(this.el);else if(this.settings.selector)if("string"==typeof this.settings.selector)if(this.settings.selectWithin){var t=x(this.settings.selectWithin);this.items=t.find(this.settings.selector).get()}else this.items=this.el.querySelectorAll(this.settings.selector);else this.items=this.settings.selector;else this.items=this.el.children;return G(this.items,this.settings.extraProps,this.settings.getCaptionFromTitleOrAlt,this.settings.exThumbImage)},w.prototype.openGallery=function(t,e){var i=this;if(void 0===t&&(t=this.settings.index),!this.lgOpened){this.lgOpened=!0,this.outer.get().focus(),this.outer.removeClass("lg-hide-items"),this.$container.addClass("lg-show");var s=this.getItemsToBeInsertedToDom(t,t);this.currentItemsInDom=s;var n="";s.forEach((function(t){n=n+'<div id="'+t+'" class="lg-item"></div>'})),this.$inner.append(n),this.addHtml(t);var o="";this.mediaContainerPosition=this.getMediaContainerPosition();var r=this.mediaContainerPosition,g=r.top,d=r.bottom;this.settings.allowMediaOverlap||this.setMediaContainerPosition(g,d);var h=this.galleryItems[t].__slideVideoInfo;this.zoomFromOrigin&&e&&(this.currentImageSize=T(e,this.outer,g+d,h&&this.settings.videoMaxSize),o=E(e,this.outer,g,d,this.currentImageSize)),this.zoomFromOrigin&&o||(this.outer.addClass(this.settings.startClass),this.getSlideItem(t).removeClass("lg-complete"));var u=this.settings.zoomFromOrigin?100:this.settings.backdropDuration;setTimeout((function(){i.outer.addClass("lg-components-open")}),u),this.index=t,this.LGel.trigger(l),this.getSlideItem(t).addClass("lg-current"),this.lGalleryOn=!1,this.prevScrollTop=x(window).scrollTop(),setTimeout((function(){if(i.zoomFromOrigin&&o){var e=i.getSlideItem(t);e.css("transform",o),setTimeout((function(){e.addClass("lg-start-progress lg-start-end-progress").css("transition-duration",i.settings.startAnimationDuration+"ms"),i.outer.addClass("lg-zoom-from-image")})),setTimeout((function(){e.css("transform","translate3d(0, 0, 0)")}),100)}setTimeout((function(){i.$backdrop.addClass("in"),i.$container.addClass("lg-show-in")}),10),i.zoomFromOrigin&&o||setTimeout((function(){i.outer.addClass("lg-visible")}),i.settings.backdropDuration),i.slide(t,!1,!1,!1),i.LGel.trigger(a)})),document.body===this.settings.container&&x("html").addClass("lg-on")}},w.prototype.getMediaContainerPosition=function(){if(this.settings.allowMediaOverlap)return{top:0,bottom:0};var t=this.$toolbar.get().clientHeight||0,e=this.outer.find(".lg-components .lg-sub-html").get(),i=this.settings.defaultCaptionHeight||e&&e.clientHeight||0,s=this.outer.find(".lg-thumb-outer").get();return{top:t,bottom:(s?s.clientHeight:0)+i}},w.prototype.setMediaContainerPosition=function(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this.$content.css("top",t+"px").css("bottom",e+"px")},w.prototype.hideBars=function(){var t=this;setTimeout((function(){t.outer.removeClass("lg-hide-items"),t.settings.hideBarsDelay>0&&(t.outer.on("mousemove.lg click.lg touchstart.lg",(function(){t.outer.removeClass("lg-hide-items"),clearTimeout(t.hideBarTimeout),t.hideBarTimeout=setTimeout((function(){t.outer.addClass("lg-hide-items")}),t.settings.hideBarsDelay)})),t.outer.trigger("mousemove.lg"))}),this.settings.showBarsAfter)},w.prototype.initPictureFill=function(t){if(this.settings.supportLegacyBrowser)try{picturefill({elements:[t.get()]})}catch(t){console.warn("lightGallery :- If you want srcset or picture tag to be supported for older browser please include picturefil javascript library in your document.")}},w.prototype.counter=function(){if(this.settings.counter){var t='<div class="lg-counter" role="status" aria-l
250ive="polite">\n <span id="'+this.getIdName("lg-counter-current")+'" class="lg-counter-current">'+(this.index+1)+' </span> /\n <span id="'+this.getIdName("lg-counter-all")+'" class="lg-counter-all">'+this.galleryItems.length+" </span></div>";this.outer.find(this.settings.appendCounterTo).append(t)}},w.prototype.addHtml=function(t){var e,i;if(this.galleryItems[t].subHtmlUrl?i=this.galleryItems[t].subHtmlUrl:e=this.galleryItems[t].subHtml,!i)if(e){var s=e.substring(0,1);"."!==s&&"#"!==s||(e=this.settings.subHtmlSelectorRelative&&!this.settings.dynamic?x(this.items).eq(t).find(e).first().html():x(e).first().html())}else e="";if(".lg-item"!==this.settings.appendSubHtmlTo)i?this.outer.find(".lg-sub-html").load(i):this.outer.find(".lg-sub-html").html(e);else{var n=x(this.getSlideItemId(t));i?n.load(i):n.append('<div class="lg-sub-html">'+e+"</div>")}null!=e&&(""===e?this.outer.find(this.settings.appendSubHtmlTo).addClass("lg-empty-html"):this.outer.find(this.settings.appendSubHtmlTo).removeClass("lg-empty-html")),this.LGel.trigger(r,{index:t})},w.prototype.preload=function(t){for(var e=1;e<=this.settings.preload&&!(e>=this.galleryItems.length-t);e++)this.loadContent(t+e,!1);for(var i=1;i<=this.settings.preload&&!(t-i<0);i++)this.loadContent(t-i,!1)},w.prototype.getDummyImgStyles=function(t){return t?"width:"+t.width+"px;\n margin-left: -"+t.width/2+"px;\n margin-top: -"+t.height/2+"px;\n height:"+t.height+"px":""},w.prototype.getVideoContStyle=function(t){return t?"width:"+t.width+"px;\n height:"+t.height+"px":""},w.prototype.getDummyImageContent=function(t,e,i){var s;if(this.settings.dynamic||(s=x(this.items).eq(e)),s){var n=void 0;if(!(n=this.settings.exThumbImage?s.attr(this.settings.exThumbImage):s.find("img").first().attr("src")))return"";var o="<img "+i+' style="'+this.getDummyImgStyles(this.currentImageSize)+'" class="lg-dummy-img" src="'+n+'" />';return t.addClass("lg-first-slide"),this.outer.addClass("lg-first-slide-loading"),o}return""},w.prototype.setImgMarkup=function(t,e,i){var s=this.galleryItems[i],n=s.alt,o=s.srcset,r=s.sizes,l=s.sources,a=n?'alt="'+n+'"':"",g='<picture class="lg-img-wrap"> '+(this.isFirstSlideWithZoomAnimation()?this.getDummyImageContent(e,i,a):L(i,t,a,o,r,l))+"</picture>";e.prepend(g)},w.prototype.onSlideObjectLoad=function(t,e,i,s){var n=t.find(".lg-object").first();z(n.get())||e?i():(n.on("load.lg error.lg",(function(){i&&i()})),n.on("error.lg",(function(){s&&s()})))},w.prototype.onLgObjectLoad=function(t,e,i,s,n,o){var r=this;this.onSlideObjectLoad(t,o,(function(){r.triggerSlideItemLoad(t,e,i,s,n)}),(function(){t.addClass("lg-complete lg-complete_"),t.html('<span class="lg-error-msg">Oops... Failed to load content...</span>')}))},w.prototype.triggerSlideItemLoad=function(t,e,i,s,n){var o=this,r=this.galleryItems[e],l=n&&"video"===this.getSlideType(r)&&!r.poster?s:0;setTimeout((function(){t.addClass("lg-complete lg-complete_"),o.LGel.trigger(g,{index:e,delay:i||0,isFirstSlide:n})}),l)},w.prototype.isFirstSlideWithZoomAnimation=function(){return!(this.lGalleryOn||!this.zoomFromOrigin||!this.currentImageSize)},w.prototype.addSlideVideoInfo=function(t){var e=this;t.forEach((function(t,i){t.__slideVideoInfo=A(t.src,!!t.video,i),t.__slideVideoInfo&&e.settings.loadYouTubePoster&&!t.poster&&t.__slideVideoInfo.youtube&&(t.poster="//img.youtube.com/vi/"+t.__slideVideoInfo.youtube[1]+"/maxresdefault.jpg")}))},w.prototype.loadContent=function(t,i){var n=this,o=this.galleryItems[t],r=x(this.getSlideItemId(t)),l=o.poster,a=o.srcset,g=o.sizes,d=o.sources,h=o.src,u=o.video,c=u&&"string"==typeof u?JSON.parse(u):u;if(o.responsive){var m=o.responsive.split(",");h=D(m)||h}var p=o.__slideVideoInfo,f="",v=!!o.iframe,y=!this.lGalleryOn,b=0;if(y&&(b=this.zoomFromOrigin&&this.currentImageSize?this.settings.startAnimationDuration+10:this.settings.backdropDuration+10),!r.hasClass("lg-loaded")){if(p){var I=this.mediaContainerPosition,C=I.top,w=I.bottom,S=T(this.items[t],this.outer,C+w,p&&this.settings.videoMaxSize);f=this.getVideoContStyle(S)}if(v){var E=O(this.settings.iframeWidth,this.settings.iframeHeight,this.settings.iframeMaxWidth,this.settings.iframeMaxHeight,h,o.iframeTitle);r.prepend(E)}else if(l){var z="";y&&this.zoomFromOrigin&&this.currentImageSize&&(z=this.getDummyImageContent(r,t,""));E=M(l,z||"",f,this.settings.strings.playVideo,p);r.prepend(E)}else if(p){E='<div class="lg-video-cont " style="'+f+'"></div>';r.prepend(E)}else if(this.setImgMarkup(h,r,t),a||d){var G=r.find(".lg-object");this.initPictureFill(G)}(l||p)&&this.LGel.trigger(s,{index:t,src:h,html5Video:c,hasPoster:!!l}),this.LGel.trigger(e,{index:t}),this.lGalleryOn&&".lg-item"===this.settings.appendSubHtmlTo&&this.addHtml(t)}var k=0;b&&!x(document.body).hasClass("lg-from-hash")&&(k=b),this.isFirstSlideWithZoomAnimation()&&(setTimeout((function(){r.removeClass("lg-start-end-progress lg-start-progress").removeAttr("style")}),this.settings.startAnimationDuration+100),r.hasClass("lg-loaded")||setTimeout((function(){if("image"===n.get
vendor: 16,525 bytes, lines 250-259
250SlideType(o)&&(r.find(".lg-img-wrap").append(L(t,h,"",a,g,o.sources)),a||d)){var e=r.find(".lg-object");n.initPictureFill(e)}("image"===n.getSlideType(o)||"video"===n.getSlideType(o)&&l)&&(n.onLgObjectLoad(r,t,b,k,!0,!1),n.onSlideObjectLoad(r,!(!p||!p.html5||l),(function(){n.loadContentOnFirstSlideLoad(t,r,k)}),(function(){n.loadContentOnFirstSlideLoad(t,r,k)})))}),this.settings.startAnimationDuration+100)),r.addClass("lg-loaded"),this.isFirstSlideWithZoomAnimation()&&("video"!==this.getSlideType(o)||l)||this.onLgObjectLoad(r,t,b,k,y,!(!p||!p.html5||l)),this.zoomFromOrigin&&this.currentImageSize||!r.hasClass("lg-complete_")||this.lGalleryOn||setTimeout((function(){r.addClass("lg-complete")}),this.settings.backdropDuration),this.lGalleryOn=!0,!0===i&&(r.hasClass("lg-complete_")?this.preload(t):r.find(".lg-object").first().on("load.lg error.lg",(function(){n.preload(t)})))},w.prototype.loadContentOnFirstSlideLoad=function(t,e,i){var s=this;setTimeout((function(){e.find(".lg-dummy-img").remove(),e.removeClass("lg-first-slide"),s.outer.removeClass("lg-first-slide-loading"),s.isDummyImageRemoved=!0,s.preload(t)}),i+300)},w.prototype.getItemsToBeInsertedToDom=function(t,e,i){var s=this;void 0===i&&(i=0);var n=[],o=Math.max(i,3);o=Math.min(o,this.galleryItems.length);var r="lg-item-"+this.lgId+"-"+e;if(this.galleryItems.length<=3)return this.galleryItems.forEach((function(t,e){n.push("lg-item-"+s.lgId+"-"+e)})),n;if(t<(this.galleryItems.length-1)/2){for(var l=t;l>t-o/2&&l>=0;l--)n.push("lg-item-"+this.lgId+"-"+l);var a=n.length;for(l=0;l<o-a;l++)n.push("lg-item-"+this.lgId+"-"+(t+l+1))}else{for(l=t;l<=this.galleryItems.length-1&&l<t+o/2;l++)n.push("lg-item-"+this.lgId+"-"+l);for(a=n.length,l=0;l<o-a;l++)n.push("lg-item-"+this.lgId+"-"+(t-l-1))}return this.settings.loop&&(t===this.galleryItems.length-1?n.push("lg-item-"+this.lgId+"-0"):0===t&&n.push("lg-item-"+this.lgId+"-"+(this.galleryItems.length-1))),-1===n.indexOf(r)&&n.push("lg-item-"+this.lgId+"-"+e),n},w.prototype.organizeSlideItems=function(t,e){var i=this,s=this.getItemsToBeInsertedToDom(t,e,this.settings.numberOfSlideItemsInDom);return s.forEach((function(t){-1===i.currentItemsInDom.indexOf(t)&&i.$inner.append('<div id="'+t+'" class="lg-item"></div>')})),this.currentItemsInDom.forEach((function(t){-1===s.indexOf(t)&&x("#"+t).remove()})),s},w.prototype.getPreviousSlideIndex=function(){var t=0;try{var e=this.outer.find(".lg-current").first().attr("id");t=parseInt(e.split("-")[3])||0}catch(e){t=0}return t},w.prototype.setDownloadValue=function(t){if(this.settings.download){var e=this.galleryItems[t];if(!1===e.downloadUrl||"false"===e.downloadUrl)this.outer.addClass("lg-hide-download");else{var i=this.getElementById("lg-download");this.outer.removeClass("lg-hide-download"),i.attr("href",e.downloadUrl||e.src),e.download&&i.attr("download",e.download)}}},w.prototype.makeSlideAnimation=function(t,e,i){var s=this;this.lGalleryOn&&i.addClass("lg-slide-progress"),setTimeout((function(){s.outer.addClass("lg-no-trans"),s.outer.find(".lg-item").removeClass("lg-prev-slide lg-next-slide"),"prev"===t?(e.addClass("lg-prev-slide"),i.addClass("lg-next-slide")):(e.addClass("lg-next-slide"),i.addClass("lg-prev-slide")),setTimeout((function(){s.outer.find(".lg-item").removeClass("lg-current"),e.addClass("lg-current"),s.outer.removeClass("lg-no-trans")}),50)}),this.lGalleryOn?this.settings.slideDelay:0)},w.prototype.slide=function(t,e,i,s){var n=this,o=this.getPreviousSlideIndex();if(this.currentItemsInDom=this.organizeSlideItems(t,o),!this.lGalleryOn||o!==t){var r=this.galleryItems.length;if(!this.lgBusy){this.settings.counter&&this.updateCurrentCounter(t);var l=this.getSlideItem(t),a=this.getSlideItem(o),g=this.galleryItems[t],u=g.__slideVideoInfo;if(this.outer.attr("data-lg-slide-type",this.getSlideType(g)),this.setDownloadValue(t),u){var c=this.mediaContainerPosition,m=c.top,p=c.bottom,f=T(this.items[t],this.outer,m+p,u&&this.settings.videoMaxSize);this.resizeVideoSlide(t,f)}if(this.LGel.trigger(d,{prevIndex:o,index:t,fromTouch:!!e,fromThumb:!!i}),this.lgBusy=!0,clearTimeout(this.hideBarTimeout),this.arrowDisable(t),s||(t<o?s="prev":t>o&&(s="next")),e){this.outer.find(".lg-item").removeClass("lg-prev-slide lg-current lg-next-slide");var v=void 0,y=void 0;r>2?(v=t-1,y=t+1,(0===t&&o===r-1||t===r-1&&0===o)&&(y=0,v=r-1)):(v=0,y=1),"prev"===s?this.getSlideItem(y).addClass("lg-next-slide"):this.getSlideItem(v).addClass("lg-prev-slide"),l.addClass("lg-current")}else this.makeSlideAnimation(s,l,a);this.lGalleryOn?setTimeout((function(){n.loadContent(t,!0),".lg-item"!==n.settings.appendSubHtmlTo&&n.addHtml(t)}),this.settings.speed+50+(e?0:this.settings.slideDelay)):this.loadContent(t,!0),setTimeout((function(){n.lgBusy=!1,a.removeClass("lg-slide-progress"),n.LGel.trigger(h,{prevIndex:o,index:t,fromTouch:e,fromThumb:i})}),(this.lGalleryOn?this.settings.speed+100:100)+(e?0:this.settings.slideDelay))}this.index=t}},w.prototype.updateCurrentCounter=function(t){this.getElementById("lg-counter-current").html(t+1+"")},w.prototype.updateCounterTotal=function(){this.getElementById("lg-counter-all").html(this.galleryItems.length+"")},w.prototype.getSlideType=function(t){return t.__slideVideoInfo?"video":t.iframe?"iframe":"image"},w.prototype.touchMove=function(t,e,i){var s=e.pageX-t.pageX,n=e.pageY-t.pageY,o=!1;if(this.swipeDirection?o=!0:Math.abs(s)>15?(this.swipeDirection="horizontal",o=!0):Math.abs(n)>15&&(this.swipeDirection="vertical",o=!0),o){var r=this.getSlideItem(this.index);if("horizontal"===this.swipeDirection){null==i||i.preventDefault(),this.outer.addClass("lg-dragging"),this.setTranslate(r,s,0);var l=r.get().offsetWidth,a=15*l/100-Math.abs(10*s/100);this.setTranslate(this.outer.find(".lg-prev-slide").first(),-l+s-a,0),this.setTranslate(this.outer.find(".lg-next-slide").first(),l+s+a,0)}else if("vertical"===this.swipeDirection&&this.settings.swipeToClose){null==i||i.preventDefault(),this.$container.addClass("lg-dragging-vertical");var g=1-Math.abs(n)/window.innerHeight;this.$backdrop.css("opacity",g);var d=1-Math.abs(n)/(2*window.innerWidth);this.setTranslate(r,0,n,d,d),Math.abs(n)>100&&this.outer.addClass("lg-hide-items").removeClass("lg-components-open")}}},w.prototype.touchEnd=function(t,e,i){var s,n=this;"lg-slide"!==this.settings.mode&&this.outer.addClass("lg-slide"),setTimeout((function(){n.$container.removeClass("lg-dragging-vertical"),n.outer.removeClass("lg-dragging lg-hide-items").addClass("lg-components-open");var o=!0;if("horizontal"===n.swipeDirection){s=t.pageX-e.pageX;var r=Math.abs(t.pageX-e.pageX);s<0&&r>n.settings.swipeThreshold?(n.goToNextSlide(!0),o=!1):s>0&&r>n.settings.swipeThreshold&&(n.goToPrevSlide(!0),o=!1)}else if("vertical"===n.swipeDirection){if(s=Math.abs(t.pageY-e.pageY),n.settings.closable&&n.settings.swipeToClose&&s>100)return void n.closeGallery();n.$backdrop.css("opacity",1)}if(n.outer.find(".lg-item").removeAttr("style"),o&&Math.abs(t.pageX-e.pageX)<5){var l=x(i.target);n.isPosterElement(l)&&n.LGel.trigger(u)}n.swipeDirection=void 0})),setTimeout((function(){n.outer.hasClass("lg-dragging")||"lg-slide"===n.settings.mode||n.outer.removeClass("lg-slide")}),this.settings.speed+100)},w.prototype.enableSwipe=function(){var t=this,e={},i={},s=!1,n=!1;this.settings.enableSwipe&&(this.$inner.on("touchstart.lg",(function(i){t.dragOrSwipeEnabled=!0;var s=t.getSlideItem(t.index);!x(i.target).hasClass("lg-item")&&!s.get().contains(i.target)||t.outer.hasClass("lg-zoomed")||t.lgBusy||1!==i.targetTouches.length||(n=!0,t.touchAction="swipe",t.manageSwipeClass(),e={pageX:i.targetTouches[0].pageX,pageY:i.targetTouches[0].pageY})})),this.$inner.on("touchmove.lg",(function(o){n&&"swipe"===t.touchAction&&1===o.targetTouches.length&&(i={pageX:o.targetTouches[0].pageX,pageY:o.targetTouches[0].pageY},t.touchMove(e,i,o),s=!0)})),this.$inner.on("touchend.lg",(function(o){if("swipe"===t.touchAction){if(s)s=!1,t.touchEnd(i,e,o);else if(n){var r=x(o.target);t.isPosterElement(r)&&t.LGel.trigger(u)}t.touchAction=void 0,n=!1}})))},w.prototype.enableDrag=function(){var t=this,e={},i={},s=!1,n=!1;this.settings.enableDrag&&(this.outer.on("mousedown.lg",(function(i){t.dragOrSwipeEnabled=!0;var n=t.getSlideItem(t.index);(x(i.target).hasClass("lg-item")||n.get().contains(i.target))&&(t.outer.hasClass("lg-zoomed")||t.lgBusy||(i.preventDefault(),t.lgBusy||(t.manageSwipeClass(),e={pageX:i.pageX,pageY:i.pageY},s=!0,t.outer.get().scrollLeft+=1,t.outer.get().scrollLeft-=1,t.outer.removeClass("lg-grab").addClass("lg-grabbing"),t.LGel.trigger(c))))})),x(window).on("mousemove.lg.global"+this.lgId,(function(o){s&&t.lgOpened&&(n=!0,i={pageX:o.pageX,pageY:o.pageY},t.touchMove(e,i),t.LGel.trigger(m))})),x(window).on("mouseup.lg.global"+this.lgId,(function(o){if(t.lgOpened){var r=x(o.target);n?(n=!1,t.touchEnd(i,e,o),t.LGel.trigger(p)):t.isPosterElement(r)&&t.LGel.trigger(u),s&&(s=!1,t.outer.removeClass("lg-grabbing").addClass("lg-grab"))}})))},w.prototype.triggerPosterClick=function(){var t=this;this.$inner.on("click.lg",(function(e){!t.dragOrSwipeEnabled&&t.isPosterElement(x(e.target))&&t.LGel.trigger(u)}))},w.prototype.manageSwipeClass=function(){var t=this.index+1,e=this.index-1;this.settings.loop&&this.galleryItems.length>2&&(0===this.index?e=this.galleryItems.length-1:this.index===this.galleryItems.length-1&&(t=0)),this.outer.find(".lg-item").removeClass("lg-next-slide lg-prev-slide"),e>-1&&this.getSlideItem(e).addClass("lg-prev-slide"),this.getSlideItem(t).addClass("lg-next-slide")},w.prototype.goToNextSlide=function(t){var e=this,i=this.settings.loop;t&&this.galleryItems.length<3&&(i=!1),this.lgBusy||(this.index+1<this.galleryItems.length?(this.index++,this.LGel.trigger(f,{index:this.index}),this.slide(this.index,!!t,!1,"next")):i?(this.index=0,this.LGel.trigger(f,{index:this.index}),this.slide(this.index,!!t,!1,"next")):this.settings.slideEndAnimation&&!t&&(this.outer.addClass("lg-right-end"),setTimeout((function(){e.outer.removeClass("lg-right-end")}),400)))},w.prototype.goToPrevSlide=function(t){var e=this,i=this.settings.loop;t&&this.galleryItems.length<3&&(i=!1),this.lgBusy||(this.index>0?(this.index--,this.LGel.trigger(v,{index:this.index,fromTouch:t}),this.slide(this.index,!!t,!1,"prev")):i?(this.index=this.galleryItems.length-1,this.LGel.trigger(v,{index:this.index,fromTouch:t}),this.slide(this.index,!!t,!1,"prev")):this.settings.slideEndAnimation&&!t&&(this.outer.addClass("lg-left-end"),setTimeout((function(){e.outer.removeClass("lg-left-end")}),400)))},w.prototype.keyPress=function(){var t=this;x(window).on("keydown.lg.global"+this.lgId,(function(e){t.lgOpened&&!0===t.settings.escKey&&27===e.keyCode&&(e.preventDefault(),t.settings.allowMediaOverlap&&t.outer.hasClass("lg-can-toggle")&&t.outer.hasClass("lg-components-open")?t.outer.removeClass("lg-components-open"):t.closeGallery()),t.lgOpened&&t.galleryItems.length>1&&(37===e.keyCode&&(e.preventDefault(),t.goToPrevSlide()),39===e.keyCode&&(e.preventDefault(),t.goToNextSlide()))}))},w.prototype.arrow=function(){var t=this;this.getElementById("lg-prev").on("click.lg",(function(){t.goToPrevSlide()})),this.getElementById("lg-next").on("click.lg",(function(){t.goToNextSlide()}))},w.prototype.arrowDisable=function(t){if(!this.settings.loop&&this.settings.hideControlOnEnd){var e=this.getElementById("lg-prev"),i=this.getElementById("lg-next");t+1===this.galleryItems.length?i.attr("disabled","disabled").addClass("disabled"):i.removeAttr("disabled").removeClass("disabled"),0===t?e.attr("disabled","disabled").addClass("disabled"):e.removeAttr("disabled").removeClass("disabled")}},w.prototype.setTranslate=function(t,e,i,s,n){void 0===s&&(s=1),void 0===n&&(n=1),t.css("transform","translate3d("+e+"px, "+i+"px, 0px) scale3d("+s+", "+n+", 1)")},w.prototype.mousewheel=function(){var t=this,e=0;this.outer.on("wheel.lg",(function(i){if(i.deltaY&&!(t.galleryItems.length<2)){i.preventDefault();var s=(new Date).getTime();s-e<1e3||(e=s,i.deltaY>0?t.goToNextSlide():i.deltaY<0&&t.goToPrevSlide())}}))},w.prototype.isSlideElement=function(t){return t.hasClass("lg-outer")||t.hasClass("lg-item")||t.hasClass("lg-img-wrap")},w.prototype.isPosterElement=function(t){var e=this.getSlideItem(this.index).find(".lg-video-play-button").get();return t.hasClass("lg-video-poster")||t.hasClass("lg-video-play-button")||e&&e.contains(t.get())},w.prototype.toggleMaximize=function(){var t=this;this.getElementById("lg-maximize").on("click.lg",(function(){t.$container.toggleClass("lg-inline"),t.refreshOnResize()}))},w.prototype.invalidateItems=function(){for(var t=0;t<this.items.length;t++){var e=x(this.items[t]);e.off("click.lgcustom-item-"+e.attr("data-lg-id"))}},w.prototype.manageCloseGallery=function(){var t=this;if(this.settings.closable){var e=!1;this.getElementById("lg-close").on("click.lg",(function(){t.closeGallery()})),this.settings.closeOnTap&&(this.outer.on("mousedown.lg",(function(i){var s=x(i.target);e=!!t.isSlideElement(s)})),this.outer.on("mousemove.lg",(function(){e=!1})),this.outer.on("mouseup.lg",(function(i){var s=x(i.target);t.isSlideElement(s)&&e&&(t.outer.hasClass("lg-dragging")||t.closeGallery())})))}},w.prototype.closeGallery=function(t){var e=this;if(!this.lgOpened||!this.settings.closable&&!t)return 0;this.LGel.trigger(y),x(window).scrollTop(this.prevScrollTop);var i,s=this.items[this.index];if(this.zoomFromOrigin&&s){var n=this.mediaContainerPosition,o=n.top,r=n.bottom,l=this.galleryItems[this.index],a=l.__slideVideoInfo,g=l.poster,d=T(s,this.outer,o+r,a&&g&&this.settings.videoMaxSize);i=E(s,this.outer,o,r,d)}this.zoomFromOrigin&&i?(this.outer.addClass("lg-closing lg-zoom-from-image"),this.getSlideItem(this.index).addClass("lg-start-end-progress").css("transition-duration",this.settings.startAnimationDuration+"ms").css("transform",i)):(this.outer.addClass("lg-hide-items"),this.outer.removeClass("lg-zoom-from-image")),this.destroyModules(),this.lGalleryOn=!1,this.isDummyImageRemoved=!1,this.zoomFromOrigin=this.settings.zoomFromOrigin,clearTimeout(this.hideBarTimeout),this.hideBarTimeout=!1,x("html").removeClass("lg-on"),this.outer.removeClass("lg-visible lg-components-open"),this.$backdrop.removeClass("in").css("opacity",0);var h=this.zoomFromOrigin&&i?Math.max(this.settings.startAnimationDuration,this.settings.backdropDuration):this.settings.backdropDuration;return this.$container.removeClass("lg-show-in"),setTimeout((function(){e.zoomFromOrigin&&i&&e.outer.removeClass("lg-zoom-from-image"),e.$container.removeClass("lg-show"),e.$backdrop.removeAttr("style").css("transition-duration",e.settings.backdropDuration+"ms"),e.outer.removeClass("lg-closing "+e.settings.startClass),e.getSlideItem(e.index).removeClass("lg-start-end-progress"),e.$inner.empty(),e.lgOpened&&e.LGel.trigger(b,{instance:e}),e.outer.get()&&e.outer.get().blur(),e.lgOpened=!1}),h+100),h+100},w.prototype.initModules=function(){this.plugins.forEach((function(t){try{t.init()}catch(t){console.warn("lightGallery:- make sure lightGallery module is properly initiated")}}))},w.prototype.destroyModules=function(t){this.plugins.forEach((function(e){try{t?e.destroy():e.closeGallery&&e.closeGallery()}catch(t){console.warn("lightGallery:- make sure lightGallery module is properly destroyed")}}))},w.prototype.refresh=function(t){this.settings.dynamic||this.invalidateItems(),this.galleryItems=t||this.getItems(),this.updateControls(),this.openGalleryOnItemClick(),this.LGel.trigger(o)},w.prototype.updateControls=function(){this.addSlideVideoInfo(this.galleryItems),this.updateCounterTotal(),this.manageSingleSlideClassName()},w.prototype.destroy=function(){var t=this,e=this.closeGallery(!0);return setTimeout((function(){t.destroyModules(!0),t.settings.dynamic||t.invalidateItems(),x(window).off(".lg.global"+t.lgId),t.LGel.off(".lg"),t.$container.remove()}),e),e},w}();return function(t,e){return new P(t,e)}})); 251; 252/** 253 * lightgallery | 2.5.0-beta.2 | March 6th 2022 254 * http://www.lightgalleryjs.com/ 255 * Copyright (c) 2020 Sachin Neravath; 256 * @license GPLv3 257 */ 258 259!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).lgThumbnail=e()}(this,(function(){"use strict";var t=function(){return(t=Object.assign||function(t){for(var e,i=1,s=arguments.length;i<s;i++)for(var h in e=arguments[i])Object.prototype.hasOwnProperty.call(e,h)&&(t[h]=e[h]);return t}).apply(this,arguments)},e={thumbnail:!0,animateThumb:!0,currentPagerPosition:"middle",alignThumbnails:"middle",thumbWidth:100,thumbHe
vendor: 6,513 bytes, line 259
259ight:"80px",thumbMargin:5,appendThumbnailsTo:".lg-components",toggleThumb:!1,enableThumbDrag:!0,enableThumbSwipe:!0,thumbnailSwipeThreshold:10,loadYouTubeThumbnail:!0,youTubeThumbSize:1,thumbnailPluginStrings:{toggleThumbnails:"Toggle thumbnails"}},i="lgContainerResize",s="lgUpdateSlides",h="lgBeforeOpen",n="lgBeforeSlide";return function(){function o(t,e){return this.thumbOuterWidth=0,this.thumbTotalWidth=0,this.translateX=0,this.thumbClickable=!1,this.core=t,this.$LG=e,this}return o.prototype.init=function(){this.settings=t(t({},e),this.core.settings),this.thumbOuterWidth=0,this.thumbTotalWidth=this.core.galleryItems.length*(this.settings.thumbWidth+this.settings.thumbMargin),this.translateX=0,this.setAnimateThumbStyles(),this.core.settings.allowMediaOverlap||(this.settings.toggleThumb=!1),this.settings.thumbnail&&(this.build(),this.settings.animateThumb?(this.settings.enableThumbDrag&&this.enableThumbDrag(),this.settings.enableThumbSwipe&&this.enableThumbSwipe(),this.thumbClickable=!1):this.thumbClickable=!0,this.toggleThumbBar(),this.thumbKeyPress())},o.prototype.build=function(){var t=this;this.setThumbMarkup(),this.manageActiveClassOnSlideChange(),this.$lgThumb.first().on("click.lg touchend.lg",(function(e){var i=t.$LG(e.target);i.hasAttribute("data-lg-item-id")&&setTimeout((function(){if(t.thumbClickable&&!t.core.lgBusy){var e=parseInt(i.attr("data-lg-item-id"));t.core.slide(e,!1,!0,!1)}}),50)})),this.core.LGel.on(n+".thumb",(function(e){var i=e.detail.index;t.animateThumb(i)})),this.core.LGel.on(h+".thumb",(function(){t.thumbOuterWidth=t.core.outer.get().offsetWidth})),this.core.LGel.on(s+".thumb",(function(){t.rebuildThumbnails()})),this.core.LGel.on(i+".thumb",(function(){t.core.lgOpened&&setTimeout((function(){t.thumbOuterWidth=t.core.outer.get().offsetWidth,t.animateThumb(t.core.index),t.thumbOuterWidth=t.core.outer.get().offsetWidth}),50)}))},o.prototype.setThumbMarkup=function(){var t="lg-thumb-outer ";this.settings.alignThumbnails&&(t+="lg-thumb-align-"+this.settings.alignThumbnails);var e='<div class="'+t+'">\n <div class="lg-thumb lg-group">\n </div>\n </div>';this.core.outer.addClass("lg-has-thumb"),".lg-components"===this.settings.appendThumbnailsTo?this.core.$lgComponents.append(e):this.core.outer.append(e),this.$thumbOuter=this.core.outer.find(".lg-thumb-outer").first(),this.$lgThumb=this.core.outer.find(".lg-thumb").first(),this.settings.animateThumb&&this.core.outer.find(".lg-thumb").css("transition-duration",this.core.settings.speed+"ms").css("width",this.thumbTotalWidth+"px").css("position","relative"),this.setThumbItemHtml(this.core.galleryItems)},o.prototype.enableThumbDrag=function(){var t=this,e={cords:{startX:0,endX:0},isMoved:!1,newTranslateX:0,startTime:new Date,endTime:new Date,touchMoveTime:0},i=!1;this.$thumbOuter.addClass("lg-grab"),this.core.outer.find(".lg-thumb").first().on("mousedown.lg.thumb",(function(s){t.thumbTotalWidth>t.thumbOuterWidth&&(s.preventDefault(),e.cords.startX=s.pageX,e.startTime=new Date,t.thumbClickable=!1,i=!0,t.core.outer.get().scrollLeft+=1,t.core.outer.get().scrollLeft-=1,t.$thumbOuter.removeClass("lg-grab").addClass("lg-grabbing"))})),this.$LG(window).on("mousemove.lg.thumb.global"+this.core.lgId,(function(s){t.core.lgOpened&&i&&(e.cords.endX=s.pageX,e=t.onThumbTouchMove(e))})),this.$LG(window).on("mouseup.lg.thumb.global"+this.core.lgId,(function(){t.core.lgOpened&&(e.isMoved?e=t.onThumbTouchEnd(e):t.thumbClickable=!0,i&&(i=!1,t.$thumbOuter.removeClass("lg-grabbing").addClass("lg-grab")))}))},o.prototype.enableThumbSwipe=function(){var t=this,e={cords:{startX:0,endX:0},isMoved:!1,newTranslateX:0,startTime:new Date,endTime:new Date,touchMoveTime:0};this.$lgThumb.on("touchstart.lg",(function(i){t.thumbTotalWidth>t.thumbOuterWidth&&(i.preventDefault(),e.cords.startX=i.targetTouches[0].pageX,t.thumbClickable=!1,e.startTime=new Date)})),this.$lgThumb.on("touchmove.lg",(function(i){t.thumbTotalWidth>t.thumbOuterWidth&&(i.preventDefault(),e.cords.endX=i.targetTouches[0].pageX,e=t.onThumbTouchMove(e))})),this.$lgThumb.on("touchend.lg",(function(){e.isMoved?e=t.onThumbTouchEnd(e):t.thumbClickable=!0}))},o.prototype.rebuildThumbnails=function(){var t=this;this.$thumbOuter.addClass("lg-rebuilding-thumbnails"),setTimeout((function(){t.thumbTotalWidth=t.core.galleryItems.length*(t.settings.thumbWidth+t.settings.thumbMargin),t.$lgThumb.css("width",t.thumbTotalWidth+"px"),t.$lgThumb.empty(),t.setThumbItemHtml(t.core.galleryItems),t.animateThumb(t.core.index)}),50),setTimeout((function(){t.$thumbOuter.removeClass("lg-rebuilding-thumbnails")}),200)},o.prototype.setTranslate=function(t){this.$lgThumb.css("transform","translate3d(-"+t+"px, 0px, 0px)")},o.prototype.getPossibleTransformX=function(t){return t>this.thumbTotalWidth-this.thumbOuterWidth&&(t=this.thumbTotalWidth-this.thumbOuterWidth),t<0&&(t=0),t},o.prototype.animateThumb=function(t){if(this.$lgThumb.css("transition-duration",this.core.settings.speed+"ms"),this.settings.animateThumb){var e=0;switch(this.settings.currentPagerPosition){case"left":e=0;break;case"middle":e=this.thumbOuterWidth/2-this.settings.thumbWidth/2;break;case"right":e=this.thumbOuterWidth-this.settings.thumbWidth}this.translateX=(this.settings.thumbWidth+this.settings.thumbMargin)*t-1-e,this.translateX>this.thumbTotalWidth-this.thumbOuterWidth&&(this.translateX=this.thumbTotalWidth-this.thumbOuterWidth),this.translateX<0&&(this.translateX=0),this.setTranslate(this.translateX)}},o.prototype.onThumbTouchMove=function(t){return t.newTranslateX=this.translateX,t.isMoved=!0,t.touchMoveTime=(new Date).valueOf(),t.newTranslateX-=t.cords.endX-t.cords.startX,t.newTranslateX=this.getPossibleTransformX(t.newTranslateX),this.setTranslate(t.newTranslateX),this.$thumbOuter.addClass("lg-dragging"),t},o.prototype.onThumbTouchEnd=function(t){t.isMoved=!1,t.endTime=new Date,this.$thumbOuter.removeClass("lg-dragging");var e=t.endTime.valueOf()-t.startTime.valueOf(),i=t.cords.endX-t.cords.startX,s=Math.abs(i)/e;return s>.15&&t.endTime.valueOf()-t.touchMoveTime<30?((s+=1)>2&&(s+=1),s+=s*(Math.abs(i)/this.thumbOuterWidth),this.$lgThumb.css("transition-duration",Math.min(s-1,2)+"settings"),i*=s,this.translateX=this.getPossibleTransformX(this.translateX-i),this.setTranslate(this.translateX)):this.translateX=t.newTranslateX,Math.abs(t.cords.endX-t.cords.startX)<this.settings.thumbnailSwipeThreshold&&(this.thumbClickable=!0),t},o.prototype.getThumbHtml=function(t,e){var i,s=this.core.galleryItems[e].__slideVideoInfo||{};
259return i=s.youtube&&this.settings.loadYouTubeThumbnail?"//img.youtube.com/vi/"+s.youtube[1]+"/"+this.settings.youTubeThumbSize+".jpg":t,'<div data-lg-item-id="'+e+'" class="lg-thumb-item '+(e===this.core.index?" active":"")+'" \n style="width:'+this.settings.thumbWidth+"px; height: "+this.settings.thumbHeight+";\n margin-right: "+this.settings.thumbMargin+'px;">\n <img data-lg-item-id="'+e+'" src="'+i+'" />\n </div>'},o.prototype.getThumbItemHtml=function(t){for(var e="",i=0;i<t.length;i++)e+=this.getThumbHtml(t[i].thumb,i);return e},o.prototype.setThumbItemHtml=function(t){var e=this.getThumbItemHtml(t);this.$lgThumb.html(e)},o.prototype.setAnimateThumbStyles=function(){this.settings.animateThumb&&this.core.outer.addClass("lg-animate-thumb")},o.prototype.manageActiveClassOnSlideChange=function(){var t=this;this.core.LGel.on(n+".thumb",(function(e){var i=t.core.outer.find(".lg-thumb-item"),s=e.detail.index;i.removeClass("active"),i.eq(s).addClass("active")}))},o.prototype.toggleThumbBar=function(){var t=this;this.settings.toggleThumb&&(this.core.outer.addClass("lg-can-toggle"),this.core.$toolbar.append('<button type="button" aria-label="'+this.settings.thumbnailPluginStrings.toggleThumbnails+'" class="lg-toggle-thumb lg-icon"></button>'),this.core.outer.find(".lg-toggle-thumb").first().on("click.lg",(function(){t.core.outer.toggleClass("lg-components-open")})))},o.prototype.thumbKeyPress=function(){var t=this;this.$LG(window).on("keydown.lg.thumb.global"+this.core.lgId,(function(e){t.core.lgOpened&&t.settings.toggleThumb&&(38===e.keyCode?(e.preventDefault(),t.core.outer.addClass("lg-components-open")):40===e.keyCode&&(e.preventDefault(),t.core.outer.removeClass("lg-components-open")))}))},o.prototype.destroy=function(){this.settings.thumbnail&&(this.$LG(window).off(".lg.thumb.global"+this.core.lgId),this.core.LGel.off(".lg.thumb"),this.core.LGel.off(".thumb"),this.$thumbOuter.remove(),this.core.outer.removeClass("lg-has-thumb"))},o}()})); 260; 261/** 262 * lightgallery | 2.5.0-beta.2 | March 6th 2022 263 * http://www.lightgalleryjs.com/ 264 * Copyright (c) 2020 Sachin Neravath; 265 * @license GPLv3 266 */ 267 268!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).lgZoom=e()}(this,(function(){"use strict";var t=function(){return(t=Object.assign||function(t){for(var e,o=1,i=arguments.length;o<i;o++)for(var s in e=arguments[o])Object.prototype.hasOwnProperty.call(e,s)&&(t[s]=e[s]);return t}).apply(this,arguments)},e={scale:1,zoom:!0,actualSize:!0,showZoomInOutIcons:!1,actualSizeIcons:{zoomIn:"lg-zoom-in",zoomOut:"lg-zoom-out"},enableZoomAfter:300,zoomPluginStrings:{zoomIn:"Zoom in",zoomOut:"Zoom out",viewActualSize:"View actual size"}},o="lgContainerResize",i="lgBeforeOpen",s="lgAfterOpen",a="lgSlideItemLoad",r="lgAfterSlide",n="lgRotateLeft",l="lgRotateRight",g="lgFlipHorizontal",c="lgFlipVertical";return function(){function h(o,i){return this.core=o,this.$LG=i,this.settings=t(t({},e),this.core.settings),this}return h.prototype.buildTemplates=function(){var t=this.settings.showZoomInOutIcons?'<button id="'+this.core.getIdName("lg-zoom-in")+'" type="button" aria-label="'+this.settings.zoomPluginStrings.zoomIn+'" class="lg-zoom-in lg-icon"></button><button id="'+this.core.getIdName("lg-zoom-out")+'" type="button" aria-label="'+this.settings.zoomPluginStrings.zoomIn+'" class="lg-zoom-out lg-icon"></button>':"";this.settings.actualSize&&(t+='<button id="'+this.core.getIdName("lg-actual-size")+'" type="button" aria-label="'+this.settings.zoomPluginStrings.viewActualSize+'" class="'+this.settings.actualSizeIcons.zoomIn+' lg-icon"></button>'),this.core.outer.addClass("lg-use-transition-for-zoom"),this.core.$toolbar.first().append(t)},h.prototype.enableZoom=function(t){var e=this,o=this.settings.enableZoomAfter+t.detail.delay;this.$LG("body").first().hasClass("lg-from-hash")&&t.detail.delay?o=0:this.$LG("body").first().removeClass("lg-from-hash"),this.zoomableTimeout=setTimeout((function(){e.isImageSlide()&&(e.core.getSlideItem(t.detail.index).addClass("lg-zoomable"),t.detail.index===e.core.index&&e.setZoomEssentials())}),o+30)},h.prototype.enableZoomOnSlideItemLoad=function(){this.core.LGel.on(a+".zoom",this.enableZoom.bind(this))},h.prototype.getModifier=function(t,e,o){var i=t;t=Math.abs(t);var s=this.getCurrentTransform(o);if(!s)return 1;var a=1;if("X"===e){var r=Math.sign(parseFloat(s[0]));0===t||180===t?a=1:90===t&&(a=-90===i&&1===r||90===i&&-1===r?-1:1),a*=r}else{var n=Math.sign(parseFloat(s[3]));if(0===t||180===t)a=1;else if(90===t){var l=parseFloat(s[1]),g=parseFloat(s[2]);a=Math.sign(l*g*i*n)}a*=n}return a},h.prototype.getImageSize=function(t,e,o){return 90===Math.abs(e)&&(o="x"===o?"y":"x"),t[{y:"offsetHeight",x:"offsetWidth"}[o]]},h.prototype.getDragCords=function(t,e){return 90===e?{x:t.pageY,y:t.pageX}:{x:t.pageX,y:t.pageY}},h.prototype.getSwipeCords=function(t,e){var o=t.targetTouches[0].pageX,i=t.targetTouches[0].pageY;return 90===e?{x:i,y:o}:{x:o,y:i}},h.prototype.getDragAllowedAxises=function(t,e){e=e||this.scale||1;var o=this.imageYSize*e>this.containerRect.height,i=this.imageXSize*e>this.containerRect.width;return 90===t?{allowX:o,allowY:i}:{allowX:i,allowY:o}},h.prototype.getCurrentTransform=function(t){if(t){var e=window.getComputedStyle(t,null),o=e.getPropertyValue("-webkit-transform")||e.getPropertyValue("-moz-transform")||e.getPropertyValue("-ms-transform")||e.getPropertyValue("-o-transform")||e.getPropertyValue("transform")||"none";return"none"!==o?o.split("(")[1].split(")")[0].split(","):void 0}},h.prototype.getCurrentRotation=function(t){if(!t)return 0;var e=this.getCurrentTransform(t);return e?Math.round(Math.atan2(parseFloat(e[1]),parseFloat(e[0]))*(180/Math.PI)):0},h.prototype.setZoomEssentials=function(){var t=this.core.getSlideItem(this.core.index).find(".lg-image").first(),e=this.core.getSlideItem(this.core.index).find(".lg-img-rotate").first().get();this.rotateValue=this.getCurrentRotation(e),this.imageYSize=this.getImageSize(t.get(),this.rotateValue,"y"),this.imageXSize=this.getImageSize(t.get(),this.rotateValue,"x"),this.containerRect=this.core.outer.get().getBoundingClientRect(),this.modifierX=this.getModifier(this.rotateValue,"X",e),this.modifierY=this.getModifier(this.rotateValue,"Y",e)},h.prototype.zoomImage=function(t){var e,o,i=(this.containerRect.width-this.imageXSize)/2+this.containerRect.left,s=this.core.mediaContainerPosition,a=s.top,r=s.bottom,n=Math.abs(a-r)/2,l=(this.containerRect.height-this.imageYSize-n*this.modifierX)/2+this.scrollTop+this.containerRect.top;1===t&&(this.positionChanged=!1);var g=this.getDragAllowedAxises(Math.abs(this.rotateValue),t),c=g.allowY,h=g.allowX;this.positionChanged&&(e=this.left/(this.scale-1),o=this.top/(this.scale-1),this.pageX=Math.abs(e)+i,this.pageY=Math.abs(o)+l,this.positionChanged=!1);var m=this.getPossibleSwipeDragCords(this.rotateValue,t),u=(t-1)*(i-this.pageX),d=(t-1)*(l-this.pageY);h?this.isBeyondPossibleLeft(u,m.minX)?u=m.minX:this.isBeyondPossibleRight(u,m.maxX)&&(u=m.maxX):t>1&&(u<m.minX?u=m.minX:u>m.maxX&&(u=m.maxX)),c?this.isBeyondPossibleTop(d,m.minY)?d=m.minY:this.isBeyondPossibleBottom(d,m.maxY)&&(d=m.maxY):t>
2681&&(d<m.minY?d=m.minY:d>m.maxY&&(d=m.maxY)),this.setZoomStyles({x:u,y:d,scale:t})},h.prototype.setZoomStyles=function(t){var e=this.core.getSlideItem(this.core.index).find(".lg-image").first(),o=this.core.outer.find(".lg-current .lg-dummy-img").first(),i=e.parent();this.scale=t.scale,e.css("transform","scale3d("+t.scale+", "+t.scale+", 1)"),o.css("transform","scale3d("+t.scale+", "+t.scale+", 1)");var s="translate3d("+t.x+"px, "+t.y+"px, 0)";i.css("transform",s),this.left=t.x,this.top=t.y},h.prototype.setActualSize=function(t,e){var o=this;if(this.isImageSlide()&&!this.core.outer.hasClass("lg-first-slide-loading")){var i=this.getCurrentImageActualSizeScale();this.core.outer.hasClass("lg-zoomed")?this.scale=1:this.scale=this.getScale(i),this.setPageCords(e),this.beginZoom(this.scale),this.zoomImage(this.scale),setTimeout((function(){o.core.outer.removeClass("lg-grabbing").addClass("lg-grab")}),10)}},h.prototype.getNaturalWidth=function(t){var e=this.core.getSlideItem(t).find(".lg-image").first(),o=this.core.galleryItems[t].width;return o?parseFloat(o):e.get().naturalWidth},h.prototype.getActualSizeScale=function(t,e){return t>e?t/e||2:1},h.prototype.getCurrentImageActualSizeScale=function(){var t=this.core.getSlideItem(this.core.index).find(".lg-image").first().get().offsetWidth,e=this.getNaturalWidth(this.core.index)||t;return this.getActualSizeScale(e,t)},h.prototype.getPageCords=function(t){var e={};if(t)e.x=t.pageX||t.targetTouches[0].pageX,e.y=t.pageY||t.targetTouches[0].pageY;else{var o=this.core.outer.get().getBoundingClientRect();e.x=o.width/2+o.left,e.y=o.height/2+this.scrollTop+o.top}return e},h.prototype.setPageCords=function(t){var e=this.getPageCords(t);this.pageX=e.x,this.pageY=e.y},h.prototype.beginZoom=function(t){(this.core.outer.removeClass("lg-zoom-drag-transition lg-zoom-dragging"),t>1)?(this.core.outer.addClass("lg-zoomed"),this.core.getElementById("lg-actual-size").removeClass(this.settings.actualSizeIcons.zoomIn).addClass(this.settings.actualSizeIcons.zoomOut)):this.resetZoom();return t>1},h.prototype.getScale=function(t){var e=this.getCurrentImageActualSizeScale();return t<1?t=1:t>e&&(t=e),t},h.prototype.init=function(){var t=this;if(this.settings.zoom){this.buildTemplates(),this.enableZoomOnSlideItemLoad();var e=null;this.core.outer.on("dblclick.lg",(function(e){t.$LG(e.target).hasClass("lg-image")&&t.setActualSize(t.core.index,e)})),this.core.outer.on("touchstart.lg",(function(o){var i=t.$LG(o.target);1===o.targetTouches.length&&i.hasClass("lg-image")&&(e?(clearTimeout(e),e=null,o.preventDefault(),t.setActualSize(t.core.index,o)):e=setTimeout((function(){e=null}),300))})),this.core.LGel.on(o+".zoom "+l+".zoom "+n+".zoom "+g+".zoom "+c+".zoom",(function(){t.core.lgOpened&&t.isImageSlide()&&(t.setPageCords(),t.setZoomEssentials(),t.zoomImage(t.scale))})),this.$LG(window).on("scroll.lg.zoom.global"+this.core.lgId,(function(){t.core.lgOpened&&(t.scrollTop=t.$LG(window).scrollTop())})),this.core.getElementById("lg-zoom-out").on("click.lg",(function(){t.core.outer.find(".lg-current .lg-image").get()&&(t.scale-=t.settings.scale,t.scale=t.getScale(t.scale),t.beginZoom(t.scale),t.zoomImage(t.scale))})),this.core.getElementById("lg-zoom-in").on("click.lg",(function(){t.zoomIn()})),this.core.getElementById("lg-actual-size").on("click.lg",(function(){t.setActualSize(t.core.index)})),this.core.LGel.on(i+".zoom",(function(){t.core.outer.find(".lg-item").removeClass("lg-zoomable")})),this.core.LGel.on(s+".zoom",(function(){t.scrollTop=t.$LG(window).scrollTop(),t.pageX=t.core.outer.width()/2,t.pageY=t.core.outer.height()/2+t.scrollTop,t.scale=1})),this.core.LGel.on(r+".zoom",(function(e){var o=e.detail.prevIndex;t.scale=1,t.positionChanged=!1,t.resetZoom(o),t.isImageSlide()&&t.setZoomEssentials()})),this.zoomDrag(),this.pinchZoom(),this.zoomSwipe(),this.zoomableTimeout=!1,this.positionChanged=!1}},h.prototype.zoomIn=function(t){this.isImageSlide()&&(t?this.scale=t:this.scale+=this.settings.scale,this.scale=this.getScale(this.scale),this.beginZoom(this.scale),this.zoomImage(this.scale))},h.prototype.resetZoom=function(t){this.core.outer.removeClass("lg-zoomed lg-zoom-drag-transition");var e=this.core.getElementById("lg-actual-size"),o=this.core.getSlideItem(void 0!==t?t:this.core.index);e.removeClass(this.settings.actualSizeIcons.zoomOut).addClass(this.settings.actualSizeIcons.zoomIn),o.find(".lg-img-wrap").first().removeAttr("style"),o.find(".lg-image").first().removeAttr("style"),this.scale=1,this.left=0,this.top=0,this.setPageCords()},h.prototype.getTouchDistance=function(t){return Math.sqrt((t.targetTouches[0].pageX-t.targetTouches[1].pageX)*(t.targetTouches[0].pageX-t.targetTouches[1].pageX)+(t.targetTouches[0].pageY-t.targetTouches[1].pageY)*(t.targetTouches[0].pageY-t.targetTouches[1].pageY))},h.prototype.pinchZoom=function(){var t=this,e=0,o=!1,i=1,s=this.core.getSlideItem(this.core.index);this.core.$inner.on("touchstart.lg",(function(o){s=t.core.getSlideItem(t.core.index),t.isImageSlide()&&(2!==o.targetTouches.length||t.core.outer.hasClass("lg-first-slide-loading")||!t.$LG(o.target).hasClass("lg-item")&&!s.get().contains(o.target)||(i=t.scale||1,t.core.outer.removeClass("lg-zoom-drag-transition lg-zoom-dragging"),t.core.touchAction="pinch",e=t.getTouchDistance(o)))}
268)),this.core.$inner.on("touchmove.lg",(function(a){if(2===a.targetTouches.length&&"pinch"===t.core.touchAction&&(t.$LG(a.target).hasClass("lg-item")||s.get().contains(a.target))){a.preventDefault();var r=t.getTouchDistance(a),n=e-r;!o&&Math.abs(n)>5&&(o=!0),o&&(t.scale=Math.max(1,i+.008*-n),t.zoomImage(t.scale))}})),this.core.$inner.on("touchend.lg",(function(i){"pinch"===t.core.touchAction&&(t.$LG(i.target).hasClass("lg-item")||s.get().contains(i.target))&&(o=!1,e=0,t.scale<=1?t.resetZoom():(t.scale=t.getScale(t.scale),t.zoomImage(t.scale),t.core.outer.addClass("lg-zoomed")),t.core.touchAction=void 0)}))},h.prototype.touchendZoom=function(t,e,o,i,s,a){var r=e.x-t.x,n=e.y-t.y,l=Math.abs(r)/s+1,g=Math.abs(n)/s+1;l>2&&(l+=1),g>2&&(g+=1),r*=l,n*=g;var c=this.core.getSlideItem(this.core.index).find(".lg-img-wrap").first(),h={};h.x=this.left+r*this.modifierX,h.y=this.top+n*this.modifierY;var m=this.getPossibleSwipeDragCords(a);(Math.abs(r)>15||Math.abs(n)>15)&&(i&&(this.isBeyondPossibleTop(h.y,m.minY)?h.y=m.minY:this.isBeyondPossibleBottom(h.y,m.maxY)&&(h.y=m.maxY)),o&&(this.isBeyondPossibleLeft(h.x,m.minX)?h.x=m.minX:this.isBeyondPossibleRight(h.x,m.maxX)&&(h.x=m.maxX)),i?this.top=h.y:h.y=this.top,o?this.left=h.x:h.x=this.left,this.setZoomSwipeStyles(c,h),this.positionChanged=!0)},h.prototype.getZoomSwipeCords=function(t,e,o,i,s){var a={};if(i){if(a.y=this.top+(e.y-t.y)*this.modifierY,this.isBeyondPossibleTop(a.y,s.minY)){var r=s.minY-a.y;a.y=s.minY-r/6}else if(this.isBeyondPossibleBottom(a.y,s.maxY)){var n=a.y-s.maxY;a.y=s.maxY+n/6}}else a.y=this.top;if(o){if(a.x=this.left+(e.x-t.x)*this.modifierX,this.isBeyondPossibleLeft(a.x,s.minX)){var l=s.minX-a.x;a.x=s.minX-l/6}else if(this.isBeyondPossibleRight(a.x,s.maxX)){var g=a.x-s.maxX;a.x=s.maxX+g/6}}else a.x=this.left;return a},h.prototype.isBeyondPossibleLeft=function(t,e){return t>=e},h.prototype.isBeyondPossibleRight=function(t,e){return t<=e},h.prototype.isBeyondPossibleTop=function(t,e){return t>=e},h.prototype.isBeyondPossibleBottom=function(t,e){return t<=e},h.prototype.isImageSlide=function(){var t=this.core.galleryItems[this.core.index];return"image"===this.core.getSlideType(t)},h.prototype.getPossibleSwipeDragCords=function(t,e){var o=e||this.scale||1,i=Math.abs(o),s=this.core.mediaContainerPosition,a=s.top,r=s.bottom,n=Math.abs(a-r)/2,l=(this.imageYSize-this.containerRect.height)/2+n*this.modifierX,g=this.containerRect.height-this.imageYSize*i+l,c=(this.imageXSize-this.containerRect.width)/2,h=this.containerRect.width-this.imageXSize*i+c,m={minY:l,maxY:g,minX:c,maxX:h};return 90===Math.abs(t)&&(m={minY:c,maxY:h,minX:l,maxX:g}),m},h.prototype.setZoomSwipeStyles=function(t,e){t.css("transform","translate3d("+e.x+"px, "+e.y+"px, 0)")},h.prototype.zoomSwipe=function(){var t,e,o=this,i={},s={},a=!1,r=!1,n=!1,l=new Date,g=(new Date,this.core.getSlideItem(this.core.index));this.core.$inner.on("touchstart.lg",(function(s){if(o.isImageSlide()&&(g=o.core.getSlideItem(o.core.index),(o.$LG(s.target).hasClass("lg-item")||g.get().contains(s.target))&&1===s.targetTouches.length&&o.core.outer.hasClass("lg-zoomed"))){s.preventDefault(),l=new Date,o.core.touchAction="zoomSwipe",e=o.core.getSlideItem(o.core.index).find(".lg-img-wrap").first();var a=o.getDragAllowedAxises(Math.abs(o.rotateValue));n=a.allowY,((r=a.allowX)||n)&&(i=o.getSwipeCords(s,Math.abs(o.rotateValue))),t=o.getPossibleSwipeDragCords(o.rotateValue),o.core.outer.addClass("lg-zoom-dragging lg-zoom-drag-transition")}})),this.core.$inner.on("touchmove.lg",(function(l){if(1===l.targetTouches.length&&"zoomSwipe"===o.core.touchAction&&(o.$LG(l.target).hasClass("lg-item")||g.get().contains(l.target))){l.preventDefault(),o.core.touchAction="zoomSwipe",s=o.getSwipeCords(l,Math.abs(o.rotateValue));var c=o.getZoomSwipeCords(i,s,r,n,t);(Math.abs(s.x-i.x)>15||Math.abs(s.y-i.y)>15)&&(a=!0,o.setZoomSwipeStyles(e,c))}})),this.core.$inner.on("touchend.lg",(function(t){if("zoomSwipe"===o.core.touchAction&&(o.$LG(t.target).hasClass("lg-item")||g.get().contains(t.target))){if(o.core.touchAction=void 0,o.core.outer.removeClass("lg-zoom-dragging"),!a)return;a=!1;var e=(new Date).valueOf()-l.valueOf();o.touchendZoom(i,s,r,n,e,o.rotateValue)}}))},h.prototype.zoomDrag=function(){var t,e,o,i,s=this,a={},r={},n=!1,l=!1,g=!1,c=!1;this.core.outer.on("mousedown.lg.zoom",(function(e){if(s.isImageSlide()){var r=s.core.getSlideItem(s.core.index);if(s.$LG(e.target).hasClass("lg-item")||r.get().contains(e.target)){t=new Date,i=s.core.getSlideItem(s.core.index).find(".lg-img-wrap").first();var l=s.getDragAllowedAxises(Math.abs(s.rotateValue));
268c=l.allowY,g=l.allowX,s.core.outer.hasClass("lg-zoomed")&&s.$LG(e.target).hasClass("lg-object")&&(g||c)&&(e.preventDefault(),a=s.getDragCords(e,Math.abs(s.rotateValue)),o=s.getPossibleSwipeDragCords(s.rotateValue),n=!0,s.core.outer.get().scrollLeft+=1,s.core.outer.get().scrollLeft-=1,s.core.outer.removeClass("lg-grab").addClass("lg-grabbing lg-zoom-drag-transition lg-zoom-dragging"))}}})),this.$LG(window).on("mousemove.lg.zoom.global"+this.core.lgId,(function(t){if(n){l=!0,r=s.getDragCords(t,Math.abs(s.rotateValue));var e=s.getZoomSwipeCords(a,r,g,c,o);s.setZoomSwipeStyles(i,e)}})),this.$LG(window).on("mouseup.lg.zoom.global"+this.core.lgId,(function(o){if(n){if(e=new Date,n=!1,s.core.outer.removeClass("lg-zoom-dragging"),l&&(a.x!==r.x||a.y!==r.y)){r=s.getDragCords(o,Math.abs(s.rotateValue));var i=e.valueOf()-t.valueOf();s.touchendZoom(a,r,g,c,i,s.rotateValue)}l=!1}s.core.outer.removeClass("lg-grabbing").addClass("lg-grab")}))},h.prototype.closeGallery=function(){this.resetZoom()},h.prototype.destroy=function(){this.$LG(window).off(".lg.zoom.global"+this.core.lgId),this.core.LGel.off(".lg.zoom"),this.core.LGel.off(".zoom"),clearTimeout(this.zoomableTimeout),this.zoomableTimeout=!1},h}()})); 269; 270/** 271 * lightgallery | 2.7.0 | October 9th 2022 272 * http://www.lightgalleryjs.com/ 273 * Copyright (c) 2020 Sachin Neravath; 274 * @license GPLv3 275 */ 276 277 !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?module.exports=o():"function"==typeof define&&define.amd?define(o):(e="undefined"!=typeof globalThis?globalThis:e||self).lgVideo=o()}(this,(function(){"use strict";var e=function(){return(e=Object.assign||function(e){for(var o,i=1,t=arguments.length;i<t;i++)for(var s in o=arguments[i])Object.prototype.hasOwnProperty.call(o,s)&&(e[s]=o[s]);return e}).apply(this,arguments)},o={autoplayFirstVideo:!0,youTubePlayerParams:!1,vimeoPlayerParams:!1,wistiaPlayerParams:!1,gotoNextSlideOnVideoEnd:!0,autoplayVideoOnSlide:!1,videojs:!1,videojsTheme:"",videojsOptions:{}},i="lgHasVideo",t="lgSlideItemLoad",s="lgBeforeSlide",n="lgAfterSlide",l="lgPosterClick",r=function(e){return Object.keys(e).map((function(o){return encodeURIComponent(o)+"="+encodeURIComponent(e[o])})).join("&")};return function(){function d(i){return this.core=i,this.settings=e(e({},o),this.core.settings),this}return d.prototype.init=function(){var e=this;this.core.LGel.on(i+".video",this.onHasVideo.bind(this)),this.core.LGel.on(l+".video",(function(){var o=e.core.getSlideItem(e.core.index);e.loadVideoOnPosterClick(o)})),this.core.LGel.on(t+".video",this.onSlideItemLoad.bind(this)),this.core.LGel.on(s+".video",this.onBeforeSlide.bind(this)),this.core.LGel.on(n+".video",this.onAfterSlide.bind(this))},d.prototype.onSlideItemLoad=function(e){var o=this,i=e.detail,t=i.isFirstSlide,s=i.index;this.settings.autoplayFirstVideo&&t&&s===this.core.index&&setTimeout((function(){o.loadAndPlayVideo(s)}),200),!t&&this.settings.autoplayVideoOnSlide&&s===this.core.index&&this.loadAndPlayVideo(s)},d.prototype.onHasVideo=function(e){var o=e.detail,i=o.index,t=o.src,s=o.html5Video;o.hasPoster||(this.appendVideos(this.core.getSlideItem(i),{src:t,addClass:"lg-object",index:i,html5Video:s}),this.gotoNextSlideOnVideoEnd(t,i))},d.prototype.onBeforeSlide=function(e){if(this.core.lGalleryOn){var o=e.detail.prevIndex;this.pauseVideo(o)}},d.prototype.onAfterSlide=function(e){var o=this,i=e.detail,t=i.index,s=i.prevIndex,n=this.core.getSlideItem(t);this.settings.autoplayVideoOnSlide&&t!==s&&n.hasClass("lg-complete")&&setTimeout((function(){o.loadAndPlayVideo(t)}),100)},d.prototype.loadAndPlayVideo=function(e){var o=this.core.getSlideItem(e);this.core.galleryItems[e].poster?this.loadVideoOnPosterClick(o,!0):this.playVideo(e)},d.prototype.playVideo=function(e){this.controlVideo(e,"play")},d.prototype.pauseVideo=function(e){this.controlVideo(e,"pause")},d.prototype.getVideoHtml=function(e,o,i,t){var s="",n=this.core.galleryItems[i].__slideVideoInfo||{},l=this.core.galleryItems[i],d=l.title||l.alt;d=d?'title="'+d+'"':"";var a='allowtransparency="true"\n frameborder="0"\n scrolling="no"\n allowfullscreen\n mozallowfullscreen\n webkitallowfullscreen\n oallowfullscreen\n msallowfullscreen';if(n.youtube){var c="lg-youtube"+i,u="?"+(n.youtube[2]?n.youtube[2]+"&":"")+"wmode=
277opaque&autoplay=0&mute=1&enablejsapi=1"+(this.settings.youTubePlayerParams?"&"+r(this.settings.youTubePlayerParams):"");s='<iframe allow="autoplay" id='+c+' class="lg-video-object lg-youtube '+o+'" '+d+' src="//www.youtube.com/embed/'+(n.youtube[1]+u)+'" '+a+"></iframe>"}else if(n.vimeo){c="lg-vimeo"+i,u=function(e,o){if(!o||!o.vimeo)return"";var i=o.vimeo[2]||"",t=e&&0!==Object.keys(e).length?"&"+r(e):"",s=((o.vimeo[0].split("/").pop()||"").split("?")[0]||"").split("#")[0],n=o.vimeo[1]!==s;return n&&(i=i.replace("/"+s,"")),"?autoplay=0&muted=1"+(n?"&h="+s:"")+t+("?"==i[0]?"&"+i.slice(1):i||"")}(this.settings.vimeoPlayerParams,n);s='<iframe allow="autoplay" id='+c+' class="lg-video-object lg-vimeo '+o+'" '+d+' src="//player.vimeo.com/video/'+(n.vimeo[1]+u)+'" '+a+"></iframe>"}else if(n.wistia){var h="lg-wistia"+i;u=(u=r(this.settings.wistiaPlayerParams))?"?"+u:"",s='<iframe allow="autoplay" id="'+h+'" src="//fast.wistia.net/embed/iframe/'+(n.wistia[4]+u)+'" '+d+' class="wistia_embed lg-video-object lg-wistia '+o+'" name="wistia_embed" '+a+"></iframe>"}else if(n.html5){for(var f="",g=0;g<t.source.length;g++)f+='<source src="'+t.source[g].src+'" type="'+t.source[g].type+'">';if(t.tracks){var y=function(e){var o="",i=t.tracks[e];Object.keys(i||{}).forEach((function(e){o+=e+'="'+i[e]+'" '})),f+="<track "+o+">"};for(g=0;g<t.tracks.length;g++)y(g)}var p="",v=t.attributes||{};Object.keys(v||{}).forEach((function(e){p+=e+'="'+v[e]+'" '})),s='<video class="lg-video-object lg-html5 '+(this.settings.videojs&&this.settings.videojsTheme?this.settings.videojsTheme+" ":"")+" "+(this.settings.videojs?" video-js":"")+'" '+p+">\n "+f+"\n Your browser does not support HTML5 video.\n </video>"}return s},d.prototype.appendVideos=function(e,o){var i,t=this.getVideoHtml(o.src,o.addClass,o.index,o.html5Video);e.find(".lg-video-cont").append(t);var s=e.find(".lg-video-object").first();if(o.html5Video&&s.on("mousedown.lg.video",(function(e){e.stopPropagation()})),this.settings.videojs&&(null===(i=this.core.galleryItems[o.index].__slideVideoInfo)||void 0===i?void 0:i.html5))try{return videojs(s.get(),this.settings.videojsOptions)}catch(e){console.error("lightGallery:- Make sure you have included videojs")}},d.prototype.gotoNextSlideOnVideoEnd=function(e,o){var i=this,t=this.core.getSlideItem(o).find(".lg-video-object").first(),s=this.core.galleryItems[o].__slideVideoInfo||{};if(this.settings.gotoNextSlideOnVideoEnd)if(s.html5)t.on("ended",(function(){i.core.goToNextSlide()}));else if(s.vimeo)try{new Vimeo.Player(t.get()).on("ended",(function(){i.core.goToNextSlide()}))}catch(e){console.error("lightGallery:- Make sure you have included //github.com/vimeo/player.js")}else if(s.wistia)try{window._wq=window._wq||[],window._wq.push({id:t.attr("id"),onReady:function(e){e.bind("end",(function(){i.core.goToNextSlide()}))}})}catch(e){console.error("lightGallery:- Make sure you have included //fast.wistia.com/assets/external/E-v1.js")}},d.prototype.controlVideo=function(e,o){var i=this.core.getSlideItem(e).find(".lg-video-object").first(),t=this.core.galleryItems[e].__slideVideoInfo||{};if(i.get())if(t.youtube)try{i.get().contentWindow.postMessage('{"event":"command","func":"'+o+'Video","args":""}',"*")}catch(e){console.error("lightGallery:- "+e)}else if(t.vimeo)try{new Vimeo.Player(i.get())[o]()}catch(e){console.error("lightGallery:- Make sure you have included //github.com/vimeo/player.js")}else if(t.html5)if(this.settings.videojs)try{videojs(i.get())[o]()}catch(e){console.error("lightGallery:- Make sure you have included videojs")}else i.get()[o]();else if(t.wistia)try{window._wq=window._wq||[],window._wq.push({id:i.attr("id"),onReady:function(e){e[o]()}})}catch(e){console.error("lightGallery:- Make sure you have included //fast.wistia.com/assets/external/E-v1.js")}},d.prototype.loadVideoOnPosterClick=function(e,o){var i=this;if(e.hasClass("lg-video-loaded"))o&&this.playVideo(this.core.index);else if(e.hasClass("lg-has-video"))this.playVideo(this.core.index);else{e.addClass("lg-has-video");var t=void 0,s=this.core.galleryItems[this.core.index].src,n=this.core.galleryItems[this.core.index].video;n&&(t="string"==typeof n?JSON.parse(n):n);var l=this.appendVideos(e,{src:s,addClass:"",index:this.core.index,html5Video:t});this.gotoNextSlideOnVideoEnd(s,this.core.index);var r=e.find(".lg-object").first().get();e.find(".lg-video-cont").first().append(r),e.addClass("lg-video-loading"),l&&l.ready((function(){l.on("loadedmetadata",(function(){i.onVideoLoadAfterPosterClick(e,i.core.index)}))})),e.find(".lg-video-object").first().on("load.lg error.lg loadedmetadata.lg",(function(){setTimeout((function(){i.onVideoLoadAfterPosterClick(e,i.core.index)}),50)}))}},d.prototype.onVideoLoadAfterPosterClick=function(e,o){e.addClass("lg-video-loaded"),this.playVideo(o)},d.prototype.destroy=function(){this.core.LGel.off(".lg.video"),this.core.LGel.off(".video")},d}()}));; 278/** 279 * Swiper 8.3.2 280 * Most modern mobile touch slider and framework with hardware accelerated transitions 281 * https://swiperjs.com 282 * 283 * Copyright 2014-2022 Vladimir Kharlampidi 284 * 285 * Released under the MIT License 286 * 287 * Released on: July 26, 2022 288 */ 289 290 !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Swiper=t()}(this,(function(){"use strict";function e(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function t(s,a){void 0===s&&(s={}),void 0===a&&(a={}
vendor: 6,243 bytes, line 290
290),Object.keys(a).forEach((i=>{void 0===s[i]?s[i]=a[i]:e(a[i])&&e(s[i])&&Object.keys(a[i]).length>0&&t(s[i],a[i])}))}const s={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector:()=>null,querySelectorAll:()=>[],getElementById:()=>null,createEvent:()=>({initEvent(){}}),createElement:()=>({children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName:()=>[]}),createElementNS:()=>({}),importNode:()=>null,location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function a(){const e="undefined"!=typeof document?document:{};return t(e,s),e}const i={document:s,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function(){return this},addEventListener(){},removeEventListener(){},getComputedStyle:()=>({getPropertyValue:()=>""}),Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia:()=>({}),requestAnimationFrame:e=>"undefined"==typeof setTimeout?(e(),null):setTimeout(e,0),cancelAnimationFrame(e){"undefined"!=typeof setTimeout&&clearTimeout(e)}};function r(){const e="undefined"!=typeof window?window:{};return t(e,i),e}class n extends Array{constructor(e){"number"==typeof e?super(e):(super(...e||[]),function(e){const t=e.__proto__;Object.defineProperty(e,"__proto__",{get:()=>t,set(e){t.__proto__=e}})}(this))}}function l(e){void 0===e&&(e=[]);const t=[];return e.forEach((e=>{Array.isArray(e)?t.push(...l(e)):t.push(e)})),t}function o(e,t){return Array.prototype.filter.call(e,t)}function d(e,t){const s=r(),i=a();let l=[];if(!t&&e instanceof n)return e;if(!e)return new n(l);if("string"==typeof e){const s=e.trim();if(s.indexOf("<")>=0&&s.indexOf(">")>=0){let e="div";0===s.indexOf("<li")&&(e="ul"),0===s.indexOf("<tr")&&(e="tbody"),0!==s.indexOf("<td")&&0!==s.indexOf("<th")||(e="tr"),0===s.indexOf("<tbody")&&(e="table"),0===s.indexOf("<option")&&(e="select");const t=i.createElement(e);t.innerHTML=s;for(let e=0;e<t.childNodes.length;e+=1)l.push(t.childNodes[e])}else l=function(e,t){if("string"!=typeof e)return[e];const s=[],a=t.querySelectorAll(e);for(let e=0;e<a.length;e+=1)s.push(a[e]);return s}(e.trim(),t||i)}else if(e.nodeType||e===s||e===i)l.push(e);else if(Array.isArray(e)){if(e instanceof n)return e;l=e}return new n(function(e){const t=[];for(let s=0;s<e.length;s+=1)-1===t.indexOf(e[s])&&t.push(e[s]);return t}(l))}d.fn=n.prototype;const c={addClass:function(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];const a=l(t.map((e=>e.split(" "))));return this.forEach((e=>{e.classList.add(...a)})),this},removeClass:function(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];const a=l(t.map((e=>e.split(" "))));return this.forEach((e=>{e.classList.remove(...a)})),this},hasClass:function(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];const a=l(t.map((e=>e.split(" "))));return o(this,(e=>a.filter((t=>e.classList.contains(t))).length>0)).length>0},toggleClass:function(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];const a=l(t.map((e=>e.split(" "))));this.forEach((e=>{a.forEach((t=>{e.classList.toggle(t)}))}))},attr:function(e,t){if(1===arguments.length&&"string"==typeof e)return this[0]?this[0].getAttribute(e):void 0;for(let s=0;s<this.length;s+=1)if(2===arguments.length)this[s].setAttribute(e,t);else for(const t in e)this[s][t]=e[t],this[s].setAttribute(t,e[t]);return this},removeAttr:function(e){for(let t=0;t<this.length;t+=1)this[t].removeAttribute(e);return this},transform:function(e){for(let t=0;t<this.length;t+=1)this[t].style.transform=e;return this},transition:function(e){for(let t=0;t<this.length;t+=1)this[t].style.transitionDuration="string"!=typeof e?`${e}ms`:e;return this},on:function(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];let[a,i,r,n]=t;function l(e){const t=e.target;if(!t)return;const s=e.target.dom7EventData||[];if(s.indexOf(e)<0&&s.unshift(e),d(t).is(i))r.apply(t,s);else{const e=d(t).parents();for(let t=0;t<e.length;t+=1)d(e[t]).is(i)&&r.apply(e[t],s)}}function o(e){const t=e&&e.target&&e.target.dom7EventData||[];t.indexOf(e)<0&&t.unshift(e),r.apply(this,t)}"function"==typeof t[1]&&([a,r,n]=t,i=void 0),n||(n=!1);const c=a.split(" ");let p;for(let e=0;e<this.length;e+=1){const t=this[e];if(i)for(p=0;p<c.length;p+=1){const e=c[p];t.dom7LiveListeners||(t.dom7LiveListeners={}),t.dom7LiveListeners[e]||(t.dom7LiveListeners[e]=[]),t.dom7LiveListeners[e].push({listener:r,proxyListener:l}),t.addEventListener(e,l,n)}else for(p=0;p<c.length;p+=1){const e=c[p];t.dom7Listeners||(t.dom7Listeners={}),t.dom7Listeners[e]||(t.dom7Listeners[e]=[]),t.dom7Listeners[e].push({listener:r,proxyListener:o}),t.addEventListener(e,o,n)}}return this},off:function(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];let[a,i,r,n]=t;"function"==typeof t[1]&&([a,r,n]=t,i=void 0),n||(n=!1);const l=a.split(" ");for(let e=0;e<l.length;e+=1){const t=l[e];for(let e=0;e<this.length;e+=1){const s=this[e];let a;if(!i&&s.dom7Listeners?a=s.dom7Listeners[t]:i&&s.dom7LiveListeners&&(a=s.dom7LiveListeners[t]),a&&a.length)for(let e=a.length-1;e>=0;e-=1){const i=a[e];r&&i.listener===r||r&&i.listener&&i.listener.dom7proxy&&i.listener.dom7proxy===r?(s.removeEventListener(t,i.proxyListener,n),a.splice(e,1)):r||(s.removeEventListener(t,i.proxyListener,n),a.splice(e,1))}}}return this},trigger:function(){const e=r();for(var t=arguments.length,s=new Array(t),a=0;a<t;a++)s[a]=arguments[a];const i=s[0].split(" "),n=s[1];for(let t=0;t<i.length;t+=1){const a=i[t];for(let t=0;t<this.length;t+=1){const i=this[t];if(e.CustomEvent){const t=new e.CustomEvent(a,{detail:n,bubbles:!0,cancelable:!0});i.dom7EventData=s.filter(((e,t)=>t>0)),i.dispatchEvent(t),i.dom7EventData=[],delete i.dom7EventData}}}return this},transitionEnd:function(e){const t=this;return e&&t.on("transitionend",(function s(a){a.target===this&&(e.call(this,a),t.off("transitionend",s))})),this},outerWidth:function(e){if(this.length>0){if(e){const e=this.styles();return this[0].offsetWidth+parseFloat(e.getPropertyValue("margin-right"))+
vendor: 8,353 bytes, line 290
290parseFloat(e.getPropertyValue("margin-left"))}return this[0].offsetWidth}return null},outerHeight:function(e){if(this.length>0){if(e){const e=this.styles();return this[0].offsetHeight+parseFloat(e.getPropertyValue("margin-top"))+parseFloat(e.getPropertyValue("margin-bottom"))}return this[0].offsetHeight}return null},styles:function(){const e=r();return this[0]?e.getComputedStyle(this[0],null):{}},offset:function(){if(this.length>0){const e=r(),t=a(),s=this[0],i=s.getBoundingClientRect(),n=t.body,l=s.clientTop||n.clientTop||0,o=s.clientLeft||n.clientLeft||0,d=s===e?e.scrollY:s.scrollTop,c=s===e?e.scrollX:s.scrollLeft;return{top:i.top+d-l,left:i.left+c-o}}return null},css:function(e,t){const s=r();let a;if(1===arguments.length){if("string"!=typeof e){for(a=0;a<this.length;a+=1)for(const t in e)this[a].style[t]=e[t];return this}if(this[0])return s.getComputedStyle(this[0],null).getPropertyValue(e)}if(2===arguments.length&&"string"==typeof e){for(a=0;a<this.length;a+=1)this[a].style[e]=t;return this}return this},each:function(e){return e?(this.forEach(((t,s)=>{e.apply(t,[t,s])})),this):this},html:function(e){if(void 0===e)return this[0]?this[0].innerHTML:null;for(let t=0;t<this.length;t+=1)this[t].innerHTML=e;return this},text:function(e){if(void 0===e)return this[0]?this[0].textContent.trim():null;for(let t=0;t<this.length;t+=1)this[t].textContent=e;return this},is:function(e){const t=r(),s=a(),i=this[0];let l,o;if(!i||void 0===e)return!1;if("string"==typeof e){if(i.matches)return i.matches(e);if(i.webkitMatchesSelector)return i.webkitMatchesSelector(e);if(i.msMatchesSelector)return i.msMatchesSelector(e);for(l=d(e),o=0;o<l.length;o+=1)if(l[o]===i)return!0;return!1}if(e===s)return i===s;if(e===t)return i===t;if(e.nodeType||e instanceof n){for(l=e.nodeType?[e]:e,o=0;o<l.length;o+=1)if(l[o]===i)return!0;return!1}return!1},index:function(){let e,t=this[0];if(t){for(e=0;null!==(t=t.previousSibling);)1===t.nodeType&&(e+=1);return e}},eq:function(e){if(void 0===e)return this;const t=this.length;if(e>t-1)return d([]);if(e<0){const s=t+e;return d(s<0?[]:[this[s]])}return d([this[e]])},append:function(){let e;const t=a();for(let s=0;s<arguments.length;s+=1){e=s<0||arguments.length<=s?void 0:arguments[s];for(let s=0;s<this.length;s+=1)if("string"==typeof e){const a=t.createElement("div");for(a.innerHTML=e;a.firstChild;)this[s].appendChild(a.firstChild)}else if(e instanceof n)for(let t=0;t<e.length;t+=1)this[s].appendChild(e[t]);else this[s].appendChild(e)}return this},prepend:function(e){const t=a();let s,i;for(s=0;s<this.length;s+=1)if("string"==typeof e){const a=t.createElement("div");for(a.innerHTML=e,i=a.childNodes.length-1;i>=0;i-=1)this[s].insertBefore(a.childNodes[i],this[s].childNodes[0])}else if(e instanceof n)for(i=0;i<e.length;i+=1)this[s].insertBefore(e[i],this[s].childNodes[0]);else this[s].insertBefore(e,this[s].childNodes[0]);return this},next:function(e){return this.length>0?e?this[0].nextElementSibling&&d(this[0].nextElementSibling).is(e)?d([this[0].nextElementSibling]):d([]):this[0].nextElementSibling?d([this[0].nextElementSibling]):d([]):d([])},nextAll:function(e){const t=[];let s=this[0];if(!s)return d([]);for(;s.nextElementSibling;){const a=s.nextElementSibling;e?d(a).is(e)&&t.push(a):t.push(a),s=a}return d(t)},prev:function(e){if(this.length>0){const t=this[0];return e?t.previousElementSibling&&d(t.previousElementSibling).is(e)?d([t.previousElementSibling]):d([]):t.previousElementSibling?d([t.previousElementSibling]):d([])}return d([])},prevAll:function(e){const t=[];let s=this[0];if(!s)return d([]);for(;s.previousElementSibling;){const a=s.previousElementSibling;e?d(a).is(e)&&t.push(a):t.push(a),s=a}return d(t)},parent:function(e){const t=[];for(let s=0;s<this.length;s+=1)null!==this[s].parentNode&&(e?d(this[s].parentNode).is(e)&&t.push(this[s].parentNode):t.push(this[s].parentNode));return d(t)},parents:function(e){const t=[];for(let s=0;s<this.length;s+=1){let a=this[s].parentNode;for(;a;)e?d(a).is(e)&&t.push(a):t.push(a),a=a.parentNode}return d(t)},closest:function(e){let t=this;return void 0===e?d([]):(t.is(e)||(t=t.parents(e).eq(0)),t)},find:function(e){const t=[];for(let s=0;s<this.length;s+=1){const a=this[s].querySelectorAll(e);for(let e=0;e<a.length;e+=1)t.push(a[e])}return d(t)},children:function(e){const t=[];for(let s=0;s<this.length;s+=1){const a=this[s].children;for(let s=0;s<a.length;s+=1)e&&!d(a[s]).is(e)||t.push(a[s])}return d(t)},filter:function(e){return d(o(this,e))},remove:function(){for(let e=0;e<this.length;e+=1)this[e].parentNode&&this[e].parentNode.removeChild(this[e]);return this}};function p(e,t){return void 0===t&&(t=0),setTimeout(e,t)}function u(){return Date.now()}function h(e,t){void 0===t&&(t="x");const s=r();let a,i,n;const l=function(e){const t=r();let s;return t.getComputedStyle&&(s=t.getComputedStyle(e,null)),!s&&e.currentStyle&&(s=e.currentStyle),s||(s=e.style),s}(e);return s.WebKitCSSMatrix?(i=l.transform||l.webkitTransform,i.split(",").length>6&&(i=i.split(", ").map((e=>e.replace(",","."))).join(", ")),n=new s.WebKitCSSMatrix("none"===i?"":i)):(n=l.MozTransform||l.OTransform||l.MsTransform||l.msTransform||l.transform||l.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),a=n.toString().split(",")),"x"===t&&(i=s.WebKitCSSMatrix?n.m41:16===a.length?parseFloat(a[12]):parseFloat(a[4])),"y"===t&&(i=s.WebKitCSSMatrix?n.m42:16===a.length?parseFloat(a[13]):parseFloat(a[5])),i||0}function m(e){return"object"==typeof e&&null!==e&&e.constructor&&"Object"===Object.prototype.toString.call(e).slice(8,-1)}function f(e){return"undefined"!=typeof window&&void 0!==window.HTMLElement?e instanceof HTMLElement:e&&(1===e.nodeType||11===e.nodeType)}function g(){const e=Object(arguments.length<=0?void 0:arguments[0]),t=["__proto__","constructor","prototype"];for(let s=1;s<arguments.length;s+=1){const a=s<0||arguments.length<=s?void 0:arguments[s];if(null!=a&&!f(a)){const s=Object.keys(Object(a)).filter((e=>t.indexOf(e)<0));for(let t=0,i=s.length;t<i;t+=1){const i=s[t],r=Object.getOwnPropertyDescriptor(a,i);void 0!==r&&r.enumerable&&(m(e[i])&&m(a[i])?a[i].__swiper__?e[i]=a[i]:g(e[i],a[i]):!m(e[i])&&m(a[i])?(e[i]={},a[i].__swiper__?e[i]=a[i]:g(e[i],a[i])):e[i]=a[i])}}}return e}function v(e,t,s){e.style.setProperty(t,s)}function w(e){let{swiper:t,targetPosition:s,side:a}=e;const i=r(),n=-t.translate;let l,o=null;const d=t.params.speed;t.wrapperEl.style.scrollSnapType="none",i.cancelAnimationFrame(t.cssModeFrameID);const c=s>n?"next":"prev",p=(e,t)=>"next"===c&&e>=t||"prev"===c&&e<=t,u=()=>{l=(new Date).getTime(),null===o&&(o=l);const e=Math.max(Math.min((l-o)/d,1),0),r=.5-Math.cos(e*Math.PI)/2;let c=n+r*(s-n);if(p(c,s)&&(c=s),t.wrapperEl.scrollTo({[a]:c}),p(c,s))return t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.scrollSnapType="",setTimeout((()=>{t.wrapperEl.style.overflow="",t.wrapperEl.scrollTo({[a]:c})})),void i.cancelAnimationFrame(t.cssModeFrameID);t.cssModeFrameID=i.requestAnimationFrame(u)};u()}let b,x,y;function E(){return b||(b=function(){const e=r(),t=a();return{smoothScroll:t.documentElement&&"scrollBehavior"in t.documentElement.style,touch:!!("ontouchstart"in e||e.DocumentTouch&&t instanceof e.DocumentTouch),passiveListener:function(){let t=!1;try{const s=Object.defineProperty({},"passive",{get(){t=!0}});e.addEventListener("testPassiveListener",null,s)}catch(e){}return t}(),gestures:"ongesturestart"in e}}()),b}function C(e){return void 0===e&&(e={}),x||(x=function(e){let{userAgent:t}=void 0===e?{}:e;const s=E(),a=r(),i=a.navigator.platform,n=t||a.navigator.userAgent,l={ios:!1,android:!1},o=a.screen.width,d=a.screen.height,c=n.match(/(Android);?[\s\/]+([\d.]+)?/);let p=n.match(/(iPad).*OS\s([\d_]+)/);const u=n.match(/(iPod)(.*OS\s([\d_]+))?/),h=!p&&n.match(/(iPhone\sOS|iOS)\s([\d_]+)/),m="Win32"===i;let f="MacIntel"===i;return!p&&f&&s.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(`${o}x${d}`)>=0&&(p=n.match(/(Version)\/([\d.]+)/),p||(p=[0,1,"13_0_0"]),f=!1),c&&!m&&(l.os="android",l.android=!0),(p||h||u)&&(l.os="ios",l.ios=!0),l}(e)),x}function T(){return y||(y=function(){const e=r();return{isSafari:function(){const t=e.navigator.userAgent.toLowerCase();return t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0}
290(),isWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent)}}()),y}Object.keys(c).forEach((e=>{Object.defineProperty(d.fn,e,{value:c[e],writable:!0})}));var $={on(e,t,s){const a=this;if(!a.eventsListeners||a.destroyed)return a;if("function"!=typeof t)return a;const i=s?"unshift":"push";return e.split(" ").forEach((e=>{a.eventsListeners[e]||(a.eventsListeners[e]=[]),a.eventsListeners[e][i](t)})),a},once(e,t,s){const a=this;if(!a.eventsListeners||a.destroyed)return a;if("function"!=typeof t)return a;function i(){a.off(e,i),i.__emitterProxy&&delete i.__emitterProxy;for(var s=arguments.length,r=new Array(s),n=0;n<s;n++)r[n]=arguments[n];t.apply(a,r)}return i.__emitterProxy=t,a.on(e,i,s)},onAny(e,t){const s=this;if(!s.eventsListeners||s.destroyed)return s;if("function"!=typeof e)return s;const a=t?"unshift":"push";return s.eventsAnyListeners.indexOf(e)<0&&s.eventsAnyListeners[a](e),s},offAny(e){const t=this;if(!t.eventsListeners||t.destroyed)return t;if(!t.eventsAnyListeners)return t;const s=t.eventsAnyListeners.indexOf(e);return s>=0&&t.eventsAnyListeners.splice(s,1),t},off(e,t){const s=this;return!s.eventsListeners||s.destroyed?s:s.eventsListeners?(e.split(" ").forEach((e=>{void 0===t?s.eventsListeners[e]=[]:s.eventsListeners[e]&&s.eventsListeners[e].forEach(((a,i)=>{(a===t||a.__emitterProxy&&a.__emitterProxy===t)&&s.eventsListeners[e].splice(i,1)}))})),s):s},emit(){const e=this;if(!e.eventsListeners||e.destroyed)return e;if(!e.eventsListeners)return e;let t,s,a;for(var i=arguments.length,r=new Array(i),n=0;n<i;n++)r[n]=arguments[n];"string"==typeof r[0]||Array.isArray(r[0])?(t=r[0],s=r.slice(1,r.length),a=e):(t=r[0].events,s=r[0].data,a=r[0].context||e),s.unshift(a);return(Array.isArray(t)?t:t.split(" ")).forEach((t=>{e.eventsAnyListeners&&e.eventsAnyListeners.length&&e.eventsAnyListeners.forEach((e=>{e.apply(a,[t,...s])})),e.eventsListeners&&e.eventsListeners[t]&&e.eventsListeners[t].forEach((e=>{e.apply(a,s)}))})),e}};var S={updateSize:function(){const e=this;let t,s;const a=e.$el;t=void 0!==e.params.width&&null!==e.params.width?e.params.width:a[0].clientWidth,s=void 0!==e.params.height&&null!==e.params.height?e.params.height:a[0].clientHeight,0===t&&e.isHorizontal()||0===s&&e.isVertical()||(t=t-parseInt(a.css("padding-left")||0,10)-parseInt(a.css("padding-right")||0,10),s=s-parseInt(a.css("padding-top")||0,10)-parseInt(a.css("padding-bottom")||0,10),Number.isNaN(t)&&(t=0),Number.isNaN(s)&&(s=0),Object.assign(e,{width:t,height:s,size:e.isHorizontal()?t:s}))},updateSlides:function(){const e=this;function t(t){return e.isHorizontal()?t:{width:"height","margin-top":"margin-left","margin-bottom ":"margin-right","margin-left":"margin-top","margin-right":"margin-bottom","padding-left":"padding-top","padding-right":"padding-bottom",marginRight:"marginBottom"}[t]}function s(e,s){return parseFloat(e.getPropertyValue(t(s))||0)}const a=e.params,{$wrapperEl:i,size:r,rtlTranslate:n,wrongRTL:l}=e,o=e.virtual&&a.virtual.enabled,d=o?e.virtual.slides.length:e.slides.length,c=i.children(`.${e.params.slideClass}`),p=o?e.virtual.slides.length:c.length;let u=[];const h=[],m=[];let f=a.slidesOffsetBefore;"function"==typeof f&&(f=a.slidesOffsetBefore.call(e));let g=a.slidesOffsetAfter;"function"==typeof g&&(g=a.slidesOffsetAfter.call(e));const w=e.snapGrid.length,b=e.slidesGrid.length;let x=a.spaceBetween,y=-f,E=0,C=0;if(void 0===r)return;"string"==typeof x&&x.indexOf("%")>=0&&(x=parseFloat(x.replace("%",""))/100*r),e.virtualSize=-x,n?c.css({marginLeft:"",marginBottom:"",marginTop:""}):c.css({marginRight:"",marginBottom:"",marginTop:""}),a.centeredSlides&&a.cssMode&&(v(e.wrapperEl,"--swiper-centered-offset-before",""),v(e.wrapperEl,"--swiper-centered-offset-after",""));const T=a.grid&&a.grid.rows>1&&e.grid;let $;T&&e.grid.initSlides(p);const S="auto"===a.slidesPerView&&a.breakpoints&&Object.keys(a.breakpoints).filter((e=>void 0!==a.breakpoints[e].slidesPerView)).length>0;for(let i=0;i<p;i+=1){$=0;const n=c.eq(i);if(T&&e.grid.updateSlide(i,n,p,t),"none"!==n.css("display")){if("auto"===a.slidesPerView){S&&(c[i].style[t("width")]="");const r=getComputedStyle(n[0]),l=n[0].style.transform,o=n[0].style.webkitTransform;if(l&&(n[0].style.transform="none"),o&&(n[0].style.webkitTransform="none"),a.roundLengths)$=e.isHorizontal()?n.outerWidth(!0):n.outerHeight(!0);else{const e=s(r,"width"),t=s(r,"padding-left"),a=s(r,"padding-right"),i=s(r,"margin-left"),l=s(r,"margin-right"),o=r.getPropertyValue("box-sizing");if(o&&"border-box"===o)$=e+i+l;else{const{clientWidth:s,offsetWidth:r}=n[0];$=e+t+a+i+l+(r-s)}}l&&(n[0].style.transform=l),o&&(n[0].style.webkitTransform=o),a.roundLengths&&($=Math.floor($))}else $=(r-(a.slidesPerView-1)*x)/a.slidesPerView,a.roundLengths&&($=Math.floor($)),c[i]&&(c[i].style[t("width")]=`${$}px`);c[i]&&(c[i].swiperSlideSize=$),m.push($),a.centeredSlides?(y=y+$/2+E/2+x,0===E&&0!==i&&(y=y-r/2-x),0===i&&(y=y-r/2-x),Math.abs(y)<.001&&(y=0),a.roundLengths&&(y=Math.floor(y)),C%a.slidesPerGroup==0&&u.push(y),h.push(y)):(a.roun
vendor: 11,528 bytes, line 290
290dLengths&&(y=Math.floor(y)),(C-Math.min(e.params.slidesPerGroupSkip,C))%e.params.slidesPerGroup==0&&u.push(y),h.push(y),y=y+$+x),e.virtualSize+=$+x,E=$,C+=1}}if(e.virtualSize=Math.max(e.virtualSize,r)+g,n&&l&&("slide"===a.effect||"coverflow"===a.effect)&&i.css({width:`${e.virtualSize+a.spaceBetween}px`}),a.setWrapperSize&&i.css({[t("width")]:`${e.virtualSize+a.spaceBetween}px`}),T&&e.grid.updateWrapperSize($,u,t),!a.centeredSlides){const t=[];for(let s=0;s<u.length;s+=1){let i=u[s];a.roundLengths&&(i=Math.floor(i)),u[s]<=e.virtualSize-r&&t.push(i)}u=t,Math.floor(e.virtualSize-r)-Math.floor(u[u.length-1])>1&&u.push(e.virtualSize-r)}if(0===u.length&&(u=[0]),0!==a.spaceBetween){const s=e.isHorizontal()&&n?"marginLeft":t("marginRight");c.filter(((e,t)=>!a.cssMode||t!==c.length-1)).css({[s]:`${x}px`})}if(a.centeredSlides&&a.centeredSlidesBounds){let e=0;m.forEach((t=>{e+=t+(a.spaceBetween?a.spaceBetween:0)})),e-=a.spaceBetween;const t=e-r;u=u.map((e=>e<0?-f:e>t?t+g:e))}if(a.centerInsufficientSlides){let e=0;if(m.forEach((t=>{e+=t+(a.spaceBetween?a.spaceBetween:0)})),e-=a.spaceBetween,e<r){const t=(r-e)/2;u.forEach(((e,s)=>{u[s]=e-t})),h.forEach(((e,s)=>{h[s]=e+t}))}}if(Object.assign(e,{slides:c,snapGrid:u,slidesGrid:h,slidesSizesGrid:m}),a.centeredSlides&&a.cssMode&&!a.centeredSlidesBounds){v(e.wrapperEl,"--swiper-centered-offset-before",-u[0]+"px"),v(e.wrapperEl,"--swiper-centered-offset-after",e.size/2-m[m.length-1]/2+"px");const t=-e.snapGrid[0],s=-e.slidesGrid[0];e.snapGrid=e.snapGrid.map((e=>e+t)),e.slidesGrid=e.slidesGrid.map((e=>e+s))}if(p!==d&&e.emit("slidesLengthChange"),u.length!==w&&(e.params.watchOverflow&&e.checkOverflow(),e.emit("snapGridLengthChange")),h.length!==b&&e.emit("slidesGridLengthChange"),a.watchSlidesProgress&&e.updateSlidesOffset(),!(o||a.cssMode||"slide"!==a.effect&&"fade"!==a.effect)){const t=`${a.containerModifierClass}backface-hidden`,s=e.$el.hasClass(t);p<=a.maxBackfaceHiddenSlides?s||e.$el.addClass(t):s&&e.$el.removeClass(t)}},updateAutoHeight:function(e){const t=this,s=[],a=t.virtual&&t.params.virtual.enabled;let i,r=0;"number"==typeof e?t.setTransition(e):!0===e&&t.setTransition(t.params.speed);const n=e=>a?t.slides.filter((t=>parseInt(t.getAttribute("data-swiper-slide-index"),10)===e))[0]:t.slides.eq(e)[0];if("auto"!==t.params.slidesPerView&&t.params.slidesPerView>1)if(t.params.centeredSlides)(t.visibleSlides||d([])).each((e=>{s.push(e)}));else for(i=0;i<Math.ceil(t.params.slidesPerView);i+=1){const e=t.activeIndex+i;if(e>t.slides.length&&!a)break;s.push(n(e))}else s.push(n(t.activeIndex));for(i=0;i<s.length;i+=1)if(void 0!==s[i]){const e=s[i].offsetHeight;r=e>r?e:r}(r||0===r)&&t.$wrapperEl.css("height",`${r}px`)},updateSlidesOffset:function(){const e=this,t=e.slides;for(let s=0;s<t.length;s+=1)t[s].swiperSlideOffset=e.isHorizontal()?t[s].offsetLeft:t[s].offsetTop},updateSlidesProgress:function(e){void 0===e&&(e=this&&this.translate||0);const t=this,s=t.params,{slides:a,rtlTranslate:i,snapGrid:r}=t;if(0===a.length)return;void 0===a[0].swiperSlideOffset&&t.updateSlidesOffset();let n=-e;i&&(n=e),a.removeClass(s.slideVisibleClass),t.visibleSlidesIndexes=[],t.visibleSlides=[];for(let e=0;e<a.length;e+=1){const l=a[e];let o=l.swiperSlideOffset;s.cssMode&&s.centeredSlides&&(o-=a[0].swiperSlideOffset);const d=(n+(s.centeredSlides?t.minTranslate():0)-o)/(l.swiperSlideSize+s.spaceBetween),c=(n-r[0]+(s.centeredSlides?t.minTranslate():0)-o)/(l.swiperSlideSize+s.spaceBetween),p=-(n-o),u=p+t.slidesSizesGrid[e];(p>=0&&p<t.size-1||u>1&&u<=t.size||p<=0&&u>=t.size)&&(t.visibleSlides.push(l),t.visibleSlidesIndexes.push(e),a.eq(e).addClass(s.slideVisibleClass)),l.progress=i?-d:d,l.originalProgress=i?-c:c}t.visibleSlides=d(t.visibleSlides)},updateProgress:function(e){const t=this;if(void 0===e){const s=t.rtlTranslate?-1:1;e=t&&t.translate&&t.translate*s||0}const s=t.params,a=t.maxTranslate()-t.minTranslate();let{progress:i,isBeginning:r,isEnd:n}=t;const l=r,o=n;0===a?(i=0,r=!0,n=!0):(i=(e-t.minTranslate())/a,r=i<=0,n=i>=1),Object.assign(t,{progress:i,isBeginning:r,isEnd:n}),(s.watchSlidesProgress||s.centeredSlides&&s.autoHeight)&&t.updateSlidesProgress(e),r&&!l&&t.emit("reachBeginning toEdge"),n&&!o&&t.emit("reachEnd toEdge"),(l&&!r||o&&!n)&&t.emit("fromEdge"),t.emit("progress",i)},updateSlidesClasses:function(){const e=this,{slides:t,params:s,$wrapperEl:a,activeIndex:i,realIndex:r}=e,n=e.virtual&&s.virtual.enabled;let l;t.removeClass(`${s.slideActiveClass} ${s.slideNextClass} ${s.slidePrevClass} ${s.slideDuplicateActiveClass} ${s.slideDuplicateNextClass} ${s.slideDuplicatePrevClass}`),l=n?e.$wrapperEl.find(`.${s.slideClass}[data-swiper-slide-index="${i}"]`):t.eq(i),l.addClass(s.slideActiveClass),s.loop&&(l.hasClass(s.slideDuplicateClass)?a.children(`.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index="${r}"]`).addClass(s.slideDuplicateActiveClass):a.children(`.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index="${r}"]`).addClass(s.slideDuplicateActiveClass));let o=l.nextAll(`.${s.slideClass}`).eq(0).addClass(s.slideNextClass);s.loop&&0===o.length&&(o=t.eq(0),o.addClass(s.slideNextClass));let d=l.prevAll(`.${s.slideClass}`).eq(0).addClass(s.slidePrevClass);s.loop&&0===d.length&&(d=t.eq(-1),d.addClass(s.slidePrevClass)),s.loop&&(o.hasClass(s.slideDuplicateClass)?a.children(`.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index="${o.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicateNextClass):a.children(`.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index="${o.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicateNextClass),d.hasClass(s.slideDuplicateClass)?a.children(`.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index="${d.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicatePrevClass):a.children(`.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index="${d.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicatePrevClass)),e.emitSlidesClasses()},updateActiveIndex:function(e){const t=this,s=t.rtlTranslate?t.translate:-t.translate,{slidesGrid:a,snapGrid:i,params:r,activeIndex:n,realIndex:l,snapIndex:o}=t;let d,c=e;if(void 0===c){for(let e=0;e<a.length;e+=1)void 0!==a[e+1]?s>=a[e]&&s<a[e+1]-(a[e+1]-a[e])/2?c=e:s>=a[e]&&s<a[e+1]&&(c=e+1):s>=a[e]&&(c=e);r.normalizeSlideIndex&&(c<0||void 0===c)&&(c=0)}if(i.indexOf(s)>=0)d=i.indexOf(s);else{const e=Math.min(r.slidesPerGroupSkip,c);d=e+Math.floor((c-e)/r.slidesPerGroup)}if(d>=i.length&&(d=i.length-1),c===n)return void(d!==o&&(t.snapIndex=d,t.emit("snapIndexChange")));const p=parseInt(t.slides.eq(c).attr("data-swiper-slide-index")||c,10);Object.assign(t,{snapIndex:d,realIndex:p,previousIndex:n,activeIndex:c}),t.emit("activeIndexChange"),t.emit("snapIndexChange"),l!==p&&t.emit("realIndexChange"),(t.initialized||t.params.runCallbacksOnInit)&&t.emit("slideChange")},updateClickedSlide:function(e){const t=this,s=t.params,a=d(e).closest(`.${s.slideClass}`)[0];let i,r=!1;if(a)for(let e=0;e<t.slides.length;e+=1)if(t.slides[e]===a){r=!0,i=e;break}if(!a||!r)return t.clickedSlide=void 0,void(t.clickedIndex=void 0);t.clickedSlide=a,t.virtual&&t.params.virtual.enabled?t.clickedIndex=parseInt(d(a).attr("data-swiper-slide-index"),10):t.clickedIndex=i,s.slideToClickedSlide&&void 0!==t.clickedIndex&&t.clickedIndex!==t.activeIndex&&t.slideToClickedSlide()}};var M={getTranslate:function(e){void 0===e&&(e=this.isHorizontal()?"x":"y");const{params:t,rtlTranslate:s,translate:a,$wrapperEl:i}=this;if(t.virtualTranslate)return s?-a:a;if(t.cssMode)return a;let r=h(i[0],e);return s&&(r=-r),r||0},setTranslate:function(e,t){const s=this,{rtlTranslate:a,params:i,$wrapperEl:r,wrapperEl:n,progress:l}=s;let o,d=0,c=0;s.isHorizontal()?d=a?-e:e:c=e,i.roundLengths&&(d=Math.floor(d),c=Math.floor(c)),i.cssMode?n[s.isHorizontal()?"scrollLeft":"scrollTop"]=s.isHorizontal()?-d:-c:i.virtualTranslate||r.transform(`translate3d(${d}px, ${c}px, 0px)`),s.previousTranslate=s.translate,s.translate=s.isHorizontal()?d:c;const p=s.maxTranslate()-s.minTranslate();o=0===p?0:(e-s.minTranslate())/p,o!==l&&s.updateProgress(e),s.emit("setTranslate",s.translate,t)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]},translateTo:function(e,t,s,a,i){void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===s&&(s=!0),void 0===a&&(a=!0);const r=this,{params:n,wrapperEl:l}=r;if(r.animating&&n.preventInteractionOnTransition)return!1;const o=r.minTranslate(),d=r.maxTranslate();let c;if(c=a&&e>o?o:a&&e<d?d:e,r.updateProgress(c),n.cssMode){const e=r.isHorizontal();if(0===t)l[e?"scrollLeft":"scrollTop"]=-c;else{if(!r.support.smoothScroll)return w({swiper:r,targetPosition:-c,side:e?"left":"top"}),!0;l.scrollTo({[e?"left":"top"]:-c,behavior:"smooth"})}return!0}return 0===t?(r.setTransition(0),r.setTranslate(c),s&&(r.emit("beforeTransitionStart",t,i),r.emit("transitionEnd"))):(r.setTransition(t),r.setTranslate(c),s&&(r.emit("beforeTransitionStart",t,i),r.emit("transitionStart")),r.animating||(r.animating=!0,r.onTranslateToWrapperTransitionEnd||(r.onTranslateToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.$wrapperEl[0].removeEventListener("transitionend",r.onTranslateToWrapperTransitionEnd),r.$wrapperEl[0].removeEventListener("webkitTransitionEnd",r.onTranslateToWrapperTransitionEnd),r.onTranslateToWrapperTransitionEnd=null,delete r.onTranslateToWrapperTransitionEnd,s&&r.emit("transitionEnd"))}),r.$wrapperEl[0].addEventListener("transitionend",r.onTranslateToWrapperTransitionEnd),r.$wrapperEl[0].addEventListener("webkitTransitionEnd",r.onTranslateToWrapperTransitionEnd))),!0}};function P(e){let{swiper:t,runCallbacks:s,direction:a,step:i}=e;const{activeIndex:r,previousIndex:n}=t;let l=a;if(l||(l=r>n?"next":r<n?"prev":"reset"),t.emit(`transition${i}`),s&&r!==n){if("reset"===l)return void t.emit(`slideResetTransition${i}`);t.emit(`slideChangeTransition${i}`),"next"===l?t.emit(`slideNextTransition${i}`):t.emit(`slidePrevTransition${i}`)}}var k={slideTo:function(e,t,s,a,i){if(void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===s&&(s=!0),"number"!=typeof e&&"string"!=typeof e)throw new Error(`The 'index' argument cannot have type other than 'number' or 'string'. [${typeof e}] given.`);if("string"==typeof e){const t=parseInt(e,10);if(!isFinite(t))throw new Error(`The passed-in 'index' (string) couldn't be converted to 'number'. [${e}] given.`);e=t}const r=this;let n=e;n<0&&(n=0);const{params:l,snapGrid:o,slidesGrid:d,previousIndex:c,activeIndex:p,rtlTranslate:u,wrapperEl:h,enabled:m}=r;if(r.animating&&l.preventInteractionOnTransition||!m&&!a&&!i)return!1;const f=Math.min(r.params.slidesPerGroupSkip,n);let g=f+Math.floor((n-f)/r.params.slidesPerGroup);g>=o.length&&(g=o.length-1),(p||l.initialSlide||0)===(c||0)&&s&&r.emit("beforeSlideChangeStart");const v=-o[g];if(r.updateProgress(v),l.normalizeSlideIndex)for(let e=0;e<d.length;e+=1){const t=-Math.floor(100*v),s=Math.floor(100*d[e]),a=Math.floor(100*d[e+1]);void 0!==d[e+1]?t>=s&&t<a-(a-s)/2?n=e:t>=s&&t<a&&(n=e+1):t>=s&&(n=e)}if(r.initialized&&n!==p){if(!r.allowSlideNext&&v<r.translate&&v<r.minTranslate())return!1;if(!r.allowSlidePrev&&v>r.translate&&v>r.maxTranslate()&&(p||0)!==n)return!1}let b;if(b=n>p?"next":n<p?"prev":"reset",u&&-v===r.translate||!u&&v===r.translate)return r.updateActiveIndex(n),l.autoHeight&&r.updateAutoHeight(),r.updateSlidesClasses(),"slide"!==l.effect&&r.setTranslate(v),"reset"!==b&&(r.transitionStart(s,b),r.transitionEnd(s,b)),!1;
290if(l.cssMode){const e=r.isHorizontal(),s=u?v:-v;if(0===t){const t=r.virtual&&r.params.virtual.enabled;t&&(r.wrapperEl.style.scrollSnapType="none",r._immediateVirtual=!0),h[e?"scrollLeft":"scrollTop"]=s,t&&requestAnimationFrame((()=>{r.wrapperEl.style.scrollSnapType="",r._swiperImmediateVirtual=!1}))}else{if(!r.support.smoothScroll)return w({swiper:r,targetPosition:s,side:e?"left":"top"}),!0;h.scrollTo({[e?"left":"top"]:s,behavior:"smooth"})}return!0}return r.setTransition(t),r.setTranslate(v),r.updateActiveIndex(n),r.updateSlidesClasses(),r.emit("beforeTransitionStart",t,a),r.transitionStart(s,b),0===t?r.transitionEnd(s,b):r.animating||(r.animating=!0,r.onSlideToWrapperTransitionEnd||(r.onSlideToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.$wrapperEl[0].removeEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.$wrapperEl[0].removeEventListener("webkitTransitionEnd",r.onSlideToWrapperTransitionEnd),r.onSlideToWrapperTransitionEnd=null,delete r.onSlideToWrapperTransitionEnd,r.transitionEnd(s,b))}),r.$wrapperEl[0].addEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.$wrapperEl[0].addEventListener("webkitTransitionEnd",r.onSlideToWrapperTransitionEnd)),!0},slideToLoop:function(e,t,s,a){if(void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===s&&(s=!0),"string"==typeof e){const t=parseInt(e,10);if(!isFinite(t))throw new Error(`The passed-in 'index' (string) couldn't be converted to 'number'. [${e}] given.`);e=t}const i=this;let r=e;return i.params.loop&&(r+=i.loopedSlides),i.slideTo(r,t,s,a)},slideNext:function(e,t,s){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0);const a=this,{animating:i,enabled:r,params:n}=a;if(!r)return a;let l=n.slidesPerGroup;"auto"===n.slidesPerView&&1===n.slidesPerGroup&&n.slidesPerGroupAuto&&(l=Math.max(a.slidesPerViewDynamic("current",!0),1));const o=a.activeIndex<n.slidesPerGroupSkip?1:l;if(n.loop){if(i&&n.loopPreventsSlide)return!1;a.loopFix(),a._clientLeft=a.$wrapperEl[0].clientLeft}return n.rewind&&a.isEnd?a.slideTo(0,e,t,s):a.slideTo(a.activeIndex+o,e,t,s)},slidePrev:function(e,t,s){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0);const a=this,{params:i,animating:r,snapGrid:n,slidesGrid:l,rtlTranslate:o,enabled:d}=a;if(!d)return a;if(i.loop){if(r&&i.loopPreventsSlide)return!1;a.loopFix(),a._clientLeft=a.$wrapperEl[0].clientLeft}function c(e){return e<0?-Math.floor(Math.abs(e)):Math.floor(e)}const p=c(o?a.translate:-a.translate),u=n.map((e=>c(e)));let h=n[u.indexOf(p)-1];if(void 0===h&&i.cssMode){let e;
290n.forEach(((t,s)=>{p>=t&&(e=s)})),void 0!==e&&(h=n[e>0?e-1:e])}let m=0;if(void 0!==h&&(m=l.indexOf(h),m<0&&(m=a.activeIndex-1),"auto"===i.slidesPerView&&1===i.slidesPerGroup&&i.slidesPerGroupAuto&&(m=m-a.slidesPerViewDynamic("previous",!0)+1,m=Math.max(m,0))),i.rewind&&a.isBeginning){const i=a.params.virtual&&a.params.virtual.enabled&&a.virtual?a.virtual.slides.length-1:a.slides.length-1;return a.slideTo(i,e,t,s)}return a.slideTo(m,e,t,s)},slideReset:function(e,t,s){return void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),this.slideTo(this.activeIndex,e,t,s)},slideToClosest:function(e,t,s,a){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),void 0===a&&(a=.5);const i=this;let r=i.activeIndex;const n=Math.min(i.params.slidesPerGroupSkip,r),l=n+Math.floor((r-n)/i.params.slidesPerGroup),o=i.rtlTranslate?i.translate:-i.translate;if(o>=i.snapGrid[l]){const e=i.snapGrid[l];o-e>(i.snapGrid[l+1]-e)*a&&(r+=i.params.slidesPerGroup)}else{const e=i.snapGrid[l-1];o-e<=(i.snapGrid[l]-e)*a&&(r-=i.params.slidesPerGroup)}return r=Math.max(r,0),r=Math.min(r,i.slidesGrid.length-1),i.slideTo(r,e,t,s)},slideToClickedSlide:function(){const e=this,{params:t,$wrapperEl:s}=e,a="auto"===t.slidesPerView?e.slidesPerViewDynamic():t.slidesPerView;let i,r=e.clickedIndex;if(t.loop){if(e.animating)return;i=parseInt(d(e.clickedSlide).attr("data-swiper-slide-index"),10),t.centeredSlides?r<e.loopedSlides-a/2||r>e.slides.length-e.loopedSlides+a/2?(e.loopFix(),r=s.children(`.${t.slideClass}[data-swiper-slide-index="${i}"]:not(.${t.slideDuplicateClass})`).eq(0).index(),p((()=>{e.slideTo(r)}))):e.slideTo(r):r>e.slides.length-a?(e.loopFix(),r=s.children(`.${t.slideClass}[data-swiper-slide-index="${i}"]:not(.${t.slideDuplicateClass})`).eq(0).index(),p((()=>{e.slideTo(r)}))):e.slideTo(r)}else e.slideTo(r)}};var z={loopCreate:function(){const e=this,t=a(),{params:s,$wrapperEl:i}=e,r=i.children().length>0?d(i.children()[0].parentNode):i;r.children(`.${s.slideClass}.${s.slideDuplicateClass}`).remove();let n=r.children(`.${s.slideClass}`);if(s.loopFillGroupWithBlank){const e=s.slidesPerGroup-n.length%s.slidesPerGroup;if(e!==s.slidesPerGroup){for(let a=0;a<e;a+=1){const e=d(t.createElement("div")).addClass(`${s.slideClass} ${s.slideBlankClass}`);r.append(e)}n=r.children(`.${s.slideClass}`)}}"auto"!==s.slidesPerView||s.loopedSlides||(s.loopedSlides=n.length),e.loopedSlides=Math.ceil(parseFloat(s.loopedSlides||s.slidesPerView,10)),e.loopedSlides+=s.loopAdditionalSlides,e.loopedSlides>n.length&&e.params.loopedSlidesLimit&&(e.loopedSlides=n.length);const l=[],o=[];n.each(((e,t)=>{d(e).attr("data-swiper-slide-index",t)}));for(let t=0;t<e.loopedSlides;t+=1){const e=t-Math.floor(t/n.length)*n.length;o.push(n.eq(e)[0]),l.unshift(n.eq(n.length-e-1)[0])}for(let e=0;e<o.length;e+=1)r.append(d(o[e].cloneNode(!0)).addClass(s.slideDuplicateClass));for(let e=l.length-1;e>=0;e-=1)r.prepend(d(l[e].cloneNode(!0)).addClass(s.slideDuplicateClass))},loopFix:function(){const e=this;e.emit("beforeLoopFix");const{activeIndex:t,slides:s,loopedSlides:a,allowSlidePrev:i,allowSlideNext:r,snapGrid:n,rtlTranslate:l}=e;let o;e.allowSlidePrev=!0,e.allowSlideNext=!0;const d=-n[t]-e.getTranslate();if(t<a){o=s.length-3*a+t,o+=a;e.slideTo(o,0,!1,!0)&&0!==d&&e.setTranslate((l?-e.translate:e.translate)-d)}else if(t>=s.length-a){o=-s.length+t+a,o+=a;e.slideTo(o,0,!1,!0)&&0!==d&&e.setTranslate((l?-e.translate:e.translate)-d)}e.allowSlidePrev=i,e.allowSlideNext=r,e.emit("loopFix")},loopDestroy:function(){const{$wrapperEl:e,params:t,slides:s}=this;e.children(`.${t.slideClass}.${t.slideDuplicateClass},.${t.slideClass}.${t.slideBlankClass}`).remove(),s.removeAttr("data-swiper-slide-index")}};function L(e){const t=this,s=a(),i=r(),n=t.touchEventsData,{params:l,touches:o,enabled:c}=t;if(!c)return;if(t.animating&&l.preventInteractionOnTransition)return;!t.animating&&l.cssMode&&l.loop&&t.loopFix();let p=e;p.originalEvent&&(p=p.originalEvent);let h=d(p.target);if("wrapper"===l.touchEventsTarget&&!h.closest(t.wrapperEl).length)return;if(n.isTouchEvent="touchstart"===p.type,!n.isTouchEvent&&"which"in p&&3===p.which)return;if(!n.isTouchEvent&&"button"in p&&p.button>0)return;if(n.isTouched&&n.isMoved)return;
vendor: 4,890 bytes, line 290
290!!l.noSwipingClass&&""!==l.noSwipingClass&&p.target&&p.target.shadowRoot&&e.path&&e.path[0]&&(h=d(e.path[0]));const m=l.noSwipingSelector?l.noSwipingSelector:`.${l.noSwipingClass}`,f=!(!p.target||!p.target.shadowRoot);if(l.noSwiping&&(f?function(e,t){return void 0===t&&(t=this),function t(s){if(!s||s===a()||s===r())return null;s.assignedSlot&&(s=s.assignedSlot);const i=s.closest(e);return i||s.getRootNode?i||t(s.getRootNode().host):null}(t)}(m,h[0]):h.closest(m)[0]))return void(t.allowClick=!0);if(l.swipeHandler&&!h.closest(l.swipeHandler)[0])return;o.currentX="touchstart"===p.type?p.targetTouches[0].pageX:p.pageX,o.currentY="touchstart"===p.type?p.targetTouches[0].pageY:p.pageY;const g=o.currentX,v=o.currentY,w=l.edgeSwipeDetection||l.iOSEdgeSwipeDetection,b=l.edgeSwipeThreshold||l.iOSEdgeSwipeThreshold;if(w&&(g<=b||g>=i.innerWidth-b)){if("prevent"!==w)return;e.preventDefault()}if(Object.assign(n,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),o.startX=g,o.startY=v,n.touchStartTime=u(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,l.threshold>0&&(n.allowThresholdMove=!1),"touchstart"!==p.type){let e=!0;h.is(n.focusableElements)&&(e=!1,"SELECT"===h[0].nodeName&&(n.isTouched=!1)),s.activeElement&&d(s.activeElement).is(n.focusableElements)&&s.activeElement!==h[0]&&s.activeElement.blur();const a=e&&t.allowTouchMove&&l.touchStartPreventDefault;!l.touchStartForcePreventDefault&&!a||h[0].isContentEditable||p.preventDefault()}t.params.freeMode&&t.params.freeMode.enabled&&t.freeMode&&t.animating&&!l.cssMode&&t.freeMode.onTouchStart(),t.emit("touchStart",p)}function O(e){const t=a(),s=this,i=s.touchEventsData,{params:r,touches:n,rtlTranslate:l,enabled:o}=s;if(!o)return;let c=e;if(c.originalEvent&&(c=c.originalEvent),!i.isTouched)return void(i.startMoving&&i.isScrolling&&s.emit("touchMoveOpposite",c));if(i.isTouchEvent&&"touchmove"!==c.type)return;const p="touchmove"===c.type&&c.targetTouches&&(c.targetTouches[0]||c.changedTouches[0]),h="touchmove"===c.type?p.pageX:c.pageX,m="touchmove"===c.type?p.pageY:c.pageY;if(c.preventedByNestedSwiper)return n.startX=h,void(n.startY=m);if(!s.allowTouchMove)return d(c.target).is(i.focusableElements)||(s.allowClick=!1),void(i.isTouched&&(Object.assign(n,{startX:h,startY:m,currentX:h,currentY:m}),i.touchStartTime=u()));if(i.isTouchEvent&&r.touchReleaseOnEdges&&!r.loop)if(s.isVertical()){if(m<n.startY&&s.translate<=s.maxTranslate()||m>n.startY&&s.translate>=s.minTranslate())return i.isTouched=!1,void(i.isMoved=!1)}else if(h<n.startX&&s.translate<=s.maxTranslate()||h>n.startX&&s.translate>=s.minTranslate())return;if(i.isTouchEvent&&t.activeElement&&c.target===t.activeElement&&d(c.target).is(i.focusableElements))return i.isMoved=!0,void(s.allowClick=!1);if(i.allowTouchCallbacks&&s.emit("touchMove",c),c.targetTouches&&c.targetTouches.length>1)return;n.currentX=h,n.currentY=m;const f=n.currentX-n.startX,g=n.currentY-n.startY;if(s.params.threshold&&Math.sqrt(f**2+g**2)<s.params.threshold)return;if(void 0===i.isScrolling){let e;s.isHorizontal()&&n.currentY===n.startY||s.isVertical()&&n.currentX===n.startX?i.isScrolling=!1:f*f+g*g>=25&&(e=180*Math.atan2(Math.abs(g),Math.abs(f))/Math.PI,i.isScrolling=s.isHorizontal()?e>r.touchAngle:90-e>r.touchAngle)}if(i.isScrolling&&s.emit("touchMoveOpposite",c),void 0===i.startMoving&&(n.currentX===n.startX&&n.currentY===n.startY||(i.startMoving=!0)),i.isScrolling)return void(i.isTouched=!1);if(!i.startMoving)return;s.allowClick=!1,!r.cssMode&&c.cancelable&&c.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&c.stopPropagation(),i.isMoved||(r.loop&&!r.cssMode&&s.loopFix(),i.startTranslate=s.getTranslate(),s.setTransition(0),s.animating&&s.$wrapperEl.trigger("webkitTransitionEnd transitionend"),i.allowMomentumBounce=!1,!r.grabCursor||!0!==s.allowSlideNext&&!0!==s.allowSlidePrev||s.setGrabCursor(!0),s.emit("sliderFirstMove",c)),s.emit("sliderMove",c),i.isMoved=!0;let v=s.isHorizontal()?f:g;n.diff=v,v*=r.touchRatio,l&&(v=-v),s.swipeDirection=v>0?"prev":"next",i.currentTranslate=v+i.startTranslate;let w=!0,b=r.resistanceRatio;if(r.touchReleaseOnEdges&&(b=0),v>0&&i.currentTranslate>s.minTranslate()?(w=!1,r.resistance&&(i.currentTranslate=s.minTranslate()-1+(-s.minTranslate()+i.startTranslate+v)**b)):v<0&&i.currentTranslate<s.maxTranslate()&&(w=!1,r.resistance&&(i.currentTranslate=s.maxTranslate()+1-(s.maxTranslate()-i.startTranslate-v)**b)),w&&(c.preventedByNestedSwiper=!0),!s.allowSlideNext&&"next"===s.swipeDirection&&i.currentTranslate<i.startTranslate&&(i.currentTranslate=i.startTranslate),!s.allowSlidePrev&&"prev"===s.swipeDirection&&i.currentTranslate>i.startTranslate&&(i.currentTranslate=i.startTranslate),s.allowSlidePrev||s.allowSlideNext||(i.currentTranslate=i.startTranslate),r.threshold>0){if(!(Math.abs(v)>r.threshold||i.allowThresholdMove))return void(i.currentTranslate=i.startTranslate);
vendor: 4,233 bytes, line 290
290if(!i.allowThresholdMove)return i.allowThresholdMove=!0,n.startX=n.currentX,n.startY=n.currentY,i.currentTranslate=i.startTranslate,void(n.diff=s.isHorizontal()?n.currentX-n.startX:n.currentY-n.startY)}r.followFinger&&!r.cssMode&&((r.freeMode&&r.freeMode.enabled&&s.freeMode||r.watchSlidesProgress)&&(s.updateActiveIndex(),s.updateSlidesClasses()),s.params.freeMode&&r.freeMode.enabled&&s.freeMode&&s.freeMode.onTouchMove(),s.updateProgress(i.currentTranslate),s.setTranslate(i.currentTranslate))}function I(e){const t=this,s=t.touchEventsData,{params:a,touches:i,rtlTranslate:r,slidesGrid:n,enabled:l}=t;if(!l)return;let o=e;if(o.originalEvent&&(o=o.originalEvent),s.allowTouchCallbacks&&t.emit("touchEnd",o),s.allowTouchCallbacks=!1,!s.isTouched)return s.isMoved&&a.grabCursor&&t.setGrabCursor(!1),s.isMoved=!1,void(s.startMoving=!1);a.grabCursor&&s.isMoved&&s.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);const d=u(),c=d-s.touchStartTime;if(t.allowClick){const e=o.path||o.composedPath&&o.composedPath();t.updateClickedSlide(e&&e[0]||o.target),t.emit("tap click",o),c<300&&d-s.lastClickTime<300&&t.emit("doubleTap doubleClick",o)}if(s.lastClickTime=u(),p((()=>{t.destroyed||(t.allowClick=!0)})),!s.isTouched||!s.isMoved||!t.swipeDirection||0===i.diff||s.currentTranslate===s.startTranslate)return s.isTouched=!1,s.isMoved=!1,void(s.startMoving=!1);let h;if(s.isTouched=!1,s.isMoved=!1,s.startMoving=!1,h=a.followFinger?r?t.translate:-t.translate:-s.currentTranslate,a.cssMode)return;if(t.params.freeMode&&a.freeMode.enabled)return void t.freeMode.onTouchEnd({currentPos:h});let m=0,f=t.slidesSizesGrid[0];for(let e=0;e<n.length;e+=e<a.slidesPerGroupSkip?1:a.slidesPerGroup){const t=e<a.slidesPerGroupSkip-1?1:a.slidesPerGroup;void 0!==n[e+t]?h>=n[e]&&h<n[e+t]&&(m=e,f=n[e+t]-n[e]):h>=n[e]&&(m=e,f=n[n.length-1]-n[n.length-2])}let g=null,v=null;a.rewind&&(t.isBeginning?v=t.params.virtual&&t.params.virtual.enabled&&t.virtual?t.virtual.slides.length-1:t.slides.length-1:t.isEnd&&(g=0));const w=(h-n[m])/f,b=m<a.slidesPerGroupSkip-1?1:a.slidesPerGroup;if(c>a.longSwipesMs){if(!a.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(w>=a.longSwipesRatio?t.slideTo(a.rewind&&t.isEnd?g:m+b):t.slideTo(m)),"prev"===t.swipeDirection&&(w>1-a.longSwipesRatio?t.slideTo(m+b):null!==v&&w<0&&Math.abs(w)>a.longSwipesRatio?t.slideTo(v):t.slideTo(m))}else{if(!a.shortSwipes)return void t.slideTo(t.activeIndex);t.navigation&&(o.target===t.navigation.nextEl||o.target===t.navigation.prevEl)?o.target===t.navigation.nextEl?t.slideTo(m+b):t.slideTo(m):("next"===t.swipeDirection&&t.slideTo(null!==g?g:m+b),"prev"===t.swipeDirection&&t.slideTo(null!==v?v:m))}}function A(){const e=this,{params:t,el:s}=e;if(s&&0===s.offsetWidth)return;t.breakpoints&&e.setBreakpoint();const{allowSlideNext:a,allowSlidePrev:i,snapGrid:r}=e;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses(),("auto"===t.slidesPerView||t.slidesPerView>1)&&e.isEnd&&!e.isBeginning&&!e.params.centeredSlides?e.slideTo(e.slides.length-1,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0),e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.run(),e.allowSlidePrev=i,e.allowSlideNext=a,e.params.watchOverflow&&r!==e.snapGrid&&e.checkOverflow()}function D(e){const t=this;t.enabled&&(t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation())))}function G(){const e=this,{wrapperEl:t,rtlTranslate:s,enabled:a}=e;if(!a)return;let i;e.previousTranslate=e.translate,e.isHorizontal()?e.translate=-t.scrollLeft:e.translate=-t.scrollTop,0===e.translate&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();const r=e.maxTranslate()-e.minTranslate();i=0===r?0:(e.translate-e.minTranslate())/r,i!==e.progress&&e.updateProgress(s?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}let N=!1;function B(){}const H=(e,t)=>{const s=a(),{params:i,touchEvents:r,el:n,wrapperEl:l,device:o,support:d}=e,c=!!i.nested,p="on"===t?"addEventListener":"removeEventListener",u=t;if(d.touch){const t=!("touchstart"!==r.start||!d.passiveListener||!i.passiveListeners)&&{passive:!0,capture:!1};
vendor: 8,934 bytes, line 290
290n[p](r.start,e.onTouchStart,t),n[p](r.move,e.onTouchMove,d.passiveListener?{passive:!1,capture:c}:c),n[p](r.end,e.onTouchEnd,t),r.cancel&&n[p](r.cancel,e.onTouchEnd,t)}else n[p](r.start,e.onTouchStart,!1),s[p](r.move,e.onTouchMove,c),s[p](r.end,e.onTouchEnd,!1);(i.preventClicks||i.preventClicksPropagation)&&n[p]("click",e.onClick,!0),i.cssMode&&l[p]("scroll",e.onScroll),i.updateOnWindowResize?e[u](o.ios||o.android?"resize orientationchange observerUpdate":"resize observerUpdate",A,!0):e[u]("observerUpdate",A,!0)};var X={attachEvents:function(){const e=this,t=a(),{params:s,support:i}=e;e.onTouchStart=L.bind(e),e.onTouchMove=O.bind(e),e.onTouchEnd=I.bind(e),s.cssMode&&(e.onScroll=G.bind(e)),e.onClick=D.bind(e),i.touch&&!N&&(t.addEventListener("touchstart",B),N=!0),H(e,"on")},detachEvents:function(){H(this,"off")}};const Y=(e,t)=>e.grid&&t.grid&&t.grid.rows>1;var R={addClasses:function(){const e=this,{classNames:t,params:s,rtl:a,$el:i,device:r,support:n}=e,l=function(e,t){const s=[];return e.forEach((e=>{"object"==typeof e?Object.keys(e).forEach((a=>{e[a]&&s.push(t+a)})):"string"==typeof e&&s.push(t+e)})),s}(["initialized",s.direction,{"pointer-events":!n.touch},{"free-mode":e.params.freeMode&&s.freeMode.enabled},{autoheight:s.autoHeight},{rtl:a},{grid:s.grid&&s.grid.rows>1},{"grid-column":s.grid&&s.grid.rows>1&&"column"===s.grid.fill},{android:r.android},{ios:r.ios},{"css-mode":s.cssMode},{centered:s.cssMode&&s.centeredSlides},{"watch-progress":s.watchSlidesProgress}],s.containerModifierClass);t.push(...l),i.addClass([...t].join(" ")),e.emitContainerClasses()},removeClasses:function(){const{$el:e,classNames:t}=this;e.removeClass(t.join(" ")),this.emitContainerClasses()}};var W={init:!0,direction:"horizontal",touchEventsTarget:"wrapper",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!0,nested:!1,createElements:!1,enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerGroup:1,slidesPerGroupSkip:0,slidesPerGroupAuto:!1,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!0,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:0,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,loopedSlidesLimit:!0,loopFillGroupWithBlank:!1,loopPreventsSlide:!0,rewind:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,maxBackfaceHiddenSlides:10,containerModifierClass:"swiper-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-invisible-blank",slideActiveClass:"swiper-slide-active",slideDuplicateActiveClass:"swiper-slide-duplicate-active",slideVisibleClass:"swiper-slide-visible",slideDuplicateClass:"swiper-slide-duplicate",slideNextClass:"swiper-slide-next",slideDuplicateNextClass:"swiper-slide-duplicate-next",slidePrevClass:"swiper-slide-prev",slideDuplicatePrevClass:"swiper-slide-duplicate-prev",wrapperClass:"swiper-wrapper",runCallbacksOnInit:!0,_emitClasses:!1};function j(e,t){return function(s){void 0===s&&(s={});const a=Object.keys(s)[0],i=s[a];"object"==typeof i&&null!==i?(["navigation","pagination","scrollbar"].indexOf(a)>=0&&!0===e[a]&&(e[a]={auto:!0}),a in e&&"enabled"in i?(!0===e[a]&&(e[a]={enabled:!0}),"object"!=typeof e[a]||"enabled"in e[a]||(e[a].enabled=!0),e[a]||(e[a]={enabled:!1}),g(t,s)):g(t,s)):g(t,s)}}const q={eventsEmitter:$,update:S,translate:M,transition:{setTransition:function(e,t){const s=this;s.params.cssMode||s.$wrapperEl.transition(e),s.emit("setTransition",e,t)},transitionStart:function(e,t){void 0===e&&(e=!0);const s=this,{params:a}=s;a.cssMode||(a.autoHeight&&s.updateAutoHeight(),P({swiper:s,runCallbacks:e,direction:t,step:"Start"}))},transitionEnd:function(e,t){void 0===e&&(e=!0);const s=this,{params:a}=s;s.animating=!1,a.cssMode||(s.setTransition(0),P({swiper:s,runCallbacks:e,direction:t,step:"End"}))}},slide:k,loop:z,grabCursor:{setGrabCursor:function(e){const t=this;if(t.support.touch||!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)return;const s="container"===t.params.touchEventsTarget?t.el:t.wrapperEl;s.style.cursor="move",s.style.cursor=e?"grabbing":"grab"},unsetGrabCursor:function(){const e=this;e.support.touch||e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e["container"===e.params.touchEventsTarget?"el":"wrapperEl"].style.cursor="")}},events:X,breakpoints:{setBreakpoint:function(){const e=this,{activeIndex:t,initialized:s,loopedSlides:a=0,params:i,$el:r}=e,n=i.breakpoints;if(!n||n&&0===Object.keys(n).length)return;const l=e.getBreakpoint(n,e.params.breakpointsBase,e.el);if(!l||e.currentBreakpoint===l)return;const o=(l in n?n[l]:void 0)||e.originalParams,d=Y(e,i),c=Y(e,o),p=i.enabled;d&&!c?(r.removeClass(`${i.containerModifierClass}grid ${i.containerModifierClass}grid-column`),e.emitContainerClasses()):!d&&c&&(r.addClass(`${i.containerModifierClass}grid`),(o.grid.fill&&"column"===o.grid.fill||!o.grid.fill&&"column"===i.grid.fill)&&r.addClass(`${i.containerModifierClass}grid-column`),e.emitContainerClasses()),["navigation","pagination","scrollbar"].forEach((t=>{const s=i[t]&&i[t].enabled,a=o[t]&&o[t].enabled;s&&!a&&e[t].disable(),!s&&a&&e[t].enable()}));const u=o.direction&&o.direction!==i.direction,h=i.loop&&(o.slidesPerView!==i.slidesPerView||u);u&&s&&e.changeDirection(),g(e.params,o);const m=e.params.enabled;Object.assign(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),p&&!m?e.disable():!p&&m&&e.enable(),e.currentBreakpoint=l,e.emit("_beforeBreakpoint",o),h&&s&&(e.loopDestroy(),e.loopCreate(),e.updateSlides(),e.slideTo(t-a+e.loopedSlides,0,!1)),e.emit("breakpoint",o)},getBreakpoint:function(e,t,s){if(void 0===t&&(t="window"),!e||"container"===t&&!s)return;let a=!1;const i=r(),n="window"===t?i.innerHeight:s.clientHeight,l=Object.keys(e).map((e=>{if("string"==typeof e&&0===e.indexOf("@")){const t=parseFloat(e.substr(1));return{value:n*t,point:e}}return{value:e,point:e}}));l.sort(((e,t)=>parseInt(e.value,10)-parseInt(t.value,10)));for(let e=0;e<l.length;e+=1){const{point:r,value:n}=l[e];"window"===t?i.matchMedia(`(min-width: ${n}px)`).matches&&(a=r):n<=s.clientWidth&&(a=r)}return a||"max"}},checkOverflow:{checkOverflow:function(){const e=this,{isLocked:t,params:s}=e,{slidesOffsetBefore:a}=s;if(a){const t=e.slides.length-1,s=e.slidesGrid[t]+e.slidesSizesGrid[t]+2*a;e.isLocked=e.size>s}else e.isLocked=1===e.snapGrid.length;!0===s.allowSlideNext&&(e.allowSlideNext=!e.isLocked),!0===s.allowSlidePrev&&(e.allowSlidePrev=!e.isLocked),t&&t!==e.isLocked&&(e.isEnd=!1),t!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock")}},classes:R,images:{loadImage:function(e,t,s,a,i,n){const l=r();let o;function c(){n&&n()}d(e).parent("picture")[0]||e.complete&&i?c():t?(o=new l.Image,o.onload=c,o.onerror=c,a&&(o.sizes=a),s&&(o.srcset=s),t&&(o.src=t)):c()},preloadImages:function(){const e=this;function t(){null!=e&&e&&!e.destroyed&&(void 0!==e.imagesLoaded&&(e.imagesLoaded+=1),e.imagesLoaded===e.imagesToLoad.length&&(e.params.updateOnImagesReady&&e.update(),e.emit("imagesReady")))}e.imagesToLoad=e.$el.find("img");for(let s=0;s<e.imagesToLoad.length;s+=1){const a=e.imagesToLoad[s];e.loadImage(a,a.currentSrc||a.getAttribute("src"),a.srcset||a.getAttribute("srcset"),a.sizes||a.getAttribute("sizes"),!0,t)}}}},_={};class V{constructor(){let e,t;for(var s=arguments.length,a=new Array(s),i=0;i<s;i++)a[i]=arguments[i];if(1===a.length&&a[0].constructor&&"Object"===Object.prototype.toString.call(a[0]).slice(8,-1)?t=a[0]:[e,t]=a,t||(t={}),t=g({},t),e&&!t.el&&(t.el=e),t.el&&d(t.el).length>1){const e=[];return d(t.el).each((s=>{const a=g({},t,{el:s});e.push(new V(a))})),e}const r=this;r.__swiper__=!0,r.support=E(),r.device=C({userAgent:t.userAgent}),r.browser=T(),r.eventsListeners={},r.eventsAnyListeners=[],r.modules=[...r.__modules__],t.modules&&Array.isArray(t.modules)&&r.modules.push(...t.modules);const n={};r.modules.forEach((e=>{e({swiper:r,extendParams:j(t,n),on:r.on.bind(r),once:r.once.bind(r),off:r.off.bind(r),emit:r.emit.bind(r)})}));const l=g({},W,n);return r.params=g({},l,_,t),r.originalParams=g({},r.params),r.passedParams=g({}
290,t),r.params&&r.params.on&&Object.keys(r.params.on).forEach((e=>{r.on(e,r.params.on[e])})),r.params&&r.params.onAny&&r.onAny(r.params.onAny),r.$=d,Object.assign(r,{enabled:r.params.enabled,el:e,classNames:[],slides:d(),slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:()=>"horizontal"===r.params.direction,isVertical:()=>"vertical"===r.params.direction,activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,allowSlideNext:r.params.allowSlideNext,allowSlidePrev:r.params.allowSlidePrev,touchEvents:function(){const e=["touchstart","touchmove","touchend","touchcancel"],t=["pointerdown","pointermove","pointerup"];return r.touchEventsTouch={start:e[0],move:e[1],end:e[2],cancel:e[3]},r.touchEventsDesktop={start:t[0],move:t[1],end:t[2]},r.support.touch||!r.params.simulateTouch?r.touchEventsTouch:r.touchEventsDesktop}(),touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:r.params.focusableElements,lastClickTime:u(),clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,isTouchEvent:void 0,startMoving:void 0},allowClick:!0,allowTouchMove:r.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),r.emit("_swiper"),r.params.init&&r.init(),r}enable(){const e=this;e.enabled||(e.enabled=!0,e.params.grabCursor&&e.setGrabCursor(),e.emit("enable"))}disable(){const e=this;e.enabled&&(e.enabled=!1,e.params.grabCursor&&e.unsetGrabCursor(),e.emit("disable"))}setProgress(e,t){const s=this;e=Math.min(Math.max(e,0),1);const a=s.minTranslate(),i=(s.maxTranslate()-a)*e+a;s.translateTo(i,void 0===t?0:t),s.updateActiveIndex(),s.updateSlidesClasses()}emitContainerClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=e.el.className.split(" ").filter((t=>0===t.indexOf("swiper")||0===t.indexOf(e.params.containerModifierClass)));e.emit("_containerClasses",t.join(" "))}getSlideClasses(e){const t=this;return t.destroyed?"":e.className.split(" ").filter((e=>0===e.indexOf("swiper-slide")||0===e.indexOf(t.params.slideClass))).join(" ")}emitSlidesClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=[];e.slides.each((s=>{const a=e.getSlideClasses(s);t.push({slideEl:s,classNames:a}),e.emit("_slideClass",s,a)})),e.emit("_slideClasses",t)}slidesPerViewDynamic(e,t){void 0===e&&(e="current"),void 0===t&&(t=!1);const{params:s,slides:a,slidesGrid:i,slidesSizesGrid:r,size:n,activeIndex:l}=this;let o=1;if(s.centeredSlides){let e,t=a[l].swiperSlideSize;for(let s=l+1;s<a.length;s+=1)a[s]&&!e&&(t+=a[s].swiperSlideSize,o+=1,t>n&&(e=!0));for(let s=l-1;s>=0;s-=1)a[s]&&!e&&(t+=a[s].swiperSlideSize,o+=1,t>n&&(e=!0))}else if("current"===e)for(let e=l+1;e<a.length;e+=1){(t?i[e]+r[e]-i[l]<n:i[e]-i[l]<n)&&(o+=1)}else for(let e=l-1;e>=0;e-=1){i[l]-i[e]<n&&(o+=1)}return o}update(){const e=this;if(!e||e.destroyed)return;const{snapGrid:t,params:s}=e;function a(){const t=e.rtlTranslate?-1*e.translate:e.translate,s=Math.min(Math.max(t,e.maxTranslate()),e.minTranslate());e.setTranslate(s),e.updateActiveIndex(),e.updateSlidesClasses()}let i;s.breakpoints&&e.setBreakpoint(),e.updateSize(),e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),e.params.freeMode&&e.params.freeMode.enabled?(a(),e.params.autoHeight&&e.updateAutoHeight()):(i=("auto"===e.params.slidesPerView||e.params.slidesPerView>1)&&e.isEnd&&!e.params.centeredSlides?e.slideTo(e.slides.length-1,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0),i||a()),s.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}changeDirection(e,t){void 0===t&&(t=!0);const s=this,a=s.params.direction;return e||(e="horizontal"===a?"vertical":"horizontal"),e===a||"horizontal"!==e&&"vertical"!==e||(s.$el.removeClass(`${s.params.containerModifierClass}${a}`).addClass(`${s.params.containerModifierClass}${e}`),s.emitContainerClasses(),s.params.direction=e,s.slides.each((t=>{"vertical"===e?t.style.width="":t.style.height=""})),s.emit("changeDirection"),t&&s.update()),s}changeLanguageDirection(e){const t=this;t.rtl&&"rtl"===e||!t.rtl&&"ltr"===e||(t.rtl="rtl"===e,t.rtlTranslate="horizontal"===t.params.direction&&t.rtl,t.rtl?(t.$el.addClass(`${t.params.containerModifierClass}rtl`),t.el.dir="rtl"):(t.$el.removeClass(`${t.params.containerModifierClass}
290rtl`),t.el.dir="ltr"),t.update())}mount(e){const t=this;if(t.mounted)return!0;const s=d(e||t.params.el);if(!(e=s[0]))return!1;e.swiper=t;const i=()=>`.${(t.params.wrapperClass||"").trim().split(" ").join(".")}`;let r=(()=>{if(e&&e.shadowRoot&&e.shadowRoot.querySelector){const t=d(e.shadowRoot.querySelector(i()));return t.children=e=>s.children(e),t}return s.children?s.children(i()):d(s).children(i())})();if(0===r.length&&t.params.createElements){const e=a().createElement("div");r=d(e),e.className=t.params.wrapperClass,s.append(e),s.children(`.${t.params.slideClass}`).each((e=>{r.append(e)}))}return Object.assign(t,{$el:s,el:e,$wrapperEl:r,wrapperEl:r[0],mounted:!0,rtl:"rtl"===e.dir.toLowerCase()||"rtl"===s.css("direction"),rtlTranslate:"horizontal"===t.params.direction&&("rtl"===e.dir.toLowerCase()||"rtl"===s.css("direction")),wrongRTL:"-webkit-box"===r.css("display")}),!0}init(e){const t=this;if(t.initialized)return t;return!1===t.mount(e)||(t.emit("beforeInit"),t.params.breakpoints&&t.setBreakpoint(),t.addClasses(),t.params.loop&&t.loopCreate(),t.updateSize(),t.updateSlides(),t.params.watchOverflow&&t.checkOverflow(),t.params.grabCursor&&t.enabled&&t.setGrabCursor(),t.params.preloadImages&&t.preloadImages(),t.params.loop?t.slideTo(t.params.initialSlide+t.loopedSlides,0,t.params.runCallbacksOnInit,!1,!0):t.slideTo(t.params.initialSlide,0,t.params.runCallbacksOnInit,!1,!0),t.attachEvents(),t.initialized=!0,t.emit("init"),t.emit("afterInit")),t}destroy(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);const s=this,{params:a,$el:i,$wrapperEl:r,slides:n}=s;return void 0===s.params||s.destroyed||(s.emit("beforeDestroy"),s.initialized=!1,s.detachEvents(),a.loop&&s.loopDestroy(),t&&(s.removeClasses(),i.removeAttr("style"),r.removeAttr("style"),n&&n.length&&n.removeClass([a.slideVisibleClass,a.slideActiveClass,a.slideNextClass,a.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")),s.emit("destroy"),Object.keys(s.eventsListeners).forEach((e=>{s.off(e)})),!1!==e&&(s.$el[0].swiper=null,function(e){const t=e;Object.keys(t).forEach((e=>{try{t[e]=null}catch(e){}try{delete t[e]}catch(e){}}))}(s)),s.destroyed=!0),null}static extendDefaults(e){g(_,e)}static get extendedDefaults(){return _}static get defaults(){return W}static installModule(e){V.prototype.__modules__||(V.prototype.__modules__=[]);const t=V.prototype.__modules__;"function"==typeof e&&t.indexOf(e)<0&&t.push(e)}static use(e){return Array.isArray(e)?(e.forEach((e=>V.installModule(e))),V):(V.installModule(e),V)}}function F(e,t,s,i){const r=a();
290return e.params.createElements&&Object.keys(i).forEach((a=>{if(!s[a]&&!0===s.auto){let n=e.$el.children(`.${i[a]}`)[0];n||(n=r.createElement("div"),n.className=i[a],e.$el.append(n)),s[a]=n,t[a]=n}})),s}function U(e){return void 0===e&&(e=""),`.${e.trim().replace(/([\.:!\/])/g,"\\$1").replace(/ /g,".")}`}function K(e){const t=this,{$wrapperEl:s,params:a}=t;if(a.loop&&t.loopDestroy(),"object"==typeof e&&"length"in e)for(let t=0;t<e.length;t+=1)e[t]&&s.append(e[t]);else s.append(e);a.loop&&t.loopCreate(),a.observer||t.update()}function Z(e){const t=this,{params:s,$wrapperEl:a,activeIndex:i}=t;s.loop&&t.loopDestroy();let r=i+1;if("object"==typeof e&&"length"in e){for(let t=0;t<e.length;t+=1)e[t]&&a.prepend(e[t]);r=i+e.length}else a.prepend(e);s.loop&&t.loopCreate(),s.observer||t.update(),t.slideTo(r,0,!1)}function Q(e,t){const s=this,{$wrapperEl:a,params:i,activeIndex:r}=s;let n=r;i.loop&&(n-=s.loopedSlides,s.loopDestroy(),s.slides=a.children(`.${i.slideClass}`));const l=s.slides.length;if(e<=0)return void s.prependSlide(t);if(e>=l)return void s.appendSlide(t);let o=n>e?n+1:n;const d=[];for(let t=l-1;t>=e;t-=1){const e=s.slides.eq(t);e.remove(),d.unshift(e)}if("object"==typeof t&&"length"in t){for(let e=0;e<t.length;e+=1)t[e]&&a.append(t[e]);o=n>e?n+t.length:n}else a.append(t);for(let e=0;e<d.length;e+=1)a.append(d[e]);i.loop&&s.loopCreate(),i.observer||s.update(),i.loop?s.slideTo(o+s.loopedSlides,0,!1):s.slideTo(o,0,!1)}function J(e){const t=this,{params:s,$wrapperEl:a,activeIndex:i}=t;let r=i;s.loop&&(r-=t.loopedSlides,t.loopDestroy(),t.slides=a.children(`.${s.slideClass}`));let n,l=r;if("object"==typeof e&&"length"in e){for(let s=0;s<e.length;s+=1)n=e[s],t.slides[n]&&t.slides.eq(n).remove(),n<l&&(l-=1);l=Math.max(l,0)}else n=e,t.slides[n]&&t.slides.eq(n).remove(),n<l&&(l-=1),l=Math.max(l,0);s.loop&&t.loopCreate(),s.observer||t.update(),s.loop?t.slideTo(l+t.loopedSlides,0,!1):t.slideTo(l,0,!1)}function ee(){const e=this,t=[];for(let s=0;s<e.slides.length;s+=1)t.push(s);e.removeSlide(t)}function te(e){const{effect:t,swiper:s,on:a,setTranslate:i,setTransition:r,overwriteParams:n,perspective:l,recreateShadows:o,getEffectParams:d}=e;let c;a("beforeInit",(()=>{if(s.params.effect!==t)return;s.classNames.push(`${s.params.containerModifierClass}${t}`),l&&l()&&s.classNames.push(`${s.params.containerModifierClass}3d`);const e=n?n():{};Object.assign(s.params,e),Object.assign(s.originalParams,e)})),a("setTranslate",(()=>{s.params.effect===t&&i()})),a("setTransition",((e,a)=>{s.params.effect===t&&r(a)})),a("transitionEnd",(()=>{if(s.params.effect===t&&o){if(!d||!d().slideShadows)return;s.slides.each((e=>{s.$(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").remove()})),o()}})),a("virtualUpdate",(()=>{s.params.effect===t&&(s.slides.length||(c=!0),requestAnimationFrame((()=>{c&&s.slides&&s.slides.length&&(i(),c=!1)})))}))}function se(e,t){return e.transformEl?t.find(e.transformEl).css({"backface-visibility":"hidden","-webkit-backface-visibility":"hidden"}):t}function ae(e){let{swiper:t,duration:s,transformEl:a,allSlides:i}=e;const{slides:r,activeIndex:n,$wrapperEl:l}=t;if(t.params.virtualTranslate&&0!==s){let e,s=!1;e=i?a?r.find(a):r:a?r.eq(n).find(a):r.eq(n),e.transitionEnd((()=>{if(s)return;if(!t||t.destroyed)return;s=!0,t.animating=!1;const e=["webkitTransitionEnd","transitionend"];for(let t=0;t<e.length;t+=1)l.trigger(e[t])}))}}function ie(e,t,s){const a="swiper-slide-shadow"+(s?`-${s}`:""),i=e.transformEl?t.find(e.transformEl):t;let r=i.children(`.${a}`);return r.length||(r=d(`<div class="swiper-slide-shadow${s?`-${s}`:""}"></div>`),i.append(r)),r}Object.keys(q).forEach((e=>
290{Object.keys(q[e]).forEach((t=>{V.prototype[t]=q[e][t]}))})),V.use([function(e){let{swiper:t,on:s,emit:a}=e;const i=r();let n=null,l=null;const o=()=>{t&&!t.destroyed&&t.initialized&&(a("beforeResize"),a("resize"))},d=()=>{t&&!t.destroyed&&t.initialized&&a("orientationchange")};s("init",(()=>{t.params.resizeObserver&&void 0!==i.ResizeObserver?t&&!t.destroyed&&t.initialized&&(n=new ResizeObserver((e=>{l=i.requestAnimationFrame((()=>{const{width:s,height:a}=t;let i=s,r=a;e.forEach((e=>{let{contentBoxSize:s,contentRect:a,target:n}=e;n&&n!==t.el||(i=a?a.width:(s[0]||s).inlineSize,r=a?a.height:(s[0]||s).blockSize)})),i===s&&r===a||o()}))})),n.observe(t.el)):(i.addEventListener("resize",o),i.addEventListener("orientationchange",d))})),s("destroy",(()=>{l&&i.cancelAnimationFrame(l),n&&n.unobserve&&t.el&&(n.unobserve(t.el),n=null),i.removeEventListener("resize",o),i.removeEventListener("orientationchange",d)}))},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=[],l=r(),o=function(e,t){void 0===t&&(t={});const s=new(l.MutationObserver||l.WebkitMutationObserver)((e=>{if(1===e.length)return void i("observerUpdate",e[0]);const t=function(){i("observerUpdate",e[0])};l.requestAnimationFrame?l.requestAnimationFrame(t):l.setTimeout(t,0)}));s.observe(e,{attributes:void 0===t.attributes||t.attributes,childList:void 0===t.childList||t.childList,characterData:void 0===t.characterData||t.characterData}),n.push(s)};s({observer:!1,observeParents:!1,observeSlideChildren:!1}),a("init",(()=>{if(t.params.observer){if(t.params.observeParents){const e=t.$el.parents();for(let t=0;t<e.length;t+=1)o(e[t])}o(t.$el[0],{childList:t.params.observeSlideChildren}),o(t.$wrapperEl[0],{attributes:!1})}})),a("destroy",(()=>{n.forEach((e=>{e.disconnect()})),n.splice(0,n.length)}))}]);const re=[function(e){let t,{swiper:s,extendParams:a,on:i,emit:r}=e;function n(e,t){const a=s.params.virtual;if(a.cache&&s.virtual.cache[t])return s.virtual.cache[t];const i=a.renderSlide?d(a.renderSlide.call(s,e,t)):d(`<div class="${s.params.slideClass}" data-swiper-slide-index="${t}">${e}</div>`);return i.attr("data-swiper-slide-index")||i.attr("data-swiper-slide-index",t),a.cache&&(s.virtual.cache[t]=i),i}function l(e){const{slidesPerView:t,slidesPerGroup:a,centeredSlides:i}=s.params,{addSlidesBefore:l,addSlidesAfter:o}=s.params.virtual,{from:d,to:c,slides:p,slidesGrid:u,offset:h}=s.virtual;s.params.cssMode||s.updateActiveIndex();const m=s.activeIndex||0;let f,g,v;f=s.rtlTranslate?"right":s.isHorizontal()?"left":"top",i?(g=Math.floor(t/2)+a+o,v=Math.floor(t/2)+a+l):(g=t+(a-1)+o,v=a+l);const w=Math.max((m||0)-v,0),b=Math.min((m||0)+g,p.length-1),x=(s.slidesGrid[w]||0)-(s.slidesGrid[0]||0);function y(){s.updateSlides(),s.updateProgress(),s.updateSlidesClasses(),s.lazy&&s.params.lazy.enabled&&s.lazy.load(),r("virtualUpdate")}if(Object.assign(s.virtual,{from:w,to:b,offset:x,slidesGrid:s.slidesGrid}),d===w&&c===b&&!e)return s.slidesGrid!==u&&x!==h&&s.slides.css(f,`${x}px`),s.updateProgress(),void r("virtualUpdate");if(s.params.virtual.renderExternal)return s.params.virtual.renderExternal.call(s,{offset:x,from:w,to:b,slides:function(){const e=[];for(let t=w;t<=b;t+=1)e.push(p[t]);return e}()}),void(s.params.virtual.renderExternalUpdate?y():r("virtualUpdate"));const E=[],C=[];if(e)s.$wrapperEl.find(`.${s.params.slideClass}`).remove();else for(let e=d;e<=c;e+=1)(e<w||e>b)&&s.$wrapperEl.find(`.${s.params.slideClass}[data-swiper-slide-index="${e}"]`).remove();for(let t=0;t<p.length;t+=1)t>=w&&t<=b&&(void 0===c||e?C.push(t):(t>c&&C.push(t),t<d&&E.push(t)));C.forEach((e=>{s.$wrapperEl.append(n(p[e],e))})),E.sort(((e,t)=>t-e)).forEach((e=>{s.$wrapperEl.prepend(n(p[e],e))})),s.$wrapperEl.children(".swiper-slide").css(f,`${x}px`),y()}a({virtual:{enabled:!1,slides:[],cache:!0,renderSlide:null,renderExternal:null,renderExternalUpdate:!0,addSlidesBefore:0,addSlidesAfter:0}}),s.virtual={cache:{},from:void 0,to:void 0,slides:[],offset:0,slidesGrid:[]},i("beforeInit",(()=>{s.params.virtual.enabled&&(s.virtual.slides=s.params.virtual.slides,s.classNames.push(`${s.params.containerModifierClass}virtual`),s.params.watchSlidesProgress=!0,s.originalParams.watchSlidesProgress=!0,s.params.initialSlide||l())})),i("setTranslate",(()=>{s.params.virtual.enabled&&(s.params.cssMode&&!s._immediateVirtual?(clearTimeout(t),t=setTimeout((()=>{l()}),100)):l())})),i("init update resize",(()=>{s.params.virtual.enabled&&s.params.cssMode&&v(s.wrapperEl,"--swiper-virtual-size",`${s.virtualSize}px`)})),Object.assign(s.virtual,{appendSlide:function(e){if("object"==typeof e&&"length"in e)for(let t=0;t<e.length;t+=1)e[t]&&s.virtual.slides.push(e[t]);else s.virtual.slides.push(e);l(!0)},prependSlide:function(e){const t=s.activeIndex;let a=t+1,i=1;if(Array.isArray(e)){for(let t=0;t<e.length;t+=1)e[t]&&s.virtual.slides.unshift(e[t]);a=t+e.length,i=e.length}else s.virtual.slides.unshift(e);
vendor: 4,764 bytes, line 290
290if(s.params.virtual.cache){const e=s.virtual.cache,t={};Object.keys(e).forEach((s=>{const a=e[s],r=a.attr("data-swiper-slide-index");r&&a.attr("data-swiper-slide-index",parseInt(r,10)+i),t[parseInt(s,10)+i]=a})),s.virtual.cache=t}l(!0),s.slideTo(a,0)},removeSlide:function(e){if(null==e)return;let t=s.activeIndex;if(Array.isArray(e))for(let a=e.length-1;a>=0;a-=1)s.virtual.slides.splice(e[a],1),s.params.virtual.cache&&delete s.virtual.cache[e[a]],e[a]<t&&(t-=1),t=Math.max(t,0);else s.virtual.slides.splice(e,1),s.params.virtual.cache&&delete s.virtual.cache[e],e<t&&(t-=1),t=Math.max(t,0);l(!0),s.slideTo(t,0)},removeAllSlides:function(){s.virtual.slides=[],s.params.virtual.cache&&(s.virtual.cache={}),l(!0),s.slideTo(0,0)},update:l})},function(e){let{swiper:t,extendParams:s,on:i,emit:n}=e;const l=a(),o=r();function c(e){if(!t.enabled)return;const{rtlTranslate:s}=t;let a=e;a.originalEvent&&(a=a.originalEvent);const i=a.keyCode||a.charCode,r=t.params.keyboard.pageUpDown,d=r&&33===i,c=r&&34===i,p=37===i,u=39===i,h=38===i,m=40===i;if(!t.allowSlideNext&&(t.isHorizontal()&&u||t.isVertical()&&m||c))return!1;if(!t.allowSlidePrev&&(t.isHorizontal()&&p||t.isVertical()&&h||d))return!1;if(!(a.shiftKey||a.altKey||a.ctrlKey||a.metaKey||l.activeElement&&l.activeElement.nodeName&&("input"===l.activeElement.nodeName.toLowerCase()||"textarea"===l.activeElement.nodeName.toLowerCase()))){if(t.params.keyboard.onlyInViewport&&(d||c||p||u||h||m)){let e=!1;if(t.$el.parents(`.${t.params.slideClass}`).length>0&&0===t.$el.parents(`.${t.params.slideActiveClass}`).length)return;const a=t.$el,i=a[0].clientWidth,r=a[0].clientHeight,n=o.innerWidth,l=o.innerHeight,d=t.$el.offset();s&&(d.left-=t.$el[0].scrollLeft);const c=[[d.left,d.top],[d.left+i,d.top],[d.left,d.top+r],[d.left+i,d.top+r]];for(let t=0;t<c.length;t+=1){const s=c[t];if(s[0]>=0&&s[0]<=n&&s[1]>=0&&s[1]<=l){if(0===s[0]&&0===s[1])continue;e=!0}}if(!e)return}t.isHorizontal()?((d||c||p||u)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),((c||u)&&!s||(d||p)&&s)&&t.slideNext(),((d||p)&&!s||(c||u)&&s)&&t.slidePrev()):((d||c||h||m)&&(a.preventDefault?a.preventDefault():a.returnValue=!1),(c||m)&&t.slideNext(),(d||h)&&t.slidePrev()),n("keyPress",i)}}function p(){t.keyboard.enabled||(d(l).on("keydown",c),t.keyboard.enabled=!0)}function u(){t.keyboard.enabled&&(d(l).off("keydown",c),t.keyboard.enabled=!1)}t.keyboard={enabled:!1},s({keyboard:{enabled:!1,onlyInViewport:!0,pageUpDown:!0}}),i("init",(()=>{t.params.keyboard.enabled&&p()})),i("destroy",(()=>{t.keyboard.enabled&&u()})),Object.assign(t.keyboard,{enable:p,disable:u})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=r();let l;s({mousewheel:{enabled:!1,releaseOnEdges:!1,invert:!1,forceToAxis:!1,sensitivity:1,eventsTarget:"container",thresholdDelta:null,thresholdTime:null}}),t.mousewheel={enabled:!1};let o,c=u();const h=[];function m(){t.enabled&&(t.mouseEntered=!0)}function f(){t.enabled&&(t.mouseEntered=!1)}function g(e){return!(t.params.mousewheel.thresholdDelta&&e.delta<t.params.mousewheel.thresholdDelta)&&(!(t.params.mousewheel.thresholdTime&&u()-c<t.params.mousewheel.thresholdTime)&&(e.delta>=6&&u()-c<60||(e.direction<0?t.isEnd&&!t.params.loop||t.animating||(t.slideNext(),i("scroll",e.raw)):t.isBeginning&&!t.params.loop||t.animating||(t.slidePrev(),i("scroll",e.raw)),c=(new n.Date).getTime(),!1)))}function v(e){let s=e,a=!0;if(!t.enabled)return;const r=t.params.mousewheel;t.params.cssMode&&s.preventDefault();let n=t.$el;if("container"!==t.params.mousewheel.eventsTarget&&(n=d(t.params.mousewheel.eventsTarget)),!t.mouseEntered&&!n[0].contains(s.target)&&!r.releaseOnEdges)return!0;s.originalEvent&&(s=s.originalEvent);let c=0;const m=t.rtlTranslate?-1:1,f=function(e){let t=0,s=0,a=0,i=0;return"detail"in e&&(s=e.detail),"wheelDelta"in e&&(s=-e.wheelDelta/120),"wheelDeltaY"in e&&(s=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=s,s=0),a=10*t,i=10*s,"deltaY"in e&&(i=e.deltaY),"deltaX"in e&&(a=e.deltaX),e.shiftKey&&!a&&(a=i,i=0),(a||i)&&e.deltaMode&&(1===e.deltaMode?(a*=40,i*=40):(a*=800,i*=800)),a&&!t&&(t=a<1?-1:1),i&&!s&&(s=i<1?-1:1),{spinX:t,spinY:s,pixelX:a,pixelY:i}}(s);if(r.forceToAxis)if(t.isHorizontal()){if(!(Math.abs(f.pixelX)>Math.abs(f.pixelY)))return!0;c=-f.pixelX*m}else{if(!(Math.abs(f.pixelY)>Math.abs(f.pixelX)))return!0;c=-f.pixelY}else c=Math.abs(f.pixelX)>Math.abs(f.pixelY)?-f.pixelX*m:-f.pixelY;if(0===c)return!0;r.invert&&(c=-c);let v=t.getTranslate()+c*r.sensitivity;if(v>=t.minTranslate()&&(v=t.minTranslate()),v<=t.maxTranslate()&&(v=t.maxTranslate()),a=!!t.params.loop||!(v===t.minTranslate()||v===t.maxTranslate()),a&&t.params.nested&&s.stopPropagation(),t.params.freeMode&&t.params.freeMode.enabled){const e={t
290ime:u(),delta:Math.abs(c),direction:Math.sign(c)},a=o&&e.time<o.time+500&&e.delta<=o.delta&&e.direction===o.direction;if(!a){o=void 0,t.params.loop&&t.loopFix();let n=t.getTranslate()+c*r.sensitivity;const d=t.isBeginning,u=t.isEnd;if(n>=t.minTranslate()&&(n=t.minTranslate()),n<=t.maxTranslate()&&(n=t.maxTranslate()),t.setTransition(0),t.setTranslate(n),t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses(),(!d&&t.isBeginning||!u&&t.isEnd)&&t.updateSlidesClasses(),t.params.freeMode.sticky){clearTimeout(l),l=void 0,h.length>=15&&h.shift();const s=h.length?h[h.length-1]:void 0,a=h[0];if(h.push(e),s&&(e.delta>s.delta||e.direction!==s.direction))h.splice(0);else if(h.length>=15&&e.time-a.time<500&&a.delta-e.delta>=1&&e.delta<=6){const s=c>0?.8:.2;o=e,h.splice(0),l=p((()=>{t.slideToClosest(t.params.speed,!0,void 0,s)}),0)}l||(l=p((()=>{o=e,h.splice(0),t.slideToClosest(t.params.speed,!0,void 0,.5)}),500))}if(a||i("scroll",s),t.params.autoplay&&t.params.autoplayDisableOnInteraction&&t.autoplay.stop(),n===t.minTranslate()||n===t.maxTranslate())return!0}}else{const s={time:u(),delta:Math.abs(c),direction:Math.sign(c),raw:e};h.length>=2&&h.shift();const a=h.length?h[h.length-1]:void 0;if(h.push(s),a?(s.direction!==a.direction||s.delta>a.delta||s.time>a.time+150)&&g(s):g(s),function(e){const s=t.params.mousewheel;if(e.direction<0){if(t.isEnd&&!t.params.loop&&s.releaseOnEdges)return!0}else if(t.isBeginning&&!t.params.loop&&s.releaseOnEdges)return!0;return!1}(s))return!0}return s.preventDefault?s.preventDefault():s.returnValue=!1,!1}function w(e){let s=t.$el;"container"!==t.params.mousewheel.eventsTarget&&(s=d(t.params.mousewheel.eventsTarget)),s[e]("mouseenter",m),s[e]("mouseleave",f),s[e]("wheel",v)}function b(){return t.params.cssMode?(t.wrapperEl.removeEventListener("wheel",v),!0):!t.mousewheel.enabled&&(w("on"),t.mousewheel.enabled=!0,!0)}function x(){return t.params.cssMode?(t.wrapperEl.addEventListener(event,v),!0):!!t.mousewheel.enabled&&(w("off"),t.mousewheel.enabled=!1,!0)}a("init",(()=>{!t.params.mousewheel.enabled&&t.params.cssMode&&x(),t.params.mousewheel.enabled&&b()})),a("destroy",(()=>{t.params.cssMode&&b(),t.mousewheel.enabled&&x()})),Object.assign(t.mousewheel,{enable:b,disable:x})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;function r(e){let s;return e&&(s=d(e),t.params.uniqueNavElements&&"string"==typeof e&&s.length>1&&1===t.$el.find(e).length&&(s=t.$el.find(e))),s}function n(e,s){const a=t.params.navigation;e&&e.length>0&&(e[s?"addClass":"removeClass"](a.disabledClass),e[0]&&"BUTTON"===e[0].tagName&&(e[0].disabled=s),t.params.watchOverflow&&t.enabled&&e[t.isLocked?"addClass":"removeClass"](a.lockClass))}function l(){if(t.params.loop)return;const{$nextEl:e,$prevEl:s}=t.navigation;n(s,t.isBeginning&&!t.params.rewind),n(e,t.isEnd&&!t.params.rewind)}function o(e){e.preventDefault(),(!t.isBeginning||t.params.loop||t.params.rewind)&&(t.slidePrev(),i("navigationPrev"))}function c(e){e.preventDefault(),(!t.isEnd||t.params.loop||t.params.rewind)&&(t.slideNext(),i("navigationNext"))}function p(){const e=t.params.navigation;if(t.params.navigation=F(t,t.originalParams.navigation,t.params.navigation,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),!e.nextEl&&!e.prevEl)return;const s=r(e.nextEl),a=r(e.prevEl);s&&s.length>0&&s.on("click",c),a&&a.length>0&&a.on("click",o),Object.assign(t.navigation,{$nextEl:s,nextEl:s&&s[0],$prevEl:a,prevEl:a&&a[0]}),t.enabled||(s&&s.addClass(e.lockClass),a&&a.addClass(e.lockClass))}function u(){const{$nextEl:e,$prevEl:s}=t.navigation;e&&e.length&&(e.off("click",c),e.removeClass(t.params.navigation.disabledClass)),s&&s.length&&(s.off("click",o),s.removeClass(t.params.navigation.disabledClass))}s({navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock",navigationDisabledClass:"swiper-navigation-disabled"}}),t.navigation={nextEl:null,$nextEl:null,prevEl:null,$prevEl:null},a("init",(()=>{!1===t.params.navigation.enabled?h():(p(),l())})),a("toEdge fromEdge lock unlock",(()=>{l()})),a("destroy",(()=>{u()})),a("enable disable",(()=>{const{$nextEl:e,$prevEl:s}=t.navigation;e&&e[t.enabled?"removeClass":"addClass"](t.params.navigation.lockClass),s&&s[t.enabled?"removeClass":"addClass"](t.params.navigation.lockClass)})),a("click",((e,s)=>{const{$nextEl:a,$prevEl:r}=t.navigation,n=s.target;if(t.params.navigation.hideOnClick&&!d(n).is(r)&&!d(n).is(a)){if(t.pagination&&t.params.pagination&&t.params.pagination.clickable&&(t.pagination.el===n||t.pagination.el.contains(n)))return;let e;a?e=a.hasClass(t.params.navigation.hiddenClass):r&&(e=r.hasClass(t.params.navigation.hiddenClass)),i(!0===e?"navigationShow":"navigationHide"),a&&a.toggleClass(t.params.navigation.hiddenClass),r&&r.toggleClass(t.params.navigation.hiddenClass)}}));const h=()=>{t.$el.addClass(t.params.navigation.navigationDisabledClass),u()};Object.assign(t.navigation,{enable:()=>{t.$el.removeClass(t.params.navigation.navigationDisabledClass),p(),l()},disable:h,update:l,init:p,destroy:u})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const r="swiper-pagination";let n;s({pagination:{el:null,bulletElement:"span",clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:"bullets",dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:e=>e,formatFractionTotal:e=>e,bulletClass:`${r}-bullet`,bulletActiveClass:`${r}-bullet-active`,modifierClass:`${r}-`,currentClass:`${r}-current`,totalClass:`${r}-total`,hiddenClass:`${r}-hidden`,progressbarFillClass:`${r}-progressbar-fill`,progressbarOppositeClass:`${r}-progressbar-opposite`,clickableClass:`${r}
290-clickable`,lockClass:`${r}-lock`,horizontalClass:`${r}-horizontal`,verticalClass:`${r}-vertical`,paginationDisabledClass:`${r}-disabled`}}),t.pagination={el:null,$el:null,bullets:[]};let l=0;function o(){return!t.params.pagination.el||!t.pagination.el||!t.pagination.$el||0===t.pagination.$el.length}function c(e,s){const{bulletActiveClass:a}=t.params.pagination;e[s]().addClass(`${a}-${s}`)[s]().addClass(`${a}-${s}-${s}`)}function p(){const e=t.rtl,s=t.params.pagination;if(o())return;const a=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.slides.length,r=t.pagination.$el;let p;const u=t.params.loop?Math.ceil((a-2*t.loopedSlides)/t.params.slidesPerGroup):t.snapGrid.length;if(t.params.loop?(p=Math.ceil((t.activeIndex-t.loopedSlides)/t.params.slidesPerGroup),p>a-1-2*t.loopedSlides&&(p-=a-2*t.loopedSlides),p>u-1&&(p-=u),p<0&&"bullets"!==t.params.paginationType&&(p=u+p)):p=void 0!==t.snapIndex?t.snapIndex:t.activeIndex||0,"bullets"===s.type&&t.pagination.bullets&&t.pagination.bullets.length>0){const a=t.pagination.bullets;let i,o,u;if(s.dynamicBullets&&(n=a.eq(0)[t.isHorizontal()?"outerWidth":"outerHeight"](!0),r.css(t.isHorizontal()?"width":"height",n*(s.dynamicMainBullets+4)+"px"),s.dynamicMainBullets>1&&void 0!==t.previousIndex&&(l+=p-(t.previousIndex-t.loopedSlides||0),l>s.dynamicMainBullets-1?l=s.dynamicMainBullets-1:l<0&&(l=0)),i=Math.max(p-l,0),o=i+(Math.min(a.length,s.dynamicMainBullets)-1),u=(o+i)/2),a.removeClass(["","-next","-next-next","-prev","-prev-prev","-main"].map((e=>`${s.bulletActiveClass}${e}`)).join(" ")),r.length>1)a.each((e=>{const t=d(e),a=t.index();a===p&&t.addClass(s.bulletActiveClass),s.dynamicBullets&&(a>=i&&a<=o&&t.addClass(`${s.bulletActiveClass}-main`),a===i&&c(t,"prev"),a===o&&c(t,"next"))}));else{const e=a.eq(p),r=e.index();if(e.addClass(s.bulletActiveClass),s.dynamicBullets){const e=a.eq(i),n=a.eq(o);for(let e=i;e<=o;e+=1)a.eq(e).addClass(`${s.bulletActiveClass}-main`);if(t.params.loop)if(r>=a.length){for(let e=s.dynamicMainBullets;e>=0;e-=1)a.eq(a.length-e).addClass(`${s.bulletActiveClass}-main`);a.eq(a.length-s.dynamicMainBullets-1).addClass(`${s.bulletActiveClass}-prev`)}else c(e,"prev"),c(n,"next");else c(e,"prev"),c(n,"next")}}if(s.dynamicBullets){const i=Math.min(a.length,s.dynamicMainBullets+4),r=(n*i-n)/2-u*n,l=e?"right":"left";a.css(t.isHorizontal()?l:"top",`${r}px`)}}if("fraction"===s.type&&(r.find(U(s.currentClass)).text(s.formatFractionCurrent(p+1)),r.find(U(s.totalClass)).text(s.formatFractionTotal(u))),"progressbar"===s.type){let e;e=s.progressbarOpposite?t.isHorizontal()?"vertical":"horizontal":t.isHorizontal()?"horizontal":"vertical";const a=(p+1)/u;let i=1,n=1;"horizontal"===e?i=a:n=a,r.find(U(s.progressbarFillClass)).transform(`translate3d(0,0,0) scaleX(${i}) scaleY(${n})`).transition(t.params.speed)}"custom"===s.type&&s.renderCustom?(r.html(s.renderCustom(t,p+1,u)),i("paginationRender",r[0])):i("paginationUpdate",r[0]),t.params.watchOverflow&&t.enabled&&r[t.isLocked?"addClass":"removeClass"](s.lockClass)}function u(){const e=t.params.pagination;if(o())return;const s=t.virtual&&t.params.virtual.enabled?t.virtual.slides.length:t.slides.length,a=t.pagination.$el;let r="";if("bullets"===e.type){let i=t.params.loop?Math.ceil((s-2*t.loopedSlides)/t.params.slidesPerGroup):t.snapGrid.length;t.params.freeMode&&t.params.freeMode.enabled&&!t.params.loop&&i>s&&(i=s);for(let s=0;s<i;s+=1)e.renderBullet?r+=e.renderBullet.call(t,s,e.bulletClass):r+=`<${e.bulletElement} class="${e.bulletClass}"></${e.bulletElement}>`;a.html(r),t.pagination.bullets=a.find(U(e.bulletClass))}"fraction"===e.type&&(r=e.renderFraction?e.renderFraction.call(t,e.currentClass,e.totalClass):`<span class="${e.currentClass}"></span> / <span class="${e.totalClass}"></span>`,a.html(r)),"progressbar"===e.type&&(r=e.renderProgressbar?e.renderProgressbar.call(t,e.progressbarFillClass):`<span class="${e.progressbarFillClass}"></span>`,a.html(r)),"custom"!==e.type&&i("paginationRender",t.pagination.$el[0])}function h(){t.params.pagination=F(t,t.originalParams.pagination,t.params.pagination,{el:"swiper-pagination"});const e=t.params.pagination;if(!e.el)return;let s=d(e.el);0!==s.length&&(t.params.uniqueNavElements&&"string"==typeof e.el&&s.length>1&&(s=t.$el.find(e.el),s.length>1&&(s=s.filter((e=>d(e).parents(".swiper")[0]===t.el)))),"bullets"===e.type&&e.clickable&&s.addClass(e.clickableClass),s.addClass(e.modifierClass+e.type),s.addClass(t.isHorizontal()?e.horizontalClass:e.verticalClass),"bullets"===e.type&&e.dynamicBullets&&(s.addClass(`${e.modifierClass}${e.type}-dynamic`),l=0,e.dynamicMainBullets<1&&(e.dynamicMainBullets=1)),"progressbar"===e.type&&e.progressbarOpposite&&s.addClass(e.progressbarOppositeClass),e.clickable&&s.on("click",U(e.bulletClass),(function(e){e.preventDefault();let s=d(this).index()*t.params.slidesPerGroup;t.params.loop&&(s+=t.loopedSlides),t.slideTo(s)})),Object.assign(t.pagination,{$el:s,el:s[0]}),t.enabled||s.addClass(e.lockClass))}function m(){const e=t.params.pagination;if(o())return;const s=t.pagination.$el;s.removeClass(e.hiddenClass),s.removeClass(e.modifierClass+e.type),s.removeClass(t.isHorizontal()?e.horizontalClass:e.verticalClass),t.pagination.bullets&&t.pagination.bullets.removeClass&&t.pagination.bullets.removeClass(e.bulletActiveClass),e.clickable&&s.off("click",U(e.bulletClass))}a("init",(()=>{!1===t.params.pagination.enabled?f():(h(),u(),p())})),a("activeIndexChange",(()=>{(t.params.loop||void 0===t.snapIndex)&&p()})),a("snapIndexChange",(()=>{t.params.loop||p()})),a("slidesLengthChange",(()=>{t.params.loop&&(u(),p())})),a("snapGridLengthChange",(()=>{t.params.loop||(u(),p())})),a("destroy",(()=>{m()}
vendor: 10,059 bytes, line 290
290)),a("enable disable",(()=>{const{$el:e}=t.pagination;e&&e[t.enabled?"removeClass":"addClass"](t.params.pagination.lockClass)})),a("lock unlock",(()=>{p()})),a("click",((e,s)=>{const a=s.target,{$el:r}=t.pagination;if(t.params.pagination.el&&t.params.pagination.hideOnClick&&r&&r.length>0&&!d(a).hasClass(t.params.pagination.bulletClass)){if(t.navigation&&(t.navigation.nextEl&&a===t.navigation.nextEl||t.navigation.prevEl&&a===t.navigation.prevEl))return;const e=r.hasClass(t.params.pagination.hiddenClass);i(!0===e?"paginationShow":"paginationHide"),r.toggleClass(t.params.pagination.hiddenClass)}}));const f=()=>{t.$el.addClass(t.params.pagination.paginationDisabledClass),t.pagination.$el&&t.pagination.$el.addClass(t.params.pagination.paginationDisabledClass),m()};Object.assign(t.pagination,{enable:()=>{t.$el.removeClass(t.params.pagination.paginationDisabledClass),t.pagination.$el&&t.pagination.$el.removeClass(t.params.pagination.paginationDisabledClass),h(),u(),p()},disable:f,render:u,update:p,init:h,destroy:m})},function(e){let{swiper:t,extendParams:s,on:i,emit:r}=e;const n=a();let l,o,c,u,h=!1,m=null,f=null;function g(){if(!t.params.scrollbar.el||!t.scrollbar.el)return;const{scrollbar:e,rtlTranslate:s,progress:a}=t,{$dragEl:i,$el:r}=e,n=t.params.scrollbar;let l=o,d=(c-o)*a;s?(d=-d,d>0?(l=o-d,d=0):-d+o>c&&(l=c+d)):d<0?(l=o+d,d=0):d+o>c&&(l=c-d),t.isHorizontal()?(i.transform(`translate3d(${d}px, 0, 0)`),i[0].style.width=`${l}px`):(i.transform(`translate3d(0px, ${d}px, 0)`),i[0].style.height=`${l}px`),n.hide&&(clearTimeout(m),r[0].style.opacity=1,m=setTimeout((()=>{r[0].style.opacity=0,r.transition(400)}),1e3))}function v(){if(!t.params.scrollbar.el||!t.scrollbar.el)return;const{scrollbar:e}=t,{$dragEl:s,$el:a}=e;s[0].style.width="",s[0].style.height="",c=t.isHorizontal()?a[0].offsetWidth:a[0].offsetHeight,u=t.size/(t.virtualSize+t.params.slidesOffsetBefore-(t.params.centeredSlides?t.snapGrid[0]:0)),o="auto"===t.params.scrollbar.dragSize?c*u:parseInt(t.params.scrollbar.dragSize,10),t.isHorizontal()?s[0].style.width=`${o}px`:s[0].style.height=`${o}px`,a[0].style.display=u>=1?"none":"",t.params.scrollbar.hide&&(a[0].style.opacity=0),t.params.watchOverflow&&t.enabled&&e.$el[t.isLocked?"addClass":"removeClass"](t.params.scrollbar.lockClass)}function w(e){return t.isHorizontal()?"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].clientX:e.clientX:"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].clientY:e.clientY}function b(e){const{scrollbar:s,rtlTranslate:a}=t,{$el:i}=s;let r;r=(w(e)-i.offset()[t.isHorizontal()?"left":"top"]-(null!==l?l:o/2))/(c-o),r=Math.max(Math.min(r,1),0),a&&(r=1-r);const n=t.minTranslate()+(t.maxTranslate()-t.minTranslate())*r;t.updateProgress(n),t.setTranslate(n),t.updateActiveIndex(),t.updateSlidesClasses()}function x(e){const s=t.params.scrollbar,{scrollbar:a,$wrapperEl:i}=t,{$el:n,$dragEl:o}=a;h=!0,l=e.target===o[0]||e.target===o?w(e)-e.target.getBoundingClientRect()[t.isHorizontal()?"left":"top"]:null,e.preventDefault(),e.stopPropagation(),i.transition(100),o.transition(100),b(e),clearTimeout(f),n.transition(0),s.hide&&n.css("opacity",1),t.params.cssMode&&t.$wrapperEl.css("scroll-snap-type","none"),r("scrollbarDragStart",e)}function y(e){const{scrollbar:s,$wrapperEl:a}=t,{$el:i,$dragEl:n}=s;h&&(e.preventDefault?e.preventDefault():e.returnValue=!1,b(e),a.transition(0),i.transition(0),n.transition(0),r("scrollbarDragMove",e))}function E(e){const s=t.params.scrollbar,{scrollbar:a,$wrapperEl:i}=t,{$el:n}=a;h&&(h=!1,t.params.cssMode&&(t.$wrapperEl.css("scroll-snap-type",""),i.transition("")),s.hide&&(clearTimeout(f),f=p((()=>{n.css("opacity",0),n.transition(400)}),1e3)),r("scrollbarDragEnd",e),s.snapOnRelease&&t.slideToClosest())}function C(e){const{scrollbar:s,touchEventsTouch:a,touchEventsDesktop:i,params:r,support:l}=t,o=s.$el;if(!o)return;const d=o[0],c=!(!l.passiveListener||!r.passiveListeners)&&{passive:!1,capture:!1},p=!(!l.passiveListener||!r.passiveListeners)&&{passive:!0,capture:!1};if(!d)return;const u="on"===e?"addEventListener":"removeEventListener";l.touch?(d[u](a.start,x,c),d[u](a.move,y,c),d[u](a.end,E,p)):(d[u](i.start,x,c),n[u](i.move,y,c),n[u](i.end,E,p))}function T(){const{scrollbar:e,$el:s}=t;t.params.scrollbar=F(t,t.originalParams.scrollbar,t.params.scrollbar,{el:"swiper-scrollbar"});const a=t.params.scrollbar;if(!a.el)return;let i=d(a.el);t.params.uniqueNavElements&&"string"==typeof a.el&&i.length>1&&1===s.find(a.el).length&&(i=s.find(a.el)),i.addClass(t.isHorizontal()?a.horizontalClass:a.verticalClass);let r=i.find(`.${t.params.scrollbar.dragClass}`);0===r.length&&(r=d(`<div class="${t.params.scrollbar.dragClass}"></div>`),i.append(r)),Object.assign(e,{$el:i,el:i[0],$dragEl:r,dragEl:r[0]}),a.draggable&&t.params.scrollbar.el&&t.scrollbar.el&&C("on"),i&&i[t.enabled?"removeClass":"addClass"](t.params.scrollbar.lockClass)}function $(){const e=t.params.scrollbar,s=t.scrollbar.$el;s&&s.removeClass(t.isHorizontal()?e.horizontalClass:e.verticalClass),t.params.scrollbar.el&&t.scrollbar.el&&C("off")}s({scrollbar:{el:null,dragSize:"auto",hide:!1,draggable:!1,snapOnRelease:!0,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag",scrollbarDisabledClass:"swiper-scrollbar-disabled",horizontalClass:"swiper-scrollbar-horizontal",verticalClass:"swiper-scrollbar-vertical"}}),t.scrollbar={el:null,dragEl:null,$el:null,$dragEl:null},i("init",(()=>{!1===t.params.scrollbar.enabled?S():(T(),v(),g())})),i("update resize observerUpdate lock unlock",(()=>{v()})),i("setTranslate",(()=>{g()})),i("setTransition",((e,s)=>{!function(e){t.params.scrollbar.el&&t.scrollbar.el&&t.scrollbar.$dragEl.transition(e)}(s)})),i("enable disable",(()=>{const{$el:e}=t.scrollbar;e&&e[t.enabled?"removeClass":"addClass"](t.params.scrollbar.lockClass)})),i("destroy",(()=>{$()}));const S=()=>{t.$el.addClass(t.params.scrollbar.scrollbarDisabledClass),t.scrollbar.$el&&t.scrollbar.$el.addClass(t.params.scrollbar.scrollbarDisabledClass),$()};Object.assign(t.scrollbar,{enable:()=>{t.$el.removeClass(t.params.scrollbar.scrollbarDisabledClass),t.scrollbar.$el&&t.scrollbar.$el.removeClass(t.params.scrollbar.scrollbarDisabledClass),T(),v(),g()},disable:S,updateSize:v,setTranslate:g,init:T,destroy:$})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({parallax:{enabled:!1}});const i=(e,s)=>{const{rtl:a}=t,i=d(e),r=a?-1:1,n=i.attr("data-swiper-parallax")||"0";let l=i.attr("data-swiper-parallax-x"),o=i.attr("data-swiper-parallax-y");const c=i.attr("data-swiper-parallax-scale"),p=i.attr("data-swiper-parallax-opacity");if(l||o?(l=l||"0",o=o||"0"):t.isHorizontal()?(l=n,o="0"):(o=n,l="0"),l=l.indexOf("%")>=0?parseInt(l,10)*s*r+"%":l*s*r+"px",o=o.indexOf("%")>=0?parseInt(o,10)*s+"%":o*s+"px",null!=p){const e=p-(p-1)*(1-Math.abs(s));i[0].style.opacity=e}if(null==c)i.transform(`translate3d(${l}, ${o}, 0px)`);else{const e=c-(c-1)*(1-Math.abs(s));i.transform(`translate3d(${l}, ${o}, 0px) scale(${e})`)}},r=()=>{const{$el:e,slides:s,progress:a,snapGrid:r}=t;e.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((e=>{i(e,a)})),s.each(((e,s)=>{let n=e.progress;t.params.slidesPerGroup>1&&"auto"!==t.params.slidesPerView&&(n+=Math.ceil(s/2)-a*(r.length-1)),n=Math.min(Math.max(n,-1),1),d(e).find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((e=>{i(e,n)}))}))};a("beforeInit",(()=>{t.params.parallax.enabled&&(t.params.watchSlidesProgress=!0,t.originalParams.watchSlidesProgress=!0)})),a("init",(()=>{t.params.parallax.enabled&&r()})),a("setTranslate",(()=>{t.params.parallax.enabled&&r()})),a("setTransition",((e,s)=>{t.params.parallax.enabled&&function(e){void 0===e&&(e=t.params.speed);const{$el:s}=t;s.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((t=>{const s=d(t);let a=parseInt(s.attr("data-swiper-parallax-duration"),10)||e;0===e&&(a=0),s.transition(a)}))}(s)}))},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;const n=r();s({zoom:{enabled:!1,maxRatio:3,minRatio:1,toggle:!0,containerClass:"swiper-zoom-container",zoomedSlideClass:"swiper-slide-zoomed"}}),t.zoom={enabled:!1};let l,o,c,p=1,u=!1;const m={$slideEl:void 0,slideWidth:void 0,slideHeight:void 0,$imageEl:void 0,$imageWrapEl:void 0,maxRatio:3},f={isTouched:void 0,isMoved:void 0,currentX:void 0,currentY:void 0,minX:void 0,minY:void 0,maxX:void 0,maxY:void 0,width:void 0,height:void 0,startX:void 0,startY:void 0,touchesStart:{},touchesCurrent:{}},g={x:void 0,y:void 0,prevPositionX:void 0,prevPositionY:void 0,prevTime:void 0};let v=1;function w(e){if(e.targetTouches.length<2)return 1;const t=e.targetTouches[0].pageX,s=e.targetTouches[0].pageY,a=e.targetTouches[1].pageX,i=e.targetTouches[1].pageY;return Math.sqrt((a-t)**2+(i-s)**2)}function b(e){const s=t.support,a=t.params.zoom;if(o=!1,c=!1,!s.gestures){if("touchstart"!==e.type||"touchstart"===e.type&&e.targetTouches.length<2)return;o=!0,m.scaleStart=w(e)}m.$slideEl&&m.$slideEl.length||(m.$slideEl=d(e.target).closest(`.${t.params.slideClass}`),0===m.$slideEl.length&&(m.$slideEl=t.slides.eq(t.activeIndex)),m.$imageEl=m.$slideEl.find(`.${a.containerClass}`).eq(0).find("picture, img, svg, canvas, .swiper-zoom-target").eq(0),m.$imageWrapEl=m.$imageEl.parent(`.${a.containerClass}`),m.maxRatio=m.$imageWrapEl.attr("data-swiper-zoom")||a.maxRatio,0!==m.$imageWrapEl.length)?(m.$imageEl&&m.$imageEl.transition(0),u=!0):m.$imageEl=void 0}function x(e){const s=t.support,a=t.params.zoom,i=t.zoom;if(!s.gestures){if("touchmove"!==e.type||"touchmove"===e.type&&e.targetTouches.length<2)return;c=!0,m.scaleMove=w(e)}m.$imageEl&&0!==m.$imageEl.length?(s.gestures?i.scale=e.scale*p:i.scale=m.scaleMove/m.scaleStart*p,i.scale>m.maxRatio&&(i.scale=m.maxRatio-1+(i.scale-m.maxRatio+1)**.5),i.scale<a.minRatio&&(i.scale=a.minRatio+1-(a.minRatio-i.scale+1)**.5),m.$imageEl.transform(`translate3d(0,
2900,0) scale(${i.scale})`)):"gesturechange"===e.type&&b(e)}function y(e){const s=t.device,a=t.support,i=t.params.zoom,r=t.zoom;if(!a.gestures){if(!o||!c)return;if("touchend"!==e.type||"touchend"===e.type&&e.changedTouches.length<2&&!s.android)return;o=!1,c=!1}m.$imageEl&&0!==m.$imageEl.length&&(r.scale=Math.max(Math.min(r.scale,m.maxRatio),i.minRatio),m.$imageEl.transition(t.params.speed).transform(`translate3d(0,0,0) scale(${r.scale})`),p=r.scale,u=!1,1===r.scale&&(m.$slideEl=void 0))}function E(e){const s=t.zoom;if(!m.$imageEl||0===m.$imageEl.length)return;if(t.allowClick=!1,!f.isTouched||!m.$slideEl)return;f.isMoved||(f.width=m.$imageEl[0].offsetWidth,f.height=m.$imageEl[0].offsetHeight,f.startX=h(m.$imageWrapEl[0],"x")||0,f.startY=h(m.$imageWrapEl[0],"y")||0,m.slideWidth=m.$slideEl[0].offsetWidth,m.slideHeight=m.$slideEl[0].offsetHeight,m.$imageWrapEl.transition(0));const a=f.width*s.scale,i=f.height*s.scale;if(!(a<m.slideWidth&&i<m.slideHeight)){if(f.minX=Math.min(m.slideWidth/2-a/2,0),f.maxX=-f.minX,f.minY=Math.min(m.slideHeight/2-i/2,0),f.maxY=-f.minY,f.touchesCurrent.x="touchmove"===e.type?e.targetTouches[0].pageX:e.pageX,f.touchesCurrent.y="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY,!f.isMoved&&!u){if(t.isHorizontal()&&(Math.floor(f.minX)===Math.floor(f.startX)&&f.touchesCurrent.x<f.touchesStart.x||Math.floor(f.maxX)===Math.floor(f.startX)&&f.touchesCurrent.x>f.touchesStart.x))return void(f.isTouched=!1);if(!t.isHorizontal()&&(Math.floor(f.minY)===Math.floor(f.startY)&&f.touchesCurrent.y<f.touchesStart.y||Math.floor(f.maxY)===Math.floor(f.startY)&&f.touchesCurrent.y>f.touchesStart.y))return void(f.isTouched=!1)}e.cancelable&&e.preventDefault(),e.stopPropagation(),f.isMoved=!0,f.currentX=f.touchesCurrent.x-f.touchesStart.x+f.startX,f.currentY=f.touchesCurrent.y-f.touchesStart.y+f.startY,f.currentX<f.minX&&(f.currentX=f.minX+1-(f.minX-f.currentX+1)**.8),f.currentX>f.maxX&&(f.currentX=f.maxX-1+(f.currentX-f.maxX+1)**.8),f.currentY<f.minY&&(f.currentY=f.minY+1-(f.minY-f.currentY+1)**.8),f.currentY>f.maxY&&(f.currentY=f.maxY-1+(f.currentY-f.maxY+1)**.8),g.prevPositionX||(g.prevPositionX=f.touchesCurrent.x),g.prevPositionY||(g.prevPositionY=f.touchesCurrent.y),g.prevTime||(g.prevTime=Date.now()),g.x=(f.touchesCurrent.x-g.prevPositionX)/(Date.now()-g.prevTime)/2,g.y=(f.touchesCurrent.y-g.prevPositionY)/(Date.now()-g.prevTime)/2,Math.abs(f.touchesCurrent.x-g.prevPositionX)<2&&(g.x=0),Math.abs(f.touchesCurrent.y-g.prevPositionY)<2&&(g.y=0),g.prevPositionX=f.touchesCurrent.x,g.prevPositionY=f.touchesCurrent.y,g.prevTime=Date.now(),m.$imageWrapEl.transform(`translate3d(${f.currentX}px, ${f.currentY}px,0)`)}}function C(){const e=t.zoom;m.$slideEl&&t.previousIndex!==t.activeIndex&&(m.$imageEl&&m.$imageEl.transform("translate3d(0,0,0) scale(1)"),m.$imageWrapEl&&m.$imageWrapEl.transform("translate3d(0,0,0)"),e.scale=1,p=1,m.$slideEl=void 0,m.$imageEl=void 0,m.$imageWrapEl=void 0)}function T(e){const s=t.zoom,a=t.params.zoom;if(m.$slideEl||(e&&e.target&&(m.$slideEl=d(e.target).closest(`.${t.params.slideClass}`)),m.$slideEl||(t.params.virtual&&t.params.virtual.enabled&&t.virtual?m.$slideEl=t.$wrapperEl.children(`.${t.params.slideActiveClass}`):m.$slideEl=t.slides.eq(t.activeIndex)),m.$imageEl=m.$slideEl.find(`.${a.containerClass}`).eq(0).find("picture, img, svg, canvas, .swiper-zoom-target").eq(0),m.$imageWrapEl=m.$imageEl.parent(`.${a.containerClass}`)),!m.$imageEl||0===m.$imageEl.length||!m.$imageWrapEl||0===m.$imageWrapEl.length)return;let i,r,l,o,c,u,h,g,v,w,b,x,y,E,C,T,$,S;t.params.cssMode&&(t.wrapperEl.style.overflow="hidden",t.wrapperEl.style.touchAction="none"),m.$slideEl.addClass(`${a.zoomedSlideClass}`),void 0===f.touchesStart.x&&e?(i="touchend"===e.type?e.changedTouches[0].pageX:e.pageX,r="touchend"===e.type?e.changedTouches[0].pageY:e.pageY):(i=f.touchesStart.x,r=f.touchesStart.y),s.scale=m.$imageWrapEl.attr("data-swiper-zoom")||a.maxRatio,p=m.$imageWrapEl.attr("data-swiper-zoom")||a.maxRatio,e?($=m.$slideEl[0].offsetWidth,S=m.$slideEl[0].offsetHeight,l=m.$slideEl.offset().left+n.scrollX,o=m.$slideEl.offset().top+n.scrollY,c=l+$/2-i,u=o+S/2-r,v=m.$imageEl[0].offsetWidth,w=m.$imageEl[0].offsetHeight,b=v*s.scale,x=w*s.scale,y=Math.min($/2-b/2,0),E=Math.min(S/2-x/2,0),C=-y,T=-E,h=c*s.scale,g=u*s.scale,h<y&&(h=y),h>C&&(h=C),g<E&&(g=E),g>T&&(g=T)):(h=0,g=0),m.$imageWrapEl.transition(300).transform(`translate3d(${h}px, ${g}
290px,0)`),m.$imageEl.transition(300).transform(`translate3d(0,0,0) scale(${s.scale})`)}function $(){const e=t.zoom,s=t.params.zoom;m.$slideEl||(t.params.virtual&&t.params.virtual.enabled&&t.virtual?m.$slideEl=t.$wrapperEl.children(`.${t.params.slideActiveClass}`):m.$slideEl=t.slides.eq(t.activeIndex),m.$imageEl=m.$slideEl.find(`.${s.containerClass}`).eq(0).find("picture, img, svg, canvas, .swiper-zoom-target").eq(0),m.$imageWrapEl=m.$imageEl.parent(`.${s.containerClass}`)),m.$imageEl&&0!==m.$imageEl.length&&m.$imageWrapEl&&0!==m.$imageWrapEl.length&&(t.params.cssMode&&(t.wrapperEl.style.overflow="",t.wrapperEl.style.touchAction=""),e.scale=1,p=1,m.$imageWrapEl.transition(300).transform("translate3d(0,0,0)"),m.$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)"),m.$slideEl.removeClass(`${s.zoomedSlideClass}`),m.$slideEl=void 0)}function S(e){const s=t.zoom;s.scale&&1!==s.scale?$():T(e)}function M(){const e=t.support;return{passiveListener:!("touchstart"!==t.touchEvents.start||!e.passiveListener||!t.params.passiveListeners)&&{passive:!0,capture:!1},activeListenerWithCapture:!e.passiveListener||{passive:!1,capture:!0}}}function P(){return`.${t.params.slideClass}`}function k(e){const{passiveListener:s}=M(),a=P();t.$wrapperEl[e]("gesturestart",a,b,s),t.$wrapperEl[e]("gesturechange",a,x,s),t.$wrapperEl[e]("gestureend",a,y,s)}function z(){l||(l=!0,k("on"))}function L(){l&&(l=!1,k("off"))}function O(){const e=t.zoom;if(e.enabled)return;e.enabled=!0;const s=t.support,{passiveListener:a,activeListenerWithCapture:i}=M(),r=P();s.gestures?(t.$wrapperEl.on(t.touchEvents.start,z,a),t.$wrapperEl.on(t.touchEvents.end,L,a)):"touchstart"===t.touchEvents.start&&(t.$wrapperEl.on(t.touchEvents.start,r,b,a),t.$wrapperEl.on(t.touchEvents.move,r,x,i),t.$wrapperEl.on(t.touchEvents.end,r,y,a),t.touchEvents.cancel&&t.$wrapperEl.on(t.touchEvents.cancel,r,y,a)),t.$wrapperEl.on(t.touchEvents.move,`.${t.params.zoom.containerClass}`,E,i)}function I(){const e=t.zoom;if(!e.enabled)return;const s=t.support;e.enabled=!1;const{passiveListener:a,activeListenerWithCapture:i}=M(),r=P();s.gestures?(t.$wrapperEl.off(t.touchEvents.start,z,a),t.$wrapperEl.off(t.touchEvents.end,L,a)):"touchstart"===t.touchEvents.start&&(t.$wrapperEl.off(t.touchEvents.start,r,b,a),t.$wrapperEl.off(t.touchEvents.move,r,x,i),t.$wrapperEl.off(t.touchEvents.end,r,y,a),t.touchEvents.cancel&&t.$wrapperEl.off(t.touchEvents.cancel,r,y,a)),t.$wrapperEl.off(t.touchEvents.move,`.${t.params.zoom.containerClass}`,E,i)}Object.defineProperty(t.zoom,"scale",{get:()=>v,set(e){if(v!==e){const t=m.$imageEl?m.$imageEl[0]:void 0,s=m.$slideEl?m.$slideEl[0]:void 0;i("zoomChange",e,t,s)}v=e}}),a("init",(()=>{t.params.zoom.enabled&&O()})),a("destroy",(()=>{I()})),a("touchStart",((e,s)=>{t.zoom.enabled&&function(e){const s=t.device;m.$imageEl&&0!==m.$imageEl.length&&(f.isTouched||(s.android&&e.cancelable&&e.preventDefault(),f.isTouched=!0,f.touchesStart.x="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,f.touchesStart.y="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY))}(s)})),a("touchEnd",((e,s)=>{t.zoom.enabled&&function(){const e=t.zoom;if(!m.$imageEl||0===m.$imageEl.length)return;if(!f.isTouched||!f.isMoved)return f.isTouched=!1,void(f.isMoved=!1);f.isTouched=!1,f.isMoved=!1;let s=300,a=300;const i=g.x*s,r=f.currentX+i,n=g.y*a,l=f.currentY+n;0!==g.x&&(s=Math.abs((r-f.currentX)/g.x)),0!==g.y&&(a=Math.abs((l-f.currentY)/g.y));const o=Math.max(s,a);f.currentX=r,f.currentY=l;const d=f.width*e.scale,c=f.height*e.scale;f.minX=Math.min(m.slideWidth/2-d/2,0),f.maxX=-f.minX,f.minY=Math.min(m.slideHeight/2-c/2,0),f.maxY=-f.minY,f.currentX=Math.max(Math.min(f.currentX,f.maxX),f.minX),f.currentY=Math.max(Math.min(f.currentY,f.maxY),f.minY),m.$imageWrapEl.transition(o).transform(`translate3d(${f.currentX}px, ${f.currentY}px,0)`)}()})),a("doubleTap",((e,s)=>{!t.animating&&t.params.zoom.enabled&&t.zoom.enabled&&t.params.zoom.toggle&&S(s)})),a("transitionEnd",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&C()})),a("slideChange",(()=>{t.zoom.enabled&&t.params.zoom.enabled&&t.params.cssMode&&C()})),Object.assign(t.zoom,{enable:O,disable:I,in:T,out:$,toggle:S})},function(e){let{swiper:t,extendParams:s,on:a,emit:i}=e;s({lazy:{checkInView:!1,enabled:!1,loadPrevNext:!1,loadPrevNextAmount:1,loadOnTransitionStart:!1,scrollingElement:"",elementClass:"swiper-lazy",loadingClass:"swiper-lazy-loading",loadedClass:"swiper-lazy-loaded",preloaderClass:"swiper-lazy-preloader"}}),t.lazy={};let n=!1,l=!1;function o(e,s){void 0===s&&(s=!0);const a=t.params.lazy;if(void 0===e)return;if(0===t.slides.length)return;const r=t.virtual&&t.params.virtual.enabled?t.$wrapperEl.children(`.${t.params.slideClass}[data-swiper-slide-index="${e}"]`):t.slides.eq(e),n=r.find(`.${a.elementClass}:not(.${a.loadedClass}):not(.${a.loadingClass})`);!r.hasClass(a.elementClass)||r.hasClass(a.loadedClass)||r.hasClass(a.loadingClass)||n.push(r[0]),0!==n.length&&n.each((e=>{const n=d(e);n.addClass(a.loadingClass);const l=n.attr("data-background"),c=n.attr("data-src"),p=n.attr("data-srcset"),u=n.attr("data-sizes"),h=n.parent("picture");t.loadImage(n[0],c||l,p,u,!1,(()=>
vendor: 7,179 bytes, line 290
290{if(null!=t&&t&&(!t||t.params)&&!t.destroyed){if(l?(n.css("background-image",`url("${l}")`),n.removeAttr("data-background")):(p&&(n.attr("srcset",p),n.removeAttr("data-srcset")),u&&(n.attr("sizes",u),n.removeAttr("data-sizes")),h.length&&h.children("source").each((e=>{const t=d(e);t.attr("data-srcset")&&(t.attr("srcset",t.attr("data-srcset")),t.removeAttr("data-srcset"))})),c&&(n.attr("src",c),n.removeAttr("data-src"))),n.addClass(a.loadedClass).removeClass(a.loadingClass),r.find(`.${a.preloaderClass}`).remove(),t.params.loop&&s){const e=r.attr("data-swiper-slide-index");if(r.hasClass(t.params.slideDuplicateClass)){o(t.$wrapperEl.children(`[data-swiper-slide-index="${e}"]:not(.${t.params.slideDuplicateClass})`).index(),!1)}else{o(t.$wrapperEl.children(`.${t.params.slideDuplicateClass}[data-swiper-slide-index="${e}"]`).index(),!1)}}i("lazyImageReady",r[0],n[0]),t.params.autoHeight&&t.updateAutoHeight()}})),i("lazyImageLoad",r[0],n[0])}))}function c(){const{$wrapperEl:e,params:s,slides:a,activeIndex:i}=t,r=t.virtual&&s.virtual.enabled,n=s.lazy;let c=s.slidesPerView;function p(t){if(r){if(e.children(`.${s.slideClass}[data-swiper-slide-index="${t}"]`).length)return!0}else if(a[t])return!0;return!1}function u(e){return r?d(e).attr("data-swiper-slide-index"):d(e).index()}if("auto"===c&&(c=0),l||(l=!0),t.params.watchSlidesProgress)e.children(`.${s.slideVisibleClass}`).each((e=>{o(r?d(e).attr("data-swiper-slide-index"):d(e).index())}));else if(c>1)for(let e=i;e<i+c;e+=1)p(e)&&o(e);else o(i);if(n.loadPrevNext)if(c>1||n.loadPrevNextAmount&&n.loadPrevNextAmount>1){const e=n.loadPrevNextAmount,t=Math.ceil(c),s=Math.min(i+t+Math.max(e,t),a.length),r=Math.max(i-Math.max(t,e),0);for(let e=i+t;e<s;e+=1)p(e)&&o(e);for(let e=r;e<i;e+=1)p(e)&&o(e)}else{const t=e.children(`.${s.slideNextClass}`);t.length>0&&o(u(t));const a=e.children(`.${s.slidePrevClass}`);a.length>0&&o(u(a))}}function p(){const e=r();if(!t||t.destroyed)return;const s=t.params.lazy.scrollingElement?d(t.params.lazy.scrollingElement):d(e),a=s[0]===e,i=a?e.innerWidth:s[0].offsetWidth,l=a?e.innerHeight:s[0].offsetHeight,o=t.$el.offset(),{rtlTranslate:u}=t;let h=!1;u&&(o.left-=t.$el[0].scrollLeft);const m=[[o.left,o.top],[o.left+t.width,o.top],[o.left,o.top+t.height],[o.left+t.width,o.top+t.height]];for(let e=0;e<m.length;e+=1){const t=m[e];if(t[0]>=0&&t[0]<=i&&t[1]>=0&&t[1]<=l){if(0===t[0]&&0===t[1])continue;h=!0}}const f=!("touchstart"!==t.touchEvents.start||!t.support.passiveListener||!t.params.passiveListeners)&&{passive:!0,capture:!1};h?(c(),s.off("scroll",p,f)):n||(n=!0,s.on("scroll",p,f))}a("beforeInit",(()=>{t.params.lazy.enabled&&t.params.preloadImages&&(t.params.preloadImages=!1)})),a("init",(()=>{t.params.lazy.enabled&&(t.params.lazy.checkInView?p():c())})),a("scroll",(()=>{t.params.freeMode&&t.params.freeMode.enabled&&!t.params.freeMode.sticky&&c()})),a("scrollbarDragMove resize _freeModeNoMomentumRelease",(()=>{t.params.lazy.enabled&&(t.params.lazy.checkInView?p():c())})),a("transitionStart",(()=>{t.params.lazy.enabled&&(t.params.lazy.loadOnTransitionStart||!t.params.lazy.loadOnTransitionStart&&!l)&&(t.params.lazy.checkInView?p():c())})),a("transitionEnd",(()=>{t.params.lazy.enabled&&!t.params.lazy.loadOnTransitionStart&&(t.params.lazy.checkInView?p():c())})),a("slideChange",(()=>{const{lazy:e,cssMode:s,watchSlidesProgress:a,touchReleaseOnEdges:i,resistanceRatio:r}=t.params;e.enabled&&(s||a&&(i||0===r))&&c()})),a("destroy",(()=>{t.$el&&t.$el.find(`.${t.params.lazy.loadingClass}`).removeClass(t.params.lazy.loadingClass)})),Object.assign(t.lazy,{load:c,loadInSlide:o})},function(e){let{swiper:t,extendParams:s,on:a}=e;function i(e,t){const s=function(){let e,t,s;return(a,i)=>{for(t=-1,e=a.length;e-t>1;)s=e+t>>1,a[s]<=i?t=s:e=s;return e}}();let a,i;return this.x=e,this.y=t,this.lastIndex=e.length-1,this.interpolate=function(e){return e?(i=s(this.x,e),a=i-1,(e-this.x[a])*(this.y[i]-this.y[a])/(this.x[i]-this.x[a])+this.y[a]):0},this}function r(){t.controller.control&&t.controller.spline&&(t.controller.spline=void 0,delete t.controller.spline)}s({controller:{control:void 0,inverse:!1,by:"slide"}}),t.controller={control:void 0},a("beforeInit",(()=>{t.controller.control=t.params.controller.control})),a("update",(()=>{r()})),a("resize",(()=>{r()})),a("observerUpdate",(()=>{r()})),a("setTranslate",((e,s,a)=>{t.controller.control&&t.controller.setTranslate(s,a)})),a("setTransition",((e,s,a)=>{t.controller.control&&t.controller.setTransition(s,a)})),Object.assign(t.controller,{setTranslate:function(e,s){const a=t.controller.control;let r,n;const l=t.constructor;function o(e){const s=t.rtlTranslate?-t.translate:t.translate;"slide"===t.params.controller.by&&(!function(e){t.controller.spline||(t.controller.spline=t.params.loop?new i(t.slidesGrid,e.slidesGrid):new i(t.snapGrid,e.snapGrid))}(e),n=-t.controller.spline.interpolate(-s)),n&&"container"!==t.params.controller.by||(r=(e.maxTranslate()-e.minTranslate())/(t.maxTranslate()-t.minTranslate()),n=(s-t.minTranslate())*r+e.minTranslate()),t.params.controller.inverse&&(n=e.maxTranslate()-n),e.updateProgress(n),e.setTranslate(n,t),e.updateActiveIndex(),e.updateSlidesClasses()}if(Array.isArray(a))for(let e=0;e<a.length;e+=1)a[e]!==s&&a[e]instanceof l&&o(a[e]);else a instanceof l&&s!==a&&o(a)},setTransition:function(e,s){const a=t.constructor,i=t.controller.control;let r;function n(s){s.setTransition(e,t),0!==e&&(s.transitionStart(),s.params.autoHeight&&p((()=>{s.updateAutoHeight()})),s.$wrapperEl.transitionEnd((()=>{i&&(s.params.loop&&"slide"===t.params.controller.by&&s.loopFix(),s.transitionEnd())})))}if(Array.isArray(i))for(r=0;r<i.length;r+=1)i[r]!==s&&i[r]instanceof a&&n(i[r]);else i instanceof a&&s!==i&&n(i)}})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({a11y:{enabled:!0,notificationClass:"swiper-notification",prevSlideMessage:"Previous slide",nextSlideMessage:"Next slide",firstSlideMessage:"This is the first slide",lastSlideMessage:"This is the last slide",paginationBulletMessage:"Go to slide {{index}}",slideLabelMessage:"{{index}} / {{slidesLength}}",containerMessage:null,containerRoleDescriptionMessage:null,itemRoleDescriptionMessage:null,slideRole:"group",id:null}});let i=null;function r(e){const t=i;0!==t.length&&(t.html(""),t.html(e))}function n(e){e.attr("tabIndex","0")}function l(e){e.attr("tabIndex","-1")}function o(e,t){e.attr("role",t)}function c(e,t){e.attr("aria-roledescription",t)}function p(e,t){e.attr("aria-label",t)}function u(e){e.attr("aria-disabled",!0)}function h(e){e.attr("aria-disabled",!1)}function m(e){if(13!==e.keyCode&&32!==e.keyCode)return;const s=t.params.a11y,a=d(e.target);t.navigation&&t.navigation.$nextEl&&a.is(t.navigation.$nextEl)&&(t.isEnd&&!t.params.loop||t.slideNext(),t.isEnd?r(s.lastSlideMessage):r(s.nextSlideMessage)),t.navigation&&t.navigation.$prevEl&&a.is(t.navigation.$prevEl)&&(t.isBeginning&&!t.params.loop||t.slidePrev(),t.isBeginning?r(s.firstSlideMessage):r(s.prevSlideMessage)),t.pagination&&a.is(U(t.params.pagination.bulletClass))&&a[0].click()}function f(){return t.pagination&&t.pagination.bullets&&t.pagination.bullets.length}function g(){return f()&&t.params.pagination.clickable}const v=(e,t,s)=>
290{n(e),"BUTTON"!==e[0].tagName&&(o(e,"button"),e.on("keydown",m)),p(e,s),function(e,t){e.attr("aria-controls",t)}(e,t)},w=e=>{const s=e.target.closest(`.${t.params.slideClass}`);if(!s||!t.slides.includes(s))return;const a=t.slides.indexOf(s)===t.activeIndex,i=t.params.watchSlidesProgress&&t.visibleSlides&&t.visibleSlides.includes(s);a||i||(t.isHorizontal()?t.el.scrollLeft=0:t.el.scrollTop=0,t.slideTo(t.slides.indexOf(s),0))},b=()=>{const e=t.params.a11y;e.itemRoleDescriptionMessage&&c(d(t.slides),e.itemRoleDescriptionMessage),e.slideRole&&o(d(t.slides),e.slideRole);const s=t.params.loop?t.slides.filter((e=>!e.classList.contains(t.params.slideDuplicateClass))).length:t.slides.length;e.slideLabelMessage&&t.slides.each(((a,i)=>{const r=d(a),n=t.params.loop?parseInt(r.attr("data-swiper-slide-index"),10):i;p(r,e.slideLabelMessage.replace(/\{\{index\}\}/,n+1).replace(/\{\{slidesLength\}\}/,s))}))},x=()=>{const e=t.params.a11y;t.$el.append(i);const s=t.$el;e.containerRoleDescriptionMessage&&c(s,e.containerRoleDescriptionMessage),e.containerMessage&&p(s,e.containerMessage);const a=t.$wrapperEl,r=e.id||a.attr("id")||`swiper-wrapper-${n=16,void 0===n&&(n=16),"x".repeat(n).replace(/x/g,(()=>Math.round(16*Math.random()).toString(16)))}`;var n;const l=t.params.autoplay&&t.params.autoplay.enabled?"off":"polite";var o;let d,u;o=r,a.attr("id",o),function(e,t){e.attr("aria-live",t)}(a,l),b(),t.navigation&&t.navigation.$nextEl&&(d=t.navigation.$nextEl),t.navigation&&t.navigation.$prevEl&&(u=t.navigation.$prevEl),d&&d.length&&v(d,r,e.nextSlideMessage),u&&u.length&&v(u,r,e.prevSlideMessage),g()&&t.pagination.$el.on("keydown",U(t.params.pagination.bulletClass),m),t.$el.on("focus",w,!0)};a("beforeInit",(()=>{i=d(`<span class="${t.params.a11y.notificationClass}" aria-live="assertive" aria-atomic="true"></span>`)})),a("afterInit",(()=>{t.params.a11y.enabled&&x()})),a("slidesLengthChange snapGridLengthChange slidesGridLengthChange",(()=>{t.params.a11y.enabled&&b()})),a("fromEdge toEdge afterInit lock unlock",(()=>{t.params.a11y.enabled&&function(){if(t.params.loop||t.params.rewind||!t.navigation)return;const{$nextEl:e,$prevEl:s}=t.navigation;s&&s.length>0&&(t.isBeginning?(u(s),l(s)):(h(s),n(s))),e&&e.length>0&&(t.isEnd?(u(e),l(e)):(h(e),n(e)))}()})),a("paginationUpdate",(()=>{t.params.a11y.enabled&&function(){const e=t.params.a11y;f()&&t.pagination.bullets.each((s=>{const a=d(s);t.params.pagination.clickable&&(n(a),t.params.pagination.renderBullet||(o(a,"button"),p(a,e.paginationBulletMessage.replace(/\{\{index\}\}/,a.index()+1)))),a.is(`.${t.params.pagination.bulletActiveClass}`)?a.attr("aria-current","true"):a.removeAttr("aria-current")}))}()})),a("destroy",(()=>{t.params.a11y.enabled&&function(){let e,s;i&&i.length>0&&i.remove(),t.navigation&&t.navigation.$nextEl&&(e=t.navigation.$nextEl),t.navigation&&t.navigation.$prevEl&&(s=t.navigation.$prevEl),e&&e.off("keydown",m),s&&s.off("keydown",m),g()&&t.pagination.$el.off("keydown",U(t.params.pagination.bulletClass),m),t.$el.off("focus",w,!0)}()}))},function(e){let{swiper:t,extendParams:s,on:a}=e;s({history:{enabled:!1,root:"",replaceState:!1,key:"slides",keepQuery:!1}});let i=!1,n={};const l=e=>e.toString().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,""),o=e=>{const t=r();let s;s=e?new URL(e):t.location;const a=s.pathname.slice(1).split("/").filter((e=>""!==e)),i=a.length;return{key:a[i-2],value:a[i-1]}},d=(e,s)=>{const a=r();if(!i||!t.params.history.enabled)return;let n;n=t.params.url?new URL(t.params.url):a.location;const o=t.slides.eq(s);let d=l(o.attr("data-history"));if(t.params.history.root.length>0){let s=t.params.history.root;"/"===s[s.length-1]&&(s=s.slice(0,s.length-1)),d=`${s}/${e}/${d}`}else n.pathname.includes(e)||(d=`${e}/${d}`);t.params.history.keepQuery&&(d+=n.search);const c=a.history.state;c&&c.value===d||(t.params.history.replaceState?a.history.replaceState({value:d},null,d):a.history.pushState({value:d},null,d))},c=(e,s,a)=>{if(s)for(let i=0,r=t.slides.length;i<r;i+=1){const r=t.slides.eq(i);if(l(r.attr("data-history"))===s&&!r.hasClass(t.params.slideDuplicateClass)){const s=r.index();t.slideTo(s,e,a)}}else t.slideTo(0,e,a)},p=()=>{n=o(t.params.url),c(t.params.speed,n.value,!1)};a("init",(()=>{t.params.history.enabled&&(()=>{const e=r();
290if(t.params.history){if(!e.history||!e.history.pushState)return t.params.history.enabled=!1,void(t.params.hashNavigation.enabled=!0);i=!0,n=o(t.params.url),(n.key||n.value)&&(c(0,n.value,t.params.runCallbacksOnInit),t.params.history.replaceState||e.addEventListener("popstate",p))}})()})),a("destroy",(()=>{t.params.history.enabled&&(()=>{const e=r();t.params.history.replaceState||e.removeEventListener("popstate",p)})()})),a("transitionEnd _freeModeNoMomentumRelease",(()=>{i&&d(t.params.history.key,t.activeIndex)})),a("slideChange",(()=>{i&&t.params.cssMode&&d(t.params.history.key,t.activeIndex)}))},function(e){let{swiper:t,extendParams:s,emit:i,on:n}=e,l=!1;const o=a(),c=r();s({hashNavigation:{enabled:!1,replaceState:!1,watchState:!1}});const p=()=>{i("hashChange");const e=o.location.hash.replace("#","");if(e!==t.slides.eq(t.activeIndex).attr("data-hash")){const s=t.$wrapperEl.children(`.${t.params.slideClass}[data-hash="${e}"]`).index();if(void 0===s)return;t.slideTo(s)}},u=()=>{if(l&&t.params.hashNavigation.enabled)if(t.params.hashNavigation.replaceState&&c.history&&c.history.replaceState)c.history.replaceState(null,null,`#${t.slides.eq(t.activeIndex).attr("data-hash")}`||""),i("hashSet");else{const e=t.slides.eq(t.activeIndex),s=e.attr("data-hash")||e.attr("data-history");o.location.hash=s||"",i("hashSet")}};n("init",(()=>{t.params.hashNavigation.enabled&&(()=>{if(!t.params.hashNavigation.enabled||t.params.history&&t.params.history.enabled)return;l=!0;const e=o.location.hash.replace("#","");if(e){const s=0;for(let a=0,i=t.slides.length;a<i;a+=1){const i=t.slides.eq(a);if((i.attr("data-hash")||i.attr("data-history"))===e&&!i.hasClass(t.params.slideDuplicateClass)){const e=i.index();t.slideTo(e,s,t.params.runCallbacksOnInit,!0)}}}t.params.hashNavigation.watchState&&d(c).on("hashchange",p)})()})),n("destroy",(()=>{t.params.hashNavigation.enabled&&t.params.hashNavigation.watchState&&d(c).off("hashchange",p)})),n("transitionEnd _freeModeNoMomentumRelease",(()=>{l&&u()})),n("slideChange",(()=>{l&&t.params.cssMode&&u()}))},function(e){let t,{swiper:s,extendParams:i,on:r,emit:n}=e;function l(){if(!s.size)return s.autoplay.running=!1,void(s.autoplay.paused=!1);const e=s.slides.eq(s.activeIndex);let a=s.params.autoplay.delay;e.attr("data-swiper-autoplay")&&(a=e.attr("data-swiper-autoplay")||s.params.autoplay.delay),clearTimeout(t),t=p((()=>{let e;s.params.autoplay.reverseDirection?s.params.loop?(s.loopFix(),e=s.slidePrev(s.params.speed,!0,!0),n("autoplay")):s.isBeginning?s.params.autoplay.stopOnLastSlide?d():(e=s.slideTo(s.slides.length-1,s.params.speed,!0,!0),n("autoplay")):(e=s.slidePrev(s.params.speed,!0,!0),n("autoplay")):s.params.loop?(s.loopFix(),e=s.slideNext(s.params.speed,!0,!0),n("autoplay")):s.isEnd?s.params.autoplay.stopOnLastSlide?d():(e=s.slideTo(0,s.params.speed,!0,!0),n("autoplay")):(e=s.slideNext(s.params.speed,!0,!0),n("autoplay")),(s.params.cssMode&&s.autoplay.running||!1===e)&&l()}),a)}function o(){return void 0===t&&(!s.autoplay.running&&(s.autoplay.running=!0,n("autoplayStart"),l(),!0))}function d(){return!!s.autoplay.running&&(void 0!==t&&(t&&(clearTimeout(t),t=void 0),s.autoplay.running=!1,n("autoplayStop"),!0))}function c(e){s.autoplay.running&&(s.autoplay.paused||(t&&clearTimeout(t),s.autoplay.paused=!0,0!==e&&s.params.autoplay.waitForTransition?["transitionend","webkitTransitionEnd"].forEach((e=>{s.$wrapperEl[0].addEventListener(e,h)})):(s.autoplay.paused=!1,l())))}function u(){const e=a();"hidden"===e.visibilityState&&s.autoplay.running&&c(),"visible"===e.visibilityState&&s.autoplay.paused&&(l(),s.autoplay.paused=!1)}function h(e){s&&!s.destroyed&&s.$wrapperEl&&e.target===s.$wrapperEl[0]&&(["transitionend","webkitTransitionEnd"].forEach((e=>{s.$wrapperEl[0].removeEventListener(e,h)})),s.autoplay.paused=!1,s.autoplay.running?l():d())}function m(){s.params.autoplay.disableOnInteraction?d():(n("autoplayPause"),c()),["transitionend","webkitTransitionEnd"].forEach((e=>{s.$wrapperEl[0].removeEventListener(e,h)}))}function f(){s.params.autoplay.disableOnInteraction||(s.autoplay.paused=!1,n("autoplayResume"),l())}s.autoplay={running:!1,paused:!1},i({autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!0,stopOnLastSlide:!1,reverseDirection:!1,pauseOnMouseEnter:!1}}),r("init",(()=>{if(s.params.autoplay.enabled){o();a().addEventListener("visibilitychange",u),s.params.autoplay.pauseOnMouseEnter&&(s.$el.on("mouseenter",m),s.$el.on("mouseleave",f))}})),r("beforeTransitionStart",((e,t,a)=>{s.autoplay.running&&(a||!s.params.autoplay.disableOnInteraction?s.autoplay.pause(t):d())})),r("sliderFirstMove",(()=>{s.autoplay.running&&(s.params.autoplay.disableOnInteraction?d():c())})),r("touchEnd",(()=>{s.params.cssMode&&s.autoplay.paused&&!s.params.autoplay.disableOnInteraction&&l()})),r("destroy",(()=>{s.$el.off("mouseenter",m),s.$el.off("mouseleave",f),s.autoplay.running&&d();a().removeEventListener("visibilitychange",u)})),Object.assign(s.autoplay,{pause:c,run:l,start:o,stop:d})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({thumbs:{swiper:null,multipleActiveThumbs:!0,autoScrollOffset:0,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-thumbs"}});let i=!1,r=!1;function n(){const e=t.thumbs.swiper;if(!e||e.destroyed)return;const s=e.clickedIndex,a=e.clickedSlide;if(a&&d(a).hasClass(t.params.thumbs.slideThumbActiveClass))return;if(null==s)return;let i;if(i=e.params.loop?parseInt(d(e.clickedSlide).attr("data-swiper-slide-index"),10):s,t.params.loop){let e=t.activeIndex;t.slides.eq(e).hasClass(t.params.slideDuplicateClass)&&(t.loopFix(),t._clientLeft=t.$wrapperEl[0].clientLeft,e=t.activeIndex);const s=t.slides.eq(e).prevAll(`[data-swiper-slide-index="${i}"]`).eq(0).index(),a=t.slides.eq(e).nextAll(`[data-swiper-slide-index="${i}"]`).eq(0).index();i=void 0===s?a:void 0===a?s:a-e<e-s?a:s}t.slideTo(i)}function l(){const{thumbs:e}=t.params;if(i)return!1;i=!0;const s=t.constructor;if(e.swiper instanceof s)t.thumbs.swiper=e.swiper,Object.assign(t.thumbs.swiper.originalParams,{watchSlidesProgress:!0,slideToClickedSlide:!1}),Object.assign(t.thumbs.swiper.params,{watchSlidesProgress:!0,slideToClickedSlide:!1});else if(m(e.swiper)){const a=Object.assign({},e.swiper);Object.assign(a,{watchSlidesProgress:!0,slideToClickedSlide:!1}),t.thumbs.swiper=new s(a),r=!0}return t.thumbs.swiper.$el.addClass(t.params.thumbs.thumbsContainerClass),t.thumbs.swiper.on("tap",n),!0}function o(e){const s=t.thumbs.swiper;if(!s||s.destroyed)return;const a="auto"===s.params.slidesPerView?s.slidesPerViewDynamic():s.params.slidesPerView;let i=1;const r=t.params.thumbs.slideThumbActiveClass;if(t.params.slidesPerView>1&&!t.params.centeredSlides&&(i=t.params.slidesPerView),t.params.thumbs.multipleActiveThumbs||(i=1),i=Math.floor(i),s.slides.removeClass(r),s.params.loop||s.params.virtual&&s.params.virtual.enabled)for(let e=0;e<i;e+=1)s.$wrapperEl.children(`[data-swiper-slide-index="${t.realIndex+e}"]`).addClass(r);else for(let e=0;e<i;e+=1)s.slides.eq(t.realIndex+e).addClass(r);const n=t.params.thumbs.autoScrollOffset,l=n&&!s.params.loop;if(t.realIndex!==s.realIndex||l){let i,r,o=s.activeIndex;if(s.params.loop){s.slides.eq(o).hasClass(s.params.slideDuplicateClass)&&(s.loopFix(),s._clientLeft=s.$wrapperEl[0].clientLeft,o=s.activeIndex);const e=s.slides.eq(o).prevAll(`[data-swiper-slide-index="${t.realIndex}"]`).eq(0).index(),a=s.slides.eq(o).nextAll(`[data-swiper-slide-index="${t.realIndex}"]`).eq(0).index();i=void 0===e?a:void 0===a?e:a-o==o-e?s.params.slidesPerGroup>1?a:o:a-o<o-e?a:e,r=t.activeIndex>t.previousIndex?"next":"prev"}else i=t.realIndex,r=i>t.previousIndex?"next":"prev";l&&(i+="next"===r?n:-1*n),s.visibleSlidesIndexes&&s.visibleSlidesIndexes.indexOf(i)<0&&(s.params.centeredSlides?i=i>o?i-Math.floor(a/2)+1:i+Math.floor(a/2)-1:i>o&&s.params.slidesPerGroup,s.slideTo(i,e?0:void 0))}}t.thumbs={swiper:null},a("beforeInit",(()=>{const{thumbs:e}=t.params;e&&e.swiper&&(l(),o(!0))})),a("slideChange update resize observerUpdate",(()=>{o()})),a("setTransition",((e,s)=>{const a=t.thumbs.swiper;a&&!a.destroyed&&a.setTransition(s)})),a("beforeDestroy",(()=>{const e=t.thumbs.swiper;e&&!e.destroyed&&r&&e.destroy()})),Object.assign(t.thumbs,{init:l,update:o})},function(e){let{swiper:t,extendParams:s,emit:a,once:i}=e;s({freeMode:{enabled:!1,momentum:!0,momentumRatio:1,momentumBounce:!0,momentumBounceRatio:1,momentumVelocityRatio:1,sticky:!1,minimumVelocity:.02}}),Object.assign(t,{freeMode:{onTouchStart:function(){const e=t.getTranslate();t.setTranslate(e),t.setTransition(0),t.touchEventsData.velocities.length=0,t.freeMode.onTouchEnd({currentPos:t.rtl?t.translate:-t.translate})},onTouchMove:function(){const{touchEventsData:e,touches:s}=t;0===e.velocities.length&&e.velocities.push({position:s[t.isHorizontal()?"startX":"startY"],time:e.touchStartTime}),e.velocities.push({position:s[t.isHorizontal()?"currentX":"currentY"],time:u()})},onTouchEnd:function(e){let{currentPos:s}=e;const{params:r,$wrapperEl:n,rtlTranslate:l,snapGrid:o,touchEventsData:d}=t,c=u()-d.touchStartTime;if(s<-t.minTranslate())t.slideTo(t.activeIndex);else if(s>-t.maxTranslate())t.slides.length<o.length?t.slideTo(o.length-1):t.slideTo(t.slides.length-1);else{if(r.freeMode.momentum){if(d.velocities.length>1){const e=d.velocities.pop(),s=d.velocities.pop(),a=e.position-s.position,i=e.time-s.time;t.velocity=a/i,t.velocity/=2,Math.abs(t.velocity)<r.freeMode.minimumVelocity&&(t.velocity=0),(i>150||u()-e.time>300)&&(t.velocity=0)}else t.velocity=0;
vendor: 5,341 bytes, line 290
290t.velocity*=r.freeMode.momentumVelocityRatio,d.velocities.length=0;let e=1e3*r.freeMode.momentumRatio;const s=t.velocity*e;let c=t.translate+s;l&&(c=-c);let p,h=!1;const m=20*Math.abs(t.velocity)*r.freeMode.momentumBounceRatio;let f;if(c<t.maxTranslate())r.freeMode.momentumBounce?(c+t.maxTranslate()<-m&&(c=t.maxTranslate()-m),p=t.maxTranslate(),h=!0,d.allowMomentumBounce=!0):c=t.maxTranslate(),r.loop&&r.centeredSlides&&(f=!0);else if(c>t.minTranslate())r.freeMode.momentumBounce?(c-t.minTranslate()>m&&(c=t.minTranslate()+m),p=t.minTranslate(),h=!0,d.allowMomentumBounce=!0):c=t.minTranslate(),r.loop&&r.centeredSlides&&(f=!0);else if(r.freeMode.sticky){let e;for(let t=0;t<o.length;t+=1)if(o[t]>-c){e=t;break}c=Math.abs(o[e]-c)<Math.abs(o[e-1]-c)||"next"===t.swipeDirection?o[e]:o[e-1],c=-c}if(f&&i("transitionEnd",(()=>{t.loopFix()})),0!==t.velocity){if(e=l?Math.abs((-c-t.translate)/t.velocity):Math.abs((c-t.translate)/t.velocity),r.freeMode.sticky){const s=Math.abs((l?-c:c)-t.translate),a=t.slidesSizesGrid[t.activeIndex];e=s<a?r.speed:s<2*a?1.5*r.speed:2.5*r.speed}}else if(r.freeMode.sticky)return void t.slideToClosest();r.freeMode.momentumBounce&&h?(t.updateProgress(p),t.setTransition(e),t.setTranslate(c),t.transitionStart(!0,t.swipeDirection),t.animating=!0,n.transitionEnd((()=>{t&&!t.destroyed&&d.allowMomentumBounce&&(a("momentumBounce"),t.setTransition(r.speed),setTimeout((()=>{t.setTranslate(p),n.transitionEnd((()=>{t&&!t.destroyed&&t.transitionEnd()}))}),0))}))):t.velocity?(a("_freeModeNoMomentumRelease"),t.updateProgress(c),t.setTransition(e),t.setTranslate(c),t.transitionStart(!0,t.swipeDirection),t.animating||(t.animating=!0,n.transitionEnd((()=>{t&&!t.destroyed&&t.transitionEnd()})))):t.updateProgress(c),t.updateActiveIndex(),t.updateSlidesClasses()}else{if(r.freeMode.sticky)return void t.slideToClosest();r.freeMode&&a("_freeModeNoMomentumRelease")}(!r.freeMode.momentum||c>=r.longSwipesMs)&&(t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses())}}}})},function(e){let t,s,a,{swiper:i,extendParams:r}=e;r({grid:{rows:1,fill:"column"}}),i.grid={initSlides:e=>{const{slidesPerView:r}=i.params,{rows:n,fill:l}=i.params.grid;s=t/n,a=Math.floor(e/n),t=Math.floor(e/n)===e/n?e:Math.ceil(e/n)*n,"auto"!==r&&"row"===l&&(t=Math.max(t,r*n))},updateSlide:(e,r,n,l)=>{const{slidesPerGroup:o,spaceBetween:d}=i.params,{rows:c,fill:p}=i.params.grid;let u,h,m;if("row"===p&&o>1){const s=Math.floor(e/(o*c)),a=e-c*o*s,i=0===s?o:Math.min(Math.ceil((n-s*c*o)/c),o);m=Math.floor(a/i),h=a-m*i+s*o,u=h+m*t/c,r.css({"-webkit-order":u,order:u})}else"column"===p?(h=Math.floor(e/c),m=e-h*c,(h>a||h===a&&m===c-1)&&(m+=1,m>=c&&(m=0,h+=1))):(m=Math.floor(e/s),h=e-m*s);r.css(l("margin-top"),0!==m?d&&`${d}px`:"")},updateWrapperSize:(e,s,a)=>{const{spaceBetween:r,centeredSlides:n,roundLengths:l}=i.params,{rows:o}=i.params.grid;if(i.virtualSize=(e+r)*t,i.virtualSize=Math.ceil(i.virtualSize/o)-r,i.$wrapperEl.css({[a("width")]:`${i.virtualSize+r}px`}),n){s.splice(0,s.length);const e=[];for(let t=0;t<s.length;t+=1){let a=s[t];l&&(a=Math.floor(a)),s[t]<i.virtualSize+s[0]&&e.push(a)}s.push(...e)}}}},function(e){let{swiper:t}=e;Object.assign(t,{appendSlide:K.bind(t),prependSlide:Z.bind(t),addSlide:Q.bind(t),removeSlide:J.bind(t),removeAllSlides:ee.bind(t)})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({fadeEffect:{crossFade:!1,transformEl:null}}),te({effect:"fade",swiper:t,on:a,setTranslate:()=>{const{slides:e}=t,s=t.params.fadeEffect;for(let a=0;a<e.length;a+=1){const e=t.slides.eq(a);let i=-e[0].swiperSlideOffset;t.params.virtualTranslate||(i-=t.translate);let r=0;t.isHorizontal()||(r=i,i=0);const n=t.params.fadeEffect.crossFade?Math.max(1-Math.abs(e[0].progress),0):1+Math.min(Math.max(e[0].progress,-1),0);se(s,e).css({opacity:n}).transform(`translate3d(${i}px, ${r}px, 0px)`)}},setTransition:e=>{const{transformEl:s}=t.params.fadeEffect;(s?t.slides.find(s):t.slides).transition(e),ae({swiper:t,duration:e,transformEl:s,allSlides:!0})},overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94}});const i=(e,t,s)=>{let a=s?e.find(".swiper-slide-shadow-left"):e.find(".swiper-slide-shadow-top"),i=s?e.find(".swiper-slide-shadow-right"):e.find(".swiper-slide-shadow-bottom");0===a.length&&(a=d(`<div class="swiper-slide-shadow-${s?"left":"top"}"></div>`),e.append(a)),0===i.length&&(i=d(`<div class="swiper-slide-shadow-${s?"right":"bottom"}"></div>`),e.append(i)),a.length&&(a[0].style.opacity=Math.max(-t,0)),i.length&&(i[0].style.opacity=Math.max(t,0))};te({effect:"cube",swiper:t,on:a,setTranslate:()=>{const{$el:e,$wrapperEl:s,slides:a,width:r,height:n,rtlTranslate:l,size:o,browser:c}=t,p=t.params.cubeEffect,u=t.isHorizontal(),h=t.virtual&&t.params.virtual.enabled;let m,f=0;p.shadow&&(u?(m=s.find(".swiper-cube-shadow"),0===m.length&&(m=d('<div class="swiper-cube-shadow"></div>'),s.append(m)),m.css({height:`${r}px`})):(m=e.find(".swiper-cube-shadow"),0===m.length&&(m=d('<div class="swiper-cube-shadow"></div>'),e.append(m))));for(let e=0;e<a.length;e+=1){const t=a.eq(e);let s=e;h&&(s=parseInt(t.attr("data-swiper-slide-index"),10));let r=90*s,n=Math.floor(r/360);l&&(r=-r,n=Math.floor(-r/360));
290const d=Math.max(Math.min(t[0].progress,1),-1);let c=0,m=0,g=0;s%4==0?(c=4*-n*o,g=0):(s-1)%4==0?(c=0,g=4*-n*o):(s-2)%4==0?(c=o+4*n*o,g=o):(s-3)%4==0&&(c=-o,g=3*o+4*o*n),l&&(c=-c),u||(m=c,c=0);const v=`rotateX(${u?0:-r}deg) rotateY(${u?r:0}deg) translate3d(${c}px, ${m}px, ${g}px)`;d<=1&&d>-1&&(f=90*s+90*d,l&&(f=90*-s-90*d)),t.transform(v),p.slideShadows&&i(t,d,u)}if(s.css({"-webkit-transform-origin":`50% 50% -${o/2}px`,"transform-origin":`50% 50% -${o/2}px`}),p.shadow)if(u)m.transform(`translate3d(0px, ${r/2+p.shadowOffset}px, ${-r/2}px) rotateX(90deg) rotateZ(0deg) scale(${p.shadowScale})`);else{const e=Math.abs(f)-90*Math.floor(Math.abs(f)/90),t=1.5-(Math.sin(2*e*Math.PI/360)/2+Math.cos(2*e*Math.PI/360)/2),s=p.shadowScale,a=p.shadowScale/t,i=p.shadowOffset;m.transform(`scale3d(${s}, 1, ${a}) translate3d(0px, ${n/2+i}px, ${-n/2/a}px) rotateX(-90deg)`)}const g=c.isSafari||c.isWebView?-o/2:0;s.transform(`translate3d(0px,0,${g}px) rotateX(${t.isHorizontal()?0:f}deg) rotateY(${t.isHorizontal()?-f:0}deg)`),s[0].style.setProperty("--swiper-cube-translate-z",`${g}px`)},setTransition:e=>{const{$el:s,slides:a}=t;a.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),t.params.cubeEffect.shadow&&!t.isHorizontal()&&s.find(".swiper-cube-shadow").transition(e)},recreateShadows:()=>{const e=t.isHorizontal();t.slides.each((t=>{const s=Math.max(Math.min(t.progress,1),-1);i(d(t),s,e)}))},getEffectParams:()=>t.params.cubeEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({flipEffect:{slideShadows:!0,limitRotation:!0,transformEl:null}});const i=(e,s,a)=>{let i=t.isHorizontal()?e.find(".swiper-slide-shadow-left"):e.find(".swiper-slide-shadow-top"),r=t.isHorizontal()?e.find(".swiper-slide-shadow-right"):e.find(".swiper-slide-shadow-bottom");0===i.length&&(i=ie(a,e,t.isHorizontal()?"left":"top")),0===r.length&&(r=ie(a,e,t.isHorizontal()?"right":"bottom")),i.length&&(i[0].style.opacity=Math.max(-s,0)),r.length&&(r[0].style.opacity=Math.max(s,0))};te({effect:"flip",swiper:t,on:a,setTranslate:()=>{const{slides:e,rtlTranslate:s}=t,a=t.params.flipEffect;for(let r=0;r<e.length;r+=1){const n=e.eq(r);let l=n[0].progress;t.params.flipEffect.limitRotation&&(l=Math.max(Math.min(n[0].progress,1),-1));const o=n[0].swiperSlideOffset;let d=-180*l,c=0,p=t.params.cssMode?-o-t.translate:-o,u=0;t.isHorizontal()?s&&(d=-d):(u=p,p=0,c=-d,d=0),n[0].style.zIndex=-Math.abs(Math.round(l))+e.length,a.slideShadows&&i(n,l,a);const h=`translate3d(${p}px, ${u}px, 0px) rotateX(${c}deg) rotateY(${d}deg)`;se(a,n).transform(h)}},setTransition:e=>{const{transformEl:s}=t.params.flipEffect;(s?t.slides.find(s):t.slides).transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),ae({swiper:t,duration:e,transformEl:s})},recreateShadows:()=>{const e=t.params.flipEffect;t.slides.each((s=>{const a=d(s);let r=a[0].progress;t.params.flipEffect.limitRotation&&(r=Math.max(Math.min(s.progress,1),-1)),i(a,r,e)}))},getEffectParams:()=>t.params.flipEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({coverflowEffect:{rotate:50,stretch:0,depth:100,scale:1,modifier:1,slideShadows:!0,transformEl:null}}),te({effect:"coverflow",swiper:t,on:a,setTranslate:()=>{const{width:e,height:s,slides:a,slidesSizesGrid:i}=t,r=t.params.coverflowEffect,n=t.isHorizontal(),l=t.translate,o=n?e/2-l:s/2-l,d=n?r.rotate:-r.rotate,c=r.depth;for(let e=0,t=a.length;e<t;e+=1){const t=a.eq(e),s=i[e],l=(o-t[0].swiperSlideOffset-s/2)/s,p="function"==typeof r.modifier?r.modifier(l):l*r.modifier;let u=n?d*p:0,h=n?0:d*p,m=-c*Math.abs(p),f=r.stretch;"string"==typeof f&&-1!==f.indexOf("%")&&(f=parseFloat(r.stretch)/100*s);let g=n?0:f*p,v=n?f*p:0,w=1-(1-r.scale)*Math.abs(p);Math.abs(v)<.001&&(v=0),Math.abs(g)<.001&&(g=0),Math.abs(m)<.001&&(m=0),Math.abs(u)<.001&&(u=0),Math.abs(h)<.001&&(h=0),Math.abs(w)<.001&&(w=0);const b=`translate3d(${v}px,${g}px,${m}px) rotateX(${h}deg) rotateY(${u}deg) scale(${w})`;if(se(r,t).transform(b),t[0].style.zIndex=1-Math.abs(Math.round(p)),r.slideShadows){let e=n?t.find(".swiper-slide-shadow-left"):t.find(".swiper-slide-shadow-top"),s=n?t.find(".swiper-slide-shadow-right"):t.find(".swiper-slide-shadow-bottom");0===e.length&&(e=ie(r,t,n?"left":"top")),0===s.length&&(s=ie(r,t,n?"right":"bottom")),e.length&&(e[0].style.opacity=p>0?p:0),s.length&&(s[0].style.opacity=-p>0?-p:0)}}},setTransition:e=>{const{transformEl:s}=t.params.coverflowEffect;(s?t.slides.find(s):t.slides).transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e)},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({creativeEffect:{transformEl:null,limitProgress:1,shadowPerProgress:!1,progressMultiplier:1,perspective:!0,prev:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1},next:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1}}});const i=e=>"string"==typeof e?e:`${e}px`;te({effect:"creative",swiper:t,on:a,setTranslate:()=>{const{slides:e,$wrapperEl:s,slidesSizesGrid:a}=t,r=t.params.creativeEffect,{progressMultiplier:n}=r,l=t.params.centeredSlides;if(l){const e=a[0]/2-t.params.slidesOffsetBefore||0;s.transform(`translateX(calc(50% - ${e}px))`)}for(let s=0;s<e.length;s+=1){const a=e.eq(s),o=a[0].progress,d=Math.min(Math.max(a[0].progress,-r.limitProgress),r.limitProgress);let c=d;l||(c=Math.min(Math.max(a[0].originalProgress,-r.limitProgress),r.limitProgress));const p=a[0].swiperSlideOffset,u=[t.params.cssMode?-p-t.translate:-p,0,0],h=[0,0,0];let m=!1;t.isHorizontal()||(u[1]=u[0],u[0]=0);
290let f={translate:[0,0,0],rotate:[0,0,0],scale:1,opacity:1};d<0?(f=r.next,m=!0):d>0&&(f=r.prev,m=!0),u.forEach(((e,t)=>{u[t]=`calc(${e}px + (${i(f.translate[t])} * ${Math.abs(d*n)}))`})),h.forEach(((e,t)=>{h[t]=f.rotate[t]*Math.abs(d*n)})),a[0].style.zIndex=-Math.abs(Math.round(o))+e.length;const g=u.join(", "),v=`rotateX(${h[0]}deg) rotateY(${h[1]}deg) rotateZ(${h[2]}deg)`,w=c<0?`scale(${1+(1-f.scale)*c*n})`:`scale(${1-(1-f.scale)*c*n})`,b=c<0?1+(1-f.opacity)*c*n:1-(1-f.opacity)*c*n,x=`translate3d(${g}) ${v} ${w}`;if(m&&f.shadow||!m){let e=a.children(".swiper-slide-shadow");if(0===e.length&&f.shadow&&(e=ie(r,a)),e.length){const t=r.shadowPerProgress?d*(1/r.limitProgress):d;e[0].style.opacity=Math.min(Math.max(Math.abs(t),0),1)}}const y=se(r,a);y.transform(x).css({opacity:b}),f.origin&&y.css("transform-origin",f.origin)}},setTransition:e=>{const{transformEl:s}=t.params.creativeEffect;(s?t.slides.find(s):t.slides).transition(e).find(".swiper-slide-shadow").transition(e),ae({swiper:t,duration:e,transformEl:s,allSlides:!0})},perspective:()=>t.params.creativeEffect.perspective,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!t.params.cssMode})})},function(e){let{swiper:t,extendParams:s,on:a}=e;s({cardsEffect:{slideShadows:!0,transformEl:null,rotate:!0}}),te({effect:"cards",swiper:t,on:a,setTranslate:()=>{const{slides:e,activeIndex:s}=t,a=t.params.cardsEffect,{startTranslate:i,isTouched:r}=t.touchEventsData,n=t.translate;for(let l=0;l<e.length;l+=1){const o=e.eq(l),d=o[0].progress,c=Math.min(Math.max(d,-4),4);let p=o[0].swiperSlideOffset;t.params.centeredSlides&&!t.params.cssMode&&t.$wrapperEl.transform(`translateX(${t.minTranslate()}px)`),t.params.centeredSlides&&t.params.cssMode&&(p-=e[0].swiperSlideOffset);let u=t.params.cssMode?-p-t.translate:-p,h=0;const m=-100*Math.abs(c);let f=1,g=-2*c,v=8-.75*Math.abs(c);const w=t.virtual&&t.params.virtual.enabled?t.virtual.from+l:l,b=(w===s||w===s-1)&&c>0&&c<1&&(r||t.params.cssMode)&&n<i,x=(w===s||w===s+1)&&c<0&&c>-1&&(r||t.params.cssMode)&&n>i;if(b||x){const e=(1-Math.abs((Math.abs(c)-.5)/.5))**.5;g+=-28*c*e,f+=-.5*e,v+=96*e,h=-25*e*Math.abs(c)+"%"}if(u=c<0?`calc(${u}px + (${v*Math.abs(c)}%))`:c>0?`calc(${u}px + (-${v*Math.abs(c)}%))`:`${u}px`,!t.isHorizontal()){const e=h;h=u,u=e}const y=c<0?""+(1+(1-f)*c):""+(1-(1-f)*c),E=`\n translate3d(${u}, ${h}, ${m}px)\n rotateZ(${a.rotate?g:0}deg)\n scale(${y})\n `;if(a.slideShadows){let e=o.find(".swiper-slide-shadow");0===e.length&&(e=ie(a,o)),e.length&&(e[0].style.opacity=Math.min(Math.max((Math.abs(c)-.5)/.5,0),1))}o[0].style.zIndex=-Math.abs(Math.round(d))+e.length;se(a,o).transform(E)}},setTransition:e=>{const{transformEl:s}=t.params.cardsEffect;(s?t.slides.find(s):t.slides).transition(e).find(".swiper-slide-shadow").transition(e),ae({swiper:t,duration:e,transformEl:s})},perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!t.params.cssMode})})}];return V.use(re),V})); 291 292(function (global, factory) { 293 typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : 294 typeof define === 'function' && define.amd ? define(['exports'], factory) : 295 (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.IMask = {})); 296})(this, (function (exports) { 'use strict'; 297 298 var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; 299 300 var check = function (it) { 301 return it && it.Math == Math && it; 302 }; // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 303 304 305 var global$p = // eslint-disable-next-line es/no-global-this -- safe 306 check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || // eslint-disable-next-line no-restricted-globals -- safe 307 check(typeof self == 'object' && self) || check(typeof commonjsGlobal == 'object' && commonjsGlobal) || // eslint-disable-next-line no-new-func -- fallback 308 function () { 309 return this; 310 }() || Function('return this')(); 311 312 var objectGetOwnPropertyDescriptor = {}; 313 314 var fails$8 = function (exec) { 315 try { 316 return !!exec(); 317 } catch (error) { 318 return true; 319 } 320 }; 321 322 var fails$7 = fails$8; // Detect IE8's incomplete defineProperty implementation 323 324 325 var descriptors = !fails$7(function () { 326 // eslint-disable-next-line es/no-object-defineproperty -- required for testing 327 return Object.defineProperty({}, 1, { 328 get: function () { 329 return 7; 330 } 331 })[1] != 7; 332 }); 333 334 var fails$6 = fails$8; 335 336 var functionBindNative = !fails$6(function () { 337 var test = function () { 338 /* empty */ 339 }.bind(); // eslint-disable-next-line no-prototype-builtins -- safe 340 341 342 return typeof test != 'function' || test.hasOwnProperty('prototype'); 343 }); 344 345 var NATIVE_BIND$1 = functionBindNative; 346 347 var call$5 = Function.prototype.call; 348 var functionCall = NATIVE_BIND$1 ? call$5.bind(call$5) : function () { 349 return call$5.apply(call$5, arguments); 350 }; 351 352 var objectPropertyIsEnumerable = {}; 353 354 var $propertyIsEnumerable = {}.propertyIsEnumerable; // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe 355 356 var getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor; // Nashorn ~ JDK8 bug 357 358 var NASHORN_BUG = getOwnPropertyDescriptor$1 && !$propertyIsEnumerable.call({ 359 1: 2 360 }, 1); // `Object.prototype.propertyIsEnumerable` method implementation 361 // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable 362 363 objectPropertyIsEnumerable.f = NASHORN_BUG ? function propertyIsEnumerable(V) { 364 var descriptor = getOwnPropertyDescriptor$1(this, V); 365 return !!descriptor && descriptor.enumerable; 366 } : $propertyIsEnumerable; 367 368 var createPropertyDescriptor$2 = function (bitmap, value) { 369 return { 370 enumerable: !(bitmap & 1), 371 configurable: !(bitmap & 2), 372 writable: !(bitmap & 4), 373 value: value 374 }; 375 }; 376 377 var NATIVE_BIND = functionBindNative; 378 379 var FunctionPrototype$1 = Function.prototype; 380 var bind = FunctionPrototype$1.bind; 381 var call$4 = FunctionPrototype$1.call; 382 var uncurryThis$b = NATIVE_BIND && bind.bind(call$4, call$4); 383 var functionUncurryThis = NATIVE_BIND ? function (fn) { 384 return fn && uncurryThis$b(fn); 385 } : function (fn) { 386 return fn && function () { 387 return call$4.apply(fn, arguments); 388 }; 389 }; 390 391 var uncurryThis$a = functionUncurryThis; 392 393 var toString$4 = uncurryThis$a({}.toString); 394 var stringSlice$1 = uncurryThis$a(''.slice); 395 396 var classofRaw$1 = function (it) { 397 return stringSlice$1(toString$4(it), 8, -1); 398 }; 399 400 var global$o = global$p; 401 402 var uncurryThis$9 = functionUncurryThis; 403 404 var fails$5 = fails$8; 405 406 var classof$2 = classofRaw$1; 407 408 var Object$4 = global$o.Object; 409 var split = uncurryThis$9(''.split); // fallback for non-array-like ES3 and non-enumerable old V8 strings 410 411 var indexedObject = fails$5(function () { 412 // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 413 // eslint-disable-next-line no-prototype-builtins -- safe 414 return !Object$4('z').propertyIsEnumerable(0); 415 }) ? function (it) { 416 return classof$2(it) == 'String' ? split(it, '') : Object$4(it); 417 } : Object$4;
vendor: 12,307 bytes, lines 418-848
418 419 var global$n = global$p; 420 421 var TypeError$7 = global$n.TypeError; // `RequireObjectCoercible` abstract operation 422 // https://tc39.es/ecma262/#sec-requireobjectcoercible 423 424 var requireObjectCoercible$4 = function (it) { 425 if (it == undefined) throw TypeError$7("Can't call method on " + it); 426 return it; 427 }; 428 429 // toObject with fallback for non-array-like ES3 strings 430 var IndexedObject$1 = indexedObject; 431 432 var requireObjectCoercible$3 = requireObjectCoercible$4; 433 434 var toIndexedObject$3 = function (it) { 435 return IndexedObject$1(requireObjectCoercible$3(it)); 436 }; 437 438 // `IsCallable` abstract operation 439 // https://tc39.es/ecma262/#sec-iscallable 440 var isCallable$a = function (argument) { 441 return typeof argument == 'function'; 442 }; 443 444 var isCallable$9 = isCallable$a; 445 446 var isObject$5 = function (it) { 447 return typeof it == 'object' ? it !== null : isCallable$9(it); 448 }; 449 450 var global$m = global$p; 451 452 var isCallable$8 = isCallable$a; 453 454 var aFunction = function (argument) { 455 return isCallable$8(argument) ? argument : undefined; 456 }; 457 458 var getBuiltIn$3 = function (namespace, method) { 459 return arguments.length < 2 ? aFunction(global$m[namespace]) : global$m[namespace] && global$m[namespace][method]; 460 }; 461 462 var uncurryThis$8 = functionUncurryThis; 463 464 var objectIsPrototypeOf = uncurryThis$8({}.isPrototypeOf); 465 466 var getBuiltIn$2 = getBuiltIn$3; 467 468 var engineUserAgent = getBuiltIn$2('navigator', 'userAgent') || ''; 469 470 var global$l = global$p; 471 472 var userAgent$1 = engineUserAgent; 473 474 var process = global$l.process; 475 var Deno = global$l.Deno; 476 var versions = process && process.versions || Deno && Deno.version; 477 var v8 = versions && versions.v8; 478 var match, version; 479 480 if (v8) { 481 match = v8.split('.'); // in old Chrome, versions of V8 isn't V8 = Chrome / 10 482 // but their correct versions are not interesting for us 483 484 version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]); 485 } // BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0` 486 // so check `userAgent` even if `.v8` exists, but 0 487 488 489 if (!version && userAgent$1) { 490 match = userAgent$1.match(/Edge\/(\d+)/); 491 492 if (!match || match[1] >= 74) { 493 match = userAgent$1.match(/Chrome\/(\d+)/); 494 if (match) version = +match[1]; 495 } 496 } 497 498 var engineV8Version = version; 499 500 /* eslint-disable es/no-symbol -- required for testing */ 501 502 var V8_VERSION = engineV8Version; 503 504 var fails$4 = fails$8; // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing 505 506 507 var nativeSymbol = !!Object.getOwnPropertySymbols && !fails$4(function () { 508 var symbol = Symbol(); // Chrome 38 Symbol has incorrect toString conversion 509 // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances 510 511 return !String(symbol) || !(Object(symbol) instanceof Symbol) || // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances 512 !Symbol.sham && V8_VERSION && V8_VERSION < 41; 513 }); 514 515 /* eslint-disable es/no-symbol -- required for testing */ 516 517 var NATIVE_SYMBOL$1 = nativeSymbol; 518 519 var useSymbolAsUid = NATIVE_SYMBOL$1 && !Symbol.sham && typeof Symbol.iterator == 'symbol'; 520 521 var global$k = global$p; 522 523 var getBuiltIn$1 = getBuiltIn$3; 524 525 var isCallable$7 = isCallable$a; 526 527 var isPrototypeOf = objectIsPrototypeOf; 528 529 var USE_SYMBOL_AS_UID$1 = useSymbolAsUid; 530 531 var Object$3 = global$k.Object; 532 var isSymbol$2 = USE_SYMBOL_AS_UID$1 ? function (it) { 533 return typeof it == 'symbol'; 534 } : function (it) { 535 var $Symbol = getBuiltIn$1('Symbol'); 536 return isCallable$7($Symbol) && isPrototypeOf($Symbol.prototype, Object$3(it)); 537 }; 538 539 var global$j = global$p; 540 541 var String$3 = global$j.String; 542 543 var tryToString$1 = function (argument) { 544 try { 545 return String$3(argument); 546 } catch (error) { 547 return 'Object'; 548 } 549 }; 550 551 var global$i = global$p; 552 553 var isCallable$6 = isCallable$a; 554 555 var tryToString = tryToString$1; 556 557 var TypeError$6 = global$i.TypeError; // `Assert: IsCallable(argument) is true` 558 559 var aCallable$1 = function (argument) { 560 if (isCallable$6(argument)) return argument; 561 throw TypeError$6(tryToString(argument) + ' is not a function'); 562 }; 563 564 var aCallable = aCallable$1; // `GetMethod` abstract operation 565 // https://tc39.es/ecma262/#sec-getmethod 566 567 568 var getMethod$1 = function (V, P) { 569 var func = V[P]; 570 return func == null ? undefined : aCallable(func); 571 }; 572 573 var global$h = global$p; 574 575 var call$3 = functionCall; 576 577 var isCallable$5 = isCallable$a; 578 579 var isObject$4 = isObject$5; 580 581 var TypeError$5 = global$h.TypeError; // `OrdinaryToPrimitive` abstract operation 582 // https://tc39.es/ecma262/#sec-ordinarytoprimitive 583 584 var ordinaryToPrimitive$1 = function (input, pref) { 585 var fn, val; 586 if (pref === 'string' && isCallable$5(fn = input.toString) && !isObject$4(val = call$3(fn, input))) return val; 587 if (isCallable$5(fn = input.valueOf) && !isObject$4(val = call$3(fn, input))) return val; 588 if (pref !== 'string' && isCallable$5(fn = input.toString) && !isObject$4(val = call$3(fn, input))) return val; 589 throw TypeError$5("Can't convert object to primitive value"); 590 }; 591 592 var shared$3 = {exports: {}}; 593 594 var global$g = global$p; // eslint-disable-next-line es/no-object-defineproperty -- safe 595 596 597 var defineProperty$1 = Object.defineProperty; 598 599 var setGlobal$3 = function (key, value) { 600 try { 601 defineProperty$1(global$g, key, { 602 value: value, 603 configurable: true, 604 writable: true 605 }); 606 } catch (error) { 607 global$g[key] = value; 608 } 609 610 return value; 611 }; 612 613 var global$f = global$p; 614 615 var setGlobal$2 = setGlobal$3; 616 617 var SHARED = '__core-js_shared__'; 618 var store$3 = global$f[SHARED] || setGlobal$2(SHARED, {}); 619 var sharedStore = store$3; 620 621 var store$2 = sharedStore; 622 623 (shared$3.exports = function (key, value) { 624 return store$2[key] || (store$2[key] = value !== undefined ? value : {}); 625 })('versions', []).push({ 626 version: '3.21.0', 627 mode: 'global', 628 copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)', 629 license: 'https://github.com/zloirock/core-js/blob/v3.21.0/LICENSE', 630 source: 'https://github.com/zloirock/core-js' 631 }); 632 633 var global$e = global$p; 634 635 var requireObjectCoercible$2 = requireObjectCoercible$4; 636 637 var Object$2 = global$e.Object; // `ToObject` abstract operation 638 // https://tc39.es/ecma262/#sec-toobject 639 640 var toObject$2 = function (argument) { 641 return Object$2(requireObjectCoercible$2(argument)); 642 }; 643 644 var uncurryThis$7 = functionUncurryThis; 645 646 var toObject$1 = toObject$2; 647 648 var hasOwnProperty = uncurryThis$7({}.hasOwnProperty); // `HasOwnProperty` abstract operation 649 // https://tc39.es/ecma262/#sec-hasownproperty 650 651 var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) { 652 return hasOwnProperty(toObject$1(it), key); 653 }; 654 655 var uncurryThis$6 = functionUncurryThis; 656 657 var id = 0; 658 var postfix = Math.random(); 659 var toString$3 = uncurryThis$6(1.0.toString); 660 661 var uid$2 = function (key) { 662 return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$3(++id + postfix, 36); 663 }; 664 665 var global$d = global$p; 666 667 var shared$2 = shared$3.exports; 668 669 var hasOwn$6 = hasOwnProperty_1; 670 671 var uid$1 = uid$2; 672 673 var NATIVE_SYMBOL = nativeSymbol; 674 675 var USE_SYMBOL_AS_UID = useSymbolAsUid; 676 677 var WellKnownSymbolsStore = shared$2('wks'); 678 var Symbol$1 = global$d.Symbol; 679 var symbolFor = Symbol$1 && Symbol$1['for']; 680 var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid$1; 681 682 var wellKnownSymbol$3 = function (name) { 683 if (!hasOwn$6(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) { 684 var description = 'Symbol.' + name; 685 686 if (NATIVE_SYMBOL && hasOwn$6(Symbol$1, name)) { 687 WellKnownSymbolsStore[name] = Symbol$1[name]; 688 } else if (USE_SYMBOL_AS_UID && symbolFor) { 689 WellKnownSymbolsStore[name] = symbolFor(description); 690 } else { 691 WellKnownSymbolsStore[name] = createWellKnownSymbol(description); 692 } 693 } 694 695 return WellKnownSymbolsStore[name]; 696 }; 697 698 var global$c = global$p; 699 700 var call$2 = functionCall; 701 702 var isObject$3 = isObject$5; 703 704 var isSymbol$1 = isSymbol$2; 705 706 var getMethod = getMethod$1; 707 708 var ordinaryToPrimitive = ordinaryToPrimitive$1; 709 710 var wellKnownSymbol$2 = wellKnownSymbol$3; 711 712 var TypeError$4 = global$c.TypeError; 713 var TO_PRIMITIVE = wellKnownSymbol$2('toPrimitive'); // `ToPrimitive` abstract operation 714 // https://tc39.es/ecma262/#sec-toprimitive 715 716 var toPrimitive$1 = function (input, pref) { 717 if (!isObject$3(input) || isSymbol$1(input)) return input; 718 var exoticToPrim = getMethod(input, TO_PRIMITIVE); 719 var result; 720 721 if (exoticToPrim) { 722 if (pref === undefined) pref = 'default'; 723 result = call$2(exoticToPrim, input, pref); 724 if (!isObject$3(result) || isSymbol$1(result)) return result; 725 throw TypeError$4("Can't convert object to primitive value"); 726 } 727 728 if (pref === undefined) pref = 'number'; 729 return ordinaryToPrimitive(input, pref); 730 }; 731 732 var toPrimitive = toPrimitive$1; 733 734 var isSymbol = isSymbol$2; // `ToPropertyKey` abstract operation 735 // https://tc39.es/ecma262/#sec-topropertykey 736 737 738 var toPropertyKey$2 = function (argument) { 739 var key = toPrimitive(argument, 'string'); 740 return isSymbol(key) ? key : key + ''; 741 }; 742 743 var global$b = global$p; 744 745 var isObject$2 = isObject$5; 746 747 var document$1 = global$b.document; // typeof document.createElement is 'object' in old IE 748 749 var EXISTS$1 = isObject$2(document$1) && isObject$2(document$1.createElement); 750 751 var documentCreateElement = function (it) { 752 return EXISTS$1 ? document$1.createElement(it) : {}; 753 }; 754 755 var DESCRIPTORS$6 = descriptors; 756 757 var fails$3 = fails$8; 758 759 var createElement = documentCreateElement; // Thanks to IE8 for its funny defineProperty 760 761 762 var ie8DomDefine = !DESCRIPTORS$6 && !fails$3(function () { 763 // eslint-disable-next-line es/no-object-defineproperty -- required for testing 764 return Object.defineProperty(createElement('div'), 'a', { 765 get: function () { 766 return 7; 767 } 768 }).a != 7; 769 }); 770 771 var DESCRIPTORS$5 = descriptors; 772 773 var call$1 = functionCall; 774 775 var propertyIsEnumerableModule$1 = objectPropertyIsEnumerable; 776 777 var createPropertyDescriptor$1 = createPropertyDescriptor$2; 778 779 var toIndexedObject$2 = toIndexedObject$3; 780 781 var toPropertyKey$1 = toPropertyKey$2; 782 783 var hasOwn$5 = hasOwnProperty_1; 784 785 var IE8_DOM_DEFINE$1 = ie8DomDefine; // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe 786 787 788 var $getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor; // `Object.getOwnPropertyDescriptor` method 789 // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor 790 791 objectGetOwnPropertyDescriptor.f = DESCRIPTORS$5 ? $getOwnPropertyDescriptor$1 : function getOwnPropertyDescriptor(O, P) { 792 O = toIndexedObject$2(O); 793 P = toPropertyKey$1(P); 794 if (IE8_DOM_DEFINE$1) try { 795 return $getOwnPropertyDescriptor$1(O, P); 796 } catch (error) { 797 /* empty */ 798 } 799 if (hasOwn$5(O, P)) return createPropertyDescriptor$1(!call$1(propertyIsEnumerableModule$1.f, O, P), O[P]); 800 }; 801 802 var objectDefineProperty = {}; 803 804 var DESCRIPTORS$4 = descriptors; 805 806 var fails$2 = fails$8; // V8 ~ Chrome 36- 807 // https://bugs.chromium.org/p/v8/issues/detail?id=3334 808 809 810 var v8PrototypeDefineBug = DESCRIPTORS$4 && fails$2(function () { 811 // eslint-disable-next-line es/no-object-defineproperty -- required for testing 812 return Object.defineProperty(function () { 813 /* empty */ 814 }, 'prototype', { 815 value: 42, 816 writable: false 817 }).prototype != 42; 818 }); 819 820 var global$a = global$p; 821 822 var isObject$1 = isObject$5; 823 824 var String$2 = global$a.String; 825 var TypeError$3 = global$a.TypeError; // `Assert: Type(argument) is Object` 826 827 var anObject$2 = function (argument) { 828 if (isObject$1(argument)) return argument; 829 throw TypeError$3(String$2(argument) + ' is not an object'); 830 }; 831 832 var global$9 = global$p; 833 834 var DESCRIPTORS$3 = descriptors; 835 836 var IE8_DOM_DEFINE = ie8DomDefine; 837 838 var V8_PROTOTYPE_DEFINE_BUG = v8PrototypeDefineBug; 839 840 var anObject$1 = anObject$2; 841 842 var toPropertyKey = toPropertyKey$2; 843 844 var TypeError$2 = global$9.TypeError; // eslint-disable-next-line es/no-object-defineproperty -- safe 845 846 var $defineProperty = Object.defineProperty; // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe 847 848 var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
vendor: 5,766 bytes, lines 849-1063
849 var ENUMERABLE = 'enumerable'; 850 var CONFIGURABLE$1 = 'configurable'; 851 var WRITABLE = 'writable'; // `Object.defineProperty` method 852 // https://tc39.es/ecma262/#sec-object.defineproperty 853 854 objectDefineProperty.f = DESCRIPTORS$3 ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) { 855 anObject$1(O); 856 P = toPropertyKey(P); 857 anObject$1(Attributes); 858 859 if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) { 860 var current = $getOwnPropertyDescriptor(O, P); 861 862 if (current && current[WRITABLE]) { 863 O[P] = Attributes.value; 864 Attributes = { 865 configurable: CONFIGURABLE$1 in Attributes ? Attributes[CONFIGURABLE$1] : current[CONFIGURABLE$1], 866 enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE], 867 writable: false 868 }; 869 } 870 } 871 872 return $defineProperty(O, P, Attributes); 873 } : $defineProperty : function defineProperty(O, P, Attributes) { 874 anObject$1(O); 875 P = toPropertyKey(P); 876 anObject$1(Attributes); 877 if (IE8_DOM_DEFINE) try { 878 return $defineProperty(O, P, Attributes); 879 } catch (error) { 880 /* empty */ 881 } 882 if ('get' in Attributes || 'set' in Attributes) throw TypeError$2('Accessors not supported'); 883 if ('value' in Attributes) O[P] = Attributes.value; 884 return O; 885 }; 886 887 var DESCRIPTORS$2 = descriptors; 888 889 var definePropertyModule$1 = objectDefineProperty; 890 891 var createPropertyDescriptor = createPropertyDescriptor$2; 892 893 var createNonEnumerableProperty$3 = DESCRIPTORS$2 ? function (object, key, value) { 894 return definePropertyModule$1.f(object, key, createPropertyDescriptor(1, value)); 895 } : function (object, key, value) { 896 object[key] = value; 897 return object; 898 }; 899 900 var redefine$1 = {exports: {}}; 901 902 var uncurryThis$5 = functionUncurryThis; 903 904 var isCallable$4 = isCallable$a; 905 906 var store$1 = sharedStore; 907 908 var functionToString = uncurryThis$5(Function.toString); // this helper broken in `[email protected]`, so we can't use `shared` helper 909 910 if (!isCallable$4(store$1.inspectSource)) { 911 store$1.inspectSource = function (it) { 912 return functionToString(it); 913 }; 914 } 915 916 var inspectSource$2 = store$1.inspectSource; 917 918 var global$8 = global$p; 919 920 var isCallable$3 = isCallable$a; 921 922 var inspectSource$1 = inspectSource$2; 923 924 var WeakMap$1 = global$8.WeakMap; 925 var nativeWeakMap = isCallable$3(WeakMap$1) && /native code/.test(inspectSource$1(WeakMap$1)); 926 927 var shared$1 = shared$3.exports; 928 929 var uid = uid$2; 930 931 var keys = shared$1('keys'); 932 933 var sharedKey$1 = function (key) { 934 return keys[key] || (keys[key] = uid(key)); 935 }; 936 937 var hiddenKeys$3 = {}; 938 939 var NATIVE_WEAK_MAP = nativeWeakMap; 940 941 var global$7 = global$p; 942 943 var uncurryThis$4 = functionUncurryThis; 944 945 var isObject = isObject$5; 946 947 var createNonEnumerableProperty$2 = createNonEnumerableProperty$3; 948 949 var hasOwn$4 = hasOwnProperty_1; 950 951 var shared = sharedStore; 952 953 var sharedKey = sharedKey$1; 954 955 var hiddenKeys$2 = hiddenKeys$3; 956 957 var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; 958 var TypeError$1 = global$7.TypeError; 959 var WeakMap = global$7.WeakMap; 960 var set$1, get, has; 961 962 var enforce = function (it) { 963 return has(it) ? get(it) : set$1(it, {}); 964 }; 965 966 var getterFor = function (TYPE) { 967 return function (it) { 968 var state; 969 970 if (!isObject(it) || (state = get(it)).type !== TYPE) { 971 throw TypeError$1('Incompatible receiver, ' + TYPE + ' required'); 972 } 973 974 return state; 975 }; 976 }; 977 978 if (NATIVE_WEAK_MAP || shared.state) { 979 var store = shared.state || (shared.state = new WeakMap()); 980 var wmget = uncurryThis$4(store.get); 981 var wmhas = uncurryThis$4(store.has); 982 var wmset = uncurryThis$4(store.set); 983 984 set$1 = function (it, metadata) { 985 if (wmhas(store, it)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED); 986 metadata.facade = it; 987 wmset(store, it, metadata); 988 return metadata; 989 }; 990 991 get = function (it) { 992 return wmget(store, it) || {}; 993 }; 994 995 has = function (it) { 996 return wmhas(store, it); 997 }; 998 } else { 999 var STATE = sharedKey('state'); 1000 hiddenKeys$2[STATE] = true; 1001 1002 set$1 = function (it, metadata) { 1003 if (hasOwn$4(it, STATE)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED); 1004 metadata.facade = it; 1005 createNonEnumerableProperty$2(it, STATE, metadata); 1006 return metadata; 1007 }; 1008 1009 get = function (it) { 1010 return hasOwn$4(it, STATE) ? it[STATE] : {}; 1011 }; 1012 1013 has = function (it) { 1014 return hasOwn$4(it, STATE); 1015 }; 1016 } 1017 1018 var internalState = { 1019 set: set$1, 1020 get: get, 1021 has: has, 1022 enforce: enforce, 1023 getterFor: getterFor 1024 }; 1025 1026 var DESCRIPTORS$1 = descriptors; 1027 1028 var hasOwn$3 = hasOwnProperty_1; 1029 1030 var FunctionPrototype = Function.prototype; // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe 1031 1032 var getDescriptor = DESCRIPTORS$1 && Object.getOwnPropertyDescriptor; 1033 var EXISTS = hasOwn$3(FunctionPrototype, 'name'); // additional protection from minified / mangled / dropped function names 1034 1035 var PROPER = EXISTS && function something() { 1036 /* empty */ 1037 }.name === 'something'; 1038 1039 var CONFIGURABLE = EXISTS && (!DESCRIPTORS$1 || DESCRIPTORS$1 && getDescriptor(FunctionPrototype, 'name').configurable); 1040 var functionName = { 1041 EXISTS: EXISTS, 1042 PROPER: PROPER, 1043 CONFIGURABLE: CONFIGURABLE 1044 }; 1045 1046 var global$6 = global$p; 1047 1048 var isCallable$2 = isCallable$a; 1049 1050 var hasOwn$2 = hasOwnProperty_1; 1051 1052 var createNonEnumerableProperty$1 = createNonEnumerableProperty$3; 1053 1054 var setGlobal$1 = setGlobal$3; 1055 1056 var inspectSource = inspectSource$2; 1057 1058 var InternalStateModule = internalState; 1059 1060 var CONFIGURABLE_FUNCTION_NAME = functionName.CONFIGURABLE; 1061 1062 var getInternalState = InternalStateModule.get; 1063 var enforceInternalState = InternalStateModule.enforce;
vendor: 4,855 bytes, lines 1064-1207
1064 var TEMPLATE = String(String).split('String'); 1065 (redefine$1.exports = function (O, key, value, options) { 1066 var unsafe = options ? !!options.unsafe : false; 1067 var simple = options ? !!options.enumerable : false; 1068 var noTargetGet = options ? !!options.noTargetGet : false; 1069 var name = options && options.name !== undefined ? options.name : key; 1070 var state; 1071 1072 if (isCallable$2(value)) { 1073 if (String(name).slice(0, 7) === 'Symbol(') { 1074 name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']'; 1075 } 1076 1077 if (!hasOwn$2(value, 'name') || CONFIGURABLE_FUNCTION_NAME && value.name !== name) { 1078 createNonEnumerableProperty$1(value, 'name', name); 1079 } 1080 1081 state = enforceInternalState(value); 1082 1083 if (!state.source) { 1084 state.source = TEMPLATE.join(typeof name == 'string' ? name : ''); 1085 } 1086 } 1087 1088 if (O === global$6) { 1089 if (simple) O[key] = value;else setGlobal$1(key, value); 1090 return; 1091 } else if (!unsafe) { 1092 delete O[key]; 1093 } else if (!noTargetGet && O[key]) { 1094 simple = true; 1095 } 1096 1097 if (simple) O[key] = value;else createNonEnumerableProperty$1(O, key, value); // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative 1098 })(Function.prototype, 'toString', function toString() { 1099 return isCallable$2(this) && getInternalState(this).source || inspectSource(this); 1100 }); 1101 1102 var objectGetOwnPropertyNames = {}; 1103 1104 var ceil$1 = Math.ceil; 1105 var floor = Math.floor; // `ToIntegerOrInfinity` abstract operation 1106 // https://tc39.es/ecma262/#sec-tointegerorinfinity 1107 1108 var toIntegerOrInfinity$3 = function (argument) { 1109 var number = +argument; // eslint-disable-next-line no-self-compare -- safe 1110 1111 return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil$1)(number); 1112 }; 1113 1114 var toIntegerOrInfinity$2 = toIntegerOrInfinity$3; 1115 1116 var max = Math.max; 1117 var min$1 = Math.min; // Helper for a popular repeating case of the spec: 1118 // Let integer be ? ToInteger(index). 1119 // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). 1120 1121 var toAbsoluteIndex$1 = function (index, length) { 1122 var integer = toIntegerOrInfinity$2(index); 1123 return integer < 0 ? max(integer + length, 0) : min$1(integer, length); 1124 }; 1125 1126 var toIntegerOrInfinity$1 = toIntegerOrInfinity$3; 1127 1128 var min = Math.min; // `ToLength` abstract operation 1129 // https://tc39.es/ecma262/#sec-tolength 1130 1131 var toLength$2 = function (argument) { 1132 return argument > 0 ? min(toIntegerOrInfinity$1(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 1133 }; 1134 1135 var toLength$1 = toLength$2; // `LengthOfArrayLike` abstract operation 1136 // https://tc39.es/ecma262/#sec-lengthofarraylike 1137 1138 1139 var lengthOfArrayLike$1 = function (obj) { 1140 return toLength$1(obj.length); 1141 }; 1142 1143 var toIndexedObject$1 = toIndexedObject$3; 1144 1145 var toAbsoluteIndex = toAbsoluteIndex$1; 1146 1147 var lengthOfArrayLike = lengthOfArrayLike$1; // `Array.prototype.{ indexOf, includes }` methods implementation 1148 1149 1150 var createMethod$1 = function (IS_INCLUDES) { 1151 return function ($this, el, fromIndex) { 1152 var O = toIndexedObject$1($this); 1153 var length = lengthOfArrayLike(O); 1154 var index = toAbsoluteIndex(fromIndex, length); 1155 var value; // Array#includes uses SameValueZero equality algorithm 1156 // eslint-disable-next-line no-self-compare -- NaN check 1157 1158 if (IS_INCLUDES && el != el) while (length > index) { 1159 value = O[index++]; // eslint-disable-next-line no-self-compare -- NaN check 1160 1161 if (value != value) return true; // Array#indexOf ignores holes, Array#includes - not 1162 } else for (; length > index; index++) { 1163 if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; 1164 } 1165 return !IS_INCLUDES && -1; 1166 }; 1167 }; 1168 1169 var arrayIncludes = { 1170 // `Array.prototype.includes` method 1171 // https://tc39.es/ecma262/#sec-array.prototype.includes 1172 includes: createMethod$1(true), 1173 // `Array.prototype.indexOf` method 1174 // https://tc39.es/ecma262/#sec-array.prototype.indexof 1175 indexOf: createMethod$1(false) 1176 }; 1177 1178 var uncurryThis$3 = functionUncurryThis; 1179 1180 var hasOwn$1 = hasOwnProperty_1; 1181 1182 var toIndexedObject = toIndexedObject$3; 1183 1184 var indexOf = arrayIncludes.indexOf; 1185 1186 var hiddenKeys$1 = hiddenKeys$3; 1187 1188 var push = uncurryThis$3([].push); 1189 1190 var objectKeysInternal = function (object, names) { 1191 var O = toIndexedObject(object); 1192 var i = 0; 1193 var result = []; 1194 var key; 1195 1196 for (key in O) !hasOwn$1(hiddenKeys$1, key) && hasOwn$1(O, key) && push(result, key); // Don't enum bug & hidden keys 1197 1198 1199 while (names.length > i) if (hasOwn$1(O, key = names[i++])) { 1200 ~indexOf(result, key) || push(result, key); 1201 } 1202 1203 return result; 1204 }; 1205 1206 // IE8- don't enum bug keys 1207 var enumBugKeys$2 = ['constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleStr
vendor: 4,755 bytes, lines 1207-1343
1207ing', 'toString', 'valueOf']; 1208 1209 var internalObjectKeys$1 = objectKeysInternal; 1210 1211 var enumBugKeys$1 = enumBugKeys$2; 1212 1213 var hiddenKeys = enumBugKeys$1.concat('length', 'prototype'); // `Object.getOwnPropertyNames` method 1214 // https://tc39.es/ecma262/#sec-object.getownpropertynames 1215 // eslint-disable-next-line es/no-object-getownpropertynames -- safe 1216 1217 objectGetOwnPropertyNames.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { 1218 return internalObjectKeys$1(O, hiddenKeys); 1219 }; 1220 1221 var objectGetOwnPropertySymbols = {}; 1222 1223 // eslint-disable-next-line es/no-object-getownpropertysymbols -- safe 1224 objectGetOwnPropertySymbols.f = Object.getOwnPropertySymbols; 1225 1226 var getBuiltIn = getBuiltIn$3; 1227 1228 var uncurryThis$2 = functionUncurryThis; 1229 1230 var getOwnPropertyNamesModule = objectGetOwnPropertyNames; 1231 1232 var getOwnPropertySymbolsModule$1 = objectGetOwnPropertySymbols; 1233 1234 var anObject = anObject$2; 1235 1236 var concat$1 = uncurryThis$2([].concat); // all object keys, includes non-enumerable and symbols 1237 1238 var ownKeys$1 = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { 1239 var keys = getOwnPropertyNamesModule.f(anObject(it)); 1240 var getOwnPropertySymbols = getOwnPropertySymbolsModule$1.f; 1241 return getOwnPropertySymbols ? concat$1(keys, getOwnPropertySymbols(it)) : keys; 1242 }; 1243 1244 var hasOwn = hasOwnProperty_1; 1245 1246 var ownKeys = ownKeys$1; 1247 1248 var getOwnPropertyDescriptorModule = objectGetOwnPropertyDescriptor; 1249 1250 var definePropertyModule = objectDefineProperty; 1251 1252 var copyConstructorProperties$1 = function (target, source, exceptions) { 1253 var keys = ownKeys(source); 1254 var defineProperty = definePropertyModule.f; 1255 var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; 1256 1257 for (var i = 0; i < keys.length; i++) { 1258 var key = keys[i]; 1259 1260 if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) { 1261 defineProperty(target, key, getOwnPropertyDescriptor(source, key)); 1262 } 1263 } 1264 }; 1265 1266 var fails$1 = fails$8; 1267 1268 var isCallable$1 = isCallable$a; 1269 1270 var replacement = /#|\.prototype\./; 1271 1272 var isForced$1 = function (feature, detection) { 1273 var value = data[normalize(feature)]; 1274 return value == POLYFILL ? true : value == NATIVE ? false : isCallable$1(detection) ? fails$1(detection) : !!detection; 1275 }; 1276 1277 var normalize = isForced$1.normalize = function (string) { 1278 return String(string).replace(replacement, '.').toLowerCase(); 1279 }; 1280 1281 var data = isForced$1.data = {}; 1282 var NATIVE = isForced$1.NATIVE = 'N'; 1283 var POLYFILL = isForced$1.POLYFILL = 'P'; 1284 var isForced_1 = isForced$1; 1285 1286 var global$5 = global$p; 1287 1288 var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f; 1289 1290 var createNonEnumerableProperty = createNonEnumerableProperty$3; 1291 1292 var redefine = redefine$1.exports; 1293 1294 var setGlobal = setGlobal$3; 1295 1296 var copyConstructorProperties = copyConstructorProperties$1; 1297 1298 var isForced = isForced_1; 1299 /* 1300 options.target - name of the target object 1301 options.global - target is the global object 1302 options.stat - export as static methods of target 1303 options.proto - export as prototype methods of target 1304 options.real - real prototype method for the `pure` version 1305 options.forced - export even if the native feature is available 1306 options.bind - bind methods to the target, required for the `pure` version 1307 options.wrap - wrap constructors to preventing global pollution, required for the `pure` version 1308 options.unsafe - use the simple assignment of property instead of delete + defineProperty 1309 options.sham - add a flag to not completely full polyfills 1310 options.enumerable - export as enumerable property 1311 options.noTargetGet - prevent calling a getter on target 1312 options.name - the .name of the function if it does not match the key 1313 */ 1314 1315 1316 var _export = function (options, source) { 1317 var TARGET = options.target; 1318 var GLOBAL = options.global; 1319 var STATIC = options.stat; 1320 var FORCED, target, key, targetProperty, sourceProperty, descriptor; 1321 1322 if (GLOBAL) { 1323 target = global$5; 1324 } else if (STATIC) { 1325 target = global$5[TARGET] || setGlobal(TARGET, {}); 1326 } else { 1327 target = (global$5[TARGET] || {}).prototype; 1328 } 1329 1330 if (target) for (key in source) { 1331 sourceProperty = source[key]; 1332 1333 if (options.noTargetGet) { 1334 descriptor = getOwnPropertyDescriptor(target, key); 1335 targetProperty = descriptor && descriptor.value; 1336 } else targetProperty = target[key]; 1337 1338 FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); // contained in target 1339 1340 if (!FORCED && targetProperty !== undefined) { 1341 if (typeof sourceProperty == typeof targetProperty) continue; 1342 copyConstructorProperties(sourceProperty, targetProperty); 1343 }
vendor: 10,076 bytes, lines 1343-1706
1343 // add a flag to not completely full polyfills 1344 1345 1346 if (options.sham || targetProperty && targetProperty.sham) { 1347 createNonEnumerableProperty(sourceProperty, 'sham', true); 1348 } // extend global 1349 1350 1351 redefine(target, key, sourceProperty, options); 1352 } 1353 }; 1354 1355 var internalObjectKeys = objectKeysInternal; 1356 1357 var enumBugKeys = enumBugKeys$2; // `Object.keys` method 1358 // https://tc39.es/ecma262/#sec-object.keys 1359 // eslint-disable-next-line es/no-object-keys -- safe 1360 1361 1362 var objectKeys$1 = Object.keys || function keys(O) { 1363 return internalObjectKeys(O, enumBugKeys); 1364 }; 1365 1366 var DESCRIPTORS = descriptors; 1367 1368 var uncurryThis$1 = functionUncurryThis; 1369 1370 var call = functionCall; 1371 1372 var fails = fails$8; 1373 1374 var objectKeys = objectKeys$1; 1375 1376 var getOwnPropertySymbolsModule = objectGetOwnPropertySymbols; 1377 1378 var propertyIsEnumerableModule = objectPropertyIsEnumerable; 1379 1380 var toObject = toObject$2; 1381 1382 var IndexedObject = indexedObject; // eslint-disable-next-line es/no-object-assign -- safe 1383 1384 1385 var $assign = Object.assign; // eslint-disable-next-line es/no-object-defineproperty -- required for testing 1386 1387 var defineProperty = Object.defineProperty; 1388 var concat = uncurryThis$1([].concat); // `Object.assign` method 1389 // https://tc39.es/ecma262/#sec-object.assign 1390 1391 var objectAssign = !$assign || fails(function () { 1392 // should have correct order of operations (Edge bug) 1393 if (DESCRIPTORS && $assign({ 1394 b: 1 1395 }, $assign(defineProperty({}, 'a', { 1396 enumerable: true, 1397 get: function () { 1398 defineProperty(this, 'b', { 1399 value: 3, 1400 enumerable: false 1401 }); 1402 } 1403 }), { 1404 b: 2 1405 })).b !== 1) return true; // should work with symbols and should have deterministic property order (V8 bug) 1406 1407 var A = {}; 1408 var B = {}; // eslint-disable-next-line es/no-symbol -- safe 1409 1410 var symbol = Symbol(); 1411 var alphabet = 'abcdefghijklmnopqrst'; 1412 A[symbol] = 7; 1413 alphabet.split('').forEach(function (chr) { 1414 B[chr] = chr; 1415 }); 1416 return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet; 1417 }) ? function assign(target, source) { 1418 // eslint-disable-line no-unused-vars -- required for `.length` 1419 var T = toObject(target); 1420 var argumentsLength = arguments.length; 1421 var index = 1; 1422 var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; 1423 var propertyIsEnumerable = propertyIsEnumerableModule.f; 1424 1425 while (argumentsLength > index) { 1426 var S = IndexedObject(arguments[index++]); 1427 var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S); 1428 var length = keys.length; 1429 var j = 0; 1430 var key; 1431 1432 while (length > j) { 1433 key = keys[j++]; 1434 if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key]; 1435 } 1436 } 1437 1438 return T; 1439 } : $assign; 1440 1441 var $$4 = _export; 1442 1443 var assign = objectAssign; // `Object.assign` method 1444 // https://tc39.es/ecma262/#sec-object.assign 1445 // eslint-disable-next-line es/no-object-assign -- required for testing 1446 1447 1448 $$4({ 1449 target: 'Object', 1450 stat: true, 1451 forced: Object.assign !== assign 1452 }, { 1453 assign: assign 1454 }); 1455 1456 var wellKnownSymbol$1 = wellKnownSymbol$3; 1457 1458 var TO_STRING_TAG$1 = wellKnownSymbol$1('toStringTag'); 1459 var test = {}; 1460 test[TO_STRING_TAG$1] = 'z'; 1461 var toStringTagSupport = String(test) === '[object z]'; 1462 1463 var global$4 = global$p; 1464 1465 var TO_STRING_TAG_SUPPORT = toStringTagSupport; 1466 1467 var isCallable = isCallable$a; 1468 1469 var classofRaw = classofRaw$1; 1470 1471 var wellKnownSymbol = wellKnownSymbol$3; 1472 1473 var TO_STRING_TAG = wellKnownSymbol('toStringTag'); 1474 var Object$1 = global$4.Object; // ES3 wrong here 1475 1476 var CORRECT_ARGUMENTS = classofRaw(function () { 1477 return arguments; 1478 }()) == 'Arguments'; // fallback for IE11 Script Access Denied error 1479 1480 var tryGet = function (it, key) { 1481 try { 1482 return it[key]; 1483 } catch (error) { 1484 /* empty */ 1485 } 1486 }; // getting tag from ES6+ `Object.prototype.toString` 1487 1488 1489 var classof$1 = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) { 1490 var O, tag, result; 1491 return it === undefined ? 'Undefined' : it === null ? 'Null' // @@toStringTag case 1492 : typeof (tag = tryGet(O = Object$1(it), TO_STRING_TAG)) == 'string' ? tag // builtinTag case 1493 : CORRECT_ARGUMENTS ? classofRaw(O) // ES3 arguments fallback 1494 : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result; 1495 }; 1496 1497 var global$3 = global$p; 1498 1499 var classof = classof$1; 1500 1501 var String$1 = global$3.String; 1502 1503 var toString$2 = function (argument) { 1504 if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string'); 1505 return String$1(argument); 1506 }; 1507 1508 var global$2 = global$p; 1509 1510 var toIntegerOrInfinity = toIntegerOrInfinity$3; 1511 1512 var toString$1 = toString$2; 1513 1514 var requireObjectCoercible$1 = requireObjectCoercible$4; 1515 1516 var RangeError = global$2.RangeError; // `String.prototype.repeat` method implementation 1517 // https://tc39.es/ecma262/#sec-string.prototype.repeat 1518 1519 var stringRepeat = function repeat(count) { 1520 var str = toString$1(requireObjectCoercible$1(this)); 1521 var result = ''; 1522 var n = toIntegerOrInfinity(count); 1523 if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions'); 1524 1525 for (; n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str; 1526 1527 return result; 1528 }; 1529 1530 var $$3 = _export; 1531 1532 var repeat$1 = stringRepeat; // `String.prototype.repeat` method 1533 // https://tc39.es/ecma262/#sec-string.prototype.repeat 1534 1535 1536 $$3({ 1537 target: 'String', 1538 proto: true 1539 }, { 1540 repeat: repeat$1 1541 }); 1542 1543 // https://github.com/tc39/proposal-string-pad-start-end 1544 var uncurryThis = functionUncurryThis; 1545 1546 var toLength = toLength$2; 1547 1548 var toString = toString$2; 1549 1550 var $repeat = stringRepeat; 1551 1552 var requireObjectCoercible = requireObjectCoercible$4; 1553 1554 var repeat = uncurryThis($repeat); 1555 var stringSlice = uncurryThis(''.slice); 1556 var ceil = Math.ceil; // `String.prototype.{ padStart, padEnd }` methods implementation 1557 1558 var createMethod = function (IS_END) { 1559 return function ($this, maxLength, fillString) { 1560 var S = toString(requireObjectCoercible($this)); 1561 var intMaxLength = toLength(maxLength); 1562 var stringLength = S.length; 1563 var fillStr = fillString === undefined ? ' ' : toString(fillString); 1564 var fillLen, stringFiller; 1565 if (intMaxLength <= stringLength || fillStr == '') return S; 1566 fillLen = intMaxLength - stringLength; 1567 stringFiller = repeat(fillStr, ceil(fillLen / fillStr.length)); 1568 if (stringFiller.length > fillLen) stringFiller = stringSlice(stringFiller, 0, fillLen); 1569 return IS_END ? S + stringFiller : stringFiller + S; 1570 }; 1571 }; 1572 1573 var stringPad = { 1574 // `String.prototype.padStart` method 1575 // https://tc39.es/ecma262/#sec-string.prototype.padstart 1576 start: createMethod(false), 1577 // `String.prototype.padEnd` method 1578 // https://tc39.es/ecma262/#sec-string.prototype.padend 1579 end: createMethod(true) 1580 }; 1581 1582 // https://github.com/zloirock/core-js/issues/280 1583 var userAgent = engineUserAgent; 1584 1585 var stringPadWebkitBug = /Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(userAgent); 1586 1587 var $$2 = _export; 1588 1589 var $padStart = stringPad.start; 1590 1591 var WEBKIT_BUG$1 = stringPadWebkitBug; // `String.prototype.padStart` method 1592 // https://tc39.es/ecma262/#sec-string.prototype.padstart 1593 1594 1595 $$2({ 1596 target: 'String', 1597 proto: true, 1598 forced: WEBKIT_BUG$1 1599 }, { 1600 padStart: function padStart(maxLength 1601 /* , fillString = ' ' */ 1602 ) { 1603 return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined); 1604 } 1605 }); 1606 1607 var $$1 = _export; 1608 1609 var $padEnd = stringPad.end; 1610 1611 var WEBKIT_BUG = stringPadWebkitBug; // `String.prototype.padEnd` method 1612 // https://tc39.es/ecma262/#sec-string.prototype.padend 1613 1614 1615 $$1({ 1616 target: 'String', 1617 proto: true, 1618 forced: WEBKIT_BUG 1619 }, { 1620 padEnd: function padEnd(maxLength 1621 /* , fillString = ' ' */ 1622 ) { 1623 return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined); 1624 } 1625 }); 1626 1627 var $ = _export; 1628 1629 var global$1 = global$p; // `globalThis` object 1630 // https://tc39.es/ecma262/#sec-globalthis 1631 1632 1633 $({ 1634 global: true 1635 }, { 1636 globalThis: global$1 1637 }); 1638 1639 function _typeof(obj) { 1640 "@babel/helpers - typeof"; 1641 1642 return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { 1643 return typeof obj; 1644 } : function (obj) { 1645 return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; 1646 }, _typeof(obj); 1647 } 1648 1649 function _classCallCheck(instance, Constructor) { 1650 if (!(instance instanceof Constructor)) { 1651 throw new TypeError("Cannot call a class as a function"); 1652 } 1653 } 1654 1655 function _defineProperties(target, props) { 1656 for (var i = 0; i < props.length; i++) { 1657 var descriptor = props[i]; 1658 descriptor.enumerable = descriptor.enumerable || false; 1659 descriptor.configurable = true; 1660 if ("value" in descriptor) descriptor.writable = true; 1661 Object.defineProperty(target, descriptor.key, descriptor); 1662 } 1663 } 1664 1665 function _createClass(Constructor, protoProps, staticProps) { 1666 if (protoProps) _defineProperties(Constructor.prototype, protoProps); 1667 if (staticProps) _defineProperties(Constructor, staticProps); 1668 Object.defineProperty(Constructor, "prototype", { 1669 writable: false 1670 }); 1671 return Constructor; 1672 } 1673 1674 function _defineProperty(obj, key, value) { 1675 if (key in obj) { 1676 Object.defineProperty(obj, key, { 1677 value: value, 1678 enumerable: true, 1679 configurable: true, 1680 writable: true 1681 }); 1682 } else { 1683 obj[key] = value; 1684 } 1685 1686 return obj; 1687 } 1688 1689 function _inherits(subClass, superClass) { 1690 if (typeof superClass !== "function" && superClass !== null) { 1691 throw new TypeError("Super expression must either be null or a function"); 1692 } 1693 1694 subClass.prototype = Object.create(superClass && superClass.prototype, { 1695 constructor: { 1696 value: subClass, 1697 writable: true, 1698 configurable: true 1699 } 1700 }); 1701 Object.defineProperty(subClass, "prototype", { 1702 writable: false 1703 }); 1704 if (superClass) _setPrototypeOf(subClass, superClass); 1705 } 1706
vendor: 5,052 bytes, lines 1707-1903
1707 function _getPrototypeOf(o) { 1708 _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { 1709 return o.__proto__ || Object.getPrototypeOf(o); 1710 }; 1711 return _getPrototypeOf(o); 1712 } 1713 1714 function _setPrototypeOf(o, p) { 1715 _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { 1716 o.__proto__ = p; 1717 return o; 1718 }; 1719 1720 return _setPrototypeOf(o, p); 1721 } 1722 1723 function _isNativeReflectConstruct() { 1724 if (typeof Reflect === "undefined" || !Reflect.construct) return false; 1725 if (Reflect.construct.sham) return false; 1726 if (typeof Proxy === "function") return true; 1727 1728 try { 1729 Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); 1730 return true; 1731 } catch (e) { 1732 return false; 1733 } 1734 } 1735 1736 function _objectWithoutPropertiesLoose(source, excluded) { 1737 if (source == null) return {}; 1738 var target = {}; 1739 var sourceKeys = Object.keys(source); 1740 var key, i; 1741 1742 for (i = 0; i < sourceKeys.length; i++) { 1743 key = sourceKeys[i]; 1744 if (excluded.indexOf(key) >= 0) continue; 1745 target[key] = source[key]; 1746 } 1747 1748 return target; 1749 } 1750 1751 function _objectWithoutProperties(source, excluded) { 1752 if (source == null) return {}; 1753 1754 var target = _objectWithoutPropertiesLoose(source, excluded); 1755 1756 var key, i; 1757 1758 if (Object.getOwnPropertySymbols) { 1759 var sourceSymbolKeys = Object.getOwnPropertySymbols(source); 1760 1761 for (i = 0; i < sourceSymbolKeys.length; i++) { 1762 key = sourceSymbolKeys[i]; 1763 if (excluded.indexOf(key) >= 0) continue; 1764 if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; 1765 target[key] = source[key]; 1766 } 1767 } 1768 1769 return target; 1770 } 1771 1772 function _assertThisInitialized(self) { 1773 if (self === void 0) { 1774 throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); 1775 } 1776 1777 return self; 1778 } 1779 1780 function _possibleConstructorReturn(self, call) { 1781 if (call && (typeof call === "object" || typeof call === "function")) { 1782 return call; 1783 } else if (call !== void 0) { 1784 throw new TypeError("Derived constructors may only return object or undefined"); 1785 } 1786 1787 return _assertThisInitialized(self); 1788 } 1789 1790 function _createSuper(Derived) { 1791 var hasNativeReflectConstruct = _isNativeReflectConstruct(); 1792 1793 return function _createSuperInternal() { 1794 var Super = _getPrototypeOf(Derived), 1795 result; 1796 1797 if (hasNativeReflectConstruct) { 1798 var NewTarget = _getPrototypeOf(this).constructor; 1799 1800 result = Reflect.construct(Super, arguments, NewTarget); 1801 } else { 1802 result = Super.apply(this, arguments); 1803 } 1804 1805 return _possibleConstructorReturn(this, result); 1806 }; 1807 } 1808 1809 function _superPropBase(object, property) { 1810 while (!Object.prototype.hasOwnProperty.call(object, property)) { 1811 object = _getPrototypeOf(object); 1812 if (object === null) break; 1813 } 1814 1815 return object; 1816 } 1817 1818 function _get() { 1819 if (typeof Reflect !== "undefined" && Reflect.get) { 1820 _get = Reflect.get; 1821 } else { 1822 _get = function _get(target, property, receiver) { 1823 var base = _superPropBase(target, property); 1824 1825 if (!base) return; 1826 var desc = Object.getOwnPropertyDescriptor(base, property); 1827 1828 if (desc.get) { 1829 return desc.get.call(arguments.length < 3 ? target : receiver); 1830 } 1831 1832 return desc.value; 1833 }; 1834 } 1835 1836 return _get.apply(this, arguments); 1837 } 1838 1839 function set(target, property, value, receiver) { 1840 if (typeof Reflect !== "undefined" && Reflect.set) { 1841 set = Reflect.set; 1842 } else { 1843 set = function set(target, property, value, receiver) { 1844 var base = _superPropBase(target, property); 1845 1846 var desc; 1847 1848 if (base) { 1849 desc = Object.getOwnPropertyDescriptor(base, property); 1850 1851 if (desc.set) { 1852 desc.set.call(receiver, value); 1853 return true; 1854 } else if (!desc.writable) { 1855 return false; 1856 } 1857 } 1858 1859 desc = Object.getOwnPropertyDescriptor(receiver, property); 1860 1861 if (desc) { 1862 if (!desc.writable) { 1863 return false; 1864 } 1865 1866 desc.value = value; 1867 Object.defineProperty(receiver, property, desc); 1868 } else { 1869 _defineProperty(receiver, property, value); 1870 } 1871 1872 return true; 1873 }; 1874 } 1875 1876 return set(target, property, value, receiver); 1877 } 1878 1879 function _set(target, property, value, receiver, isStrict) { 1880 var s = set(target, property, value, receiver || target); 1881 1882 if (!s && isStrict) { 1883 throw new Error('failed to set property'); 1884 } 1885 1886 return value; 1887 } 1888 1889 function _slicedToArray(arr, i) { 1890 return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); 1891 } 1892 1893 function _arrayWithHoles(arr) { 1894 if (Array.isArray(arr)) return arr; 1895 } 1896 1897 function _iterableToArrayLimit(arr, i) { 1898 var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; 1899 1900 if (_i == null) return; 1901 var _arr = []; 1902 var _n = true; 1903 var _d = false;
1904 1905 var _s, _e; 1906 1907 try { 1908 for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { 1909 _arr.push(_s.value); 1910 1911 if (i && _arr.length === i) break; 1912 } 1913 } catch (err) { 1914 _d = true; 1915 _e = err; 1916 } finally { 1917 try { 1918 if (!_n && _i["return"] != null) _i["return"](); 1919 } finally { 1920 if (_d) throw _e; 1921 } 1922 } 1923 1924 return _arr; 1925 } 1926 1927 function _unsupportedIterableToArray(o, minLen) { 1928 if (!o) return; 1929 if (typeof o === "string") return _arrayLikeToArray(o, minLen); 1930 var n = Object.prototype.toString.call(o).slice(8, -1); 1931 if (n === "Object" && o.constructor) n = o.constructor.name; 1932 if (n === "Map" || n === "Set") return Array.from(o); 1933 if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); 1934 } 1935 1936 function _arrayLikeToArray(arr, len) { 1937 if (len == null || len > arr.length) len = arr.length; 1938 1939 for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; 1940 1941 return arr2; 1942 } 1943 1944 function _nonIterableRest() { 1945 throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); 1946 } 1947 1948 /** 1949 Provides details of changing model value 1950 @param {Object} [details] 1951 @param {string} [details.inserted] - Inserted symbols 1952 @param {boolean} [details.skip] - Can skip chars 1953 @param {number} [details.removeCount] - Removed symbols count 1954 @param {number} [details.tailShift] - Additional offset if any changes occurred before tail 1955 */ 1956 var ChangeDetails = /*#__PURE__*/function () { 1957 /** Inserted symbols */ 1958 1959 /** Can skip chars */ 1960 1961 /** Additional offset if any changes occurred before tail */ 1962 1963 /** Raw inserted is used by dynamic mask */ 1964 function ChangeDetails(details) { 1965 _classCallCheck(this, ChangeDetails); 1966 1967 Object.assign(this, { 1968 inserted: '', 1969 rawInserted: '', 1970 skip: false, 1971 tailShift: 0 1972 }, details); 1973 } 1974 /** 1975 Aggregate changes 1976 @returns {ChangeDetails} `this` 1977 */ 1978 1979 1980 _createClass(ChangeDetails, [{ 1981 key: "aggregate", 1982 value: function aggregate(details) { 1983 this.rawInserted += details.rawInserted; 1984 this.skip = this.skip || details.skip; 1985 this.inserted += details.inserted; 1986 this.tailShift += details.tailShift; 1987 return this; 1988 } 1989 /** Total offset considering all changes */ 1990 1991 }, { 1992 key: "offset", 1993 get: function get() { 1994 return this.tailShift + this.inserted.length; 1995 } 1996 }]); 1997 1998 return ChangeDetails; 1999 }(); 2000 2001 /** Checks if value is string */ 2002 2003 function isString(str) { 2004 return typeof str === 'string' || str instanceof String; 2005 } 2006 /** 2007 Direction 2008 @prop {string} NONE 2009 @prop {string} LEFT 2010 @prop {string} FORCE_LEFT 2011 @prop {string} RIGHT 2012 @prop {string} FORCE_RIGHT 2013 */ 2014 2015 var DIRECTION = { 2016 NONE: 'NONE', 2017 LEFT: 'LEFT', 2018 FORCE_LEFT: 'FORCE_LEFT', 2019 RIGHT: 'RIGHT', 2020 FORCE_RIGHT: 'FORCE_RIGHT' 2021 }; 2022 /** */ 2023 2024 function forceDirection(direction) { 2025 switch (direction) { 2026 case DIRECTION.LEFT: 2027 return DIRECTION.FORCE_LEFT; 2028 2029 case DIRECTION.RIGHT: 2030 return DIRECTION.FORCE_RIGHT; 2031 2032 default: 2033 return direction; 2034 } 2035 } 2036 /** Escapes regular expression control chars */ 2037 2038 function escapeRegExp(str) { 2039 return str.replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1'); 2040 } 2041 function normalizePrepare(prep) { 2042 return Array.isArray(prep) ? prep : [prep, new ChangeDetails()]; 2043 } // cloned from https://github.com/epoberezkin/fast-deep-equal with small changes 2044 2045 function objectIncludes(b, a) { 2046 if (a === b) return true; 2047 var arrA = Array.isArray(a), 2048 arrB = Array.isArray(b), 2049 i; 2050 2051 if (arrA && arrB) { 2052 if (a.length != b.length) return false; 2053 2054 for (i = 0; i < a.length; i++) { 2055 if (!objectIncludes(a[i], b[i])) return false; 2056 } 2057 2058 return true; 2059 } 2060 2061 if (arrA != arrB) return false; 2062 2063 if (a && b && _typeof(a) === 'object' && _typeof(b) === 'object') { 2064 var dateA = a instanceof Date, 2065 dateB = b instanceof Date; 2066 if (dateA && dateB) return a.getTime() == b.getTime(); 2067 if (dateA != dateB) return false;
2068 var regexpA = a instanceof RegExp, 2069 regexpB = b instanceof RegExp; 2070 if (regexpA && regexpB) return a.toString() == b.toString(); 2071 if (regexpA != regexpB) return false; 2072 var keys = Object.keys(a); // if (keys.length !== Object.keys(b).length) return false; 2073 2074 for (i = 0; i < keys.length; i++) { 2075 // $FlowFixMe ... ??? 2076 if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; 2077 } 2078 2079 for (i = 0; i < keys.length; i++) { 2080 if (!objectIncludes(b[keys[i]], a[keys[i]])) return false; 2081 } 2082 2083 return true; 2084 } else if (a && b && typeof a === 'function' && typeof b === 'function') { 2085 return a.toString() === b.toString(); 2086 } 2087 2088 return false; 2089 } 2090 /** Selection range */ 2091 2092 /** Provides details of changing input */ 2093 2094 var ActionDetails = /*#__PURE__*/function () { 2095 /** Current input value */ 2096 2097 /** Current cursor position */ 2098 2099 /** Old input value */ 2100 2101 /** Old selection */ 2102 function ActionDetails(value, cursorPos, oldValue, oldSelection) { 2103 _classCallCheck(this, ActionDetails); 2104 2105 this.value = value;
2106 this.cursorPos = cursorPos; 2107 this.oldValue = oldValue; 2108 this.oldSelection = oldSelection; // double check if left part was changed (autofilling, other non-standard input triggers) 2109 2110 while (this.value.slice(0, this.startChangePos) !== this.oldValue.slice(0, this.startChangePos)) { 2111 --this.oldSelection.start; 2112 } 2113 } 2114 /** 2115 Start changing position 2116 @readonly 2117 */ 2118 2119 2120 _createClass(ActionDetails, [{ 2121 key: "startChangePos", 2122 get: function get() { 2123 return Math.min(this.cursorPos, this.oldSelection.start); 2124 } 2125 /** 2126 Inserted symbols count 2127 @readonly 2128 */ 2129 2130 }, { 2131 key: "insertedCount", 2132 get: function get() { 2133 return this.cursorPos - this.startChangePos; 2134 } 2135 /** 2136 Inserted symbols 2137 @readonly 2138 */ 2139 2140 }, { 2141 key: "inserted", 2142 get: function get() { 2143 return this.value.substr(this.startChangePos, this.insertedCount); 2144 } 2145 /** 2146 Removed symbols count 2147 @readonly 2148 */ 2149 2150 }, { 2151 key: "removedCount", 2152 get: function get() { 2153 // Math.max for opposite operation 2154 return Math.max(this.oldSelection.end - this.startChangePos || // for Delete 2155 this.oldValue.length - this.value.length, 0); 2156 } 2157 /** 2158 Removed symbols 2159 @readonly 2160 */ 2161 2162 }, { 2163 key: "removed", 2164 get: function get() { 2165 return this.oldValue.substr(this.startChangePos, this.removedCount); 2166 } 2167 /** 2168 Unchanged head symbols 2169 @readonly 2170 */ 2171 2172 }, { 2173 key: "head", 2174 get: function get() { 2175 return this.value.substring(0, this.startChangePos); 2176 } 2177 /** 2178 Unchanged tail symbols 2179 @readonly 2180 */ 2181 2182 }, { 2183 key: "tail", 2184 get: function get() { 2185 return this.value.substring(this.startChangePos + this.insertedCount); 2186 } 2187 /** 2188 Remove direction 2189 @readonly 2190 */ 2191 2192 }, { 2193 key: "removeDirection", 2194 get: function get() { 2195 if (!this.removedCount || this.insertedCount) return DIRECTION.NONE; // align right if delete at right 2196 2197 return (this.oldSelection.end === this.cursorPos || this.oldSelection.start === this.cursorPos) && // if not range removed (event with backspace) 2198 this.oldSelection.end === this.oldSelection.start ? DIRECTION.RIGHT : DIRECTION.LEFT; 2199 } 2200 }]); 2201 2202 return ActionDetails; 2203 }(); 2204 2205 /** Provides details of continuous extracted tail */ 2206 var ContinuousTailDetails = /*#__PURE__*/function () { 2207 /** Tail value as string */ 2208 2209 /** Tail start position */ 2210 2211 /** Start position */ 2212 function ContinuousTailDetails() { 2213 var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; 2214 var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; 2215 var stop = arguments.length > 2 ? arguments[2] : undefined; 2216 2217 _classCallCheck(this, ContinuousTailDetails); 2218 2219 this.value = value; 2220 this.from = from; 2221 this.stop = stop; 2222 } 2223 2224 _createClass(ContinuousTailDetails, [{ 2225 key: "toString", 2226 value: function toString() { 2227 return this.value; 2228 } 2229 }, { 2230 key: "extend", 2231 value: function extend(tail) { 2232 this.value += String(tail); 2233 } 2234 }, { 2235 key: "appendTo", 2236 value: function appendTo(masked) { 2237 return masked.append(this.toString(), { 2238 tail: true 2239 }).aggregate(masked._appendPlaceholder()); 2240 } 2241 }, { 2242 key: "state", 2243 get: function get() { 2244 return { 2245 value: this.value, 2246 from: this.from, 2247 stop: this.stop 2248 }; 2249 }, 2250 set: function set(state) { 2251 Object.assign(this, state); 2252 } 2253 }, { 2254 key: "unshift", 2255 value: function unshift(beforePos) { 2256 if (!this.value.length || beforePos != null && this.from >= beforePos) return ''; 2257 var shiftChar = this.value[0]; 2258 this.value = this.value.slice(1); 2259 return shiftChar; 2260 } 2261 }, { 2262 key: "shift", 2263 value: function shift() { 2264 if (!this.value.length) return ''; 2265 var shiftChar = this.value[this.value.length - 1]; 2266 this.value = this.value.slice(0, -1); 2267 return shiftChar; 2268 } 2269 }]); 2270 2271 return ContinuousTailDetails; 2272 }(); 2273 2274 /** 2275 * Applies mask on element. 2276 * @constructor 2277 * @param {HTMLInputElement|HTMLTextAreaElement|MaskElement} el - Element to apply mask 2278 * @param {Object} opts - Custom mask options 2279 * @return {InputMask} 2280 */ 2281 function IMask(el) { 2282 var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 2283 // currently available only for input-like elements 2284 return new IMask.InputMask(el, opts); 2285 } 2286 2287 /** Supported mask type */ 2288 2289 /** Provides common masking stuff */ 2290 var Masked = /*#__PURE__*/function () { 2291 // $Shape<MaskedOptions>; TODO after fix https://github.com/facebook/flow/issues/4773 2292 2293 /** @type {Mask} */ 2294 2295 /** */ 2296 // $FlowFixMe no ideas 2297 2298 /** Transforms value before mask processing */ 2299 2300 /** Validates if value is acceptable */ 2301 2302 /** Does additional processing in the end of editing */ 2303 2304 /** Format typed value to string */ 2305 2306 /** Parse strgin to get typed value */ 2307 2308 /** Enable characters overwriting */ 2309 2310 /** */ 2311 2312 /** */ 2313 function Masked(opts) { 2314 _classCallCheck(this, Masked); 2315 2316 this._value = ''; 2317 2318 this._update(Object.assign({}, Masked.DEFAULTS, opts)); 2319 2320 this.isInitialized = true; 2321 } 2322 /** Sets and applies new options */ 2323 2324 2325 _createClass(Masked, [{ 2326 key: "updateOptions", 2327 value: function updateOptions(opts) { 2328 if (!Object.keys(opts).length) return; // $FlowFixMe 2329 2330 this.withValueRefresh(this._update.bind(this, opts)); 2331 } 2332 /** 2333 Sets new options 2334 @protected 2335 */ 2336 2337 }, { 2338 key: "_update", 2339 value: function _update(opts) { 2340 Object.assign(this, opts); 2341 } 2342 /** Mask state */ 2343 2344 }, { 2345 key: "state", 2346 get: function get() { 2347 return { 2348 _value: this.value 2349 }; 2350 }, 2351 set: function set(state) { 2352 this._value = state._value; 2353 } 2354 /** Resets value */ 2355 2356 }, { 2357 key: "reset", 2358 value: function reset() { 2359 this._value = ''; 2360 } 2361 /** */ 2362 2363 }, { 2364 key: "value", 2365 get: function get() { 2366 return this._value; 2367 }, 2368 set: function set(value) { 2369 this.resolve(value); 2370 } 2371 /** Resolve new value */ 2372 2373 }, { 2374 key: "resolve", 2375 value: function resolve(value) { 2376 this.reset(); 2377 this.append(value, { 2378 input: true 2379 }, ''); 2380 this.doCommit(); 2381 return this.value; 2382 } 2383 /** */ 2384 2385 }, { 2386 key: "unmaskedValue", 2387 get: function get() { 2388 return this.value; 2389 }, 2390 set: function set(value) { 2391 this.reset(); 2392 this.append(value, {}, ''); 2393 this.doCommit(); 2394 } 2395 /** */ 2396 2397 }, { 2398 key: "typedValue", 2399 get: function get() { 2400 return this.doParse(this.value); 2401 }, 2402 set: function set(value) { 2403 this.value = this.doFormat(value); 2404 } 2405 /** Value that includes raw user input */ 2406 2407 }, { 2408 key: "rawInputValue", 2409 get: function get() { 2410 return this.extractInput(0, this.value.length, { 2411 raw: true 2412 }); 2413 }, 2414 set: function set(value) { 2415 this.reset(); 2416 this.append(value, { 2417 raw: true 2418 }, ''); 2419 this.doCommit(); 2420 } 2421 /** */ 2422 2423 }, { 2424 key: "isComplete", 2425 get: function get() { 2426 return true; 2427 } 2428 /** */ 2429 2430 }, { 2431 key: "isFilled", 2432 get: function get() { 2433 return this.isComplete; 2434 } 2435 /** Finds nearest input position in direction */ 2436 2437 }, { 2438 key: "nearestInputPos", 2439 value: function nearestInputPos(cursorPos, direction) { 2440 return cursorPos; 2441 } 2442 /** Extracts value in range considering flags */ 2443 2444 }, { 2445 key: "extractInput", 2446 value: function extractInput() { 2447 var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; 2448 var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; 2449 return this.value.slice(fromPos, toPos); 2450 } 2451 /** Extracts tail in range */ 2452 2453 }, { 2454 key: "extractTail", 2455 value: function extractTail() { 2456 var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; 2457 var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; 2458 return new ContinuousTailDetails(this.extractInput(fromPos, toPos), fromPos); 2459 } 2460 /** Appends tail */ 2461 // $FlowFixMe no ideas 2462 2463 }, { 2464 key: "appendTail", 2465 value: function appendTail(tail) { 2466 if (isString(tail)) tail = new ContinuousTailDetails(String(tail)); 2467 return tail.appendTo(this); 2468 } 2469 /** Appends char */ 2470 2471 }, { 2472 key: "_appendCharRaw", 2473 value: function _appendCharRaw(ch) { 2474 if (!ch) return new ChangeDetails(); 2475 this._value += ch; 2476 return new ChangeDetails({ 2477 inserted: ch, 2478 rawInserted: ch 2479 }); 2480 } 2481 /** Appends char */ 2482 2483 }, { 2484 key: "_appendChar", 2485 value: function _appendChar(ch) { 2486 var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 2487 var checkTail = arguments.length > 2 ? arguments[2] : undefined; 2488 var consistentState = this.state; 2489 var details; 2490 2491 var _normalizePrepare = normalizePrepare(this.doPrepare(ch, flags)); 2492 2493 var _normalizePrepare2 = _slicedToArray(_normalizePrepare, 2); 2494 2495 ch = _normalizePrepare2[0]; 2496 details = _normalizePrepare2[1]; 2497 details = details.aggregate(this._appendCharRaw(ch, flags)); 2498 2499 if (details.inserted) { 2500 var consistentTail; 2501 var appended = this.doValidate(flags) !== false; 2502 2503 if (appended && checkTail != null) { 2504 // validation ok, check tail 2505 var beforeTailState = this.state; 2506 2507 if (this.overwrite === true) { 2508 consistentTail = checkTail.state; 2509 checkTail.unshift(this.value.length); 2510 } 2511 2512 var tailDetails = this.appendTail(checkTail); 2513 appended = tailDetails.rawInserted === checkTail.toString(); // not ok, try shift 2514 2515 if (!(appended && tailDetails.inserted) && this.overwrite === 'shift') { 2516 this.state = beforeTailState; 2517 consistentTail = checkTail.state; 2518 checkTail.shift(); 2519 tailDetails = this.appendTail(checkTail); 2520 appended = tailDetails.rawInserted === checkTail.toString(); 2521 } // if ok, rollback state after tail 2522 2523 2524 if (appended && tailDetails.inserted) this.state = beforeTailState; 2525 } // revert all if something went wrong 2526 2527 2528 if (!appended) { 2529 details = new ChangeDetails(); 2530 this.state = consistentState; 2531 if (checkTail && consistentTail) checkTail.state = consistentTail; 2532 } 2533 } 2534 2535 return details; 2536 } 2537 /** Appends optional placeholder at end */ 2538 2539 }, { 2540 key: "_appendPlaceholder", 2541 value: function _appendPlaceholder() { 2542 return new ChangeDetails(); 2543 } 2544 /** Appends optional eager placeholder at end */ 2545 2546 }, { 2547 key: "_appendEager", 2548 value: function _appendEager() { 2549 return new ChangeDetails(); 2550 } 2551 /** Appends symbols considering flags */ 2552 // $FlowFixMe no ideas 2553 2554 }, { 2555 key: "append", 2556 value: function append(str, flags, tail) { 2557 if (!isString(str)) throw new Error('value should be string'); 2558 var details = new ChangeDetails(); 2559 var checkTail = isString(tail) ? new ContinuousTailDetails(String(tail)) : tail; 2560 if (flags && flags.tail) flags._beforeTailState = this.state; 2561 2562 for (var ci = 0; ci < str.length; ++ci) { 2563 details.aggregate(this._appendChar(str[ci], flags, checkTail)); 2564 } // append tail but aggregate only tailShift 2565 2566 2567 if (checkTail != null) { 2568 details.tailShift += this.appendTail(checkTail).tailShift; // TODO it's a good idea to clear state after appending ends 2569 // but it causes bugs when one append calls another (when dynamic dispatch set rawInputValue) 2570 // this._resetBeforeTailState(); 2571 } 2572 2573 if (this.eager && flags !== null && flags !== void 0 && flags.input && str) { 2574 details.aggregate(this._appendEager()); 2575 } 2576 2577 return details; 2578 } 2579 /** */ 2580 2581 }, { 2582 key: "remove", 2583 value: function remove() { 2584 var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; 2585 var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; 2586 this._value = this.value.slice(0, fromPos) + this.value.slice(toPos); 2587 return new ChangeDetails(); 2588 } 2589 /** Calls function and reapplies current value */ 2590 2591 }, { 2592 key: "withValueRefresh", 2593 value: function withValueRefresh(fn) { 2594 if (this._refreshing || !this.isInitialized) return fn(); 2595 this._refreshing = true; 2596 var rawInput = this.rawInputValue; 2597 var value = this.value; 2598 var ret = fn(); 2599 this.rawInputValue = rawInput; // append lost trailing chars at end 2600 2601 if (this.value && this.value !== value && value.indexOf(this.value) === 0) { 2602 this.append(value.slice(this.value.length), {}, ''); 2603 } 2604 2605 delete this._refreshing; 2606 return ret; 2607 } 2608 /** */ 2609 2610 }, { 2611 key: "runIsolated", 2612 value: function runIsolated(fn) { 2613 if (this._isolated || !this.isInitialized) return fn(this); 2614 this._isolated = true; 2615 var state = this.state; 2616 var ret = fn(this); 2617 this.state = state; 2618 delete this._isolated; 2619 return ret; 2620 } 2621 /** 2622 Prepares string before mask processing 2623 @protected 2624 */ 2625 2626 }, { 2627 key: "doPrepare", 2628 value: function doPrepare(str) { 2629 var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 2630 return this.prepare ? this.prepare(str, this, flags) : str; 2631 } 2632 /** 2633 Validates if value is acceptable 2634 @protected 2635 */ 2636 2637 }, { 2638 key: "doValidate", 2639 value: function doValidate(flags) { 2640 return (!this.validate || this.validate(this.value, this, flags)) && (!this.parent || this.parent.doValidate(flags)); 2641 } 2642 /** 2643 Does additional processing in the end of editing 2644 @protected 2645 */ 2646 2647 }, { 2648 key: "doCommit", 2649 value: function doCommit() { 2650 if (this.commit) this.commit(this.value, this); 2651 } 2652 /** */ 2653 2654 }, { 2655 key: "doFormat", 2656 value: function doFormat(value) { 2657 return this.format ? this.format(value, this) : value; 2658 } 2659 /** */ 2660 2661 }, { 2662 key: "doParse", 2663 value: function doParse(str) { 2664 return this.parse ? this.parse(str, this) : str; 2665 } 2666 /** */ 2667 2668 }, { 2669 key: "splice", 2670 value: function splice(start, deleteCount, inserted, removeDirection) { 2671 var tailPos = start + deleteCount; 2672 var tail = this.extractTail(tailPos); 2673 var oldRawValue; 2674 2675 if (this.eager) { 2676 removeDirection = forceDirection(removeDirection); 2677 oldRawValue = this.extractInput(0, tailPos, { 2678 raw: true 2679 }); 2680 } 2681 2682 var startChangePos = this.nearestInputPos(start, deleteCount > 1 && start !== 0 && !this.eager ? DIRECTION.NONE : removeDirection); 2683 var details = new ChangeDetails({ 2684 tailShift: startChangePos - start // adjust tailShift if start was aligned 2685 2686 }).aggregate(this.remove(startChangePos)); 2687 2688 if (this.eager && removeDirection !== DIRECTION.NONE && oldRawValue === this.rawInputValue) { 2689 if (removeDirection === DIRECTION.FORCE_LEFT) { 2690 var valLength; 2691 2692 while (oldRawValue === this.rawInputValue && (valLength = this.value.length)) { 2693 details.aggregate(new ChangeDetails({ 2694 tailShift: -1 2695 })).aggregate(this.remove(valLength - 1)); 2696 } 2697 } else if (removeDirection === DIRECTION.FORCE_RIGHT) { 2698 tail.unshift(); 2699 } 2700 } 2701 2702 return details.aggregate(this.append(inserted, { 2703 input: true 2704 }, tail)); 2705 } 2706 }, { 2707 key: "maskEquals", 2708 value: function maskEquals(mask) { 2709 return this.mask === mask; 2710 } 2711 }]); 2712 2713 return Masked; 2714 }(); 2715 Masked.DEFAULTS = { 2716 format: function format(v) { 2717
2717return v; 2718 }, 2719 parse: function parse(v) { 2720 return v; 2721 } 2722 }; 2723 IMask.Masked = Masked; 2724 2725 /** Get Masked class by mask type */ 2726 2727 function maskedClass(mask) { 2728 if (mask == null) { 2729 throw new Error('mask property should be defined'); 2730 } // $FlowFixMe 2731 2732 2733 if (mask instanceof RegExp) return IMask.MaskedRegExp; // $FlowFixMe 2734 2735 if (isString(mask)) return IMask.MaskedPattern; // $FlowFixMe 2736 2737 if (mask instanceof Date || mask === Date) return IMask.MaskedDate; // $FlowFixMe 2738 2739 if (mask instanceof Number || typeof mask === 'number' || mask === Number) return IMask.MaskedNumber; // $FlowFixMe 2740 2741 if (Array.isArray(mask) || mask === Array) return IMask.MaskedDynamic; // $FlowFixMe 2742 2743 if (IMask.Masked && mask.prototype instanceof IMask.Masked) return mask; // $FlowFixMe 2744 2745 if (mask instanceof IMask.Masked) return mask.constructor; // $FlowFixMe 2746 2747 if (mask instanceof Function) return IMask.MaskedFunction; 2748 console.warn('Mask not found for mask', mask); // eslint-disable-line no-console 2749 // $FlowFixMe 2750 2751 return IMask.Masked; 2752 } 2753 /** Creates new {@link Masked} depending on mask type */ 2754 2755 function createMask(opts) { 2756 // $FlowFixMe 2757 if (IMask.Masked && opts instanceof IMask.Masked) return opts; 2758 opts = Object.assign({}, opts); 2759 var mask = opts.mask; // $FlowFixMe 2760 2761 if (IMask.Masked && mask instanceof IMask.Masked) return mask; 2762 var MaskedClass = maskedClass(mask); 2763 if (!MaskedClass) throw new Error('Masked class is not found for provided mask, appropriate module needs to be import manually before creating mask.'); 2764 return new MaskedClass(opts); 2765 } 2766 IMask.createMask = createMask; 2767 2768 var _excluded$4 = ["mask"]; 2769 var DEFAULT_INPUT_DEFINITIONS = { 2770 '0': /\d/, 2771 'a': /[\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFB
2771D3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/, 2772 // http://stackoverflow.com/a/22075070 2773 '*': /./ 2774 }; 2775 /** */ 2776 2777 var PatternInputDefinition = /*#__PURE__*/function () { 2778 /** */ 2779 2780 /** */ 2781 2782 /** */ 2783 2784 /** */ 2785 2786 /** */ 2787 2788 /** */ 2789 2790 /** */ 2791 function PatternInputDefinition(opts) { 2792 _classCallCheck(this, PatternInputDefinition); 2793 2794 var mask = opts.mask, 2795 blockOpts = _objectWithoutProperties(opts, _excluded$4); 2796 2797 this.masked = createMask({ 2798 mask: mask 2799 }); 2800 Object.assign(this, blockOpts); 2801 } 2802 2803 _createClass(PatternInputDefinition, [{ 2804 key: "reset", 2805 value: function reset() { 2806 this.isFilled = false; 2807 this.masked.reset(); 2808 } 2809 }, { 2810 key: "remove", 2811 value: function remove() { 2812 var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; 2813 var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; 2814 2815 if (fromPos === 0 && toPos >= 1) { 2816 this.isFilled = false; 2817 return this.masked.remove(fromPos, toPos); 2818 } 2819 2820 return new ChangeDetails(); 2821 } 2822 }, { 2823 key: "value", 2824 get: function get() { 2825 return this.masked.value || (this.isFilled && !this.isOptional ? this.placeholderChar : ''); 2826 } 2827 }, { 2828 key: "unmaskedValue", 2829 get: function get() { 2830 return this.masked.unmaskedValue; 2831 } 2832 }, { 2833 key: "isComplete", 2834 get: function get() { 2835 return Boolean(this.masked.value) || this.isOptional; 2836 } 2837 }, { 2838 key: "_appendChar", 2839 value: function _appendChar(ch) { 2840 var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 2841 if (this.isFilled) return new ChangeDetails(); 2842 var state = this.masked.state; // simulate input 2843 2844 var details = this.masked._appendChar(ch, flags); 2845 2846 if (details.inserted && this.doValidate(flags) === false) { 2847 details.inserted = details.rawInserted = ''; 2848 this.masked.state = state; 2849 } 2850 2851 if (!details.inserted && !this.isOptional && !this.lazy && !flags.input) { 2852 details.inserted = this.placeholderChar; 2853 } 2854 2855 details.skip = !details.inserted && !this.isOptional; 2856 this.isFilled = Boolean(details.inserted); 2857 return details; 2858 } 2859 }, { 2860 key: "append", 2861 value: function append() { 2862 var _this$masked; 2863 2864 // TODO probably should be done via _appendChar 2865 return (_this$masked = this.masked).append.apply(_this$masked, arguments); 2866 } 2867 }, { 2868 key: "_appendPlaceholder", 2869 value: function _appendPlaceholder() { 2870 var details = new ChangeDetails(); 2871 if (this.isFilled || this.isOptional) return details; 2872 this.isFilled = true; 2873 details.inserted = this.placeholderChar; 2874 return details; 2875 } 2876 }, { 2877 key: "_appendEager", 2878 value: function _appendEager() { 2879 return new ChangeDetails(); 2880 } 2881 }, { 2882 key: "extractTail", 2883 value: function extractTail() { 2884 var _this$masked2; 2885 2886 return (_this$masked2 = this.masked).extractTail.apply(_this$masked2, arguments); 2887 } 2888 }, { 2889 key: "appendTail", 2890 value: function appendTail() { 2891 var _this$masked3; 2892 2893 return (_this$masked3 = this.masked).appendTail.apply(_this$masked3, arguments); 2894 } 2895 }, { 2896 key: "extractInput", 2897 value: function extractInput() { 2898 var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; 2899 var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; 2900 var flags = arguments.length > 2 ? arguments[2] : undefined; 2901 return this.masked.extractInput(fromPos, toPos, flags); 2902 } 2903 }, { 2904 key: "nearestInputPos", 2905 value: function nearestInputPos(cursorPos) { 2906 var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DIRECTION.NONE; 2907 var minPos = 0; 2908 var maxPos = this.value.length; 2909 var boundPos = Math.min(Math.max(cursorPos, minPos), maxPos); 2910 2911 switch (direction) { 2912 case DIRECTION.LEFT: 2913 case DIRECTION.FORCE_LEFT: 2914 return this.isComplete ? boundPos : minPos; 2915 2916 case DIRECTION.RIGHT: 2917 case DIRECTION.FORCE_RIGHT: 2918 return this.isComplete ? boundPos : maxPos; 2919 2920 case DIRECTION.NONE: 2921 default: 2922 return boundPos; 2923 } 2924 } 2925 }, { 2926 key: "doValidate", 2927 value: function doValidate() { 2928 var _this$masked4, _this$parent; 2929 2930 return (_this$masked4 = this.masked).doValidate.apply(_this$masked4, arguments) && (!this.parent || (_this$parent = this.parent).doValidate.apply(_this$parent, arguments)); 2931 } 2932 }, { 2933 key: "doCommit", 2934 value: function doCommit() { 2935 this.masked.doCommit(); 2936 } 2937 }, { 2938 key: "state", 2939 get: function get() { 2940 return { 2941 masked: this.masked.state, 2942 isFilled: this.isFilled 2943 }; 2944 }, 2945 set: function set(state) { 2946 this.masked.state = state.masked; 2947 this.isFilled = state.isFilled; 2948 } 2949 }]); 2950 2951 return PatternInputDefinition; 2952 }(); 2953 2954 var PatternFixedDefinition = /*#__PURE__*/function () { 2955 /** */ 2956 2957 /** */ 2958 2959 /** */ 2960 2961 /** */ 2962 2963 /** */ 2964 2965 /** */ 2966 function PatternFixedDefinition(opts) { 2967 _classCallCheck(this, PatternFixedDefinition); 2968 2969 Object.assign(this, opts); 2970 this._value = ''; 2971 this.isFixed = true; 2972 } 2973 2974 _createClass(PatternFixedDefinition, [{ 2975 key: "value", 2976 get: function get() { 2977 return this._value; 2978 } 2979 }, { 2980 key: "unmaskedValue", 2981 get: function get() { 2982 return this.isUnmasking ? this.value : ''; 2983 } 2984 }, { 2985 key: "reset", 2986 value: function reset() { 2987 this._isRawInput = false;
2988 this._value = ''; 2989 } 2990 }, { 2991 key: "remove", 2992 value: function remove() { 2993 var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; 2994 var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this._value.length; 2995 this._value = this._value.slice(0, fromPos) + this._value.slice(toPos); 2996 if (!this._value) this._isRawInput = false; 2997 return new ChangeDetails(); 2998 } 2999 }, { 3000 key: "nearestInputPos", 3001 value: function nearestInputPos(cursorPos) { 3002 var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DIRECTION.NONE; 3003 var minPos = 0; 3004 var maxPos = this._value.length; 3005 3006 switch (direction) { 3007 case DIRECTION.LEFT: 3008 case DIRECTION.FORCE_LEFT: 3009 return minPos; 3010 3011 case DIRECTION.NONE: 3012 case DIRECTION.RIGHT: 3013 case DIRECTION.FORCE_RIGHT: 3014 default: 3015 return maxPos; 3016 } 3017 } 3018 }, { 3019 key: "extractInput", 3020 value: function extractInput() { 3021 var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; 3022 var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this._value.length; 3023 var flags = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; 3024 return flags.raw && this._isRawInput && this._value.slice(fromPos, toPos) || ''; 3025 } 3026 }, { 3027 key: "isComplete", 3028 get: function get() { 3029 return true; 3030 } 3031 }, { 3032 key: "isFilled", 3033 get: function get() { 3034 return Boolean(this._value); 3035 } 3036 }, { 3037 key: "_appendChar", 3038 value: function _appendChar(ch) { 3039 var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 3040 var details = new ChangeDetails(); 3041 if (this._value) return details; 3042 var appended = this.char === ch; 3043 var isResolved = appended && (this.isUnmasking || flags.input || flags.raw) && !this.eager && !flags.tail; 3044 if (isResolved) details.rawInserted = this.char; 3045 this._value = details.inserted = this.char; 3046 this._isRawInput = isResolved && (flags.raw || flags.input); 3047 return details; 3048 } 3049 }, { 3050 key: "_appendEager", 3051 value: function _appendEager() { 3052 return this._appendChar(this.char); 3053 } 3054 }, { 3055 key: "_appendPlaceholder", 3056 value: function _appendPlaceholder() { 3057 var details = new ChangeDetails(); 3058 if (this._value) return details; 3059 this._value = details.inserted = this.char; 3060 return details; 3061 } 3062 }, { 3063 key: "extractTail", 3064 value: function extractTail() { 3065 arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; 3066 return new ContinuousTailDetails(''); 3067 } // $FlowFixMe no ideas 3068 3069 }, { 3070 key: "appendTail", 3071 value: function appendTail(tail) { 3072 if (isString(tail)) tail = new ContinuousTailDetails(String(tail)); 3073 return tail.appendTo(this); 3074 } 3075 }, { 3076 key: "append", 3077 value: function append(str, flags, tail) { 3078 var details = this._appendChar(str[0], flags); 3079 3080 if (tail != null) { 3081 details.tailShift += this.appendTail(tail).tailShift; 3082 } 3083 3084 return details; 3085 } 3086 }, { 3087 key: "doCommit", 3088 value: function doCommit() {} 3089 }, { 3090 key: "state", 3091 get: function get() { 3092 return { 3093 _value: this._value, 3094 _isRawInput: this._isRawInput 3095 }; 3096 }, 3097 set: function set(state) { 3098 Object.assign(this, state); 3099 } 3100 }]); 3101 3102 return PatternFixedDefinition; 3103 }(); 3104 3105 var _excluded$3 = ["chunks"]; 3106 3107 var ChunksTailDetails = /*#__PURE__*/function () { 3108 /** */ 3109 function ChunksTailDetails() { 3110 var chunks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; 3111 var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; 3112 3113 _classCallCheck(this, ChunksTailDetails); 3114 3115 this.chunks = chunks; 3116 this.from = from; 3117 } 3118 3119 _createClass(ChunksTailDetails, [{ 3120 key: "toString", 3121 value: function toString() { 3122 return this.chunks.map(String).join(''); 3123 } // $FlowFixMe no ideas 3124 3125 }, { 3126 key: "extend", 3127 value: function extend(tailChunk) { 3128 if (!String(tailChunk)) return; 3129 if (isString(tailChunk)) tailChunk = new ContinuousTailDetails(String(tailChunk)); 3130 var lastChunk = this.chunks[this.chunks.length - 1];
3131 var extendLast = lastChunk && ( // if stops are same or tail has no stop 3132 lastChunk.stop === tailChunk.stop || tailChunk.stop == null) && // if tail chunk goes just after last chunk 3133 tailChunk.from === lastChunk.from + lastChunk.toString().length; 3134 3135 if (tailChunk instanceof ContinuousTailDetails) { 3136 // check the ability to extend previous chunk 3137 if (extendLast) { 3138 // extend previous chunk 3139 lastChunk.extend(tailChunk.toString()); 3140 } else { 3141 // append new chunk 3142 this.chunks.push(tailChunk); 3143 } 3144 } else if (tailChunk instanceof ChunksTailDetails) { 3145 if (tailChunk.stop == null) { 3146 // unwrap floating chunks to parent, keeping `from` pos 3147 var firstTailChunk; 3148 3149 while (tailChunk.chunks.length && tailChunk.chunks[0].stop == null) { 3150 firstTailChunk = tailChunk.chunks.shift(); 3151 firstTailChunk.from += tailChunk.from; 3152 this.extend(firstTailChunk); 3153 } 3154 } // if tail chunk still has value 3155 3156 3157 if (tailChunk.toString()) { 3158 // if chunks contains stops, then popup stop to container 3159 tailChunk.stop = tailChunk.blockIndex; 3160 this.chunks.push(tailChunk); 3161 } 3162 } 3163 } 3164 }, { 3165 key: "appendTo", 3166 value: function appendTo(masked) { 3167 // $FlowFixMe 3168 if (!(masked instanceof IMask.MaskedPattern)) { 3169 var tail = new ContinuousTailDetails(this.toString()); 3170 return tail.appendTo(masked); 3171 } 3172 3173 var details = new ChangeDetails(); 3174 3175 for (var ci = 0; ci < this.chunks.length && !details.skip; ++ci) { 3176 var chunk = this.chunks[ci]; 3177 3178 var lastBlockIter = masked._mapPosToBlock(masked.value.length); 3179 3180 var stop = chunk.stop; 3181 var chunkBlock = void 0; 3182 3183 if (stop != null && ( // if block not found or stop is behind lastBlock 3184 !lastBlockIter || lastBlockIter.index <= stop)) { 3185 if (chunk instanceof ChunksTailDetails || // for continuous block also check if stop is exist 3186 masked._stops.indexOf(stop) >= 0) { 3187 details.aggregate(masked._appendPlaceholder(stop)); 3188 } 3189 3190 chunkBlock = chunk instanceof ChunksTailDetails && masked._blocks[stop]; 3191 } 3192 3193 if (chunkBlock) { 3194 var tailDetails = chunkBlock.appendTail(chunk); 3195 tailDetails.skip = false; // always ignore skip, it will be set on last 3196 3197 details.aggregate(tailDetails); 3198 masked._value += tailDetails.inserted; // get not inserted chars 3199 3200 var remainChars = chunk.toString().slice(tailDetails.rawInserted.length); 3201 if (remainChars) details.aggregate(masked.append(remainChars, { 3202 tail: true 3203 })); 3204 } else { 3205 details.aggregate(masked.append(chunk.toString(), { 3206 tail: true 3207 })); 3208 } 3209 } 3210 return details; 3211 } 3212 }, { 3213 key: "state", 3214 get: function get() { 3215 return { 3216 chunks: this.chunks.map(function (c) { 3217 return c.state; 3218 }), 3219 from: this.from, 3220 stop: this.stop, 3221 blockIndex: this.blockIndex 3222 }; 3223 }, 3224 set: function set(state) { 3225 var chunks = state.chunks, 3226 props = _objectWithoutProperties(state, _excluded$3); 3227 3228 Object.assign(this, props); 3229 this.chunks = chunks.map(function (cstate) { 3230 var chunk = "chunks" in cstate ? new ChunksTailDetails() : new ContinuousTailDetails(); // $FlowFixMe already checked above 3231 3232 chunk.state = cstate; 3233 return chunk; 3234 }); 3235 } 3236 }, { 3237 key: "unshift", 3238 value: function unshift(beforePos) { 3239 if (!this.chunks.length || beforePos != null && this.from >= beforePos) return ''; 3240 var chunkShiftPos = beforePos != null ? beforePos - this.from : beforePos; 3241 var ci = 0; 3242 3243 while (ci < this.chunks.length) { 3244 var chunk = this.chunks[ci]; 3245 var shiftChar = chunk.unshift(chunkShiftPos); 3246 3247 if (chunk.toString()) { 3248 // chunk still contains value 3249 // but not shifted - means no more available chars to shift 3250 if (!shiftChar) break; 3251 ++ci; 3252 } else { 3253 // clean if chunk has no value 3254 this.chunks.splice(ci, 1); 3255 } 3256 3257 if (shiftChar) return shiftChar; 3258 } 3259 3260 return ''; 3261 } 3262 }, { 3263 key: "shift", 3264 value: function shift() { 3265 if (!this.chunks.length) return ''; 3266 var ci = this.chunks.length - 1; 3267 3268 while (0 <= ci) { 3269 var chunk = this.chunks[ci]; 3270 var shiftChar = chunk.shift(); 3271 3272 if (chunk.toString()) { 3273 // chunk still contains value 3274 // but not shifted - means no more available chars to shift 3275 if (!shiftChar) break; 3276 --ci; 3277 } else { 3278 // clean if chunk has no value 3279 this.chunks.splice(ci, 1); 3280 } 3281 3282 if (shiftChar) return shiftChar; 3283 } 3284 3285 return ''; 3286 } 3287 }]); 3288 3289 return ChunksTailDetails; 3290 }(); 3291 3292 var PatternCursor = /*#__PURE__*/function () { 3293 function PatternCursor(masked, pos) { 3294 _classCallCheck(this, PatternCursor); 3295 3296 this.masked = masked; 3297 this._log = []; 3298 3299 var _ref = masked._mapPosToBlock(pos) || (pos < 0 ? // first 3300 { 3301 index: 0, 3302 offset: 0 3303 } : // last 3304 { 3305 index: this.masked._blocks.length, 3306 offset: 0 3307 }), 3308 offset = _ref.offset, 3309 index = _ref.index; 3310 3311 this.offset = offset; 3312 this.index = index; 3313 this.ok = false;
3314 } 3315 3316 _createClass(PatternCursor, [{ 3317 key: "block", 3318 get: function get() { 3319 return this.masked._blocks[this.index]; 3320 } 3321 }, { 3322 key: "pos", 3323 get: function get() { 3324 return this.masked._blockStartPos(this.index) + this.offset; 3325 } 3326 }, { 3327 key: "state", 3328 get: function get() { 3329 return { 3330 index: this.index, 3331 offset: this.offset, 3332 ok: this.ok 3333 }; 3334 }, 3335 set: function set(s) { 3336 Object.assign(this, s); 3337 } 3338 }, { 3339 key: "pushState", 3340 value: function pushState() { 3341 this._log.push(this.state); 3342 } 3343 }, { 3344 key: "popState", 3345 value: function popState() { 3346 var s = this._log.pop(); 3347 3348 this.state = s; 3349 return s; 3350 } 3351 }, { 3352 key: "bindBlock", 3353 value: function bindBlock() { 3354 if (this.block) return; 3355 3356 if (this.index < 0) { 3357 this.index = 0; 3358 this.offset = 0; 3359 } 3360 3361 if (this.index >= this.masked._blocks.length) { 3362 this.index = this.masked._blocks.length - 1; 3363 this.offset = this.block.value.length; 3364 } 3365 } 3366 }, { 3367 key: "_pushLeft", 3368 value: function _pushLeft(fn) { 3369 this.pushState(); 3370 3371 for (this.bindBlock(); 0 <= this.index; --this.index, this.offset = ((_this$block = this.block) === null || _this$block === void 0 ? void 0 : _this$block.value.length) || 0) { 3372 var _this$block; 3373 3374 if (fn()) return this.ok = true; 3375 } 3376 3377 return this.ok = false; 3378 } 3379 }, { 3380 key: "_pushRight", 3381 value: function _pushRight(fn) { 3382 this.pushState(); 3383 3384 for (this.bindBlock(); this.index < this.masked._blocks.length; ++this.index, this.offset = 0) { 3385 if (fn()) return this.ok = true; 3386 } 3387 3388 return this.ok = false; 3389 } 3390 }, { 3391 key: "pushLeftBeforeFilled", 3392 value: function pushLeftBeforeFilled() { 3393 var _this = this; 3394 3395 return this._pushLeft(function () { 3396 if (_this.block.isFixed || !_this.block.value) return; 3397 _this.offset = _this.block.nearestInputPos(_this.offset, DIRECTION.FORCE_LEFT); 3398 if (_this.offset !== 0) return true; 3399 }); 3400 } 3401 }, { 3402 key: "pushLeftBeforeInput", 3403 value: function pushLeftBeforeInput() { 3404 var _this2 = this; 3405 3406 // cases: 3407 // filled input: 00| 3408 // optional empty input: 00[]| 3409 // nested block: XX<[]>| 3410 return this._pushLeft(function () { 3411 if (_this2.block.isFixed) return; 3412 _this2.offset = _this2.block.nearestInputPos(_this2.offset, DIRECTION.LEFT); 3413 return true; 3414 }); 3415 } 3416 }, { 3417 key: "pushLeftBeforeRequired", 3418 value: function pushLeftBeforeRequired() { 3419 var _this3 = this; 3420 3421 return this._pushLeft(function () { 3422 if (_this3.block.isFixed || _this3.block.isOptional && !_this3.block.value) return; 3423 _this3.offset = _this3.block.nearestInputPos(_this3.offset, DIRECTION.LEFT); 3424 return true; 3425 }); 3426 } 3427 }, { 3428 key: "pushRightBeforeFilled", 3429 value: function pushRightBeforeFilled() { 3430 var _this4 = this; 3431 3432 return this._pushRight(function () { 3433 if (_this4.block.isFixed || !_this4.block.value) return; 3434 _this4.offset = _this4.block.nearestInputPos(_this4.offset, DIRECTION.FORCE_RIGHT); 3435 if (_this4.offset !== _this4.block.value.length) return true; 3436 }); 3437 } 3438 }, { 3439 key: "pushRightBeforeInput", 3440 value: function pushRightBeforeInput() { 3441 var _this5 = this; 3442 3443 return this._pushRight(function () { 3444 if (_this5.block.isFixed) return; // const o = this.offset; 3445 3446 _this5.offset = _this5.block.nearestInputPos(_this5.offset, DIRECTION.NONE); // HACK cases like (STILL DOES NOT WORK FOR NESTED) 3447 // aa|X 3448 // aa<X|[]>X_ - this will not work 3449 // if (o && o === this.offset && this.block instanceof PatternInputDefinition) continue; 3450 3451 return true; 3452 }); 3453 } 3454 }, { 3455 key: "pushRightBeforeRequired", 3456 value: function pushRightBeforeRequired() { 3457 var _this6 = this; 3458 3459 return this._pushRight(function () { 3460 if (_this6.block.isFixed || _this6.block.isOptional && !_this6.block.value) return; // TODO check |[*]XX_ 3461 3462 _this6.offset = _this6.block.nearestInputPos(_this6.offset, DIRECTION.NONE); 3463 return true; 3464 }); 3465 } 3466 }]); 3467 3468 return PatternCursor; 3469 }(); 3470 3471 /** Masking by RegExp */ 3472 3473 var MaskedRegExp = /*#__PURE__*/function (_Masked) { 3474 _inherits(MaskedRegExp, _Masked); 3475 3476 var _super = _createSuper(MaskedRegExp); 3477 3478 function MaskedRegExp() { 3479 _classCallCheck(this, MaskedRegExp); 3480 3481 return _super.apply(this, arguments); 3482 } 3483 3484 _createClass(MaskedRegExp, [{ 3485 key: "_update", 3486 value: 3487 /** 3488 @override 3489 @param {Object} opts 3490 */ 3491 function _update(opts) { 3492 if (opts.mask) opts.validate = function (value) { 3493 return value.search(opts.mask) >= 0; 3494 }; 3495 3496 _get(_getPrototypeOf(MaskedRegExp.prototype), "_update", this).call(this, opts); 3497 } 3498 }]); 3499 3500 return MaskedRegExp; 3501 }(Masked); 3502 IMask.MaskedRegExp = MaskedRegExp; 3503 3504 var _excluded$2 = ["_blocks"]; 3505 3506 /** 3507 Pattern mask 3508 @param {Object} opts 3509 @param {Object} opts.blocks 3510 @param {Object} opts.definitions 3511 @param {string} opts.placeholderChar 3512 @param {boolean} opts.lazy 3513 */ 3514 var MaskedPattern = /*#__PURE__*/function (_Masked) { 3515 _inherits(MaskedPattern, _Masked); 3516 3517 var _super = _createSuper(MaskedPattern); 3518 3519 /** */ 3520 3521 /** */ 3522 3523 /** Single char for empty input */ 3524 3525 /** Show placeholder only when needed */ 3526 function MaskedPattern() { 3527 var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; 3528 3529 _classCallCheck(this, MaskedPattern); 3530 3531 // TODO type $Shape<MaskedPatternOptions>={} does not work 3532 opts.definitions = Object.assign({}, DEFAULT_INPUT_DEFINITIONS, opts.definitions); 3533 return _super.call(this, Object.assign({}, MaskedPattern.DEFAULTS, opts)); 3534 } 3535 /** 3536 @override 3537 @param {Object} opts 3538 */ 3539 3540 3541 _createClass(MaskedPattern, [{ 3542 key: "_update", 3543 value: function _update() { 3544 var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; 3545 opts.definitions = Object.assign({}, this.definitions, opts.definitions); 3546 3547 _get(_getPrototypeOf(MaskedPattern.prototype), "_update", this).call(this, opts); 3548 3549 this._rebuildMask(); 3550 } 3551 /** */ 3552 3553 }, { 3554 key: "_rebuildMask", 3555 value: function _rebuildMask() { 3556 var _this = this; 3557 3558 var defs = this.definitions; 3559 this._blocks = []; 3560 this._stops = []; 3561 this._maskedBlocks = {}; 3562 var pattern = this.mask; 3563 if (!pattern || !defs) return; 3564 var unmaskingBlock = false;
3565 var optionalBlock = false; 3566 3567 for (var i = 0; i < pattern.length; ++i) { 3568 if (this.blocks) { 3569 var _ret = function () { 3570 var p = pattern.slice(i); 3571 var bNames = Object.keys(_this.blocks).filter(function (bName) { 3572 return p.indexOf(bName) === 0; 3573 }); // order by key length 3574 3575 bNames.sort(function (a, b) { 3576 return b.length - a.length; 3577 }); // use block name with max length 3578 3579 var bName = bNames[0]; 3580 3581 if (bName) { 3582 // $FlowFixMe no ideas 3583 var maskedBlock = createMask(Object.assign({ 3584 parent: _this, 3585 lazy: _this.lazy, 3586 eager: _this.eager, 3587 placeholderChar: _this.placeholderChar, 3588 overwrite: _this.overwrite 3589 }, _this.blocks[bName])); 3590 3591 if (maskedBlock) { 3592 _this._blocks.push(maskedBlock); // store block index 3593 3594 3595 if (!_this._maskedBlocks[bName]) _this._maskedBlocks[bName] = []; 3596 3597 _this._maskedBlocks[bName].push(_this._blocks.length - 1); 3598 } 3599 3600 i += bName.length - 1; 3601 return "continue"; 3602 } 3603 }(); 3604 3605 if (_ret === "continue") continue; 3606 } 3607 3608 var char = pattern[i]; 3609 var isInput = (char in defs); 3610 3611 if (char === MaskedPattern.STOP_CHAR) { 3612 this._stops.push(this._blocks.length); 3613 3614 continue; 3615 } 3616 3617 if (char === '{' || char === '}') { 3618 unmaskingBlock = !unmaskingBlock; 3619 continue; 3620 } 3621 3622 if (char === '[' || char === ']') { 3623 optionalBlock = !optionalBlock; 3624 continue; 3625 } 3626 3627 if (char === MaskedPattern.ESCAPE_CHAR) { 3628 ++i; 3629 char = pattern[i]; 3630 if (!char) break; 3631 isInput = false; 3632 } 3633 3634 var def = isInput ? new PatternInputDefinition({ 3635 parent: this, 3636 lazy: this.lazy, 3637 eager: this.eager, 3638 placeholderChar: this.placeholderChar, 3639 mask: defs[char], 3640 isOptional: optionalBlock 3641 }) : new PatternFixedDefinition({ 3642 char: char, 3643 eager: this.eager, 3644 isUnmasking: unmaskingBlock 3645 }); 3646 3647 this._blocks.push(def); 3648 } 3649 } 3650 /** 3651 @override 3652 */ 3653 3654 }, { 3655 key: "state", 3656 get: function get() { 3657 return Object.assign({}, _get(_getPrototypeOf(MaskedPattern.prototype), "state", this), { 3658 _blocks: this._blocks.map(function (b) { 3659 return b.state; 3660 }) 3661 }); 3662 }, 3663 set: function set(state) { 3664 var _blocks = state._blocks, 3665 maskedState = _objectWithoutProperties(state, _excluded$2); 3666 3667 this._blocks.forEach(function (b, bi) { 3668 return b.state = _blocks[bi]; 3669 }); 3670 3671 _set(_getPrototypeOf(MaskedPattern.prototype), "state", maskedState, this, true); 3672 } 3673 /** 3674 @override 3675 */ 3676 3677 }, { 3678 key: "reset", 3679 value: function reset() { 3680 _get(_getPrototypeOf(MaskedPattern.prototype), "reset", this).call(this); 3681 3682 this._blocks.forEach(function (b) { 3683 return b.reset(); 3684 }); 3685 } 3686 /** 3687 @override 3688 */ 3689 3690 }, { 3691 key: "isComplete", 3692 get: function get() { 3693 return this._blocks.every(function (b) { 3694 return b.isComplete; 3695 }); 3696 } 3697 /** 3698 @override 3699 */ 3700 3701 }, { 3702 key: "isFilled", 3703 get: function get() { 3704 return this._blocks.every(function (b) { 3705 return b.isFilled; 3706 }); 3707 } 3708 }, { 3709 key: "isFixed", 3710 get: function get() { 3711 return this._blocks.every(function (b) { 3712 return b.isFixed; 3713 }); 3714 } 3715 }, { 3716 key: "isOptional", 3717 get: function get() { 3718 return this._blocks.every(function (b) { 3719 return b.isOptional; 3720 }); 3721 } 3722 /** 3723 @override 3724 */ 3725 3726 }, { 3727 key: "doCommit", 3728 value: function doCommit() { 3729 this._blocks.forEach(function (b) { 3730 return b.doCommit(); 3731 }); 3732 3733 _get(_getPrototypeOf(MaskedPattern.prototype), "doCommit", this).call(this); 3734 } 3735 /** 3736 @override 3737 */ 3738 3739 }, { 3740 key: "unmaskedValue", 3741 get: function get() { 3742 return this._blocks.reduce(function (str, b) { 3743 return str += b.unmaskedValue; 3744 }, ''); 3745 }, 3746 set: function set(unmaskedValue) { 3747 _set(_getPrototypeOf(MaskedPattern.prototype), "unmaskedValue", unmaskedValue, this, true); 3748 } 3749 /** 3750 @override 3751 */ 3752 3753 }, { 3754 key: "value", 3755 get: function get() { 3756 // TODO return _value when not in change? 3757 return this._blocks.reduce(function (str, b) { 3758 return str += b.value; 3759 }, ''); 3760 }, 3761 set: function set(value) { 3762 _set(_getPrototypeOf(MaskedPattern.prototype), "value", value, this, true); 3763 } 3764 /** 3765 @override 3766 */ 3767 3768 }, { 3769 key: "appendTail", 3770 value: function appendTail(tail) { 3771 return _get(_getPrototypeOf(MaskedPattern.prototype), "appendTail", this).call(this, tail).aggregate(this._appendPlaceholder()); 3772 } 3773 /** 3774 @override 3775 */ 3776 3777 }, { 3778 key: "_appendEager", 3779 value: function _appendEager() { 3780 var _this$_mapPosToBlock; 3781 3782 var details = new ChangeDetails(); 3783 var startBlockIndex = (_this$_mapPosToBlock = this._mapPosToBlock(this.value.length)) === null || _this$_mapPosToBlock === void 0 ? void 0 : _this$_mapPosToBlock.index; 3784 if (startBlockIndex == null) return details; // TODO test if it works for nested pattern masks 3785 3786 if (this._blocks[startBlockIndex].isFilled) ++startBlockIndex; 3787 3788 for (var bi = startBlockIndex; bi < this._blocks.length; ++bi) { 3789 var d = this._blocks[bi]._appendEager(); 3790 3791 if (!d.inserted) break; 3792 details.aggregate(d); 3793 } 3794 3795 return details; 3796 } 3797 /** 3798 @override 3799 */ 3800 3801 }, { 3802 key: "_appendCharRaw", 3803 value: function _appendCharRaw(ch) { 3804 var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 3805 3806 var blockIter = this._mapPosToBlock(this.value.length); 3807 3808 var details = new ChangeDetails(); 3809 if (!blockIter) return details; 3810 3811 for (var bi = blockIter.index;; ++bi) { 3812 var _flags$_beforeTailSta; 3813 3814 var _block = this._blocks[bi]; 3815 if (!_block) break; 3816
3817 var blockDetails = _block._appendChar(ch, Object.assign({}, flags, { 3818 _beforeTailState: (_flags$_beforeTailSta = flags._beforeTailState) === null || _flags$_beforeTailSta === void 0 ? void 0 : _flags$_beforeTailSta._blocks[bi] 3819 })); 3820 3821 var skip = blockDetails.skip; 3822 details.aggregate(blockDetails); 3823 if (skip || blockDetails.rawInserted) break; // go next char 3824 } 3825 3826 return details; 3827 } 3828 /** 3829 @override 3830 */ 3831 3832 }, { 3833 key: "extractTail", 3834 value: function extractTail() { 3835 var _this2 = this; 3836 3837 var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; 3838 var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; 3839 var chunkTail = new ChunksTailDetails(); 3840 if (fromPos === toPos) return chunkTail; 3841 3842 this._forEachBlocksInRange(fromPos, toPos, function (b, bi, bFromPos, bToPos) { 3843 var blockChunk = b.extractTail(bFromPos, bToPos); 3844 blockChunk.stop = _this2._findStopBefore(bi); 3845 blockChunk.from = _this2._blockStartPos(bi); 3846 if (blockChunk instanceof ChunksTailDetails) blockChunk.blockIndex = bi; 3847 chunkTail.extend(blockChunk); 3848 }); 3849 3850 return chunkTail; 3851 } 3852 /** 3853 @override 3854 */ 3855 3856 }, { 3857 key: "extractInput", 3858 value: function extractInput() { 3859 var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; 3860 var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; 3861 var flags = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; 3862 if (fromPos === toPos) return ''; 3863 var input = ''; 3864 3865 this._forEachBlocksInRange(fromPos, toPos, function (b, _, fromPos, toPos) { 3866 input += b.extractInput(fromPos, toPos, flags); 3867 }); 3868 3869 return input; 3870 } 3871 }, { 3872 key: "_findStopBefore", 3873 value: function _findStopBefore(blockIndex) { 3874 var stopBefore; 3875 3876 for (var si = 0; si < this._stops.length; ++si) { 3877 var stop = this._stops[si]; 3878 if (stop <= blockIndex) stopBefore = stop;else break; 3879 } 3880 3881 return stopBefore; 3882 } 3883 /** Appends placeholder depending on laziness */ 3884 3885 }, { 3886 key: "_appendPlaceholder", 3887 value: function _appendPlaceholder(toBlockIndex) { 3888 var _this3 = this; 3889 3890 var details = new ChangeDetails(); 3891 if (this.lazy && toBlockIndex == null) return details; 3892 3893 var startBlockIter = this._mapPosToBlock(this.value.length); 3894 3895 if (!startBlockIter) return details; 3896 var startBlockIndex = startBlockIter.index; 3897 var endBlockIndex = toBlockIndex != null ? toBlockIndex : this._blocks.length; 3898 3899 this._blocks.slice(startBlockIndex, endBlockIndex).forEach(function (b) { 3900 if (!b.lazy || toBlockIndex != null) { 3901 // $FlowFixMe `_blocks` may not be present 3902 var args = b._blocks != null ? [b._blocks.length] : []; 3903 3904 var bDetails = b._appendPlaceholder.apply(b, args); 3905 3906 _this3._value += bDetails.inserted; 3907 details.aggregate(bDetails); 3908 } 3909 }); 3910 3911 return details; 3912 } 3913 /** Finds block in pos */ 3914 3915 }, { 3916 key: "_mapPosToBlock", 3917 value: function _mapPosToBlock(pos) { 3918 var accVal = ''; 3919 3920 for (var bi = 0; bi < this._blocks.length; ++bi) { 3921 var _block2 = this._blocks[bi]; 3922 var blockStartPos = accVal.length; 3923 accVal += _block2.value; 3924 3925 if (pos <= accVal.length) { 3926 return { 3927 index: bi, 3928 offset: pos - blockStartPos 3929 }; 3930 } 3931 } 3932 } 3933 /** */ 3934 3935 }, { 3936 key: "_blockStartPos", 3937 value: function _blockStartPos(blockIndex) { 3938 return this._blocks.slice(0, blockIndex).reduce(function (pos, b) { 3939 return pos += b.value.length; 3940 }, 0); 3941 } 3942 /** */ 3943 3944 }, { 3945 key: "_forEachBlocksInRange", 3946 value: function _forEachBlocksInRange(fromPos) { 3947 var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; 3948 var fn = arguments.length > 2 ? arguments[2] : undefined; 3949 3950 var fromBlockIter = this._mapPosToBlock(fromPos); 3951 3952 if (fromBlockIter) { 3953 var toBlockIter = this._mapPosToBlock(toPos); // process first block 3954 3955 3956 var isSameBlock = toBlockIter && fromBlockIter.index === toBlockIter.index; 3957 var fromBlockStartPos = fromBlockIter.offset; 3958 var fromBlockEndPos = toBlockIter && isSameBlock ? toBlockIter.offset : this._blocks[fromBlockIter.index].value.length; 3959 fn(this._blocks[fromBlockIter.index], fromBlockIter.index, fromBlockStartPos, fromBlockEndPos); 3960 3961 if (toBlockIter && !isSameBlock) { 3962 // process intermediate blocks 3963 for (var bi = fromBlockIter.index + 1; bi < toBlockIter.index; ++bi) { 3964 fn(this._blocks[bi], bi, 0, this._blocks[bi].value.length); 3965 } // process last block 3966 3967 3968 fn(this._blocks[toBlockIter.index], toBlockIter.index, 0, toBlockIter.offset); 3969 } 3970 } 3971 } 3972 /** 3973 @override 3974 */ 3975 3976 }, { 3977 key: "remove", 3978 value: function remove() { 3979 var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; 3980 var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; 3981 3982 var removeDetails = _get(_getPrototypeOf(MaskedPattern.prototype), "remove", this).call(this, fromPos, toPos); 3983
3984 this._forEachBlocksInRange(fromPos, toPos, function (b, _, bFromPos, bToPos) { 3985 removeDetails.aggregate(b.remove(bFromPos, bToPos)); 3986 }); 3987 3988 return removeDetails; 3989 } 3990 /** 3991 @override 3992 */ 3993 3994 }, { 3995 key: "nearestInputPos", 3996 value: function nearestInputPos(cursorPos) { 3997 var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DIRECTION.NONE; 3998 if (!this._blocks.length) return 0; 3999 var cursor = new PatternCursor(this, cursorPos); 4000 4001 if (direction === DIRECTION.NONE) { 4002 // ------------------------------------------------- 4003 // NONE should only go out from fixed to the right! 4004 // ------------------------------------------------- 4005 if (cursor.pushRightBeforeInput()) return cursor.pos; 4006 cursor.popState(); 4007 if (cursor.pushLeftBeforeInput()) return cursor.pos; 4008 return this.value.length; 4009 } // FORCE is only about a|* otherwise is 0 4010 4011 4012 if (direction === DIRECTION.LEFT || direction === DIRECTION.FORCE_LEFT) { 4013 // try to break fast when *|a 4014 if (direction === DIRECTION.LEFT) { 4015 cursor.pushRightBeforeFilled(); 4016 if (cursor.ok && cursor.pos === cursorPos) return cursorPos; 4017 cursor.popState(); 4018 } // forward flow 4019 4020 4021 cursor.pushLeftBeforeInput(); 4022 cursor.pushLeftBeforeRequired(); 4023 cursor.pushLeftBeforeFilled(); // backward flow 4024 4025 if (direction === DIRECTION.LEFT) { 4026 cursor.pushRightBeforeInput(); 4027 cursor.pushRightBeforeRequired(); 4028 if (cursor.ok && cursor.pos <= cursorPos) return cursor.pos; 4029 cursor.popState(); 4030 if (cursor.ok && cursor.pos <= cursorPos) return cursor.pos; 4031 cursor.popState(); 4032 } 4033 4034 if (cursor.ok) return cursor.pos; 4035 if (direction === DIRECTION.FORCE_LEFT) return 0; 4036 cursor.popState(); 4037 if (cursor.ok) return cursor.pos; 4038 cursor.popState(); 4039 if (cursor.ok) return cursor.pos; // cursor.popState(); 4040 // if ( 4041 // cursor.pushRightBeforeInput() && 4042 // // TODO HACK for lazy if has aligned left inside fixed and has came to the start - use start position 4043 // (!this.lazy || this.extractInput()) 4044 // ) return cursor.pos; 4045 4046 return 0; 4047 } 4048 4049 if (direction === DIRECTION.RIGHT || direction === DIRECTION.FORCE_RIGHT) { 4050 // forward flow 4051 cursor.pushRightBeforeInput(); 4052 cursor.pushRightBeforeRequired(); 4053 if (cursor.pushRightBeforeFilled()) return cursor.pos; 4054 if (direction === DIRECTION.FORCE_RIGHT) return this.value.length; // backward flow 4055 4056 cursor.popState(); 4057 if (cursor.ok) return cursor.pos; 4058 cursor.popState(); 4059 if (cursor.ok) return cursor.pos; 4060 return this.nearestInputPos(cursorPos, DIRECTION.LEFT); 4061 } 4062 4063 return cursorPos; 4064 } 4065 /** Get block by name */ 4066 4067 }, { 4068 key: "maskedBlock", 4069 value: function maskedBlock(name) { 4070 return this.maskedBlocks(name)[0]; 4071 } 4072 /** Get all blocks by name */ 4073 4074 }, { 4075 key: "maskedBlocks", 4076 value: function maskedBlocks(name) { 4077 var _this4 = this; 4078 4079 var indices = this._maskedBlocks[name]; 4080 if (!indices) return []; 4081 return indices.map(function (gi) { 4082 return _this4._blocks[gi]; 4083 }); 4084 } 4085 }]); 4086 4087 return MaskedPattern; 4088 }(Masked); 4089 MaskedPattern.DEFAULTS = { 4090 lazy: true, 4091 placeholderChar: '_' 4092 }; 4093 MaskedPattern.STOP_CHAR = '`'; 4094 MaskedPattern.ESCAPE_CHAR = '\\'; 4095 MaskedPattern.InputDefinition = PatternInputDefinition; 4096 MaskedPattern.FixedDefinition = PatternFixedDefinition; 4097 IMask.MaskedPattern = MaskedPattern; 4098 4099 /** Pattern which accepts ranges */ 4100 4101 var MaskedRange = /*#__PURE__*/function (_MaskedPattern) { 4102 _inherits(MaskedRange, _MaskedPattern); 4103 4104 var _super = _createSuper(MaskedRange); 4105 4106 function MaskedRange() { 4107 _classCallCheck(this, MaskedRange); 4108 4109 return _super.apply(this, arguments); 4110 } 4111 4112 _createClass(MaskedRange, [{ 4113 key: "_matchFrom", 4114 get: 4115 /** 4116 Optionally sets max length of pattern. 4117 Used when pattern length is longer then `to` param length. Pads zeros at start in this case. 4118 */ 4119 4120 /** Min bound */ 4121 4122 /** Max bound */ 4123 4124 /** */ 4125 function get() { 4126 return this.maxLength - String(this.from).length; 4127 } 4128 /** 4129 @override 4130 */ 4131 4132 }, { 4133 key: "_update", 4134 value: function _update(opts) { 4135 // TODO type 4136 opts = Object.assign({ 4137 to: this.to || 0, 4138 from: this.from || 0, 4139 maxLength: this.maxLength || 0 4140 }, opts); 4141 var maxLength = String(opts.to).length; 4142 if (opts.maxLength != null) maxLength = Math.max(maxLength, opts.maxLength); 4143 opts.maxLength = maxLength; 4144 var fromStr = String(opts.from).padStart(maxLength, '0'); 4145 var toStr = String(opts.to).padStart(maxLength, '0'); 4146 var sameCharsCount = 0; 4147 4148 while (sameCharsCount < toStr.length && toStr[sameCharsCount] === fromStr[sameCharsCount]) { 4149 ++sameCharsCount; 4150 } 4151 4152 opts.mask = toStr.slice(0, sameCharsCount).replace(/0/g, '\\0') + '0'.repeat(maxLength - sameCharsCount); 4153 4154 _get(_getPrototypeOf(MaskedRange.prototype), "_update", this).call(this, opts); 4155 } 4156 /** 4157 @override 4158 */ 4159 4160 }, { 4161 key: "isComplete", 4162 get: function get() { 4163 return _get(_getPrototypeOf(MaskedRange.prototype), "isComplete", this) && Boolean(this.value); 4164 } 4165 }, {
4166 key: "boundaries", 4167 value: function boundaries(str) { 4168 var minstr = ''; 4169 var maxstr = ''; 4170 4171 var _ref = str.match(/^(\D*)(\d*)(\D*)/) || [], 4172 _ref2 = _slicedToArray(_ref, 3), 4173 placeholder = _ref2[1], 4174 num = _ref2[2]; 4175 4176 if (num) { 4177 minstr = '0'.repeat(placeholder.length) + num; 4178 maxstr = '9'.repeat(placeholder.length) + num; 4179 } 4180 4181 minstr = minstr.padEnd(this.maxLength, '0'); 4182 maxstr = maxstr.padEnd(this.maxLength, '9'); 4183 return [minstr, maxstr]; 4184 } // TODO str is a single char everytime 4185 4186 /** 4187 @override 4188 */ 4189 4190 }, { 4191 key: "doPrepare", 4192 value: function doPrepare(ch) { 4193 var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 4194 var details; 4195 4196 var _normalizePrepare = normalizePrepare(_get(_getPrototypeOf(MaskedRange.prototype), "doPrepare", this).call(this, ch.replace(/\D/g, ''), flags)); 4197 4198 var _normalizePrepare2 = _slicedToArray(_normalizePrepare, 2); 4199 4200 ch = _normalizePrepare2[0]; 4201 details = _normalizePrepare2[1]; 4202 if (!this.autofix || !ch) return ch; 4203 var fromStr = String(this.from).padStart(this.maxLength, '0'); 4204 var toStr = String(this.to).padStart(this.maxLength, '0'); 4205 var nextVal = this.value + ch;
4206 if (nextVal.length > this.maxLength) return ''; 4207 4208 var _this$boundaries = this.boundaries(nextVal), 4209 _this$boundaries2 = _slicedToArray(_this$boundaries, 2), 4210 minstr = _this$boundaries2[0], 4211 maxstr = _this$boundaries2[1]; 4212 4213 if (Number(maxstr) < this.from) return fromStr[nextVal.length - 1]; 4214 4215 if (Number(minstr) > this.to) { 4216 if (this.autofix === 'pad' && nextVal.length < this.maxLength) { 4217 return ['', details.aggregate(this.append(fromStr[nextVal.length - 1] + ch, flags))]; 4218 } 4219 4220 return toStr[nextVal.length - 1]; 4221 } 4222 4223 return ch; 4224 } 4225 /** 4226 @override 4227 */ 4228 4229 }, { 4230 key: "doValidate", 4231 value: function doValidate() { 4232 var _get2; 4233 4234 var str = this.value; 4235 var firstNonZero = str.search(/[^0]/); 4236 if (firstNonZero === -1 && str.length <= this._matchFrom) return true; 4237 4238 var _this$boundaries3 = this.boundaries(str), 4239 _this$boundaries4 = _slicedToArray(_this$boundaries3, 2), 4240 minstr = _this$boundaries4[0], 4241 maxstr = _this$boundaries4[1]; 4242 4243 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { 4244 args[_key] = arguments[_key]; 4245 } 4246 4247 return this.from <= Number(maxstr) && Number(minstr) <= this.to && (_get2 = _get(_getPrototypeOf(MaskedRange.prototype), "doValidate", this)).call.apply(_get2, [this].concat(args)); 4248 } 4249 }]); 4250 4251 return MaskedRange; 4252 }(MaskedPattern); 4253 IMask.MaskedRange = MaskedRange; 4254 4255 /** Date mask */ 4256 4257 var MaskedDate = /*#__PURE__*/function (_MaskedPattern) { 4258 _inherits(MaskedDate, _MaskedPattern); 4259 4260 var _super = _createSuper(MaskedDate); 4261 4262 /** Pattern mask for date according to {@link MaskedDate#format} */ 4263 4264 /** Start date */ 4265 4266 /** End date */ 4267 4268 /** */ 4269 4270 /** 4271 @param {Object} opts 4272 */ 4273 function MaskedDate(opts) { 4274 _classCallCheck(this, MaskedDate); 4275 4276 return _super.call(this, Object.assign({}, MaskedDate.DEFAULTS, opts)); 4277 } 4278 /** 4279 @override 4280 */ 4281 4282 4283 _createClass(MaskedDate, [{ 4284 key: "_update", 4285 value: function _update(opts) { 4286 if (opts.mask === Date) delete opts.mask; 4287 if (opts.pattern) opts.mask = opts.pattern; 4288 var blocks = opts.blocks; 4289 opts.blocks = Object.assign({}, MaskedDate.GET_DEFAULT_BLOCKS()); // adjust year block 4290 4291 if (opts.min) opts.blocks.Y.from = opts.min.getFullYear(); 4292 if (opts.max) opts.blocks.Y.to = opts.max.getFullYear(); 4293 4294 if (opts.min && opts.max && opts.blocks.Y.from === opts.blocks.Y.to) { 4295 opts.blocks.m.from = opts.min.getMonth() + 1; 4296 opts.blocks.m.to = opts.max.getMonth() + 1; 4297 4298 if (opts.blocks.m.from === opts.blocks.m.to) { 4299 opts.blocks.d.from = opts.min.getDate(); 4300 opts.blocks.d.to = opts.max.getDate(); 4301 } 4302 } 4303 4304 Object.assign(opts.blocks, this.blocks, blocks); // add autofix 4305
4306 Object.keys(opts.blocks).forEach(function (bk) { 4307 var b = opts.blocks[bk]; 4308 if (!('autofix' in b) && 'autofix' in opts) b.autofix = opts.autofix; 4309 }); 4310 4311 _get(_getPrototypeOf(MaskedDate.prototype), "_update", this).call(this, opts); 4312 } 4313 /** 4314 @override 4315 */ 4316 4317 }, { 4318 key: "doValidate", 4319 value: function doValidate() { 4320 var _get2; 4321 4322 var date = this.date; 4323 4324 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { 4325 args[_key] = arguments[_key]; 4326 } 4327 4328 return (_get2 = _get(_getPrototypeOf(MaskedDate.prototype), "doValidate", this)).call.apply(_get2, [this].concat(args)) && (!this.isComplete || this.isDateExist(this.value) && date != null && (this.min == null || this.min <= date) && (this.max == null || date <= this.max)); 4329 } 4330 /** Checks if date is exists */ 4331 4332 }, { 4333 key: "isDateExist", 4334 value: function isDateExist(str) { 4335 return this.format(this.parse(str, this), this).indexOf(str) >= 0; 4336 } 4337 /** Parsed Date */ 4338 4339 }, { 4340 key: "date", 4341 get: function get() { 4342 return this.typedValue; 4343 }, 4344 set: function set(date) { 4345 this.typedValue = date; 4346 } 4347 /** 4348 @override 4349 */ 4350 4351 }, { 4352 key: "typedValue", 4353 get: function get() { 4354 return this.isComplete ? _get(_getPrototypeOf(MaskedDate.prototype), "typedValue", this) : null; 4355 }, 4356 set: function set(value) { 4357 _set(_getPrototypeOf(MaskedDate.prototype), "typedValue", value, this, true); 4358 } 4359 /** 4360 @override 4361 */ 4362 4363 }, { 4364 key: "maskEquals", 4365 value: function maskEquals(mask) { 4366 return mask === Date || _get(_getPrototypeOf(MaskedDate.prototype), "maskEquals", this).call(this, mask); 4367 } 4368 }]); 4369 4370 return MaskedDate; 4371 }(MaskedPattern); 4372 MaskedDate.DEFAULTS = { 4373 pattern: 'd{.}`m{.}`Y', 4374 format: function format(date) { 4375 if (!date) return ''; 4376 var day = String(date.getDate()).padStart(2, '0'); 4377 var month = String(date.getMonth() + 1).padStart(2, '0'); 4378 var year = date.getFullYear(); 4379 return [day, month, year].join('.'); 4380 }, 4381 parse: function parse(str) { 4382 var _str$split = str.split('.'), 4383 _str$split2 = _slicedToArray(_str$split, 3), 4384 day = _str$split2[0], 4385 month = _str$split2[1], 4386 year = _str$split2[2]; 4387 4388 return new Date(year, month - 1, day); 4389 } 4390 }; 4391 4392 MaskedDate.GET_DEFAULT_BLOCKS = function () { 4393 return { 4394 d: { 4395 mask: MaskedRange, 4396 from: 1, 4397 to: 31, 4398 maxLength: 2 4399 }, 4400 m: { 4401 mask: MaskedRange, 4402 from: 1, 4403 to: 12, 4404 maxLength: 2 4405 }, 4406 Y: { 4407 mask: MaskedRange, 4408 from: 1900, 4409 to: 9999 4410 } 4411 }; 4412 }; 4413 4414 IMask.MaskedDate = MaskedDate; 4415 4416 /** 4417 Generic element API to use with mask 4418 @interface 4419 */ 4420 var MaskElement = /*#__PURE__*/function () { 4421 function MaskElement() { 4422 _classCallCheck(this, MaskElement); 4423 } 4424 4425 _createClass(MaskElement, [{ 4426 key: "selectionStart", 4427 get: 4428 /** */ 4429 4430 /** */ 4431 4432 /** */ 4433 4434 /** Safely returns selection start */ 4435 function get() { 4436 var start; 4437 4438 try { 4439 start = this._unsafeSelectionStart; 4440 } catch (e) {} 4441 4442 return start != null ? start : this.value.length; 4443 } 4444 /** Safely returns selection end */ 4445 4446 }, { 4447 key: "selectionEnd", 4448 get: function get() { 4449 var end; 4450 4451 try { 4452 end = this._unsafeSelectionEnd; 4453 } catch (e) {} 4454 4455 return end != null ? end : this.value.length; 4456 } 4457 /** Safely sets element selection */ 4458 4459 }, { 4460 key: "select", 4461 value: function select(start, end) { 4462 if (start == null || end == null || start === this.selectionStart && end === this.selectionEnd) return; 4463 4464 try { 4465 this._unsafeSelect(start, end); 4466 } catch (e) {} 4467 } 4468 /** Should be overriden in subclasses */ 4469 4470 }, { 4471 key: "_unsafeSelect", 4472 value: function _unsafeSelect(start, end) {} 4473 /** Should be overriden in subclasses */ 4474 4475 }, { 4476 key: "isActive", 4477 get: function get() { 4478 return false;
4479 } 4480 /** Should be overriden in subclasses */ 4481 4482 }, { 4483 key: "bindEvents", 4484 value: function bindEvents(handlers) {} 4485 /** Should be overriden in subclasses */ 4486 4487 }, { 4488 key: "unbindEvents", 4489 value: function unbindEvents() {} 4490 }]); 4491 4492 return MaskElement; 4493 }(); 4494 IMask.MaskElement = MaskElement; 4495 4496 /** Bridge between HTMLElement and {@link Masked} */ 4497 4498 var HTMLMaskElement = /*#__PURE__*/function (_MaskElement) { 4499 _inherits(HTMLMaskElement, _MaskElement); 4500 4501 var _super = _createSuper(HTMLMaskElement); 4502 4503 /** Mapping between HTMLElement events and mask internal events */ 4504 4505 /** HTMLElement to use mask on */ 4506 4507 /** 4508 @param {HTMLInputElement|HTMLTextAreaElement} input 4509 */ 4510 function HTMLMaskElement(input) { 4511 var _this; 4512 4513 _classCallCheck(this, HTMLMaskElement); 4514 4515 _this = _super.call(this); 4516 _this.input = input; 4517 _this._handlers = {}; 4518 return _this; 4519 } 4520 /** */ 4521 // $FlowFixMe https://github.com/facebook/flow/issues/2839 4522 4523 4524 _createClass(HTMLMaskElement, [{ 4525 key: "rootElement", 4526 get: function get() { 4527 var _this$input$getRootNo, _this$input$getRootNo2, _this$input; 4528 4529 return (_this$input$getRootNo = (_this$input$getRootNo2 = (_this$input = this.input).getRootNode) === null || _this$input$getRootNo2 === void 0 ? void 0 : _this$input$getRootNo2.call(_this$input)) !== null && _this$input$getRootNo !== void 0 ? _this$input$getRootNo : document; 4530 } 4531 /** 4532 Is element in focus 4533 @readonly 4534 */ 4535 4536 }, { 4537 key: "isActive", 4538 get: function get() { 4539 //$FlowFixMe 4540 return this.input === this.rootElement.activeElement; 4541 } 4542 /** 4543 Returns HTMLElement selection start 4544 @override 4545 */ 4546 4547 }, { 4548 key: "_unsafeSelectionStart", 4549 get: function get() { 4550 return this.input.selectionStart; 4551 } 4552 /** 4553 Returns HTMLElement selection end 4554 @override 4555 */ 4556 4557 }, { 4558 key: "_unsafeSelectionEnd", 4559 get: function get() { 4560 return this.input.selectionEnd; 4561 } 4562 /** 4563 Sets HTMLElement selection 4564 @override 4565 */ 4566 4567 }, { 4568 key: "_unsafeSelect", 4569 value: function _unsafeSelect(start, end) { 4570 this.input.setSelectionRange(start, end); 4571 } 4572 /** 4573 HTMLElement value 4574 @override 4575 */ 4576 4577 }, { 4578 key: "value", 4579 get: function get() { 4580 return this.input.value; 4581 }, 4582 set: function set(value) { 4583 this.input.value = value; 4584 } 4585 /** 4586 Binds HTMLElement events to mask internal events 4587 @override 4588 */ 4589 4590 }, { 4591 key: "bindEvents", 4592 value: function bindEvents(handlers) { 4593 var _this2 = this; 4594 4595 Object.keys(handlers).forEach(function (event) { 4596 return _this2._toggleEventHandler(HTMLMaskElement.EVENTS_MAP[event], handlers[event]); 4597 }); 4598 } 4599 /** 4600 Unbinds HTMLElement events to mask internal events 4601 @override 4602 */ 4603 4604 }, { 4605 key: "unbindEvents", 4606 value: function unbindEvents() { 4607 var _this3 = this; 4608 4609 Object.keys(this._handlers).forEach(function (event) { 4610 return _this3._toggleEventHandler(event); 4611 }); 4612 } 4613 /** */ 4614 4615 }, { 4616 key: "_toggleEventHandler", 4617 value: function _toggleEventHandler(event, handler) { 4618 if (this._handlers[event]) { 4619 this.input.removeEventListener(event, this._handlers[event]); 4620 delete this._handlers[event]; 4621 } 4622 4623 if (handler) { 4624 this.input.addEventListener(event, handler); 4625 this._handlers[event] = handler; 4626 } 4627 } 4628 }]); 4629 4630 return HTMLMaskElement; 4631 }(MaskElement); 4632 HTMLMaskElement.EVENTS_MAP = { 4633 selectionChange: 'keydown', 4634 input: 'input', 4635 drop: 'drop', 4636 click: 'click', 4637 focus: 'focus', 4638 commit: 'blur' 4639 }; 4640 IMask.HTMLMaskElement = HTMLMaskElement; 4641 4642 var HTMLContenteditableMaskElement = /*#__PURE__*/function (_HTMLMaskElement) { 4643 _inherits(HTMLContenteditableMaskElement, _HTMLMaskElement); 4644 4645 var _super = _createSuper(HTMLContenteditableMaskElement); 4646 4647 function HTMLContenteditableMaskElement() { 4648 _classCallCheck(this, HTMLContenteditableMaskElement); 4649 4650 return _super.apply(this, arguments); 4651 } 4652 4653 _createClass(HTMLContenteditableMaskElement, [{ 4654 key: "_unsafeSelectionStart", 4655 get: 4656 /** 4657 Returns HTMLElement selection start 4658 @override 4659 */ 4660 function get() { 4661 var root = this.rootElement; 4662 var selection = root.getSelection && root.getSelection(); 4663 var anchorOffset = selection && selection.anchorOffset; 4664 var focusOffset = selection && selection.focusOffset; 4665 4666 if (focusOffset == null || anchorOffset == null || anchorOffset < focusOffset) { 4667 return anchorOffset; 4668 } 4669 4670 return focusOffset; 4671 } 4672 /** 4673 Returns HTMLElement selection end 4674 @override 4675 */ 4676 4677 }, { 4678 key: "_unsafeSelectionEnd", 4679 get: function get() { 4680 var root = this.rootElement; 4681 var selection = root.getSelection && root.getSelection(); 4682 var anchorOffset = selection && selection.anchorOffset; 4683 var focusOffset = selection && selection.focusOffset; 4684 4685 if (focusOffset == null || anchorOffset == null || anchorOffset > focusOffset) { 4686 return anchorOffset; 4687 } 4688 4689 return focusOffset; 4690 } 4691 /** 4692 Sets HTMLElement selection 4693 @override 4694 */ 4695 4696 }, { 4697 key: "_unsafeSelect", 4698 value: function _unsafeSelect(start, end) { 4699 if (!this.rootElement.createRange) return; 4700 var range = this.rootElement.createRange(); 4701 range.setStart(this.input.firstChild || this.input, start);
4702 range.setEnd(this.input.lastChild || this.input, end); 4703 var root = this.rootElement; 4704 var selection = root.getSelection && root.getSelection(); 4705 4706 if (selection) { 4707 selection.removeAllRanges(); 4708 selection.addRange(range); 4709 } 4710 } 4711 /** 4712 HTMLElement value 4713 @override 4714 */ 4715 4716 }, { 4717 key: "value", 4718 get: function get() { 4719 // $FlowFixMe 4720 return this.input.textContent; 4721 }, 4722 set: function set(value) { 4723 this.input.textContent = value; 4724 } 4725 }]); 4726 4727 return HTMLContenteditableMaskElement; 4728 }(HTMLMaskElement); 4729 IMask.HTMLContenteditableMaskElement = HTMLContenteditableMaskElement; 4730 4731 var _excluded$1 = ["mask"]; 4732 /** Listens to element events and controls changes between element and {@link Masked} */ 4733 4734 var InputMask = /*#__PURE__*/function () { 4735 /** 4736 View element 4737 @readonly 4738 */ 4739 4740 /** 4741 Internal {@link Masked} model 4742 @readonly 4743 */ 4744 4745 /** 4746 @param {MaskElement|HTMLInputElement|HTMLTextAreaElement} el 4747 @param {Object} opts 4748 */ 4749 function InputMask(el, opts) { 4750 _classCallCheck(this, InputMask); 4751 4752 this.el = el instanceof MaskElement ? el : el.isContentEditable && el.tagName !== 'INPUT' && el.tagName !== 'TEXTAREA' ? new HTMLContenteditableMaskElement(el) : new HTMLMaskElement(el); 4753 this.masked = createMask(opts); 4754 this._listeners = {}; 4755 this._value = ''; 4756 this._unmaskedValue = ''; 4757 this._saveSelection = this._saveSelection.bind(this); 4758 this._onInput = this._onInput.bind(this); 4759 this._onChange = this._onChange.bind(this); 4760 this._onDrop = this._onDrop.bind(this); 4761 this._onFocus = this._onFocus.bind(this); 4762 this._onClick = this._onClick.bind(this); 4763 this.alignCursor = this.alignCursor.bind(this); 4764 this.alignCursorFriendly = this.alignCursorFriendly.bind(this); 4765 4766 this._bindEvents(); // refresh 4767 4768 4769 this.updateValue(); 4770 4771 this._onChange(); 4772 } 4773 /** Read or update mask */ 4774 4775 4776 _createClass(InputMask, [{ 4777 key: "mask", 4778 get: function get() { 4779 return this.masked.mask; 4780 }, 4781 set: function set(mask) { 4782 if (this.maskEquals(mask)) return; // $FlowFixMe No ideas ... after update 4783 4784 if (!(mask instanceof IMask.Masked) && this.masked.constructor === maskedClass(mask)) { 4785 this.masked.updateOptions({ 4786 mask: mask 4787 }); 4788 return; 4789 } 4790 4791 var masked = createMask({ 4792 mask: mask 4793 }); 4794 masked.unmaskedValue = this.masked.unmaskedValue; 4795 this.masked = masked; 4796 } 4797 /** Raw value */ 4798 4799 }, { 4800 key: "maskEquals", 4801 value: function maskEquals(mask) { 4802 var _this$masked; 4803 4804 return mask == null || ((_this$masked = this.masked) === null || _this$masked === void 0 ? void 0 : _this$masked.maskEquals(mask)); 4805 } 4806 }, { 4807 key: "value", 4808 get: function get() { 4809 return this._value; 4810 }, 4811 set: function set(str) { 4812 this.masked.value = str; 4813 this.updateControl(); 4814 this.alignCursor(); 4815 } 4816 /** Unmasked value */ 4817 4818 }, { 4819 key: "unmaskedValue", 4820 get: function get() { 4821 return this._unmaskedValue; 4822 }, 4823 set: function set(str) { 4824 this.masked.unmaskedValue = str; 4825 this.updateControl(); 4826 this.alignCursor(); 4827 } 4828 /** Typed unmasked value */ 4829 4830 }, { 4831 key: "typedValue", 4832 get: function get() { 4833 return this.masked.typedValue; 4834 }, 4835 set: function set(val) { 4836 this.masked.typedValue = val; 4837 this.updateControl(); 4838 this.alignCursor(); 4839 } 4840 /** 4841 Starts listening to element events 4842 @protected 4843 */ 4844 4845 }, { 4846 key: "_bindEvents", 4847 value: function _bindEvents() { 4848 this.el.bindEvents({ 4849 selectionChange: this._saveSelection, 4850 input: this._onInput, 4851 drop: this._onDrop, 4852 click: this._onClick, 4853 focus: this._onFocus, 4854 commit: this._onChange 4855 }); 4856 } 4857 /** 4858 Stops listening to element events 4859 @protected 4860 */ 4861 4862 }, { 4863 key: "_unbindEvents", 4864 value: function _unbindEvents() { 4865 if (this.el) this.el.unbindEvents(); 4866 } 4867 /** 4868 Fires custom event 4869 @protected 4870 */ 4871 4872 }, { 4873 key: "_fireEvent", 4874 value: function _fireEvent(ev) { 4875 for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { 4876 args[_key - 1] = arguments[_key]; 4877 } 4878 4879 var listeners = this._listeners[ev]; 4880 if (!listeners) return;
4881 listeners.forEach(function (l) { 4882 return l.apply(void 0, args); 4883 }); 4884 } 4885 /** 4886 Current selection start 4887 @readonly 4888 */ 4889 4890 }, { 4891 key: "selectionStart", 4892 get: function get() { 4893 return this._cursorChanging ? this._changingCursorPos : this.el.selectionStart; 4894 } 4895 /** Current cursor position */ 4896 4897 }, { 4898 key: "cursorPos", 4899 get: function get() { 4900 return this._cursorChanging ? this._changingCursorPos : this.el.selectionEnd; 4901 }, 4902 set: function set(pos) { 4903 if (!this.el || !this.el.isActive) return; 4904 this.el.select(pos, pos); 4905 4906 this._saveSelection(); 4907 } 4908 /** 4909 Stores current selection 4910 @protected 4911 */ 4912 4913 }, { 4914 key: "_saveSelection", 4915 value: function 4916 /* ev */ 4917 _saveSelection() { 4918 if (this.value !== this.el.value) { 4919 console.warn('Element value was changed outside of mask. Syncronize mask using `mask.updateValue()` to work properly.'); // eslint-disable-line no-console 4920 } 4921 4922 this._selection = { 4923 start: this.selectionStart, 4924 end: this.cursorPos 4925 }; 4926 } 4927 /** Syncronizes model value from view */ 4928 4929 }, { 4930 key: "updateValue", 4931 value: function updateValue() { 4932 this.masked.value = this.el.value; 4933 this._value = this.masked.value; 4934 } 4935 /** Syncronizes view from model value, fires change events */ 4936 4937 }, { 4938 key: "updateControl", 4939 value: function updateControl() { 4940 var newUnmaskedValue = this.masked.unmaskedValue; 4941 var newValue = this.masked.value; 4942 var isChanged = this.unmaskedValue !== newUnmaskedValue || this.value !== newValue; 4943 this._unmaskedValue = newUnmaskedValue; 4944 this._value = newValue; 4945 if (this.el.value !== newValue) this.el.value = newValue; 4946 if (isChanged) this._fireChangeEvents(); 4947 } 4948 /** Updates options with deep equal check, recreates @{link Masked} model if mask type changes */ 4949 4950 }, { 4951 key: "updateOptions", 4952 value: function updateOptions(opts) { 4953 var mask = opts.mask, 4954 restOpts = _objectWithoutProperties(opts, _excluded$1); 4955 4956 var updateMask = !this.maskEquals(mask); 4957 var updateOpts = !objectIncludes(this.masked, restOpts); 4958 if (updateMask) this.mask = mask; 4959 if (updateOpts) this.masked.updateOptions(restOpts); 4960 if (updateMask || updateOpts) this.updateControl(); 4961 } 4962 /** Updates cursor */ 4963 4964 }, { 4965 key: "updateCursor", 4966 value: function updateCursor(cursorPos) { 4967 if (cursorPos == null) return;
4968 this.cursorPos = cursorPos; // also queue change cursor for mobile browsers 4969 4970 this._delayUpdateCursor(cursorPos); 4971 } 4972 /** 4973 Delays cursor update to support mobile browsers 4974 @private 4975 */ 4976 4977 }, { 4978 key: "_delayUpdateCursor", 4979 value: function _delayUpdateCursor(cursorPos) { 4980 var _this = this; 4981 4982 this._abortUpdateCursor(); 4983 4984 this._changingCursorPos = cursorPos; 4985 this._cursorChanging = setTimeout(function () { 4986 if (!_this.el) return; // if was destroyed 4987 4988 _this.cursorPos = _this._changingCursorPos; 4989 4990 _this._abortUpdateCursor(); 4991 }, 10); 4992 } 4993 /** 4994 Fires custom events 4995 @protected 4996 */ 4997 4998 }, { 4999 key: "_fireChangeEvents", 5000 value: function _fireChangeEvents() { 5001 this._fireEvent('accept', this._inputEvent); 5002 5003 if (this.masked.isComplete) this._fireEvent('complete', this._inputEvent); 5004 } 5005 /** 5006 Aborts delayed cursor update 5007 @private 5008 */ 5009 5010 }, { 5011 key: "_abortUpdateCursor", 5012 value: function _abortUpdateCursor() { 5013 if (this._cursorChanging) { 5014 clearTimeout(this._cursorChanging); 5015 delete this._cursorChanging; 5016 } 5017 } 5018 /** Aligns cursor to nearest available position */ 5019 5020 }, { 5021 key: "alignCursor", 5022 value: function alignCursor() {
5023 this.cursorPos = this.masked.nearestInputPos(this.masked.nearestInputPos(this.cursorPos, DIRECTION.LEFT)); 5024 } 5025 /** Aligns cursor only if selection is empty */ 5026 5027 }, { 5028 key: "alignCursorFriendly", 5029 value: function alignCursorFriendly() { 5030 if (this.selectionStart !== this.cursorPos) return; // skip if range is selected 5031 5032 this.alignCursor(); 5033 } 5034 /** Adds listener on custom event */ 5035 5036 }, { 5037 key: "on", 5038 value: function on(ev, handler) { 5039 if (!this._listeners[ev]) this._listeners[ev] = []; 5040 5041 this._listeners[ev].push(handler); 5042 5043 return this; 5044 } 5045 /** Removes custom event listener */ 5046 5047 }, { 5048 key: "off", 5049 value: function off(ev, handler) { 5050 if (!this._listeners[ev]) return this; 5051 5052 if (!handler) { 5053 delete this._listeners[ev]; 5054 return this; 5055 } 5056 5057 var hIndex = this._listeners[ev].indexOf(handler); 5058 5059 if (hIndex >= 0) this._listeners[ev].splice(hIndex, 1); 5060 return this; 5061 } 5062 /** Handles view input event */ 5063 5064 }, { 5065 key: "_onInput", 5066 value: function _onInput(e) { 5067 this._inputEvent = e; 5068 5069 this._abortUpdateCursor(); // fix strange IE behavior 5070 5071 5072 if (!this._selection) return this.updateValue(); 5073 var details = new ActionDetails( // new state 5074 this.el.value, this.cursorPos, // old state 5075 this.value, this._selection); 5076 var oldRawValue = this.masked.rawInputValue; 5077 var offset = this.masked.splice(details.startChangePos, details.removed.length, details.inserted, details.removeDirection).offset; // force align in remove direction only if no input chars were removed 5078 // otherwise we still need to align with NONE (to get out from fixed symbols for instance) 5079 5080 var removeDirection = oldRawValue === this.masked.rawInputValue ? details.removeDirection : DIRECTION.NONE; 5081 var cursorPos = this.masked.nearestInputPos(details.startChangePos + offset, removeDirection); 5082 if (removeDirection !== DIRECTION.NONE) cursorPos = this.masked.nearestInputPos(cursorPos, DIRECTION.NONE); 5083 this.updateControl(); 5084 this.updateCursor(cursorPos); 5085 delete this._inputEvent; 5086 } 5087 /** Handles view change event and commits model value */ 5088 5089 }, { 5090 key: "_onChange", 5091 value: function _onChange() { 5092 if (this.value !== this.el.value) { 5093 this.updateValue(); 5094 } 5095 5096 this.masked.doCommit(); 5097 this.updateControl(); 5098 5099 this._saveSelection(); 5100 } 5101 /** Handles view drop event, prevents by default */ 5102 5103 }, { 5104 key: "_onDrop", 5105 value: function _onDrop(ev) { 5106 ev.preventDefault(); 5107 ev.stopPropagation(); 5108 } 5109 /** Restore last selection on focus */ 5110 5111 }, { 5112 key: "_onFocus", 5113 value: function _onFocus(ev) { 5114 this.alignCursorFriendly(); 5115 } 5116 /** Restore last selection on focus */ 5117 5118 }, { 5119 key: "_onClick", 5120 value: function _onClick(ev) { 5121 this.alignCursorFriendly(); 5122 } 5123 /** Unbind view events and removes element reference */ 5124 5125 }, { 5126 key: "destroy", 5127 value: function destroy() { 5128 this._unbindEvents(); // $FlowFixMe why not do so? 5129 5130 5131 this._listeners.length = 0; // $FlowFixMe 5132 5133 delete this.el; 5134 } 5135 }]); 5136 5137 return InputMask; 5138 }(); 5139 IMask.InputMask = InputMask; 5140 5141 /** Pattern which validates enum values */ 5142 5143 var MaskedEnum = /*#__PURE__*/function (_MaskedPattern) { 5144 _inherits(MaskedEnum, _MaskedPattern); 5145 5146 var _super = _createSuper(MaskedEnum); 5147 5148 function MaskedEnum() { 5149 _classCallCheck(this, MaskedEnum); 5150 5151 return _super.apply(this, arguments); 5152 } 5153 5154 _createClass(MaskedEnum, [{ 5155 key: "_update", 5156 value: 5157 /** 5158 @override 5159 @param {Object} opts 5160 */ 5161 function _update(opts) { 5162 // TODO type 5163 if (opts.enum) opts.mask = '*'.repeat(opts.enum[0].length); 5164 5165 _get(_getPrototypeOf(MaskedEnum.prototype), "_update", this).call(this, opts); 5166 } 5167 /** 5168 @override 5169 */ 5170 5171 }, { 5172 key: "doValidate", 5173 value: function doValidate() { 5174 var _this = this, 5175 _get2; 5176 5177 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { 5178 args[_key] = arguments[_key]; 5179 } 5180 5181 return this.enum.some(function (e) { 5182 return e.indexOf(_this.unmaskedValue) >= 0; 5183 }) && (_get2 = _get(_getPrototypeOf(MaskedEnum.prototype), "doValidate", this)).call.apply(_get2, [this].concat(args)); 5184 } 5185 }]); 5186 5187 return MaskedEnum; 5188 }(MaskedPattern); 5189 IMask.MaskedEnum = MaskedEnum; 5190 5191 /** 5192 Number mask 5193 @param {Object} opts 5194 @param {string} opts.radix - Single char 5195 @param {string} opts.thousandsSeparator - Single char 5196 @param {Array<string>} opts.mapToRadix - Array of single chars 5197 @param {number} opts.min 5198 @param {number} opts.max 5199 @param {number} opts.scale - Digits after point 5200 @param {boolean} opts.signed - Allow negative 5201 @param {boolean} opts.normalizeZeros - Flag to remove leading and trailing zeros in the end of editing 5202 @param {boolean} opts.padFractionalZeros - Flag to pad trailing zeros after point in the end of editing 5203 */ 5204 var MaskedNumber = /*#__PURE__*/function (_Masked) { 5205 _inherits(MaskedNumber, _Masked); 5206 5207 var _super = _createSuper(MaskedNumber); 5208 5209 /** Single char */ 5210 5211 /** Single char */ 5212 5213 /** Array of single chars */ 5214 5215 /** */ 5216 5217 /** */ 5218 5219 /** Digits after point */ 5220 5221 /** */ 5222 5223 /** Flag to remove leading and trailing zeros in the end of editing */ 5224 5225 /** Flag to pad trailing zeros after point in the end of editing */ 5226 function MaskedNumber(opts) { 5227 _classCallCheck(this, MaskedNumber); 5228 5229 return _super.call(this, Object.assign({}, MaskedNumber.DEFAULTS, opts)); 5230 } 5231 /** 5232 @override 5233 */ 5234 5235 5236 _createClass(MaskedNumber, [{ 5237 key: "_update", 5238 value: function _update(opts) { 5239 _get(_getPrototypeOf(MaskedNumber.prototype), "_update", this).call(this, opts); 5240 5241 this._updateRegExps(); 5242 } 5243 /** */ 5244 5245 }, { 5246 key: "_updateRegExps", 5247 value: function _updateRegExps() { 5248 // use different regexp to process user input (more strict, input suffix
5248) and tail shifting 5249 var start = '^' + (this.allowNegative ? '[+|\\-]?' : ''); 5250 var midInput = '(0|([1-9]+\\d*))?'; 5251 var mid = '\\d*'; 5252 var end = (this.scale ? '(' + escapeRegExp(this.radix) + '\\d{0,' + this.scale + '})?' : '') + '$'; 5253 this._numberRegExpInput = new RegExp(start + midInput + end); 5254 this._numberRegExp = new RegExp(start + mid + end); 5255 this._mapToRadixRegExp = new RegExp('[' + this.mapToRadix.map(escapeRegExp).join('') + ']', 'g'); 5256 this._thousandsSeparatorRegExp = new RegExp(escapeRegExp(this.thousandsSeparator), 'g'); 5257 } 5258 /** */ 5259 5260 }, { 5261 key: "_removeThousandsSeparators", 5262 value: function _removeThousandsSeparators(value) { 5263 return value.replace(this._thousandsSeparatorRegExp, ''); 5264 } 5265 /** */ 5266 5267 }, { 5268 key: "_insertThousandsSeparators", 5269 value: function _insertThousandsSeparators(value) { 5270 // https://stackoverflow.com/questions/2901102/how-to-print-a-number-with-commas-as-thousands-separators-in-javascript 5271 var parts = value.split(this.radix); 5272 parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, this.thousandsSeparator); 5273 return parts.join(this.radix); 5274 } 5275 /** 5276 @override 5277 */ 5278 5279 }, { 5280 key: "doPrepare", 5281 value: function doPrepare(ch) { 5282 var _get2; 5283 5284 ch = ch.replace(this._mapToRadixRegExp, this.radix); 5285 5286 var noSepCh = this._removeThousandsSeparators(ch); 5287 5288 for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { 5289 args[_key - 1] = arguments[_key]; 5290 } 5291 5292 var _normalizePrepare = normalizePrepare((_get2 = _get(_getPrototypeOf(MaskedNumber.prototype), "doPrepare", this)).call.apply(_get2, [this, noSepCh].concat(args))), 5293 _normalizePrepare2 = _slicedToArray(_normalizePrepare, 2), 5294 prepCh = _normalizePrepare2[0], 5295 details = _normalizePrepare2[1]; 5296 5297 if (ch && !noSepCh) details.skip = true; 5298 return [prepCh, details]; 5299 } 5300 /** */ 5301 5302 }, { 5303 key: "_separatorsCount", 5304 value: function _separatorsCount(to) { 5305 var extendOnSeparators = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; 5306 var count = 0; 5307 5308 for (var pos = 0; pos < to; ++pos) { 5309 if (this._value.indexOf(this.thousandsSeparator, pos) === pos) { 5310 ++count; 5311 if (extendOnSeparators) to += this.thousandsSeparator.length; 5312 } 5313 } 5314 5315 return count; 5316 } 5317 /** */ 5318 5319 }, { 5320 key: "_separatorsCountFromSlice", 5321 value: function _separatorsCountFromSlice() { 5322 var slice = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this._value; 5323 return this._separatorsCount(this._removeThousandsSeparators(slice).length, true); 5324 } 5325 /** 5326 @override 5327 */ 5328 5329 }, { 5330 key: "extractInput", 5331 value: function extractInput() { 5332 var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; 5333 var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; 5334 var flags = arguments.length > 2 ? arguments[2] : undefined; 5335 5336 var _this$_adjustRangeWit = this._adjustRangeWithSeparators(fromPos, toPos); 5337 5338 var _this$_adjustRangeWit2 = _slicedToArray(_this$_adjustRangeWit, 2); 5339 5340 fromPos = _this$_adjustRangeWit2[0]; 5341 toPos = _this$_adjustRangeWit2[1]; 5342 return this._removeThousandsSeparators(_get(_getPrototypeOf(MaskedNumber.prototype), "extractInput", this).call(this, fromPos, toPos, flags)); 5343 } 5344 /** 5345 @override 5346 */ 5347 5348 }, { 5349 key: "_appendCharRaw", 5350 value: function _appendCharRaw(ch) { 5351 var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 5352 if (!this.thousandsSeparator) return _get(_getPrototypeOf(MaskedNumber.prototype), "_appendCharRaw", this).call(this, ch, flags); 5353 var prevBeforeTailValue = flags.tail && flags._beforeTailState ? flags._beforeTailState._value : this._value; 5354 5355 var prevBeforeTailSeparatorsCount = this._separatorsCountFromSlice(prevBeforeTailValue); 5356 5357 this._value = this._removeThousandsSeparators(this.value); 5358 5359 var appendDetails = _get(_getPrototypeOf(MaskedNumber.prototype), "_appendCharRaw", this).call(this, ch, flags); 5360 5361 this._value = this._insertThousandsSeparators(this._value); 5362 var beforeTailValue = flags.tail && flags._beforeTailState ? flags._beforeTailState._value : this._value; 5363 5364 var beforeTailSeparatorsCount = this._separatorsCountFromSlice(beforeTailValue); 5365 5366 appendDetails.tailShift += (beforeTailSeparatorsCount - prevBeforeTailSeparatorsCount) * this.thousandsSeparator.length; 5367 appendDetails.skip = !appendDetails.rawInserted && ch === this.thousandsSeparator; 5368 return appendDetails; 5369 } 5370 /** */ 5371 5372 }, { 5373 key: "_findSeparatorAround", 5374 value: function _findSeparatorAround(pos) { 5375 if (this.thousandsSeparator) { 5376 var searchFrom = pos - this.thousandsSeparator.length + 1; 5377 var separatorPos = this.value.indexOf(this.thousandsSeparator, searchFrom); 5378 if (separatorPos <= pos) return separatorPos; 5379 } 5380 5381 return -1; 5382 } 5383 }, { 5384 key: "_adjustRangeWithSeparators", 5385 value: function _adjustRangeWithSeparators(from, to) { 5386 var separatorAroundFromPos = this._findSeparatorAround(from); 5387 5388 if (separatorAroundFromPos >= 0) from = separatorAroundFromPos; 5389 5390 var separatorAroundToPos = this._findSeparatorAround(to); 5391 5392 if (separatorAroundToPos >= 0) to = separatorAroundToPos + this.thousandsSeparator.length; 5393 return [from, to]; 5394 } 5395 /** 5396 @override 5397 */ 5398 5399 }, { 5400 key: "remove", 5401 value: function remove() { 5402 var fromPos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; 5403 var toPos = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.value.length; 5404 5405 var _this$_adjustRangeWit3 = this._adjustRangeWithSeparators(fromPos, toPos); 5406 5407 var _this$_adjustRangeWit4 = _slicedToArray(_this$_adjustRangeWit3, 2); 5408 5409 fromPos = _this$_adjustRangeWit4[0]; 5410 toPos = _this$_adjustRangeWit4[1]; 5411 var valueBeforePos = this.value.slice(0, fromPos); 5412 var valueAfterPos = this.value.slice(toPos); 5413 5414 var prevBeforeTailSeparatorsCount = this._separatorsCount(valueBeforePos.length); 5415 5416 this._value = this._insertThousandsSeparators(this._removeThousandsSeparators(valueBeforePos + valueAfterPos)); 5417 5418 var beforeTailSeparatorsCount = this._separatorsCountFromSlice(valueBeforePos); 5419 5420 return new ChangeDetails({ 5421 tailShift: (beforeTailSeparatorsCount - prevBeforeTailSeparatorsCount) * this.thousandsSeparator.length 5422 }); 5423 } 5424 /** 5425 @override 5426 */ 5427 5428 }, { 5429 key: "nearestInputPos", 5430 value: function nearestInputPos(cursorPos, direction) { 5431 if (!this.thousandsSeparator) return cursorPos; 5432 5433 switch (direction) { 5434 case DIRECTION.NONE: 5435 case DIRECTION.LEFT: 5436 case DIRECTION.FORCE_LEFT: 5437 { 5438 var separatorAtLeftPos = this._findSeparatorAround(cursorPos - 1); 5439 5440 if (separatorAtLeftPos >= 0) { 5441 var separatorAtLeftEndPos = separatorAtLeftPos + this.thousandsSeparator.length; 5442 5443 if (cursorPos < separatorAtLeftEndPos || this.value.length <= separatorAtLeftEndPos || direction === DIRECTION.FORCE_LEFT) { 5444 return separatorAtLeftPos; 5445 } 5446 } 5447 5448 break; 5449 } 5450 5451 case DIRECTION.RIGHT: 5452 case DIRECTION.FORCE_RIGHT: 5453 { 5454 var separatorAtRightPos = this._findSeparatorAround(cursorPos); 5455 5456 if (separatorAtRightPos >= 0) { 5457 return separatorAtRightPos + this.thousandsSeparator.length; 5458 } 5459 } 5460 } 5461 5462 return cursorPos; 5463 } 5464 /** 5465 @override 5466 */ 5467 5468 }, { 5469 key: "doValidate", 5470 value: function doValidate(flags) { 5471 var regexp = flags.input ? this._numberRegExpInput : this._numberRegExp; // validate as string 5472
5473 var valid = regexp.test(this._removeThousandsSeparators(this.value)); 5474 5475 if (valid) { 5476 // validate as number 5477 var number = this.number; 5478 valid = valid && !isNaN(number) && ( // check min bound for negative values 5479 this.min == null || this.min >= 0 || this.min <= this.number) && ( // check max bound for positive values 5480 this.max == null || this.max <= 0 || this.number <= this.max); 5481 } 5482 5483 return valid && _get(_getPrototypeOf(MaskedNumber.prototype), "doValidate", this).call(this, flags); 5484 } 5485 /** 5486 @override 5487 */ 5488 5489 }, { 5490 key: "doCommit", 5491 value: function doCommit() { 5492 if (this.value) { 5493 var number = this.number; 5494 var validnum = number; // check bounds 5495 5496 if (this.min != null) validnum = Math.max(validnum, this.min); 5497 if (this.max != null) validnum = Math.min(validnum, this.max); 5498 if (validnum !== number) this.unmaskedValue = String(validnum); 5499 var formatted = this.value; 5500 if (this.normalizeZeros) formatted = this._normalizeZeros(formatted); 5501 if (this.padFractionalZeros && this.scale > 0) formatted = this._padFractionalZeros(formatted); 5502 this._value = formatted; 5503 } 5504 5505 _get(_getPrototypeOf(MaskedNumber.prototype), "doCommit", this).call(this); 5506 } 5507 /** */ 5508 5509 }, { 5510 key: "_normalizeZeros", 5511 value: function _normalizeZeros(value) { 5512 var parts = this._removeThousandsSeparators(value).split(this.radix); // remove leading zeros 5513 5514 5515 parts[0] = parts[0].replace(/^(\D*)(0*)(\d*)/, function (match, sign, zeros, num) { 5516 return sign + num; 5517 }); // add leading zero 5518 5519 if (value.length && !/\d$/.test(parts[0])) parts[0] = parts[0] + '0'; 5520 5521 if (parts.length > 1) { 5522 parts[1] = parts[1].replace(/0*$/, ''); // remove trailing zeros 5523 5524 if (!parts[1].length) parts.length = 1; // remove fractional 5525 } 5526 5527 return this._insertThousandsSeparators(parts.join(this.radix)); 5528 } 5529 /** */ 5530 5531 }, { 5532 key: "_padFractionalZeros", 5533 value: function _padFractionalZeros(value) { 5534 if (!value) return value; 5535 var parts = value.split(this.radix); 5536 if (parts.length < 2) parts.push(''); 5537 parts[1] = parts[1].padEnd(this.scale, '0'); 5538 return parts.join(this.radix); 5539 } 5540 /** 5541 @override 5542 */ 5543 5544 }, { 5545 key: "unmaskedValue", 5546 get: function get() { 5547 return this._removeThousandsSeparators(this._normalizeZeros(this.value)).replace(this.radix, '.'); 5548 }, 5549 set: function set(unmaskedValue) { 5550 _set(_getPrototypeOf(MaskedNumber.prototype), "unmaskedValue", unmaskedValue.replace('.', this.radix), this, true); 5551 } 5552 /** 5553 @override 5554 */ 5555 5556 }, { 5557 key: "typedValue", 5558 get: function get() { 5559 return Number(this.unmaskedValue); 5560 }, 5561 set: function set(n) { 5562 _set(_getPrototypeOf(MaskedNumber.prototype), "unmaskedValue", String(n), this, true); 5563 } 5564 /** Parsed Number */ 5565 5566 }, { 5567 key: "number", 5568 get: function get() { 5569 return this.typedValue; 5570 }, 5571 set: function set(number) { 5572 this.typedValue = number; 5573 } 5574 /** 5575 Is negative allowed 5576 @readonly 5577 */ 5578 5579 }, { 5580 key: "allowNegative", 5581 get: function get() { 5582 return this.signed || this.min != null && this.min < 0 || this.max != null && this.max < 0; 5583 } 5584 }]); 5585 5586 return MaskedNumber; 5587 }(Masked); 5588 MaskedNumber.DEFAULTS = { 5589 radix: ',', 5590 thousandsSeparator: '', 5591 mapToRadix: ['.'], 5592 scale: 2, 5593 signed: false, 5594 normalizeZeros: true, 5595 padFractionalZeros: false 5596 }; 5597 IMask.MaskedNumber = MaskedNumber; 5598 5599 /** Masking by custom Function */ 5600 5601 var MaskedFunction = /*#__PURE__*/function (_Masked) { 5602 _inherits(MaskedFunction, _Masked); 5603 5604 var _super = _createSuper(MaskedFunction); 5605 5606 function MaskedFunction() { 5607 _classCallCheck(this, MaskedFunction); 5608 5609 return _super.apply(this, arguments); 5610 } 5611 5612 _createClass(MaskedFunction, [{ 5613 key: "_update", 5614 value: 5615 /** 5616 @override 5617 @param {Object} opts 5618 */ 5619 function _update(opts) { 5620 if (opts.mask) opts.validate = opts.mask; 5621 5622 _get(_getPrototypeOf(MaskedFunction.prototype), "_update", this).call(this, opts); 5623 } 5624 }]); 5625 5626 return MaskedFunction; 5627 }(Masked); 5628 IMask.MaskedFunction = MaskedFunction; 5629 5630 var _excluded = ["compiledMasks", "currentMaskRef", "currentMask"]; 5631 5632 /** Dynamic mask for choosing apropriate mask in run-time */ 5633 var MaskedDynamic = /*#__PURE__*/function (_Masked) { 5634 _inherits(MaskedDynamic, _Masked); 5635 5636 var _super = _createSuper(MaskedDynamic); 5637 5638 /** Currently chosen mask */ 5639 5640 /** Compliled {@link Masked} options */ 5641 5642 /** Chooses {@link Masked}
5642 depending on input value */ 5643 5644 /** 5645 @param {Object} opts 5646 */ 5647 function MaskedDynamic(opts) { 5648 var _this; 5649 5650 _classCallCheck(this, MaskedDynamic); 5651 5652 _this = _super.call(this, Object.assign({}, MaskedDynamic.DEFAULTS, opts)); 5653 _this.currentMask = null; 5654 return _this; 5655 } 5656 /** 5657 @override 5658 */ 5659 5660 5661 _createClass(MaskedDynamic, [{ 5662 key: "_update", 5663 value: function _update(opts) { 5664 _get(_getPrototypeOf(MaskedDynamic.prototype), "_update", this).call(this, opts); 5665 5666 if ('mask' in opts) { 5667 // mask could be totally dynamic with only `dispatch` option 5668 this.compiledMasks = Array.isArray(opts.mask) ? opts.mask.map(function (m) { 5669 return createMask(m); 5670 }) : []; 5671 } 5672 } 5673 /** 5674 @override 5675 */ 5676 5677 }, { 5678 key: "_appendCharRaw", 5679 value: function _appendCharRaw(ch) { 5680 var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 5681 5682 var details = this._applyDispatch(ch, flags); 5683 5684 if (this.currentMask) { 5685 details.aggregate(this.currentMask._appendChar(ch, flags)); 5686 } 5687 5688 return details; 5689 } 5690 }, { 5691 key: "_applyDispatch", 5692 value: function _applyDispatch() { 5693 var appended = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; 5694 var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 5695 var prevValueBeforeTail = flags.tail && flags._beforeTailState != null ? flags._beforeTailState._value : this.value; 5696 var inputValue = this.rawInputValue; 5697 var insertValue = flags.tail && flags._beforeTailState != null ? // $FlowFixMe - tired to fight with type system 5698 flags._beforeTailState._rawInputValue : inputValue; 5699 var tailValue = inputValue.slice(insertValue.length); 5700 var prevMask = this.currentMask; 5701 var details = new ChangeDetails(); 5702 var prevMaskState = prevMask && prevMask.state; // clone flags to prevent overwriting `_beforeTailState` 5703 5704 this.currentMask = this.doDispatch(appended, Object.assign({}, flags)); // restore state after dispatch 5705 5706 if (this.currentMask) { 5707 if (this.currentMask !== prevMask) { 5708 // if mask changed reapply input 5709 this.currentMask.reset(); 5710 5711 if (insertValue) { 5712 // $FlowFixMe - it's ok, we don't change current mask above 5713 var d = this.currentMask.append(insertValue, { 5714 raw: true 5715 }); 5716 details.tailShift = d.inserted.length - prevValueBeforeTail.length; 5717 } 5718 5719 if (tailValue) { 5720 // $FlowFixMe - it's ok, we don't change current mask above 5721 details.tailShift += this.currentMask.append(tailValue, { 5722 raw: true, 5723 tail: true 5724 }).tailShift; 5725 } 5726 } else { 5727 // Dispatch can do something bad with state, so 5728 // restore prev mask state 5729 this.currentMask.state = prevMaskState; 5730 } 5731 } 5732 5733 return details; 5734 } 5735 }, { 5736 key: "_appendPlaceholder", 5737 value: function _appendPlaceholder() { 5738 var details = this._applyDispatch.apply(this, arguments); 5739 5740 if (this.currentMask) { 5741 details.aggregate(this.currentMask._appendPlaceholder()); 5742 } 5743 5744 return details; 5745 } 5746 /** 5747 @override 5748 */ 5749 5750 }, { 5751 key: "_appendEager", 5752 value: function _appendEager() { 5753 var details = this._applyDispatch.apply(this, arguments); 5754 5755 if (this.currentMask) { 5756 details.aggregate(this.currentMask._appendEager()); 5757 } 5758 5759 return details; 5760 } 5761 /** 5762 @override 5763 */ 5764 5765 }, { 5766 key: "doDispatch", 5767 value: function doDispatch(appended) { 5768 var flags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 5769 return this.dispatch(appended, this, flags); 5770 } 5771 /** 5772 @override 5773 */ 5774 5775 }, { 5776 key: "doValidate", 5777 value: function doValidate() { 5778 var _get2, _this$currentMask; 5779 5780 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { 5781 args[_key] = arguments[_key]; 5782 } 5783 5784 return (_get2 = _get(_getPrototypeOf(MaskedDynamic.prototype), "doValidate", this)).call.apply(_get2, [this].concat(args)) && (!this.currentMask || (_this$currentMask = this.currentMask).doValidate.apply(_this$currentMask, args)); 5785 } 5786 /** 5787 @override 5788 */ 5789 5790 }, { 5791 key: "reset", 5792 value: function reset() { 5793 var _this$currentMask2; 5794 5795 (_this$currentMask2 = this.currentMask) === null || _this$currentMask2 === void 0 ? void 0 : _this$currentMask2.reset(); 5796 this.compiledMasks.forEach(function (m) { 5797 return m.reset(); 5798 }); 5799 } 5800 /** 5801 @override 5802 */ 5803 5804 }, { 5805 key: "value", 5806 get: function get() { 5807 return this.currentMask ? this.currentMask.value : ''; 5808 }, 5809 set: function set(value) { 5810 _set(_getPrototypeOf(MaskedDynamic.prototype), "value", value, this, true); 5811 } 5812 /** 5813 @override 5814 */ 5815 5816 }, { 5817 key: "unmaskedValue", 5818 get: function get() { 5819 return this.currentMask ? this.currentMask.unmaskedValue : ''; 5820 }, 5821 set: function set(unmaskedValue) { 5822 _set(_getPrototypeOf(MaskedDynamic.prototype), "unmaskedValue", unmaskedValue, this, true); 5823 } 5824 /** 5825 @override 5826 */ 5827 5828 }, { 5829 key: "typedValue", 5830 get: function get() { 5831 return this.currentMask ? this.currentMask.typedValue : ''; 5832 } // probably typedValue should not be used with dynamic 5833 , 5834 set: function set(value) { 5835 var unmaskedValue = String(value); // double check it
5836 5837 if (this.currentMask) { 5838 this.currentMask.typedValue = value; 5839 unmaskedValue = this.currentMask.unmaskedValue; 5840 } 5841 5842 this.unmaskedValue = unmaskedValue; 5843 } 5844 /** 5845 @override 5846 */ 5847 5848 }, { 5849 key: "isComplete", 5850 get: function get() { 5851 var _this$currentMask3; 5852 5853 return Boolean((_this$currentMask3 = this.currentMask) === null || _this$currentMask3 === void 0 ? void 0 : _this$currentMask3.isComplete); 5854 } 5855 /** 5856 @override 5857 */ 5858 5859 }, { 5860 key: "isFilled", 5861 get: function get() { 5862 var _this$currentMask4; 5863 5864 return Boolean((_this$currentMask4 = this.currentMask) === null || _this$currentMask4 === void 0 ? void 0 : _this$currentMask4.isFilled); 5865 } 5866 /** 5867 @override 5868 */ 5869 5870 }, { 5871 key: "remove", 5872 value: function remove() { 5873 var details = new ChangeDetails(); 5874 5875 if (this.currentMask) { 5876 var _this$currentMask5; 5877 5878 details.aggregate((_this$currentMask5 = this.currentMask).remove.apply(_this$currentMask5, arguments)) // update with dispatch 5879 .aggregate(this._applyDispatch()); 5880 } 5881 5882 return details; 5883 } 5884 /** 5885 @override 5886 */ 5887 5888 }, { 5889 key: "state", 5890 get: function get() { 5891 return Object.assign({}, _get(_getPrototypeOf(MaskedDynamic.prototype), "state", this), { 5892 _rawInputValue: this.rawInputValue, 5893 compiledMasks: this.compiledMasks.map(function (m) { 5894 return m.state; 5895 }), 5896 currentMaskRef: this.currentMask, 5897 currentMask: this.currentMask && this.currentMask.state 5898 }); 5899 }, 5900 set: function set(state) { 5901 var compiledMasks = state.compiledMasks, 5902 currentMaskRef = state.currentMaskRef, 5903 currentMask = state.currentMask, 5904 maskedState = _objectWithoutProperties(state, _excluded); 5905 5906 this.compiledMasks.forEach(function (m, mi) { 5907 return m.state = compiledMasks[mi]; 5908 }); 5909 5910 if (currentMaskRef != null) { 5911 this.currentMask = currentMaskRef; 5912 this.currentMask.state = currentMask; 5913 } 5914 5915 _set(_getPrototypeOf(MaskedDynamic.prototype), "state", maskedState, this, true); 5916 } 5917 /** 5918 @override 5919 */ 5920 5921 }, { 5922 key: "extractInput", 5923 value: function extractInput() { 5924 var _this$currentMask6; 5925 5926 return this.currentMask ? (_this$currentMask6 = this.currentMask).extractInput.apply(_this$currentMask6, arguments) : ''; 5927 } 5928 /** 5929 @override 5930 */ 5931 5932 }, { 5933 key: "extractTail", 5934 value: function extractTail() { 5935 var _this$currentMask7, _get3; 5936 5937 for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { 5938 args[_key2] = arguments[_key2]; 5939 } 5940 5941 return this.currentMask ? (_this$currentMask7 = this.currentMask).extractTail.apply(_this$currentMask7, args) : (_get3 = _get(_getPrototypeOf(MaskedDynamic.prototype), "extractTail", this)).call.apply(_get3, [this].concat(args)); 5942 } 5943 /** 5944 @override 5945 */ 5946 5947 }, { 5948 key: "doCommit", 5949 value: function doCommit() { 5950 if (this.currentMask) this.currentMask.doCommit(); 5951 5952 _get(_getPrototypeOf(MaskedDynamic.prototype), "doCommit", this).call(this); 5953 } 5954 /** 5955 @override 5956 */ 5957 5958 }, { 5959 key: "nearestInputPos", 5960 value: function nearestInputPos() { 5961 var _this$currentMask8, _get4; 5962 5963 for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { 5964 args[_key3] = arguments[_key3]; 5965 } 5966 5967 return this.currentMask ? (_this$currentMask8 = this.currentMask).nearestInputPos.apply(_this$currentMask8, args) : (_get4 = _get(_getPrototypeOf(MaskedDynamic.prototype), "nearestInputPos", this)).call.apply(_get4, [this].concat(args)); 5968 } 5969 }, { 5970 key: "overwrite", 5971 get: function get() { 5972 return this.currentMask ? this.currentMask.overwrite : _get(_getPrototypeOf(MaskedDynamic.prototype), "overwrite", this); 5973 }, 5974 set: function set(overwrite) { 5975 console.warn('"overwrite" option is not available in dynamic mask, use this option in siblings'); 5976 } 5977 }, { 5978 key: "eager", 5979 get: function get() { 5980 return this.currentMask ? this.currentMask.eager : _get(_getPrototypeOf(MaskedDynamic.prototype), "eager", this); 5981 }, 5982 set: function set(eager) { 5983 console.warn('"eager" option is not available in dynamic mask, use this option in siblings'); 5984 } 5985 /** 5986 @override 5987 */ 5988 5989 }, { 5990 key: "maskEquals", 5991 value: function maskEquals(mask) { 5992 return Array.isArray(mask) && this.compiledMasks.every(function (m, mi) { 5993 var _mask$mi; 5994 5995 return m.maskEquals((_mask$mi = mask[mi]) === null || _mask$mi === void 0 ? void 0 : _mask$mi.mask); 5996 }); 5997 } 5998 }]); 5999 6000 return MaskedDynamic; 6001 }(Masked); 6002 MaskedDynamic.DEFAULTS = { 6003 dispatch: function dispatch(appended, masked, flags) { 6004 if (!masked.compiledMasks.length) return; 6005 var inputValue = masked.rawInputValue; // simulate input 6006 6007 var inputs = masked.compiledMasks.map(function (m, index) { 6008 m.reset(); 6009 m.append(inputValue, { 6010 raw: true 6011 }); 6012 m.append(appended, flags); 6013 var weight = m.rawInputValue.length; 6014 return { 6015 weight: weight, 6016 index: index 6017 }; 6018 }); // pop masks with longer values first 6019 6020 inputs.sort(function (i1, i2) { 6021 return i2.weight - i1.weight; 6022 }); 6023 return masked.compiledMasks[inputs[0].index]; 6024 } 6025 }; 6026 IMask.MaskedDynamic = MaskedDynamic; 6027 6028 /** Mask pipe source and destination types */ 6029 6030 var PIPE_TYPE = { 6031 MASKED: 'value', 6032 UNMASKED: 'unmaskedValue', 6033 TYPED: 'typedValue' 6034 }; 6035 /** Creates new pipe function depending on mask type, source and destination options */ 6036 6037 function createPipe(mask) { 6038 var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : PIPE_TYPE.MASKED; 6039 var to = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : PIPE_TYPE.MASKED; 6040 var masked = createMask(mask); 6041 return function (value) { 6042 return masked.runIsolated(function (m) { 6043 m[from] = value; 6044 return m[to]; 6045 }); 6046 }; 6047 } 6048 /** Pipes value through mask depending on mask type, source and destination options */ 6049 6050 function pipe(value) { 6051 for (var _len = arguments.length, pipeArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { 6052 pipeArgs[_key - 1] = arguments[_key]; 6053 } 6054 6055 return createPipe.apply(void 0, pipeArgs)(value); 6056 } 6057 IMask.PIPE_TYPE = PIPE_TYPE; 6058 IMask.createPipe = createPipe; 6059 IMask.pipe = pipe; 6060 6061 try { 6062 globalThis.IMask = IMask; 6063 } catch (e) {} 6064 6065 exports.HTMLContenteditableMaskElement = HTMLContenteditableMaskElement; 6066 exports.HTMLMaskElement = HTMLMaskElement; 6067 exports.InputMask = InputMask; 6068 exports.MaskElement = MaskElement; 6069 exports.Masked = Masked; 6070 exports.MaskedDate = MaskedDate; 6071 exports.MaskedDynamic = MaskedDynamic; 6072 exports.MaskedEnum = MaskedEnum; 6073 exports.MaskedFunction = MaskedFunction; 6074 exports.MaskedNumber = MaskedNumber; 6075 exports.MaskedPattern = MaskedPattern; 6076 exports.MaskedRange = MaskedRange; 6077 exports.MaskedRegExp = MaskedRegExp; 6078 exports.PIPE_TYPE = PIPE_TYPE; 6079 exports.createMask = createMask; 6080 exports.createPipe = createPipe;
vendor: 28,270 bytes, lines 6081-6088
6081 exports["default"] = IMask; 6082 exports.pipe = pipe; 6083 6084 Object.defineProperty(exports, '__esModule', { value: true }); 6085 6086})); 6087 6088!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.AirDatepicker=t():e.AirDatepicker=t()}(this,(function(){return function(){"use strict";var e={d:function(t,i){for(var s in i)e.o(i,s)&&!e.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:i[s]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{default:function(){return j}});var i={days:"days",months:"months",years:"years",day:"day",month:"month",year:"year",eventChangeViewDate:"changeViewDate",eventChangeCurrentView:"changeCurrentView",eventChangeFocusDate:"changeFocusDate",eventChangeSelectedDate:"changeSelectedDate",eventChangeTime:"changeTime",eventChangeLastSelectedDate:"changeLastSelectedDate",actionSelectDate:"selectDate",actionUnselectDate:"unselectDate",cssClassWeekend:"-weekend-"},s={classes:"",inline:!1,locale:{days:["ÐоÑкÑеÑенÑе","ÐонеделÑник","ÐÑоÑник","СÑеда","ЧеÑвеÑг","ÐÑÑниÑа","СÑббоÑа"],daysShort:["ÐоÑ","Ðон","ÐÑо","СÑе","ЧеÑ","ÐÑÑ","СÑб"],daysMin:["ÐÑ","Ðн","ÐÑ","СÑ","ЧÑ","ÐÑ","Сб"],months:["ЯнваÑÑ","ФевÑалÑ","ÐаÑÑ","ÐпÑелÑ","Ðай","ÐÑнÑ","ÐÑлÑ","ÐвгÑÑÑ","СенÑÑбÑÑ","ÐкÑÑбÑÑ","ÐоÑбÑÑ","ÐекабÑÑ"],monthsShort:["Янв","Фев","ÐаÑ","ÐпÑ","Ðай","ÐÑн","ÐÑл","Ðвг","Сен","ÐкÑ","ÐоÑ","Ðек"],today:"СегоднÑ",clear:"ÐÑиÑÑиÑÑ",dateFormat:"dd.MM.yyyy",timeFormat:"HH:mm",firstDay:1},startDate:new Date,firstDay:"",weekends:[6,0],dateFormat:"",altField:"",altFieldDateFormat:"T",toggleSelected:!0,keyboardNav:!0,selectedDates:!1,container:"",isMobile:!1,visible:!1,position:"bottom left",offset:12,view:i.days,minView:i.days,showOtherMonths:!0,selectOtherMonths:!0,moveToOtherMonthsOnSelect:!0,showOtherYears:!0,selectOtherYears:!0,moveToOtherYearsOnSelect:!0,minDate:"",maxDate:"",disableNavWhenOutOfRange:!0,multipleDates:!1,multipleDatesSeparator:", ",range:!1,dynamicRange:!0,buttons:!1,monthsField:"monthsShort",showEvent:"focus",autoClose:!1,prevHtml:'<svg><path d="M 17,12 l -5,5 l 5,5"></path></svg>',nextHtml:'<svg><path d="M 14,12 l 5,5 l -5,5"></path></svg>',navTitles:{days:"MMMM, <i>yyyy</i>",months:"yyyy",years:"yyyy1 - yyyy2"},timepicker:!1,onlyTimepicker:!1,dateTimeSeparator:" ",timeFormat:"",minHours:0,maxHours:24,minMinutes:0,maxMinutes:59,hoursStep:1,minutesStep:1,onSelect:!1,onChangeViewDate:!1,onChangeView:!1,onRenderCell:!1,onShow:!1,onHide:!1,onClickDayName:!1};function a(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;return"string"==typeof e?t.querySelector(e):e}function n(){let{tagName:e="div",className:t="",innerHtml:i="",id:s="",attrs:a={}}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=document.createElement(e);return t&&n.classList.add(...t.split(" ")),s&&(n.id=s),i&&(n.innerHTML=i),a&&r(n,a),n}function r(e,t){for(let[i,s]of Object.entries(t))void 0!==s&&e.setAttribute(i,s);return e}function h(e){return new Date(e.getFullYear(),e.getMonth()+1,0).getDate()}function o(e){let t=e.getHours(),i=t%12==0?12:t%12;return{year:e.getFullYear(),month:e.getMonth(),fullMonth:e.getMonth()+1<10?"0"+(e.getMonth()+1):e.getMonth()+1,date:e.getDate(),fullDate:e.getDate()<10?"0"+e.getDate():e.getDate(),day:e.getDay(),hours:t,fullHours:l(t),hours12:i,fullHours12:l(i),minutes:e.getMinutes(),fullMinutes:e.getMinutes()<10?"0"+e.getMinutes():e.getMinutes()}}function l(e){return e<10?"0"+e:e}function d(e){let t=10*Math.floor(e.getFullYear()/10);return[t,t+9]}function c(){let e=[];for(var t=arguments.length,i=new Array(t),s=0;s<t;s++)i[s]=arguments[s];return i.forEach((t=>{if("object"==typeof t)for(let i in t)t[i]&&e.push(i);else t&&e.push(t)})),e.join(" ")}function u(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:i.days;if(!e||!t)return!1;let a=o(e),n=o(t),r={[i.days]:a.date===n.date&&a.month===n.month&&a.year===n.year,[i.months]:a.month===n.month&&a.year===n.year,[i.years]:a.year===n.year};return r[s]}function p(e,t,i){let s=g(e,!1).getTime(),a=g(t,!1).getTime();return i?s>=a:s>a}function m(e,t){return!p(e,t,!0)}function g(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=new Date(e.getTime());return"boolean"!=typeof t||t||D(i),i}function D(e){return e.setHours(0,0,0,0),e}function v(e,t,i){e.length?e.forEach((e=>{e.addEventListener(t,i)})):e.addEventListener(t,i)}function y(e,t){return!(!e||e===document||e instanceof DocumentFragment)&&(e.matches(t)?e:y(e.parentNode,t))}function f(e,t,i){return e>i?i:e<t?t:e}function w(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),s=1;s<t;s++)i[s-1]=arguments[s];return i.filter((e=>e)).forEach((t=>{for(let[i,s]of Object.entries(t))if(void 0!==s&&"[object Object]"===s.toString()){let t=void 0!==e[i]?e[i].toString():void 0,a=s.toString(),n=Array.isArray(s)?[]:{};e[i]=e[i]?t!==a?n:e[i]:n,w(e[i],s)}else e[i]=s})),e}function b(e){let t=e;return e instanceof Date||(t=new Date(e)),isNaN(t.getTime())&&(console.log('Unable to convert value "'.concat(e,'" to Date object')),t=!1),t}function k(e){let t="\\s|\\.|-|/|\\\\|,|\\$|\\!|\\?|:|;";return new RegExp("(^|>|"+t+")("+e+")($|<|"+t+")","g")}function C(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class _{constructor(){let{type:e,date:t,dp:i,opts:s,body:a}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};C(this,"focus",(()=>{this.$cell.classList.add("-focus-"),this.focused=!0})),C(this,"removeFocus",(()=>{this.$cell.classList.remove("-focus-"),this.focused=!1})),C(this,"select",(()=>{this.$cell.classList.add("-selected-"),this.selected=!0})),C(this,"removeSelect",(()=>{this.$cell.classList.remove("-selected-","-range-from-","-range-to-"),this.selected=!1})),C(this,"onChangeSelectedDate",(()=>{this.isDisabled||(this._handleSelectedStatus(),this.opts.range&&this._handleRangeStatus())})),C(this,"onChangeFocusDate",(e=>{if(!e)return void(this.focused&&this.removeFocus());let t=u(e,this.date,this.type);t?this.focus():!t&&this.focused&&this.removeFocus(),this.opts.range&&this._handleRangeStatus()})),C(this,"render",(()=>(this.$cell.innerHTML=this._getHtml(),this.$cell.adpCell=this,this.$cell))),this.type=e,this.singleType=this.type.slice(0,-1),this.date=t,this.dp=i,this.opts=s,this.body=a,this.customData=!1,this.init()}init(){let{range:e,onRenderCell:t}=this.opts;t&&(this.customData=t({date:this.date,cellType:this.singleType,datepicker:this.dp})),this._createElement(),this._bindDatepickerEvents(),this._handleInitialFocusStatus(),this.dp.hasSelectedDates&&(this._handleSelectedStatus(),e&&this._handleRangeStatus())}_bindDatepickerEvents(){this.dp.on(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.on(i.eventChangeFocusDate,this.onChangeFocusDate)}unbindDatepickerEvents(){this.dp.off(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.off(i.eventChangeFocusDate,this.onChangeFocusDate)}_createElement(){var e;let{year:t,month:i,date:s}=o(this.date),a=(null===(e=this.customData)||void 0===e?void 0:e.attrs)||{};this.$cell=n({className:this._getClassName(),attrs:{"data-year":t,"data-month":i,"data-date":s,...a}})}_getClassName(){var e,t;let s=new Date,{selectOtherMonths:a,selectOtherYears:n}=this.opts,{minDate:r,maxDate:h}=this.dp,{day:l}=o(this.date),d=this._isOutOfMinMaxRange(),p=null===(e=this.customData)||void 0===e?void 0:e.disabled,m=c("air-datepicker-cell","-".concat(this.singleType,"-"),{"-current-":u(s,this.date,this.type),"-min-date-":r&&u(r,this.date,this.type),"-max-date-":h&&u(h,this.date,this.type)}),g="";switch(this.type){case i.days:g=c({"-weekend-":this.dp.isWeekend(l),"-other-month-":this.isOtherMonth,"-disabled-":this.isOtherMonth&&!a||d||p});break;case i.months:g=c({"-disabled-":d||p});break;case i.years:g=c({"-other-decade-":this.isOtherDecade,"-disabled-":d||this.isOtherDecade&&!n||p})}return c(m,g,null===(t=this.customData)||void 0===t?void 0:t.classes)}_getHtml(){var e;let{year:t,month:s,date:a}=o(this.date),{showOtherMonths:n,showOtherYears:r}=this.opts;if(null!==(e=this.customData)&&void 0!==e&&e.html)return this.customData.html;switch(this.type){case i.days:return!n&&this.isOtherMonth?"":a;case i.months:return this.dp.locale[this.opts.monthsField][s];case i.years:return!r&&this.isOtherDecade?"":t}}_isOutOfMinMaxRange(){let{minDate:e,maxDate:t}=this.dp,{type:s,date:a}=this,{month:n,year:r,date:h}=o(a),l=s===i.days,d=s===i.years,c=!!e&&new Date(r,d?e.getMonth():n,l?h:e.getDate()),u=!!t&&new Date(r,d?t.getMonth():n,l?h:t.getDate());return e&&t?m(c,e)||p(u,t):e?m(c,e):t?p(u,t):void 0}destroy(){this.unbindDatepickerEvents()}_handleRangeStatus(){let{rangeDateFrom:e,rangeDateTo:t}=this.dp,i=c({"-in-range-":e&&t&&(s=this.date,a=e,n=t,p(s,a)&&m(s,n)),"-range-from-":e&&u(this.date,e,this.type),"-range-to-":t&&u(this.date,t,this.type)});var s,a,n;this.$cell.classList.remove("-range-from-","-range-to-","-in-range-"),i&&this.$cell.classList.add(...i.split(" "))}_handleSelectedStatus(){let e=this.dp._checkIfDateIsSelected(this.date,this.type);e?this.select():!e&&this.selected&&this.removeSelect()}_handleInitialFocusStatus(){u(this.dp.focusDate,this.date,this.type)&&this.focus()}get isDisabled(){return this.$cell.matches(".-disabled-")}get isOtherMonth(){return this.dp.isOtherMonth(this.date)}get isOtherDecade(){return this.dp.isOtherDecade(this.date)}}function M(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}let $={[i.days]:'<div class="air-datepicker-body--day-names"></div>'+'<div class="air-datepicker-body--cells -'.concat(i.days,'-"></div>'),[i.months]:'<div class="air-datepicker-body--cells -'.concat(i.months,'-"></div>'),[i.years]:'<div class="air-datepicker-body--cells -'.concat(i.years,'-"></div>')};const S=".air-datepicker-cell";class T{constructor(e){let{dp:t,type:s,opts:a}=e;M(this,"handleClick",(e=>{let t=e.target.closest(S).adpCell;if(t.isDisabled)return;if(!this.dp.isMinViewReached)return void this.dp.down();let i=this.dp._checkIfDateIsSelected(t.date,t.type);i?this.dp._handleAlreadySelectedDates(i,t.date):this.dp.selectDate(t.date)})),M(this,"handleDayNameClick",(e=>{let t=e.target.getAttribute("data-day-index");this.opts.onClickDayName({dayIndex:Number(t),datepicker:this.dp})})),M(this,"onChangeCurrentView",(e=>{e!==this.type?this.hide():(this.show(),this.render())})),M(this,"onMouseOverCell",(e=>{let t=y(e.target,S);this.dp.setFocusDate(!!t&&t.adpCell.date)})),M(this,"onMouseOutCell",(()=>{this.dp.setFocusDate(!1)})),M(this,"onClickBody",(e=>{let{onClickDayName:t}=this.opts,i=e.target;i.closest(S)&&this.handleClick(e),t&&i.closest(".air-datepicker-body--day-name")&&this.handleDayNameClick(e)})),M(this,"onMouseDown",(e=>{this.pressed=!0;let t=y(e.target,S),i=t&&t.adpCell;u(i.date,this.dp.rangeDateFrom)&&(this.rangeFromFocused=!0),u(i.date,this.dp.rangeDateTo)&&(this.rangeToFocused=!0)})),M(this,"onMouseMove",(e=>{if(!this.pressed||!this.dp.isMinViewReached)return;e.preventDefault();let t=y(e.target,S),i=t&&t.adpCell,{selectedDates:s,rangeDateTo:a,rangeDateFrom:n}=this.dp;if(!i||i.isDisabled)return;let{date:r}=i;if(2===s.length){if(this.rangeFromFocused&&!p(r,a)){let{hours:e,minutes:t}=o(n);r.setHours(e),r.setMinutes(t),this.dp.rangeDateFrom=r,this.dp.replaceDate(n,r)}if(this.rangeToFocused&&!m(r,n)){let{hours:e,minutes:t}=o(a);r.setHours(e),r.setMinutes(t),this.dp.rangeDateTo=r,this.dp.replaceDate(a,r)}}})),M(this,"onMouseUp",(()=>{this.pressed=!1,this.rangeFromFocused=!1,this.rangeToFocused=!1})),M(this,"onChangeViewDate",((e,t)=>{if(!this.isVisible)return;let s=d(e),a=d(t);switch(this.dp.currentView){case i.days:if(u(e,t,i.months))return;break;case i.months:if(u(e,t,i.years))return;break;case i.years:if(s[0]===a[0]&&s[1]===a[1])return}this.render()})),M(this,"render",(()=>{this.destroyCells(),this._generateCells(),this.cells.forEach((e=>{this.$cells.appendChild(e.render())}))})),this.dp=t,this.type=s,this.opts=a,this.cells=[],this.$el="",this.pressed=!1,this.isVisible=!0,this.init()}init(){this._buildBaseHtml(),this.type===i.days&&this.renderDayNames(),this.render(),this._bindEvents(),this._bindDatepickerEvents()}_bindEvents(){let{range:e,dynamicRange:t}=this.opts;v(this.$el,"mouseover",this.onMouseOverCell),v(this.$el,"mouseout",this.onMouseOutCell),v(this.$el,"click",this.onClickBody),e&&t&&(v(this.$el,"mousedown",this.onMouseDown),v(this.$el,"mousemove",this.onMouseMove),v(window.document,"mouseup",this.onMouseUp))}_bindDatepickerEvents(){this.dp.on(i.eventChangeViewDate,this.onChangeViewDate),this.dp.on(i.eventChangeCurrentView,this.onChangeCurrentView)}_buildBaseHtml(){this.$el=n({className:"air-datepicker-body -".concat(this.type,"-"),innerHtml:$[this.type]}),this.$names=a(".air-datepicker-body--day-names",this.$el),this.$cells=a(".air-datepicker-body--cells",this.$el)}_getDayNamesHtml(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.dp.locale.firstDay,t="",s=this.dp.isWeekend,{onClickDayName:a}=this.opts,n=e,r=0;for(;r<7;){let e=n%7,h=c("air-datepicker-body--day-name",{[i.cssClassWeekend]:s(e),"-clickable-":!!a}),o=this.dp.locale.daysMin[e];t+='<div class="'.concat(h,"\" data-day-index='").concat(e,"'>").concat(o,"</div>"),r++,n++}return t}_getDaysCells(){let{viewDate:e,locale:{firstDay:t}}=this.dp,i=h(e),{year:s,month:a}=o(e),n=new Date(s,a,1),r=new Date(s,a,i),l=n.getDay()-t,d=6-r.getDay()+t;l=l<0?l+7:l,d=d>6?d-7:d;let c=function(e,t){let{year:i,month:s,date:a}=o(e);return new Date(i,s,a-t)}(n,l),u=i+l+d,p=c.getDate(),{year:m,month:g}=o(c),D=0;for(;D<u;){let e=new Date(m,g,p+D);this._generateCell(e),D++}}_generateCell(e){let{type:t,dp:i,opts:s}=this,a=new _({type:t,dp:i,opts:s,date:e,body:this});return this.cells.push(a),a}_generateDayCells(){this._getDaysCells()}_generateMonthCells(){let{year:e}=this.dp.parsedViewDate,t=0;for(;t<12;)this.cells.push(this._generateCell(new Date(e,t))),t++}_generateYearCells(){let e=d(this.dp.viewDate),t=e[0]-1,i=e[1]+1,s=t;for(;s<=i;)this.cells.push(this._generateCell(new Date(s,0))),s++}renderDayNames(){this.$names.innerHTML=this._getDayNamesHtml()}_generateCells(){switch(this.type){case i.days:this._generateDayCells();break;case i.months:this._generateMonthCells();break;case i.years:this._generateYearCells()}}show(){this.isVisible=!0,this.$el.classList.remove("-hidden-")}hide(){this.isVisible=!1,this.$el.classList.add("-hidden-")}destroyCells(){this.cells.forEach((e=>e.destroy())),this.cells=[],this.$cells.innerHTML=""}destroy(){this.destroyCells(),this.dp.off(i.eventChangeViewDate,this.onChangeViewDate),this.dp.off(i.eventChangeCurrentView,this.onChangeCurrentView)}}function F(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class V{constructor(e){let{dp:t,opts:i}=e;F(this,"onClickNav",(e=>{let t=y(e.target,".air-datepicker-nav--action");if(!t)return;let i=t.dataset.action;this.dp[i]()})),F(this,"onChangeViewDate",(()=>{this.render(),this._resetNavStatus(),this.handleNavStatus()})),F(this,"onChangeCurrentView",(()=>{this.render(),this._resetNavStatus(),this.handleNavStatus()})),F(this,"onClickNavTitle",(()=>{this.dp.isFinalView||this.dp.up()})),F(this,"update",(()=>{let{prevHtml:e,nextHtml:t}=this.opts;this.$prev.innerHTML=e,this.$next.innerHTML=t,this._resetNavStatus(),this.render(),this.handleNavStatus()})),F(this,"renderDelay",(()=>{setTimeout(this.render)})),F(this,"render",(()=>{this.$title.innerHTML=this._getTitle(),function(e,t){for(let i in t)t[i]?e.classList.add(i):e.classList.remove(i)}(this.$title,{"-disabled-":this.dp.isFinalView})})),this.dp=t,this.opts=i,this.init()}init(){this._createElement(),this._buildBaseHtml(),this._defineDOM(),this.render(),this.handleNavStatus(),this._bindEvents(),this._bindDatepickerEvents()}_defineDOM(){this.$title=a(".air-datepicker-nav--title",this.$el),this.$prev=a('[data-action="prev"]',this.$el),this.$next=a('[data-action="next"]',this.$el)}_bindEvents(){this.$el.addEventListener("click",this.onClickNav),this.$title.addEventListener("click",this.onClickNavTitle)}_bindDatepickerEvents(){this.dp.on(i.eventChangeViewDate,this.onChangeViewDate),this.dp.on(i.eventChangeCurrentView,this.onChangeCurrentView),this.isNavIsFunction&&(this.dp.on(i.eventChangeSelectedDate,this.renderDelay),this.dp.opts.timepicker&&this.dp.on(i.eventChangeTime,this.render))}destroy(){this.dp.off(i.eventChangeViewDate,this.onChangeViewDate),this.dp.off(i.eventChangeCurrentView,this.onChangeCurrentView),this.isNavIsFunction&&(this.dp.off(i.eventChangeSelectedDate,this.renderDelay),this.dp.opts.timepicker&&this.dp.off(i.eventChangeTime,this.render))}_createElement(){this.$el=n({tagName:"nav",className:"air-datepicker-nav"})}_getTitle(){let{dp:e,opts:t}=this,i=t.navTitles[e.currentView];return"function"==typeof i?i(e):e.formatDate(e.viewDate,i)}handleNavStatus(){let{disableNavWhenOutOfRange:e}=this.opts,{minDate:t,maxDate:s}=this.dp;if(!t&&!s||!e)return;let{year:a,month:n}=this.dp.parsedViewDate,r=!!t&&o(t),h=!!s&&o(s);switch(this.dp.currentView){case i.days:t&&r.month>=n&&r.year>=a&&this._disableNav("prev"),s&&h.month<=n&&h.year<=a&&this._disableNav("next");break;case i.months:t&&r.year>=a&&this._disableNav("prev"),s&&h.year<=a&&this._disableNav("next");break;case i.years:{let e=d(this.dp.viewDate);t&&r.year>=e[0]&&this._disableNav("prev"),s&&h.year<=e[1]&&this._disableNav("next");break}}}_disableNav(e){a('[data-action="'+e+'"]',this.$el).classList.add("-disabled-")}_resetNavStatus(){!function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),s=1;s<t;s++)i[s-1]=arguments[s];e.length?e.forEach((e=>{e.classList.remove(...i)})):e.classList.remove(...i)}(this.$el.querySelectorAll(".air-datepicker-nav--action"),"-disabled-")}_buildBaseHtml(){let{prevHtml:e,nextHtml:t}=this.opts;this.$el.innerHTML='<div class="air-datepicker-nav--action" data-action="prev">'.concat(e,"</div>")+'<div class="air-datepicker-nav--title"></div>'+'<div class="air-datepicker-nav--action" data-action="next">'.concat(t,"</div>")}get isNavIsFunction(){let{navTitles:e}=this.opts;return Object.keys(e).find((t=>"function"==typeof e[t]))}}var x={today:{content:e=>e.locale.today,onClick:e=>e.setViewDate(new Date)},clear:{content:e=>e.locale.clear,onClick:e=>e.clear()}};class H{constructor(e){let{dp:t,opts:i}=e;this.dp=t,this.opts=i,this.init()}init(){this.createElement(),this.render()}createElement(){this.$el=n({className:"air-datepicker-buttons"})}destroy(){this.$el.parentNode.removeChild(this.$el)}clearHtml(){return this.$el.innerHTML="",this}generateButtons(){let{buttons:e}=this.opts;Array.isArray(e)||(e=[e]),e.forEach((e=>{let t=e;"string"==typeof e&&x[e]&&(t=x[e]);let i=this.createButton(t);t.onClick&&this.attachEventToButton(i,t.onClick),this.$el.appendChild(i)}))}attachEventToButton(e,t){e.addEventListener("click",(()=>{t(this.dp)}))}createButton(e){let{content:t,className:i,tagName:s="button",attrs:a={}}=e,r="function"==typeof t?t(this.dp):t;return n({tagName:s,innerHtml:"<span tabindex='-1'>".concat(r,"</span>"),className:c("air-datepicker-button",i),attrs:a})}render(){this.generateButtons()}}function L(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class O{constructor(){let{opts:e,dp:t}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};L(this,"toggleTimepickerIsActive",(e=>{this.dp.timepickerIsActive=e})),L(this,"onChangeSelectedDate",(e=>{let{date:t,updateTime:i=!1}=e;t&&(this.setMinMaxTime(t),this.setCurrentTime(!!i&&t),this.addTimeToDate(t))})),L(this,"onChangeLastSelectedDate",(e=>{e&&(this.setTime(e),this.render())})),L(this,"onChangeInputRange",(e=>{let t=e.target;this[t.getAttribute("name")]=t.value,this.updateText(),this.dp.trigger(i.eventChangeTime,{hours:this.hours,minutes:this.minutes})})),L(this,"onMouseEnterLeave",(e=>{let t=e.target.getAttribute("name"),i=this.$minutesText;"hours"===t&&(i=this.$hoursText),i.classList.toggle("-focus-")})),L(this,"onFocus",(()=>{this.toggleTimepickerIsActive(!0)})),L(this,"onBlur",(()=>{this.toggleTimepickerIsActive(!1)})),this.opts=e,this.dp=t;let{timeFormat:s}=this.dp.locale;s&&(s.match(k("h"))||s.match(k("hh")))&&(this.ampm=!0),this.init()}init(){this.setTime(this.dp.lastSelectedDate||this.dp.viewDate),this.createElement(),this.buildHtml(),this.defineDOM(),this.render(),this.bindDatepickerEvents(),this.bindDOMEvents()}bindDatepickerEvents(){this.dp.on(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.on(i.eventChangeLastSelectedDate,this.onChangeLastSelectedDate)}bindDOMEvents(){let e="input";navigator.userAgent.match(/trident/gi)&&(e="change"),v(this.$ranges,e,this.onChangeInputRange),v(this.$ranges,"mouseenter",this.onMouseEnterLeave),v(this.$ranges,"mouseleave",this.onMouseEnterLeave),v(this.$ranges,"focus",this.onFocus),v(this.$ranges,"mousedown",this.onFocus),v(this.$ranges,"blur",this.onBlur)}createElement(){this.$el=n({className:c("air-datepicker-time",{"-am-pm-":this.dp.ampm})})}destroy(){this.dp.off(i.eventChangeSelectedDate,this.onChangeSelectedDate),this.dp.off(i.eventChangeLastSelectedDate,this.onChangeLastSelectedDate),this.$el.parentNode.removeChild(this.$el)}buildHtml(){let{ampm:e,hours:t,displayHours:i,minutes:s,minHours:a,minMinutes:n,maxHours:r,maxMinutes:h,dayPeriod:o,opts:{hoursStep:d,minutesStep:c}}=this;this.$el.innerHTML='<div class="air-datepicker-time--current">'+' <span class="air-datepicker-time--current-hours">'.concat(l(i),"</span>")+' <span class="air-datepicker-time--current-colon">:</span>'+' <span class="air-datepicker-time--current-minutes">'.concat(l(s),"</span>")+" ".concat(e?"<span class='air-datepicker-time--current-ampm'>".concat(o,"</span>"):"")+'</div><div class="air-datepicker-time--sliders"> <div class="air-datepicker-time--row">'+' <input type="range" name="hours" value="'.concat(t,'" min="').concat(a,'" max="').concat(r,'" step="').concat(d,'"/>')+' </div> <div class="air-datepicker-time--row">'+' <input type="range" name="minutes" value="'.concat(s,'" min="').concat(n,'" max="').concat(h,'" step="').concat(c,'"/>')+" </div></div>"}defineDOM(){let e=e=>a(e,this.$el);this.$ranges=this.$el.querySelectorAll('[type="range"]'),this.$hours=e('[name="hours"]'),this.$minutes=e('[name="minutes"]'),this.$hoursText=e(".air-datepicker-time--current-hours"),this.$minutesText=e(".air-datepicker-time--current-minutes"),this.$ampm=e(".air-datepicker-time--current-ampm")}setTime(e){this.setMinMaxTime(e),this.setCurrentTime(e)}addTimeToDate(e){e&&(e.setHours(this.hours),e.setMinutes(this.minutes))}setMinMaxTime(e){if(this.setMinMaxTimeFromOptions(),e){let{minDate:t,maxDate:i}=this.dp;t&&u(e,t)&&this.setMinTimeFromMinDate(t),i&&u(e,i)&&this.setMaxTimeFromMaxDate(i)}}setCurrentTime(e){let{hours:t,minutes:i}=e?o(e):this;this.hours=f(t,this.minHours,this.maxHours),this.minutes=f(i,this.minMinutes,this.maxMinutes)}setMinMaxTimeFromOptions(){let{minHours:e,minMinutes:t,maxHours:i,maxMinutes:s}=this.opts;this.minHours=f(e,0,23),this.minMinutes=f(t,0,59),this.maxHours=f(i,0,23),this.maxMinutes=f(s,0,59)}setMinTimeFromMinDate(e){let{lastSelectedDate:t}=this.dp;this.minHours=e.getHours(),t&&t.getHours()>e.getHours()?this.minMinutes=this.opts.minMinutes:this.minMinutes=e.getMinutes()}setMaxTimeFromMaxDate(e){let{lastSelectedDate:t}=this.dp;this.maxHours=e.getHours(),t&&t.getHours()<e.getHours()?this.maxMinutes=this.opts.maxMinutes:this.maxMinutes=e.getMinutes()}getDayPeriod(e,t){let i=e,s=Number(e);e instanceof Date&&(i=o(e),s=Number(i.hours));let a="am";if(t||this.ampm){switch(!0){case 12===s:case s>11:a="pm"}s=s%12==0?12:s%12}return{hours:s,dayPeriod:a}}updateSliders(){r(this.$hours,{min:this.minHours,max:this.maxHours}).value=this.hours,r(this.$minutes,{min:this.minMinutes,max:this.maxMinutes}).value=this.minutes}updateText(){this.$hoursText.innerHTML=l(this.displayHours),this.$minutesText.innerHTML=l(this.minutes),this.ampm&&(this.$ampm.innerHTML=this.dayPeriod)}set hours(e){this._hours=e;let{hours:t,dayPeriod:i}=this.getDayPeriod(e);this.displayHours=t,this.dayPeriod=i}get hours(){return this._hours}render(){this.updateSliders(),this.updateText()}}function E(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}class A{constructor(e){let{dp:t,opts:i}=e;E(this,"pressedKeys",new Set),E(this,"hotKeys",new Map([[[["Control","ArrowRight"],["Control","ArrowUp"]],e=>e.month++],[[["Control","ArrowLeft"],["Control","ArrowDown"]],e=>e.month--],[[["Shift","ArrowRight"],["Shift","ArrowUp"]],e=>e.year++],[[["Shift","ArrowLeft"],["Shift","ArrowDown"]],e=>e.year--],[[["Alt","ArrowRight"],["Alt","ArrowUp"]],e=>e.year+=10],[[["Alt","ArrowLeft"],["Alt","ArrowDown"]],e=>e.year-=10],[["Control","Shift","ArrowUp"],(e,t)=>t.up()]])),E(this,"handleHotKey",(e=>{let t=this.hotKeys.get(e),i=o(this.getInitialFocusDate());t(i,this.dp);let{year:s,month:a,date:n}=i,r=h(new Date(s,a));r<n&&(n=r);let l=this.dp.getClampedDate(new Date(s,a,n));this.dp.setFocusDate(l,{viewDateTransition:!0})})),E(this,"isHotKeyPressed",(()=>{let e=!1,t=this.pressedKeys.size,i=e=>this.pressedKeys.has(e);for(let[s]of this.hotKeys){if(e)break;if(Array.isArray(s[0]))s.forEach((a=>{e||t!==a.length||(e=a.every(i)&&s)}));else{if(t!==s.length)continue;e=s.every(i)&&s}}return e})),E(this,"isArrow",(e=>e>=37&&e<=40)),E(this,"onKeyDown",(e=>{let{key:t,which:i}=e,{dp:s,dp:{focusDate:a},opts:n}=this;this.registerKey(t);let r=this.isHotKeyPressed();if(r)return e.preventDefault(),void this.handleHotKey(r);if(this.isArrow(i))return e.preventDefault(),void this.focusNextCell(t);if("Enter"===t){if(s.currentView!==n.minView)return void s.down();if(a){let e=s._checkIfDateIsSelected(a);return void(e?s._handleAlreadySelectedDates(e,a):s.selectDate(a))}}"Escape"===t&&this.dp.hide()})),E(this,"onKeyUp",(e=>{this.removeKey(e.key)})),this.dp=t,this.opts=i,this.init()}init(){this.bindKeyboardEvents()}bindKeyboardEvents(){let{$el:e}=this.dp;e.addEventListener("keydown",this.onKeyDown),e.addEventListener("keyup",this.onKeyUp)}destroy(){let{$el:e}=this.dp;e.removeEventListener("keydown",this.onKeyDown),e.removeEventListener("keyup",this.onKeyUp),this.hotKeys=null,this.pressedKeys=null}getInitialFocusDate(){let{focusDate:e,currentView:t,selectedDates:s,parsedViewDate:{year:a,month:n}}=this.dp,r=e||s[s.length-1];if(!r)switch(t){case i.days:r=new Date(a,n,(new Date).getDate());break;case i.months:r=new Date(a,n,1);break;case i.years:r=new Date(a,0,1)}return r}focusNextCell(e){let t=this.getInitialFocusDate(),{currentView:s}=this.dp,{days:a,months:n,years:r}=i,h=o(t),l=h.year,d=h.month,c=h.date;switch(e){case"ArrowLeft":s===a&&(c-=1),s===n&&(d-=1),s===r&&(l-=1);break;case"ArrowUp":s===a&&(c-=7),s===n&&(d-=3),s===r&&(l-=4);break;case"ArrowRight":s===a&&(c+=1),s===n&&(d+=1),s===r&&(l+=1);break;case"ArrowDown":s===a&&(c+=7),s===n&&(d+=3),s===r&&(l+=4)}let u=this.dp.getClampedDate(new Date(l,d,c));this.dp.setFocusDate(u,{viewDateTransition:!0})}registerKey(e){this.pressedKeys.add(e)}removeKey(e){this.pressedKeys.delete(e)}}let N={on(e,t){this.__events||(this.__events={}),this.__events[e]?this.__events[e].push(t):this.__events[e]=[t]},off(e,t){this.__events&&this.__events[e]&&(this.__events[e]=this.__events[e].filter((e=>e!==t)))},removeAllEvents(){this.__events={}},trigger(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),s=1;s<t;s++)i[s-1]=arguments[s];this.__events&&this.__events[e]&&this.__events[e].forEach((e=>{e(...i)}))}};function I(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}let R="",P="",B="",K=!1;class j{constructor(e,t){var r=this;if(I(this,"viewIndexes",[i.days,i.months,i.years]),I(this,"next",(()=>{let{year:e,month:t}=this.parsedViewDate;switch(this.currentView){case i.days:this.setViewDate(new Date(e,t+1,1));break;case i.months:this.setViewDate(new Date(e+1,t,1));break;case i.years:this.setViewDate(new Date(e+10,0,1))}})),I(this,"prev",(()=>{let{year:e,month:t}=this.parsedViewDate;switch(this.currentView){case i.days:this.setViewDate(new Date(e,t-1,1));break;
6088case i.months:this.setViewDate(new Date(e-1,t,1));break;case i.years:this.setViewDate(new Date(e-10,0,1))}})),I(this,"_finishHide",(()=>{this.hideAnimation=!1,this._destroyComponents(),this.$container.removeChild(this.$datepicker)})),I(this,"setPosition",(function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if("function"==typeof(e=e||r.opts.position))return void(r.customHide=e({$datepicker:r.$datepicker,$target:r.$el,$pointer:r.$pointer,isViewChange:t,done:r._finishHide}));let i,s,{isMobile:a}=r.opts,n=r.$el.getBoundingClientRect(),h=r.$el.getBoundingClientRect(),o=r.$datepicker.offsetParent,l=r.$el.offsetParent,d=r.$datepicker.getBoundingClientRect(),c=e.split(" "),u=window.scrollY,p=window.scrollX,m=r.opts.offset,g=c[0],D=c[1];if(a)r.$datepicker.style.cssText="left: 50%; top: 50%";else{if(o===l&&o!==document.body&&(h={top:r.$el.offsetTop,left:r.$el.offsetLeft,width:n.width,height:r.$el.offsetHeight},u=0,p=0),o!==l&&o!==document.body){let e=o.getBoundingClientRect();h={top:n.top-e.top,left:n.left-e.left,width:n.width,height:n.height},u=0,p=0}switch(g){case"top":i=h.top-d.height-m;break;case"right":s=h.left+h.width+m;break;case"bottom":i=h.top+h.height+m;break;case"left":s=h.left-d.width-m}switch(D){case"top":i=h.top;break;case"right":s=h.left+h.width-d.width;break;case"bottom":i=h.top+h.height-d.height;break;case"left":s=h.left;break;case"center":/left|right/.test(g)?i=h.top+h.height/2-d.height/2:s=h.left+h.width/2-d.width/2}r.$datepicker.style.cssText="left: ".concat(s+p,"px; top: ").concat(i+u,"px")}})),I(this,"_setInputValue",(()=>{let{opts:e,$altField:t,locale:{dateFormat:i}}=this,{altFieldDateFormat:s,altField:a}=e;a&&t&&(t.value=this._getInputValue(s)),this.$el.value=this._getInputValue(i)})),I(this,"_getInputValue",(e=>{let{selectedDates:t,opts:i}=this,{multipleDates:s,multipleDatesSeparator:a}=i;if(!t.length)return"";let n="function"==typeof e,r=n?e(s?t:t[0]):t.map((t=>this.formatDate(t,e)));return r=n?r:r.join(a),r})),I(this,"_checkIfDateIsSelected",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.days,s=!1;return r.selectedDates.some((i=>{let a=u(e,i,t);return s=a&&i,a})),s})),I(this,"_scheduleCallAfterTransition",(e=>{this._cancelScheduledCall(),e&&e(!1),this._onTransitionEnd=()=>{e&&e(!0)},this.$datepicker.addEventListener("transitionend",this._onTransitionEnd,{once:!0})})),I(this,"_cancelScheduledCall",(()=>{this.$datepicker.removeEventListener("transitionend",this._onTransitionEnd)})),I(this,"setViewDate",(e=>{if(!((e=b(e))instanceof Date))return;if(u(e,this.viewDate))return;let t=this.viewDate;this.viewDate=e;let{onChangeViewDate:s}=this.opts;if(s){let{month:e,year:t}=this.parsedViewDate;s({month:e,year:t,decade:this.curDecade})}this.trigger(i.eventChangeViewDate,e,t)})),I(this,"setFocusDate",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(!e||(e=b(e))instanceof Date)&&(r.focusDate=e,r.opts.range&&e&&r._handleRangeOnFocus(),r.trigger(i.eventChangeFocusDate,e,t))})),I(this,"setCurrentView",(e=>{if(this.viewIndexes.includes(e)){if(this.currentView=e,this.elIsInput&&this.visible&&this.setPosition(void 0,!0),this.trigger(i.eventChangeCurrentView,e),!this.views[e]){let t=this.views[e]=new T({dp:this,opts:this.opts,type:e});this.shouldUpdateDOM&&this.$content.appendChild(t.$el)}this.opts.onChangeView&&this.opts.onChangeView(e)}})),I(this,"_updateLastSelectedDate",(e=>{this.lastSelectedDate=e,this.trigger(i.eventChangeLastSelectedDate,e)})),I(this,"destroy",(()=>{let{showEvent:e,isMobile:t}=this.opts,i=this.$datepicker.parentNode;i&&i.removeChild(this.$datepicker),this.$el.removeEventListener(e,this._onFocus),this.$el.removeEventListener("blur",this._onBlur),window.removeEventListener("resize",this._onResize),t&&this._removeMobileAttributes(),this.keyboardNav&&this.keyboardNav.destroy(),this.views=null,this.nav=null,this.$datepicker=null,this.opts=null,this.$customContainer=null,this.viewDate=null,this.focusDate=null,this.selectedDates=null,this.rangeDateFrom=null,this.rangeDateTo=null})),I(this,"update",(e=>{let t=w({},this.opts);w(this.opts,e);let{timepicker:s,buttons:a,range:n,selectedDates:r,isMobile:h}=this.opts,o=this.visible||this.treatAsInline;this._createMinMaxDates(),this._limitViewDateByMaxMinDates(),this._handleLocale(),!t.selectedDates&&r&&this.selectDate(r),e.view&&this.setCurrentView(e.view),this._setInputValue(),t.range&&!n?(this.rangeDateTo=!1,this.rangeDateFrom=!1):!t.range&&n&&this.selectedDates.length&&(this.rangeDateFrom=this.selectedDates[0],this.rangeDateTo=this.selectedDates[1]),t.timepicker&&!s?(o&&this.timepicker.destroy(),this.timepicker=!1,this.$timepicker.parentNode.removeChild(this.$timepicker)):!t.timepicker&&s&&this._addTimepicker(),!t.buttons&&a?this._addButtons():t.buttons&&!a?(this.buttons.destroy(),this.$buttons.parentNode.removeChild(this.$buttons)):o&&t.buttons&&a&&this.buttons.clearHtml().render(),!t.isMobile&&h?(this.treatAsInline||B||this._createMobileOverlay(),this._addMobileAttributes(),this.visible&&this._showMobileOverlay()):t.isMobile&&!h&&(this._removeMobileAttributes(),this.visible&&(B.classList.remove("-active-"),"function"!=typeof this.opts.position&&this.setPosition())),o&&(this.nav.update(
vendor: 8,782 bytes, line 6088
6088),this.views[this.currentView].render(),this.currentView===i.days&&this.views[this.currentView].renderDayNames())})),I(this,"isOtherMonth",(e=>{let{month:t}=o(e);return t!==this.parsedViewDate.month})),I(this,"isOtherYear",(e=>{let{year:t}=o(e);return t!==this.parsedViewDate.year})),I(this,"isOtherDecade",(e=>{let{year:t}=o(e),[i,s]=d(this.viewDate);return t<i||t>s})),I(this,"_onChangeSelectedDate",(e=>{let{silent:t}=e;setTimeout((()=>{this._setInputValue(),this.opts.onSelect&&!t&&this._triggerOnSelect()}))})),I(this,"_onChangeFocusedDate",(function(e){let{viewDateTransition:t}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)return;let i=!1;t&&(i=r.isOtherMonth(e)||r.isOtherYear(e)||r.isOtherDecade(e)),i&&r.setViewDate(e)})),I(this,"_onChangeTime",(e=>{let{hours:t,minutes:i}=e,s=new Date,{lastSelectedDate:a,opts:{onSelect:n}}=this,r=a;a||(r=s);let h=this.getCell(r,this.currentViewSingular),o=h&&h.adpCell;o&&o.isDisabled||(r.setHours(t),r.setMinutes(i),a?(this._setInputValue(),n&&this._triggerOnSelect()):this.selectDate(r))})),I(this,"_onFocus",(e=>{this.visible||this.show()})),I(this,"_onBlur",(e=>{this.inFocus||!this.visible||this.opts.isMobile||this.hide()})),I(this,"_onMouseDown",(e=>{this.inFocus=!0})),I(this,"_onMouseUp",(e=>{this.inFocus=!1,this.$el.focus()})),I(this,"_onResize",(()=>{this.visible&&"function"!=typeof this.opts.position&&this.setPosition()})),I(this,"_onClickOverlay",(()=>{this.visible&&this.hide()})),I(this,"isWeekend",(e=>this.opts.weekends.includes(e))),I(this,"getClampedDate",(e=>{let{minDate:t,maxDate:i}=this,s=e;return i&&p(e,i)?s=i:t&&m(e,t)&&(s=t),s})),this.$el=a(e),!this.$el)return;this.$datepicker=n({className:"air-datepicker"}),this.opts=w({},s,t),this.$customContainer=!!this.opts.container&&a(this.opts.container),this.$altField=a(this.opts.altField||!1),R||(R=a("body"));let{view:h,startDate:l}=this.opts;l||(this.opts.startDate=new Date),"INPUT"===this.$el.nodeName&&(this.elIsInput=!0),this.inited=!1,this.visible=!1,this.viewDate=b(this.opts.startDate),this.focusDate=!1,this.initialReadonly=this.$el.getAttribute("readonly"),this.customHide=!1,this.currentView=h,this.selectedDates=[],this.views={},this.keys=[],this.rangeDateFrom="",this.rangeDateTo="",this.timepickerIsActive=!1,this.treatAsInline=this.opts.inline||!this.elIsInput,this.init()}init(){let{opts:e,treatAsInline:t,opts:{inline:i,isMobile:s,selectedDates:a,keyboardNav:r,onlyTimepicker:h}}=this;var o;K||i||!this.elIsInput||(K=!0,P=n({className:o=j.defaultContainerId,id:o}),R.appendChild(P)),!s||B||t||this._createMobileOverlay(),this._handleLocale(),this._bindSubEvents(),this._createMinMaxDates(),this._limitViewDateByMaxMinDates(),this.elIsInput&&(i||this._bindEvents(),r&&!h&&(this.keyboardNav=new A({dp:this,opts:e}))),a&&this.selectDate(a,{silent:!0}),this.opts.visible&&!t&&this.show(),s&&!t&&this.$el.setAttribute("readonly",!0),t&&this._createComponents()}_createMobileOverlay(){B=n({className:"air-datepicker-overlay"}),P.appendChild(B)}_createComponents(){let{opts:e,treatAsInline:t,opts:{inline:i,buttons:s,timepicker:a,position:n,classes:r,onlyTimepicker:h,isMobile:o}}=this;this._buildBaseHtml(),this.elIsInput&&(i||this._setPositionClasses(n)),!i&&this.elIsInput||this.$datepicker.classList.add("-inline-"),r&&this.$datepicker.classList.add(...r.split(" ")),h&&this.$datepicker.classList.add("-only-timepicker-"),o&&!t&&this._addMobileAttributes(),this.views[this.currentView]=new T({dp:this,type:this.currentView,opts:e}),this.nav=new V({dp:this,opts:e}),a&&this._addTimepicker(),s&&this._addButtons(),this.$content.appendChild(this.views[this.currentView].$el),this.$nav.appendChild(this.nav.$el)}_destroyComponents(){for(let e in this.views)this.views[e].destroy();this.views={},this.nav.destroy(),this.timepicker&&this.timepicker.destroy()}_addMobileAttributes(){B.addEventListener("click",this._onClickOverlay),this.$datepicker.classList.add("-is-mobile-"),this.$el.setAttribute("readonly",!0)}_removeMobileAttributes(){B.removeEventListener("click",this._onClickOverlay),this.$datepicker.classList.remove("-is-mobile-"),this.initialReadonly||""===this.initialReadonly||this.$el.removeAttribute("readonly")}_createMinMaxDates(){let{minDate:e,maxDate:t}=this.opts;this.minDate=!!e&&b(e),this.maxDate=!!t&&b(t)}_addTimepicker(){this.$timepicker=n({className:"air-datepicker--time"}),this.$datepicker.appendChild(this.$timepicker),this.timepicker=new O({dp:this,opts:this.opts}),this.$timepicker.appendChild(this.timepicker.$el)}_addButtons(){this.$buttons=n({className:"air-datepicker--buttons"}),this.$datepicker.appendChild(this.$buttons),this.buttons=new H({dp:this,opts:this.opts}),this.$buttons.appendChild(this.buttons.$el)}_bindSubEvents(){this.on(i.eventChangeSelectedDate,this._onChangeSelectedDate),this.on(i.eventChangeFocusDate,this._onChangeFocusedDate),this.on(i.eventChangeTime,this._onChangeTime)}_buildBaseHtml(){let{inline:e}=this.opts;var t,i;this.elIsInput?e?(t=this.$datepicker,(i=this.$el).parentNode.insertBefore(t,i.nextSibling)):this.$container.appendChild(this.$datepicker):this.$el.appendChild(this.$datepicker),this.$datepicker.innerHTML='<i class="air-datepicker--pointer"></i><div class="air-datepicker--navigation"></div><div class="air-datepicker--content"></div>',this.$content=a(".air-datepicker--content",this.$datepicker),this.$pointer=a(".air-datepicker--pointer",this.$datepicker),this.$nav=a(".air-datepicker--navigation",this.$datepicker)}_handleLocale(){let{locale:e,dateFormat:t,firstDay:i,timepicker:s,onlyTimepicker:a,timeFormat:n,dateTimeSeparator:r}=this.opts;var h;this.locale=(h=e,JSON.parse(JSON.stringify(h))),t&&(this.locale.dateFormat=t),void 0!==n&&""!==n&&(this.locale.timeFormat=n);let{timeFormat:o}=this.locale;if(""!==i&&(this.locale.firstDay=i),s&&"function"!=typeof t){let e=o?r:"";this.locale.dateFormat=[this.locale.dateFormat,o||""].join(e)}a&&"function"!=typeof t&&(this.locale.dateFormat=this.locale.timeFormat)}_setPositionClasses(e){if("function"==typeof e)return void this.$datepicker.classList.add("-custom-position-");let t=(e=e.split(" "))[0],i=e[1],s="air-datepicker -".concat(t,"-").concat(i,"- -from-").concat(t,"-");this.$datepicker.classList.add(...s.split(" "))}_bindEvents(){this.$el.addEventListener(this.opts.showEvent,this._onFocus),this.$el.addEventListener("blur",this._onBlur),this.$datepicker.addEventListener("mousedown",this._onMouseDown),this.$datepicker.addEventListener("mouseup",this._onMouseUp),window.addEventListener("resize",this._onResize)}_limitViewDateByMaxMinDates(){let{viewDate:e,minDate:t,maxDate:i}=this;i&&p(e,i)&&this.setViewDate(i),t&&m(e,t)&&this.setViewDate(t)}formatDate(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.viewDate,t=arguments.length>1?arguments[1]:void 0;if(e=b(e),!(e instanceof Date))return;let i=t,s=this.locale,a=o(e),n=d(e),r=j.replacer,h="am";this.opts.timepicker&&this.timepicker&&(h=this.timepicker.getDayPeriod(e).dayPeriod);let l={T:e.getTime(),m:a.minutes,mm:a.fullMinutes,h:a.hours12,hh:a.fullHours12,H:a.hours,HH:a.fullHours,aa:h,AA:h.toUpperCase(),E:s.daysShort[a.day],EEEE:s.days[a.day],d:a.date,dd:a.fullDate,M:a.month+1,MM:a.fullMonth,MMM:s.monthsShort[a.month],MMMM:s.months[a.month],yy:a.year.toString().slice(-2),yyyy:a.year,yyyy1:n[0],yyyy2:n[1]};for(let[e,t]of Object.entries(l))i=r(i,k(e),t);return i}down(e){this._handleUpDownActions(e,"down")}up(e){this._handleUpDownActions(e,"up")}selectDate(e){let t,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{currentView:a,parsedViewDate:n,selectedDates:r}=this,{updateTime:h}=s,{moveToOtherMonthsOnSelect:o,moveToOtherYearsOnSelect:l,multipleDates:d,range:c,autoClose:u}=this.opts,m=r.length;if(Array.isArray(e))return e.forEach((e=>{this.selectDate(e,s)})),new Promise((e=>{setTimeout(e)}));if((e=b(e))instanceof Date){if(a===i.days&&e.getMonth()!==n.month&&o&&(t=new Date(e.getFullYear(),e.getMonth(),1)),a===i.years&&e.getFullYear()!==n.year&&l&&(t=new Date(e.getFullYear(),0,1)),t&&this.setViewDate(t),d&&!c){if(m===d)return;this._checkIfDateIsSelected(e)||r.push(e)}else if(c)switch(m){case 1:r.push(e),this.rangeDateTo||(this.rangeDateTo=e),p(this.rangeDateFrom,this.rangeDateTo)&&(this.rangeDateTo=this.rangeDateFrom,this.rangeDateFrom=e),this.selectedDates=[this.rangeDateFrom,this.rangeDateTo];break;case 2:this.selectedDates=[e],this.rangeDateFrom=e,this.rangeDateTo="";break;default:this.selectedDates=[e],this.rangeDateFrom=e}else this.selectedDates=[e];return this.trigger(i.eventChangeSelectedDate,{action:i.actionSelectDate,silent:null==s?void 0:s.silent,date:e,updateTime:h}),this._updateLastSelectedDate(e),u&&!this.timepickerIsActive&&this.visible&&(d||c?c&&1===m&&this.hide():this.hide()),new Promise((e=>{setTimeout(e)}))}}unselectDate(e){let t=this.selectedDates,s=this;
6088if((e=b(e))instanceof Date)return t.some(((a,n)=>{if(u(a,e))return t.splice(n,1),s.selectedDates.length?s._updateLastSelectedDate(s.selectedDates[s.selectedDates.length-1]):(s.rangeDateFrom="",s.rangeDateTo="",s._updateLastSelectedDate(!1)),this.trigger(i.eventChangeSelectedDate,{action:i.actionUnselectDate,date:e}),!0}))}replaceDate(e,t){let s=this.selectedDates.find((t=>u(t,e,this.currentView))),a=this.selectedDates.indexOf(s);a<0||u(this.selectedDates[a],t,this.currentView)||(this.selectedDates[a]=t,this.trigger(i.eventChangeSelectedDate,{action:i.actionSelectDate,date:t,updateTime:!0}),this._updateLastSelectedDate(t))}clear(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return this.selectedDates=[],this.rangeDateFrom=!1,this.rangeDateTo=!1,this.trigger(i.eventChangeSelectedDate,{action:i.actionUnselectDate,silent:e.silent}),new Promise((e=>{setTimeout(e)}))}show(){let{onShow:e,isMobile:t}=this.opts;this._cancelScheduledCall(),this.visible||this.hideAnimation||this._createComponents(),this.setPosition(this.opts.position),this.$datepicker.classList.add("-active-"),this.visible=!0,e&&this._scheduleCallAfterTransition(e),t&&this._showMobileOverlay()}hide(){let{onHide:e,isMobile:t}=this.opts,i=this._hasTransition();this.visible=!1,this.hideAnimation=!0,this.$datepicker.classList.remove("-active-"),this.customHide&&this.customHide(),this.elIsInput&&this.$el.blur(),this._scheduleCallAfterTransition((t=>{!this.customHide&&(t&&i||!t&&!i)&&this._finishHide(),e&&e(t)})),t&&B.classList.remove("-active-")}_triggerOnSelect(){let e=[],t=[],{selectedDates:i,locale:s,opts:{onSelect:a,multipleDates:n,range:r}}=this,h=n||r,o="function"==typeof s.dateFormat;i.length&&(e=i.map(g),t=o?n?s.dateFormat(e):e.map((e=>s.dateFormat(e))):e.map((e=>this.formatDate(e,s.dateFormat)))),a({date:h?e:e[0],formattedDate:h?t:t[0],datepicker:this})}_handleAlreadySelectedDates(e,t){let{range:i,toggleSelected:s}=this.opts;i?s?this.unselectDate(t):2!==this.selectedDates.length&&this.selectDate(t):s&&this.unselectDate(t),s||this._updateLastSelectedDate(e)}_handleUpDownActions(e,t){if(!((e=b(e||this.focusDate||this.viewDate))instanceof Date))return;let i="up"===t?this.viewIndex+1:this.viewIndex-1;i>2&&(i=2),i<0&&(i=0),this.setViewDate(new Date(e.getFullYear(),e.getMonth(),1)),this.setCurrentView(this.viewIndexes[i])}_handleRangeOnFocus(){1===this.selectedDates.length&&(p(this.selectedDates[0],this.focusDate)?(this.rangeDateTo=this.selectedDates[0],this.rangeDateFrom=this.focusDate):(this.rangeDateTo=this.focusDate,this.rangeDateFrom=this.selectedDates[0]))}getCell(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:i.day;if(!((e=b(e))instanceof Date))return;let{year:s,month:a,date:n}=o(e),r='[data-year="'.concat(s,'"]'),h='[data-month="'.concat(a,'"]'),l='[data-date="'.concat(n,'"]'),d={[i.day]:"".concat(r).concat(h).concat(l),[i.month]:"".concat(r).concat(h),[i.year]:"".concat(r)};return this.views[this.currentView].$el.querySelector(d[t])}_showMobileOverlay(){B.classList.add("-active-")}_hasTransition(){return window.getComputedStyle(this.$datepicker).getPropertyValue("transition-duration").split(", ").reduce(((e,t)=>parseFloat(t)+e),0)>0}get shouldUpdateDOM(){return this.visible||this.treatAsInline}get parsedViewDate(){return o(this.viewDate)}get currentViewSingular(){return this.currentView.slice(0,-1)}get curDecade(){return d(this.viewDate)}get viewIndex(){return this.viewIndexes.indexOf(this.currentView)}get isFinalView(){return this.currentView===i.years}get hasSelectedDates(){return this.selectedDates.length>0}get isMinViewReached(){return this.currentView===this.opts.minView||this.currentView===i.days}get $container(){return this.$customContainer||P}static replacer(e,t,i){return e.replace(t,(function(e,t,s,a){return t+i+a}))}}var U;return I(j,"defaults",s),I(j,"version","3.3.0"),I(j,"defaultContainerId","air-datepicker-global-container"),U=j.prototype,Object.assign(U,N),t.default}()}));; 6089 6090// // ÐодменнÑй ÑÐµÐ»ÐµÐºÑ 6091function createSelect(wrapper,search_query) { 6092 let select = wrapper.querySelectorAll(search_query); 6093 if (select) { 6094 select.forEach(function (item) {
6095 let $this = item; 6096 // ÐбоÑаÑиваем 6097 let selectWrap = document.createElement('div'); 6098 selectWrap.setAttribute("class", "select-box"); 6099 $this.parentNode.insertBefore(selectWrap, $this); 6100 $this.setAttribute('style','display:none'); 6101 selectWrap.appendChild($this); 6102 6103 // Создаем новÑй ÑÐµÐ»ÐµÐºÑ 6104 let selectStyled = document.createElement('div'); 6105 selectStyled.setAttribute("class", "select-styled"); 6106 selectWrap.appendChild(selectStyled); 6107 6108 // Создаем новÑй ÑпиÑок 6109 let options = document.createElement('div'); 6110 options.setAttribute("class", "select-options"); 6111 selectWrap.appendChild(options); 6112 6113 let optionsList = document.createElement('ul'); 6114 options.appendChild(optionsList); 6115 6116 // ÐобавлÑем в ÑпиÑок пÑнкÑÑ 6117 for (let i = 0; i < $this.length; i++) { 6118 let text = $this.options[i].text; 6119 let option = document.createElement('li'); 6120 option.innerText = text; 6121 optionsList.appendChild(option); 6122 6123 // Ðлик на пÑÐ½ÐºÑ 6124 option.addEventListener("click", function (e) { 6125 option.closest("ul").querySelectorAll("li").forEach(function (item) { 6126 item.classList.remove("choice"); 6127 }); 6128 option.classList.add("choice"); 6129 let text = e.target.innerText; 6130 selectStyled.innerText = text; 6131 6132 selectStyled.classList.remove("active"); 6133 options.style.height = '0px'; 6134 6135 // ÐмиÑиÑÑем клик на ÑеалÑнÑй ÑÐµÐ»ÐµÐºÑ 6136 $this.querySelectorAll("option").forEach(function (item) { 6137 item.removeAttribute("selected"); 6138 }); 6139 $this.options[i].setAttribute("selected", "selected"); 6140 let eventChange = new Event('change', { bubbles: true }); 6141 $this.dispatchEvent(eventChange); 6142 6143 }); 6144 } 6145 ; 6146 6147 // ÐÑбÑаннÑй пÑÐ½ÐºÑ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ 6148 let startChoice = $this.querySelector("option[selected='selected']"); 6149 if (!startChoice) { 6150 // ÐÑли по ÑмолÑÐ°Ð½Ð¸Ñ Ð½ÐµÑ selected вÑÑавиÑÑ Ð¿ÐµÑвÑй пÑÐ½ÐºÑ 6151 startChoice = $this.querySelector("option"); 6152 } 6153 ; 6154 let startText = startChoice.text; 6155 selectStyled.innerText = startText; 6156 let index = startChoice.index; 6157 optionsList.querySelector("li:nth-child(" + (index + 1) + ")").classList.add("choice"); 6158 6159 6160 // Ðлик на ÑÐµÐ»ÐµÐºÑ 6161 selectStyled.addEventListener("click", function (e) { 6162 closeSelects(e); 6163 6164 if (!selectStyled.classList.contains("active")) { 6165 selectStyled.classList.add("active"); 6166 6167 options.style.height = 'auto'; 6168 let optionsHeight = options.clientHeight + 'px'; 6169 options.style.height = '0px'; 6170 setTimeout(function () { 6171 options.style.height = optionsHeight; 6172 }, 0); 6173 } 6174 else { 6175 selectStyled.classList.remove("active"); 6176 options.style.height = '0px'; 6177 } 6178 ; 6179 }); 6180 }); 6181 6182 // Ðлик вне ÑелекÑа 6183 document.addEventListener("click", function (e) { 6184 if (!e.target.matches(".select-styled")) { 6185 closeSelects(e); 6186 } 6187 ; 6188 }); 6189 6190 function closeSelects(e) { 6191 if (e.target != document.querySelector(".select-styled.active")) { 6192 document.querySelectorAll(".select-styled.active").forEach(function (item) { 6193 item.classList.remove("active"); 6194 item.nextElementSibling.style.height = '0px'; 6195 }); 6196 } 6197 ; 6198 }; 6199 } 6200 ; 6201}; 6202 6203document.addEventListener('DOMContentLoaded', function() { 6204 6205///////////////////// 6206//ÐÐ»Ð°Ð²Ð½Ð°Ñ ÑÑÑаниÑа// 6207/////////////////// 6208 6209 const cookieBlock = document.querySelector('.cookie'); 6210 const cookieBtn = document.querySelector('.cookie__btn'); 6211 6212 // ÐÑовеÑÑем, бÑл ли полÑзоваÑÐµÐ»Ñ Ñже на ÑайÑе 6213 const isVisited = localStorage.getItem('cookieVisited'); 6214 6215 if (!isVisited) { 6216 // ÐÑли впеÑвÑе, добавлÑем клаÑÑ Ð´Ð»Ñ Ð¾ÑобÑажениÑ
6217 cookieBlock.classList.add('cookie--visible'); 6218 // Ðапоминаем, ÑÑо полÑзоваÑÐµÐ»Ñ Ð¿Ð¾ÑеÑил ÑÐ°Ð¹Ñ 6219 } 6220 6221 // ÐбÑабоÑка клика по кнопке внÑÑÑи cookie 6222 cookieBtn.addEventListener('click', () => { 6223 cookieBlock.classList.remove('cookie--visible'); 6224 localStorage.setItem('cookieVisited', 'true'); 6225 }); 6226 6227// ÐÑкÑÑÑие и закÑÑÑие Ð¼ÐµÐ½Ñ Ñ ÐµÐ´ÐµÑа пÑи клике на бÑÑÐ³ÐµÑ 6228const burger = document.querySelectorAll('.header__burger'), 6229 menu = document.querySelector('.header__menu'); 6230 6231burger.forEach(item => { 6232 item.addEventListener('click', (e) => { 6233 e.preventDefault(); 6234 if (menu.classList.contains('active')) { 6235 menu.classList.remove('active'); 6236 document.querySelector('body').style.overflow = 'auto'; 6237 } else { 6238 menu.classList.add('active'); 6239 document.querySelector('body').style.overflow = 'hidden'; 6240 } 6241 }); 6242}); 6243 6244// ÐапÑÑк видео на главной ÑÑÑаниÑе 6245const promoVideo = document.querySelector(".promo__background"); 6246if (promoVideo) { 6247 promoVideo.play(); 6248} 6249 6250// ÐÑплÑваÑÑий попап 6251const popup = document.querySelector('.popup'), 6252 popupClose = document.querySelector('.popup__close'); 6253 6254if (popup) { 6255 popupClose.addEventListener('click', () => { 6256 popup.classList.remove('active'); 6257 }) 6258 6259 setTimeout(() => { 6260 popup.classList.add('active'); 6261 }, 3000); 6262} 6263 6264// Ðнопка ÑиÑаÑÑ Ð´Ð°Ð»ÐµÐµ на главной 6265const circle = document.querySelector('.info__circle'); 6266 6267if (circle) { 6268 document.querySelector(".main").addEventListener("mousemove", function (e) { 6269 if (e.target.closest('.info__overlay-link')) { 6270 let x = e.offsetX; 6271 let y = e.offsetY; 6272 6273 circle.classList.add("active"); 6274 6275 circle.style.left = (x - (circle.offsetWidth / 2)) + 'px'; 6276 circle.style.top = (y - (circle.offsetHeight / 2)) + 'px'; 6277 } else { 6278 circle.classList.remove('active'); 6279 }; 6280 }); 6281} 6282 6283// Ð¡Ð²Ð°Ð¹Ð¿ÐµÑ Ð½Ð° главной 6284// const infoSwiper = new Swiper('.info__swiper', { 6285// slidesPerView: "auto", 6286// centeredSlides: true, 6287// spaceBetween: 15, 6288// direction: 'horizontal', 6289// loop: true, 6290// navigation: { 6291// nextEl: ".swiper-button-next", 6292// prevEl: ".swiper-button-prev", 6293// }, 6294// breakpoints: { 6295// 1100: { 6296// spaceBetween: 155 6297// }, 6298// 600: { 6299// spaceBetween: 90 6300// } 6301// }, 6302// speed: 900 6303// }) 6304 6305// const animatedLinks = document.querySelectorAll('.an-link'); 6306 6307// animatedLinks.forEach(item => { 6308// item.addEventListener('mouseleave', () => { 6309// setTimeout(() => {item.classList.add('animated');}, 300); 6310// setTimeout(() => {item.classList.remove('animated');}, 1300); 6311// }) 6312// }) 6313 6314// ÐккоÑдеон в мобилÑном Ð¼ÐµÐ½Ñ Ñ ÐµÐ´ÐµÑа 6315const accordionItems = document.querySelectorAll(".header__subtitle"); 6316 6317function openHedAcc(i) { 6318 i.classList.add("active"); 6319 i.parentElement.classList.add('active'); 6320 let itemContent = i.nextElementSibling; 6321 itemContent.style.height = 'auto'; 6322 let height = itemContent.clientHeight + 'px'; 6323 itemContent.style.height = '0px'; 6324 setTimeout(function () { 6325 itemContent.style.height = height; 6326 }, 0); 6327} 6328 6329function closeHedAcc(i) { 6330 i.classList.remove("active"); 6331 i.parentElement.classList.remove('active'); 6332 let height = i.nextElementSibling.clientHeight + 'px'; 6333 i.nextElementSibling.style.height = height; 6334 setTimeout(function () { 6335 i.nextElementSibling.style.height = '0px'; 6336 }, 0); 6337} 6338 6339if (window.screen.width < 1000) { 6340 6341 if (accordionItems.length != 0) { 6342 6343 // ÐбÑабоÑÑик клика 6344 if (accordionItems) { 6345 accordionItems.forEach(function (item) { 6346 item.addEventListener("click", function (e) { 6347 if (!item.classList.contains('active')) { 6348 6349 // ÐÑкÑÑваем вÑбÑаннÑй пÑÐ½ÐºÑ 6350 openHedAcc(item); 6351 6352 } else { 6353 6354 // ÐакÑÑваем вÑбÑаннÑй пÑÐ½ÐºÑ 6355 closeHedAcc(item); 6356 }; 6357 }); 6358 }); 6359 }; 6360 6361 } 6362} 6363 6364// Ðнопка ÑкÑолла к наÑÐ°Ð»Ñ ÑÑÑаниÑÑ 6365const btnUp = document.querySelector('.scroll-up'); 6366 6367if (btnUp) { 6368 document.addEventListener('scroll', (e) => { 6369 if (window.scrollY > 500) { 6370 btnUp.classList.add('active'); 6371 } else { 6372 btnUp.classList.remove('active'); 6373 } 6374 }); 6375 6376 btnUp.addEventListener('click', () => { 6377 window.scrollTo({ 6378 top: 0, 6379 behavior: "smooth" 6380 }); 6381 }) 6382} 6383 6384 // infoBanner 6385 const infoBannerSlider = document.querySelector('.info__banner-slider'); 6386 if(infoBannerSlider){ 6387 const prevBtn = infoBannerSlider.querySelector('.info__banner-prev') 6388 const nextBtn = infoBannerSlider.querySelector('.info__banner-next') 6389 const pagination = infoBannerSlider.querySelector('.info__banner-pagination') 6390 6391 const infoBannerSwiper = new Swiper(infoBannerSlider, { 6392 effect: "fade", 6393 autoHeight: true, 6394 fadeEffect: { 6395 crossFade: true 6396 }, 6397 navigation: { 6398 nextEl: nextBtn, 6399 prevEl: prevBtn, 6400 }, 6401 pagination: { 6402 el: pagination, 6403 type: "fraction", 6404 }, 6405 speed: 900 6406 }) 6407 } 6408 6409///////////////////// 6410//СÑÑаниÑа Ñилиала// 6411/////////////////// 6412 6413// ЯкоÑнÑе ÑÑÑлки на ÑÑÑаниÑе Ñилиала 6414branchNavLinks = document.querySelectorAll('.page-nav li a'); 6415 6416branchNavLinks.forEach(item => { 6417 item.addEventListener('click', (e) => { 6418 e.preventDefault(); 6419 let ankor = document.getElementById(item.getAttribute('href').slice(1)); 6420 ankor.scrollIntoView({ block: "center", behavior: "smooth" }); 6421 }) 6422}); 6423 6424// ÐеÑконеÑное кол-во одноÑипнÑÑ ÑлайдеÑов на ÑÑÑаниÑе Ñилиала 6425 6426let bss1 = document.querySelectorAll('.branch-services__swiper .swiper-slide'); 6427let bss1Loop = true; 6428if (bss1.length < 4) { 6429 bss1Loop = false;
6430} 6431 6432const branchServices = new Swiper('.branch-services__swiper', { 6433 slidesPerView: 'auto', 6434 spaceBetween: 20, 6435 direction: 'horizontal', 6436 loop: bss1Loop, 6437 breakpoints: { 6438 1000: { 6439 slidesPerView: 3 6440 }, 6441 700: { 6442 slidesPerView: 2 6443 } 6444 }, 6445 navigation: { 6446 nextEl: ".swiper-button-next_services", 6447 prevEl: ".swiper-button-prev_services", 6448 }, 6449 pagination: { 6450 el: ".swiper-pagination_services", 6451 type: "fraction", 6452 }, 6453 speed: 500 6454}) 6455 6456let bss2 = document.querySelectorAll('.branch-services__swiper2 .swiper-slide'); 6457let bss2Loop = true; 6458if (bss2.length < 4) { 6459 bss2Loop = false; 6460} 6461 6462const branchServices2 = new Swiper('.branch-services__swiper2', { 6463 slidesPerView: 'auto', 6464 spaceBetween: 20, 6465 direction: 'horizontal', 6466 loop: bss2Loop, 6467 breakpoints: { 6468 1000: { 6469 slidesPerView: 3 6470 }, 6471 700: { 6472 slidesPerView: 2 6473 } 6474 }, 6475 navigation: { 6476 nextEl: ".swiper-button-next_services2", 6477 prevEl: ".swiper-button-prev_services2", 6478 }, 6479 pagination: { 6480 el: ".swiper-pagination_services2", 6481 type: "fraction", 6482 }, 6483 speed: 500 6484}) 6485 6486let bss3 = document.querySelectorAll('.branch-services__swiper3 .swiper-slide'); 6487let bss3Loop = true; 6488if (bss3.length < 4) { 6489 bss3Loop = false; 6490} 6491 6492const branchServices3 = new Swiper('.branch-services__swiper3', { 6493 slidesPerView: 'auto', 6494 spaceBetween: 20, 6495 direction: 'horizontal', 6496 loop: bss3Loop, 6497 breakpoints: { 6498 1000: { 6499 slidesPerView: 3 6500 }, 6501 700: { 6502 slidesPerView: 2 6503 } 6504 }, 6505 navigation: { 6506 nextEl: ".swiper-button-next_services3", 6507 prevEl: ".swiper-button-prev_services3", 6508 }, 6509 pagination: { 6510 el: ".swiper-pagination_services3", 6511 type: "fraction", 6512 }, 6513 speed: 500 6514}) 6515 6516let bes = document.querySelectorAll('.branch-exhibitions__slider .swiper-slide'); 6517let besLoop = true; 6518if (bes.length < 3) { 6519 besLoop = false; 6520} 6521 6522const branchEx = new Swiper('.branch-exhibitions__slider', { 6523 slidesPerView: 'auto', 6524 centeredSlides: true, 6525 spaceBetween: 40, 6526 direction: 'horizontal', 6527 loop: besLoop, 6528 navigation: { 6529 nextEl: ".branch-exhibitions__slider-next", 6530 prevEl: ".branch-exhibitions__slider-prev", 6531 }, 6532 breakpoints: { 6533 1100: { 6534 spaceBetween: 155, 6535 }, 6536 700: { 6537 } 6538 }, 6539 speed: 900 6540}) 6541 6542const branchReThumbs = new Swiper(".reviews-slider-thumbs", { 6543 loop: true, 6544 spaceBetween: 24, 6545 slidesPerView: "auto", 6546 freeMode: { 6547 momentum: false, 6548 }, 6549 autoplay: { 6550 delay: 1, 6551 disableOnInteraction: false, 6552 pauseOnMouseEnter: true 6553 }, 6554 speed: 5000, 6555}); 6556 6557// Ðлик на ÑÐ»Ð°Ð¹Ð´Ñ Ð¾ÑзÑвов 6558const thumbsSlide = document.querySelectorAll('.branch-reviews__slide'); 6559 6560if (thumbsSlide.length != 0) { 6561 thumbsSlide.forEach(item => { 6562 item.addEventListener('click', () => { 6563 let thumbNum = item.getAttribute('thumb'); 6564 branchReMain.slideTo(thumbNum); 6565 setTimeout(() => { 6566 branchReThumbs.autoplay.start(); 6567 branchReThumbs.autoplay.run(); 6568 }, 900); 6569 }) 6570 }); 6571} 6572 6573const branchReMain = new Swiper(".reviews-slider-main", { 6574 loop: true, 6575 effect: "fade", 6576 autoHeight: true, 6577 fadeEffect: { 6578 crossFade: true 6579 }, 6580 navigation: { 6581 nextEl: ".swiper-button-next_reviews", 6582 prevEl: ".swiper-button-prev_reviews", 6583 }, 6584 pagination: { 6585 el: ".swiper-pagination_reviews", 6586 type: "fraction", 6587 }, 6588 6589}); 6590 6591let bps = document.querySelectorAll('.branch-products__swiper .swiper-slide'); 6592let bpsLoop = true; 6593if (bps.length < 3) { 6594 bpsLoop = false; 6595} 6596 6597const branchProducts = new Swiper('.branch-products__swiper', { 6598 slidesPerView: 'auto', 6599 spaceBetween: 20, 6600 direction: 'horizontal', 6601 loop: bpsLoop, 6602 navigation: { 6603 nextEl: ".swiper-button-next_products", 6604 prevEl: ".swiper-button-prev_products", 6605 }, 6606 pagination: { 6607 el: ".swiper-pagination_products", 6608 type: "fraction", 6609 }, 6610 speed: 500 6611}) 6612 6613// Ðве видео-галлеÑеи на главной ÑÑÑаниÑе 6614lightGallery(document.getElementById('lg-video'), { 6615 plugins: [lgVideo], 6616}); 6617 6618lightGallery(document.getElementById('lg-video2'), { 6619 plugins: [lgVideo], 6620}); 6621 6622// ÐакÑеп Ñ ÐµÐ´ÐµÑа пÑи обÑаÑной пÑокÑÑÑке ÑкÑана 6623const headerBranchTop = document.querySelector('.header-branch .header__top'), 6624 pageNav = document.querySelector('.page-nav'), 6625 main = document.querySelector('main'); 6626 6627if (pageNav) { 6628 if (window.screen.width > 1356) { 6629 main.addEventListener('wheel', (e) => { 6630 if (e.deltaY < 0) { 6631 headerBranchTop.classList.add('active'); 6632 pageNav.classList.add('active'); 6633 } else { 6634 headerBranchTop.classList.remove('active'); 6635 pageNav.classList.remove('active'); 6636 } 6637 }) 6638 } 6639 6640} 6641 6642// СкÑÑÑие лиÑÐ½Ð¸Ñ Ð¿ÑнкÑов менÑ, еÑли ÑпиÑок болÑÑе 544px 6643const branchList = document.querySelector('.branch-info ul'), 6644 branchListItems = branchList?.querySelectorAll('li'), 6645 branchListBtn = document.querySelector('.branch-info__more'); 6646 6647let count = 0; 6648 6649if (branchList) { 6650 for (let i = branchListItems.length - 1; i >= 0; i--) { 6651 if (branchList.clientHeight > 544) { 6652 branchListItems[i].classList.add('hide'); 6653 count++; 6654 } else { 6655 break 6656 } 6657 } 6658 6659 if (count > 0) { 6660 branchListBtn.classList.add('active'); 6661 } 6662 6663 branchListBtn.addEventListener('click', () => { 6664 if (!branchListBtn.classList.contains('open')) {
6665 branchListItems.forEach(item => { 6666 item.classList.remove('hide'); 6667 }); 6668 branchListBtn.classList.add('open'); 6669 branchListBtn.innerText = 'ÑкÑÑÑÑ'; 6670 } else { 6671 for (let i = branchListItems.length - 1; i >= 0; i--) { 6672 if (branchList.clientHeight > 544) { 6673 branchListItems[i].classList.add('hide'); 6674 } else { 6675 break 6676 } 6677 } 6678 branchListBtn.classList.remove('open'); 6679 branchListBtn.innerText = 'ÑиÑаÑÑ Ð´Ð°Ð»ÐµÐµ'; 6680 } 6681 6682 }) 6683} 6684 6685 6686 6687///////////////////////////// 6688// ÐодалÑное окно Ñилиала // 6689/////////////////////////// 6690 6691//////////////////////// ÐÐÐ ÐÐÐ¥ÐÐÐ ÐÐÐÐ //////////////////////////////// 6692 6693// const modalBtn = document.querySelectorAll('[modalOpen=""]'), 6694 6695// // Ðнимание! ÐÐ¾Ð¶ÐµÑ Ð¿Ð¾Ð´ÑÑнÑÑÑ ÑовеÑÑенно не ÑÑ Ð¼Ð¾Ð´Ð°Ð»ÐºÑ! 6696// modal = document.querySelector('.modal'), 6697 6698// modalOverlay = document.querySelector('.modal__overlay'); 6699 6700 6701 6702 6703// function modalFunc() { 6704 6705// const modalClose = document.querySelector('.modal__close'), 6706// branchPhone = document.querySelector('#phone-mask'), 6707// branchFormItem = document.querySelectorAll('.form-item.text'), 6708// modalFormBtn = document.querySelector('.modal__excursion'), 6709// modalForm = document.querySelector('.modal__form'), 6710// modalDoneClose = document.querySelector('.modal__done-close'), 6711// modalDoneClose2 = document.querySelector('.modal__done-close2'); 6712 6713 createSelect(document,".select"); 6714 6715// // ÐÑли Ñлайдов болÑÑе 3-Ñ , Ñо ÑÐ»Ð°Ð¹Ð´ÐµÑ Ð±ÑÐ´ÐµÑ loop 6716// let ms = document.querySelectorAll('.modal__slide'); 6717// let isLooped = true; 6718// if (ms.length < 3) { 6719// isLooped = false; 6720// } 6721 6722 6723 6724// //Ð¡Ð»Ð°Ð¹Ð´ÐµÑ Ð¼Ð¾Ð´Ð°Ð»Ñного окна 6725// const modalSlider = new Swiper('.modal__swiper', { 6726// slidesPerView: 1, 6727// spaceBetween: 20, 6728// loop: isLooped, 6729// direction: 'horizontal', 6730// breakpoints: { 6731// 1352: { 6732// slidesPerView: 'auto', 6733// }, 6734// 700: { 6735// slidesPerView: 2, 6736// } 6737// }, 6738// navigation: { 6739// nextEl: ".swiper-button-next_modal", 6740// prevEl: ".swiper-button-prev_modal", 6741// }, 6742// pagination: { 6743// el: ".swiper-pagination_modal", 6744// type: "fraction", 6745// }, 6746// speed: 500 6747// }) 6748 6749// // ÐÐ»Ñ Ð¾ÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð½Ð°Ð´Ð¿Ð¸Ñей на вÑÐµÑ ÑÐ»Ð°Ð¹Ð´Ð°Ñ Ð² небеÑконеÑнÑÑ ÑлайдеÑÐ°Ñ 6750// if (ms.length == 2) { 6751// ms.forEach(item => { 6752// const parent = item.closest('.swiper-slide'); 6753// console.log(parent); 6754// setTimeout(() => { 6755// parent.classList.add('swiper-slide-active'); 6756// }, 500); 6757// }) 6758// } 6759 6760 6761// // ÐÑÐ±Ð¾Ñ Ð´Ð°ÑÑ ÑоÑÐ¼Ñ 6762// new AirDatepicker('#branch-date'); 6763 6764// // ÐаÑка ÑелеÑона номеÑа ÑоÑÐ¼Ñ 6765// IMask( 6766// branchPhone, { 6767// mask: '+{7} (000) 000-00-00' 6768// }); 6769 6770// // ÐнимаÑÐ¸Ñ Ð»Ñйбелов на инпÑÑÐ°Ñ 6771// branchFormItem.forEach(item => { 6772// let input = item.querySelector('input'), 6773// label = item.querySelector('label'); 6774// input.addEventListener('focus', () => { 6775// label.classList.add('active'); 6776// }); 6777// input.addEventListener('blur', () => { 6778// setTimeout(() => { 6779// if (input.value == '') { 6780// label.classList.remove('active'); 6781// } 6782// }, 100); 6783// }); 6784// }); 6785 6786 6787// // ÐакÑÑÑие модалÑного окна (кнопка в модалÑном окне) 6788// if (modalClose) { 6789// modalClose.addEventListener('click', () => { 6790// modal.classList.remove('active'); 6791// document.querySelector('body').style.overflow = 'auto'; 6792// }) 6793// } 6794 6795// // ÐÑкÑÑÑие ÑоÑÐ¼Ñ Ð² модалÑном окне 6796// if(modalFormBtn) { 6797// modalFormBtn.addEventListener('click', (e) => { 6798// e.preventDefault(); 6799// if (!modalFormBtn.classList.contains('active')) { 6800 6801 6802// modalForm.style.display = 'block'; 6803// modalFormBtn.classList.add('active'); 6804// modalForm.scrollIntoView({block: "start", behavior: "smooth"}); 6805 6806// } 6807// else { 6808// modalForm.style.display = 'none'; 6809// modalFormBtn.classList.remove('active'); 6810// } 6811// }) 6812// } 6813 6814// // ÐажаÑие на ÑÐ°Ð±Ð¼Ð¸Ñ ÑоÑÐ¼Ñ 6815// // modalSubmit.addEventListener('click', (e) => { 6816// // e.preventDefault(); 6817// // 6818// // 6819// // modal.classList.remove('active'); 6820// // modal.classList.add('done'); 6821// // }) 6822 6823// // ÐакÑÑÑие окна "ФоÑма оÑпÑавлена" 6824// modalDoneClose.addEventListener('click', () => { 6825// const modals = document.querySelectorAll(".modal");
6826// modals.forEach(el=>{ 6827// el.classList.remove('done'); 6828// }); 6829// document.querySelector('body').style.overflow = 'auto'; 6830// }) 6831 6832// // ÐакÑÑÑие окна "ФоÑма оÑпÑавлена" 6833// modalDoneClose2.addEventListener('click', () => { 6834// const modals = document.querySelectorAll(".modal"); 6835// modals.forEach(el=>{ 6836// el.classList.remove('done'); 6837// }); 6838// document.querySelector('body').style.overflow = 'auto'; 6839// }) 6840 6841// } 6842 6843// if (modal) { 6844 6845// // СкÑÑÑие модалÑного окна 6846// modalOverlay.addEventListener('click', (e) => { 6847// modal.classList.remove('active'); 6848// modal.classList.remove('done'); 6849// document.querySelector('body').style.overflow = 'auto'; 6850// }) 6851 6852 6853// ÐÑзов модалÑного окна 6854// modalBtn.forEach(item => { 6855// item.addEventListener('click', (e) => { 6856// e.preventDefault(); 6857 6858// const modal_body = document.querySelector('.modal__body'); 6859// fetch('/show-node/'+item.getAttribute('data-nid')).then(function (response) { 6860// return response.text(); 6861// }).then(function (html) { 6862// modal_body.innerHTML = html; 6863// modalFunc(); 6864// }); 6865 6866// modal.classList.add('active'); 6867// document.querySelector('body').style.overflow = 'hidden'; 6868// headerBranchTop.classList.remove('active'); 6869// pageNav.classList.remove('active'); 6870// }); 6871// }); 6872 6873 6874// } 6875 6876//////////////////////// 6877//внÑÑÑенние ÑÑÑаниÑÑ/// 6878//////////////////////// 6879 6880let pps = document.querySelectorAll('.privacy-policy__swiper .swiper-slide'); 6881let ppsLooped = true; 6882if (pps.length <= 4) { 6883 ppsLooped = false; 6884} 6885 6886const privacySwiper = new Swiper('.privacy-policy__swiper', { 6887 slidesPerView: 1, 6888 spaceBetween: 20, 6889 direction: 'horizontal', 6890 loop: ppsLooped, 6891 navigation: { 6892 nextEl: ".swiper-button-next_privacy", 6893 prevEl: ".swiper-button-prev_privacy", 6894 }, 6895 pagination: { 6896 el: ".swiper-pagination_privacy", 6897 type: "fraction", 6898 }, 6899 breakpoints: { 6900 1000: { 6901 slidesPerView: 4, 6902 }, 6903 700: { 6904 slidesPerView: 3 6905 }, 6906 500: { 6907 slidesPerView: 2 6908 } 6909 }, 6910 speed: 500 6911}) 6912 6913const leghtGal = lightGallery(document.getElementById('lightgallery'), { 6914 plugins: [lgZoom, lgThumbnail], 6915 licenseKey: 'your_license_key', 6916 speed: 500, 6917}); 6918 6919const articlePageSwiper = new Swiper('.article-page__swiper', { 6920 slidesPerView: 1, 6921 spaceBetween: 20, 6922 direction: 'horizontal', 6923 loop: true, 6924 navigation: { 6925 nextEl: ".swiper-button-next_article-page", 6926 prevEl: ".swiper-button-prev_article-page", 6927 }, 6928 pagination: { 6929 el: ".swiper-pagination_article-page", 6930 type: "fraction", 6931 }, 6932 breakpoints: { 6933 700: { 6934 slidesPerView: 3 6935 }, 6936 500: { 6937 slidesPerView: 2 6938 } 6939 }, 6940 speed: 501 6941}) 6942 6943// СкÑÑÑие лиÑÐ½Ð¸Ñ Ð¿ÑнкÑов на ÑÑÑаниÑе УÑÑного ÑовеÑа 6944const councilItem = document.querySelectorAll('.council__articles-item'), 6945 corruptionItem = document.querySelectorAll('.corruption__item'), 6946 museumItem = document.querySelectorAll('.museum-online__item'); 6947 6948if (councilItem.length > 0) { 6949 councilItem.forEach(item => { 6950 let par = item.querySelectorAll('p'), 6951 more = item.querySelector('a'); 6952 if (par.length > 1) { 6953 par.forEach((item2, i) => { 6954 if (i != 0) { 6955 item2.style.display = 'none'; 6956 } 6957 }); 6958 more.style.display = 'block'; 6959 } 6960 more.addEventListener('click', (e) => { 6961 e.preventDefault(); 6962 if (!more.classList.contains('active')) { 6963 par.forEach(item3 => { 6964 item3.style.display = 'block'; 6965 }) 6966 more.innerText = 'ÑкÑÑÑÑ'; 6967 more.classList.add('active'); 6968 } else { 6969 par.forEach((item4, i) => { 6970 if (i != 0) { 6971 item4.style.display = 'none'; 6972 } 6973 }); 6974 more.innerText = 'ÑзнаÑÑ Ð±Ð¾Ð»ÑÑе'; 6975 more.classList.remove('active'); 6976 } 6977 6978 }) 6979 }); 6980} 6981 6982// СкÑÑÑие лиÑÐ½Ð¸Ñ Ð¿ÑнкÑов на ÑÑÑаниÑе ÐоÑÑÑпÑÐ¸Ñ 6983// if (corruptionItem.length > 0) { 6984// corruptionItem.forEach(item => { 6985// let par = item.querySelectorAll('p'), 6986// more = item.querySelector('a'); 6987// if (par.length > 1) { 6988// par.forEach((item2, i) => { 6989// if (i != 0) { 6990// item2.style.display = 'none'; 6991// } 6992// }); 6993// more.style.display = 'block'; 6994// } 6995// more.addEventListener('click', (e) => { 6996// e.preventDefault(); 6997// if (!more.classList.contains('active')) { 6998// par.forEach(item3 => { 6999// item3.style.display = 'block'; 7000// }) 7001// more.innerText = 'ÑкÑÑÑÑ'; 7002// more.classList.add('active'); 7003// } else { 7004// par.forEach((item4, i) => { 7005// if (i != 0) { 7006// item4.style.display = 'none'; 7007// } 7008// }); 7009// more.innerText = 'ÑзнаÑÑ Ð±Ð¾Ð»ÑÑе'; 7010// more.classList.remove('active'); 7011// } 7012 7013// }) 7014// }); 7015// } 7016 7017// СкÑÑÑие лиÑÐ½Ð¸Ñ Ð¿ÑнкÑов на ÑÑÑаниÑе ÐÑÐ·ÐµÑ Ð¾Ð½Ð»Ð°Ð¹Ð½ 7018if (museumItem.length > 0) { 7019 museumItem.forEach(item => { 7020 let par = item.querySelectorAll('p'), 7021 more = item.querySelector('.museum-online__more'); 7022 if (par.length > 1) { 7023 par.forEach((item2, i) => { 7024 if (i != 0) { 7025 item2.style.display = 'none'; 7026 } 7027 }); 7028 more.style.display = 'block'; 7029 } 7030 more.addEventListener('click', (e) => { 7031 e.preventDefault(); 7032 if (!more.classList.contains('active')) { 7033 par.forEach(item3 => { 7034 item3.style.display = 'block'; 7035 }) 7036 more.innerText = 'ÑкÑÑÑÑ'; 7037 more.classList.add('active'); 7038 } else { 7039 par.forEach((item4, i) => { 7040 if (i != 0) { 7041 item4.style.display = 'none'; 7042 } 7043 }); 7044 more.innerText = 'ÑзнаÑÑ Ð±Ð¾Ð»ÑÑе'; 7045 more.classList.remove('active'); 7046 } 7047 7048 }) 7049 }); 7050} 7051 7052 7053////////////// 7054///HISTORY/// 7055//////////// 7056 7057// ÐÑновной ÑÐ»Ð°Ð¹Ð´ÐµÑ 7058const historySlider = new Swiper('.history__swiper', { 7059 direction: 'vertical', 7060 slidesPerView: 1, 7061 centeredSlides: true, 7062 navigation: { 7063 nextEl: ".history-next", 7064 prevEl: ".history-prev", 7065 }, 7066 speed: 900, 7067 grabCursor: true, 7068 freeMode: { 7069 momentum: true, 7070 sticky: true 7071 }, 7072 mousewheel: true, 7073 autoplay: { 7074 delay: 5000, 7075 disableOnInteraction: false, 7076 stopOnLastSlide: true 7077 }, 7078 breakpoints: { 7079 1500: { 7080 spaceBetween: 120, 7081 slidesOffsetBefore: 120, 7082 slidesOffsetAfter: 120, 7083 slidesPerView: 'auto', 7084 direction: 'horizontal', 7085 centeredSlides: false, 7086 freeMode: { 7087 momentum: false, 7088 sticky: true 7089 }, 7090 }, 7091 900: { 7092 spaceBetween: 90, 7093 slidesOffsetBefore: 90, 7094 slidesOffsetAfter: 90, 7095 slidesPerView: 'auto', 7096 direction: 'horizontal', 7097 centeredSlides: false, 7098 freeMode: { 7099 momentum: false, 7100 sticky: true 7101 }, 7102 } 7103 }, 7104}) 7105 7106// ÐеÑконеÑнÑе внÑÑÑенние ÑабÑлайдеÑÑ 7107const historySubSlider1 = new Swiper('.history__subswiper_type1', { 7108 slidesPerView: 1, 7109 loop: true, 7110 direction: 'horizontal', 7111 navigation: { 7112 nextEl: ".sub-swiper-next1", 7113 prevEl: ".sub-swiper-prev1", 7114 }, 7115 speed: 500, 7116 pagination: { 7117 el: ".history-pag1", 7118 type: "fraction", 7119 }, 7120 nested: true 7121}) 7122 7123const historySubSlider2 = new Swiper('.history__subswiper_type2', { 7124 slidesPerView: 1, 7125 loop: true, 7126 direction: 'horizontal', 7127 navigation: { 7128 nextEl: ".sub-swiper-next2", 7129 prevEl: ".sub-swiper-prev2", 7130 }, 7131 speed: 500, 7132 pagination: { 7133 el: ".history-pag2", 7134 type: "fraction", 7135 }, 7136 nested: true 7137}) 7138 7139const historySubSlider3 = new Swiper('.history__subswiper_type3', { 7140 slidesPerView: 1, 7141 loop: true, 7142 direction: 'horizontal', 7143 navigation: { 7144 nextEl: ".sub-swiper-next3", 7145 prevEl: ".sub-swiper-prev3", 7146 }, 7147 speed: 500, 7148 pagination: { 7149 el: ".history-pag3", 7150 type: "fraction", 7151 }, 7152 nested: true 7153}) 7154 7155const historySubSlider4 = new Swiper('.history__subswiper_type4', { 7156 slidesPerView: 1, 7157 loop: true, 7158 direction: 'horizontal', 7159 navigation: { 7160 nextEl: ".sub-swiper-next4", 7161 prevEl: ".sub-swiper-prev4", 7162 }, 7163 speed: 500, 7164 pagination: { 7165 el: ".history-pag4", 7166 type: "fraction", 7167 }, 7168 nested: true 7169}) 7170 7171const historySubSlider5 = new Swiper('.history__subswiper_type5', { 7172 slidesPerView: 1, 7173 loop: true, 7174 direction: 'horizontal', 7175 navigation: { 7176 nextEl: ".sub-swiper-next5", 7177 prevEl: ".sub-swiper-prev5", 7178 }, 7179 speed: 500, 7180 pagination: { 7181 el: ".history-pag5", 7182 type: "fraction", 7183 }, 7184 nested: true 7185}) 7186 7187// Ð Ð²Ð¾Ñ ÑÑÑ Ð½Ð°ÑнаеÑÑÑ Ð¼Ð°Ð³Ð¸Ñ 7188const bgs = document.querySelectorAll('.history__bg'), 7189 cont = document.querySelector('.history__continue'),
7190 contMob = document.querySelector('.history__continue_mobile'), 7191 ret = document.querySelector('.history__return'), 7192 retMob= document.querySelector('.history__return_mobile'), 7193 historyControl = document.querySelector('.scm'), 7194 sliderItems = document.querySelectorAll('.history__item.first'), 7195 dateOut = document.querySelector('.history__dateOut'), 7196 historyDatePrev = document.querySelector('.history__mobile-date.prev'), 7197 historyLoadLine = document.querySelector('.swiper-control__line span'), 7198 historyDateNext = document.querySelector('.history__mobile-date.next'), 7199 trullyFirst = document.querySelector('.trully-first'); 7200 7201 7202if (bgs.length != 0) { 7203 // Ðоведение ÑлайдеÑа пÑи ÑиÑине ÑкÑана болÑÑе 1500 7204 if (window.screen.width > 1500) { 7205 sliderItems[0].classList.remove('first'); 7206 setTimeout(() => { 7207 sliderItems[1].classList.remove('first'); 7208 }, 900); 7209 7210 ret.addEventListener('click', () => { 7211 historySlider.slideTo(0, 500); 7212 bgs[bgs.length - 1].classList.remove('active'); 7213 bgs[0].classList.add('active'); 7214 sliderItems[0].classList.remove('first'); 7215 setTimeout(() => { 7216 sliderItems[1].classList.remove('first'); 7217 }, 900); 7218 }) 7219 7220 historySlider.on('slideChange', (e) => { 7221 7222 historyLoadLine.style.width = (historySlider.progress * 100) + '%'; 7223 if (historySlider.progress == 1) { 7224 document.querySelector('.history-next').classList.add('done'); 7225 } 7226 7227 let count = Math.floor(historySlider.activeIndex / 3); 7228 7229 sliderItems[historySlider.activeIndex + 1]?.classList.remove('first'); 7230 sliderItems[historySlider.activeIndex - 1]?.classList.remove('first'); 7231 sliderItems[historySlider.activeIndex - 2]?.classList.add('first'); 7232 sliderItems[historySlider.activeIndex + 2]?.classList.add('first'); 7233 7234 if (!bgs[count].classList.contains('active')) { 7235 bgs.forEach(item => { 7236 item.classList.remove('active'); 7237 }) 7238 bgs[count].classList.add('active'); 7239 } 7240 7241 if (historySlider.activeIndex != 0) { 7242 trullyFirst.classList.remove('trully-first'); 7243 cont.classList.remove('active'); 7244 historyControl.classList.remove('hide'); 7245 } else { 7246 trullyFirst.classList.add('trully-first'); 7247 cont.classList.add('active'); 7248 historyControl.classList.add('hide'); 7249 } 7250 7251 if (historySlider.activeIndex == 33) { 7252 ret.classList.add('active'); 7253 } else { 7254 ret.classList.remove('active'); 7255 } 7256 7257 }); 7258 // Ðоведение ÑлайдеÑа пÑи ÑиÑине ÑкÑана Ð¾Ñ 1499 до 900 7259 } else if (window.screen.width < 1499 && window.screen.width > 900) { 7260 sliderItems[0].classList.remove('first'); 7261 setTimeout(() => { 7262 sliderItems[1].classList.remove('first'); 7263 }, 900); 7264 7265 ret.addEventListener('click', () => { 7266 historySlider.slideTo(0, 500); 7267 bgs[bgs.length - 1].classList.remove('active') 7268 bgs[0].classList.add('active'); 7269 sliderItems[0].classList.remove('first'); 7270 setTimeout(() => { 7271 sliderItems[1].classList.remove('first'); 7272 }, 900); 7273 }) 7274 7275 historySlider.on('slideChange', (e) => { 7276 7277 let count = Math.floor(historySlider.activeIndex / 3); 7278 7279 historyLoadLine.style.width = (historySlider.progress * 100) + '%'; 7280 if (historySlider.progress == 1) { 7281 document.querySelector('.history-next').classList.add('done'); 7282 } 7283 7284 sliderItems[historySlider.activeIndex - 1]?.classList.remove('first'); 7285 sliderItems[historySlider.activeIndex]?.classList.remove('first'); 7286 sliderItems[historySlider.activeIndex - 2]?.classList.add('first'); 7287 sliderItems[historySlider.activeIndex + 1]?.classList.add('first'); 7288 7289 if (!bgs[count].classList.contains('active')) { 7290 bgs.forEach(item => { 7291 item.classList.remove('active'); 7292 }) 7293 bgs[count].classList.add('active'); 7294 } 7295 7296 if (historySlider.activeIndex != 0) { 7297 trullyFirst.classList.remove('trully-first'); 7298 cont.classList.remove('active'); 7299 historyControl.classList.remove('hide'); 7300 } else { 7301 trullyFirst.classList.add('trully-first'); 7302 cont.classList.add('active'); 7303 historyControl.classList.add('hide'); 7304 } 7305 7306 if (historySlider.activeIndex == 34) { 7307 ret.classList.add('active'); 7308 } else { 7309 ret.classList.remove('active'); 7310 } 7311 7312 }); 7313 // Ðоведение пÑи ÑазÑеÑении менÑÑе 900 7314 } else {
7315 sliderItems.forEach(item => { 7316 item.classList.remove('first'); 7317 }) 7318 7319 retMob.addEventListener('click', () => { 7320 historySlider.slideTo(0, 500); 7321 }) 7322 7323 historySlider.on('slideChange', (e) => { 7324 historyLoadLine.style.height = (historySlider.progress * 100) + '%'; 7325 7326 setTimeout(() => { 7327 7328 let prevDate = document.querySelector('.history__swiper .swiper-slide-prev .history__dateOut')?.innerHTML; 7329 7330 let nextDate = document.querySelector('.history__swiper .swiper-slide-next .history__dateOut')?.innerHTML; 7331 7332 if (prevDate && historySlider.activeIndex != 0) { 7333 historyDatePrev.classList.remove('hide'); 7334 7335 historyDatePrev.innerHTML = prevDate; 7336 } else { 7337 historyDatePrev.classList.add('hide'); 7338 } 7339 7340 if (nextDate && historySlider.activeIndex != 0) { 7341 historyDateNext.classList.remove('hide'); 7342 7343 historyDateNext.innerHTML = nextDate; 7344 } else { 7345 historyDateNext.classList.add('hide'); 7346 } 7347 7348 }, 500); 7349 7350 setTimeout(() => { 7351 historyDateNext.classList.remove('animated'); 7352 historyDatePrev.classList.remove('animated'); 7353 }, 1000); 7354 7355 let count = Math.floor(historySlider.activeIndex / 3); 7356 7357 historyDatePrev.classList.add('animated'); 7358 historyDateNext.classList.add('animated'); 7359 7360 if (historySlider.activeIndex != 0) { 7361 contMob.classList.remove('active'); 7362 historyControl.classList.remove('hide'); 7363 historyDatePrev.classList.remove('hide'); 7364 historyDateNext.classList.remove('hide'); 7365 } else { 7366 contMob.classList.add('active'); 7367 historyControl.classList.add('hide'); 7368 historyDatePrev.classList.add('hide'); 7369 historyDateNext.classList.add('hide'); 7370 } 7371 7372 if (historySlider.activeIndex == 35) { 7373 retMob.classList.add('active'); 7374 } else { 7375 retMob.classList.remove('active'); 7376 } 7377 }); 7378 } 7379} 7380 7381 // Service page 7382 const serviceSlider = document.querySelector('.service__slider'); 7383 if(serviceSlider){ 7384 const prevBtn = serviceSlider.querySelector('.service__slider-prev') 7385 const nextBtn = serviceSlider.querySelector('.service__slider-next') 7386 const pagination = serviceSlider.querySelector('.service__slider-pagination') 7387 7388 const serviceSwiper = new Swiper(serviceSlider, { 7389 effect: "fade", 7390 autoHeight: true, 7391 fadeEffect: { 7392 crossFade: true 7393 }, 7394 navigation: { 7395 nextEl: nextBtn, 7396 prevEl: prevBtn, 7397 }, 7398 pagination: { 7399 el: pagination, 7400 type: "fraction", 7401 }, 7402 speed: 900 7403 }) 7404 } 7405 7406 const formReserv = document.querySelector('.form--reserv') 7407 if(formReserv){ 7408 const formItems = formReserv.querySelectorAll('.form-item.text') 7409 formItems.forEach(formItem => { 7410 formItem.querySelector('input').addEventListener('input', (e) => { 7411 if(e.target.value == ''){ 7412 formItem.classList.remove('active') 7413 }else{ 7414 formItem.classList.add('active') 7415 } 7416 }) 7417 }) 7418 } 7419 7420}) 7421 7422// museum-history 7423 7424const museumHistory = document.querySelector('.museum-history'); 7425if(museumHistory){ 7426 const sliders = museumHistory.querySelectorAll('.museum-history__slider');
7427 sliders.forEach(slider => { 7428 if(slider.querySelectorAll('.museum-history__slide').length > 1){ 7429 slider.style.width = slider.clientWidth + 'px'; 7430 const swiper = new Swiper(slider, { 7431 centeredSlides: true, 7432 navigation: { 7433 prevEl: slider.querySelector('.museum-history__slider-prev'), 7434 nextEl: slider.querySelector('.museum-history__slider-next'), 7435 } 7436 }) 7437 } 7438 }) 7439 let currWrap = 0; 7440 const wraps = museumHistory.querySelectorAll('.museum-history__wrap'); 7441 if(document.body.clientWidth > 959){ 7442 wraps.forEach((wrap, index) => { 7443 if(index > 0){ 7444 const prevBtn = wrap.querySelector('.museum-history__prev'); 7445 prevBtn.addEventListener('click', (e) => { 7446 wraps[currWrap - 1].classList.remove('active'); 7447 currWrap--; 7448 wraps[currWrap - 1].scrollIntoView({ behavior: "smooth", block: "start", inline: "nearest" }); 7449 // console.log('prev - ' + currWrap); 7450 }) 7451 } 7452 if(index < wraps.length - 1){ 7453 const nextBtn = wrap.querySelector('.museum-history__next'); 7454 nextBtn.addEventListener('click', (e) => { 7455 currWrap++; 7456 wraps[currWrap - 1].classList.add('active'); 7457 wraps[currWrap - 1].scrollIntoView({ behavior: "smooth", block: "start", inline: "nearest" }); 7458 // console.log('next - ' + currWrap); 7459 }) 7460 } 7461 window.addEventListener('wheel', (e) => { 7462 if(e.deltaY > 0){ 7463 // еÑли Ð¸Ð½Ð´ÐµÐºÑ ÑооÑвеÑÑÑвÑÐµÑ ÑекÑÑÐµÐ¼Ñ Ð°ÐºÑÐ¸Ð²Ð½Ð¾Ð¼Ñ Ð²ÑÐ°Ð¿Ñ Ð¸ пÑи ÑÑом ÑÑÐ¾Ñ Ð±Ð»Ð¾Ðº поднÑлÑÑ Ð²ÑÑе Ð¿Ð¾Ð»Ð¾Ð²Ð¸Ð½Ñ ÑкÑана 7464 if(currWrap === index && !wrap.classList.contains('active') && wrap.getBoundingClientRect().top < window.innerHeight/4*3){ 7465 currWrap++; 7466 wrap.classList.add('active'); 7467 // console.log('down - ' + currWrap); 7468 } 7469 }else{ 7470 // console.log(wrap.getBoundingClientRect().top >= window.innerHeight/4*3); 7471 // console.log(wrap.getBoundingClientRect().top); 7472 if(currWrap - 1 === index && wrap.classList.contains('active') && wrap.getBoundingClientRect().top >= window.innerHeight/4*3){ 7473 currWrap--; 7474 wrap.classList.remove('active'); 7475 console.log('up - ' + currWrap); 7476 } 7477 } 7478 }) 7479 }) 7480 7481 const line = museumHistory.querySelector('.museum-history__pagination-line'); 7482 const lineHeight = line.clientHeight; 7483 const windowHeight = window.innerHeight; 7484 window.addEventListener('scroll', (e) => { 7485 let value = ((line.getBoundingClientRect().top - windowHeight/2)*-1)/lineHeight*100; 7486 if(value => 0 && value <= 100){ 7487 line.style.backgroundPosition = `0% ${100 - value}%`; 7488 } 7489 }) 7490 } 7491} 7492Drupal.behaviors.afterAjax = { 7493 attach: function (context, settings) { 7494 7495 { 7496 const elems = context.querySelectorAll(".branch-services__select-wrap > select"); 7497 elems.forEach(el=>{ 7498 el.querySelector("option:first-child").innerText = "ÐÑе ÑкÑкÑÑÑии"; 7499 }); 7500 } 7501 createSelect(context,".branch-services__select-wrap > select"); 7502 7503 // ÐниÑиализаÑÐ¸Ñ ÑоÑÐ¼Ñ Ð±ÑониÑÐ¾Ð²Ð°Ð½Ð¸Ñ 7504 function initBranchOrderForm(context) { 7505 document.querySelectorAll('.service__btn-reserv').forEach(el=>{ 7506 if(el.getAttribute('data-once') != '1'){ 7507 7508 // Узнаем название ÑÑлÑги 7509 var service_name = ""; 7510 const service = el.closest('.service'); 7511 if (service) { 7512 const service_h1 = service.querySelector('.service__top h1'); 7513 if (service_h1) 7514 service_name = service_h1.innerText; 7515 } 7516 const service_name_field = context.querySelector("input[name=branch]"); 7517 7518 el.setAttribute('data-once','1'); 7519 el.addEventListener('click', () => { 7520 context.classList.add('done'); 7521 7522 // УÑÑанавливаем в ÑоÑÐ¼Ñ Ð¸Ð¼Ñ ÑÑлÑги 7523 if (service_name_field) 7524 service_name_field.value = service_name; 7525 }); 7526 } 7527 }); 7528 7529 // ÐаÑка ÑелеÑона номеÑа ÑоÑÐ¼Ñ 7530 context.querySelectorAll('input[type=tel]').forEach(el=>{ 7531 IMask( 7532 el, { 7533 mask: '+{7} (000) 000-00-00' 7534 }); 7535 }); 7536 7537 // ÐлеменÑÑ Ð·Ð°ÐºÑÑÑÐ¸Ñ Ð¾ÐºÐ½Ð° 7538 context.querySelectorAll('.modal__done-close, .modal__done-close2, .modal__overlay').forEach(el=>{ 7539 if (el.getAttribute('data-once') == '1') return; 7540 el.setAttribute('data-once','1'); 7541 el.addEventListener('click', () => { 7542 context.classList.remove('done') 7543 }) 7544 }); 7545 } 7546 7547 // Ðкно ÑÑпеÑной оÑпÑавки 7548 { 7549 const message_submitted = context.querySelector(".message--submitted"); 7550 if (message_submitted) { 7551 document.querySelectorAll(".modal").forEach(el=>{ 7552 el.classList.remove('done'); 7553 }); 7554 const modal_success = document.getElementById("block-form-submited"); 7555 if (modal_success) 7556 modal_success.classList.add('done'); 7557 } 7558 } 7559 7560 // ÐеÑвÑй запÑÑк 7561 if (context === document) { 7562 7563 // ÐоиÑк ÑоÑÐ¼Ñ Ð±ÑониÑÐ¾Ð²Ð°Ð½Ð¸Ñ 7564 { 7565 const serviceForm = document.getElementById('block-form-branch-order'); 7566 if (serviceForm) 7567 initBranchOrderForm(serviceForm); 7568 } 7569 7570 // ÐлеменÑÑ Ð·Ð°ÐºÑÑÑÐ¸Ñ Ñ Ð¼Ð¾Ð´ÑлÑнÑÑ Ð¾ÐºÐ¾Ð½ 7571 context.querySelectorAll('.modal').forEach(modal=>{ 7572 modal.querySelectorAll('.modal__done-close, .modal__done-close2, .modal__overlay').forEach(el=>{ 7573 if (el.getAttribute('data-once') == '1') return; 7574 el.setAttribute('data-once','1'); 7575 el.addEventListener('click', () => { 7576 modal.classList.remove('done') 7577 }) 7578 }); 7579 }); 7580 7581 // Ðиже могÑÑ Ð¸ÑполÑзоваÑÑÑÑ Ð°ÑÑибÑÑÑ, коÑоÑÑÑ Ð½ÐµÑ Ñ document 7582 return; 7583 } 7584 7585 // СлÑÑаÑÐµÐ»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÑлеменÑов 7586 switch (context.getAttribute('id')) { 7587 7588 // ФоÑма бÑониÑÐ¾Ð²Ð°Ð½Ð¸Ñ 7589 case "block-form-branch-order": 7590 initBranchOrderForm(context); 7591 break; 7592 } 7593 } 7594} 7595 7596// ЯндекÑ.ÐеÑÑика: Ñели на ÑÑÑаниÑе ÑÑлÑги (.service) 7597document.addEventListener('click', function (e) { 7598 if (typeof ym !== 'function') { 7599 return; 7600 } 7601 if (e.target.closest('.service .service__btns a.buy_pushkin')) { 7602 ym(5078482, 'reachGoal', 'service_buy_pushkin'); 7603 return; 7604 } 7605 if (e.target.closest('.service .service__btns a.buy')) { 7606 ym(5078482, 'reachGoal', 'service_buy'); 7607 } 7608}); 7609 7610// ЯндекÑ.ÐеÑÑика: ÑÐµÐ»Ñ Â«Ð±ÑониÑование» (AJAX webform â mou
7610sedown по submit) 7611document.addEventListener('mousedown', function (e) { 7612 if (typeof ym !== 'function') { 7613 return; 7614 } 7615 const submitBtn = e.target.closest('input.webform-button--submit'); 7616 if (!submitBtn) { 7617 return; 7618 } 7619 const form = submitBtn.form; 7620 if (!form || !form.matches('form.webform-submission-branch-order-form')) { 7621 return; 7622 } 7623 if (!form.checkValidity()) { 7624 return; 7625 } 7626 ym(5078482, 'reachGoal', 'service_book'); 7627}); 7628;
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.